【发布时间】:2021-10-19 14:13:08
【问题描述】:
我想计算南部非洲的水分通量散度 (MFD)。对于特定的一天,我使用 850 hPa 的 u 和 v 风分量和 850 hPa 的特定湿度。我已按照此处描述的步骤进行操作:Calculating wind divergence of u and v using Python, np.gradient 和此处:https://earthscience.stackexchange.com/questions/8418/how-to-calculate-water-vapor-flux-divergence-from-temperature-relative-humidity
我使用的代码如下:
from matplotlib.cm import get_cmap
from __future__ import print_function
from netCDF4 import Dataset,num2date,date2num
from matplotlib.colors import from_levels_and_colors
from cartopy import crs
from cartopy.feature import NaturalEarthFeature, COLORS
#
import metpy.calc as mpcalc
import xarray as xr
import cartopy.crs as ccrs
import matplotlib
import cartopy.feature as cfe
import numpy as np
import matplotlib.pyplot as plt
import datetime
#
#############################################################################################################
####################################### Calculate Moisture Divergence #######################################
#############################################################################################################
#
root_dir = '/users/pr007/mkaryp/'
nc = Dataset(root_dir+'merge_SAF.nc')
#
v = np.array(nc.variables['va850'][0,:,:])
u = np.array(nc.variables['ua850'][0,:,:])
q = np.array(nc.variables['hus850'][0,:,:])
#
lon=nc.variables['lon'][:]
lat=nc.variables['lat'][:]
#
qu = q*u
qv = q*v
#
# Compute dx and dy spacing for use in divergence calculation
dx, dy = mpcalc.lat_lon_grid_deltas(lon, lat)
# Calculate horizontal moisture flux divergence using https://unidata.github.io/MetPy/latest/api/generated/metpy.calc.divergence.html
HMC = (np.array(mpcalc.divergence(qu, qv, dx=dx, dy=dy)))
#
输出如下图:Moisture Flux Divergence for a specific day
Div = (np.array(mpcalc.divergence(u, v, dx=dx, dy=dy)))
但是,当我在散度函数 (mpcalc.divergence) 中使用 u 和 v(而不是 qu 和 qv)时,输出在空间上是相同的(此处显示:Wind divergence for the same day (as in previous plot))。 '''
我想知道是否有更有意义的方法来计算 python 中的水分通量散度。
谢谢!
【问题讨论】: