diff --git a/GFS_layer/GFS_physics_driver.F90 b/GFS_layer/GFS_physics_driver.F90 index df9536c6d..db3148a40 100644 --- a/GFS_layer/GFS_physics_driver.F90 +++ b/GFS_layer/GFS_physics_driver.F90 @@ -509,15 +509,17 @@ subroutine GFS_physics_driver & real(kind=kind_phys), dimension(size(Grid%xlon,1),4) :: & oa4, clx - real(kind=kind_phys), dimension(size(Grid%xlon,1),Model%lsoil) :: & - smsoil, stsoil, slsoil + ! DH 20171227 - local variables no longer used, use Sfcprop%smc(:,:), + ! Sfcprop%stc(:,:) and Sfcprop%slc(:,:) instead + !real(kind=kind_phys), dimension(size(Grid%xlon,1),Model%lsoil) :: & + ! smsoil, stsoil, slsoil real(kind=kind_phys), dimension(size(Grid%xlon,1),Model%levs) :: & del, rhc, dtdt, dudt, dvdt, gwdcu, gwdcv, dtdtc, rainp, & ud_mf, dd_mf, dt_mf, prnum, dkt, sigmatot, sigmafrac real(kind=kind_phys), dimension(size(Grid%xlon,1),Model%levs) :: & - initial_u, initial_v, initial_t, initial_qv + save_u, save_v, save_t, save_qv, save_qcw !--- GFDL modification for FV3 real(kind=kind_phys), dimension(size(Grid%xlon,1),Model%levs+1) ::& @@ -548,7 +550,7 @@ subroutine GFS_physics_driver & real(kind=kind_phys), allocatable, dimension(:,:) :: & qlcn, qicn, w_upi, cf_upi, CNV_MFD, CNV_PRC3, CNV_DQLDT, & CLCN, CNV_FICE, CNV_NDROP, CNV_NICE -!CCPP +!CCPP - now save_t, save_qv ! real(kind=kind_phys), dimension(size(Grid%xlon,1),Model%levs) :: & ! initial_t, initial_qv @@ -811,8 +813,8 @@ subroutine GFS_physics_driver & call GFS_suite_interstitial_3_run (Model, Grid, Statein, Radtend, xcosz, & adjsfcdsw, adjsfcdlw, adjsfculw, xmu, Diag, kcnv, hflx, evap) call GFS_surface_generic_pre_run (Model, Grid, Sfcprop, Radtend, Statein,& - adjsfcdlw, Diag, sigmaf, islmsk, soiltyp, vegtype, slopetyp, work3, & - stsoil, gabsbdlw, tsurf, flag_guess, flag_iter, ep1d) + adjsfcdlw, Diag, sigmaf, islmsk, soiltyp, vegtype, slopetyp, work3, & + gabsbdlw, tsurf, flag_guess, flag_iter, ep1d) call GFS_PBL_generic_pre_run (im, levs, kinver) !kcnv(:) = 0 @@ -883,8 +885,8 @@ subroutine GFS_physics_driver & ! Diag%zlvl(:) = Statein%phil(:,1) * onebg ! Diag%smcwlt2(:) = 0.0 ! Diag%smcref2(:) = 0.0 - call lsm_noah_pre_run(im,Model%lsoil,smsoil,slsoil,Sfcprop%smc(:,:),Sfcprop%slc(:,:), & - drain,runof,evbs,evcw,trans,sbsno,snowc,snohf,Diag%smcwlt2(:),Diag%smcref2(:)) + call lsm_noah_pre_run(im,Model%lsoil,drain,runof,evbs,evcw,trans,sbsno, & + snowc,snohf,Diag%smcwlt2(:),Diag%smcref2(:)) ! --- ... lu: iter-loop over (sfc_diff,sfc_drv,sfc_ocean,sfc_sice) @@ -990,8 +992,8 @@ subroutine GFS_physics_driver & Model%ivegsrc, & ! --- in/outs: Sfcprop%weasd, Sfcprop%snowd, Sfcprop%tsfc, Sfcprop%tprcp, & - Sfcprop%srflag, smsoil, stsoil, slsoil, Sfcprop%canopy, & - trans, tsurf, Sfcprop%zorl, & + Sfcprop%srflag, Sfcprop%smc, Sfcprop%stc, Sfcprop%slc, & + Sfcprop%canopy, trans, tsurf, Sfcprop%zorl, & ! --- outputs: Sfcprop%sncovr, qss, gflx, drain, evap, hflx, ep1d, runof, & Diag%cmm, Diag%chh, evbs, evcw, sbsno, snowc, Diag%soilm, & @@ -1017,15 +1019,16 @@ subroutine GFS_physics_driver & call sfc_sice_run & ! --- inputs: - (im, Model%lsoil, Statein%pgr, Statein%ugrs, Statein%vgrs, & - Statein%tgrs, Statein%qgrs, dtf, Radtend%semis, gabsbdlw, & + (im, Model%lsoil, Statein%pgr, Statein%ugrs(:,1), & + Statein%vgrs(:,1), Statein%tgrs(:,1), Statein%qgrs(:,1,1), & + dtf, Radtend%semis, gabsbdlw, & adjsfcnsw, adjsfcdsw, Sfcprop%srflag, cd, cdq, & Statein%prsl(:,1), work3, islmsk, & Tbd%phy_f2d(:,Model%num_p2d), flag_iter, Model%mom4ice, & Model%lsm, lprnt, ipr, & ! --- input/outputs: zice, cice, tice, Sfcprop%weasd, Sfcprop%tsfc, & - Sfcprop%tprcp, stsoil, ep1d, & + Sfcprop%tprcp, Sfcprop%stc, ep1d, & ! --- outputs: Sfcprop%snowd, qss, snowmt, gflx, Diag%cmm, Diag%chh, evap, & hflx) @@ -1155,7 +1158,7 @@ subroutine GFS_physics_driver & endif call GFS_surface_generic_post_run (Model, Grid, ep1d, gflx, evbs, evcw, & - trans, sbsno, snowc, snohf, stsoil, Diag, Sfcprop) + trans, sbsno, snowc, snohf, Diag, Sfcprop) !!!!!!!!!!!!!!!!!Commented by Moorthi on July 18, 2012 !!!!!!!!!!!!!!!!!!! ! do i = 1, im @@ -1544,7 +1547,7 @@ subroutine GFS_physics_driver & ! dqdt(:,:,1) = Stateout%gq0(:,:,1) ! endif ! end if_ldiag3d/lgocart - call GFS_DCNV_generic_pre_run (Model, Stateout, Grid, initial_u, initial_v, initial_t, initial_qv) + call GFS_DCNV_generic_pre_run (Model, Stateout, Grid, save_u, save_v, save_t, save_qv, save_qcw) #ifdef GFS_HYDRO call get_phi(im, ix, levs, ntrac, Stateout%gt0, Stateout%gq0, & @@ -1675,7 +1678,7 @@ subroutine GFS_physics_driver & ! write(1000+me,*)' at latitude = ',lat ! rain1 = 0.0 ! call moist_bud(im,im,ix,levs,me,kdt,con_g,dtp,del,rain1 -! &, initial_qv(1,1), dqdt(1,1,2), dqdt(1,1,3) +! &, save_qv(1,1), dqdt(1,1,2), dqdt(1,1,3) ! &, gq0(1,1,1),clw(1,1,2),clw(1,1,1),'shoc ') if ((Model%ntlnc > 0) .and. (Model%ntinc > 0) .and. (Model%ncld >= 2)) then @@ -1752,7 +1755,7 @@ subroutine GFS_physics_driver & ! write(0,*)' bef cs_cconv phii=',phii(ipr,:) ! &,' sizefsc=',size(fscav) ! write(0,*)' bef cs_cconv otspt=',otspt,' kdt=',kdt,' me=',me - initial_qv(:,:) = Stateout%gq0(:,:,1) + save_qv(:,:) = Stateout%gq0(:,:,1) dqdt(:,:,2) = max(0.0,clw(:,:,2)) dqdt(:,:,3) = max(0.0,clw(:,:,1)) ! if (lprnt) write(0,*)' gq0bfcs=',gq0(ipr,1:35,1) @@ -1779,7 +1782,7 @@ subroutine GFS_physics_driver & ! if (lprnt) write(0,*)' gq0afcs4=',gq0(ipr,1:35,4) ! write(1000+me,*)' at latitude = ',lat ! call moist_bud(im,im,ix,levs,me,kdt,con_g,dtp,del,rain1 -! &, initial_qv(1,1), dqdt(1,1,2), dqdt(1,1,3) +! &, save_qv(1,1), dqdt(1,1,2), dqdt(1,1,3) ! &, gq0(1,1,1),clw(1,1,2),clw(1,1,1),' cs_conv') rain1(:) = rain1(:) * (dtp*0.001) @@ -1817,7 +1820,7 @@ subroutine GFS_physics_driver & ! do k=1,levs ! do i=1,im -! initial_qv(i,k) = gq0(i,k,1) +! save_qv(i,k) = gq0(i,k,1) ! dqdt(i,k,2) = max(0.0,clw(i,k,2)) ! dqdt(i,k,3) = max(0.0,clw(i,k,1)) ! enddo @@ -1842,7 +1845,7 @@ subroutine GFS_physics_driver & ! write(1000+me,*)' at latitude = ',lat ! tx1 = 1000.0 ! call moist_bud(im,im,ix,levs,me,kdt,con_g,tx1,del,rain1 -! &, initial_qv(1,1), dqdt(1,1,2), dqdt(1,1,3) +! &, save_qv(1,1), dqdt(1,1,2), dqdt(1,1,3) ! &, gq0(1,1,1),clw(1,1,2),clw(1,1,1),' ras_conv') ! if(lprnt) write(0,*)' after ras rain1=',rain1(ipr) ! &,' cnv_prc3sum=',sum(cnv_prc3(ipr,1:levs)) @@ -1917,11 +1920,11 @@ subroutine GFS_physics_driver & ! endif ! end if_lssav call GFS_DCNV_generic_post_run (Grid, Model, Stateout, frain, rain1, cld1d, & - initial_u, initial_v, initial_t, initial_qv, ud_mf, dd_mf, dt_mf, cnvw, cnvc, Diag, Tbd) + save_u, save_v, save_t, save_qv, ud_mf, dd_mf, dt_mf, cnvw, cnvc, Diag, Tbd) ! ! update dqdt_v to include moisture tendency due to deep convection if (Model%lgocart) then - Coupling%dqdti (:,:) = (Stateout%gq0(:,:,1) - initial_qv(:,:)) * frain + Coupling%dqdti (:,:) = (Stateout%gq0(:,:,1) - save_qv(:,:)) * frain Coupling%upd_mfi(:,:) = Coupling%upd_mfi(:,:) + ud_mf(:,:) * frain Coupling%dwn_mfi(:,:) = Coupling%dwn_mfi(:,:) + dd_mf(:,:) * frain Coupling%det_mfi(:,:) = Coupling%det_mfi(:,:) + dt_mf(:,:) * frain @@ -1955,7 +1958,7 @@ subroutine GFS_physics_driver & ! do k = 1, levs ! do i = 1, im ! if (k >= kbot(i) .and. k <= ktop(i)) then -! cumabs(i) = cumabs(i) + (Stateout%gt0(i,k)-initial_t(i,k)) * del(i,k) +! cumabs(i) = cumabs(i) + (Stateout%gt0(i,k)-save_t(i,k)) * del(i,k) ! work3(i) = work3(i) + del(i,k) ! endif ! enddo @@ -1966,7 +1969,7 @@ subroutine GFS_physics_driver & call gwdc_pre_run ( & im, Model%cgwf, Grid%dx, work1, work2, dlength, cldf, & - levs, kbot, ktop, dtp, Stateout%gt0, initial_t, del, cumabs) + levs, kbot, ktop, dtp, Stateout%gt0, save_t, del, cumabs) ! do i = 1, im ! do k = kbot(i), ktop(i) @@ -2017,13 +2020,13 @@ subroutine GFS_physics_driver & ! write(*,9130) !9130 format(//,10x,'before gwdc in gbphys',//,' ilev',6x, & ! & 'ugrs',9x,'gu0',8x,'vgrs',9x,'gv0',8x, & -! & 'tgrs',9x,'gt0',8x,'gt0b',8x,'initial_u',8x,'initial_v',/) +! & 'tgrs',9x,'gt0',8x,'gt0b',8x,'save_u',8x,'save_v',/) ! do k = levs, 1, -1 ! write(*,9140) k,ugrs(ipr,k),gu0(ipr,k), & ! & vgrs(ipr,k),gv0(ipr,k), & -! & tgrs(ipr,k),gt0(ipr,k),initial_t(ipr,k), & -! & initial_u(ipr,k),initial_v(ipr,k) +! & tgrs(ipr,k),gt0(ipr,k),save_t(ipr,k), & +! & save_u(ipr,k),save_v(ipr,k) ! enddo !9140 format(i4,9(2x,f10.3)) @@ -2055,7 +2058,7 @@ subroutine GFS_physics_driver & ! do k = levs, 1, -1 ! write(*,9141) k,ugrs(ipr,k),gu0(ipr,k), & ! & vgrs(ipr,k),gv0(ipr,k), & -! & tgrs(ipr,k),gt0(ipr,k),initial_t(ipr,k), & +! & tgrs(ipr,k),gt0(ipr,k),save_t(ipr,k), & ! & gwdcu(ipr,k),gwdcv(ipr,k) ! enddo !9141 format(i4,9(2x,f10.3)) @@ -2111,7 +2114,7 @@ subroutine GFS_physics_driver & ! do k = levs, 1, -1 ! write(*,9142) k,ugrs(ipr,k),gu0(ipr,k),vgrs(ipr,k), & -! & gv0(ipr,k),tgrs(ipr,k),gt0(ipr,k),initial_t(ipr,k), & +! & gv0(ipr,k),tgrs(ipr,k),gt0(ipr,k),save_t(ipr,k), & ! & gwdcu(ipr,k),gwdcv(ipr,k) ! enddo !9142 format(i4,9(2x,f10.3)) @@ -2128,13 +2131,13 @@ subroutine GFS_physics_driver & !----------------Convective gravity wave drag parameterization over -------- ! if (Model%ldiag3d) then - ! initial_t(:,:) = Stateout%gt0(:,:) + ! save_t(:,:) = Stateout%gt0(:,:) ! endif ! if (Model%ldiag3d .or. Model%lgocart) then - ! initial_qv(:,:) = Stateout%gq0(:,:,1) + ! save_qv(:,:) = Stateout%gq0(:,:,1) ! endif - call GFS_SCNV_generic_pre_run (Model, Stateout, Grid, initial_t, initial_qv) + call GFS_SCNV_generic_pre_run (Model, Stateout, Grid, save_t, save_qv) ! write(0,*)' before do_shoc shal clstp=',clstp,' kdt=',kdt, ! & ' lat=',lat @@ -2220,14 +2223,14 @@ subroutine GFS_physics_driver & ! if (Model%lgocart) then ! do k = 1, levs ! do i = 1, im -! tem = (Stateout%gq0(i,k,1)-initial_qv(i,k)) * frain +! tem = (Stateout%gq0(i,k,1)-save_qv(i,k)) * frain ! Coupling%dqdti(i,k) = Coupling%dqdti(i,k) + tem ! enddo ! enddo ! endif ! if (Model%ldiag3d) then -! Diag%dt3dt(:,:,5) = Diag%dt3dt(:,:,5) + (Stateout%gt0(:,:)-initial_t(:,:)) * frain -! Diag%dq3dt(:,:,3) = Diag%dq3dt(:,:,3) + (Stateout%gq0(:,:,1)-initial_qv(:,:)) * frain +! Diag%dt3dt(:,:,5) = Diag%dt3dt(:,:,5) + (Stateout%gt0(:,:)-save_t(:,:)) * frain +! Diag%dq3dt(:,:,3) = Diag%dq3dt(:,:,3) + (Stateout%gq0(:,:,1)-save_qv(:,:)) * frain ! endif ! endif ! end if_lssav ! ! @@ -2237,7 +2240,7 @@ subroutine GFS_physics_driver & ! enddo ! enddo - call GFS_SCNV_generic_post_run (Model, Stateout, Grid, initial_t, initial_qv, frain, Diag, clw) + call GFS_SCNV_generic_post_run (Model, Stateout, Grid, save_t, save_qv, frain, Diag, clw) ! if (lprnt) then ! write(0,*)' prsl=',prsl(ipr,:) @@ -2370,15 +2373,15 @@ subroutine GFS_physics_driver & ! if (lgocart) then ! do k=1,levs ! do i=1,im -! tem = (gq0(i,k,1)-initial_qv(i,k)) * frain +! tem = (gq0(i,k,1)-save_qv(i,k)) * frain ! dqdt_v(i,k) = dqdt_v(i,k) + tem ! dqdt_v(i,k) = dqdt_v(i,k) / dtf ! enddo ! enddo ! endif if (Model%ldiag3d) then - Diag%dt3dt(:,:,4) = Diag%dt3dt(:,:,4) + (Stateout%gt0(:,:) -initial_t(:,:) ) * frain - Diag%dq3dt(:,:,2) = Diag%dq3dt(:,:,2) + (Stateout%gq0(:,:,1)-initial_qv(:,:)) * frain + Diag%dt3dt(:,:,4) = Diag%dt3dt(:,:,4) + (Stateout%gt0(:,:) -save_t(:,:) ) * frain + Diag%dq3dt(:,:,2) = Diag%dq3dt(:,:,2) + (Stateout%gq0(:,:,1)-save_qv(:,:)) * frain endif endif endif ! moist convective adjustment over @@ -2386,7 +2389,7 @@ subroutine GFS_physics_driver & call GFS_MP_generic_pre_run (im, ix,levs,clw(:,:,1),clw(:,:,2), & Model%ldiag3d, Model%ntcw, Model%ncld, & Model%num_p3d, Stateout%gt0,Stateout%gq0(:,:,1), & - dtdt,dqdt(:,:,1),dqdt(:,:,3) ) + save_t, save_qv, save_qcw ) ! dqdt_v : instaneous moisture tendency (kg/kg/sec) if (Model%lgocart) then @@ -2592,8 +2595,8 @@ subroutine GFS_physics_driver & do k = 1,levs do i = 1,im tem1 = sigmafrac(i,k) - Stateout%gt0(i,k) = Stateout%gt0(i,k) - tem1 * (Stateout%gt0(i,k)-initial_t(i,k)) - tem2 = tem1 * (Stateout%gq0(i,k,1)-initial_qv(i,k)) + Stateout%gt0(i,k) = Stateout%gt0(i,k) - tem1 * (Stateout%gt0(i,k)-save_t(i,k)) + tem2 = tem1 * (Stateout%gq0(i,k,1)-save_qv(i,k)) Stateout%gq0(i,k,1) = Stateout%gq0(i,k,1) - tem2 temrain1(i) = temrain1(i) - (Statein%prsi(i,k)-Statein%prsi(i,k+1)) & * tem2 * onebg @@ -2615,12 +2618,12 @@ subroutine GFS_physics_driver & ! Diag%rain(:) = Diag%rainc(:) + frain * rain1(:) - call GFS_calpreciptype_run (kdt, Model%nrcm, im, ix, levs, levs+1, & - Tbd%rann, Model%cal_pre, Stateout%gt0, & - Stateout%gq0, Statein%prsl, Statein%prsi, & - Diag%rainc,frain,rain1, Statein%phii, Model%num_p3d, & - Sfcprop%tsfc, Diag%sr, Tbd%phy_f3d(:,:,3), & ! input !zhang:Tbd%phy_f3d(:,:,3) comes from gscond_run - Diag%rain, domr, domzr, domip, doms, Sfcprop%srflag, & ! output + call GFS_calpreciptype_run (kdt, Model%nrcm, im, ix, levs, levs+1, & + Tbd%rann, Model%cal_pre, Stateout%gt0, & + Stateout%gq0(:,:,1), Statein%prsl, Statein%prsi, & + Diag%rainc,frain,rain1, Statein%phii, Model%num_p3d, & + Sfcprop%tsfc, Diag%sr, Tbd%phy_f3d(:,:,3), & ! input !zhang:Tbd%phy_f3d(:,:,3) comes from gscond_run + Diag%rain, domr, domzr, domip, doms, Sfcprop%srflag, & ! output Sfcprop%tprcp) call GFS_MP_generic_post_run (im, ix, levs, dtf, del, & @@ -2628,8 +2631,8 @@ subroutine GFS_physics_driver & Model%ntcw, Model%ncld, & Stateout%gq0(:,:,Model%ntcw), & Stateout%gt0, Stateout%gq0(:,:,1), & - dtdt,dqdt(:,:,1),Diag%totprcp, Diag%dt3dt(:,:,6),& - Diag%dq3dt(:,:,6), Diag%pwat ) + save_t, save_qv, Diag%totprcp, Diag%dt3dt(:,:,6),& + Diag%dq3dt(:,:,6), Diag%pwat) ! if (Model%cal_pre) then ! hchuang: add dominant precipitation type algorithm ! i = min(3,Model%num_p3d) @@ -2731,8 +2734,8 @@ subroutine GFS_physics_driver & ! Diag%runoff(:) = Diag%runoff(:) + (drain(:)+runof(:)) * tem ! Diag%srunoff(:) = Diag%srunoff(:) + runof(:) * tem ! endif - call lsm_noah_post_run(im,Model%lsoil,smsoil,slsoil,Sfcprop%smc(:,:),Sfcprop%slc(:,:), & - Model%lssav,dtf,drain,runof,Diag%runoff(:),Diag%srunoff(:)) + call lsm_noah_post_run(im,Model%lsoil,Model%lssav,dtf,drain,runof,& + Diag%runoff(:),Diag%srunoff(:)) ! --- ... xw: return updated ice thickness & concentration to global array call sfc_sice_post_run & diff --git a/physics/GFS_DCNV_generic.f90 b/physics/GFS_DCNV_generic.f90 index 5891cbb78..a00178b9a 100644 --- a/physics/GFS_DCNV_generic.f90 +++ b/physics/GFS_DCNV_generic.f90 @@ -12,35 +12,37 @@ subroutine GFS_DCNV_generic_pre_finalize() end subroutine GFS_DCNV_generic_pre_finalize !> \section arg_table_GFS_DCNV_generic_pre_run Argument Table -!! | local var name | longname | description | units | rank | type | kind | intent | optional | -!! |----------------|--------------------------------------------------------|-----------------------------------------------------------------------|---------------|------|-------------------------------|-----------|--------|----------| -!! | Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | -!! | Stateout | FV3-GFS_Stateout_type | Fortran DDT containing FV3-GFS prognostic state to return to dycore | DDT | 0 | GFS_typedefs%GFS_stateout_type| | in | F | -!! | Grid | FV3-GFS_Grid_type | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 0 | GFS_typedefs%GFS_grid_type | | in | F | -!! | initial_u | x_wind_initial | x-wind before entering a physics scheme | m s-1 | 2 | real | kind_phys | inout | F | -!! | initial_v | y_wind_initial | y-wind before entering a physics scheme | m s-1 | 2 | real | kind_phys | inout | F | -!! | initial_t | air_temperature_initial | air temperature before entering a physics scheme | K | 2 | real | kind_phys | inout | F | -!! | initial_qv | water_vapor_specific_humidity_initial | water vapor specific humidity before entering a physics scheme | kg kg-1 | 2 | real | kind_phys | inout | F | +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |----------------|--------------------------------------------------------|--------------------------------------------------------------------------|---------------|------|-------------------------------|-----------|--------|----------| +!! | Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | +!! | Stateout | FV3-GFS_Stateout_type | Fortran DDT containing FV3-GFS prognostic state to return to dycore | DDT | 0 | GFS_typedefs%GFS_stateout_type| | in | F | +!! | Grid | FV3-GFS_Grid_type | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 0 | GFS_typedefs%GFS_grid_type | | in | F | +!! | save_u | x_wind_save | x-wind before entering a physics scheme | m s-1 | 2 | real | kind_phys | inout | F | +!! | save_v | y_wind_save | y-wind before entering a physics scheme | m s-1 | 2 | real | kind_phys | inout | F | +!! | save_t | air_temperature_save | air temperature before entering a physics scheme | K | 2 | real | kind_phys | inout | F | +!! | save_qv | water_vapor_specific_humidity_save | water vapor specific humidity before entering a physics scheme | kg kg-1 | 2 | real | kind_phys | inout | F | +!! | save_qcw | cloud_condensed_water_specific_humidity_save | cloud condensed water specific humidity before entering a physics scheme | kg kg-1 | 2 | real | kind_phys | inout | F | !! - subroutine GFS_DCNV_generic_pre_run (Model, Stateout, Grid, initial_u, initial_v, initial_t, initial_qv) + subroutine GFS_DCNV_generic_pre_run (Model, Stateout, Grid, save_u, save_v, save_t, save_qv, save_qcw) use machine, only: kind_phys use GFS_typedefs, only: GFS_control_type, GFS_stateout_type, GFS_grid_type type(GFS_control_type), intent(in) :: Model type(GFS_stateout_type), intent(in) :: Stateout type(GFS_grid_type), intent(in) :: Grid - real(kind=kind_phys), dimension(size(Grid%xlon,1),Model%levs), intent(inout) :: initial_u, initial_v, initial_t, initial_qv + real(kind=kind_phys), dimension(size(Grid%xlon,1),Model%levs), intent(inout) :: save_u, save_v, save_t, save_qv, save_qcw if (Model%ldiag3d) then - initial_t(:,:) = Stateout%gt0(:,:) - initial_u(:,:) = Stateout%gu0(:,:) - initial_v(:,:) = Stateout%gv0(:,:) + save_t(:,:) = Stateout%gt0(:,:) + save_u(:,:) = Stateout%gu0(:,:) + save_v(:,:) = Stateout%gv0(:,:) elseif (Model%cnvgwd) then - initial_t(:,:) = Stateout%gt0(:,:) + save_t(:,:) = Stateout%gt0(:,:) endif ! end if_ldiag3d/cnvgwd if (Model%ldiag3d .or. Model%lgocart) then - initial_qv(:,:) = Stateout%gq0(:,:,1) + save_qv(:,:) = Stateout%gq0(:,:,1) + save_qcw(:,:) = Stateout%gq0(:,:,3) endif ! end if_ldiag3d/lgocart end subroutine GFS_DCNV_generic_pre_run @@ -58,27 +60,27 @@ subroutine GFS_DCNV_generic_post_finalize () end subroutine GFS_DCNV_generic_post_finalize !> \section arg_table_GFS_DCNV_generic_post_run Argument Table -!! | local var name | longname | description | units | rank | type | kind | intent | optional | -!! |----------------|-----------------------------------------------------------|-----------------------------------------------------------------------|---------------|------|-------------------------------|-----------|--------|----------| -!! | Grid | FV3-GFS_Grid_type | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 0 | GFS_typedefs%GFS_grid_type | | in | F | -!! | Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | -!! | Stateout | FV3-GFS_Stateout_type | Fortran DDT containing FV3-GFS prognostic state to return to dycore | DDT | 0 | GFS_typedefs%GFS_stateout_type| | in | F | -!! | frain | dynamics_to_physics_timestep_ratio | ratio of dynamics timestep to physics timestep | none | 0 | real | kind_phys | in | F | -!! | rain1 | instantaneous_rainfall_amount | instantaneous rainfall amount | m | 1 | real | kind_phys | in | F | -!! | cld1d | cloud_work_function | cloud work function | m2 s-2 | 1 | real | kind_phys | in | F | -!! | initial_u | x_wind_initial | x-wind before entering a physics scheme | m s-1 | 2 | real | kind_phys | in | F | -!! | initial_v | y_wind_initial | y-wind before entering a physics scheme | m s-1 | 2 | real | kind_phys | in | F | -!! | initial_t | air_temperature_initial | air temperature before entering a physics scheme | K | 2 | real | kind_phys | in | F | -!! | initial_qv | water_vapor_specific_humidity_initial | water vapor specific humidity before entering a physics scheme | kg kg-1 | 2 | real | kind_phys | in | F | -!! | ud_mf | instantaneous_atmosphere_updraft_convective_mass_flux | (updraft mass flux) * delt | kg m-2 | 2 | real | kind_phys | in | F | -!! | dd_mf | instantaneous_atmosphere_downdraft_convective_mass_flux | (downdraft mass flux) * delt | kg m-2 | 2 | real | kind_phys | in | F | -!! | dt_mf | instantaneous_atmosphere_detrainment_convective_mass_flux | (detrainment mass flux) * delt | kg m-2 | 2 | real | kind_phys | in | F | -!! | cnvw | convective_cloud_water_specific_humidity | convective cloud water specific humidity | kg kg-1 | 2 | real | kind_phys | out | F | -!! | cnvc | convective_cloud_cover | convective cloud cover | frac | 2 | real | kind_phys | out | F | -!! | Diag | FV3-GFS_Diag_type | Fortran DDT containing FV3-GFS fields targeted for diagnostic output | DDT | 0 | GFS_typedefs%GFS_diag_type | | inout | F | -!! | Tbd | FV3-GFS_Tbd_type | Fortran DDT containing FV3-GFS miscellaneous data | DDT | 0 | GFS_typedefs%GFS_tbd_type | | inout | F | +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |----------------|-----------------------------------------------------------|--------------------------------------------------------------------------|---------------|------|-------------------------------|-----------|--------|----------| +!! | Grid | FV3-GFS_Grid_type | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 0 | GFS_typedefs%GFS_grid_type | | in | F | +!! | Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | +!! | Stateout | FV3-GFS_Stateout_type | Fortran DDT containing FV3-GFS prognostic state to return to dycore | DDT | 0 | GFS_typedefs%GFS_stateout_type| | in | F | +!! | frain | dynamics_to_physics_timestep_ratio | ratio of dynamics timestep to physics timestep | none | 0 | real | kind_phys | in | F | +!! | rain1 | rainfall_amount_on_physics_timestep | convective rainfall amount on physics timestep | m | 1 | real | kind_phys | in | F | +!! | cld1d | cloud_work_function | cloud work function | m2 s-2 | 1 | real | kind_phys | in | F | +!! | save_u | x_wind_save | x-wind before entering a physics scheme | m s-1 | 2 | real | kind_phys | in | F | +!! | save_v | y_wind_save | y-wind before entering a physics scheme | m s-1 | 2 | real | kind_phys | in | F | +!! | save_t | air_temperature_save | air temperature before entering a physics scheme | K | 2 | real | kind_phys | in | F | +!! | save_qv | water_vapor_specific_humidity_save | water vapor specific humidity before entering a physics scheme | kg kg-1 | 2 | real | kind_phys | in | F | +!! | ud_mf | instantaneous_atmosphere_updraft_convective_mass_flux | (updraft mass flux) * delt | kg m-2 | 2 | real | kind_phys | in | F | +!! | dd_mf | instantaneous_atmosphere_downdraft_convective_mass_flux | (downdraft mass flux) * delt | kg m-2 | 2 | real | kind_phys | in | F | +!! | dt_mf | instantaneous_atmosphere_detrainment_convective_mass_flux | (detrainment mass flux) * delt | kg m-2 | 2 | real | kind_phys | in | F | +!! | cnvw | convective_cloud_water_specific_humidity | convective cloud water specific humidity | kg kg-1 | 2 | real | kind_phys | out | F | +!! | cnvc | convective_cloud_cover | convective cloud cover | frac | 2 | real | kind_phys | out | F | +!! | Diag | FV3-GFS_Diag_type | Fortran DDT containing FV3-GFS fields targeted for diagnostic output | DDT | 0 | GFS_typedefs%GFS_diag_type | | inout | F | +!! | Tbd | FV3-GFS_Tbd_type | Fortran DDT containing FV3-GFS miscellaneous data | DDT | 0 | GFS_typedefs%GFS_tbd_type | | inout | F | !! - subroutine GFS_DCNV_generic_post_run (Grid, Model, Stateout, frain, rain1, cld1d, initial_u, initial_v, initial_t, initial_qv, & + subroutine GFS_DCNV_generic_post_run (Grid, Model, Stateout, frain, rain1, cld1d, save_u, save_v, save_t, save_qv, & ud_mf, dd_mf, dt_mf, cnvw, cnvc, Diag, Tbd) use machine, only: kind_phys @@ -93,7 +95,7 @@ subroutine GFS_DCNV_generic_post_run (Grid, Model, Stateout, frain, rain1, cld1d real(kind=kind_phys), intent(in) :: frain real(kind=kind_phys), dimension(size(Grid%xlon,1)), intent(in) :: rain1, cld1d - real(kind=kind_phys), dimension(size(Grid%xlon,1),Model%levs), intent(in) :: initial_u, initial_v, initial_t, initial_qv + real(kind=kind_phys), dimension(size(Grid%xlon,1),Model%levs), intent(in) :: save_u, save_v, save_t, save_qv real(kind=kind_phys), dimension(size(Grid%xlon,1),Model%levs), intent(in) :: ud_mf, dd_mf, dt_mf real(kind=kind_phys), dimension(size(Grid%xlon,1),Model%levs), intent(in) :: cnvw, cnvc @@ -108,10 +110,10 @@ subroutine GFS_DCNV_generic_post_run (Grid, Model, Stateout, frain, rain1, cld1d Diag%cnvprcp(:) = Diag%cnvprcp(:) + Diag%rainc(:) if (Model%ldiag3d) then - Diag%dt3dt(:,:,4) = Diag%dt3dt(:,:,4) + (Stateout%gt0(:,:)-initial_t(:,:)) * frain - Diag%dq3dt(:,:,2) = Diag%dq3dt(:,:,2) + (Stateout%gq0(:,:,1)-initial_qv(:,:)) * frain - Diag%du3dt(:,:,3) = Diag%du3dt(:,:,3) + (Stateout%gu0(:,:)-initial_u(:,:)) * frain - Diag%dv3dt(:,:,3) = Diag%dv3dt(:,:,3) + (Stateout%gv0(:,:)-initial_v(:,:)) * frain + Diag%dt3dt(:,:,4) = Diag%dt3dt(:,:,4) + (Stateout%gt0(:,:)-save_t(:,:)) * frain + Diag%dq3dt(:,:,2) = Diag%dq3dt(:,:,2) + (Stateout%gq0(:,:,1)-save_qv(:,:)) * frain + Diag%du3dt(:,:,3) = Diag%du3dt(:,:,3) + (Stateout%gu0(:,:)-save_u(:,:)) * frain + Diag%dv3dt(:,:,3) = Diag%dv3dt(:,:,3) + (Stateout%gv0(:,:)-save_v(:,:)) * frain Diag%upd_mf(:,:) = Diag%upd_mf(:,:) + ud_mf(:,:) * (con_g*frain) Diag%dwn_mf(:,:) = Diag%dwn_mf(:,:) + dd_mf(:,:) * (con_g*frain) diff --git a/physics/GFS_MP_generic_post.f90 b/physics/GFS_MP_generic_post.f90 index 1fb21fa68..0c85988fc 100644 --- a/physics/GFS_MP_generic_post.f90 +++ b/physics/GFS_MP_generic_post.f90 @@ -11,39 +11,39 @@ module GFS_MP_generic_post !> \defgroup GFS_MP_generic_post GFS MP generic post !! @{ -!!\section arg_table_GFS_MP_generic_post_init Argument Table +!! \section arg_table_GFS_MP_generic_post_init Argument Table !! subroutine GFS_MP_generic_post_init end subroutine GFS_MP_generic_post_init -!!\section arg_table_GFS_MP_generic_post_run Argument Table -!!| local var name | longname |description | units | rank | type | kind | intent | optional | -!!|----------------|--------------------------------------------------------|----------------------------------------------------------------|-------------|------|---------|-----------|--------|----------| -!!| im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | -!!| ix | horizontal_dimension | horizontal dimension | index | 0 | integer | | in | F | -!!| levs | vertical_dimension | vertical layer dimension | index | 0 | integer | | in | F | -!!| dtf | time_step_for_dynamics | dynamics time step | s | 0 | real | kind_phys | in | F | -!!| del | air_pressure_difference_between_midlayers | air pressure difference between midlayers | Pa | 2 | real | kind_phys | in | F | -!!| lssav | flag_diagnostics | logical flag for model physics diagnostics | flag | 0 | logical | | in | F | -!!| ldiag3d | flag_diagnostics_3D | logical flag for 3D diagnostics | flag | 0 | logical | | in | F | -!!| rain | total_rainfall_amount | instantaneous total precipitation at surface (APCP) | m | 1 | real | kind_phys | in | F | -!!| frain | factor_for_centered_difference_scheme | dtf/dtp; factor for centered difference scheme correction | none | 0 | real | kind_phys | in | F | -!!| ntcw | index_for_liquid_cloud_condensate | cloud condensate index in tracer array(3) | index | 0 | integer | | in | F | -!!| ncld | number_of_hydrometeors | number_of_hydrometeors(1 for Z-C) | none | 0 | integer | | in | F | -!!| cwm | cloud_condensed_water_specific_humidity | cloud condensed water specific humidity | kg kg-1 | 2 | real | kind_phys | in | F | -!!| t | air_temperature_updated_by_physics | layer mean air temperature | K | 2 | real | kind_phys | in | F | -!!| q | water_vapor_specific_humidity | water vapor specific humidity | kg kg-1 | 2 | real | kind_phys | in | F | -!!| initial_t | air_temperature_initial | air temperature before entering a physics scheme | K | 2 | real | kind_phys | in | F | -!!| initial_qv | water_vapor_specific_humidity_initial | water vapor specific humidity before entering a physics scheme | kg kg-1 | 2 | real | kind_phys | in | F | -!!| totprcp | precipitation_rate_at_surface | precipitation rate at surface | kg m-2 s-1 | 1 | real | kind_phys | inout | F | -!!| dt3dt6 | large_scale_condensate_heating_rate_at_model_layers | large scale condensate heating rate at model layers | K s-1 | 2 | real | kind_phys | inout | F | -!!| dq3dt4 | large_scale_condensate_moistening_rate_at_model_layers | large scale condensate moistening rate at model layers | kg kg-1 s-1 | 2 | real | kind_phys | inout | F | -!!| pwat | column_precipitable_water | column integrated precipitable water | kg m-2 | 1 | real | kind_phys | out | F | +!! \section arg_table_GFS_MP_generic_post_run Argument Table +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |----------------|------------------------------------------------------------|----------------------------------------------------------------|-------------|------|---------|-----------|--------|----------| +!! | im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | +!! | ix | horizontal_dimension | horizontal dimension | index | 0 | integer | | in | F | +!! | levs | vertical_dimension | vertical layer dimension | index | 0 | integer | | in | F | +!! | dtf | time_step_for_dynamics | dynamics time step | s | 0 | real | kind_phys | in | F | +!! | del | air_pressure_difference_between_midlayers | air pressure difference between midlayers | Pa | 2 | real | kind_phys | in | F | +!! | lssav | flag_diagnostics | logical flag for model physics diagnostics | flag | 0 | logical | | in | F | +!! | ldiag3d | flag_diagnostics_3D | logical flag for 3D diagnostics | flag | 0 | logical | | in | F | +!! | rain | timestep_total_rainfall_amount | total precipitation at surface (APCP) | m | 1 | real | kind_phys | in | F | +!! | frain | dynamics_to_physics_timestep_ratio | dtf/dtp, dynamics to physics timestep ratio | none | 0 | real | kind_phys | in | F | +!! | ntcw | index_for_liquid_cloud_condensate | cloud condensate index in tracer array(3) | index | 0 | integer | | in | F | +!! | ncld | number_of_hydrometeors | number_of_hydrometeors(1 for Z-C) | count | 0 | integer | | in | F | +!! | cwm | cloud_condensed_water_specific_humidity_updated_by_physics | cloud condensed water specific humidity | kg kg-1 | 2 | real | kind_phys | in | F | +!! | t | air_temperature_updated_by_physics | layer mean air temperature | K | 2 | real | kind_phys | in | F | +!! | q | water_vapor_specific_humidity_updated_by_physics | water vapor specific humidity | kg kg-1 | 2 | real | kind_phys | in | F | +!! | save_t | air_temperature_save | air temperature before entering a physics scheme | K | 2 | real | kind_phys | in | F | +!! | save_qv | water_vapor_specific_humidity_save | water vapor specific humidity before entering a physics scheme | kg kg-1 | 2 | real | kind_phys | in | F | +!! | totprcp | precipitation_rate_at_surface | precipitation rate at surface | kg m-2 s-1 | 1 | real | kind_phys | inout | F | +!! | dt3dt6 | large_scale_condensate_heating_rate_at_model_layers | large scale condensate heating rate at model layers | K s-1 | 2 | real | kind_phys | inout | F | +!! | dq3dt4 | large_scale_condensate_moistening_rate_at_model_layers | large scale condensate moistening rate at model layers | kg kg-1 s-1 | 2 | real | kind_phys | inout | F | +!! | pwat | column_precipitable_water | column integrated precipitable water | kg m-2 | 1 | real | kind_phys | out | F | !! subroutine GFS_MP_generic_post_run(im, ix, levs,dtf,del, & lssav,ldiag3d,rain,frain,ntcw,ncld,cwm, & !input - t,q,initial_t, initial_qv, & + t,q,save_t, save_qv, & totprcp, dt3dt6,dq3dt4,pwat ) ! output ! @@ -61,8 +61,8 @@ subroutine GFS_MP_generic_post_run(im, ix, levs,dtf,del, & real(kind=kind_phys),dimension(im) :: work1 real(kind=kind_phys),dimension(im), intent(in) :: rain real(kind=kind_phys),dimension(ix,levs), intent(in) :: t,q, & - cwm, del, initial_t, & - initial_qv + cwm, del, save_t, & + save_qv real(kind=kind_phys),dimension(im), intent(inout) :: totprcp real(kind=kind_phys),dimension(im), intent(out) :: pwat real(kind=kind_phys),dimension(ix,levs), intent(inout) :: & @@ -80,8 +80,8 @@ subroutine GFS_MP_generic_post_run(im, ix, levs,dtf,del, & do k = 1,levs !CCPP dt3dt6(i,k) = dt3dt6(i,k) + (t(i,k)-dtdt(i,k)) * frain !CCPP dq3dt4(i,k) = dq3dt4(i,k) + (q(i,k)-dqdt1(i,k)) * frain - dt3dt6(i,k) = dt3dt6(i,k) + (t(i,k)-initial_t(i,k)) * frain - dq3dt4(i,k) = dq3dt4(i,k) + (q(i,k)-initial_qv(i,k)) * frain + dt3dt6(i,k) = dt3dt6(i,k) + (t(i,k)-save_t(i,k)) * frain + dq3dt4(i,k) = dq3dt4(i,k) + (q(i,k)-save_qv(i,k)) * frain enddo enddo @@ -112,7 +112,7 @@ subroutine GFS_MP_generic_post_run(im, ix, levs,dtf,del, & end subroutine GFS_MP_generic_post_run -!!\setction arg_table_GFS_MP_generic_post_finalize Argument Table +!! \section arg_table_GFS_MP_generic_post_finalize Argument Table !! subroutine GFS_MP_generic_post_finalize end subroutine GFS_MP_generic_post_finalize diff --git a/physics/GFS_MP_generic_pre.f90 b/physics/GFS_MP_generic_pre.f90 index 48842a960..3425f4208 100644 --- a/physics/GFS_MP_generic_pre.f90 +++ b/physics/GFS_MP_generic_pre.f90 @@ -7,35 +7,33 @@ module GFS_MP_generic_pre !> \defgroup GFS_MP_generic_pre GFS MP generic pre !! @{ -!!\section arg_table_GFS_MP_generic_pre_init Argument Table +!! \section arg_table_GFS_MP_generic_pre_init Argument Table !! - subroutine GFS_MP_generic_pre_init + subroutine GFS_MP_generic_pre_init end subroutine GFS_MP_generic_pre_init -!!\section arg_table_GFS_MP_generic_pre_run Argument Table -!!| local var name | longname |description | units | rank | type | kind | intent | optional | -!!|----------------|--------------------------------------------------------|-----------------------------------------------------------------|-------------|------|---------|-----------|--------|----------| -!!| im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | -!!| ix | horizontal_dimension | horizontal dimension | index | 0 | integer | | in | F | -!!| levs | vertical_dimension | vertical layer dimension | index | 0 | integer | | in | F | -!!| clw1 | cloud_ice_specific_humidity | cloud ice specific humidity | kg kg-1 | 2 | real | kind_phys | in | F | -!!| clw2 | cloud_liquid_water_specific_humidity | cloud water specific humidity | kg kg-1 | 2 | real | kind_phys | in | F | -!!| ldiag3d | flag_diagnostics_3D | logical flag for 3D diagnostics | flag | 0 | logical | | in | F | -!!| ntcw | index_for_liquid_cloud_condensate | cloud condensate index in tracer array(3) | none | 0 | integer | | in | F | -!!| ncld | number_of_hydrometeors | number of hydrometeors(1 for Z-C) | none | 0 | integer | | in | F | -!!| num_p3d | array_dimension_of_microphysics | number of 3D arrays needed for microphysics | none | 0 | integer | | in | F | -!!| t | air_temperature_updated_by_physics | layer mean air temperature | K | 2 | real | kind_phys | in | F | -!!| q | water_vapor_specific_humidity_updated_by_physics | water vapor specific humidity | kg kg-1 | 2 | real | kind_phys | in | F | -!!| initial_t | air_temperature_initial | air temperature before entering a physics scheme | K | 2 | real | kind_phys | out | F | -!!| initial_qv | water_vapor_specific_humidity_initial | water vapor specific humidity before entering a physics scheme | kg kg-1 | 2 | real | kind_phys | out | F | -!!| dqdt3 | cloud_condensed_water_specific_humidity | cloud condensed water specific humidity | kg kg-1 | 2 | real | kind_phys | out | F | +!> \section arg_table_GFS_MP_generic_pre_run Argument Table +!! | local var name | longname |description | units | rank | type | kind | intent | optional | +!! |----------------|------------------------------------------------------------|--------------------------------------------------------------------------|-------------|------|---------|-----------|--------|----------| +!! | im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | +!! | ix | horizontal_dimension | horizontal dimension | index | 0 | integer | | in | F | +!! | levs | vertical_dimension | vertical layer dimension | index | 0 | integer | | in | F | +!! | clw1 | cloud_ice_specific_humidity | cloud ice specific humidity | kg kg-1 | 2 | real | kind_phys | in | F | +!! | clw2 | cloud_liquid_water_specific_humidity | cloud water specific humidity | kg kg-1 | 2 | real | kind_phys | in | F | +!! | ldiag3d | flag_diagnostics_3D | logical flag for 3D diagnostics | flag | 0 | logical | | in | F | +!! | ntcw | index_for_liquid_cloud_condensate | cloud condensate index in tracer array(3) | index | 0 | integer | | in | F | +!! | ncld | number_of_hydrometeors | number of hydrometeors(1 for Z-C) | count | 0 | integer | | in | F | +!! | num_p3d | array_dimension_of_microphysics | number of 3D arrays needed for microphysics | count | 0 | integer | | in | F | +!! | t | air_temperature_updated_by_physics | layer mean air temperature | K | 2 | real | kind_phys | in | F | +!! | q | water_vapor_specific_humidity_updated_by_physics | water vapor specific humidity | kg kg-1 | 2 | real | kind_phys | in | F | +!! | save_t | air_temperature_save | air temperature before entering a physics scheme | K | 2 | real | kind_phys | out | F | +!! | save_qv | water_vapor_specific_humidity_save | water vapor specific humidity before entering a physics scheme | kg kg-1 | 2 | real | kind_phys | out | F | +!! | save_qcw | cloud_condensed_water_specific_humidity_save | cloud condensed water specific humidity before entering a physics scheme | kg kg-1 | 2 | real | kind_phys | out | F | !! subroutine GFS_MP_generic_pre_run(im, ix, levs, clw1, clw2, & ldiag3d, ntcw, ncld, num_p3d, t, q, & !input - initial_t, initial_qv, dqdt3 ) -! dtdt,dqdt1, dqdt3) !output - + save_t, save_qv, save_qcw ) ! use machine, only: kind_phys use physcons, only: con_g @@ -50,15 +48,15 @@ subroutine GFS_MP_generic_pre_run(im, ix, levs, clw1, clw2, & real(kind=kind_phys),dimension(ix,levs), intent(in) :: t,q, & clw1,clw2 real(kind=kind_phys),dimension(ix,levs), intent(out) :: & - initial_t, initial_qv, dqdt3 + save_t, save_qv, save_qcw if (ldiag3d) then do i = 1, im do k = 1, levs !CCPP dtdt(i,k) = t(i,k) !CCPP dqdt1(i,k) = q(i,k) - initial_t(i,k) = t(i,k) - initial_qv(i,k) = q(i,k) + save_t(i,k) = t(i,k) + save_qv(i,k) = q(i,k) enddo end do !in FV3GFS v0 OP: ntcw=3, ncld=1, num_p3d=4, ntrac=3 @@ -66,7 +64,8 @@ subroutine GFS_MP_generic_pre_run(im, ix, levs, clw1, clw2, & if (n == ntcw .and. num_p3d == 4 ) then do i = 1, im do k = 1, levs - dqdt3(i,k) = clw1(i,k)+clw2(i,k) ! + !CCPP dqdt3(i,k) = clw1(i,k)+clw2(i,k) ! + save_qcw(i,k) = clw1(i,k)+clw2(i,k) enddo enddo endif @@ -76,7 +75,7 @@ subroutine GFS_MP_generic_pre_run(im, ix, levs, clw1, clw2, & end subroutine GFS_MP_generic_pre_run -!!\setction arg_table_GFS_MP_generic_pre_finalize Argument Table +!> \section arg_table_GFS_MP_generic_pre_finalize Argument Table !! subroutine GFS_MP_generic_pre_finalize end subroutine GFS_MP_generic_pre_finalize diff --git a/physics/GFS_PBL_generic.f90 b/physics/GFS_PBL_generic.f90 index de15fd0a4..f38d550e0 100644 --- a/physics/GFS_PBL_generic.f90 +++ b/physics/GFS_PBL_generic.f90 @@ -55,7 +55,7 @@ end subroutine GFS_PBL_generic_post_finalize !! | dvdt | tendency_of_y_wind_due_to_model_physics | updated tendency of the y wind | m s-2 | 2 | real | kind_phys | in | F | !! | dtdt | tendency_of_air_temperature_due_to_model_physics | updated tendency of the temperature | K s-1 | 2 | real | kind_phys | in | F | !! | dqdt | tendency_of_tracers_due_to_model_physics | updated tendency of the tracers | kg kg-1 s-1 | 3 | real | kind_phys | in | F | -!! | xmu | zenith_angle_temporal_adjustment_factor_for_shortwave_fluxes | zenith angle temporal adjustment factor for shortwave fluxes | none | 2 | real | kind_phys | in | F | +!! | xmu | zenith_angle_temporal_adjustment_factor_for_shortwave_fluxes | zenith angle temporal adjustment factor for shortwave fluxes | none | 1 | real | kind_phys | in | F | !! | Diag | FV3-GFS_Diag_type | Fortran DDT containing FV3-GFS fields targeted for diagnostic output | DDT | 0 | GFS_typedefs%GFS_diag_type | | in | F | !! subroutine GFS_PBL_generic_post_run (Grid, Model, Radtend, dusfc1, dvsfc1, dtsfc1, dqsfc1, & diff --git a/physics/GFS_RRTMG_post.f90 b/physics/GFS_RRTMG_post.f90 index 8741b1ad8..7285b05ba 100644 --- a/physics/GFS_RRTMG_post.f90 +++ b/physics/GFS_RRTMG_post.f90 @@ -5,33 +5,33 @@ module GFS_RRTMG_post !>\defgroup GFS_RRTMG_post GFS RRTMG Scheme Post !! @{ -!>\section arg_table_GFS_RRTMG_post_init Argument Table +!> \section arg_table_GFS_RRTMG_post_init Argument Table !! subroutine GFS_RRTMG_post_init () end subroutine GFS_RRTMG_post_init -!>\section arg_table_GFS_RRTMG_post_run Argument Table -!!| local var name | longname | description | units | rank | type | kind | intent | optional | -!!|-------------------|---------------------------------------------------------------|-------------------------------------------------------------------------------|----------|------|-------------------------------|-----------|--------|----------| -!!| Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | -!!| Grid | FV3-GFS_Grid_type | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 0 | GFS_typedefs%GFS_grid_type | | in | F | -!!| Diag | FV3-GFS_Diag_type | Fortran DDT containing FV3-GFS diagnotics data | DDT | 0 | GFS_typedefs%GFS_diag_type | | inout | F | -!!| Radtend | FV3-GFS_Radtend_type | Fortran DDT containing FV3-GFS radiation tendencies | DDT | 0 | GFS_typedefs%GFS_radtend_type | | in | F | -!!| Statein | FV3-GFS_Stateout_type | Fortran DDT containing FV3-GFS prognostic state data in from dycore | DDT | 0 | GFS_typedefs%GFS_stateout_type| | in | F | -!!| Coupling | FV3-GFS_Coupling_type | Fortran DDT containing FV3-GFS fields to/from coupling with other components | DDT | 0 | GFS_typedefs%GFS_coupling_type| | inout | F | -!!| scmpsw | surface_downward_shortwave_flux_type | derived type for special components of surface downward shortwave fluxes | W m-2 | 1 | cmpfsw_type | | in | F | -!!| im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | -!!| lm | vertical_layer_dimension_for_radiation | number of vertical layers for radiation calculation | index | 0 | integer | | in | F | -!!| ltp | extra_top_layer | extra top layers | none | 0 | integer | | in | F | -!!| kt | vertical_index_difference_between_layer_and_upper_bound | vertical index difference between layer and upper bound | index | 0 | integer | | in | F | -!!| kb | vertical_index_difference_between_layer_and_lower_bound | vertical index difference between layer and lower bound | index | 0 | integer | | in | F | -!!| kd | vertical_index_difference_between_in-out_and_local | vertical index difference between in/out and local | index | 0 | integer | | in | F | -!!| raddt | time_step_for_radiation | radiation time step | s | 0 | real | kind_phys | in | F | -!!| aerodp | atmosphere_optical_thickness_due_to_ambient_aerosol_particals | vertical integrated optical depth for various aerosol species | none | 2 | real | kind_phys | in | F | -!!| cldsa | cloud_area_fraction | fraction of clouds for low, middle, high, total and BL | frac | 2 | real | kind_phys | in | F | -!!| mtopa | model_layer_number_at_cloud_top | vertical indices for low, middle and high cloud tops | index | 2 | integer | | in | F | -!!| mbota | model_layer_number_at_cloud_base | vertical indices for low, middle and high cloud bases | index | 2 | integer | | in | F | -!!| clouds1 | total_cloud_fraction | layer total cloud fraction | frac | 2 | real | kind_phys | in | F | +!> \section arg_table_GFS_RRTMG_post_run Argument Table +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |-------------------|---------------------------------------------------------------|-------------------------------------------------------------------------------|----------|------|-------------------------------|-----------|--------|----------| +!! | Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | +!! | Grid | FV3-GFS_Grid_type | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 0 | GFS_typedefs%GFS_grid_type | | in | F | +!! | Diag | FV3-GFS_Diag_type | Fortran DDT containing FV3-GFS diagnotics data | DDT | 0 | GFS_typedefs%GFS_diag_type | | inout | F | +!! | Radtend | FV3-GFS_Radtend_type | Fortran DDT containing FV3-GFS radiation tendencies | DDT | 0 | GFS_typedefs%GFS_radtend_type | | in | F | +!! | Statein | FV3-GFS_Statein_type | Fortran DDT containing FV3-GFS prognostic state data in from dycore | DDT | 0 | GFS_typedefs%GFS_statein_type | | in | F | +!! | Coupling | FV3-GFS_Coupling_type | Fortran DDT containing FV3-GFS fields to/from coupling with other components | DDT | 0 | GFS_typedefs%GFS_coupling_type| | inout | F | +!! | scmpsw | components_of_surface_downward_shortwave_fluxes | derived type for special components of surface downward shortwave fluxes | W m-2 | 1 | cmpfsw_type | | in | F | +!! | im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | +!! | lm | vertical_layer_dimension_for_radiation | number of vertical layers for radiation calculation | index | 0 | integer | | in | F | +!! | ltp | extra_top_layer | extra top layers | none | 0 | integer | | in | F | +!! | kt | vertical_index_difference_between_layer_and_upper_bound | vertical index difference between layer and upper bound | index | 0 | integer | | in | F | +!! | kb | vertical_index_difference_between_layer_and_lower_bound | vertical index difference between layer and lower bound | index | 0 | integer | | in | F | +!! | kd | vertical_index_difference_between_in-out_and_local | vertical index difference between in/out and local | index | 0 | integer | | in | F | +!! | raddt | time_step_for_radiation | radiation time step | s | 0 | real | kind_phys | in | F | +!! | aerodp | atmosphere_optical_thickness_due_to_ambient_aerosol_particals | vertical integrated optical depth for various aerosol species | none | 2 | real | kind_phys | in | F | +!! | cldsa | cloud_area_fraction_for_radiation | fraction of clouds for low, middle, high, total and BL | frac | 2 | real | kind_phys | in | F | +!! | mtopa | model_layer_number_at_cloud_top | vertical indices for low, middle and high cloud tops | index | 2 | integer | | in | F | +!! | mbota | model_layer_number_at_cloud_base | vertical indices for low, middle and high cloud bases | index | 2 | integer | | in | F | +!! | clouds1 | total_cloud_fraction | layer total cloud fraction | frac | 2 | real | kind_phys | in | F | !! subroutine GFS_RRTMG_post_run (Model, Grid, Diag, Radtend, Statein, & Coupling, scmpsw, im, lm, ltp, kt, kb, kd, raddt, aerodp, & @@ -164,7 +164,7 @@ subroutine GFS_RRTMG_post_run (Model, Grid, Diag, Radtend, Statein, & ! end subroutine GFS_RRTMG_post_run -!>\section arg_table_GFS_RRTMG_post_finalize Argument Table +!> \section arg_table_GFS_RRTMG_post_finalize Argument Table !! subroutine GFS_RRTMG_post_finalize () end subroutine GFS_RRTMG_post_finalize diff --git a/physics/GFS_RRTMG_pre.f90 b/physics/GFS_RRTMG_pre.f90 index 547a15d5e..ef9b043d9 100644 --- a/physics/GFS_RRTMG_pre.f90 +++ b/physics/GFS_RRTMG_pre.f90 @@ -8,68 +8,68 @@ module GFS_RRTMG_pre !> \defgroup GFS_RRTMG_pre GFS RRTMG Scheme Pre !! @{ -!!\section arg_table_GFS_RRTMG_pre_init Argument Table +!! \section arg_table_GFS_RRTMG_pre_init Argument Table !! subroutine GFS_RRTMG_pre_init () - end subroutine GFS_RRTMG_pre_init - -!!\section arg_table_GFS_RRTMG_pre_run Argument Table -!!| local var name | longname | description | units | rank | type | kind | intent | optional | -!!|-------------------|---------------------------------------------------------------|-------------------------------------------------------------------------------|----------|------|-------------------------------|-----------|--------|----------| -!!| Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | -!!| Grid | FV3-GFS_Grid_type | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 0 | GFS_typedefs%GFS_grid_type | | in | F | -!!| Sfcprop | FV3-GFS_Sfcprop_type | Fortran DDT containing FV3-GFS surface fields | DDT | 0 | GFS_typedefs%GFS_sfcprop_type | | in | F | -!!| Statein | FV3-GFS_Stateout_type | Fortran DDT containing FV3-GFS prognostic state data in from dycore | DDT | 0 | GFS_typedefs%GFS_stateout_type| | in | F | -!!| Tbd | FV3-GFS_Tbd_type | Fortran DDT containing FV3-GFS data not yet assigned to a defined container | DDT | 0 | GFS_typedefs%GFS_tbd_type | | in | F | -!!| Cldprop | FV3-GFS_Cldprop_type | Fortran DDT containing FV3-GFS cloud fields needed by radiation from physics | DDT | 0 | GFS_typedefs%GFS_cldprop_type | | in | F | -!!| Radtend | FV3-GFS_Radtend_type | Fortran DDT containing FV3-GFS radiation tendencies | DDT | 0 | GFS_typedefs%GFS_radtend_type | | in | F | -!!| lm | vertical_layer_dimension_for_radiation | number of vertical layers for radiation calculation | index | 0 | integer | | out | F | -!!| im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | out | F | -!!| lmk | vertical_layer_dimension_with_extra_top_layer | number of vertical layers with extra top layer | index | 0 | integer | | out | F | -!!| lmp | vertical_level_dimension_with_extra_top_layer | number of vertical levels with extra top layer | index | 0 | integer | | out | F | -!!| kd | vertical_index_difference_between_in-out_and_local | vertical index difference between in/out and local | index | 0 | integer | | out | F | -!!| kt | vertical_index_difference_between_layer_and_upper_bound | vertical index difference between layer and upper bound | index | 0 | integer | | out | F | -!!| kb | vertical_index_difference_between_layer_and_lower_bound | vertical index difference between layer and lower bound | index | 0 | integer | | out | F | -!!| raddt | time_step_for_radiation | radiation time step | s | 0 | real | kind_phys | out | F | -!!| plvl | air_pressure_at_interface_for_radiation | air pressure at vertical interface for radiation calculation | mb | 2 | real | kind_phys | out | F | -!!| plyr | air_pressure_at_layer_for_radiation | air pressure at vertical layer for radiation calculation | mb | 2 | real | kind_phys | out | F | -!!| tlvl | air_temperature_at_interface_for_radiation | air temperature at vertical interface for radiation calculation | K | 2 | real | kind_phys | out | F | -!!| tlyr | air_temperature_at_layer_for_radiation | air temperature at vertical layer for radiation calculation | K | 2 | real | kind_phys | out | F | -!!| tsfg | surface_ground_temperature_for_radiation | surface ground temperature | K | 1 | real | kind_phys | out | F | -!!| tsfa | surface_air_temperature_for_radiation | lowest model layer air temperature for radiation | K | 1 | real | kind_phys | out | F | -!!| qlyr | water_vapor_specific_humidity_at_layer_for_radiation | water vapor specific humidity at vertical layer for radiation calculation | kg kg-1 | 2 | real | kind_phys | out | F | -!!| nday | daytime_points_dimension | daytime points dimension | index | 0 | integer | | out | F | -!!| idxday | daytime_points | daytime points | none | 1 | integer | | out | F | -!!| olyr | ozone_mixing_ratio_for_radiation | ozone mixing ratio | gm gm-1 | 2 | real | kind_phys | out | F | -!!| gasvmr_co2 | volume_mixing_ratio_of_co2 | CO2 volumic mixing ratio | gm gm-1 | 2 | real | kind_phys | out | F | -!!| gasvmr_n2o | volume_mixing_ratio_of_n2o | N2O volumic mixing ratio | gm gm-1 | 2 | real | kind_phys | out | F | -!!| gasvmr_ch4 | volume_mixing_ratio_of_ch4 | CH4 volumic mixing ratio | gm gm-1 | 2 | real | kind_phys | out | F | -!!| gasvmr_o2 | volume_mixing_ratio_of_o2 | O2 volumic mixing ratio | gm gm-1 | 2 | real | kind_phys | out | F | -!!| gasvmr_co | volume_mixing_ratio_of_co | CO volumic mixing ratio | gm gm-1 | 2 | real | kind_phys | out | F | -!!| gasvmr_cfc11 | volume_mixing_ratio_of_cfc11 | CFC11 volumic mixing ratio | gm gm-1 | 2 | real | kind_phys | out | F | -!!| gasvmr_cfc12 | volume_mixing_ratio_of_cfc12 | CFC12 volumic mixing ratio | gm gm-1 | 2 | real | kind_phys | out | F | -!!| gasvmr_cfc22 | volume_mixing_ratio_of_cfc22 | CFC22 volumic mixing ratio | gm gm-1 | 2 | real | kind_phys | out | F | -!!| gasvmr_ccl4 | volume_mixing_ratio_of_ccl4 | CCL4 volumic mixing ratio | gm gm-1 | 2 | real | kind_phys | out | F | -!!| gasvmr_cfc113 | volume_mixing_ratio_of_cfc113 | CFC113 volumic mixing ratio | gm gm-1 | 2 | real | kind_phys | out | F | -!!| faersw1 | aerosol_optical_depth_for_shortwave_bands_01-16 | aerosol optical depth for shortwave bands 01-16 | none | 3 | real | kind_phys | out | F | -!!| faersw2 | aerosol_single_scattering_albedo_for_shortwave_bands_01-16 | aerosol single scattering albedo for shortwave bands 01-16 | none | 3 | real | kind_phys | out | F | -!!| faersw3 | aerosol_asymmetry_parameter_for_shortwave_bands_01-16 | aerosol asymmetry parameter for shortwave bands 01-16 | none | 3 | real | kind_phys | out | F | -!!| faerlw1 | aerosol_optical_depth_for_longwave_bands_01-16 | aerosol optical depth for longwave bands 01-16 | none | 3 | real | kind_phys | out | F | -!!| faerlw2 | aerosol_single_scattering_albedo_for_longwave_bands_01-16 | aerosol single scattering albedo for longwave bands 01-16 | none | 3 | real | kind_phys | out | F | -!!| faerlw3 | aerosol_asymmetry_parameter_for_longwave_bands_01-16 | aerosol asymmetry parameter for longwave bands 01-16 | none | 3 | real | kind_phys | out | F | -!!| aerodp | atmosphere_optical_thickness_due_to_ambient_aerosol_particals | vertical integrated optical depth for various aerosol species | none | 2 | real | kind_phys | out | F | -!!| clouds1 | total_cloud_fraction | layer total cloud fraction | frac | 2 | real | kind_phys | out | F | -!!| clouds2 | cloud_liquid_water_path | layer cloud liquid water path | g m-2 | 2 | real | kind_phys | out | F | -!!| clouds3 | mean_effective_radius_for_liquid_cloud | mean effective radius for liquid cloud | micron | 2 | real | kind_phys | out | F | -!!| clouds4 | cloud_ice_water_path | layer cloud ice water path | g m-2 | 2 | real | kind_phys | out | F | -!!| clouds5 | mean_effective_radius_for_ice_cloud | mean effective radius for ice cloud | micron | 2 | real | kind_phys | out | F | -!!| clouds6 | rain_water_path | layer rain drop water path | g m-2 | 2 | real | kind_phys | out | F | -!!| clouds7 | mean_effective_radius_for_rain_drop | mean effective radius for rain drop | micron | 2 | real | kind_phys | out | F | -!!| clouds8 | snow_water_path | layer snow flake water path | g m-2 | 2 | real | kind_phys | out | F | -!!| clouds9 | mean_effective_radius_for_snow_flake | mean effective radius for snow flake | micron | 2 | real | kind_phys | out | F | -!!| cldsa | cloud_area_fraction | fraction of clouds for low, middle,high, total and bl (IX,5) | frac | 2 | real | kind_phys | out | F | -!!| mtopa | model_layer_number_at_cloud_top | vertical indices for low, middle and high cloud tops | index | 2 | integer | | out | F | -!!| mbota | model_layer_number_at_cloud_base | vertical indices for low, middle and high cloud bases | index | 2 | integer | | out | F | + end subroutine GFS_RRTMG_pre_init + +!> \section arg_table_GFS_RRTMG_pre_run Argument Table +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |-------------------|---------------------------------------------------------------|-------------------------------------------------------------------------------|----------|------|-------------------------------|-----------|--------|----------| +!! | Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | +!! | Grid | FV3-GFS_Grid_type | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 0 | GFS_typedefs%GFS_grid_type | | in | F | +!! | Sfcprop | FV3-GFS_Sfcprop_type | Fortran DDT containing FV3-GFS surface fields | DDT | 0 | GFS_typedefs%GFS_sfcprop_type | | in | F | +!! | Statein | FV3-GFS_Statein_type | Fortran DDT containing FV3-GFS prognostic state data in from dycore | DDT | 0 | GFS_typedefs%GFS_statein_type | | in | F | +!! | Tbd | FV3-GFS_Tbd_type | Fortran DDT containing FV3-GFS data not yet assigned to a defined container | DDT | 0 | GFS_typedefs%GFS_tbd_type | | in | F | +!! | Cldprop | FV3-GFS_Cldprop_type | Fortran DDT containing FV3-GFS cloud fields needed by radiation from physics | DDT | 0 | GFS_typedefs%GFS_cldprop_type | | in | F | +!! | Radtend | FV3-GFS_Radtend_type | Fortran DDT containing FV3-GFS radiation tendencies | DDT | 0 | GFS_typedefs%GFS_radtend_type | | in | F | +!! | lm | vertical_layer_dimension_for_radiation | number of vertical layers for radiation calculation | index | 0 | integer | | out | F | +!! | im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | out | F | +!! | lmk | adjusted_vertical_layer_dimension_for_radiation | number of vertical layers for radiation | index | 0 | integer | | out | F | +!! | lmp | adjusted_vertical_level_dimension_for_radiation | number of vertical levels for radiation | index | 0 | integer | | out | F | +!! | kd | vertical_index_difference_between_in-out_and_local | vertical index difference between in/out and local | index | 0 | integer | | out | F | +!! | kt | vertical_index_difference_between_layer_and_upper_bound | vertical index difference between layer and upper bound | index | 0 | integer | | out | F | +!! | kb | vertical_index_difference_between_layer_and_lower_bound | vertical index difference between layer and lower bound | index | 0 | integer | | out | F | +!! | raddt | time_step_for_radiation | radiation time step | s | 0 | real | kind_phys | out | F | +!! | plvl | air_pressure_at_interface_for_radiation_in_hPa | air pressure at vertical interface for radiation calculation | hPa | 2 | real | kind_phys | out | F | +!! | plyr | air_pressure_at_layer_for_radiation_in_hPa | air pressure at vertical layer for radiation calculation | hPa | 2 | real | kind_phys | out | F | +!! | tlvl | air_temperature_at_interface_for_radiation | air temperature at vertical interface for radiation calculation | K | 2 | real | kind_phys | out | F | +!! | tlyr | air_temperature_at_layer_for_radiation | air temperature at vertical layer for radiation calculation | K | 2 | real | kind_phys | out | F | +!! | tsfg | surface_ground_temperature_for_radiation | surface ground temperature for radiation | K | 1 | real | kind_phys | out | F | +!! | tsfa | surface_air_temperature_for_radiation | lowest model layer air temperature for radiation | K | 1 | real | kind_phys | out | F | +!! | qlyr | water_vapor_specific_humidity_at_layer_for_radiation | water vapor specific humidity at vertical layer for radiation calculation | kg kg-1 | 2 | real | kind_phys | out | F | +!! | nday | daytime_points_dimension | daytime points dimension | index | 0 | integer | | out | F | +!! | idxday | daytime_points | daytime points | count | 1 | integer | | out | F | +!! | olyr | ozone_concentration_at_layer_for_radiation | ozone concentration | kg kg-1 | 2 | real | kind_phys | out | F | +!! | gasvmr_co2 | volume_mixing_ratio_co2 | CO2 volume mixing ratio | kg kg-1 | 2 | real | kind_phys | out | F | +!! | gasvmr_n2o | volume_mixing_ratio_n2o | N2O volume mixing ratio | kg kg-1 | 2 | real | kind_phys | out | F | +!! | gasvmr_ch4 | volume_mixing_ratio_ch4 | CH4 volume mixing ratio | kg kg-1 | 2 | real | kind_phys | out | F | +!! | gasvmr_o2 | volume_mixing_ratio_o2 | O2 volume mixing ratio | kg kg-1 | 2 | real | kind_phys | out | F | +!! | gasvmr_co | volume_mixing_ratio_co | CO volume mixing ratio | kg kg-1 | 2 | real | kind_phys | out | F | +!! | gasvmr_cfc11 | volume_mixing_ratio_cfc11 | CFC11 volume mixing ratio | kg kg-1 | 2 | real | kind_phys | out | F | +!! | gasvmr_cfc12 | volume_mixing_ratio_cfc12 | CFC12 volume mixing ratio | kg kg-1 | 2 | real | kind_phys | out | F | +!! | gasvmr_cfc22 | volume_mixing_ratio_cfc22 | CFC22 volume mixing ratio | kg kg-1 | 2 | real | kind_phys | out | F | +!! | gasvmr_ccl4 | volume_mixing_ratio_ccl4 | CCL4 volume mixing ratio | kg kg-1 | 2 | real | kind_phys | out | F | +!! | gasvmr_cfc113 | volume_mixing_ratio_cfc113 | CFC113 volume mixing ratio | kg kg-1 | 2 | real | kind_phys | out | F | +!! | faersw1 | aerosol_optical_depth_for_shortwave_bands_01-16 | aerosol optical depth for shortwave bands 01-16 | none | 3 | real | kind_phys | out | F | +!! | faersw2 | aerosol_single_scattering_albedo_for_shortwave_bands_01-16 | aerosol single scattering albedo for shortwave bands 01-16 | frac | 3 | real | kind_phys | out | F | +!! | faersw3 | aerosol_asymmetry_parameter_for_shortwave_bands_01-16 | aerosol asymmetry parameter for shortwave bands 01-16 | none | 3 | real | kind_phys | out | F | +!! | faerlw1 | aerosol_optical_depth_for_longwave_bands_01-16 | aerosol optical depth for longwave bands 01-16 | none | 3 | real | kind_phys | out | F | +!! | faerlw2 | aerosol_single_scattering_albedo_for_longwave_bands_01-16 | aerosol single scattering albedo for longwave bands 01-16 | frac | 3 | real | kind_phys | out | F | +!! | faerlw3 | aerosol_asymmetry_parameter_for_longwave_bands_01-16 | aerosol asymmetry parameter for longwave bands 01-16 | none | 3 | real | kind_phys | out | F | +!! | aerodp | atmosphere_optical_thickness_due_to_ambient_aerosol_particals | vertical integrated optical depth for various aerosol species | none | 2 | real | kind_phys | out | F | +!! | clouds1 | total_cloud_fraction | layer total cloud fraction | frac | 2 | real | kind_phys | out | F | +!! | clouds2 | cloud_liquid_water_path | layer cloud liquid water path | g m-2 | 2 | real | kind_phys | out | F | +!! | clouds3 | mean_effective_radius_for_liquid_cloud | mean effective radius for liquid cloud | micron | 2 | real | kind_phys | out | F | +!! | clouds4 | cloud_ice_water_path | layer cloud ice water path | g m-2 | 2 | real | kind_phys | out | F | +!! | clouds5 | mean_effective_radius_for_ice_cloud | mean effective radius for ice cloud | micron | 2 | real | kind_phys | out | F | +!! | clouds6 | cloud_rain_water_path | cloud rain water path | g m-2 | 2 | real | kind_phys | out | F | +!! | clouds7 | mean_effective_radius_for_rain_drop | mean effective radius for rain drop | micron | 2 | real | kind_phys | out | F | +!! | clouds8 | cloud_snow_water_path | cloud snow water path | g m-2 | 2 | real | kind_phys | out | F | +!! | clouds9 | mean_effective_radius_for_snow_flake | mean effective radius for snow flake | micron | 2 | real | kind_phys | out | F | +!! | cldsa | cloud_area_fraction_for_radiation | fraction of clouds for low, middle,high, total and BL | frac | 2 | real | kind_phys | out | F | +!! | mtopa | model_layer_number_at_cloud_top | vertical indices for low, middle and high cloud tops | index | 2 | integer | | out | F | +!! | mbota | model_layer_number_at_cloud_base | vertical indices for low, middle and high cloud bases | index | 2 | integer | | out | F | !! subroutine GFS_RRTMG_pre_run (Model, Grid, Sfcprop, Statein, & ! input Tbd, Cldprop, Radtend, & @@ -600,7 +600,7 @@ subroutine GFS_RRTMG_pre_run (Model, Grid, Sfcprop, Statein, & ! input end subroutine GFS_RRTMG_pre_run -!!\section arg_table_GFS_RRTMG_pre_finalize Argument Table +!> \section arg_table_GFS_RRTMG_pre_finalize Argument Table !! subroutine GFS_RRTMG_pre_finalize () end subroutine GFS_RRTMG_pre_finalize diff --git a/physics/GFS_SCNV_generic.f90 b/physics/GFS_SCNV_generic.f90 index f504d892e..2417200cd 100644 --- a/physics/GFS_SCNV_generic.f90 +++ b/physics/GFS_SCNV_generic.f90 @@ -17,10 +17,10 @@ end subroutine GFS_SCNV_generic_pre_finalize !! | Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | !! | Stateout | FV3-GFS_Stateout_type | Fortran DDT containing FV3-GFS prognostic state to return to dycore | DDT | 0 | GFS_typedefs%GFS_stateout_type| | in | F | !! | Grid | FV3-GFS_Grid_type | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 0 | GFS_typedefs%GFS_grid_type | | in | F | -!! | initial_t | air_temperature_initial | air temperature before entering a physics scheme | K | 2 | real | kind_phys | inout | F | -!! | initial_qv | water_vapor_specific_humidity_initial | water vapor specific humidity before entering a physics scheme | kg kg-1 | 2 | real | kind_phys | inout | F | +!! | save_t | air_temperature_save | air temperature before entering a physics scheme | K | 2 | real | kind_phys | inout | F | +!! | save_qv | water_vapor_specific_humidity_save | water vapor specific humidity before entering a physics scheme | kg kg-1 | 2 | real | kind_phys | inout | F | !! - subroutine GFS_SCNV_generic_pre_run (Model, Stateout, Grid, initial_t, initial_qv) + subroutine GFS_SCNV_generic_pre_run (Model, Stateout, Grid, save_t, save_qv) use machine, only: kind_phys use GFS_typedefs, only: GFS_control_type, GFS_stateout_type, GFS_grid_type @@ -28,13 +28,13 @@ subroutine GFS_SCNV_generic_pre_run (Model, Stateout, Grid, initial_t, initial_q type(GFS_control_type), intent(in) :: Model type(GFS_stateout_type), intent(in) :: Stateout type(GFS_grid_type), intent(in) :: Grid - real(kind=kind_phys), dimension(size(Grid%xlon,1),Model%levs), intent(inout) :: initial_t, initial_qv + real(kind=kind_phys), dimension(size(Grid%xlon,1),Model%levs), intent(inout) :: save_t, save_qv if (Model%ldiag3d) then - initial_t(:,:) = Stateout%gt0(:,:) + save_t(:,:) = Stateout%gt0(:,:) endif if (Model%ldiag3d .or. Model%lgocart) then - initial_qv(:,:) = Stateout%gq0(:,:,1) + save_qv(:,:) = Stateout%gq0(:,:,1) endif end subroutine GFS_SCNV_generic_pre_run @@ -57,13 +57,13 @@ end subroutine GFS_SCNV_generic_post_finalize !! | Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | !! | Stateout | FV3-GFS_Stateout_type | Fortran DDT containing FV3-GFS prognostic state to return to dycore | DDT | 0 | GFS_typedefs%GFS_stateout_type| | in | F | !! | Grid | FV3-GFS_Grid_type | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 0 | GFS_typedefs%GFS_grid_type | | in | F | -!! | initial_t | air_temperature_initial | air temperature before entering a physics scheme | K | 2 | real | kind_phys | in | F | -!! | initial_qv | water_vapor_specific_humidity_initial | water vapor specific humidity before entering a physics scheme | kg kg-1 | 2 | real | kind_phys | in | F | +!! | save_t | air_temperature_save | air temperature before entering a physics scheme | K | 2 | real | kind_phys | in | F | +!! | save_qv | water_vapor_specific_humidity_save | water vapor specific humidity before entering a physics scheme | kg kg-1 | 2 | real | kind_phys | in | F | !! | frain | dynamics_to_physics_timestep_ratio | ratio of dynamics timestep to physics timestep | none | 0 | real | kind_phys | in | F | !! | Diag | FV3-GFS_Diag_type | Fortran DDT containing FV3-GFS fields targeted for diagnostic output | DDT | 0 | GFS_typedefs%GFS_diag_type | | inout | F | !! | clw | convective_transportable_tracers | array to contain cloud water and other convective trans. tracers | kg kg-1 | 3 | real | kind_phys | inout | F | !! - subroutine GFS_SCNV_generic_post_run (Model, Stateout, Grid, initial_t, initial_qv, frain, Diag, clw) + subroutine GFS_SCNV_generic_post_run (Model, Stateout, Grid, save_t, save_qv, frain, Diag, clw) use machine, only: kind_phys use GFS_typedefs, only: GFS_grid_type, GFS_control_type, GFS_stateout_type, GFS_diag_type @@ -75,7 +75,7 @@ subroutine GFS_SCNV_generic_post_run (Model, Stateout, Grid, initial_t, initial_ real(kind=kind_phys), intent(in) :: frain - real(kind=kind_phys), dimension(size(Grid%xlon,1),Model%levs), intent(in) :: initial_t, initial_qv + real(kind=kind_phys), dimension(size(Grid%xlon,1),Model%levs), intent(in) :: save_t, save_qv real(kind=kind_phys), intent(inout) :: clw(:,:,:) @@ -83,8 +83,8 @@ subroutine GFS_SCNV_generic_post_run (Model, Stateout, Grid, initial_t, initial_ if (Model%lssav) then if (Model%ldiag3d) then - Diag%dt3dt(:,:,5) = Diag%dt3dt(:,:,5) + (Stateout%gt0(:,:)-initial_t(:,:)) * frain - Diag%dq3dt(:,:,3) = Diag%dq3dt(:,:,3) + (Stateout%gq0(:,:,1)-initial_qv(:,:)) * frain + Diag%dt3dt(:,:,5) = Diag%dt3dt(:,:,5) + (Stateout%gt0(:,:)-save_t(:,:)) * frain + Diag%dq3dt(:,:,3) = Diag%dq3dt(:,:,3) + (Stateout%gq0(:,:,1)-save_qv(:,:)) * frain endif endif ! end if_lssav ! diff --git a/physics/GFS_calpreciptype.f90 b/physics/GFS_calpreciptype.f90 index 9a70e4601..a20d134fb 100644 --- a/physics/GFS_calpreciptype.f90 +++ b/physics/GFS_calpreciptype.f90 @@ -5,41 +5,41 @@ module GFS_calpreciptype contains -!>\section arg_table_GFS_calpreciptype_init Argument Table +!> \section arg_table_GFS_calpreciptype_init Argument Table !! subroutine GFS_calpreciptype_init end subroutine GFS_calpreciptype_init -!!\section arg_table_GFS_calpreciptype_run Argument Table -!!| local var name | longname |description | units | rank | type | kind | intent | optional | -!!|----------------|---------------------------------------------------|----------------------------------------------------------|---------|------|---------|-----------|--------|----------| -!!| kdt | index_of_time_step | current time step index | index | 0 | integer | | in | F | -!!| nrcm | array_dimension_of_random_number | second dimension of random number array | count | 0 | integer | | in | F | -!!| im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | -!!| ix | horizontal_dimension | horizontal dimension | index | 0 | integer | | in | F | -!!| lm | vertical_dimension | vertical layer dimension | index | 0 | integer | | in | F | -!!| lp1 | vertical_interface_dimension | vertical interface dimension | index | 0 | integer | | in | F | -!!| randomno | random_number_array | random number array | none | 2 | real | | in | F | -!!| cal_pre | flag_for_precipitation_type_algorithm | flag controls precip type algorithm | flag | 0 | logical | | in | F | -!!| gt0 | air_temperature_updated_by_physics | layer mean air temperature | K | 2 | real | kind_phys | in | F | -!!| gq0 | water_vapor_specific_humidity | water vapor specific humidity | kg kg-1 | 2 | real | kind_phys | in | F | -!!| prsl | air_pressure | layer mean pressure | Pa | 2 | real | kind_phys | in | F | -!!| prsi | air_pressure_at_interface | pressure at layer interface | Pa | 2 | real | kind_phys | in | F | -!!| rainc | instantaneous_rainfall_amount_due_to_convetive | instantaneous rainfall amount due to convective scheme | m | 1 | real | kind_phys | in | F | -!!| frain | factor_for_centered_difference_scheme | dtf/dtp | none | 0 | real | kind_phys | in | F | -!!| rain1 | instantaneous_rainfall_amount_due_to_microphysics | instantaneous rainfall amount due to microphysics scheme | m | 1 | real | kind_phys | in | F | -!!| phii | geopotential_at_interface | geopotential at model layer interfaces | m2 s-2 | 2 | real | kind_phys | in | F | -!!| n3dfercld | array_dimension_of_microphysics | number of 3D arrays needed for microphysics | count | 0 | integer | | in | F | -!!| tskin | surface_skin_temperature | surface skin temperature | K | 1 | real | kind_phys | in | F | -!!| sr | ratio_of_snowfall_to_rainfall | ratio of snowfall to rainfall | frac | 1 | real | kind_phys | in | F | -!!| phy_f3d | air_temperature_at_previous_time_step | air temperature at previous time step | K | 2 | real | kind_phys | in | F | -!!| prec | total_rainfall_amount | instantaneous total rainfall amount | m | 1 | real | kind_phys | out | F | -!!| domr | dominant_rain_type | dominant rain type | none | 1 | real | kind_phys | out | F | -!!| domzr | dominant_freezing_rain_type | dominant freezing rain type | none | 1 | real | kind_phys | out | F | -!!| domip | dominant_sleet_type | dominant sleet type | none | 1 | real | kind_phys | out | F | -!!| doms | dominant_snow_type | dominant snow type | none | 1 | real | kind_phys | out | F | -!!| srflag | flag_for_precipitation_type | snow(1)/rain(0) flag for precipitation | 1 | 1 | real | kind_phys | out | F | -!!| tprcp | precipitation_amount_in_one_dynamics_time_step | precipitation amount in one dynamics time step | m | 1 | real | kind_phys | out | F | +!> \section arg_table_GFS_calpreciptype_run Argument Table +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |----------------|---------------------------------------------------|-------------------------------------------------------|---------|------|---------|-----------|--------|----------| +!! | kdt | index_of_time_step | current time step index | index | 0 | integer | | in | F | +!! | nrcm | array_dimension_of_random_number | second dimension of random number array | count | 0 | integer | | in | F | +!! | im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | +!! | ix | horizontal_dimension | horizontal dimension | index | 0 | integer | | in | F | +!! | lm | vertical_dimension | vertical layer dimension | index | 0 | integer | | in | F | +!! | lp1 | vertical_interface_dimension | vertical interface dimension | index | 0 | integer | | in | F | +!! | randomno | random_number_array | random number array | none | 2 | real | | in | F | +!! | cal_pre | flag_for_precipitation_type_algorithm | flag controls precip type algorithm | flag | 0 | logical | | in | F | +!! | gt0 | air_temperature_updated_by_physics | layer mean air temperature | K | 2 | real | kind_phys | in | F | +!! | gq0 | water_vapor_specific_humidity_updated_by_physics | water vapor specific humidity | kg kg-1 | 2 | real | kind_phys | in | F | +!! | prsl | air_pressure | layer mean pressure | Pa | 2 | real | kind_phys | in | F | +!! | prsi | air_pressure_at_interface | pressure at layer interface | Pa | 2 | real | kind_phys | in | F | +!! | rainc | timestep_convective_rainfall_amount | convective rain | m | 1 | real | kind_phys | in | F | +!! | frain | dynamics_to_physics_timestep_ratio | dtf/dtp, dynamics to physics timestep ratio | none | 0 | real | kind_phys | in | F | +!! | rain1 | rainfall_amount_on_physics_timestep | convective rainfall amount on physics timestep | m | 1 | real | kind_phys | in | F | +!! | phii | geopotential_at_interface | geopotential at model layer interfaces | m2 s-2 | 2 | real | kind_phys | in | F | +!! | n3dfercld | array_dimension_of_microphysics | number of 3D arrays needed for microphysics | count | 0 | integer | | in | F | +!! | tskin | surface_skin_temperature | surface skin temperature | K | 1 | real | kind_phys | in | F | +!! | sr | ratio_of_snowfall_to_rainfall | ratio of snowfall to rainfall | frac | 1 | real | kind_phys | in | F | +!! | phy_f3d | air_temperature_at_previous_time_step | air temperature at previous time step | K | 2 | real | kind_phys | in | F | +!! | prec | timestep_total_rainfall_amount | total rain | m | 1 | real | kind_phys | out | F | +!! | domr | dominant_rain_type | dominant rain type | none | 1 | real | kind_phys | out | F | +!! | domzr | dominant_freezing_rain_type | dominant freezing rain type | none | 1 | real | kind_phys | out | F | +!! | domip | dominant_sleet_type | dominant sleet type | none | 1 | real | kind_phys | out | F | +!! | doms | dominant_snow_type | dominant snow type | none | 1 | real | kind_phys | out | F | +!! | srflag | flag_for_precipitation_type | snow(1)/rain(0) flag for precipitation | flag | 1 | real | kind_phys | out | F | +!! | tprcp | precipitation_amount_in_one_dynamics_time_step | precipitation amount in one dynamics time step | m | 1 | real | kind_phys | out | F | !! subroutine GFS_calpreciptype_run(kdt,nrcm,im,ix,lm,lp1,randomno, & cal_pre, & diff --git a/physics/GFS_rad_time_vary.f90 b/physics/GFS_rad_time_vary.f90 index 102167c76..0a3aa0138 100644 --- a/physics/GFS_rad_time_vary.f90 +++ b/physics/GFS_rad_time_vary.f90 @@ -5,21 +5,21 @@ module GFS_rad_time_vary !>\defgroup GFS_rad_time_vary GFS RRTMG Update !! @{ -!!\section arg_table_GFS_rad_time_vary_init Argument Table +!! \section arg_table_GFS_rad_time_vary_init Argument Table !! subroutine GFS_rad_time_vary_init end subroutine GFS_rad_time_vary_init -!!\section arg_table_GFS_rad_time_vary_run Argument Table -!!| local var name | longname | description | units | rank | type | kind | intent | optional | -!!|-------------------|---------------------------------------------------------------|-------------------------------------------------------------------------------|----------|------|-------------------------------|-----------|--------|----------| -!!| Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | -!!| Statein | FV3-GFS_Stateout_type | Fortran DDT containing FV3-GFS prognostic state data in from dycore | DDT | 0 | GFS_typedefs%GFS_stateout_type| | in | F | -!!| Tbd | FV3-GFS_Tbd_type | Fortran DDT containing FV3-GFS data not yet assigned to a defined container | DDT | 0 | GFS_typedefs%GFS_tbd_type | | in | F | -!!| blksz | horizontal_block_grid_number | horizontal grid number for explicit data blocking | none | 1 | integer | | in | F | -!!| sec | forecast_time_at_previous_step | forecast time in second at previous_step | s | 0 | real | kind_phys | in | F | -!!| ictmflg | flag_for_initial_time-date_control | flag for initial time/date control | none | 0 | integer | | in | F | -!!| isolar | flag_for_solar_constant | solar constant control flag | none | 0 | integer | | in | F | +!> \section arg_table_GFS_rad_time_vary_run Argument Table +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |-------------------|---------------------------------------------------------------|-------------------------------------------------------------------------------|----------|------|-------------------------------|-----------|--------|----------| +!! | Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | +!! | Statein | FV3-GFS_Statein_type | Fortran DDT containing FV3-GFS prognostic state data in from dycore | DDT | 0 | GFS_typedefs%GFS_statein_type | | in | F | +!! | Tbd | FV3-GFS_Tbd_type | Fortran DDT containing FV3-GFS data not yet assigned to a defined container | DDT | 0 | GFS_typedefs%GFS_tbd_type | | in | F | +!! | blksz | horizontal_block_size | horizontal block size for explicit data blocking | none | 1 | integer | | in | F | +!! | sec | seconds_elapsed_since_model_initialization | seconds elapsed since model initialization | s | 0 | real | kind_phys | in | F | +!! | ictmflg | flag_for_initial_time-date_control | flag for initial time/date control | none | 0 | integer | | in | F | +!! | isolar | flag_for_solar_constant | solar constant control flag | none | 0 | integer | | in | F | !! subroutine GFS_rad_time_vary_run (Model, Statein, Tbd, blksz, sec, ictmflg, isolar) @@ -99,7 +99,7 @@ subroutine GFS_rad_time_vary_run (Model, Statein, Tbd, blksz, sec, ictmflg, isol end subroutine GFS_rad_time_vary_run -!!\section arg_table_GFS_rad_time_vary_finalize Argument Table +!> \section arg_table_GFS_rad_time_vary_finalize Argument Table !! subroutine GFS_rad_time_vary_finalize() end subroutine GFS_rad_time_vary_finalize diff --git a/physics/GFS_radlw_post.f90 b/physics/GFS_radlw_post.f90 index 992781faf..e7348d083 100644 --- a/physics/GFS_radlw_post.f90 +++ b/physics/GFS_radlw_post.f90 @@ -5,24 +5,24 @@ module GFS_radlw_post !>\defgroup GFS_radlw_post GFS RRTMG/RADLW Scheme Post !! @{ -!>\section arg_table_GFS_radlw_post_init Argument Table +!> \section arg_table_GFS_radlw_post_init Argument Table !! subroutine GFS_radlw_post_init() end subroutine GFS_radlw_post_init -!>\section arg_table_GFS_radlw_post_run Argument Table -!!| local var name | longname | description | units | rank | type | kind | intent | optional | -!!|-------------------|-------------------------------------------------------------------------|-------------------------------------------------------------------------------|----------|------|-------------------------------|-----------|-----------|----------| -!!| Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | -!!| Grid | FV3-GFS_Grid_type | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 0 | GFS_typedefs%GFS_grid_type | | in | F | -!!| Radtend | FV3-GFS_Radtend_type | Fortran DDT containing FV3-GFS fields targetted for diagnostic output | DDT | 0 | GFS_typedefs%GFS_radtend_type | | inout | F | -!!| Coupling | FV3-GFS_Coupling_type | Fortran DDT containing FV3-GFS fields to/from coupling with other components | DDT | 0 | GFS_typedefs%GFS_coupling_type| | inout | F | -!!| ltp | extra_top_layer | extra top layers | none | 0 | integer | | in | F | -!!| lm | vertical_layer_dimension_for_radiation | number of vertical layers for radiation calculation | index | 0 | integer | | in | F | -!!| kd | vertical_index_difference_between_in-out_and_local | vertical index difference between in/out and local | index | 0 | integer | | in | F | -!!| tsfa | surface_air_temperature_for_radiation | lowest model layer air temperature for radiation | K | 1 | real | kind_phys | in | F | -!!| htlwc | tendency_of_air_temperature_due_to_longwave_heating | total sky heating rate due to longwave radiation | K s-1 | 2 | real | kind_phys | in | F | -!!| htlw0 | tendency_of_air_temperature_due_to_longwave_heating_assuming_clear_sky | clear sky heating rate due to longwave radiation | K s-1 | 2 | real | kind_phys | in | F | +!> \section arg_table_GFS_radlw_post_run Argument Table +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |-------------------|-----------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------|----------|------|-------------------------------|-----------|-----------|----------| +!! | Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | +!! | Grid | FV3-GFS_Grid_type | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 0 | GFS_typedefs%GFS_grid_type | | in | F | +!! | Radtend | FV3-GFS_Radtend_type | Fortran DDT containing FV3-GFS fields targetted for diagnostic output | DDT | 0 | GFS_typedefs%GFS_radtend_type | | inout | F | +!! | Coupling | FV3-GFS_Coupling_type | Fortran DDT containing FV3-GFS fields to/from coupling with other components | DDT | 0 | GFS_typedefs%GFS_coupling_type| | inout | F | +!! | ltp | extra_top_layer | extra top layers | none | 0 | integer | | in | F | +!! | lm | vertical_layer_dimension_for_radiation | number of vertical layers for radiation calculation | index | 0 | integer | | in | F | +!! | kd | vertical_index_difference_between_in-out_and_local | vertical index difference between in/out and local | index | 0 | integer | | in | F | +!! | tsfa | surface_air_temperature_for_radiation | lowest model layer air temperature for radiation | K | 1 | real | kind_phys | in | F | +!! | htlwc | tendency_of_air_temperature_due_to_longwave_heating_on_radiation_time_step | total sky heating rate due to longwave radiation | K s-1 | 2 | real | kind_phys | in | F | +!! | htlw0 | tendency_of_air_temperature_due_to_longwave_heating_assuming_clear_sky_on_radiation_time_step | clear sky heating rate due to longwave radiation | K s-1 | 2 | real | kind_phys | in | F | !! subroutine GFS_radlw_post_run (Model, Grid, Radtend, Coupling, & ltp, lm, kd, tsfa, htlwc, htlw0) @@ -80,7 +80,7 @@ subroutine GFS_radlw_post_run (Model, Grid, Radtend, Coupling, & end subroutine GFS_radlw_post_run -!>\section arg_table_GFS_radlw_post_finalize Argument Table +!> \section arg_table_GFS_radlw_post_finalize Argument Table !! subroutine GFS_radlw_post_finalize () end subroutine GFS_radlw_post_finalize diff --git a/physics/GFS_radlw_pre.f90 b/physics/GFS_radlw_pre.f90 index 76b019475..23349e894 100644 --- a/physics/GFS_radlw_pre.f90 +++ b/physics/GFS_radlw_pre.f90 @@ -6,21 +6,21 @@ module GFS_radlw_pre !>\defgroup GFS_radlw_pre GFS RADLW Scheme Pre !! @{ -!>\section arg_table_GFS_radlw_pre_init Argument Table +!> \section arg_table_GFS_radlw_pre_init Argument Table !! subroutine GFS_radlw_pre_init () end subroutine GFS_radlw_pre_init -!>\section arg_table_GFS_radlw_pre_run Argument Table -!!| local var name | longname | description | units | rank | type | kind | intent | optional | -!!|-------------------|-------------------------------------------|----------------------------------------------------------------------|----------|------|-------------------------------|-----------|--------|----------| -!!| Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | -!!| Grid | FV3-GFS_Grid_type | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 0 | GFS_typedefs%GFS_grid_type | | in | F | -!!| Sfcprop | FV3-GFS_Sfcprop_type | Fortran DDT containing FV3-GFS surface fields | DDT | 0 | GFS_typedefs%GFS_sfcprop_type | | in | F | -!!| Radtend | FV3-GFS_Radtend_type | Fortran DDT containing FV3-GFS radiation tendencies | DDT | 0 | GFS_typedefs%GFS_radtend_type | | inout | F | -!!| im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | -!!| tsfg | surface_ground_temperature_for_radiation | surface ground temperature for radiation | K | 1 | real | kind_phys | in | F | -!!| tsfa | surface_air_temperature_for_radiation | lowest model layer air temperature for radiation | K | 1 | real | kind_phys | in | F | +!> \section arg_table_GFS_radlw_pre_run Argument Table +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |-------------------|-------------------------------------------|----------------------------------------------------------------------|----------|------|-------------------------------|-----------|--------|----------| +!! | Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | +!! | Grid | FV3-GFS_Grid_type | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 0 | GFS_typedefs%GFS_grid_type | | in | F | +!! | Sfcprop | FV3-GFS_Sfcprop_type | Fortran DDT containing FV3-GFS surface fields | DDT | 0 | GFS_typedefs%GFS_sfcprop_type | | in | F | +!! | Radtend | FV3-GFS_Radtend_type | Fortran DDT containing FV3-GFS radiation tendencies | DDT | 0 | GFS_typedefs%GFS_radtend_type | | inout | F | +!! | im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | +!! | tsfg | surface_ground_temperature_for_radiation | surface ground temperature for radiation | K | 1 | real | kind_phys | in | F | +!! | tsfa | surface_air_temperature_for_radiation | lowest model layer air temperature for radiation | K | 1 | real | kind_phys | in | F | !! subroutine GFS_radlw_pre_run (Model, Grid, Sfcprop, Radtend, im, tsfg, tsfa) @@ -52,7 +52,7 @@ subroutine GFS_radlw_pre_run (Model, Grid, Sfcprop, Radtend, im, tsfg, tsfa) end subroutine GFS_radlw_pre_run -!>\section arg_table_GFS_radlw_pre_finalize Argument Table +!> \section arg_table_GFS_radlw_pre_finalize Argument Table !! subroutine GFS_radlw_pre_finalize () end subroutine GFS_radlw_pre_finalize diff --git a/physics/GFS_radsw_post.f90 b/physics/GFS_radsw_post.f90 index d4a9fbe31..68d70f2c7 100644 --- a/physics/GFS_radsw_post.f90 +++ b/physics/GFS_radsw_post.f90 @@ -5,30 +5,30 @@ module GFS_radsw_post !>\defgroup GFS_radsw_post GFS RRTMG/RADSW Scheme Post !! @{ -!>\section arg_table_GFS_radsw_post_init Argument Table +!> \section arg_table_GFS_radsw_post_init Argument Table !! subroutine GFS_radsw_post_init () end subroutine GFS_radsw_post_init -!>\section arg_table_GFS_radsw_post_run Argument Table -!!| local var name | longname | description | units | rank | type | kind | intent | optional | -!!|-------------------|-------------------------------------------------------------------------|-------------------------------------------------------------------------------|----------|------|-------------------------------|-----------|-----------|----------| -!!| Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | -!!| Grid | FV3-GFS_Grid_type | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 0 | GFS_typedefs%GFS_grid_type | | in | F | -!!| Diag | FV3-GFS_Diag_type | Fortran DDT containing FV3-GFS diagnotics data | DDT | 0 | GFS_typedefs%GFS_diag_type | | inout | F | -!!| Radtend | FV3-GFS_Radtend_type | Fortran DDT containing FV3-GFS fields targetted for diagnostic output | DDT | 0 | GFS_typedefs%GFS_radtend_type | | inout | F | -!!| Coupling | FV3-GFS_Coupling_type | Fortran DDT containing FV3-GFS fields to/from coupling with other components | DDT | 0 | GFS_typedefs%GFS_coupling_type| | inout | F | -!!| ltp | extra_top_layer | extra top layers | none | 0 | integer | | in | F | -!!| nday | daytime_points_dimension | daytime points dimension | index | 0 | integer | | in | F | -!!| lm | vertical_layer_dimension_for_radiation | number of vertical layers for radiation calculation | index | 0 | integer | | in | F | -!!| kd | vertical_index_difference_between_in-out_and_local | vertical index difference between in/out and local | index | 0 | integer | | in | F | -!!| htswc | tendency_of_air_temperature_due_to_shortwave_heating | total sky heating rate due to shortwave radiation | K s-1 | 2 | real | kind_phys | in | F | -!!| htsw0 | tendency_of_air_temperature_due_to_shortwave_heating_assuming_clear_sky | clear sky heating rates due to shortwave radiation | K s-1 | 2 | real | kind_phys | in | F | -!!| sfcalb1 | surface_albedo_due_to_near_IR_direct | surface albedo due to near IR direct beam | none | 1 | real | kind_phys | in | F | -!!| sfcalb2 | surface_albedo_due_to_near_IR_diffused | surface albedo due to near IR diffused beam | none | 1 | real | kind_phys | in | F | -!!| sfcalb3 | surface_albedo_due_to_uv+vis_direct | surface albedo due to UV+VIS direct beam | none | 1 | real | kind_phys | in | F | -!!| sfcalb4 | surface_albedo_due_to_uv+vis_diffused | surface albedo due to UV+VIS diffused beam | none | 1 | real | kind_phys | in | F | -!!| scmpsw | surface_downward_shortwave_flux_type | derived type for special components of surface downward shortwave fluxes | W m-2 | 1 | cmpfsw_type | | out | F | +!> \section arg_table_GFS_radsw_post_run Argument Table +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |-------------------|-------------------------------------------------------------------------|-------------------------------------------------------------------------------|----------|------|-------------------------------|-----------|-----------|----------| +!! | Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | +!! | Grid | FV3-GFS_Grid_type | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 0 | GFS_typedefs%GFS_grid_type | | in | F | +!! | Diag | FV3-GFS_Diag_type | Fortran DDT containing FV3-GFS diagnotics data | DDT | 0 | GFS_typedefs%GFS_diag_type | | inout | F | +!! | Radtend | FV3-GFS_Radtend_type | Fortran DDT containing FV3-GFS fields targetted for diagnostic output | DDT | 0 | GFS_typedefs%GFS_radtend_type | | inout | F | +!! | Coupling | FV3-GFS_Coupling_type | Fortran DDT containing FV3-GFS fields to/from coupling with other components | DDT | 0 | GFS_typedefs%GFS_coupling_type| | inout | F | +!! | ltp | extra_top_layer | extra top layers | none | 0 | integer | | in | F | +!! | nday | daytime_points_dimension | daytime points dimension | index | 0 | integer | | in | F | +!! | lm | vertical_layer_dimension_for_radiation | number of vertical layers for radiation calculation | index | 0 | integer | | in | F | +!! | kd | vertical_index_difference_between_in-out_and_local | vertical index difference between in/out and local | index | 0 | integer | | in | F | +!! | htswc | tendency_of_air_temperature_due_to_shortwave_heating | total sky heating rate due to shortwave radiation | K s-1 | 2 | real | kind_phys | in | F | +!! | htsw0 | tendency_of_air_temperature_due_to_shortwave_heating_assuming_clear_sky | clear sky heating rates due to shortwave radiation | K s-1 | 2 | real | kind_phys | in | F | +!! | sfcalb1 | surface_albedo_due_to_near_IR_direct | surface albedo due to near IR direct beam | frac | 1 | real | kind_phys | in | F | +!! | sfcalb2 | surface_albedo_due_to_near_IR_diffused | surface albedo due to near IR diffused beam | frac | 1 | real | kind_phys | in | F | +!! | sfcalb3 | surface_albedo_due_to_UV_and_VIS_direct | surface albedo due to UV+VIS direct beam | frac | 1 | real | kind_phys | in | F | +!! | sfcalb4 | surface_albedo_due_to_UV_and_VIS_diffused | surface albedo due to UV+VIS diffused beam | frac | 1 | real | kind_phys | in | F | +!! | scmpsw | components_of_surface_downward_shortwave_fluxes | derived type for special components of surface downward shortwave fluxes | W m-2 | 1 | cmpfsw_type | | out | F | !! subroutine GFS_radsw_post_run (Model, Grid, Diag, Radtend, Coupling, & ltp, nday, lm, kd, htswc, htsw0, & ! --input @@ -131,7 +131,7 @@ subroutine GFS_radsw_post_run (Model, Grid, Diag, Radtend, Coupling, & end subroutine GFS_radsw_post_run -!>\section arg_table_GFS_radsw_post_finalize Argument Table +!> \section arg_table_GFS_radsw_post_finalize Argument Table !! subroutine GFS_radsw_post_finalize () end subroutine GFS_radsw_post_finalize diff --git a/physics/GFS_radsw_pre.f90 b/physics/GFS_radsw_pre.f90 index 107850f54..81bf62681 100644 --- a/physics/GFS_radsw_pre.f90 +++ b/physics/GFS_radsw_pre.f90 @@ -6,25 +6,25 @@ module GFS_radsw_pre !>\defgroup GFS_radsw_pre GFS RADSW Scheme Pre !! @{ -!>\section arg_table_GFS_radsw_pre_init Argument Table +!> \section arg_table_GFS_radsw_pre_init Argument Table !! subroutine GFS_radsw_pre_init () end subroutine GFS_radsw_pre_init -!>\section arg_table_GFS_radsw_pre_run Argument Table -!!| local var name | longname | description | units | rank | type | kind | intent | optional | -!!|----------------|------------------------------------------|----------------------------------------------------------------------|----------|------|-------------------------------|-----------|--------|----------| -!!| Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | -!!| Grid | FV3-GFS_Grid_type | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 0 | GFS_typedefs%GFS_grid_type | | in | F | -!!| Sfcprop | FV3-GFS_Sfcprop_type | Fortran DDT containing FV3-GFS surface fields | DDT | 0 | GFS_typedefs%GFS_sfcprop_type | | in | F | -!!| Radtend | FV3-GFS_Radtend_type | Fortran DDT containing FV3-GFS radiation tendencies | DDT | 0 | GFS_typedefs%GFS_radtend_type | | inout | F | -!!| im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | -!!| tsfg | surface_ground_temperature_for_radiation | surface ground temperature for radiation | K | 1 | real | kind_phys | in | F | -!!| tsfa | surface_air_temperature_for_radiation | lowest model layer air temperature for radiation | K | 1 | real | kind_phys | in | F | -!!| sfcalb1 | surface_albedo_due_to_near_IR_direct | surface albedo due to near IR direct beam | none | 1 | real | kind_phys | out | F | -!!| sfcalb2 | surface_albedo_due_to_near_IR_diffused | surface albedo due to near IR diffused beam | none | 1 | real | kind_phys | out | F | -!!| sfcalb3 | surface_albedo_due_to_uv+vis_direct | surface albedo due to UV+VIS direct beam | none | 1 | real | kind_phys | out | F | -!!| sfcalb4 | surface_albedo_due_to_uv+vis_diffused | surface albedo due to UV+VIS diffused beam | none | 1 | real | kind_phys | out | F | +!> \section arg_table_GFS_radsw_pre_run Argument Table +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |----------------|-------------------------------------------|----------------------------------------------------------------------|----------|------|-------------------------------|-----------|--------|----------| +!! | Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | +!! | Grid | FV3-GFS_Grid_type | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 0 | GFS_typedefs%GFS_grid_type | | in | F | +!! | Sfcprop | FV3-GFS_Sfcprop_type | Fortran DDT containing FV3-GFS surface fields | DDT | 0 | GFS_typedefs%GFS_sfcprop_type | | in | F | +!! | Radtend | FV3-GFS_Radtend_type | Fortran DDT containing FV3-GFS radiation tendencies | DDT | 0 | GFS_typedefs%GFS_radtend_type | | inout | F | +!! | im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | +!! | tsfg | surface_ground_temperature_for_radiation | surface ground temperature for radiation | K | 1 | real | kind_phys | in | F | +!! | tsfa | surface_air_temperature_for_radiation | lowest model layer air temperature for radiation | K | 1 | real | kind_phys | in | F | +!! | sfcalb1 | surface_albedo_due_to_near_IR_direct | surface albedo due to near IR direct beam | frac | 1 | real | kind_phys | out | F | +!! | sfcalb2 | surface_albedo_due_to_near_IR_diffused | surface albedo due to near IR diffused beam | frac | 1 | real | kind_phys | out | F | +!! | sfcalb3 | surface_albedo_due_to_UV_and_VIS_direct | surface albedo due to UV+VIS direct beam | frac | 1 | real | kind_phys | out | F | +!! | sfcalb4 | surface_albedo_due_to_UV_and_VIS_diffused | surface albedo due to UV+VIS diffused beam | frac | 1 | real | kind_phys | out | F | !! subroutine GFS_radsw_pre_run (Model, Grid, Sfcprop, Radtend, im, & tsfg, tsfa, sfcalb1,sfcalb2, sfcalb3, sfcalb4 ) @@ -80,7 +80,7 @@ subroutine GFS_radsw_pre_run (Model, Grid, Sfcprop, Radtend, im, & end subroutine GFS_radsw_pre_run -!>\section arg_table_GFS_radsw_pre_finalize Argument Table +!> \section arg_table_GFS_radsw_pre_finalize Argument Table !! subroutine GFS_radsw_pre_finalize () end subroutine GFS_radsw_pre_finalize diff --git a/physics/GFS_suite_interstitial.f90 b/physics/GFS_suite_interstitial.f90 index d5c5ed67d..ac06ee452 100644 --- a/physics/GFS_suite_interstitial.f90 +++ b/physics/GFS_suite_interstitial.f90 @@ -78,25 +78,25 @@ subroutine GFS_suite_interstitial_2_finalize() end subroutine GFS_suite_interstitial_2_finalize !> \section arg_table_GFS_suite_interstitial_2_run Argument Table -!! | local var name | longname | description | units | rank | type | kind | intent | optional | -!! |----------------|-------------------------------------------------------------------------|-------------------------------------------------------------------------|---------------|------|-------------------------------|-----------|--------|----------| -!! | Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | -!! | Grid | FV3-GFS_Grid_type | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 0 | GFS_typedefs%GFS_grid_type | | in | F | -!! | Sfcprop | FV3-GFS_Sfcprop_type | Fortran DDT containing FV3-GFS surface fields | DDT | 0 | GFS_typedefs%GFS_sfcprop_type | | in | F | -!! | Statein | FV3-GFS_Statein_type | Fortran DDT containing FV3-GFS prognostic state data in from dycore | DDT | 0 | GFS_typedefs%GFS_statein_type | | in | F | -!! | Diag | FV3-GFS_Diag_type | Fortran DDT containing FV3-GFS fields targeted for diagnostic output | DDT | 0 | GFS_typedefs%GFS_diag_type | | inout | F | -!! | rhbbot | critical_relative_humidity_at_surface | critical relative humidity at the surface | frac | 0 | real | kind_phys | out | F | -!! | rhpbl | critical_relative_humidity_at_PBL_top | critical relative humidity at the PBL top | frac | 0 | real | kind_phys | out | F | -!! | rhbtop | critical_relative_humidity_at_top_of_atmosphere | critical relative humidity at the top of atmosphere | frac | 0 | real | kind_phys | out | F | -!! | frain | dynamics_to_physics_timestep_ratio | ratio of dynamics timestep to physics timestep | none | 0 | real | kind_phys | out | F | -!! | islmsk | sea_land_ice_mask | landmask: sea/land/ice=0/1/2 | flag | 1 | integer | | out | F | -!! | work1 | grid_related_coefficient | grid size related coefficient used in scale-sensitive schemes | none | 1 | real | kind_phys | out | F | -!! | work2 | grid_related_coefficient_complement | complement to work1 | none | 1 | real | kind_phys | out | F | -!! | dudt | tendency_of_x_wind_due_to_model_physics | updated tendency of the x wind | m s-2 | 2 | real | kind_phys | out | F | -!! | dvdt | tendency_of_y_wind_due_to_model_physics | updated tendency of the y wind | m s-2 | 2 | real | kind_phys | out | F | -!! | dtdt | tendency_of_air_temperature_due_to_model_physics | updated tendency of the temperature | K s-1 | 2 | real | kind_phys | out | F | -!! | dtdtc | tendency_of_air_temperature_due_to_radiative_heating_assuming_clear_sky | clear sky radiative (shortwave + longwave) heating rate at current time | K s-1 | 2 | real | kind_phys | out | F | -!! | dqdt | tendency_of_tracers_due_to_model_physics | updated tendency of the tracers | kg kg-1 s-1 | 3 | real | kind_phys | out | F | +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |----------------|--------------------------------------------------------------------------|-------------------------------------------------------------------------|---------------|------|-------------------------------|-----------|--------|----------| +!! | Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | +!! | Grid | FV3-GFS_Grid_type | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 0 | GFS_typedefs%GFS_grid_type | | in | F | +!! | Sfcprop | FV3-GFS_Sfcprop_type | Fortran DDT containing FV3-GFS surface fields | DDT | 0 | GFS_typedefs%GFS_sfcprop_type | | in | F | +!! | Statein | FV3-GFS_Statein_type | Fortran DDT containing FV3-GFS prognostic state data in from dycore | DDT | 0 | GFS_typedefs%GFS_statein_type | | in | F | +!! | Diag | FV3-GFS_Diag_type | Fortran DDT containing FV3-GFS fields targeted for diagnostic output | DDT | 0 | GFS_typedefs%GFS_diag_type | | inout | F | +!! | rhbbot | critical_relative_humidity_at_surface | critical relative humidity at the surface | frac | 0 | real | kind_phys | out | F | +!! | rhpbl | critical_relative_humidity_at_PBL_top | critical relative humidity at the PBL top | frac | 0 | real | kind_phys | out | F | +!! | rhbtop | critical_relative_humidity_at_top_of_atmosphere | critical relative humidity at the top of atmosphere | frac | 0 | real | kind_phys | out | F | +!! | frain | dynamics_to_physics_timestep_ratio | ratio of dynamics timestep to physics timestep | none | 0 | real | kind_phys | out | F | +!! | islmsk | sea_land_ice_mask | landmask: sea/land/ice=0/1/2 | flag | 1 | integer | | out | F | +!! | work1 | grid_size_related_coefficient_used_in_scale-sensitive_schemes | grid size related coefficient used in scale-sensitive schemes | none | 1 | real | kind_phys | out | F | +!! | work2 | grid_size_related_coefficient_used_in_scale-sensitive_schemes_complement | complement to work1 | none | 1 | real | kind_phys | out | F | +!! | dudt | tendency_of_x_wind_due_to_model_physics | updated tendency of the x wind | m s-2 | 2 | real | kind_phys | out | F | +!! | dvdt | tendency_of_y_wind_due_to_model_physics | updated tendency of the y wind | m s-2 | 2 | real | kind_phys | out | F | +!! | dtdt | tendency_of_air_temperature_due_to_model_physics | updated tendency of the temperature | K s-1 | 2 | real | kind_phys | out | F | +!! | dtdtc | tendency_of_air_temperature_due_to_radiative_heating_assuming_clear_sky | clear sky radiative (shortwave + longwave) heating rate at current time | K s-1 | 2 | real | kind_phys | out | F | +!! | dqdt | tendency_of_tracers_due_to_model_physics | updated tendency of the tracers | kg kg-1 s-1 | 3 | real | kind_phys | out | F | !! subroutine GFS_suite_interstitial_2_run (Model, Grid, Sfcprop, Statein, Diag, rhbbot, rhpbl, rhbtop, frain, islmsk, work1, work2, dudt, dvdt, dtdt, dtdtc, dqdt) @@ -165,7 +165,7 @@ end subroutine GFS_suite_interstitial_3_finalize !! | adjsfculw | surface_upwelling_longwave_flux | surface upwelling longwave flux at current time | W m-2 | 1 | real | kind_phys | in | F | !! | xmu | zenith_angle_temporal_adjustment_factor_for_shortwave_fluxes | zenith angle temporal adjustment factor for shortwave fluxes | none | 1 | real | kind_phys | in | F | !! | Diag | FV3-GFS_Diag_type | Fortran DDT containing FV3-GFS fields targeted for diagnostic output | DDT | 0 | GFS_typedefs%GFS_diag_type | | inout | F | -!! | kcnv | flag_deep_convection | flag indicating whether convection occurs in column (0 or 1) | index | 1 | integer | | out | F | +!! | kcnv | flag_deep_convection | flag indicating whether convection occurs in column (0 or 1) | flag | 1 | integer | | out | F | !! | heat | kinematic_surface_upward_sensible_heat_flux | kinematic surface upward sensible heat flux | K m s-1 | 1 | real | kind_phys | out | F | !! | evap | kinematic_surface_upward_latent_heat_flux | kinematic surface upward latent heat flux | kg kg-1 m s-1 | 1 | real | kind_phys | out | F | !! @@ -297,21 +297,21 @@ subroutine GFS_suite_interstitial_4_finalize() end subroutine GFS_suite_interstitial_4_finalize !> \section arg_table_GFS_suite_interstitial_4_run Argument Table -!! | local var name | longname | description | units | rank | type | kind | intent | optional | -!! |----------------|--------------------------------------------------------|-----------------------------------------------------------------------|---------------|------|-------------------------------|-----------|--------|----------| -!! | Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | -!! | Grid | FV3-GFS_Grid_type | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 0 | GFS_typedefs%GFS_grid_type | | in | F | -!! | Statein | FV3-GFS_Statein_type | Fortran DDT containing FV3-GFS prognostic state data in from dycore | DDT | 0 | GFS_typedefs%GFS_statein_type | | in | F | -!! | rhbbot | critical_relative_humidity_at_surface | critical relative humidity at the surface | frac | 0 | real | kind_phys | in | F | -!! | rhbtop | critical_relative_humidity_at_top_of_atmosphere | critical relative humidity at the top of atmosphere | frac | 0 | real | kind_phys | in | F | -!! | work1 | grid_related_coefficient | grid size related coefficient used in scale-sensitive schemes | none | 1 | real | kind_phys | in | F | -!! | work2 | grid_related_coefficient_complement | complement to work1 | none | 1 | real | kind_phys | in | F | -!! | clw | convective_transportable_tracers | array to contain cloud water and other convective trans. tracers | kg kg-1 | 3 | real | kind_phys | inout | F | -!! | cnvc | convective_cloud_cover | convective cloud cover | frac | 2 | real | kind_phys | inout | F | -!! | cnvw | convective_cloud_water_specific_humidity | convective cloud water specific humidity | kg kg-1 | 2 | real | kind_phys | inout | F | -!! | ktop | vertical_index_at_cloud_top | vertical index at cloud top | index | 1 | integer | | inout | F | -!! | kbot | vertical_index_at_cloud_base | vertical index at cloud base | index | 1 | integer | | inout | F | -!! | rhc | critical_relative_humidity | critical relative humidity | frac | 2 | real | kind_phys | out | F | +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |----------------|--------------------------------------------------------------------------|-----------------------------------------------------------------------|---------------|------|-------------------------------|-----------|--------|----------| +!! | Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | +!! | Grid | FV3-GFS_Grid_type | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 0 | GFS_typedefs%GFS_grid_type | | in | F | +!! | Statein | FV3-GFS_Statein_type | Fortran DDT containing FV3-GFS prognostic state data in from dycore | DDT | 0 | GFS_typedefs%GFS_statein_type | | in | F | +!! | rhbbot | critical_relative_humidity_at_surface | critical relative humidity at the surface | frac | 0 | real | kind_phys | in | F | +!! | rhbtop | critical_relative_humidity_at_top_of_atmosphere | critical relative humidity at the top of atmosphere | frac | 0 | real | kind_phys | in | F | +!! | work1 | grid_size_related_coefficient_used_in_scale-sensitive_schemes | grid size related coefficient used in scale-sensitive schemes | none | 1 | real | kind_phys | in | F | +!! | work2 | grid_size_related_coefficient_used_in_scale-sensitive_schemes_complement | complement to work1 | none | 1 | real | kind_phys | in | F | +!! | clw | convective_transportable_tracers | array to contain cloud water and other convective trans. tracers | kg kg-1 | 3 | real | kind_phys | inout | F | +!! | cnvc | convective_cloud_cover | convective cloud cover | frac | 2 | real | kind_phys | inout | F | +!! | cnvw | convective_cloud_water_specific_humidity | convective cloud water specific humidity | kg kg-1 | 2 | real | kind_phys | inout | F | +!! | ktop | vertical_index_at_cloud_top | vertical index at cloud top | index | 1 | integer | | inout | F | +!! | kbot | vertical_index_at_cloud_base | vertical index at cloud base | index | 1 | integer | | inout | F | +!! | rhc | critical_relative_humidity | critical relative humidity | frac | 2 | real | kind_phys | out | F | !! subroutine GFS_suite_interstitial_4_run (Model, Grid, Statein, rhbbot, rhbtop, work1, work2, clw, cnvc, cnvw, ktop, kbot, rhc) diff --git a/physics/GFS_suite_setup.f90 b/physics/GFS_suite_setup.f90 index 08fc768e3..c7457faab 100644 --- a/physics/GFS_suite_setup.f90 +++ b/physics/GFS_suite_setup.f90 @@ -15,7 +15,7 @@ end subroutine GFS_suite_setup_1_finalize !! | local var name | longname | description | units | rank | type | kind | intent | optional | !! |----------------|--------------------------------------------------------|-----------------------------------------------------------------------|---------------|------|-------------------------------|-----------|--------|----------| !! | Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | inout | F | -!! | sec | seconds_elapsed | seconds elapsed since the initialization | s | 0 | real | kind_phys | inout | F | +!! | sec | seconds_elapsed_since_model_initialization | seconds elapsed since model initialization | s | 0 | real | kind_phys | inout | F | !! subroutine GFS_suite_setup_1_run (Model, sec) @@ -81,13 +81,13 @@ end subroutine GFS_suite_setup_2_finalize !> \section arg_table_GFS_suite_setup_2_run Argument Table !! | local var name | longname | description | units | rank | type | kind | intent | optional | !! |----------------|-------------------------------------------------------------------------|-------------------------------------------------------------------------|---------------|------|-------------------------------|-----------|--------|----------| -!! | blksz | horizontal_block_size | number of grid columns used for explicit data blocking for physics | count | 1 | integer | | in | F | -!! | Grid | FV3-GFS_Grid_type | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 1 | GFS_typedefs%GFS_grid_type | | in | F | +!! | blksz | horizontal_block_size_tmp_all_blocks | number of grid columns used for explicit data blocking for physics | count | 1 | integer | | in | F | +!! | Grid | FV3-GFS_Grid_type_tmp_all_blocks | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 1 | GFS_typedefs%GFS_grid_type | | in | F | !! | Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | inout | F | -!! | Tbd | FV3-GFS_Tbd_type | Fortran DDT containing FV3-GFS miscellaneous data | DDT | 1 | GFS_typedefs%GFS_tbd_type | | inout | F | -!! | Sfcprop | FV3-GFS_Sfcprop_type | Fortran DDT containing FV3-GFS surface fields | DDT | 1 | GFS_typedefs%GFS_sfcprop_type | | inout | F | -!! | Cldprop | FV3-GFS_Cldprop_type | Fortran DDT containing FV3-GFS cloud fields | DDT | 1 | GFS_typedefs%GFS_cldprop_type | | inout | F | -!! | Diag | FV3-GFS_Diag_type | Fortran DDT containing FV3-GFS fields targeted for diagnostic output | DDT | 1 | GFS_typedefs%GFS_diag_type | | inout | F | +!! | Tbd | FV3-GFS_Tbd_type_tmp_all_blocks | Fortran DDT containing FV3-GFS miscellaneous data | DDT | 1 | GFS_typedefs%GFS_tbd_type | | inout | F | +!! | Sfcprop | FV3-GFS_Sfcprop_type_tmp_all_blocks | Fortran DDT containing FV3-GFS surface fields | DDT | 1 | GFS_typedefs%GFS_sfcprop_type | | inout | F | +!! | Cldprop | FV3-GFS_Cldprop_type_tmp_all_blocks | Fortran DDT containing FV3-GFS cloud fields | DDT | 1 | GFS_typedefs%GFS_cldprop_type | | inout | F | +!! | Diag | FV3-GFS_Diag_type_tmp_all_blocks | Fortran DDT containing FV3-GFS fields targeted for diagnostic output | DDT | 1 | GFS_typedefs%GFS_diag_type | | inout | F | !! subroutine GFS_suite_setup_2_run (blksz, Grid, Model, Tbd, Sfcprop, Cldprop, Diag) use mersenne_twister, only: random_setseed, random_number diff --git a/physics/GFS_surface_generic.f90 b/physics/GFS_surface_generic.f90 index 56fd1ed9b..4cec32d4a 100644 --- a/physics/GFS_surface_generic.f90 +++ b/physics/GFS_surface_generic.f90 @@ -27,7 +27,6 @@ end subroutine GFS_surface_generic_pre_finalize !! | vegtype | cell_vegetation_type | vegetation type at each grid cell | index | 1 | integer | | inout | F | !! | slopetyp | surface_slope_classification | class of sfc slope | index | 1 | integer | | inout | F | !! | work3 | ratio_of_exner_function_between_midlayer_and_interface_at_lowest_model_layer | Exner function ratio bt midlayer and interface at 1st layer | ratio | 1 | real | kind_phys | inout | F | -!! | stsoil | soil_temperature | soil temperature | K | 2 | real | kind_phys | inout | F | !! | gabsbdlw | surface_downwelling_longwave_flux_absorbed_by_ground | total sky surface downward longwave flux absorbed by the ground | W m-2 | 1 | real | kind_phys | inout | F | !! | tsurf | surface_skin_temperature_after_iteration | surface skin temperature after iteration | K | 1 | real | kind_phys | inout | F | !! | flag_guess | flag_for_guess_run | flag for guess run | flag | 1 | logical | | inout | F | @@ -35,7 +34,7 @@ end subroutine GFS_surface_generic_pre_finalize !! | ep1d | surface_upward_potential_latent_heat_flux | surface upward potential latent heat flux | W m-2 | 1 | real | kind_phys | inout | F | !! subroutine GFS_surface_generic_pre_run (Model, Grid, Sfcprop, Radtend, Statein, adjsfcdlw, Diag, sigmaf, islmsk, & - soiltyp, vegtype, slopetyp, work3, stsoil, gabsbdlw, tsurf, flag_guess, flag_iter, ep1d) + soiltyp, vegtype, slopetyp, work3, gabsbdlw, tsurf, flag_guess, flag_iter, ep1d) use machine, only: kind_phys use GFS_typedefs, only: GFS_control_type, GFS_grid_type, GFS_sfcprop_type, GFS_diag_type, GFS_radtend_type, & @@ -55,7 +54,6 @@ subroutine GFS_surface_generic_pre_run (Model, Grid, Sfcprop, Radtend, Statein, real(kind=kind_phys), dimension(size(Grid%xlon,1)), intent(in) :: adjsfcdlw real(kind=kind_phys), dimension(size(Grid%xlon,1)), intent(inout) :: sigmaf, work3, gabsbdlw, tsurf, ep1d - real(kind=kind_phys), dimension(size(Grid%xlon,1),Model%lsoil), intent(inout) :: stsoil integer :: i real(kind=kind_phys), parameter :: onebg = 1.0/con_g @@ -84,8 +82,6 @@ subroutine GFS_surface_generic_pre_run (Model, Grid, Sfcprop, Radtend, Statein, work3(i) = Statein%prsik(i,1) / Statein%prslk(i,1) end do - stsoil(:,:) = Sfcprop%stc(:,:) - ! --- convert lw fluxes for land/ocean/sea-ice models ! note: for sw: adjsfcdsw and adjsfcnsw are zenith angle adjusted downward/net fluxes. ! for lw: adjsfcdlw is (sfc temp adjusted) downward fluxe with no emiss effect. @@ -141,11 +137,10 @@ end subroutine GFS_surface_generic_post_finalize !! | sbsno | snow_deposition_sublimation_upward_latent_heat_flux | latent heat flux from snow depo/subl | W m-2 | 1 | real | kind_phys | in | F | !! | snowc | surface_snow_area_fraction | surface snow area fraction | frac | 1 | real | kind_phys | in | F | !! | snohf | snow_freezing_rain_upward_latent_heat_flux | latent heat flux due to snow and frz rain | W m-2 | 1 | real | kind_phys | in | F | -!! | stsoil | soil_temperature | soil temperature | K | 2 | real | kind_phys | in | F | !! | Diag | FV3-GFS_Diag_type | Fortran DDT containing FV3-GFS fields targeted for diagnostic output | DDT | 0 | GFS_typedefs%GFS_diag_type | | inout | F | !! | Sfcprop | FV3-GFS_Sfcprop_type | Fortran DDT containing FV3-GFS surface fields | DDT | 0 | GFS_typedefs%GFS_sfcprop_type | | inout | F | !! - subroutine GFS_surface_generic_post_run (Model, Grid, ep1d, gflx, evbs, evcw, trans, sbsno, snowc, snohf, stsoil, Diag, & + subroutine GFS_surface_generic_post_run (Model, Grid, ep1d, gflx, evbs, evcw, trans, sbsno, snowc, snohf, Diag, & Sfcprop) use machine, only: kind_phys @@ -157,7 +152,6 @@ subroutine GFS_surface_generic_post_run (Model, Grid, ep1d, gflx, evbs, evcw, tr type(GFS_diag_type), intent(inout) :: Diag real(kind=kind_phys), dimension(size(Grid%xlon,1)), intent(in) :: ep1d, gflx, evbs, evcw, trans, sbsno, snowc, snohf - real(kind=kind_phys), dimension(size(Grid%xlon,1),Model%lsoil), intent(in) :: stsoil Diag%epi(:) = ep1d(:) Diag%gfluxi(:) = gflx(:) @@ -179,8 +173,6 @@ subroutine GFS_surface_generic_post_run (Model, Grid, ep1d, gflx, evbs, evcw, tr Diag%spfhmin(:) = min(Diag%spfhmin(:),Sfcprop%q2m(:)) endif - Sfcprop%stc(:,:) = stsoil(:,:) - end subroutine GFS_surface_generic_post_run end module GFS_surface_generic_post diff --git a/physics/GFS_zhao_carr_pre.f90 b/physics/GFS_zhao_carr_pre.f90 index a09bc6487..0e39f4bb2 100644 --- a/physics/GFS_zhao_carr_pre.f90 +++ b/physics/GFS_zhao_carr_pre.f90 @@ -7,20 +7,20 @@ module GFS_zhao_carr_pre !> \defgroup GFS_zhao_carr_pre GFS Zhao-Carr Scheme pre !! @{ -!!\section arg_table_GFS_zhao_carr_pre_init Argument Table +!! \section arg_table_GFS_zhao_carr_pre_init Argument Table !! subroutine GFS_zhao_carr_pre_init end subroutine GFS_zhao_carr_pre_init -!!\section arg_table_GFS_zhao_carr_pre_run Argument Table -!!| local var name | longname |description | units | rank | type | kind | intent | optional | -!!|----------------|--------------------------------------------------------|----------------------------------------------------------|-------------|------|---------|-----------|--------|----------| -!!| im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | -!!| ix | horizontal_dimension | horizontal dimension | index | 0 | integer | | in | F | -!!| levs | vertical_dimension | vertical layer dimension | index | 0 | integer | | in | F | -!!| cwm | cloud_condensed_water_specific_humidity | cloud condensed water specific humidity | kg kg-1 | 2 | real | kind_phys | in | F | -!!| clw1 | cloud_ice_specific_humidity | cloud ice specific humidity | kg kg-1 | 2 | real | kind_phys | out | F | +!> \section arg_table_GFS_zhao_carr_pre_run Argument Table +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |----------------|------------------------------------------------------------|----------------------------------------------------------|-------------|------|---------|-----------|--------|----------| +!! | im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | +!! | ix | horizontal_dimension | horizontal dimension | index | 0 | integer | | in | F | +!! | levs | vertical_dimension | vertical layer dimension | index | 0 | integer | | in | F | +!! | cwm | cloud_condensed_water_specific_humidity_updated_by_physics | cloud condensed water specific humidity | kg kg-1 | 2 | real | kind_phys | in | F | +!! | clw1 | cloud_ice_specific_humidity | cloud ice specific humidity | kg kg-1 | 2 | real | kind_phys | out | F | !! subroutine GFS_zhao_carr_pre_run (im, ix, levs, cwm, clw1 ) @@ -45,7 +45,7 @@ subroutine GFS_zhao_carr_pre_run (im, ix, levs, cwm, clw1 ) end subroutine GFS_zhao_carr_pre_run -!!\section arg_table_GFS_zhao_carr_pre_finalize Argument Table +!> \section arg_table_GFS_zhao_carr_pre_finalize Argument Table !! subroutine GFS_zhao_carr_pre_finalize end subroutine GFS_zhao_carr_pre_finalize diff --git a/physics/cnvc90.f b/physics/cnvc90.f index ffc5bb2b0..3b3a4e5f7 100644 --- a/physics/cnvc90.f +++ b/physics/cnvc90.f @@ -15,7 +15,7 @@ end subroutine cnvc90_init !! | clstp | convective_cloud_switch | switch for saving convective clouds | none | 0 | real | kind_phys | in | F | !! | im | horizontal_loop_extent | horizontal loop extent | index | 0 | integer | default | in | F | !! | ix | horizontal_dimension | horizontal dimension | index | 0 | integer | default | in | F | -!! | rn | instantaneous_rainfall_amount | convective rainfall | m | 1 | real | kind_phys | in | F | +!! | rn | timestep_convective_rainfall_amount | convective rainfall amount | m | 1 | real | kind_phys | in | F | !! | kbot | vertical_index_at_cloud_base | vertical index at cloud base | index | 1 | integer | default | in | F | !! | ktop | vertical_index_at_cloud_top | vertical index at cloud top | index | 1 | integer | default | in | F | !! | km | vertical_dimension | number of vertical layers | index | 0 | integer | default | in | F | diff --git a/physics/dcyc2.f b/physics/dcyc2.f index a0fe4ee1f..aac73294a 100644 --- a/physics/dcyc2.f +++ b/physics/dcyc2.f @@ -155,7 +155,7 @@ end subroutine dcyc2t3_init !! \section arg_table_dcyc2t3_run Argument Table !! | local var name | longname | description | units | rank | type | kind | intent | optional | !! |----------------|------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------|---------|------|---------|-----------|--------|----------| -!! | solhr | forecast_hour | forecast time in 24-hour form | hr | 0 | real | kind_phys | in | F | +!! | solhr | forecast_hour | forecast time in 24-hour form | h | 0 | real | kind_phys | in | F | !! | slag | equation_of_time | equation of time | radians | 0 | real | kind_phys | in | F | !! | sdec | sine_of_solar_declination_angle | sine of solar declination angle | none | 0 | real | kind_phys | in | F | !! | cdec | cosine_of_solar_declination_angle | cosine of solar declination angle | none | 0 | real | kind_phys | in | F | @@ -349,14 +349,14 @@ end subroutine dcyc2t3_post_init !! \section arg_table_dcyc2t3_post_run Argument Table -!! | local var name | longname | description | units | rank | type | kind | intent | optional | -!! |----------------|----------------------------------------|--------------------------------------------------------|---------|------|---------------|-----------|--------|----------| -!! | im | horizontal_loop_extent | horizontal loop extent | index | 0 | integer | default | in | F | -!! | adjsfcdlw | surface_downwelling_longwave_flux | surface downwelling longwave flux at current time | W m-2 | 1 | real | kind_phys | in | F | -!! | adjsfculw | surface_upwelling_longwave_flux | surface upwelling longwave flux at current time | W m-2 | 1 | real | kind_phys | in | F | -!! | adjsfcdsw | surface_downwelling_shortwave_flux | surface downwelling shortwave flux at current time | W m-2 | 1 | real | kind_phys | in | F | -!! | adjsfcnsw | surface_net_downwelling_shortwave_flux | surface net downwelling shortwave flux at current time | W m-2 | 1 | real | kind_phys | in | F | -!! | Diag | Diag | GFS diagnostics derived data type variable | various | 0 | GFS_diag_type | | inout | F | +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |----------------|----------------------------------------|--------------------------------------------------------|---------|------|----------------------------|-----------|--------|----------| +!! | im | horizontal_loop_extent | horizontal loop extent | index | 0 | integer | default | in | F | +!! | adjsfcdlw | surface_downwelling_longwave_flux | surface downwelling longwave flux at current time | W m-2 | 1 | real | kind_phys | in | F | +!! | adjsfculw | surface_upwelling_longwave_flux | surface upwelling longwave flux at current time | W m-2 | 1 | real | kind_phys | in | F | +!! | adjsfcdsw | surface_downwelling_shortwave_flux | surface downwelling shortwave flux at current time | W m-2 | 1 | real | kind_phys | in | F | +!! | adjsfcnsw | surface_net_downwelling_shortwave_flux | surface net downwelling shortwave flux at current time | W m-2 | 1 | real | kind_phys | in | F | +!! | Diag | FV3-GFS_Diag_type | GFS diagnostics derived data type variable | DDT | 0 | GFS_typedefs%GFS_diag_type | | inout | F | !! subroutine dcyc2t3_post_run( & & im, adjsfcdlw, adjsfculw, adjsfcdsw, adjsfcnsw, Diag) diff --git a/physics/get_prs_fv3.f90 b/physics/get_prs_fv3.f90 index e1ae3b2d0..68248d60e 100644 --- a/physics/get_prs_fv3.f90 +++ b/physics/get_prs_fv3.f90 @@ -89,7 +89,7 @@ end subroutine get_phi_fv3_init !! | ix | horizontal_dimension | horizontal dimension | index | 0 | integer | default | in | F | !! | levs | vertical_dimension | number of vertical layers | index | 0 | integer | default | in | F | !! | gt0 | air_temperature_updated_by_physics | updated air temperature | K | 2 | real | kind_phys | in | F | -!! | gq01 | water_vapor_specific_humidity | mid-layer specific humidity of water vapor | kg kg-1 | 2 | real | kind_phys | in | F | +!! | gq01 | water_vapor_specific_humidity_updated_by_physics | mid-layer specific humidity of water vapor | kg kg-1 | 2 | real | kind_phys | in | F | !! | del_gz | geopotential_difference_between_midlayers_divided_by_midlayer virtual_temperature | difference between mid-layer geopotentials divided by mid-layer virtual temperature | m2 s-2 K-1 | 2 | real | kind_phys | inout | F | !! | phii | geopotential_at_interface | interface geopotential | m2 s-2 | 2 | real | kind_phys | inout | F | !! | phil | geopotential | mid-layer geopotential | m2 s-2 | 2 | real | kind_phys | inout | F | diff --git a/physics/gscond.f b/physics/gscond.f index a71f42140..764f590aa 100644 --- a/physics/gscond.f +++ b/physics/gscond.f @@ -63,30 +63,30 @@ end subroutine gscond_init !! steps, and on the temperature. Evaporation of cloud is allowed at !! points where the relative humidity is lower than the critical value !! required for condensation. -!!\section arg_table_gscond_run Argument Table -!!| local var name | longname |description | units | rank | type | kind | intent | optional | -!!|----------------|----------------------------------------------------------|----------------------------------------------------------|---------|------|---------|-----------|--------|----------| -!!| im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | -!!| ix | horizontal_dimension | horizontal dimension | index | 0 | integer | | in | F | -!!| km | vertical_dimension | vertical layer dimension | index | 0 | integer | | in | F | -!!| dt | time_step_for_physics | physics time step | s | 0 | real | kind_phys | in | F | -!!| dtf | time_step_for_dynamics | dynamics time step | s | 0 | real | kind_phys | in | F | -!!| prsl | air_pressure | layer mean air pressure | Pa | 2 | real | kind_phys | in | F | -!!| ps | surface_air_pressure | surface pressure | Pa | 1 | real | kind_phys | in | F | -!!| q | water_vapor_specific_humidity | water vapor specific humidity | kg kg-1 | 2 | real | kind_phys | inout | F | -!!| clw1 | cloud_ice_specific_humidity | cloud ice specific humidity | kg kg-1 | 2 | real | kind_phys | in | F | -!!| clw2 | cloud_liquid_water_specific_humidity | cloud water specific humidity | kg kg-1 | 2 | real | kind_phys | in | F | -!!| cwm | cloud_condensed_water_specific_humidity | cloud condensed water specific humidity | kg kg-1 | 2 | real | kind_phys | out | F | -!!| t | air_temperature_updated_by_physics | layer mean air temperature | K | 2 | real | kind_phys | inout | F | -!!| tp | air_temperature_at_two_time_step_back | air temperature at two time step back | K | 2 | real | kind_phys | inout | F | -!!| qp | water_vapor_specific_humidity_at_two_time_step_back | water vapor specific humidity at two time step back | kg kg-1 | 2 | real | kind_phys | inout | F | -!!| psp | surface_air_pressure_at_two_time_step_back | surface air pressure at two time step back | Pa | 1 | real | kind_phys | inout | F | -!!| tp1 | air_temperature_at_previous_time_step | air temperature at previous time step | K | 2 | real | kind_phys | inout | F | -!!| qp1 | water_vapor_specific_humidity_at_previous_time_step | water vapor specific humidity at previous time step | kg kg-1 | 2 | real | kind_phys | inout | F | -!!| psp1 | surface_air_pressure_at_previous_time_step | surface air surface pressure at previous time step | Pa | 1 | real | kind_phys | inout | F | -!!| u | critical_relative_humidity | critical relative humidity | 1 | 2 | real | kind_phys | in | F | -!!| lprnt | flag_print | flag for printing diagnostics to output | flag | 0 | logical | | in | F | -!!| ipr | horizontal_index_of_printed_column | horizontal index of printed column | index | 0 | integer | | in | F | +!! \section arg_table_gscond_run Argument Table +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |----------------|------------------------------------------------------------|----------------------------------------------------------|---------|------|---------|-----------|--------|----------| +!! | im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | +!! | ix | horizontal_dimension | horizontal dimension | index | 0 | integer | | in | F | +!! | km | vertical_dimension | vertical layer dimension | index | 0 | integer | | in | F | +!! | dt | time_step_for_physics | physics time step | s | 0 | real | kind_phys | in | F | +!! | dtf | time_step_for_dynamics | dynamics time step | s | 0 | real | kind_phys | in | F | +!! | prsl | air_pressure | layer mean air pressure | Pa | 2 | real | kind_phys | in | F | +!! | ps | surface_air_pressure | surface pressure | Pa | 1 | real | kind_phys | in | F | +!! | q | water_vapor_specific_humidity_updated_by_physics | water vapor specific humidity | kg kg-1 | 2 | real | kind_phys | inout | F | +!! | clw1 | cloud_ice_specific_humidity | cloud ice specific humidity | kg kg-1 | 2 | real | kind_phys | in | F | +!! | clw2 | cloud_liquid_water_specific_humidity | cloud water specific humidity | kg kg-1 | 2 | real | kind_phys | in | F | +!! | cwm | cloud_condensed_water_specific_humidity_updated_by_physics | cloud condensed water specific humidity | kg kg-1 | 2 | real | kind_phys | out | F | +!! | t | air_temperature_updated_by_physics | layer mean air temperature | K | 2 | real | kind_phys | inout | F | +!! | tp | air_temperature_at_two_time_step_back | air temperature at two time step back | K | 2 | real | kind_phys | inout | F | +!! | qp | water_vapor_specific_humidity_at_two_time_step_back | water vapor specific humidity at two time step back | kg kg-1 | 2 | real | kind_phys | inout | F | +!! | psp | surface_air_pressure_at_two_time_step_back | surface air pressure at two time step back | Pa | 1 | real | kind_phys | inout | F | +!! | tp1 | air_temperature_at_previous_time_step | air temperature at previous time step | K | 2 | real | kind_phys | inout | F | +!! | qp1 | water_vapor_specific_humidity_at_previous_time_step | water vapor specific humidity at previous time step | kg kg-1 | 2 | real | kind_phys | inout | F | +!! | psp1 | surface_air_pressure_at_previous_time_step | surface air surface pressure at previous time step | Pa | 1 | real | kind_phys | inout | F | +!! | u | critical_relative_humidity | critical relative humidity | frac | 2 | real | kind_phys | in | F | +!! | lprnt | flag_print | flag for printing diagnostics to output | flag | 0 | logical | | in | F | +!! | ipr | horizontal_index_of_printed_column | horizontal index of printed column | index | 0 | integer | | in | F | !! !! \section def Definition of symbols !! - \f$C_{g}\f$: grid-scale condensation rate (\f$s^{-1}\f$) diff --git a/physics/gwdc.f b/physics/gwdc.f index 009a8215f..a34593304 100644 --- a/physics/gwdc.f +++ b/physics/gwdc.f @@ -82,23 +82,23 @@ end subroutine gwdc_pre_init !! \brief Brief description of the subroutine !! !! \section arg_table_gwdc_pre_run Argument Table -!! | local var name | longname | description | units | rank | type | kind | intent | optional | -!! |----------------|---------------------------------------------------------|---------------------------------------------------------|-------|------|---------|-----------|--------|----------| -!! | im | horizontal_loop_extent | horizontal loop extent | index | 0 | integer | default | in | F | -!! | cgwf | multiplication_factors_for_convective_gravity_wave_drag | multiplication factors for convective gravity wave drag | none | 1 | real | kind_phys | in | F | -!! | dx | grid_size_in_x | grid size in zonal direction | m | 1 | real | kind_phys | in | F | -!! | work1 | work_array_1 | work array #1 | none | 1 | real | kind_phys | in | F | -!! | work2 | work_array_2 | work array #2 | none | 1 | real | kind_phys | in | F | -!! | dlength | characteristic_grid_length_scale | representative horizontal length scale of grid box | m | 1 | real | kind_phys | out | F | -!! | cldf | cloud_area_fraction | fraction of grid box area in which updrafts occur | frac | 1 | real | kind_phys | out | F | -!! | levs | vertical_dimension | number of vertical layers | index | 0 | integer | default | in | F | -!! | kbot | vertical_index_at_cloud_base | vertical index at cloud base | index | 1 | integer | default | in | F | -!! | ktop | vertical_index_at_cloud_top | vertical index at cloud top | index | 1 | integer | default | in | F | -!! | dtp | time_step_for_physics | physics time step | s | 0 | real | kind_phys | in | F | -!! | gt0 | air_temperature_updated_by_physics | updated air temperature | K | 2 | real | kind_phys | in | F | -!! | gt0_init | air_temperature_initial | air temperature before entering convection scheme | K | 2 | real | kind_phys | in | F | -!! | del | air_pressure_difference_between_midlayers | difference between mid-layer pressures | Pa | 2 | real | kind_phys | in | F | -!! | cumabs | maximum_column_heating_rate | maximum heating rate in column | K s-1 | 1 | real | kind_phys | out | F | +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |----------------|--------------------------------------------------------------------------|---------------------------------------------------------------|-------|------|---------|-----------|--------|----------| +!! | im | horizontal_loop_extent | horizontal loop extent | index | 0 | integer | default | in | F | +!! | cgwf | multiplication_factors_for_convective_gravity_wave_drag | multiplication factors for convective gravity wave drag | none | 1 | real | kind_phys | in | F | +!! | dx | grid_size_in_x | grid size in zonal direction | m | 1 | real | kind_phys | in | F | +!! | work1 | grid_size_related_coefficient_used_in_scale-sensitive_schemes | grid size related coefficient used in scale-sensitive schemes | none | 1 | real | kind_phys | in | F | +!! | work2 | grid_size_related_coefficient_used_in_scale-sensitive_schemes_complement | complement to work1 | none | 1 | real | kind_phys | in | F | +!! | dlength | characteristic_grid_length_scale | representative horizontal length scale of grid box | m | 1 | real | kind_phys | out | F | +!! | cldf | cloud_area_fraction | fraction of grid box area in which updrafts occur | frac | 1 | real | kind_phys | out | F | +!! | levs | vertical_dimension | number of vertical layers | index | 0 | integer | default | in | F | +!! | kbot | vertical_index_at_cloud_base | vertical index at cloud base | index | 1 | integer | default | in | F | +!! | ktop | vertical_index_at_cloud_top | vertical index at cloud top | index | 1 | integer | default | in | F | +!! | dtp | time_step_for_physics | physics time step | s | 0 | real | kind_phys | in | F | +!! | gt0 | air_temperature_updated_by_physics | updated air temperature | K | 2 | real | kind_phys | in | F | +!! | gt0_init | air_temperature_save | air temperature before entering convection scheme | K | 2 | real | kind_phys | in | F | +!! | del | air_pressure_difference_between_midlayers | difference between mid-layer pressures | Pa | 2 | real | kind_phys | in | F | +!! | cumabs | maximum_column_heating_rate | maximum heating rate in column | K s-1 | 1 | real | kind_phys | out | F | !! subroutine gwdc_pre_run ( & & im, cgwf, dx, work1, work2, dlength, cldf, & diff --git a/physics/mfdeepcnv.f b/physics/mfdeepcnv.f index 01384f23c..e106ebeba 100755 --- a/physics/mfdeepcnv.f +++ b/physics/mfdeepcnv.f @@ -33,36 +33,36 @@ end subroutine sasasdeep_finalize !> \brief Brief description of the subroutine !! !! \section arg_table_sasasdeep_run Argument Table -!! | local var name | longname | description | units | rank | type | kind | intent | optional | -!! |----------------|-----------------------------------------------------------|------------------------------------|---------|------|---------|-----------|--------|----------| -!! | im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | -!! | ix | horizontal_dimension | horizontal dimension | index | 0 | integer | | in | F | -!! | km | vertical_dimension | vertical layer dimension | index | 0 | integer | | in | F | -!! | delt | time_step_for_physics | physics time step | s | 0 | real | kind_phys | in | F | -!! | delp | air_pressure_difference_between_midlayers | pres(k) - pres(k+1) | Pa | 2 | real | kind_phys | in | F | -!! | prslp | air_pressure | mean layer pressure | Pa | 2 | real | kind_phys | in | F | -!! | psp | surface_air_pressure | surface pressure | Pa | 1 | real | kind_phys | in | F | -!! | phil | geopotential | layer geopotential | m2 s-2 | 2 | real | kind_phys | in | F | -!! | ql1 | cloud_ice_specific_humidity | cloud ice specific humidity | kg kg-1 | 2 | real | kind_phys | inout | F | -!! | ql2 | cloud_liquid_water_specific_humidity | cloud water specific humidity | kg kg-1 | 2 | real | kind_phys | inout | F | -!! | q1 | water_vapor_specific_humidity_updated_by_physics | updated vapor specific humidity | kg kg-1 | 2 | real | kind_phys | inout | F | -!! | t1 | air_temperature_updated_by_physics | updated temperature | K | 2 | real | kind_phys | inout | F | -!! | u1 | x_wind_updated_by_physics | updated x-direction wind | m s-1 | 2 | real | kind_phys | inout | F | -!! | v1 | y_wind_updated_by_physics | updated y-direction wind | m s-1 | 2 | real | kind_phys | inout | F | -!! | cldwrk | cloud_work_function | cloud work function | m2 s-2 | 1 | real | kind_phys | out | F | -!! | rn | instantaneous_rainfall_amount | convective rain | m | 1 | real | kind_phys | out | F | -!! | kbot | vertical_index_at_cloud_base | index for cloud base | index | 1 | integer | | out | F | -!! | ktop | vertical_index_at_cloud_top | index for cloud top | index | 1 | integer | | out | F | -!! | kcnv | flag_deep_convection | deep convection: 0=no, 1=yes | flag | 1 | integer | | out | F | -!! | islimsk | sea_land_ice_mask | landmask: sea/land/ice=0/1/2 | flag | 1 | integer | | in | F | -!! | garea | cell_area | grid cell area | m2 | 1 | real | kind_phys | in | F | -!! | dot | omega | layer mean vertical velocity | Pa s-1 | 2 | real | kind_phys | in | F | -!! | ncloud | number_of_hydrometeors | number of hydrometeors | count | 0 | integer | | in | F | -!! | ud_mf | instantaneous_atmosphere_updraft_convective_mass_flux | (updraft mass flux) * delt | kg m-2 | 2 | real | kind_phys | out | F | -!! | dd_mf | instantaneous_atmosphere_downdraft_convective_mass_flux | (downdraft mass flux) * delt | kg m-2 | 2 | real | kind_phys | out | F | -!! | dt_mf | instantaneous_atmosphere_detrainment_convective_mass_flux | (detrainment mass flux) * delt | kg m-2 | 2 | real | kind_phys | out | F | -!! | cnvw | convective_cloud_water_specific_humidity | convective cloud water | kg kg-1 | 2 | real | kind_phys | out | F | -!! | cnvc | convective_cloud_cover | convective cloud cover | frac | 2 | real | kind_phys | out | F | +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |----------------|-----------------------------------------------------------|-------------------------------------------------|---------|------|---------|-----------|--------|----------| +!! | im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | +!! | ix | horizontal_dimension | horizontal dimension | index | 0 | integer | | in | F | +!! | km | vertical_dimension | vertical layer dimension | index | 0 | integer | | in | F | +!! | delt | time_step_for_physics | physics time step | s | 0 | real | kind_phys | in | F | +!! | delp | air_pressure_difference_between_midlayers | pres(k) - pres(k+1) | Pa | 2 | real | kind_phys | in | F | +!! | prslp | air_pressure | mean layer pressure | Pa | 2 | real | kind_phys | in | F | +!! | psp | surface_air_pressure | surface pressure | Pa | 1 | real | kind_phys | in | F | +!! | phil | geopotential | layer geopotential | m2 s-2 | 2 | real | kind_phys | in | F | +!! | ql1 | cloud_ice_specific_humidity | cloud ice specific humidity | kg kg-1 | 2 | real | kind_phys | inout | F | +!! | ql2 | cloud_liquid_water_specific_humidity | cloud water specific humidity | kg kg-1 | 2 | real | kind_phys | inout | F | +!! | q1 | water_vapor_specific_humidity_updated_by_physics | updated vapor specific humidity | kg kg-1 | 2 | real | kind_phys | inout | F | +!! | t1 | air_temperature_updated_by_physics | updated temperature | K | 2 | real | kind_phys | inout | F | +!! | u1 | x_wind_updated_by_physics | updated x-direction wind | m s-1 | 2 | real | kind_phys | inout | F | +!! | v1 | y_wind_updated_by_physics | updated y-direction wind | m s-1 | 2 | real | kind_phys | inout | F | +!! | cldwrk | cloud_work_function | cloud work function | m2 s-2 | 1 | real | kind_phys | out | F | +!! | rn | rainfall_amount_on_physics_timestep | convective rainfall amount on physics timestep | m | 1 | real | kind_phys | out | F | +!! | kbot | vertical_index_at_cloud_base | index for cloud base | index | 1 | integer | | out | F | +!! | ktop | vertical_index_at_cloud_top | index for cloud top | index | 1 | integer | | out | F | +!! | kcnv | flag_deep_convection | deep convection: 0=no, 1=yes | flag | 1 | integer | | out | F | +!! | islimsk | sea_land_ice_mask | landmask: sea/land/ice=0/1/2 | flag | 1 | integer | | in | F | +!! | garea | cell_area | grid cell area | m2 | 1 | real | kind_phys | in | F | +!! | dot | omega | layer mean vertical velocity | Pa s-1 | 2 | real | kind_phys | in | F | +!! | ncloud | number_of_hydrometeors | number of hydrometeors | count | 0 | integer | | in | F | +!! | ud_mf | instantaneous_atmosphere_updraft_convective_mass_flux | (updraft mass flux) * delt | kg m-2 | 2 | real | kind_phys | out | F | +!! | dd_mf | instantaneous_atmosphere_downdraft_convective_mass_flux | (downdraft mass flux) * delt | kg m-2 | 2 | real | kind_phys | out | F | +!! | dt_mf | instantaneous_atmosphere_detrainment_convective_mass_flux | (detrainment mass flux) * delt | kg m-2 | 2 | real | kind_phys | out | F | +!! | cnvw | convective_cloud_water_specific_humidity | convective cloud water | kg kg-1 | 2 | real | kind_phys | out | F | +!! | cnvc | convective_cloud_cover | convective cloud cover | frac | 2 | real | kind_phys | out | F | !! !! \section general General Algorithm !! \section detailed Detailed Algorithm diff --git a/physics/mfshalcnv.f b/physics/mfshalcnv.f index 736f8b006..3b6e9c207 100755 --- a/physics/mfshalcnv.f +++ b/physics/mfshalcnv.f @@ -20,35 +20,35 @@ end subroutine sasasshal_init !> \brief Brief description of the subroutine !! !! \section arg_table_sasasshal_run Argument Table -!! | local var name | longname | description | units | rank | type | kind | intent | optional | -!! |----------------|-----------------------------------------------------------|------------------------------------------|---------|------|---------|-----------|--------|----------| -!! | im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | -!! | ix | horizontal_dimension | horizontal dimension | index | 0 | integer | | in | F | -!! | km | vertical_dimension | vertical layer dimension | index | 0 | integer | | in | F | -!! | delt | time_step_for_physics | physics time step | s | 0 | real | kind_phys | in | F | -!! | delp | air_pressure_difference_between_midlayers | pres(k) - pres(k+1) | Pa | 2 | real | kind_phys | in | F | -!! | prslp | air_pressure | mean layer pressure | Pa | 2 | real | kind_phys | in | F | -!! | psp | surface_air_pressure | surface pressure | Pa | 1 | real | kind_phys | in | F | -!! | phil | geopotential | layer geopotential | m2 s-2 | 2 | real | kind_phys | in | F | -!! | ql1 | cloud_ice_specific_humidity | cloud ice specific humidity | kg kg-1 | 2 | real | kind_phys | inout | F | -!! | ql2 | cloud_liquid_water_specific_humidity | cloud water specific humidity | kg kg-1 | 2 | real | kind_phys | inout | F | -!! | q1 | water_vapor_specific_humidity | updated vapor specific humidity | kg kg-1 | 2 | real | kind_phys | inout | F | -!! | t1 | air_temperature_updated_by_physics | updated temperature | K | 2 | real | kind_phys | inout | F | -!! | u1 | x_wind_updated_by_physics | updated x-direction wind | m s-1 | 2 | real | kind_phys | inout | F | -!! | v1 | y_wind_updated_by_physics | updated y-direction wind | m s-1 | 2 | real | kind_phys | inout | F | -!! | rn | instantaneous_rainfall_amount | convective rain | m | 1 | real | kind_phys | out | F | -!! | kbot | vertical_index_at_cloud_base | index at cloud base | index | 1 | integer | | out | F | -!! | ktop | vertical_index_at_cloud_top | index at cloud top | index | 1 | integer | | out | F | -!! | kcnv | flag_deep_convection | deep convection: 0=no, 1=yes | flag | 1 | integer | | out | F | -!! | islimsk | sea_land_ice_mask | landmask: sea/land/ice=0/1/2 | flag | 1 | integer | | in | F | -!! | garea | cell_area | grid cell area | m2 | 1 | real | kind_phys | in | F | -!! | dot | omega | layer mean vertical velocity | Pa s-1 | 2 | real | kind_phys | in | F | -!! | ncloud | number_of_hydrometeors | number of hydrometeors | count | 0 | integer | | in | F | -!! | hpbl | atmosphere_boundary_layer_thickness | PBL top height | m | 1 | real | kind_phys | in | F | -!! | ud_mf | instantaneous_atmosphere_updraft_convective_mass_flux | (updraft mass flux) * delt | kg m-2 | 2 | real | kind_phys | out | F | -!! | dt_mf | instantaneous_atmosphere_detrainment_convective_mass_flux | (detrainment mass flux) * delt | kg m-2 | 2 | real | kind_phys | out | F | -!! | cnvw | convective_cloud_water_specific_humidity | convective cloud water specific humidity | kg kg-1 | 2 | real | kind_phys | out | F | -!! | cnvc | convective_cloud_cover | convective cloud cover | frac | 2 | real | kind_phys | out | F | +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |----------------|-----------------------------------------------------------|-------------------------------------------------|---------|------|---------|-----------|--------|----------| +!! | im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | +!! | ix | horizontal_dimension | horizontal dimension | index | 0 | integer | | in | F | +!! | km | vertical_dimension | vertical layer dimension | index | 0 | integer | | in | F | +!! | delt | time_step_for_physics | physics time step | s | 0 | real | kind_phys | in | F | +!! | delp | air_pressure_difference_between_midlayers | pres(k) - pres(k+1) | Pa | 2 | real | kind_phys | in | F | +!! | prslp | air_pressure | mean layer pressure | Pa | 2 | real | kind_phys | in | F | +!! | psp | surface_air_pressure | surface pressure | Pa | 1 | real | kind_phys | in | F | +!! | phil | geopotential | layer geopotential | m2 s-2 | 2 | real | kind_phys | in | F | +!! | ql1 | cloud_ice_specific_humidity | cloud ice specific humidity | kg kg-1 | 2 | real | kind_phys | inout | F | +!! | ql2 | cloud_liquid_water_specific_humidity | cloud water specific humidity | kg kg-1 | 2 | real | kind_phys | inout | F | +!! | q1 | water_vapor_specific_humidity_updated_by_physics | updated vapor specific humidity | kg kg-1 | 2 | real | kind_phys | inout | F | +!! | t1 | air_temperature_updated_by_physics | updated temperature | K | 2 | real | kind_phys | inout | F | +!! | u1 | x_wind_updated_by_physics | updated x-direction wind | m s-1 | 2 | real | kind_phys | inout | F | +!! | v1 | y_wind_updated_by_physics | updated y-direction wind | m s-1 | 2 | real | kind_phys | inout | F | +!! | rn | rainfall_amount_on_physics_timestep | convective rainfall amount on physics timestep | m | 1 | real | kind_phys | out | F | +!! | kbot | vertical_index_at_cloud_base | index at cloud base | index | 1 | integer | | out | F | +!! | ktop | vertical_index_at_cloud_top | index at cloud top | index | 1 | integer | | out | F | +!! | kcnv | flag_deep_convection | deep convection: 0=no, 1=yes | flag | 1 | integer | | out | F | +!! | islimsk | sea_land_ice_mask | landmask: sea/land/ice=0/1/2 | flag | 1 | integer | | in | F | +!! | garea | cell_area | grid cell area | m2 | 1 | real | kind_phys | in | F | +!! | dot | omega | layer mean vertical velocity | Pa s-1 | 2 | real | kind_phys | in | F | +!! | ncloud | number_of_hydrometeors | number of hydrometeors | count | 0 | integer | | in | F | +!! | hpbl | atmosphere_boundary_layer_thickness | PBL top height | m | 1 | real | kind_phys | in | F | +!! | ud_mf | instantaneous_atmosphere_updraft_convective_mass_flux | (updraft mass flux) * delt | kg m-2 | 2 | real | kind_phys | out | F | +!! | dt_mf | instantaneous_atmosphere_detrainment_convective_mass_flux | (detrainment mass flux) * delt | kg m-2 | 2 | real | kind_phys | out | F | +!! | cnvw | convective_cloud_water_specific_humidity | convective cloud water specific humidity | kg kg-1 | 2 | real | kind_phys | out | F | +!! | cnvc | convective_cloud_cover | convective cloud cover | frac | 2 | real | kind_phys | out | F | !! !! \section general General Algorithm !! \section detailed Detailed Algorithm @@ -1512,16 +1512,16 @@ module sasas_shal_post !> \brief Brief description of the subroutine !! !! \section arg_table_sasasshal_post_run Argument Table -!! | local var name | longname | description | units | rank | type | kind | intent | optional | -!! |----------------|------------------------------------------|----------------------------------------------------------------------|---------|------|-------------------------------|-----------|--------|----------| -!! | frain | dynamics_to_physics_timestep_ratio | ratio of dynamics timestep to physics timestep | none | 0 | real | kind_phys | in | F | -!! | rain1 | instantaneous_rainfall_amount | convective rain | m | 1 | real | kind_phys | in | F | -!! | cnvc | convective_cloud_cover | convective cloud cover | frac | 2 | real | kind_phys | in | F | -!! | cnvw | convective_cloud_water_specific_humidity | convective cloud water specific humidity | kg kg-1 | 2 | real | kind_phys | in | F | -!! | Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | -!! | Grid | FV3-GFS_Grid_type | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 0 | GFS_typedefs%GFS_grid_type | | in | F | -!! | Diag | FV3-GFS_Diag_type | Fortran DDT containing FV3-GFS fields targeted for diagnostic output | DDT | 0 | GFS_typedefs%GFS_diag_type | | inout | F | -!! | Tbd | FV3-GFS_Tbd_type | Fortran DDT containing FV3-GFS miscellaneous data | DDT | 0 | GFS_typedefs%GFS_tbd_type | | inout | F | +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |----------------|-------------------------------------------------|----------------------------------------------------------------------|---------|------|-------------------------------|-----------|--------|----------| +!! | frain | dynamics_to_physics_timestep_ratio | ratio of dynamics timestep to physics timestep | none | 0 | real | kind_phys | in | F | +!! | rain1 | rainfall_amount_on_physics_timestep | convective rainfall amount on physics timestep | m | 1 | real | kind_phys | in | F | +!! | cnvc | convective_cloud_cover | convective cloud cover | frac | 2 | real | kind_phys | in | F | +!! | cnvw | convective_cloud_water_specific_humidity | convective cloud water specific humidity | kg kg-1 | 2 | real | kind_phys | in | F | +!! | Model | FV3-GFS_Control_type | Fortran DDT containing FV3-GFS model control parameters | DDT | 0 | GFS_typedefs%GFS_control_type | | in | F | +!! | Grid | FV3-GFS_Grid_type | Fortran DDT containing FV3-GFS grid and interpolation related data | DDT | 0 | GFS_typedefs%GFS_grid_type | | in | F | +!! | Diag | FV3-GFS_Diag_type | Fortran DDT containing FV3-GFS fields targeted for diagnostic output | DDT | 0 | GFS_typedefs%GFS_diag_type | | inout | F | +!! | Tbd | FV3-GFS_Tbd_type | Fortran DDT containing FV3-GFS miscellaneous data | DDT | 0 | GFS_typedefs%GFS_tbd_type | | inout | F | !! subroutine sasasshal_post_run (frain, rain1, cnvc, cnvw, Model, & & Grid, Diag, Tbd) diff --git a/physics/moninedmf.f b/physics/moninedmf.f index 55450e871..b0d15d359 100755 --- a/physics/moninedmf.f +++ b/physics/moninedmf.f @@ -28,59 +28,59 @@ end subroutine edmf_finalize !! The scheme works on a basic level by calculating background diffusion coefficients and updating them according to which processes are occurring in the column. The most important difference in diffusion coefficients occurs between those levels in the PBL and those above the PBL, so the PBL height calculation is of utmost importance. An initial estimate is calculated in a "predictor" step in order to calculate Monin-Obukhov similarity values and a corrector step recalculates the PBL height based on updated surface thermal characteristics. Using the PBL height and the similarity parameters, the diffusion coefficients are updated below the PBL top based on Hong and Pan (1996) \cite hong_and_pan_1996 (including counter-gradient terms). Diffusion coefficients in the free troposphere (above the PBL top) are calculated according to Louis (1979) \cite louis_1979 with updated Richardson number-dependent functions. If it is diagnosed that PBL top-down mixing is occurring according to Lock et al. (2000) \cite lock_et_al_2000 , then then diffusion coefficients are updated accordingly. Finally, for convective boundary layers (defined as when the Obukhov length exceeds a threshold), the counter-gradient terms are replaced using the mass flux scheme of Siebesma et al. (2007) \cite siebesma_et_al_2007 . In order to return time tendencies, a fully implicit solution is found using tridiagonal matrices, and time tendencies are "backed out." Before returning, the time tendency of temperature is updated to reflect heating due to TKE dissipation following Han et al. (2015) \cite han_et_al_2015 . !! !! \section arg_table_edmf_run -!! | local var name | longname | description | units | rank | type | kind | intent | optional | -!! |----------------|--------------------------------------------------------------|----------------------------------------------------|---------------|------|---------|-----------|--------|----------| -!! | ix | horizontal_dimension | horizontal dimension | index | 0 | integer | | in | F | -!! | im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | -!! | km | vertical_dimension | vertical layer dimension | index | 0 | integer | | in | F | -!! | ntrac | number_of_vertical_diffusion_tracers | number of tracers to diffuse vertically | count | 0 | integer | | in | F | -!! | ntcw | index_for_liquid_cloud_condensate | cloud condensate index in tracer array | index | 0 | integer | | in | F | -!! | dv | tendency_of_y_wind_due_to_model_physics | updated tendency of the y wind | m s-2 | 2 | real | kind_phys | inout | F | -!! | du | tendency_of_x_wind_due_to_model_physics | updated tendency of the x wind | m s-2 | 2 | real | kind_phys | inout | F | -!! | tau | tendency_of_air_temperature_due_to_model_physics | updated tendency of the temperature | K s-1 | 2 | real | kind_phys | inout | F | -!! | rtg | tendency_of_tracers_due_to_model_physics | updated tendency of the tracers | kg kg-1 s-1 | 3 | real | kind_phys | inout | F | -!! | u1 | x_wind | x component of layer wind | m s-1 | 2 | real | kind_phys | in | F | -!! | v1 | y_wind | y component of layer wind | m s-1 | 2 | real | kind_phys | in | F | -!! | t1 | air_temperature | layer mean air temperature | K | 2 | real | kind_phys | in | F | -!! | q1 | tracer_concentration | layer mean tracer concentration | kg kg-1 | 3 | real | kind_phys | in | F | -!! | swh | tendency_of_air_temperature_due_to_shortwave_heating | total sky shortwave heating rate | K s-1 | 2 | real | kind_phys | in | F | -!! | hlw | tendency_of_air_temperature_due_to_longwave_heating | total sky longwave heating rate | K s-1 | 2 | real | kind_phys | in | F | -!! | xmu | zenith_angle_temporal_adjustment_factor_for_shortwave_fluxes | zenith angle temporal adjustment factor for shortwave | none | 1 | real | kind_phys | in | F | -!! | psk | exner_function_at_lowest_model_interface | exner function at the surface interface | none | 1 | real | kind_phys | in | F | -!! | rbsoil | bulk_richardson_number_at_lowest_model_level | bulk Richardson number at the surface | none | 1 | real | kind_phys | in | F | -!! | zorl | surface_roughness_length | surface roughness length in cm | cm | 1 | real | kind_phys | in | F | -!! | u10m | x_wind_at_10m | x component of wind at 10 m | m s-1 | 1 | real | kind_phys | in | F | -!! | v10m | y_wind_at_10m | y component of wind at 10 m | m s-1 | 1 | real | kind_phys | in | F | -!! | fm | Monin-Obukhov_similarity_function_for_momentum | Monin-Obukhov similarity function for momentum | none | 1 | real | kind_phys | in | F | -!! | fh | Monin-Obukhov_similarity_function_for_heat | Monin-Obukhov similarity function for heat | none | 1 | real | kind_phys | in | F | -!! | tsea | surface_skin_temperature | surface temperature | K | 1 | real | kind_phys | in | F | -!! | heat | kinematic_surface_upward_sensible_heat_flux | kinematic surface upward sensible heat flux | K m s-1 | 1 | real | kind_phys | in | F | -!! | evap | kinematic_surface_upward_latent_heat_flux | kinematic surface upward latent heat flux | kg kg-1 m s-1 | 1 | real | kind_phys | in | F | -!! | stress | surface_wind_stress | surface wind stress | m2 s-2 | 1 | real | kind_phys | in | F | -!! | spd1 | wind_speed_at_lowest_model_layer | wind speed at lowest model level | m s-1 | 1 | real | kind_phys | in | F | -!! | kpbl | vertical_index_at_top_of_atmosphere_boundary_layer | PBL top model level index | index | 1 | integer | | out | F | -!! | prsi | air_pressure_at_interface | air pressure at model layer interfaces | Pa | 2 | real | kind_phys | in | F | -!! | del | air_pressure_difference_between_midlayers | pres(k) - pres(k+1) | Pa | 2 | real | kind_phys | in | F | -!! | prsl | air_pressure | mean layer pressure | Pa | 2 | real | kind_phys | in | F | -!! | prslk | dimensionless_exner_function | Exner function at layers | none | 2 | real | kind_phys | in | F | -!! | phii | geopotential_at_interface | geopotential at model layer interfaces | m2 s-2 | 2 | real | kind_phys | in | F | -!! | phil | geopotential | geopotential at model layer centers | m2 s-2 | 2 | real | kind_phys | in | F | -!! | delt | time_step_for_physics | time step for physics | s | 0 | real | kind_phys | in | F | -!! | dspheat | flag_TKE_dissipation_heating | flag for using TKE dissipation heating | flag | 0 | logical | | in | F | -!! | dusfc | instantaneous_surface_x_momentum_flux | x momentum flux | Pa | 1 | real | kind_phys | out | F | -!! | dvsfc | instantaneous_surface_y_momentum_flux | y momentum flux | Pa | 1 | real | kind_phys | out | F | -!! | dtsfc | instantaneous_surface_upward_sensible_heat_flux | surface upward sensible heat flux | W m-2 | 1 | real | kind_phys | out | F | -!! | dqsfc | instantaneous_surface_upward_latent_heat_flux | surface upward latent heat flux | W m-2 | 1 | real | kind_phys | out | F | -!! | hpbl | atmosphere_boundary_layer_thickness | PBL thickness | m | 1 | real | kind_phys | out | F | -!! | hgamt | countergradient_mixing_term_for_temperature | countergradient mixing term for temperature | K | 1 | real | kind_phys | out | F | -!! | hgamq | countergradient_mixing_term_for_water_vapor | countergradient mixing term for water vapor | kg kg-1 | 1 | real | kind_phys | out | F | -!! | dkt | atmosphere_heat_diffusivity | diffusivity for heat | m2 s-1 | 1 | real | kind_phys | out | F | -!! | kinver | index_of_highest_temperature_inversion | index of highest temperature inversion | index | 1 | integer | | in | F | -!! | xkzm_m | atmosphere_momentum_diffusivity_background | background value of momentum diffusivity | m2 s-1 | 0 | real | kind_phys | in | F | -!! | xkzm_h | atmosphere_heat_diffusivity_background | background value of heat diffusivity | m2 s-1 | 0 | real | kind_phys | in | F | -!! | xkzm_s | diffusivity_background_sigma_level | sigma level threshold for background diffusivity | none | 0 | real | kind_phys | in | F | -!! | lprnt | flag_print | flag for printing diagnostics to output | flag | 0 | logical | | in | F | -!! | ipr | horizontal_index_of_printed_column | horizontal index of printed column | index | 0 | integer | | in | F | +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |----------------|-----------------------------------------------------------------------------|-------------------------------------------------------|---------------|------|---------|-----------|--------|----------| +!! | ix | horizontal_dimension | horizontal dimension | index | 0 | integer | | in | F | +!! | im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | +!! | km | vertical_dimension | vertical layer dimension | index | 0 | integer | | in | F | +!! | ntrac | number_of_vertical_diffusion_tracers | number of tracers to diffuse vertically | count | 0 | integer | | in | F | +!! | ntcw | index_for_liquid_cloud_condensate | cloud condensate index in tracer array | index | 0 | integer | | in | F | +!! | dv | tendency_of_y_wind_due_to_model_physics | updated tendency of the y wind | m s-2 | 2 | real | kind_phys | inout | F | +!! | du | tendency_of_x_wind_due_to_model_physics | updated tendency of the x wind | m s-2 | 2 | real | kind_phys | inout | F | +!! | tau | tendency_of_air_temperature_due_to_model_physics | updated tendency of the temperature | K s-1 | 2 | real | kind_phys | inout | F | +!! | rtg | tendency_of_tracers_due_to_model_physics | updated tendency of the tracers | kg kg-1 s-1 | 3 | real | kind_phys | inout | F | +!! | u1 | x_wind | x component of layer wind | m s-1 | 2 | real | kind_phys | in | F | +!! | v1 | y_wind | y component of layer wind | m s-1 | 2 | real | kind_phys | in | F | +!! | t1 | air_temperature | layer mean air temperature | K | 2 | real | kind_phys | in | F | +!! | q1 | tracer_concentration | layer mean tracer concentration, cf. GFS_typedefs.F90 | kg kg-1 | 3 | real | kind_phys | in | F | +!! | swh | tendency_of_air_temperature_due_to_shortwave_heating_on_radiation_time_step | total sky shortwave heating rate | K s-1 | 2 | real | kind_phys | in | F | +!! | hlw | tendency_of_air_temperature_due_to_longwave_heating_on_radiation_time_step | total sky longwave heating rate | K s-1 | 2 | real | kind_phys | in | F | +!! | xmu | zenith_angle_temporal_adjustment_factor_for_shortwave_fluxes | zenith angle temporal adjustment factor for shortwave | none | 1 | real | kind_phys | in | F | +!! | psk | exner_function_at_lowest_model_interface | exner function at the surface interface | none | 1 | real | kind_phys | in | F | +!! | rbsoil | bulk_richardson_number_at_lowest_model_level | bulk Richardson number at the surface | none | 1 | real | kind_phys | in | F | +!! | zorl | surface_roughness_length | surface roughness length in cm | cm | 1 | real | kind_phys | in | F | +!! | u10m | x_wind_at_10m | x component of wind at 10 m | m s-1 | 1 | real | kind_phys | in | F | +!! | v10m | y_wind_at_10m | y component of wind at 10 m | m s-1 | 1 | real | kind_phys | in | F | +!! | fm | Monin-Obukhov_similarity_function_for_momentum | Monin-Obukhov similarity function for momentum | none | 1 | real | kind_phys | in | F | +!! | fh | Monin-Obukhov_similarity_function_for_heat | Monin-Obukhov similarity function for heat | none | 1 | real | kind_phys | in | F | +!! | tsea | surface_skin_temperature | surface temperature | K | 1 | real | kind_phys | in | F | +!! | heat | kinematic_surface_upward_sensible_heat_flux | kinematic surface upward sensible heat flux | K m s-1 | 1 | real | kind_phys | in | F | +!! | evap | kinematic_surface_upward_latent_heat_flux | kinematic surface upward latent heat flux | kg kg-1 m s-1 | 1 | real | kind_phys | in | F | +!! | stress | surface_wind_stress | surface wind stress | m2 s-2 | 1 | real | kind_phys | in | F | +!! | spd1 | wind_speed_at_lowest_model_layer | wind speed at lowest model level | m s-1 | 1 | real | kind_phys | in | F | +!! | kpbl | vertical_index_at_top_of_atmosphere_boundary_layer | PBL top model level index | index | 1 | integer | | out | F | +!! | prsi | air_pressure_at_interface | air pressure at model layer interfaces | Pa | 2 | real | kind_phys | in | F | +!! | del | air_pressure_difference_between_midlayers | pres(k) - pres(k+1) | Pa | 2 | real | kind_phys | in | F | +!! | prsl | air_pressure | mean layer pressure | Pa | 2 | real | kind_phys | in | F | +!! | prslk | dimensionless_exner_function | Exner function at layers | none | 2 | real | kind_phys | in | F | +!! | phii | geopotential_at_interface | geopotential at model layer interfaces | m2 s-2 | 2 | real | kind_phys | in | F | +!! | phil | geopotential | geopotential at model layer centers | m2 s-2 | 2 | real | kind_phys | in | F | +!! | delt | time_step_for_physics | time step for physics | s | 0 | real | kind_phys | in | F | +!! | dspheat | flag_TKE_dissipation_heating | flag for using TKE dissipation heating | flag | 0 | logical | | in | F | +!! | dusfc | instantaneous_surface_x_momentum_flux | x momentum flux | Pa | 1 | real | kind_phys | out | F | +!! | dvsfc | instantaneous_surface_y_momentum_flux | y momentum flux | Pa | 1 | real | kind_phys | out | F | +!! | dtsfc | instantaneous_surface_upward_sensible_heat_flux | surface upward sensible heat flux | W m-2 | 1 | real | kind_phys | out | F | +!! | dqsfc | instantaneous_surface_upward_latent_heat_flux | surface upward latent heat flux | W m-2 | 1 | real | kind_phys | out | F | +!! | hpbl | atmosphere_boundary_layer_thickness | PBL thickness | m | 1 | real | kind_phys | out | F | +!! | hgamt | countergradient_mixing_term_for_temperature | countergradient mixing term for temperature | K | 1 | real | kind_phys | out | F | +!! | hgamq | countergradient_mixing_term_for_water_vapor | countergradient mixing term for water vapor | kg kg-1 | 1 | real | kind_phys | out | F | +!! | dkt | atmosphere_heat_diffusivity | diffusivity for heat | m2 s-1 | 1 | real | kind_phys | out | F | +!! | kinver | index_of_highest_temperature_inversion | index of highest temperature inversion | index | 1 | integer | | in | F | +!! | xkzm_m | atmosphere_momentum_diffusivity_background | background value of momentum diffusivity | m2 s-1 | 0 | real | kind_phys | in | F | +!! | xkzm_h | atmosphere_heat_diffusivity_background | background value of heat diffusivity | m2 s-1 | 0 | real | kind_phys | in | F | +!! | xkzm_s | diffusivity_background_sigma_level | sigma level threshold for background diffusivity | none | 0 | real | kind_phys | in | F | +!! | lprnt | flag_print | flag for printing diagnostics to output | flag | 0 | logical | | in | F | +!! | ipr | horizontal_index_of_printed_column | horizontal index of printed column | index | 0 | integer | | in | F | !! !! \section general General Algorithm !! -# Compute preliminary variables from input arguments. diff --git a/physics/ozphys.f b/physics/ozphys.f index 4e0e94d69..6fa54f6b2 100644 --- a/physics/ozphys.f +++ b/physics/ozphys.f @@ -243,13 +243,13 @@ end subroutine ozphys_post_init !! \section arg_table_ozphys_post_run Argument Table -!! | local var name | longname | description | units | rank | type | kind | intent | optional | -!! |----------------|----------------------------------------------|----------------------------------------------|---------|------|---------------|-----------|--------|----------| -!! | ix | horizontal_dimension | horizontal dimension | index | 0 | integer | default | in | F | -!! | levs | vertical_dimension | number of vertical layers | index | 0 | integer | default | in | F | -!! | pl_coeff | number_of_coefficients_in_ozone_forcing_data | number of coefficients in ozone forcing data | index | 0 | integer | default | in | F | -!! | ozp | change_in_ozone_concentration | change in ozone concentration | kg kg-1 | 3 | real | kind_phys | in | F | -!! | Diag | Diag | GFS diagnostics derived data type variable | various | 0 | GFS_diag_type | | inout | F | +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |----------------|----------------------------------------------|----------------------------------------------|---------|------|----------------------------|-----------|--------|----------| +!! | ix | horizontal_dimension | horizontal dimension | index | 0 | integer | default | in | F | +!! | levs | vertical_dimension | number of vertical layers | index | 0 | integer | default | in | F | +!! | pl_coeff | number_of_coefficients_in_ozone_forcing_data | number of coefficients in ozone forcing data | index | 0 | integer | default | in | F | +!! | ozp | change_in_ozone_concentration | change in ozone concentration | kg kg-1 | 3 | real | kind_phys | in | F | +!! | Diag | FV3-GFS_Diag_type | GFS diagnostics derived data type variable | DDT | 0 | GFS_typedefs%GFS_diag_type | | inout | F | !! subroutine ozphys_post_run(ix, levs, pl_coeff, ozp, Diag) diff --git a/physics/precpd.f b/physics/precpd.f index bae7ae3e0..1c5c61f52 100644 --- a/physics/precpd.f +++ b/physics/precpd.f @@ -22,29 +22,29 @@ end subroutine precpd_init !! \brief This subroutine computes the conversion from condensation to !! precipitation (snow or rain) or evaporation of rain. !! -!!\section arg_table_precpd_run Argument Table -!!| local var name | longname |description | units | rank | type | kind | intent | optional | -!!|----------------|----------------------------------------------------------|-------------------------------------------------------------------|---------|------|---------|----------|---------|----------| -!!| im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | -!!| ix | horizontal_dimension | horizontal dimension | index | 0 | integer | | in | F | -!!| km | vertical_dimension | vertical layer dimension | index | 0 | integer | | in | F | -!!| dt | time_step_for_physics | physics time step | s | 0 | real | kind_phys| in | F | -!!| del | air_pressure_difference_between_midlayers | pressure level thickness | Pa | 2 | real | kind_phys| in | F | -!!| prsl | air_pressure | layer mean pressure | Pa | 2 | real | kind_phys| in | F | -!!| q | water_vapor_specific_humidity | water vapor specific humidity | kg kg-1 | 2 | real | kind_phys| inout | F | -!!| cwm | cloud_condensed_water_specific_humidity | cloud condensed water specific humidity | kg kg-1 | 2 | real | kind_phys| inout | F | -!!| t | air_temperature_updated_by_physics | layer mean air temperature | K | 2 | real | kind_phys| inout | F | -!!| rn | instantaneous_rainfall_amount | large scale rainfall amount | m | 1 | real | kind_phys| out | F | -!!| sr | ratio_of_snowfall_to_rainfall | ratio of snowfall to large-scale rainfall | frac | 1 | real | kind_phys| out | F | -!!| rainp | rain_water_path | rainwater path | kg m-3 | 2 | real | kind_phys| out | F | -!!| u00k | critical_relative_humidity | critical relative humidity | 1 | 2 | real | kind_phys| in | F | -!!| psautco | coefficient_from_cloud_ice_to_snow | conversion coefficient from cloud ice to snow | 1 | 0 | real | kind_phys| in | F | -!!| prautco | coefficient_from_cloud_water_to_rain | conversion coefficient from cloud water to rain | 1 | 0 | real | kind_phys| in | F | -!!| evpco | coefficient_for_evaporation_of_rainfall | coefficient for evaporation of rainfall | 1 | 0 | real | kind_phys| in | F | -!!| wminco | cloud_condensed_water_conversion_threshold | conversion coefficient from cloud liquid and ice to precipitation | 1 | 0 | real | kind_phys| in | F | -!!| wk1 | coefficient_for_grid | grid coefficient | frac | 1 | real | kind_phys| in | F | -!!| lprnt | flag_print | flag for printing diagnostics to output | flag | 0 | logical | | in | F | -!!| jpr | horizontal_index_of_printed_column | horizontal index of printed column | index | 0 | integer | | in | F | +!! \section arg_table_precpd_run Argument Table +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |----------------|---------------------------------------------------------------|-------------------------------------------------------------------|---------|------|---------|----------|---------|----------| +!! | im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | +!! | ix | horizontal_dimension | horizontal dimension | index | 0 | integer | | in | F | +!! | km | vertical_dimension | vertical layer dimension | index | 0 | integer | | in | F | +!! | dt | time_step_for_physics | physics time step | s | 0 | real | kind_phys| in | F | +!! | del | air_pressure_difference_between_midlayers | pressure level thickness | Pa | 2 | real | kind_phys| in | F | +!! | prsl | air_pressure | layer mean pressure | Pa | 2 | real | kind_phys| in | F | +!! | q | water_vapor_specific_humidity_updated_by_physics | water vapor specific humidity | kg kg-1 | 2 | real | kind_phys| inout | F | +!! | cwm | cloud_condensed_water_specific_humidity_updated_by_physics | cloud condensed water specific humidity | kg kg-1 | 2 | real | kind_phys| inout | F | +!! | t | air_temperature_updated_by_physics | layer mean air temperature | K | 2 | real | kind_phys| inout | F | +!! | rn | rainfall_amount_on_physics_timestep | convective rainfall amount on physics timestep | m | 1 | real | kind_phys| out | F | +!! | sr | ratio_of_snowfall_to_rainfall | ratio of snowfall to large-scale rainfall | frac | 1 | real | kind_phys| out | F | +!! | rainp | rain_water_path | rainwater path | kg m-3 | 2 | real | kind_phys| out | F | +!! | u00k | critical_relative_humidity | critical relative humidity | frac | 2 | real | kind_phys| in | F | +!! | psautco | coefficient_from_cloud_ice_to_snow | conversion coefficient from cloud ice to snow | 1 | 0 | real | kind_phys| in | F | +!! | prautco | coefficient_from_cloud_water_to_rain | conversion coefficient from cloud water to rain | 1 | 0 | real | kind_phys| in | F | +!! | evpco | coefficient_for_evaporation_of_rainfall | coefficient for evaporation of rainfall | 1 | 0 | real | kind_phys| in | F | +!! | wminco | cloud_condensed_water_conversion_threshold | conversion coefficient from cloud liquid and ice to precipitation | 1 | 0 | real | kind_phys| in | F | +!! | wk1 | grid_size_related_coefficient_used_in_scale-sensitive_schemes | grid size related coefficient used in scale-sensitive schemes | none | 1 | real | kind_phys| in | F | +!! | lprnt | flag_print | flag for printing diagnostics to output | flag | 0 | logical | | in | F | +!! | jpr | horizontal_index_of_printed_column | horizontal index of printed column | index | 0 | integer | | in | F | !! !! \section general General Algorithm !! The parameterization of precipitation is required in order to remove diff --git a/physics/radlw_main.f b/physics/radlw_main.f index a15d1c2c1..1df691f1b 100644 --- a/physics/radlw_main.f +++ b/physics/radlw_main.f @@ -452,49 +452,49 @@ subroutine lwrad_init () end subroutine lwrad_init !! \section arg_table_lwrad_run Argument Table -!! | local var name | longname | description | units | rank | type | kind | intent | optional | -!! |-----------------|-----------------------------------------|--------------------------------------------------------|---------|------|-------------|-----------|--------|----------| -!! | plyr | air_pressure_in_hPa | air pressure layer | hPa | 2 | real | kind_phys | in | F | -!! | plvl | air_pressure_level_in_hPa | air pressure level | hPa | 2 | real | kind_phys | in | F | -!! | tlyr | air_temperature | air temperature layer | K | 2 | real | kind_phys | in | F | -!! | tlvl | air_temperature_level | air temperature level | K | 2 | real | kind_phys | in | F | -!! | qlyr | specific_humidity | specific humidity layer | gm gm-1 | 2 | real | kind_phys | in | F | -!! | olyr | ozone_concentration | ozone concentration layer | gm gm-1 | 2 | real | kind_phys | in | F | -!! | gasvmr_co2 | volumetric_mixing_ratio_co2 | volumetric mixing ratio co2 | gm gm-1 | 2 | real | kind_phys | in | F | -!! | gasvmr_n2o | volumetric_mixing_ratio_n2o | volumetric mixing ratio no2 | gm gm-1 | 2 | real | kind_phys | in | F | -!! | gasvmr_ch4 | volumetric_mixing_ratio_ch4 | volumetric mixing ratio ch4 | gm gm-1 | 2 | real | kind_phys | in | F | -!! | gasvmr_o2 | volumetric_mixing_ratio_o2 | volumetric mixing ratio o2 | gm gm-1 | 2 | real | kind_phys | in | F | -!! | gasvmr_co | volumetric_mixing_ratio_co | volumetric mixing ratio co | gm gm-1 | 2 | real | kind_phys | in | F | -!! | gasvmr_cfc11 | volumetric_mixing_ratio_cfc11 | volumetric mixing ratio cfc11 | gm gm-1 | 2 | real | kind_phys | in | F | -!! | gasvmr_cfc12 | volumetric_mixing_ratio_cfc12 | volumetric mixing ratio cfc12 | gm gm-1 | 2 | real | kind_phys | in | F | -!! | gasvmr_cfc22 | volumetric_mixing_ratio_cfc22 | volumetric mixing ratio cfc22 | gm gm-1 | 2 | real | kind_phys | in | F | -!! | gasvmr_ccl4 | volumetric_mixing_ratio_ccl4 | volumetric mixing ratio ccl4 | gm gm-1 | 2 | real | kind_phys | in | F | -!! | icseed | seed_random_numbers | seed for random number generation | | 2 | integer | | in | F | -!! | aeraod | aerosol_optical_depth | aerosol optical depth | | 3 | real | kind_phys | in | F | -!! | aerssa | aerosol_single_scattering_albedo | aerosol sngle scattering albedo | | 3 | real | kind_phys | in | F | -!! | sfemis | surface_longwave_emissivity | surface emissivity | frac | 1 | real | kind_phys | in | F | -!! | sfgtmp | surface_groud_temperature | surface ground temperature | K | 1 | real | kind_phys | in | F | -!! | npts | horizontal_loop_extent | horizontal dimension | index | 0 | integer | | in | F | -!! | nlay | vertical_layer_dimension | vertical layer dimension | index | 0 | integer | | in | F | -!! | nlp1 | vertical_level_dimension | vertical level dimension | index | 0 | integer | | in | F | -!! | lprnt | flag_to_print | logical flag to print | logical | 0 | logical | | in | F | -!! | cld_cf | horizontal_cloud_fraction | horizontal cloud fraction | | 2 | real | kind_phys | in | F | -!! | lslwr | flag_to_calc_lw | logical flag to calculate LW irradiances | logical | 0 | logical | | in | F | -!! | hlwc | lw_heating_rate_total_sky | longwave total sky heating rate | K s-1 | 2 | real | kind_phys | out | F | -!! | topflx | lw_fluxes_top_atmosphere | longwave total sky fluxes at the top of the atm | W m-2 | 1 | topflw_type | kind_phys | out | F | -!! | sfcflx | lw_fluxes_sfc | longwave total sky fluxes at the Earth surface | W m-2 | 1 | sfcflw_type | kind_phys | out | F | -!! | hlw0 | lw_heating_rate_csk | longwave clear sky heating rate | K s-1 | 2 | real | kind_phys | out | T | -!! | hlwb | lw_heating_rate_spectral | longwave total sky heating rate (spectral) | K s-1 | 3 | real | kind_phys | out | T | -!! | flxprf | lw_fluxes | lw fluxes total sky / csk and up / down at levels | W m-2 | 2 | proflw_type | kind_phys | out | T | -!! | cld_lwp | cloud_liquid_water_path | cloud liquid water path | g m-2 | 2 | real | kind_phys | in | T | -!! | cld_ref_liq | effective_radious_liquid_cloud_droplets | effective radious liquid cloud droplets | micron | 2 | real | kind_phys | in | T | -!! | cld_iwp | cloud_ice_water_path | cloud ice water path | g m-2 | 2 | real | kind_phys | in | T | -!! | cld_ref_ice | effective_radious_ice_hydrometeor | effective radious ice hydrometeor | micron | 2 | real | kind_phys | in | T | -!! | cld_rwp | cloud_rain_water_path | cloud ice water path | g m-2 | 2 | real | kind_phys | in | T | -!! | cld_ref_rain | effective_radious_rain_hydrometeor | effective radious rain hydrometeor | micron | 2 | real | kind_phys | in | T | -!! | cld_swp | cloud_snow_water_path | cloud snow water path | g m-2 | 2 | real | kind_phys | in | T | -!! | cld_ref_snow | effective_radious_snow_hydrometeor | effective radious snow hydrometeor | micron | 2 | real | kind_phys | in | T | -!! | cld_od | cloud_optical_depth | cloud optical depth | | 2 | real | kind_phys | in | T | +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |-----------------|----------------------------------------------------------------------------------------------|------------------------------------------------------------|---------|------|-------------|-----------|--------|----------| +!! | plyr | air_pressure_at_layer_for_radiation_in_hPa | air pressure layer | hPa | 2 | real | kind_phys | in | F | +!! | plvl | air_pressure_at_interface_for_radiation_in_hPa | air pressure level | hPa | 2 | real | kind_phys | in | F | +!! | tlyr | air_temperature_at_layer_for_radiation | air temperature layer | K | 2 | real | kind_phys | in | F | +!! | tlvl | air_temperature_at_interface_for_radiation | air temperature level | K | 2 | real | kind_phys | in | F | +!! | qlyr | water_vapor_specific_humidity_at_layer_for_radiation | specific humidity layer | kg kg-1 | 2 | real | kind_phys | in | F | +!! | olyr | ozone_concentration_at_layer_for_radiation | ozone concentration layer | kg kg-1 | 2 | real | kind_phys | in | F | +!! | gasvmr_co2 | volume_mixing_ratio_co2 | volume mixing ratio co2 | kg kg-1 | 2 | real | kind_phys | in | F | +!! | gasvmr_n2o | volume_mixing_ratio_n2o | volume mixing ratio no2 | kg kg-1 | 2 | real | kind_phys | in | F | +!! | gasvmr_ch4 | volume_mixing_ratio_ch4 | volume mixing ratio ch4 | kg kg-1 | 2 | real | kind_phys | in | F | +!! | gasvmr_o2 | volume_mixing_ratio_o2 | volume mixing ratio o2 | kg kg-1 | 2 | real | kind_phys | in | F | +!! | gasvmr_co | volume_mixing_ratio_co | volume mixing ratio co | kg kg-1 | 2 | real | kind_phys | in | F | +!! | gasvmr_cfc11 | volume_mixing_ratio_cfc11 | volume mixing ratio cfc11 | kg kg-1 | 2 | real | kind_phys | in | F | +!! | gasvmr_cfc12 | volume_mixing_ratio_cfc12 | volume mixing ratio cfc12 | kg kg-1 | 2 | real | kind_phys | in | F | +!! | gasvmr_cfc22 | volume_mixing_ratio_cfc22 | volume mixing ratio cfc22 | kg kg-1 | 2 | real | kind_phys | in | F | +!! | gasvmr_ccl4 | volume_mixing_ratio_ccl4 | volume mixing ratio ccl4 | kg kg-1 | 2 | real | kind_phys | in | F | +!! | icseed | seed_random_numbers | seed for random number generation | none | 2 | integer | | in | F | +!! | aeraod | aerosol_optical_depth_for_longwave_bands_01-16 | aerosol optical depth for longwave bands 01-16 | none | 3 | real | kind_phys | in | F | +!! | aerssa | aerosol_single_scattering_albedo_for_longwave_bands_01-16 | aerosol single scattering albedo for longwave bands 01-16 | frac | 3 | real | kind_phys | in | F | +!! | sfemis | surface_longwave_emissivity | surface emissivity | frac | 1 | real | kind_phys | in | F | +!! | sfgtmp | surface_ground_temperature_for_radiation | surface ground temperature for radiation | K | 1 | real | kind_phys | in | F | +!! | npts | horizontal_loop_extent | horizontal dimension | index | 0 | integer | | in | F | +!! | nlay | adjusted_vertical_layer_dimension_for_radiation | number of vertical layers for radiation | index | 0 | integer | | in | F | +!! | nlp1 | adjusted_vertical_level_dimension_for_radiation | number of vertical levels for radiation | index | 0 | integer | | in | F | +!! | lprnt | flag_to_print | logical flag to print | logical | 0 | logical | | in | F | +!! | cld_cf | total_cloud_fraction | total cloud fraction | frac | 2 | real | kind_phys | in | F | +!! | lslwr | flag_to_calc_lw | logical flag to calculate LW irradiances | logical | 0 | logical | | in | F | +!! | hlwc | tendency_of_air_temperature_due_to_longwave_heating_on_radiation_time_step | longwave total sky heating rate | K s-1 | 2 | real | kind_phys | out | F | +!! | topflx | lw_fluxes_top_atmosphere | longwave total sky fluxes at the top of the atm | W m-2 | 1 | topflw_type | kind_phys | out | F | +!! | sfcflx | lw_fluxes_sfc | longwave total sky fluxes at the Earth surface | W m-2 | 1 | sfcflw_type | kind_phys | out | F | +!! | hlw0 | tendency_of_air_temperature_due_to_longwave_heating_assuming_clear_sky_on_radiation_time_step| longwave clear sky heating rate | K s-1 | 2 | real | kind_phys | out | T | +!! | hlwb | lw_heating_rate_spectral | longwave total sky heating rate (spectral) | K s-1 | 3 | real | kind_phys | out | T | +!! | flxprf | lw_fluxes | lw fluxes total sky / csk and up / down at levels | W m-2 | 2 | proflw_type | kind_phys | out | T | +!! | cld_lwp | cloud_liquid_water_path | cloud liquid water path | g m-2 | 2 | real | kind_phys | in | T | +!! | cld_ref_liq | mean_effective_radius_for_liquid_cloud | mean effective radius for liquid cloud | micron | 2 | real | kind_phys | in | T | +!! | cld_iwp | cloud_ice_water_path | cloud ice water path | g m-2 | 2 | real | kind_phys | in | T | +!! | cld_ref_ice | mean_effective_radius_for_ice_cloud | mean effective radius for ice cloud | micron | 2 | real | kind_phys | in | T | +!! | cld_rwp | cloud_rain_water_path | cloud ice water path | g m-2 | 2 | real | kind_phys | in | T | +!! | cld_ref_rain | mean_effective_radius_for_rain_drop | mean effective radius for rain drop | micron | 2 | real | kind_phys | in | T | +!! | cld_swp | cloud_snow_water_path | cloud snow water path | g m-2 | 2 | real | kind_phys | in | T | +!! | cld_ref_snow | mean_effective_radius_for_snow_flake | mean effective radius for snow flake | micron | 2 | real | kind_phys | in | T | +!! | cld_od | cloud_optical_depth | cloud optical depth | none | 2 | real | kind_phys | in | T | !! !> \section gen_lwrad General Algorithm !> @{ diff --git a/physics/radsw_main.f b/physics/radsw_main.f index 30dae805e..e547d562d 100644 --- a/physics/radsw_main.f +++ b/physics/radsw_main.f @@ -585,54 +585,54 @@ end subroutine swrad_init !! \section arg_table_swrad_run Argument Table -!! | local var name | longname | description | units | rank | type | kind | intent | optional | -!! |-----------------|-----------------------------------------|--------------------------------------------------------|---------|------|-------------|-----------|--------|----------| -!! | plyr | air_pressure_in_hPa | air pressure layer | hPa | 2 | real | kind_phys | in | F | -!! | plvl | air_pressure_level_in_hPa | air pressure level | hPa | 2 | real | kind_phys | in | F | -!! | tlyr | air_temperature | air temperature layer | K | 2 | real | kind_phys | in | F | -!! | tlvl | air_temperature_level | air temperature level | K | 2 | real | kind_phys | in | F | -!! | qlyr | specific_humidity | specific humidity layer | gm gm-1 | 2 | real | kind_phys | in | F | -!! | olyr | ozone_concentration | ozone concentration layer | gm gm-1 | 2 | real | kind_phys | in | F | -!! | gasvmr_co2 | volumetric_mixing_ratio_co2 | volumetric mixing ratio co2 | gm gm-1 | 2 | real | kind_phys | in | F | -!! | gasvmr_n2o | volumetric_mixing_ratio_n2o | volumetric mixing ratio no2 | gm gm-1 | 2 | real | kind_phys | in | F | -!! | gasvmr_ch4 | volumetric_mixing_ratio_ch4 | volumetric mixing ratio ch4 | gm gm-1 | 2 | real | kind_phys | in | F | -!! | gasvmr_o2 | volumetric_mixing_ratio_o2 | volumetric mixing ratio o2 | gm gm-1 | 2 | real | kind_phys | in | F | -!! | icseed | seed_random_numbers | seed for random number generation | | 2 | integer | | in | F | -!! | aeraod | aerosol_optical_depth | aerosol optical depth | | 3 | real | kind_phys | in | F | -!! | aerssa | aerosol_single_scattering_albedo | aerosol sngle scattering albedo | | 3 | real | kind_phys | in | F | -!! | aerasy | aerosol_asymetry_parameter | aerosol asymetry paramter | | 3 | real | kind_phys | in | F | -!! | sfcalb_nir_dir | albedo_sfc_nir_dir | near infrared sw albedo for surface direct irradiance | | 1 | real | kind_phys | in | F | -!! | sfcalb_nir_dif | albedo_sfc_nir_dif | near infrared sw albedo for surface diffuse irradiance | | 1 | real | kind_phys | in | F | -!! | sfcalb_uvis_dir | albedo_sfc_uvis_dir | uv - visible sw albedo for surface direct irradiance | | 1 | real | kind_phys | in | F | -!! | sfcalb_uvis_dif | albedo_sfc_uvis_dif | uv - visible sw albedo for surface diffuse irradiance | | 1 | real | kind_phys | in | F | -!! | cosz | cosine_of_zenith_angle | cosine of the solar zenit angle | none | 1 | real | kind_phys | in | F | -!! | solcon | solar_constant | solar constant | W m-2 | 0 | real | kind_phys | in | F | -!! | nday | daytime_points_dimension | daytime points dimension | index | 0 | integer | | in | F | -!! | idxday | daytime_points | daytime points | | 1 | integer | | in | F | -!! | npts | horizontal_loop_extent | horizontal dimension | index | 0 | integer | | in | F | -!! | nlay | vertical_layer_dimension | vertical layer dimension | index | 0 | integer | | in | F | -!! | nlp1 | vertical_level_dimension | vertical level dimension | index | 0 | integer | | in | F | -!! | lprnt | flag_to_print | logical flag to print | logical | 0 | logical | | in | F | -!! | cld_cf | horizontal_cloud_fraction | horizontal cloud fraction | | 2 | real | kind_phys | in | F | -!! | lsswr | flag_to_calc_sw | logical flag to calculate SW irradiances | logical | 0 | logical | | in | F | -!! | hswc | sw_heating_rate_total_sky | shortwave total sky heating rate | k s-1 | 2 | real | kind_phys | out | F | -!! | topflx | sw_fluxes_top_atmosphere | shortwave total sky fluxes at the top of the atm | W m-2 | 1 | topfsw_type | kind_phys | out | F | -!! | sfcflx | sw_fluxes_sfc | shortwave total sky fluxes at the Earth surface | W m-2 | 1 | sfcfsw_type | kind_phys | out | F | -!! | hsw0 | sw_heating_rate_csk | shortwave clear sky heating rate | K s-1 | 2 | real | kind_phys | out | T | -!! | hswb | sw_heating_rate_spectral | shortwave total sky heating rate (spectral) | K s-1 | 3 | real | kind_phys | out | T | -!! | flxprf | sw_fluxes | sw fluxes total sky / csk and up / down at levels | W m-2 | 2 | profsw_type | kind_phys | out | T | -!! | fdncmp | sw_fluxes_down_components_sfc | componenets of the downward sw fluxes at the surface | W m-2 | 1 | cmpfsw_type | kind_phys | out | T | -!! | cld_lwp | cloud_liquid_water_path | cloud liquid water path | g m-2 | 2 | real | kind_phys | in | T | -!! | cld_ref_liq | effective_radious_liquid_cloud_droplets | effective radious liquid cloud droplets | micron | 2 | real | kind_phys | in | T | -!! | cld_iwp | cloud_ice_water_path | cloud ice water path | g m-2 | 2 | real | kind_phys | in | T | -!! | cld_ref_ice | effective_radious_ice_hydrometeor | effective radious ice hydrometeor | micron | 2 | real | kind_phys | in | T | -!! | cld_rwp | cloud_rain_water_path | cloud ice water path | g m-2 | 2 | real | kind_phys | in | T | -!! | cld_ref_rain | effective_radious_rain_hydrometeor | effective radious rain hydrometeor | micron | 2 | real | kind_phys | in | T | -!! | cld_swp | cloud_snow_water_path | cloud snow water path | g m-2 | 2 | real | kind_phys | in | T | -!! | cld_ref_snow | effective_radious_snow_hydrometeor | effective radious snow hydrometeor | micron | 2 | real | kind_phys | in | T | -!! | cld_od | cloud_optical_depth | cloud optical depth | | 2 | real | kind_phys | in | T | -!! | cld_ssa | cloud_single_scattering_albedo | cloud single scattering albedo | | 2 | real | kind_phys | in | T | -!! | cld_asy | cloud_asymetry_parameter | cloud asymetry parameter | | 2 | real | kind_phys | in | T | +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |-----------------|-------------------------------------------------------------------------|--------------------------------------------------------------------------|---------|------|-------------|-----------|--------|----------| +!! | plyr | air_pressure_at_layer_for_radiation_in_hPa | air pressure layer | hPa | 2 | real | kind_phys | in | F | +!! | plvl | air_pressure_at_interface_for_radiation_in_hPa | air pressure level | hPa | 2 | real | kind_phys | in | F | +!! | tlyr | air_temperature_at_layer_for_radiation | air temperature layer | K | 2 | real | kind_phys | in | F | +!! | tlvl | air_temperature_at_interface_for_radiation | air temperature level | K | 2 | real | kind_phys | in | F | +!! | qlyr | water_vapor_specific_humidity_at_layer_for_radiation | specific humidity layer | kg kg-1 | 2 | real | kind_phys | in | F | +!! | olyr | ozone_concentration_at_layer_for_radiation | ozone concentration layer | kg kg-1 | 2 | real | kind_phys | in | F | +!! | gasvmr_co2 | volume_mixing_ratio_co2 | volume mixing ratio co2 | kg kg-1 | 2 | real | kind_phys | in | F | +!! | gasvmr_n2o | volume_mixing_ratio_n2o | volume mixing ratio no2 | kg kg-1 | 2 | real | kind_phys | in | F | +!! | gasvmr_ch4 | volume_mixing_ratio_ch4 | volume mixing ratio ch4 | kg kg-1 | 2 | real | kind_phys | in | F | +!! | gasvmr_o2 | volume_mixing_ratio_o2 | volume mixing ratio o2 | kg kg-1 | 2 | real | kind_phys | in | F | +!! | icseed | seed_random_numbers | seed for random number generation | none | 2 | integer | | in | F | +!! | aeraod | aerosol_optical_depth_for_shortwave_bands_01-16 | aerosol optical depth for shortwave bands 01-16 | none | 3 | real | kind_phys | in | F | +!! | aerssa | aerosol_single_scattering_albedo_for_shortwave_bands_01-16 | aerosol single scattering albedo for shortwave bands 01-16 | frac | 3 | real | kind_phys | in | F | +!! | aerasy | aerosol_asymmetry_parameter_for_shortwave_bands_01-16 | aerosol asymmetry paramter for shortwave bands 01-16 | none | 3 | real | kind_phys | in | F | +!! | sfcalb_nir_dir | surface_albedo_due_to_near_IR_direct | surface albedo due to near IR direct beam | frac | 1 | real | kind_phys | in | F | +!! | sfcalb_nir_dif | surface_albedo_due_to_near_IR_diffused | surface albedo due to near IR diffused beam | frac | 1 | real | kind_phys | in | F | +!! | sfcalb_uvis_dir | surface_albedo_due_to_UV_and_VIS_direct | surface albedo due to UV+VIS direct beam | frac | 1 | real | kind_phys | in | F | +!! | sfcalb_uvis_dif | surface_albedo_due_to_UV_and_VIS_diffused | surface albedo due to UV+VIS diffused beam | frac | 1 | real | kind_phys | in | F | +!! | cosz | cosine_of_zenith_angle | cosine of the solar zenit angle | none | 1 | real | kind_phys | in | F | +!! | solcon | solar_constant | solar constant | W m-2 | 0 | real | kind_phys | in | F | +!! | nday | daytime_points_dimension | daytime points dimension | index | 0 | integer | | in | F | +!! | idxday | daytime_points | daytime points | count | 1 | integer | | in | F | +!! | npts | horizontal_loop_extent | horizontal dimension | index | 0 | integer | | in | F | +!! | nlay | adjusted_vertical_layer_dimension_for_radiation | number of vertical layers for radiation | index | 0 | integer | | in | F | +!! | nlp1 | adjusted_vertical_level_dimension_for_radiation | number of vertical levels for radiation | index | 0 | integer | | in | F | +!! | lprnt | flag_to_print | logical flag to print | logical | 0 | logical | | in | F | +!! | cld_cf | total_cloud_fraction | total cloud fraction | frac | 2 | real | kind_phys | in | F | +!! | lsswr | flag_to_calc_sw | logical flag to calculate SW irradiances | logical | 0 | logical | | in | F | +!! | hswc | tendency_of_air_temperature_due_to_shortwave_heating | shortwave total sky heating rate | K s-1 | 2 | real | kind_phys | out | F | +!! | topflx | sw_fluxes_top_atmosphere | shortwave total sky fluxes at the top of the atm | W m-2 | 1 | topfsw_type | kind_phys | out | F | +!! | sfcflx | sw_fluxes_sfc | shortwave total sky fluxes at the Earth surface | W m-2 | 1 | sfcfsw_type | kind_phys | out | F | +!! | hsw0 | tendency_of_air_temperature_due_to_shortwave_heating_assuming_clear_sky | shortwave clear sky heating rate | K s-1 | 2 | real | kind_phys | out | T | +!! | hswb | sw_heating_rate_spectral | shortwave total sky heating rate (spectral) | K s-1 | 3 | real | kind_phys | out | T | +!! | flxprf | sw_fluxes | sw fluxes total sky / csk and up / down at levels | W m-2 | 2 | profsw_type | kind_phys | out | T | +!! | fdncmp | components_of_surface_downward_shortwave_fluxes | derived type for special components of surface downward shortwave fluxes | W m-2 | 1 | cmpfsw_type | kind_phys | out | T | +!! | cld_lwp | cloud_liquid_water_path | cloud liquid water path | g m-2 | 2 | real | kind_phys | in | T | +!! | cld_ref_liq | mean_effective_radius_for_liquid_cloud | mean effective radius for liquid cloud | micron | 2 | real | kind_phys | in | T | +!! | cld_iwp | cloud_ice_water_path | cloud ice water path | g m-2 | 2 | real | kind_phys | in | T | +!! | cld_ref_ice | mean_effective_radius_for_ice_cloud | mean effective radius for ice cloud | micron | 2 | real | kind_phys | in | T | +!! | cld_rwp | cloud_rain_water_path | cloud rain water path | g m-2 | 2 | real | kind_phys | in | T | +!! | cld_ref_rain | mean_effective_radius_for_rain_drop | mean effective radius for rain drop | micron | 2 | real | kind_phys | in | T | +!! | cld_swp | cloud_snow_water_path | cloud snow water path | g m-2 | 2 | real | kind_phys | in | T | +!! | cld_ref_snow | mean_effective_radius_for_snow_flake | mean effective radius for snow flake | micron | 2 | real | kind_phys | in | T | +!! | cld_od | cloud_optical_depth | cloud optical depth | none | 2 | real | kind_phys | in | T | +!! | cld_ssa | cloud_single_scattering_albedo | cloud single scattering albedo | frac | 2 | real | kind_phys | in | T | +!! | cld_asy | cloud_asymetry_parameter | cloud asymetry parameter | none | 2 | real | kind_phys | in | T | !! !> \section General_swrad General Algorithm !> @{ diff --git a/physics/sfc_drv.f b/physics/sfc_drv.f index 683399c4b..075e7491f 100644 --- a/physics/sfc_drv.f +++ b/physics/sfc_drv.f @@ -23,10 +23,6 @@ end subroutine lsm_noah_pre_finalize !!|----------------|-------------------------------------------------------------|--------------------------------------------|------------|------|---------|-----------|--------|----------| !!| im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | !!| km | soil_vertical_dimension | soil vertical layer dimension | index | 0 | integer | | in | F | -!!| smsoil | volume_fraction_of_soil_moisture | volumetric fraction of soil moisture | frac | 2 | real | kind_phys | inout | F | -!!| slsoil | volume_fraction_of_unfrozen_soil_moisture | volume fraction of unfrozen soil moisture | frac | 2 | real | kind_phys | inout | F | -!!| smsoilin | volume_fraction_of_soil_moisture_input | volumetric fraction of soil moisture input | frac | 2 | real | kind_phys | in | F | -!!| slsoilin | volume_fraction_of_unfrozen_soil_moisture_input | volume fraction of unfrozen soil moisture input | frac | 2 | real | kind_phys | in | F | !!| drain | subsurface_runoff_flux | subsurface runoff flux | g m-2 s-1 | 1 | real | kind_phys | inout | F | !!| runof | surface_runoff_flux | surface runoff flux | g m-2 s-1 | 1 | real | kind_phys | inout | F | !!| evbs | soil_upward_latent_heat_flux | soil upward latent heat flux | W m-2 | 1 | real | kind_phys | inout | F | @@ -41,9 +37,9 @@ end subroutine lsm_noah_pre_finalize !! \section general General Algorithm !! \section detailed Detailed Algorithm !! @{ - subroutine lsm_noah_pre_run & - & (im,km,smsoil,slsoil,smsoilin,slsoilin,drain,runof,evbs,evcw, & - & trans,sbsno,snowc,snohf,smcwlt2,smcref2 & + subroutine lsm_noah_pre_run & + & (im,km,drain,runof,evbs,evcw,trans,sbsno,snowc,snohf,smcwlt2, & + & smcref2 & & ) use machine, only: kind_phys @@ -51,18 +47,9 @@ subroutine lsm_noah_pre_run & ! --- interface variables integer, intent(in) :: im, km - real(kind=kind_phys), dimension(im,km), intent(inout) :: & - & smsoil,slsoil - - real(kind=kind_phys), dimension(im,km), intent(in) :: & - & smsoilin,slsoilin - real(kind=kind_phys), dimension(im), intent(inout) :: & & drain,runof,evbs,evcw,trans,sbsno,snowc,snohf,smcwlt2,smcref2 - smsoil(:,:) = smsoilin(:,:) - slsoil(:,:) = slsoilin(:,:) - drain(:) = 0.0 runof(:) = 0.0 evbs(:) = 0.0 @@ -103,10 +90,6 @@ end subroutine lsm_noah_post_finalize !!|----------------|-------------------------------------------------------------|--------------------------------------------|------------|------|---------|-----------|--------|----------| !!| im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | !!| km | soil_vertical_dimension | soil vertical layer dimension | index | 0 | integer | | in | F | -!!| smsoil | volume_fraction_of_soil_moisture | volumetric fraction of soil moisture | frac | 2 | real | kind_phys | inout | F | -!!| slsoil | volume_fraction_of_unfrozen_soil_moisture | volume fraction of unfrozen soil moisture | frac | 2 | real | kind_phys | inout | F | -!!| smsoilout | volume_fraction_of_soil_moisture_output | volumetric fraction of soil moisture output| frac | 2 | real | kind_phys | in | F | -!!| slsoilout | volume_fraction_of_unfrozen_soil_moisture_output | volume fraction of unfrozen soil moisture output| frac | 2 | real | kind_phys | in | F | !!| flag_lssav | flag_diagnostics | flag for calculating diagnostic fields | flag | 0 | logical | | in | F | !!| dtf | time_step_for_dynamics | dynamics time step | s | 0 | real | kind_phys | in | F | !!| drain | subsurface_runoff_flux | subsurface runoff flux | g m-2 s-1 | 1 | real | kind_phys | inout | F | @@ -119,18 +102,12 @@ end subroutine lsm_noah_post_finalize !! @{ subroutine lsm_noah_post_run & - & (im,km,smsoil,slsoil,smsoilout,slsoilout, & - & flag_lssav,dtf,drain,runof,runoff,srunoff & + & (im,km, flag_lssav,dtf,drain,runof,runoff,srunoff & & ) use machine, only: kind_phys ! --- interface variables integer, intent(in) :: im,km - real(kind=kind_phys), dimension(im,km), intent(in) :: & - & smsoil,slsoil - - real(kind=kind_phys), dimension(im,km), intent(out) :: & - & smsoilout,slsoilout logical, intent(in) :: flag_lssav real, intent (in) :: dtf @@ -145,8 +122,6 @@ subroutine lsm_noah_post_run & runoff(:) = runoff(:) + (drain(:)+runof(:)) * dtf * 0.001 srunoff(:) = srunoff(:) + runof(:) * dtf * 0.001 end if - smsoilout(:,:) = smsoil(:,:) - slsoilout(:,:) = slsoil(:,:) end subroutine lsm_noah_post_run @@ -279,71 +254,71 @@ end subroutine lsm_noah_finalize !> \brief Brief description of the subroutine !! !! \section arg_table_lsm_noah_run Arguments -!!| local var name | longname | description | units | rank | type | kind | intent | optional | -!!|----------------|-------------------------------------------------------------|--------------------------------------------|------------|------|---------|-----------|--------|----------| -!!| im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | -!!| km | soil_vertical_dimension | soil vertical layer dimension | index | 0 | integer | | in | F | -!!| ps | surface_air_pressure | surface pressure | Pa | 1 | real | kind_phys | in | F | -!!| u1 | x_wind_at_lowest_model_layer | x component of 1st model layer wind | m s-1 | 1 | real | kind_phys | in | F | -!!| v1 | y_wind_at_lowest_model_layer | y component of 1st model layer wind | m s-1 | 1 | real | kind_phys | in | F | -!!| t1 | air_temperature_at_lowest_model_layer | 1st model layer air temperature | K | 1 | real | kind_phys | in | F | -!!| q1 | specific_humidity_at_lowest_model_layer | 1st model layer specific humidity | kg kg-1 | 1 | real | kind_phys | in | F | -!!| soiltyp | cell_soil_type | soil type at each grid cell | index | 1 | integer | | in | F | -!!| vegtype | cell_vegetation_type | vegetation type at each grid cell | index | 1 | integer | | in | F | -!!| sigmaf | vegetation_area_fraction | areal fractional cover of green vegetation | frac | 1 | real | kind_phys | in | F | -!!| sfcemis | surface_longwave_emissivity | surface longwave emissivity | frac | 1 | real | kind_phys | in | F | -!!| dlwflx | surface_downwelling_longwave_flux | total sky surface downward longwave flux | W m-2 | 1 | real | kind_phys | in | F | -!!| dswsfc | surface_downwelling_shortwave_flux | total sky surface downward shortwave flux | W m-2 | 1 | real | kind_phys | in | F | -!!| snet | surface_net_downwelling_shortwave_flux | total sky surface net shortwave flux | W m-2 | 1 | real | kind_phys | in | F | -!!| delt | time_step_for_dynamics | dynamics time step | s | 0 | real | kind_phys | in | F | -!!| tg3 | deep_soil_temperature | bottom soil temperature | K | 1 | real | kind_phys | in | F | -!!| cm | surface_drag_coefficient_for_momentum_in_air | surface exchange coeff for momentum | none | 1 | real | kind_phys | in | F | -!!| ch | surface_drag_coefficient_for_heat_and_moisture_in_air | surface exchange coeff heat & moisture | none | 1 | real | kind_phys | in | F | -!!| prsl1 | air_pressure_at_lowest_model_layer | Model layer 1 mean pressure | Pa | 1 | real | kind_phys | in | F | -!!| prslki | ratio_of_exner_function_between_midlayer_and_interface_at_lowest_model_layer | Exner function ratio bt midlayer and interface at 1st layer | ratio | 1 | real | kind_phys | in | F | -!!| zf | height_above_mean_sea_level_at_lowest_model_layer | height above MSL at 1st model layer | m | 1 | real | kind_phys | in | F | -!!| islimsk | sea_land_ice_mask | landmask: sea/land/ice=0/1/2 | flag | 1 | integer | | in | F | -!!| ddvel | surface_wind_enhancement_due_to_convection | surface wind enhancement due to convection | m s-1 | 1 | real | kind_phys | in | F | -!!| slopetyp | surface_slope_classification | class of sfc slope | index | 1 | integer | | in | F | -!!| shdmin | minimum_vegetation_area_fraction | min fractional coverage of green veg | frac | 1 | real | kind_phys | in | F | -!!| shdmax | maximum_vegetation_area_fraction | max fractnl cover of green veg (not used) | frac | 1 | real | kind_phys | in | F | -!!| snoalb | upper_bound_on_max_albedo_over_deep_snow | upper bound on max albedo over deep snow | frac | 1 | real | kind_phys | in | F | -!!| sfalb | surface_diffused_shortwave_albedo | mean surface diffused shortwave albedo | frac | 1 | real | kind_phys | in | F | -!!| flag_iter | flag_for_iteration | flag for iteration | flag | 1 | logical | | in | F | -!!| flag_guess | flag_for_guess_run | flag for guess run | flag | 1 | logical | | in | F | -!!| isot | soil_type | soil type (not used) | index | 0 | integer | | in | F | -!!| ivegsrc | vegetation_type | vegetation type data source umd or igbp | index | 0 | integer | | in | F | -!!| weasd | water_equivalent_accumulated_snow_depth | water equivalent accumulated snow depth | mm | 1 | real | kind_phys | inout | F | -!!| snwdph | surface_snow_thickness_water_equivalent | water equivalent snow depth over land | mm | 1 | real | kind_phys | inout | F | -!!| tskin | surface_skin_temperature | surface skin temperature | K | 1 | real | kind_phys | inout | F | -!!| tprcp | precipitation_amount_in_one_dynamics_time_step | total precipitation in each time step | kg m-2 | 1 | real | kind_phys | inout | F | -!!| srflag | flag_for_precipitation_type | flag for snow or rain precipitation | flag | 1 | real | kind_phys | inout | F | -!!| smc | volume_fraction_of_soil_moisture | volumetric fraction of soil moisture | frac | 2 | real | kind_phys | inout | F | -!!| stc | soil_temperature | soil temperature | K | 2 | real | kind_phys | inout | F | -!!| slc | volume_fraction_of_unfrozen_soil_moisture | volume fraction of unfrozen soil moisture | frac | 2 | real | kind_phys | inout | F | -!!| canopy | canopy_water_amount | canopy moisture content | kg m-2 | 1 | real | kind_phys | inout | F | -!!| trans | transpiration_flux | total plant transpiration rate | kg m-2 s-1 | 1 | real | kind_phys | inout | F | -!!| tsurf | surface_skin_temperature_after_iteration | surface skin temperature after iteration | K | 1 | real | kind_phys | inout | F | -!!| zorl | surface_roughness_length | surface roughness length | cm | 1 | real | kind_phys | inout | F | -!!| sncovr1 | surface_snow_area_fraction | surface snow area fraction | frac | 1 | real | kind_phys | out | F | -!!| qsurf | surface_specific_humidity | surface specific humidity | kg kg-1 | 1 | real | kind_phys | out | F | -!!| gflux | upward_heat_flux_in_soil | upward soil heat flux | W m-2 | 1 | real | kind_phys | out | F | -!!| drain | subsurface_runoff_flux | subsurface runoff flux | g m-2 s-1 | 1 | real | kind_phys | out | F | -!!| evap | kinematic_surface_upward_latent_heat_flux | surface upward evaporation flux | kg kg-1 m s-1 | 1 | real | kind_phys | out | F | -!!| hflx | kinematic_surface_upward_sensible_heat_flux | surface upward sensible heat flux | K m s-1 | 1 | real | kind_phys | out | F | -!!| ep | surface_upward_potential_latent_heat_flux | surface upward potential latent heat flux | W m-2 | 1 | real | kind_phys | out | F | -!!| runoff | surface_runoff_flux | surface runoff flux | g m-2 s-1 | 1 | real | kind_phys | out | F | -!!| cmm | surface_drag_wind_speed_for_momentum_in_air | surf mom exch coef time mean surf wind | m s-1 | 1 | real | kind_phys | out | F | -!!| chh | surface_drag_mass_flux_for_heat_and_moisture_in_air | surf h&m exch coef time surf wind & density| kg m-2 s-1 | 1 | real | kind_phys | out | F | -!!| evbs | soil_upward_latent_heat_flux | soil upward latent heat flux | W m-2 | 1 | real | kind_phys | out | F | -!!| evcw | canopy_upward_latent_heat_flux | canopy upward latent heat flux | W m-2 | 1 | real | kind_phys | out | F | -!!| sbsno | snow_deposition_sublimation_upward_latent_heat_flux | latent heat flux from snow depo/subl | W m-2 | 1 | real | kind_phys | out | F | -!!| snowc | surface_snow_area_fraction | surface snow area fraction | frac | 1 | real | kind_phys | out | F | -!!| stm | soil_moisture_content | soil moisture content | kg m-2 | 1 | real | kind_phys | out | F | -!!| snohf | snow_freezing_rain_upward_latent_heat_flux | latent heat flux due to snow and frz rain | W m-2 | 1 | real | kind_phys | out | F | -!!| smcwlt2 | volume_fraction_of_condensed_water_in_soil_at_wilting_point | soil water fraction at wilting point | frac | 1 | real | kind_phys | out | F | -!!| smcref2 | threshold_volume_fraction_of_condensed_water_in_soil | soil moisture threshold | frac | 1 | real | kind_phys | out | F | -!!| wet1 | normalized_soil_wetness | normalized soil wetness | frac | 1 | real | kind_phys | out | F | +!!| local var name | longname | description | units | rank | type | kind | intent | optional | +!!|----------------|------------------------------------------------------------------------------|-----------------------------------------------------------------|------------|------|---------|-----------|--------|----------| +!!| im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | +!!| km | soil_vertical_dimension | soil vertical layer dimension | index | 0 | integer | | in | F | +!!| ps | surface_air_pressure | surface pressure | Pa | 1 | real | kind_phys | in | F | +!!| u1 | x_wind_at_lowest_model_layer | x component of 1st model layer wind | m s-1 | 1 | real | kind_phys | in | F | +!!| v1 | y_wind_at_lowest_model_layer | y component of 1st model layer wind | m s-1 | 1 | real | kind_phys | in | F | +!!| t1 | air_temperature_at_lowest_model_layer | 1st model layer air temperature | K | 1 | real | kind_phys | in | F | +!!| q1 | specific_humidity_at_lowest_model_layer | 1st model layer specific humidity | kg kg-1 | 1 | real | kind_phys | in | F | +!!| soiltyp | cell_soil_type | soil type at each grid cell | index | 1 | integer | | in | F | +!!| vegtype | cell_vegetation_type | vegetation type at each grid cell | index | 1 | integer | | in | F | +!!| sigmaf | vegetation_area_fraction | areal fractional cover of green vegetation | frac | 1 | real | kind_phys | in | F | +!!| sfcemis | surface_longwave_emissivity | surface longwave emissivity | frac | 1 | real | kind_phys | in | F | +!!| dlwflx | surface_downwelling_longwave_flux_absorbed_by_ground | total sky surface downward longwave flux absorbed by the ground | W m-2 | 1 | real | kind_phys | in | F | +!!| dswsfc | surface_downwelling_shortwave_flux | total sky surface downward shortwave flux | W m-2 | 1 | real | kind_phys | in | F | +!!| snet | surface_net_downwelling_shortwave_flux | total sky surface net shortwave flux | W m-2 | 1 | real | kind_phys | in | F | +!!| delt | time_step_for_dynamics | dynamics time step | s | 0 | real | kind_phys | in | F | +!!| tg3 | deep_soil_temperature | bottom soil temperature | K | 1 | real | kind_phys | in | F | +!!| cm | surface_drag_coefficient_for_momentum_in_air | surface exchange coeff for momentum | none | 1 | real | kind_phys | in | F | +!!| ch | surface_drag_coefficient_for_heat_and_moisture_in_air | surface exchange coeff heat & moisture | none | 1 | real | kind_phys | in | F | +!!| prsl1 | air_pressure_at_lowest_model_layer | Model layer 1 mean pressure | Pa | 1 | real | kind_phys | in | F | +!!| prslki | ratio_of_exner_function_between_midlayer_and_interface_at_lowest_model_layer | Exner function ratio bt midlayer and interface at 1st layer | ratio | 1 | real | kind_phys | in | F | +!!| zf | height_above_mean_sea_level_at_lowest_model_layer | height above MSL at 1st model layer | m | 1 | real | kind_phys | in | F | +!!| islimsk | sea_land_ice_mask | landmask: sea/land/ice=0/1/2 | flag | 1 | integer | | in | F | +!!| ddvel | surface_wind_enhancement_due_to_convection | surface wind enhancement due to convection | m s-1 | 1 | real | kind_phys | in | F | +!!| slopetyp | surface_slope_classification | class of sfc slope | index | 1 | integer | | in | F | +!!| shdmin | minimum_vegetation_area_fraction | min fractional coverage of green veg | frac | 1 | real | kind_phys | in | F | +!!| shdmax | maximum_vegetation_area_fraction | max fractnl cover of green veg (not used) | frac | 1 | real | kind_phys | in | F | +!!| snoalb | upper_bound_on_max_albedo_over_deep_snow | upper bound on max albedo over deep snow | frac | 1 | real | kind_phys | in | F | +!!| sfalb | surface_diffused_shortwave_albedo | mean surface diffused shortwave albedo | frac | 1 | real | kind_phys | in | F | +!!| flag_iter | flag_for_iteration | flag for iteration | flag | 1 | logical | | in | F | +!!| flag_guess | flag_for_guess_run | flag for guess run | flag | 1 | logical | | in | F | +!!| isot | soil_type | soil type (not used) | index | 0 | integer | | in | F | +!!| ivegsrc | vegetation_type | vegetation type data source umd or igbp | index | 0 | integer | | in | F | +!!| weasd | water_equivalent_accumulated_snow_depth | water equivalent accumulated snow depth | mm | 1 | real | kind_phys | inout | F | +!!| snwdph | surface_snow_thickness_water_equivalent | water equivalent snow depth over land | mm | 1 | real | kind_phys | inout | F | +!!| tskin | surface_skin_temperature | surface skin temperature | K | 1 | real | kind_phys | inout | F | +!!| tprcp | precipitation_amount_in_one_dynamics_time_step | total precipitation in each time step | m | 1 | real | kind_phys | inout | F | +!!| srflag | flag_for_precipitation_type | flag for snow or rain precipitation | flag | 1 | real | kind_phys | inout | F | +!!| smc | volume_fraction_of_soil_moisture | volumetric fraction of soil moisture | frac | 2 | real | kind_phys | inout | F | +!!| stc | soil_temperature | soil temperature | K | 2 | real | kind_phys | inout | F | +!!| slc | volume_fraction_of_unfrozen_soil_moisture | volume fraction of unfrozen soil moisture | frac | 2 | real | kind_phys | inout | F | +!!| canopy | canopy_water_amount | canopy moisture content | kg m-2 | 1 | real | kind_phys | inout | F | +!!| trans | transpiration_flux | total plant transpiration rate | kg m-2 s-1 | 1 | real | kind_phys | inout | F | +!!| tsurf | surface_skin_temperature_after_iteration | surface skin temperature after iteration | K | 1 | real | kind_phys | inout | F | +!!| zorl | surface_roughness_length | surface roughness length | cm | 1 | real | kind_phys | inout | F | +!!| sncovr1 | surface_snow_area_fraction | surface snow area fraction | frac | 1 | real | kind_phys | out | F | +!!| qsurf | surface_specific_humidity | surface specific humidity | kg kg-1 | 1 | real | kind_phys | out | F | +!!| gflux | upward_heat_flux_in_soil | upward soil heat flux | W m-2 | 1 | real | kind_phys | out | F | +!!| drain | subsurface_runoff_flux | subsurface runoff flux | g m-2 s-1 | 1 | real | kind_phys | out | F | +!!| evap | kinematic_surface_upward_latent_heat_flux | surface upward evaporation flux | kg kg-1 m s-1 | 1 | real | kind_phys | out | F | +!!| hflx | kinematic_surface_upward_sensible_heat_flux | surface upward sensible heat flux | K m s-1 | 1 | real | kind_phys | out | F | +!!| ep | surface_upward_potential_latent_heat_flux | surface upward potential latent heat flux | W m-2 | 1 | real | kind_phys | out | F | +!!| runoff | surface_runoff_flux | surface runoff flux | g m-2 s-1 | 1 | real | kind_phys | out | F | +!!| cmm | surface_drag_wind_speed_for_momentum_in_air | surf mom exch coef time mean surf wind | m s-1 | 1 | real | kind_phys | out | F | +!!| chh | surface_drag_mass_flux_for_heat_and_moisture_in_air | surf h&m exch coef time surf wind & density | kg m-2 s-1 | 1 | real | kind_phys | out | F | +!!| evbs | soil_upward_latent_heat_flux | soil upward latent heat flux | W m-2 | 1 | real | kind_phys | out | F | +!!| evcw | canopy_upward_latent_heat_flux | canopy upward latent heat flux | W m-2 | 1 | real | kind_phys | out | F | +!!| sbsno | snow_deposition_sublimation_upward_latent_heat_flux | latent heat flux from snow depo/subl | W m-2 | 1 | real | kind_phys | out | F | +!!| snowc | surface_snow_area_fraction | surface snow area fraction | frac | 1 | real | kind_phys | out | F | +!!| stm | soil_moisture_content | soil moisture content | kg m-2 | 1 | real | kind_phys | out | F | +!!| snohf | snow_freezing_rain_upward_latent_heat_flux | latent heat flux due to snow and frz rain | W m-2 | 1 | real | kind_phys | out | F | +!!| smcwlt2 | volume_fraction_of_condensed_water_in_soil_at_wilting_point | soil water fraction at wilting point | frac | 1 | real | kind_phys | out | F | +!!| smcref2 | threshold_volume_fraction_of_condensed_water_in_soil | soil moisture threshold | frac | 1 | real | kind_phys | out | F | +!!| wet1 | normalized_soil_wetness | normalized soil wetness | frac | 1 | real | kind_phys | out | F | !! !! \section general General Algorithm !! \section detailed Detailed Algorithm diff --git a/physics/sfc_nst.f b/physics/sfc_nst.f index a934f907f..2ab3b9b75 100644 --- a/physics/sfc_nst.f +++ b/physics/sfc_nst.f @@ -54,67 +54,67 @@ end subroutine sfc_nst_finalize !! !! This subroutine calls the Thermal Skin-layer and Diurnal Thermocline models to update the NSST profile. !! -!!\section arg_table_sfc_nst_run Argument Table -!!| local var name | longname | description | units | rank | type | kind | intent | optional | -!!|----------------|------------------------------------------------------------------------------|----------------------------------------------- |---------------|------|---------|-----------|--------|----------| -!!| im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | -!!| km | soil_vertical_dimension | vertical layer dimension | index | 0 | integer | | in | F | -!!| ps | surface_air_pressure | surface pressure | Pa | 1 | real | kind_phys | in | F | -!!| u1 | x_wind_at_lowest_model_layer | x component of surface layer wind | m s-1 | 1 | real | kind_phys | in | F | -!!| v1 | y_wind_at_lowest_model_layer | y component of surface layer wind | m s-1 | 1 | real | kind_phys | in | F | -!!| t1 | air_temperature_at_lowest_model_layer | surface layer mean temperature | K | 1 | real | kind_phys | in | F | -!!| q1 | specific_humidity_at_lowest_model_layer | surface layer mean specific humidity | kg kg-1 | 1 | real | kind_phys | in | F | -!!| tref | sea_surface_foundation_temperature | reference/foundation temperature | K | 1 | real | kind_phys | in | F | -!!| cm | surface_drag_coefficient_for_momentum_in_air | surface exchange coeff for momentum | none | 1 | real | kind_phys | in | F | -!!| ch | surface_drag_coefficient_for_heat_and_moisture_in_air | surface exchange coeff heat & moisture | none | 1 | real | kind_phys | in | F | -!!| prsl1 | air_pressure_at_lowest_model_layer | surface layer mean pressure | Pa | 1 | real | kind_phys | in | F | -!!| prslki | ratio_of_exner_function_between_midlayer_and_interface_at_lowest_model_layer | Exner function at 1st layer | ratio | 1 | real | kind_phys | in | F | -!!| islimsk | sea_land_ice_mask | landmask: sea/land/ice=0/1/2 | flag | 1 | integer | | in | F | -!!| xlon | longitude | longitude | radians | 1 | real | kind_phys | in | F | -!!| sinlat | sine_of_latitude | sin of latitude | none | 1 | real | kind_phys | in | F | -!!| stress | surface_wind_stress | wind stress | m2 s-2 | 1 | real | kind_phys | in | F | -!!| sfcemis | surface_longwave_emissivity | surface longwave emissivity | frac | 1 | real | kind_phys | in | F | -!!| dlwflx | surface_downwelling_longwave_flux | total sky surface downward longwave flux | W m-2 | 1 | real | kind_phys | in | F | -!!| sfcnsw | surface_net_downward_shortwave_flux | total sky sfc netsw flx into ocean | W m-2 | 1 | real | kind_phys | in | F | -!!| rain | precipitation_amount_in_one_dynamics_time_step | rainfall rate | kg m-2 s-1 | 1 | real | kind_phys | in | F | -!!| timestep | time_step_for_dynamics | timestep interval | s | 0 | real | kind_phys | in | F | -!!| kdt | index_of_time_step | time step counter | count | 0 | integer | | in | F | -!!| solhr | forecast_hour | fcst hour at the end of prev time step | none | 0 | real | kind_phys | in | F | -!!| xcosz | instantaneous_cosine_of_zenith_angle | cosine of solar zenith angle | none | 1 | real | kind_phys | in | F | -!!| ddvel | surface_wind_enhancement_due_to_convection | wind enhancement due to convection | m s-1 | 1 | real | kind_phys | in | F | -!!| flag_iter | flag_for_iteration | flag for iteration | flag | 1 | logical | | in | F | -!!| flag_guess | flag_for_guess_run | flag for guess run | flag | 1 | logical | | in | F | -!!| nstf_name1 | flag_for_nsstm_run | NSSTM flag: off/uncoupled/coupled=0/1/2 | flag | 1 | integer | | in | F | -!!| nstf_name4 | vertical_temperature_average_range_lower_bound | zsea1 | mm | 1 | integer | | in | F | -!!| nstf_name5 | vertical_temperature_average_range_upper_bound | zsea2 | mm | 1 | integer | | in | F | -!!| lprnt | flag_print | flag for printing diagnostics to output | flag | 0 | logical | | in | F | -!!| ipr | horizontal_index_of_printed_column | horizontal index of printed column | index | 0 | integer | | in | F | -!!| tskin | surface_skin_temperature | ocean surface skin temperature | K | 1 | real | kind_phys | inout | F | -!!| tsurf | surface_skin_temperature_after_iteration | ocean surface skin temperature for guess run | K | 1 | real | kind_phys | inout | F | -!!| xt | diurnal thermocline layer_heat_content | heat content in diurnal thermocline layer | K m | 1 | real | kind_phys | inout | F | -!!| xs | sea_water_salinity | salinity content in diurnal thermocline layer | ppt m | 1 | real | kind_phys | inout | F | -!!| xu | diurnal_thermocline_layer_x_current | u-current content in diurnal thermocline layer | m2 s-1 | 1 | real | kind_phys | inout | F | -!!| xv | diurnal_thermocline_layer_y_current | v-current content in diurnal thermocline layer | m2 s-1 | 1 | real | kind_phys | inout | F | -!!| xz | diurnal_thermocline_layer_thickness | diurnal thermocline layer thickness | m | 1 | real | kind_phys | inout | F | -!!| zm | ocean_mixed_layer_thickness | mixed layer thickness | m | 1 | real | kind_phys | inout | F | -!!| xtts | sensitivity_of_dtl_heat_content_to_surface_temperature | d(xt)/d(ts) | m | 1 | real | kind_phys | inout | F | -!!| xzts | sensitivity_of_dtl_thickness_to_surface_temperature | d(xz)/d(ts) | m K-1 | 1 | real | kind_phys | inout | F | -!!| dt_cool | sub-layer_cooling_amount | sub-layer cooling amount | K | 1 | real | kind_phys | inout | F | -!!| z_c | sub-layer_cooling_thickness | sub-layer cooling thickness | m | 1 | real | kind_phys | inout | F | -!!| c_0 | coefficient_c_0 | coefficient1 to calculate d(tz)/d(ts) | none | 1 | real | kind_phys | inout | F | -!!| c_d | coefficient_c_d | coefficient2 to calculate d(tz)/d(ts) | none | 1 | real | kind_phys | inout | F | -!!| w_0 | coefficient_w_0 | coefficient3 to calculate d(tz)/d(ts) | none | 1 | real | kind_phys | inout | F | -!!| w_d | coefficient_w_d | coefficient4 to calculate d(tz)/d(ts) | none | 1 | real | kind_phys | inout | F | -!!| d_conv | free_convection_layer_thickness | thickness of free convection layer | m | 1 | real | kind_phys | inout | F | -!!| ifd | index_of_dtlm_start | index to start dtlm run or not | index | 1 | real | kind_phys | inout | F | -!!| qrain | sensible_heat_flux_due_to_rainfall | sensible heat flux due to rainfall | W | 1 | real | kind_phys | inout | F | -!!| qsurf | surface_specific_humidity | surface air saturation specific humidity | kg kg-1 | 1 | real | kind_phys | out | F | -!!| gflux | upward_heat_flux_in_soil | soil heat flux | W m-2 | 1 | real | kind_phys | out | F | -!!| cmm | surface_drag_wind_speed_for_momentum_in_air | surf mom exch coef time mean surf wind | m s-1 | 1 | real | kind_phys | out | F | -!!| chh | surface_drag_mass_flux_for_heat_and_moisture_in_air | surf h&m exch coef time surf wind & density | kg m-2 s-1 | 1 | real | kind_phys | out | F | -!!| evap | kinematic_surface_upward_latent_heat_flux | kinematic from latent heat flux | kg kg-1 m s-1 | 1 | real | kind_phys | out | F | -!!| hflx | kinematic_surface_upward_sensible_heat_flux | kinematic sensible heat flux | K m s-1 | 1 | real | kind_phys | out | F | -!!| ep | surface_upward_potential_latent_heat_flux | potential evaporation | W m-2 | 1 | real | kind_phys | out | F | +!! \section arg_table_sfc_nst_run Argument Table +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |----------------|------------------------------------------------------------------------------|----------------------------------------------------- |---------------|------|---------|-----------|--------|----------| +!! | im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | +!! | km | soil_vertical_dimension | vertical layer dimension | index | 0 | integer | | in | F | +!! | ps | surface_air_pressure | surface pressure | Pa | 1 | real | kind_phys | in | F | +!! | u1 | x_wind_at_lowest_model_layer | x component of surface layer wind | m s-1 | 1 | real | kind_phys | in | F | +!! | v1 | y_wind_at_lowest_model_layer | y component of surface layer wind | m s-1 | 1 | real | kind_phys | in | F | +!! | t1 | air_temperature_at_lowest_model_layer | surface layer mean temperature | K | 1 | real | kind_phys | in | F | +!! | q1 | specific_humidity_at_lowest_model_layer | surface layer mean specific humidity | kg kg-1 | 1 | real | kind_phys | in | F | +!! | tref | sea_surface_foundation_temperature | reference/foundation temperature | K | 1 | real | kind_phys | in | F | +!! | cm | surface_drag_coefficient_for_momentum_in_air | surface exchange coeff for momentum | none | 1 | real | kind_phys | in | F | +!! | ch | surface_drag_coefficient_for_heat_and_moisture_in_air | surface exchange coeff heat & moisture | none | 1 | real | kind_phys | in | F | +!! | prsl1 | air_pressure_at_lowest_model_layer | surface layer mean pressure | Pa | 1 | real | kind_phys | in | F | +!! | prslki | ratio_of_exner_function_between_midlayer_and_interface_at_lowest_model_layer | Exner function at 1st layer | ratio | 1 | real | kind_phys | in | F | +!! | islimsk | sea_land_ice_mask | landmask: sea/land/ice=0/1/2 | flag | 1 | integer | | in | F | +!! | xlon | longitude | longitude | radians | 1 | real | kind_phys | in | F | +!! | sinlat | sine_of_latitude | sin of latitude | none | 1 | real | kind_phys | in | F | +!! | stress | surface_wind_stress | wind stress | m2 s-2 | 1 | real | kind_phys | in | F | +!! | sfcemis | surface_longwave_emissivity | surface longwave emissivity | frac | 1 | real | kind_phys | in | F | +!! | dlwflx | surface_downwelling_longwave_flux_absorbed_by_ground | total sky sfc downward lw flux absorbed by the ocean | W m-2 | 1 | real | kind_phys | in | F | +!! | sfcnsw | surface_net_downwelling_shortwave_flux | total sky sfc net sw flx into ocean | W m-2 | 1 | real | kind_phys | in | F | +!! | rain | precipitation_amount_in_one_dynamics_time_step | precipitation amount in one dynamics time step | m | 1 | real | kind_phys | in | F | +!! | timestep | time_step_for_dynamics | timestep interval | s | 0 | real | kind_phys | in | F | +!! | kdt | index_of_time_step | current time step index | index | 0 | integer | | in | F | +!! | solhr | forecast_hour | fcst hour at the end of prev time step | h | 0 | real | kind_phys | in | F | +!! | xcosz | instantaneous_cosine_of_zenith_angle | cosine of solar zenith angle | none | 1 | real | kind_phys | in | F | +!! | ddvel | surface_wind_enhancement_due_to_convection | wind enhancement due to convection | m s-1 | 1 | real | kind_phys | in | F | +!! | flag_iter | flag_for_iteration | flag for iteration | flag | 1 | logical | | in | F | +!! | flag_guess | flag_for_guess_run | flag for guess run | flag | 1 | logical | | in | F | +!! | nstf_name1 | flag_for_nsstm_run | NSSTM flag: off/uncoupled/coupled=0/1/2 | flag | 0 | integer | | in | F | +!! | nstf_name4 | vertical_temperature_average_range_lower_bound | zsea1 | mm | 1 | integer | | in | F | +!! | nstf_name5 | vertical_temperature_average_range_upper_bound | zsea2 | mm | 1 | integer | | in | F | +!! | lprnt | flag_print | flag for printing diagnostics to output | flag | 0 | logical | | in | F | +!! | ipr | horizontal_index_of_printed_column | horizontal index of printed column | index | 0 | integer | | in | F | +!! | tskin | surface_skin_temperature | ocean surface skin temperature | K | 1 | real | kind_phys | inout | F | +!! | tsurf | surface_skin_temperature_after_iteration | ocean surface skin temperature for guess run | K | 1 | real | kind_phys | inout | F | +!! | xt | diurnal thermocline layer_heat_content | heat content in diurnal thermocline layer | K m | 1 | real | kind_phys | inout | F | +!! | xs | sea_water_salinity | salinity content in diurnal thermocline layer | ppt m | 1 | real | kind_phys | inout | F | +!! | xu | diurnal_thermocline_layer_x_current | u-current content in diurnal thermocline layer | m2 s-1 | 1 | real | kind_phys | inout | F | +!! | xv | diurnal_thermocline_layer_y_current | v-current content in diurnal thermocline layer | m2 s-1 | 1 | real | kind_phys | inout | F | +!! | xz | diurnal_thermocline_layer_thickness | diurnal thermocline layer thickness | m | 1 | real | kind_phys | inout | F | +!! | zm | ocean_mixed_layer_thickness | mixed layer thickness | m | 1 | real | kind_phys | inout | F | +!! | xtts | sensitivity_of_dtl_heat_content_to_surface_temperature | d(xt)/d(ts) | m | 1 | real | kind_phys | inout | F | +!! | xzts | sensitivity_of_dtl_thickness_to_surface_temperature | d(xz)/d(ts) | m K-1 | 1 | real | kind_phys | inout | F | +!! | dt_cool | sub-layer_cooling_amount | sub-layer cooling amount | K | 1 | real | kind_phys | inout | F | +!! | z_c | sub-layer_cooling_thickness | sub-layer cooling thickness | m | 1 | real | kind_phys | inout | F | +!! | c_0 | coefficient_c_0 | coefficient1 to calculate d(tz)/d(ts) | none | 1 | real | kind_phys | inout | F | +!! | c_d | coefficient_c_d | coefficient2 to calculate d(tz)/d(ts) | none | 1 | real | kind_phys | inout | F | +!! | w_0 | coefficient_w_0 | coefficient3 to calculate d(tz)/d(ts) | none | 1 | real | kind_phys | inout | F | +!! | w_d | coefficient_w_d | coefficient4 to calculate d(tz)/d(ts) | none | 1 | real | kind_phys | inout | F | +!! | d_conv | free_convection_layer_thickness | thickness of free convection layer | m | 1 | real | kind_phys | inout | F | +!! | ifd | index_of_dtlm_start | index to start dtlm run or not | index | 1 | real | kind_phys | inout | F | +!! | qrain | sensible_heat_flux_due_to_rainfall | sensible heat flux due to rainfall | W | 1 | real | kind_phys | inout | F | +!! | qsurf | surface_specific_humidity | surface air saturation specific humidity | kg kg-1 | 1 | real | kind_phys | out | F | +!! | gflux | upward_heat_flux_in_soil | soil heat flux | W m-2 | 1 | real | kind_phys | out | F | +!! | cmm | surface_drag_wind_speed_for_momentum_in_air | surf mom exch coef time mean surf wind | m s-1 | 1 | real | kind_phys | out | F | +!! | chh | surface_drag_mass_flux_for_heat_and_moisture_in_air | surf h&m exch coef time surf wind & density | kg m-2 s-1 | 1 | real | kind_phys | out | F | +!! | evap | kinematic_surface_upward_latent_heat_flux | kinematic from latent heat flux | kg kg-1 m s-1 | 1 | real | kind_phys | out | F | +!! | hflx | kinematic_surface_upward_sensible_heat_flux | kinematic sensible heat flux | K m s-1 | 1 | real | kind_phys | out | F | +!! | ep | surface_upward_potential_latent_heat_flux | potential evaporation | W m-2 | 1 | real | kind_phys | out | F | !! !! \section NSST_general_algorithm General Algorithm !! @@ -197,6 +197,11 @@ subroutine sfc_nst_run & ! sfcemis - real, sfc lw emissivity (fraction) im ! ! dlwflx - real, total sky sfc downward lw flux (w/m**2) im ! ! sfcnsw - real, total sky sfc netsw flx into ocean (w/m**2) im ! +! DH* +! The actual unit of rain passed in is m ! see below line 438, qrain(i) = ... +! where 1000*rain in the nominator converts m to kg m^2; there is still a +! time unit 's' missing. Need to double-check what is going on. +! *DH ! rain - real, rainfall rate (kg/m**2/s) im ! ! timestep - real, timestep interval (second) 1 ! ! kdt - integer, time step counter 1 ! @@ -736,16 +741,16 @@ end subroutine sfc_nst_pre_finalize !! !! Blah blah description of subroutine !! -!!\section arg_table_sfc_nst_pre_run Argument Table -!!| local var name | longname | description | units | rank | type | kind | intent | optional | -!!|----------------|------------------------------------------------------------------------------|----------------------------------------------- |---------------|------|---------|-----------|--------|----------| -!!| im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | -!!| islimsk | sea_land_ice_mask | landmask: sea/land/ice=0/1/2 | flag | 1 | integer | | in | F | -!!| oro | orography | orography | | 1 | real | kind_phys | in | F | -!!| oro_uf | orography_unfiltered | unfiltered orographyo | | 1 | real | kind_phys | in | F | -!!| tsfc | surface_skin_temperature | ocean surface skin temperature | K | 1 | real | kind_phys | in | F | -!!| tsurf | surface_skin_temperature_after_iteration | ocean surface skin temperature for guess run | K | 1 | real | kind_phys | inout | F | -!!| tskin | surface_skin_temperature | ocean surface skin temperature | K | 1 | real | kind_phys | out | F | +!! \section arg_table_sfc_nst_pre_run Argument Table +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |----------------|------------------------------------------------------------------------------|----------------------------------------------- |---------------|------|---------|-----------|--------|----------| +!! | im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | +!! | islimsk | sea_land_ice_mask | landmask: sea/land/ice=0/1/2 | flag | 1 | integer | | in | F | +!! | oro | orography | orography | | 1 | real | kind_phys | in | F | +!! | oro_uf | orography_unfiltered | unfiltered orographyo | | 1 | real | kind_phys | in | F | +!! | tsfc | surface_skin_temperature | ocean surface skin temperature | K | 1 | real | kind_phys | in | F | +!! | tsurf | surface_skin_temperature_after_iteration | ocean surface skin temperature for guess run | K | 1 | real | kind_phys | inout | F | +!! | tskin | surface_skin_temperature | ocean surface skin temperature | K | 1 | real | kind_phys | out | F | !! !! \section NSST_general_algorithm General Algorithm !! @@ -835,26 +840,26 @@ end subroutine sfc_nst_post_finalize !! !! Blah blah description of subroutine !! -!!\section arg_table_sfc_nst_post_run Argument Table -!!| local var name | longname | description | units | rank | type | kind | intent | optional | -!!|----------------|------------------------------------------------------------------------------|----------------------------------------------- |---------------|------|---------|-----------|--------|----------| -!!| im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | -!!| islimsk | sea_land_ice_mask | landmask: sea/land/ice=0/1/2 | flag | 1 | integer | | in | F | -!!| oro | orography | orography | | 1 | real | kind_phys | in | F | -!!| oro_uf | orography_unfiltered | unfiltered orographyo | | 1 | real | kind_phys | in | F | -!!| nstf_name1 | flag_for_nsstm_run | NSSTM flag: off/uncoupled/coupled=0/1/2 | flag | 1 | integer | | in | F | -!!| nstf_name4 | vertical_temperature_average_range_lower_bound | zsea1 | mm | 1 | integer | | in | F | -!!| nstf_name5 | vertical_temperature_average_range_upper_bound | zsea2 | mm | 1 | integer | | in | F | -!!| xt | diurnal thermocline layer_heat_content | heat content in diurnal thermocline layer | K m | 1 | real | kind_phys | in | F | -!!| xz | diurnal_thermocline_layer_thickness | diurnal thermocline layer thickness | m | 1 | real | kind_phys | in | F | -!!| dt_cool | sub-layer_cooling_amount | sub-layer cooling amount | K | 1 | real | kind_phys | in | F | -!!| z_c | sub-layer_cooling_thickness | sub-layer cooling thickness | m | 1 | real | kind_phys | in | F | -!!| rslimsk | sea_land_ice_mask_real | landmask: sea/land/ice=0/1/2 | flag | 1 | real | kind_phys | in | F | -!!| tref | sea_surface_foundation_temperature | reference/foundation temperature | K | 1 | real | kind_phys | in | F | -!!| xlon | longitude | longitude | radians | 1 | real | kind_phys | in | F | -!!| tsurf | surface_skin_temperature_after_iteration | ocean surface skin temperature for guess run | K | 1 | real | kind_phys | inout | F | -!!| dtzm | mean_change_over_depth_in_sea_water_temperature | mean of dT(z) (zsea1 to zsea2) | K | 1 | real | kind_phys | out | F | -!!| tsfc | surface_skin_temperature | ocean surface skin temperature | K | 1 | real | kind_phys | out | F | +!! \section arg_table_sfc_nst_post_run Argument Table +!! | local var name | longname | description | units | rank | type | kind | intent | optional | +!! |----------------|------------------------------------------------------------------------------|----------------------------------------------- |---------------|------|---------|-----------|--------|----------| +!! | im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | +!! | islimsk | sea_land_ice_mask | landmask: sea/land/ice=0/1/2 | flag | 1 | integer | | in | F | +!! | oro | orography | orography | | 1 | real | kind_phys | in | F | +!! | oro_uf | orography_unfiltered | unfiltered orographyo | | 1 | real | kind_phys | in | F | +!! | nstf_name1 | flag_for_nsstm_run | NSSTM flag: off/uncoupled/coupled=0/1/2 | flag | 0 | integer | | in | F | +!! | nstf_name4 | vertical_temperature_average_range_lower_bound | zsea1 | mm | 1 | integer | | in | F | +!! | nstf_name5 | vertical_temperature_average_range_upper_bound | zsea2 | mm | 1 | integer | | in | F | +!! | xt | diurnal thermocline layer_heat_content | heat content in diurnal thermocline layer | K m | 1 | real | kind_phys | in | F | +!! | xz | diurnal_thermocline_layer_thickness | diurnal thermocline layer thickness | m | 1 | real | kind_phys | in | F | +!! | dt_cool | sub-layer_cooling_amount | sub-layer cooling amount | K | 1 | real | kind_phys | in | F | +!! | z_c | sub-layer_cooling_thickness | sub-layer cooling thickness | m | 1 | real | kind_phys | in | F | +!! | rslimsk | sea_land_ice_mask_real | landmask: sea/land/ice=0/1/2 | flag | 1 | real | kind_phys | in | F | +!! | tref | sea_surface_foundation_temperature | reference/foundation temperature | K | 1 | real | kind_phys | in | F | +!! | xlon | longitude | longitude | radians | 1 | real | kind_phys | in | F | +!! | tsurf | surface_skin_temperature_after_iteration | ocean surface skin temperature for guess run | K | 1 | real | kind_phys | inout | F | +!! | dtzm | mean_change_over_depth_in_sea_water_temperature | mean of dT(z) (zsea1 to zsea2) | K | 1 | real | kind_phys | out | F | +!! | tsfc | surface_skin_temperature | ocean surface skin temperature | K | 1 | real | kind_phys | out | F | !! !! \section NSST_general_algorithm General Algorithm !! diff --git a/physics/sfc_sice.f b/physics/sfc_sice.f index 0ab1a7e06..54871e214 100644 --- a/physics/sfc_sice.f +++ b/physics/sfc_sice.f @@ -27,16 +27,16 @@ end subroutine sfc_sice_finalize !! | local var name | longname | description | units | rank | type | kind | intent | optional | !! |----------------|-------------------------------------------------------|----------------------------------------------------------|---------------|------|---------|-----------|--------|----------| !! | im | horizontal_loop_extent | horizontal loop extent, start at 1 | index | 0 | integer | | in | F | -!! | km | vertical_loop_extent | vertical loop extent, start at 1 | index | 0 | integer | | in | F | +!! | km | soil_vertical_dimension | vertical loop extent for soil levels, start at 1 | index | 0 | integer | | in | F | !! | ps | surface_air_pressure | surface pressure | Pa | 1 | real | kind_phys | in | F | -!! | u1 | x_wind_at_lowest_layer | u component of surface layer wind | m s-1 | 1 | real | kind_phys | in | F | -!! | v1 | y_wind_at_lowest_layer | v component of surface layer wind | m s-1 | 1 | real | kind_phys | in | F | -!! | t1 | air_temperature_at_lowest_layer | surface layer mean temperature | K | 1 | real | kind_phys | in | F | -!! | q1 | specific_humidity_at_lowest_layer | surface layer mean specific humidity | kg kg-1 | 1 | real | kind_phys | in | F | +!! | u1 | x_wind_at_lowest_model_layer | u component of surface layer wind | m s-1 | 1 | real | kind_phys | in | F | +!! | v1 | y_wind_at_lowest_model_layer | v component of surface layer wind | m s-1 | 1 | real | kind_phys | in | F | +!! | t1 | air_temperature_at_lowest_model_layer | surface layer mean temperature | K | 1 | real | kind_phys | in | F | +!! | q1 | specific_humidity_at_lowest_model_layer | surface layer mean specific humidity | kg kg-1 | 1 | real | kind_phys | in | F | !! | delt | time_step_for_dynamics | time step | s | 0 | real | kind_phys | in | F | !! | sfcemis | surface_longwave_emissivity | sfc lw emissivity | frac | 1 | real | kind_phys | in | F | -!! | dlwflx | surface_downwelling_longwave_flux | total sky sfc downward lw flux | W m-2 | 1 | real | kind_phys | in | F | -!! | sfcnsw | surface_net_downward_shortwave_flux | total sky sfc netsw flx into ground | W m-2 | 1 | real | kind_phys | in | F | +!! | dlwflx | surface_downwelling_longwave_flux_absorbed_by_ground | total sky surface downward longwave flux absorbed by the ground | W m-2 | 1 | real | kind_phys | in | F | +!! | sfcnsw | surface_net_downwelling_shortwave_flux | total sky sfc netsw flx into ground | W m-2 | 1 | real | kind_phys | in | F | !! | sfcdsw | surface_downwelling_shortwave_flux | total sky sfc downward sw flux | W m-2 | 1 | real | kind_phys | in | F | !! | srflag | flag_for_precipitation_type | snow/rain flag for precipitation | flag | 1 | real | kind_phys | in | F | !! | cm | surface_drag_coefficient_for_momentum_in_air | surface exchange coeff for momentum | none | 1 | real | kind_phys | in | F | @@ -46,7 +46,7 @@ end subroutine sfc_sice_finalize !! | islimsk | sea_land_ice_mask | sea/land/ice mask (=0/1/2) | flag | 1 | integer | | in | F | !! | ddvel | surface_wind_enhancement_due_to_convection | wind enhancement due to convection | m s-1 | 1 | real | kind_phys | in | F | !! | flag_iter | flag_for_iteration | flag for iteration | flag | 1 | logical | | in | F | -!! | mom4ice | flag_for_mom4_coupling | flag for Mom4 coupling | flag | 0 | logical | | in | F | +!! | mom4ice | flag_for_mom4_coupling | flag for Mom4 coupling | flag | 1 | logical | | in | F | !! | lsm | flag_for_land_surface_scheme | flag for land sfc scheme =0: osu; =1: noah | flag | 0 | integer | | in | F | !! | lprnt | flag_print | switch for printing sample column to stdout | flag | 0 | logical | | in | F | !! | ipr | horizontal_index_of_printed_column | horizontal index of printed column | index | 0 | integer | | in | F | @@ -55,7 +55,7 @@ end subroutine sfc_sice_finalize !! | tice | sea_ice_temperature | sea-ice surface temperature | K | 1 | real | kind_phys | inout | F | !! | weasd | water_equivalent_accumulated_snow_depth | water equivalent accumulated snow depth | mm | 1 | real | kind_phys | inout | F | !! | tskin | surface_skin_temperature | ground surface skin temperature | K | 1 | real | kind_phys | inout | F | -!! | tprcp | precipitation_amount_in_one_dynamics_time_step | total precipitation | kg m-2 | 1 | real | kind_phys | inout | F | +!! | tprcp | precipitation_amount_in_one_dynamics_time_step | total precipitation | m | 1 | real | kind_phys | inout | F | !! | stc | soil_temperature | soil temp | K | 2 | real | kind_phys | inout | F | !! | ep | surface_upward_potential_latent_heat_flux | potential evaporation | W m-2 | 1 | real | kind_phys | inout | F | !! | snwdph | surface_snow_thickness_water_equivalent | water equivalent snow depth | mm | 1 | real | kind_phys | out | F | @@ -750,8 +750,8 @@ end subroutine sfc_sice_pre_finalize !! | fice | sea_ice_concentration | sea-ice concentration [0,1] | frac | 1 | real | kind_phys | in | F | !! | hice | sea_ice_thickness | sea-ice thickness | m | 1 | real | kind_phys | in | F | !! | tisfc | sea_ice_temperature | sea-ice surface temperature | K | 1 | real | kind_phys | in | F | -!! | prsik | exter_function_at_lowest_model_interface | external function at lowest model interface | none | 1 | real | kind_phys | in | F | -!! | prslk | dimensionless_exner_function_at_lowest_model_level | dimensionless exner function at lowest model level | none | 1 | real | kind_phys | in | F | +!! | prsik | exner_function_at_lowest_model_interface | Exner function at lowest model interface | none | 1 | real | kind_phys | in | F | +!! | prslk | dimensionless_exner_function_at_lowest_model_layer | dimensionless Exner function at lowest model layer | none | 1 | real | kind_phys | in | F | !! | cice | sea_ice_concentration | sea-ice concentration [0,1] | frac | 1 | real | kind_phys | out | F | !! | zice | sea_ice_thickness | sea-ice thickness | m | 1 | real | kind_phys | out | F | !! | tice | sea_ice_temperature | sea-ice surface temperature | K | 1 | real | kind_phys | out | F |