diff --git a/sorc/ncep_post.fd/CALVIS_GSD.f b/sorc/ncep_post.fd/CALVIS_GSD.f index ca9028294..c2795a6e5 100644 --- a/sorc/ncep_post.fd/CALVIS_GSD.f +++ b/sorc/ncep_post.fd/CALVIS_GSD.f @@ -91,13 +91,15 @@ SUBROUTINE CALVIS_GSD(CZEN,VIS) ! 2021-05 Wen Meng - Add checking for undefined points invloved in computation ! 2021-08 Wen Meng - Restrict divided by 0. ! 2021-10 Jesse Meng - 2D DECOMPOSITION +! 2023-11 Tim Corrie, Eric James - addition of attenuation for blowing snow ! !------------------------------------------------------------------ ! + use vrbls2d, only: sno, si, ustar use vrbls3d, only: qqw, qqi, qqs, qqr, qqg, t, pmid, q, u, v, extcof55, aextc55 - use params_mod, only: h1, d608, rd - use ctlblk_mod, only: jm, im, jsta_2l, jend_2u, lm, modelname, spval,& + use params_mod, only: h1, d608, rd, g + use ctlblk_mod, only: jm, im, jsta_2l, jend_2u, lm, modelname, spval, method_blsn,& ista_2l, iend_2u implicit none @@ -109,6 +111,10 @@ SUBROUTINE CALVIS_GSD(CZEN,VIS) REAL RHB(ista_2l:iend_2u,jsta_2l:jend_2u,LM) REAL CZEN(ista_2l:iend_2u,jsta_2l:jend_2u) + real :: z, ustar_t, u_p, lamda, r_bar, alpha + real :: rho_sno + real :: z_r, Q_s, C_r, c_z, c_alpha, vis_blsn, BETABLSN + real celkel,tice,coeflc,coeflp,coeffc,coeffp,coeffg real exponlc,exponlp,exponfc,exponfp,exponfg,const1 real rhoice,rhowat,qrain,qsnow,qgraupel,qclw,qclice,tv,rhoair, & @@ -300,6 +306,45 @@ SUBROUTINE CALVIS_GSD(CZEN,VIS) if (t(i,j,lm)< 270. .and. temp_fac==1.) & write (6,*) 'Problem w/ temp_fac - calvis' +! Key calculation of attenuation from blowing snow -- updated 5 August 2022 by Tim Corrie +! Framework is from Letcher et al (2021) + + ustar_t = 0.2 + u_p = 2.8*ustar_t + lamda = 0.45 + z = 2.0 + alpha = 15.0 + r_bar = 0.0002 + +! print *, i,j + + + if (si(i,j) 2023-04-04 | Li(Kate Zhang) | Add namelist optoin for CCPP-Chem (UFS-Chem) and 2D diag. output (d2d_chem) for GEFS-Aerosols and CCPP-Chem model. !> 2023-04-17 | Eric James | Adding 160 and 320 m above ground to HTFD for RRFS output. !> 2023-08-16 | Yali Mao | Add gtg_on logical option +!> 2023-11-24 | Eric James | Add method_blsn logical option !----------------------------------------------------------------------- !> @defgroup CTLBLK_mod Sets default parameters that are used throughout the UPP code !----------------------------------------------------------------------- @@ -73,6 +74,7 @@ module CTLBLK_mod logical :: aqf_on !< Turn on Air Quality Forecasting (CMAQ-based). logical :: slrutah_on !< Calculate snow to liquid ratio (SLR) using method from University of Utah. logical :: gtg_on !< Turn on GTG (Graphical Turbulence Guidance) + logical :: method_blsn !< Turn on blowing snow effect on visibility diagnostic ! logical :: SIGMA !< No longer used/supported. logical :: RUN !< No longer used/supported. diff --git a/sorc/ncep_post.fd/WRFPOST.f b/sorc/ncep_post.fd/WRFPOST.f index d2b0ef546..01a63baa1 100644 --- a/sorc/ncep_post.fd/WRFPOST.f +++ b/sorc/ncep_post.fd/WRFPOST.f @@ -37,6 +37,7 @@ ! and 2D diag. output (d2d_chem) for GEFS-Aerosols and CCPP-Chem model. !> 2023-05-20 | Rahul Mahajan | Bug fix for fileNameFlat as namelist configurable !> 2023-08-16 | Yali Mao | Add gtg_on logical option +!> 2023-11-29 | Eric James | Add method_blsn logical option !> @author Mike Bladwin NSSL/SPC @date 2002-06-18 !--------------------------------------------------------------------- !> @return wrfpost @@ -127,7 +128,7 @@ PROGRAM WRFPOST mdl2agl_tim, mdl2std_tim, mdl2thandpv_tim, calrad_wcloud_tim,nasa_on,gccpp_on, & fixed_tim, time_output, imin, surfce2_tim, komax, ivegsrc, d3d_on, gocart_on,rdaod, & readxml_tim, spval, fullmodelname, submodelname, hyb_sigp, filenameflat, aqf_on,numx, & - run_ifi_tim, slrutah_on, d2d_chem, gtg_on + run_ifi_tim, slrutah_on, d2d_chem, gtg_on, method_blsn use grib2_module, only: gribit2,num_pset,nrecout,first_grbtbl,grib_info_finalize use upp_ifi_mod, only: write_ifi_debug_files !- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -153,7 +154,7 @@ PROGRAM WRFPOST ! integer :: kpo,kth,kpv real,dimension(komax) :: po,th,pv - namelist/nampgb/kpo,po,kth,th,kpv,pv,fileNameAER,d3d_on,gocart_on,gccpp_on, nasa_on,gtg_on,popascal & + namelist/nampgb/kpo,po,kth,th,kpv,pv,fileNameAER,d3d_on,gocart_on,gccpp_on, nasa_on,gtg_on,method_blsn,popascal & ,hyb_sigp,rdaod,d2d_chem, aqf_on,slrutah_on, vtimeunits,numx,write_ifi_debug_files integer :: itag_ierr namelist/model_inputs/fileName,IOFORM,grib,DateStr,MODELNAME,SUBMODELNAME & @@ -261,6 +262,7 @@ PROGRAM WRFPOST aqf_on = .false. slrutah_on = .false. gtg_on = .false. + method_blsn = .true. popascal = .false. fileNameAER = '' rdaod = .false.