You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
All,
As Laplacian could be computed using finite difference techniques (e.g., second derivative or first derivative of the first derivative ) or spectral methods, It will be helpful to mention the technique used in calculating the Laplacian in the function's documentation section.
Another thing, I calculated the Laplacian of the ERA5 500 hPa geopotential height using NCL (which uses spectral technique) and MetPy (which uses the second derivative). Laplacian based on spectral technique (figure on the left) is too noisy and, at the same time, richer in detail than that based on the finite difference (figure on the right). I don't know if both figures are comparable. Given such differences, any idea on which technique should be adopted for calculating geophysical fields (e.g., vorticity from Laplacian of the geopotential). Below is the ERA5 500 hPa vorticity downloaded from the Copernicus data center; vorticity shares some patterns with the Laplacian based on the spectral technique, except it is not too noisy. Please remember that vorticity is associated with the Laplacian of the geostrophic height.
Here is the Python code used to calculate the Laplacian.
import matplotlib.pyplot as plt
import xarray as xr
import py4met as p4m
import py4plot as p4p
import metpy.calc as mpcalc
#%% opening the dataset
diri ="./"
myfile = xr.open_dataset(diri+"vor_geo_era5_2023_jan.nc")
var_z_pre = myfile['z'] # geopotential m**2 S**-2
var_vo_pre = myfile['vo'] # relative vorticity s**-1
timeP = myfile['time']
lonP = myfile['longitude'].data
latPP = myfile['latitude'].data
myfile
myfile
var_z=var_z_pre*1.
var_vo=var_vo_pre*1.
lap = mpcalc.laplacian(var_z[:,:,:],axes=('latitude','longitude'))
here is the NCL code used to calculate the Laplacian
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
begin
diri ="/"
a = addfile(diri+"vor_geo_era5_2023_jan.nc","r")
ght = a->z(:,:,:)
vor = a->vo(:,:,:)
print(ght(0,80:,:))
lapl = lapsF(ght(:,::-1,:)) ; ascending latitude order
temp = addfile(diri+"lap_ght_calculated_era5.nc" ,"c") ; open output netCDF file
temp->lapl = lapl
end
All,
As Laplacian could be computed using finite difference techniques (e.g., second derivative or first derivative of the first derivative ) or spectral methods, It will be helpful to mention the technique used in calculating the Laplacian in the function's documentation section.
Another thing, I calculated the Laplacian of the ERA5 500 hPa geopotential height using NCL (which uses spectral technique) and MetPy (which uses the second derivative). Laplacian based on spectral technique (figure on the left) is too noisy and, at the same time, richer in detail than that based on the finite difference (figure on the right). I don't know if both figures are comparable. Given such differences, any idea on which technique should be adopted for calculating geophysical fields (e.g., vorticity from Laplacian of the geopotential). Below is the ERA5 500 hPa vorticity downloaded from the Copernicus data center; vorticity shares some patterns with the Laplacian based on the spectral technique, except it is not too noisy. Please remember that vorticity is associated with the Laplacian of the geostrophic height.
Here is the Python code used to calculate the Laplacian.
here is the NCL code used to calculate the Laplacian
Here is the link for the netcdf files
lap_ght_calculated_era5.nc
vor_geo_era5_2023_jan.nc
Thanks
The text was updated successfully, but these errors were encountered: