WRF垂直集成水分通量堆栈使用NCL -地球科学交流江南电子竞技平台江南体育网页版 最近30从www.hoelymoley.com 2023 - 07 - 07 - t01:47:28z //www.hoelymoley.com/feeds/question/15812 https://creativecommons.org/licenses/by-sa/4.0/rdf //www.hoelymoley.com/q/15812 2 使用NCL WRF垂直集成水分通量 Love_qq_xq //www.hoelymoley.com/users/14589 2018 - 12 - 22 - t02:15:38z 2019 - 11 - 06 - t10:22:53z < p >谁知道如何计算垂直集成使用在WRF NCL水分通量。最好是如果你能分享一个NCL脚本。这是我的代码,我用这段代码来计算平均水分通量在一个月内。但我困惑的单位最后的输出。另一个问题是,我不确定我需要输出除以9.8吗?< / p > < pre > <代码>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;dir1 = " /用户/ gerry /桌面/ WRF_EXTPCP / wrftest / FILES1 = systemfunc (“ls”+ dir1 + wrfout_d01_ *) a1 = addfile (FILES1 +“.nc”、“r”); - - - - - -计算总层水汽通量- - - - - - - - - - - - - - - - - - - - - - - - - - - - psfc = wrf_user_getvar (a1,“psfc”, 1) * 0.01;表面的压力,转向hPa (;单位在WRF PSFC Pa)总统= wrf_user_getvar (a1, "压力",1);气压hPa(时间、级别、纬度、经度)temp = wrf_user_getvar (a1, tk ", 1); K rh = wrf_user_getvar(a1,"rh",-1) ; % ua = wrf_user_getvar(a1,"ua",-1) ; m s-1 va = wrf_user_getvar(a1,"va",-1) ; m s-1 ; printVarSummary(psfc) ; (time,lat,lon) ; printVarSummary(pres) ; (time,level,lat,lon) ; printVarSummary(temp) ; (time,level,lat,lon) ; printVarSummary(rh) ; (time,level,lat,lon) ; printVarSummary(ua) ; (time,level,lat,lon) ; printVarSummary(va) ; (time,level,lat,lon) psfc1 = dim_avg_n_Wrap(psfc,0) pres1 = dim_avg_n_Wrap(pres,0) temp1 = dim_avg_n_Wrap(temp,0) rh1 = dim_avg_n_Wrap(rh,0) ua1 = dim_avg_n_Wrap(ua,0) va1 = dim_avg_n_Wrap(va,0) ;https://www.ncl.ucar.edu/Document/Functions/Built-in/mixhum_ptrh.shtml shum = mixhum_ptrh(pres1,temp1,rh1,2) ;units: (hPA,K,%,kg/kg);calculate the specific humidity(2),(1)means mixing ratio printVarSummary(shum) uq = ua1 * shum ;vapor flux vq = va1 * shum copy_VarCoords(psfc(0,:,:), psfc1) copy_VarCoords(ua(0,:,:,:), uq) copy_VarCoords(va(0,:,:,:), vq) copy_VarCoords(pres(0,:,:,:), pres1) ;;--vertical integrated moisture flux ptop = 100 ; top layer pressure pbot = 1100 uqflux = vibeta(pres1(lat|:,lon|:,lev|:),uq(lat|:,lon|:,lev|:),2,psfc1,pbot,ptop)/9.8 ;should divide 9.8?? vqflux = vibeta(pres1(lat|:,lon|:,lev|:),vq(lat|:,lon|:,lev|:),2,psfc1,pbot,ptop)/9.8 ; 1 means linear interpolation, 2 means log interpolation qflux = sqrt(uqflux^2+vqflux^2) //www.hoelymoley.com/questions/15812/-/15813 # 15813 5 答案由gansub WRF垂直集成使用NCL水分通量 gansub //www.hoelymoley.com/users/1066 2018 - 12 - 22 - t08:14:38z 2019 - 02 - 25 - t05:56:43z < p >我要解释我的答案根据本文作者从计算这个< a href = " https://www.sciencedirect.com/science/article/pii/S0169809506001141 " rel = " nofollow noreferrer " >垂直整合水分通量收敛的预测雷暴< / >。这个方程的定义是在他们的论文中< / p > < p > <跨类= " math-container " > $ $ VIMFC = - \压裂{1}{g} \ int_ {700 \, hPa} ^ {1000 \, hPa} \(\压裂{\偏u q} {x} \部分+ \压裂{\部分v q}{\偏y}) * dp $ $ < / span > < / p > < p >引用的垂直整合水分通量请看参考的方程< a href = " https://iri.columbia.edu/ ~奥斯曼/印刷/开始/ FasuloWebster03_JClim.pdf”rel = " nofollow noreferrer " >印度季风爆发和撤军的水文定义< / > < / p > < p > <跨类= " math-container " > $ $ VIMFT = - \压裂{1}{g} \ int_ {700 \, hPa} ^ {1000 \, hPa} (q * u + q * v) * dp $ $ < / span > < / p > < p >所以我将提供一个方程数值算法实现和意见可以改变什么构成“大气层”在数值天气预报。< / p > < p >在这个方程q是特定的湿度,u和v的纬向和经向速度,p是压强,g是重力加速度。< / p > < p >水分通量收敛或发散< / p > < p > <跨类= " math-container " > $ $(\压裂{\偏u q} {x} \部分+ \压裂{\部分v q}{\偏y}) $ $ < / span > < / p > < p >水分通量是< / p > < p > <跨类= " math-container " > q * u + q * v $ $ $ $ < / span > < / p > < p >然后需要和水平收敛水分通量(或在你的情况中水分通量)在接下来的层1)1000 - 925 hPa 2) 925 - 850 hPa 3) 850 - 700 hPa的定义什么是“层”是主观的,你可以包括三个压力表面如果你认为需要深层与浅层。数字一层可以被认为是两个压力的平均值的表面。作为一个例子在你的情况下,你的平均速度在1000 hPa和925 hPa表面的平均1000 hPa和925 hPa特定的湿度。< / p > < p >一旦你计算水平水分通量(或如果你是计算MFC,那么您需要使用有限的主要差异和向后和向前的差异在网格边界和过程是解释在这个实体答案——< a href = " //www.hoelymoley.com/questions/8418/how-to-calculate-water-vapor-flux-divergence-from-temperature-relative-humidity?rq = 1 " >水分通量数值收敛过程< / >和< a href = " //www.hoelymoley.com/questions/9634/how-to-compute-du-dx-and-dv-dy-in-moisture-flux-convergence?rq = 1 " >有限差分计算MFC < / >)在每一层乘以dp然后总结的贡献。< / p > < p > <强>更新< /强> < / p > < p >为了应对问题的评论< / p > < p > <跨类=“math-container”>“1000 - 925”美元< / span > < / p > < p >不是被视为一个减法,而是平均。< / p > < p >需要做什么是平均两个压力表面在以下方式< / p > < p > <跨类= " math-container " >美元q_{层}= (q_ + q_ {1000} {925}) / 2 $ < / span > < / p > < p > <跨类= " math-container " > $ u_{层}= (u_ u_ {925} {1000} +) / 2 $ < / span > < / p > < p > <跨类= " math-container " >美元v_{层}= (v_ + v_ {1000} {925}) / 2 $ < / span > < / p > < p >一旦你这么做,每层乘以dp的对应值,在这种情况下< / p > < p > <跨类= " math-container " > dp = 1000 -925美元< / span > < / p > < p >这是一个减法。然后你把个人价值为每一层个人贡献的总和,然后求和层< / p > < p > <跨类= " math-container " >美元(q_{层}* u_{层}+ q_{层}* v_{层})* dp $ < / span > < / p > < p > VIMFC的单位通常是< / p > < p > <跨类= " math-container " > $ $ 10 ^−5 \公斤\,m ^−2 \ s ^−1 $ $ < / span > < / p >
Baidu
map