Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support for removal of GFS DDTs from CCPP physics #162

10 changes: 5 additions & 5 deletions gfsphysics/GFS_layer/GFS_diagnostics.F90
Original file line number Diff line number Diff line change
Expand Up @@ -2445,7 +2445,7 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop
ExtDiag(idx)%name = 'dt3dt_nophys'
ExtDiag(idx)%desc = 'temperature tendency due to non-physics processes'
ExtDiag(idx)%unit = 'K s-1'
ExtDiag(idx)%mod_name = 'gfs_phys'
ExtDiag(idx)%mod_name = 'gfs_dyn'
ExtDiag(idx)%time_avg = .TRUE.
allocate (ExtDiag(idx)%data(nblks))
do nb = 1,nblks
Expand Down Expand Up @@ -2626,7 +2626,7 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop
ExtDiag(idx)%name = 'du3dt_nophys'
ExtDiag(idx)%desc = 'u momentum tendency due to non-physics processes'
ExtDiag(idx)%unit = 'm s-2'
ExtDiag(idx)%mod_name = 'gfs_phys'
ExtDiag(idx)%mod_name = 'gfs_dyn'
ExtDiag(idx)%time_avg = .TRUE.
allocate (ExtDiag(idx)%data(nblks))
do nb = 1,nblks
Expand All @@ -2638,7 +2638,7 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop
ExtDiag(idx)%name = 'dv3dt_nophys'
ExtDiag(idx)%desc = 'v momentum tendency due to non-physics processes'
ExtDiag(idx)%unit = 'm s-2'
ExtDiag(idx)%mod_name = 'gfs_phys'
ExtDiag(idx)%mod_name = 'gfs_dyn'
ExtDiag(idx)%time_avg = .TRUE.
allocate (ExtDiag(idx)%data(nblks))
do nb = 1,nblks
Expand Down Expand Up @@ -2785,7 +2785,7 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop
ExtDiag(idx)%name = 'dq3dt_nophys'
ExtDiag(idx)%desc = 'water vapor specific humidity tendency due to non-physics processes'
ExtDiag(idx)%unit = 'kg kg-1 s-1'
ExtDiag(idx)%mod_name = 'gfs_phys'
ExtDiag(idx)%mod_name = 'gfs_dyn'
ExtDiag(idx)%time_avg = .TRUE.
allocate (ExtDiag(idx)%data(nblks))
do nb = 1,nblks
Expand All @@ -2797,7 +2797,7 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop
ExtDiag(idx)%name = 'dq3dt_o3nophys'
ExtDiag(idx)%desc = 'ozone concentration tendency due to non-physics processes'
ExtDiag(idx)%unit = 'kg kg-1 s-1'
ExtDiag(idx)%mod_name = 'gfs_phys'
ExtDiag(idx)%mod_name = 'gfs_dyn'
ExtDiag(idx)%time_avg = .TRUE.
allocate (ExtDiag(idx)%data(nblks))
do nb = 1,nblks
Expand Down
54 changes: 36 additions & 18 deletions gfsphysics/GFS_layer/GFS_typedefs.F90
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ module GFS_typedefs
con_t0c, con_cvap, con_cliq, con_eps, con_epsq, &
con_epsm1, con_ttp, rlapse, con_jcal, con_rhw0, &
con_sbc, con_tice, cimin, con_p0, rhowater, &
con_csol, con_epsqs
con_csol, con_epsqs, con_rocp, con_rog

use module_radsw_parameters, only: topfsw_type, sfcfsw_type, profsw_type, cmpfsw_type, NBDSW
use module_radlw_parameters, only: topflw_type, sfcflw_type, proflw_type, NBDLW
Expand Down Expand Up @@ -1104,6 +1104,12 @@ module GFS_typedefs
integer :: nkbfshoc !< the index of upward kinematic buoyancy flux from SHOC in phy_f3d
integer :: nahdshoc !< the index of diffusivity for heat from from SHOC in phy_f3d
integer :: nscfshoc !< the index of subgrid-scale cloud fraction from from SHOC in phy_f3d
integer :: nT2delt !< the index of air temperature 2 timesteps back for Z-C MP in phy_f3d
integer :: nTdelt !< the index of air temperature at the previous timestep for Z-C MP in phy_f3d
integer :: nqv2delt !< the index of specific humidity 2 timesteps back for Z-C MP in phy_f3d
integer :: nqvdelt !< the index of specific humidity at the previous timestep for Z-C MP in phy_f3d
integer :: nps2delt !< the index of surface air pressure 2 timesteps back for Z-C MP in phy_f2d
integer :: npsdelt !< the index of surface air pressure at the previous timestep for Z-C MP in phy_f2d
#endif

!--- debug flag
Expand Down Expand Up @@ -4512,17 +4518,29 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
endif

!--- set up cloud schemes and tracer elements
Model%nleffr = -999
Model%nieffr = -999
Model%nreffr = -999
Model%nseffr = -999
Model%ngeffr = -999
Model%nleffr = -999
Model%nieffr = -999
Model%nreffr = -999
Model%nseffr = -999
Model%ngeffr = -999
Model%nT2delt = -999
Model%nTdelt = -999
Model%nqv2delt = -999
Model%nqvdelt = -999
Model%nps2delt = -999
Model%npsdelt = -999
if (Model%imp_physics == Model%imp_physics_zhao_carr) then
Model%npdf3d = 0
Model%num_p3d = 4
Model%num_p2d = 3
Model%shcnvcw = .false.
Model%ncnd = 1 ! ncnd is the number of cloud condensate types
Model%npdf3d = 0
Model%num_p3d = 4
Model%num_p2d = 3
Model%shcnvcw = .false.
Model%ncnd = 1 ! ncnd is the number of cloud condensate types
Model%nT2delt = 1
Model%nqv2delt = 2
Model%nTdelt = 3
Model%nqvdelt = 4
Model%nps2delt = 1
Model%npsdelt = 2
if (Model%me == Model%master) print *,' Using Zhao/Carr/Sundqvist Microphysics'

elseif (Model%imp_physics == Model%imp_physics_zhao_carr_pdf) then !Zhao Microphysics with PDF cloud
Expand All @@ -4542,9 +4560,9 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
Model%pdfcld = .false.
Model%shcnvcw = .false.
Model%ncnd = 5
Model%nleffr = 1
Model%nieffr = 2
Model%nseffr = 3
Model%nleffr = 1
Model%nieffr = 2
Model%nseffr = 3
if (Model%me == Model%master) print *,' Using Ferrier-Aligo MP scheme', &
' microphysics', &
' lradar =',Model%lradar
Expand All @@ -4569,9 +4587,9 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
Model%pdfcld = .false.
Model%shcnvcw = .false.
Model%ncnd = 5
Model%nleffr = 1
Model%nieffr = 2
Model%nseffr = 3
Model%nleffr = 1
Model%nieffr = 2
Model%nseffr = 3
if (Model%me == Model%master) print *,' Using Thompson double moment', &
' microphysics',' ltaerosol = ',Model%ltaerosol, &
' ttendlim =',Model%ttendlim, &
Expand Down Expand Up @@ -4712,7 +4730,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &


!--- BEGIN CODE FROM GLOOPR
!--- set up parameters for Xu & Randell's cloudiness computation (Radiation)
!--- set up parameters for Xu & Randall's cloudiness computation (Radiation)

Model%lmfshal = (Model%shal_cnv .and. Model%imfshalcnv > 0)
#ifdef CCPP
Expand Down
Loading