cc cc Testing get_new_fog subroutine cc parameter (lv=14,time_step=3*3600.0) !14 levels, 1 hour time step REAL up(lv),vp(lv),hp(lv),rhp(lv),tp(lv,2),t2(2) REAL u10,v10,hsfc,lwc,rh2,rhthr, + cooling_rate,Km,lamda,lwc_max c open(10,file='fog_test.data',status='old') read(*,*) do k=1,lv read(*,*) hp(k),tp(k,2),rhp(k),up(k), + vp(k),tp(k,1) write(*,*) hp(k),tp(k,2),rhp(k),up(k), + vp(k),tp(k,1) 20 format(5x,f6.1, 5f5.1) end do read(*,*) read(*,*) hsfc,t2(2),rh2,u10,v10,t2(1) write(*,*) hsfc,t2(2),rh2,u10,v10,t2(1) read(*,*) cldt, cldb write(*,*) cldt, cldb read(*,*) adv 21 format(2f10.1) rhr=95.0 !assume RH>=95% as to be saturated dx=10000.0 adv=adv/dx !in g/kg/sec call get_new_fog(up,vp,hp,u10,v10,hsfc,rhp, + rh2,t2,tp,time_step,lv,cldt,cldb,adv,rhr, + lwc) write(*,*) 'Surface 10m LWC(g/kg)=',lwc stop end ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc cc cc SUBROUTINE get_new_fog: implemented based on Zhou and Ferrier 's aysmptotic formulation cc 2008 on JAMC but add moisture advection term cc cc Input: grid-wide u,v component profile and surface values, temperature and RH profiles cc and surface values, surface height, and previous time step temperature profile cc and surface values (are used to compute cooling rate). cc Output: fog LWC cc cc Application: added to NCEP SREF/VSREF product generator or WRF-NMM/ARW unified post cc cc This code is for grid or point-wide computation as following steps: cc cc (1) Search for which (pressure)levels the surface height is located cc (2) Search for which (pressure)levels the suturated top above the surface is located cc and get the fog layer (saturated layer) depth, if its depth > 800m, not cc a fog but reture, otherwise cc (3) Search from the fog layer top downward to see if its bottom reach the ground cc if its bottom not touch the ground and > 800m, it is not a fog but return, cc otherwise cc (4) Compute averaged cooling rate within the fog layer using current and previous cc time step's temperature profiles and surface (in C/hr) cc (5) Based on temperaure at nearest level from the fog top and 2m to compute cc averag temperature with the fog layer, based on which parameter beta is computed cc (5.1) From cooling rate, fog depth and beta, the critical turb exch. ceoff Kc can cc be computed cc (6) Based on the u,v at nearest level from the fog top and 10m u,v, to compute cc wind speeds at the fog top and the surface cc (7) Based on T, wind speeds at nearest level from the fog top and 2m, Ri is computed cc from which stability function Fm(Ri) is computed, from which turbulent excahnge cc coefficient K is computed cc (7.1) If won't further compute LWC, using K and Kc, fog exists or not can be determined cc at this step (K>Kc, K