用于大气能见度的公式是什么?- 江南体育网页版- - - - -地球科学堆江南电子竞技平台栈交换 最近30从www.hoelymoley.com 2023 - 08 - 21 - t07:02:24z //www.hoelymoley.com/feeds/question/7517 https://creativecommons.org/licenses/by-sa/4.0/rdf //www.hoelymoley.com/q/7517 15 用于大气能见度的公式是什么? sundar_ima //www.hoelymoley.com/users/5473 2016 - 02 - 16 - t15:48:43z 2018 - 03 - 07 - t11:41:09z < p >我在NCEP GFS资料绘制各种地图。一个这样的情节我想有可见性。我看过一些网站显示可见性图表和数据的来源显示为NCEP GFS。< / p > < p >我找不到任何变量与GFS文件中的可见性有关。< / p > < p >有任何特定的公式可用于计算能见度吗?< / p > //www.hoelymoley.com/questions/7517/-/7518 # 7518 13 答案由milancurcic用于大气能见度的公式是什么? milancurcic //www.hoelymoley.com/users/192 2016 - 02 - 16 - t18:44:14z 2016 - 02 - 16 - t18:54:14z < p >我从WRF输出使用计算表面可见性计算,我改编自< a href = " http://www.dtcenter.org/wrf-nmm/users/overview/upp_overview.php " > DTC的统一文章处理器< / >,特别是从他们的Fortran程序中发现<代码> UPPV2.2 / src / unipost / CALVIS.f > < /代码。计算是基于水汽凝结体混合比率,和空气温度和压力,从模型的最低层。如果你的GFS输出有水汽凝结体混合比率,你可以用这个公式来计算能见度。原始代码读取文档:< / p > < pre > <代码>这个例程计算水平能见度在表面或最低模型层,从qc, qr,气和qs。qv--water vapor mixing ratio (kg/kg) qc--cloud water mixing ratio (kg/kg) qr--rain water mixing ratio (kg/kg) qi--cloud ice mixing ratio (kg/kg) qs--snow mixing ratio (kg/kg) tt--temperature (k) pp--pressure (Pa) If iice=0: qprc=qr qrain=qr and qclw=qc if T>0C qcld=qc =0 =0 if T<0C qsnow=qs and qclice=qc if T<0C =0 =0 if T>0C If iice=1: qprc=qr+qs qrain=qr and qclw=qc qcld=qc+qi qsnow=qs and qclice=qc Independent of the above definitions, the scheme can use different assumptions of the state of hydrometeors: meth='d': qprc is all frozen if T<0, liquid if T>0 meth='b': Bocchieri scheme used to determine whether qprc is rain or snow. A temperature assumption is used to determine whether qcld is liquid or frozen. meth='r': Uses the four mixing ratios qrain, qsnow, qclw, and qclice The routine uses the following expressions for extinction coefficient, beta (in km**-1), with C being the mass concentration (in g/m**3): cloud water: beta = 144.7 * C ** (0.8800) rain water: beta = 2.24 * C ** (0.7500) cloud ice: beta = 327.8 * C ** (1.0000) snow: beta = 10.36 * C ** (0.7776) These expressions were obtained from the following sources: for cloud water: from Kunkel (1984) for rainwater: from M-P dist'n, with No=8e6 m**-4 and rho_w=1000 kg/m**3 for cloud ice: assume randomly oriented plates which follow mass-diameter relationship from Rutledge and Hobbs (1983) for snow: from Stallabrass (1985), assuming beta = -ln(.02)/vis The extinction coefficient for each water species present is calculated, and then all applicable betas are summed to yield a single beta. Then the following relationship is used to determine visibility (in km), where epsilon is the threshhold of contrast, usually taken to be .02: vis = -ln(epsilon)/beta [found in Kunkel (1984)]

I have adapted the code from this routine to a Python function below, which you can use for your purposes:

def calculate_visibility(qv,qc,qr,qi,qs,T,p): """ Calculates visibility based on the UPP algorithm. See documentation in UPPV2.2/src/unipost/CALVIS.f for the description of input arguments and references. """ Rd = 287. COEFLC = 144.7 COEFLP = 2.24 COEFFC = 327.8 COEFFP = 10.36 EXPLC = 0.88 EXPLP = 0.75 EXPFC = 1. EXPFP = 0.7776 Tv = T * (1+0.61*qv) # Virtual temperature rhoa = p/(Rd*Tv) # Air density [kg m^-3] rhow = 1e3 # Water density [kg m^-3] rhoi = 0.917e3 # Ice density [kg m^-3] vovmd = (1+qv)/rhoa + (qc+qr)/rhow + (qi+qs)/rhoi conc_lc = 1e3*qc/vovmd conc_lp = 1e3*qr/vovmd conc_fc = 1e3*qi/vovmd conc_fp = 1e3*qs/vovmd # Make sure all concentrations are positive conc_lc[conc_lc < 0] = 0 conc_lp[conc_lp < 0] = 0 conc_fc[conc_fc < 0] = 0 conc_fp[conc_fp < 0] = 0 betav = COEFFC*conc_fc**EXPFC\ + COEFFP*conc_fp**EXPFP\ + COEFLC*conc_lc**EXPLC\ + COEFLP*conc_lp**EXPLP+1E-10 vis = -np.log(0.02)/betav # Visibility [km] vis[vis > 24.135] = 24.135 return vis 
Baidu
map