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

HEDMF Table #9

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions GFS_layer/GFS_radiation_driver.F90
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
!> \file grrad.f This file is the radiation driver module. It prepares
!! the atmospheric profiles and invokes the main radiation calculation.

!> \defgroup rad RRTMG Shortwave/Longwave Radiation Scheme
!> \defgroup RRTMG RRTMG Shortwave/Longwave Radiation
!> @{
!! \brief The GFS radiation scheme
!! \details Radiative processes are among the most complex and
Expand Down Expand Up @@ -1018,7 +1018,7 @@ subroutine GFS_radiation_driver &
type(GFS_cldprop_type), intent(in) :: Cldprop
type(GFS_radtend_type), intent(inout) :: Radtend
type(GFS_diag_type), intent(inout) :: Diag


! ================= subprogram documentation block ================ !
! !
Expand Down Expand Up @@ -1180,7 +1180,7 @@ subroutine GFS_radiation_driver &
integer, dimension(size(Grid%xlon,1),3) :: mbota, mtopa

!--- REAL VARIABLES
real(kind=kind_phys) :: raddt, es, qs, delt, tem0d
real(kind=kind_phys) :: raddt, es, qs, delt, tem0d

real(kind=kind_phys), dimension(size(Grid%xlon,1)) :: &
tsfa, cvt1, cvb1, tem1d, tsfg, tskn
Expand Down Expand Up @@ -1328,7 +1328,7 @@ subroutine GFS_radiation_driver &

!> - Call coszmn(), to compute cosine of zenith angle.
call coszmn (Grid%xlon,Grid%sinlat, & ! --- inputs
Grid%coslat,Model%solhr, IM, me, &
Grid%coslat,Model%solhr, IM, me, &
Radtend%coszen, Radtend%coszdg) ! --- outputs

!> - Call getgases(), to set up non-prognostic gas volume mixing
Expand Down Expand Up @@ -1609,12 +1609,12 @@ subroutine GFS_radiation_driver &
htswc, Diag%topfsw, Radtend%sfcfsw, & ! --- outputs
hsw0=htsw0, fdncmp=scmpsw) ! --- optional
else
call swrad (plyr, plvl, tlyr, tlvl, qlyr, olyr, & ! --- inputs
call swrad (plyr, plvl, tlyr, tlvl, qlyr, olyr, & ! --- inputs
gasvmr, clouds, Tbd%icsdsw, faersw, &
sfcalb, Radtend%coszen, Model%solcon, &
nday, idxday, IM, LMK, LMP, Model%lprnt,&
htswc, Diag%topfsw, Radtend%sfcfsw, & ! --- outputs
FDNCMP=scmpsw) ! --- optional
htswc, Diag%topfsw, Radtend%sfcfsw, & ! --- outputs
FDNCMP=scmpsw) ! --- optional
endif

do k = 1, LM
Expand All @@ -1636,7 +1636,7 @@ subroutine GFS_radiation_driver &
! --- repopulate the points above levr
if (Model%levr < Model%levs) then
do k = LM,Model%levs
Radtend%swhc(:,k) = Radtend%swhc(:,LM)
Radtend%swhc(:,k) = Radtend%swhc(:,LM)
enddo
endif
endif
Expand Down Expand Up @@ -1693,7 +1693,7 @@ subroutine GFS_radiation_driver &

call setemis (Grid%xlon, Grid%xlat, Sfcprop%slmsk, & ! --- inputs
Sfcprop%snowd, Sfcprop%sncovr, Sfcprop%zorl, &
tsfg, tsfa, Sfcprop%hprim, IM, &
tsfg, tsfa, Sfcprop%hprim, IM, &
Radtend%semis) ! --- outputs

!> - Call module_radlw_main::lwrad(), to compute LW heating rates and
Expand Down Expand Up @@ -1736,7 +1736,7 @@ subroutine GFS_radiation_driver &
! --- repopulate the points above levr
if (Model%levr < Model%levs) then
do k = LM,Model%levs
Radtend%lwhc(:,k) = Radtend%lwhc(:,LM)
Radtend%lwhc(:,k) = Radtend%lwhc(:,LM)
enddo
endif
endif
Expand Down
38 changes: 37 additions & 1 deletion physics/docs/ccpp_dox
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,43 @@ WARN_NO_PARAMDOC = NO
WARN_AS_ERROR = NO
WARN_FORMAT =
WARN_LOGFILE =
INPUT = ../mfdeepcnv.f \
INPUT = txt/mainpage.txt \
### Radiation
../../GFS_layer/GFS_radiation_driver.F90 \
../radiation_aerosols.f \
../radiation_astronomy.f \
../radiation_clouds.f \
../radiation_gases.f \
../radiation_surface.f \
../radlw_datatb.f \
../radlw_main.f \
../radlw_param.f \
../radsw_datatb.f \
../radsw_main.f \
../radsw_param.f \
### Deep Convection
../mfdeepcnv.f \
### Shallow Convection
../mfshalcnv.f \
### PBL
../moninedmf.f \
../mfpbl.f \
### Microphysics
../precpd.f \
../gscond.f \
### Land Surface
../sfc_drv.f \
../sfc_diff.f \
### Sea Ice Surface
../sfc_sice.f \
### Ocean Surface
../sfc_nst.f \
### Orographic Gravity Wave
../gwdps.f \
### Convective Gravity Wave
../gwdc.f \
### Prognostic Ozone
../ozphys.f
INPUT_ENCODING = UTF-8
FILE_PATTERNS = *.f \
*.txt
Expand Down
58 changes: 13 additions & 45 deletions physics/docs/txt/mainpage.txt
Original file line number Diff line number Diff line change
@@ -1,47 +1,15 @@
/**
\mainpage GFS Operational Physics

The documentation found here corresponds to the state of the operational GFS physics suite as of 2016. The suite is considered to contain
both driving routines and the individual physical parameterizations. Documentation for the driving routines can be accessed using the following links:
- gbphys() (GFS physics driver)
- grrad() (GFS radiation driver)
- radupdate() (GFS time-sensitive preparation for radiation)

Documentation for the operational physics suite can be access through these links::
- \ref rad
- \ref PBL
- \ref SAS
- \ref SASHAL
- \ref MPscheme
- \ref gwd

Separate documentation of the initial version of the Interoperable Physics Driver is found <a href="http://www.dtcenter.org/GMTB/gmtb_ipd_doc/">here</a>

\section structure Structure
\image html GFS_Operational_Physics.png "This diagram represents the GFS physics calling structure. Colors represent layers of abstraction in the code, with cooler colors being deeper in the calling hierarchy. Labels represent subroutine names and those in parentheses reflect that they are one of many options (the subroutines that are written are the current operational schemes). The sfc_* subroutine represents sfc_diff and other subroutines that are called depending on the underlying surface (sea, ice, land)."
The operational GFS physics suite is called from the GSM dycore according to the diagram above.
The highest tiers (red and orange) can be considered part of the GSM model and are located within
the "atmos/gsm/phys" directory of NEMS. The lower tiers (green and blue) consist of driving routines
(green) and the parameterization code (blue) and are found in the "atmos/phys" directory of NEMS.
In this way, the bottom two tiers are currently considered the GFS physics suite -- the parameterization
code and the code necessary to connect it to a dycore. The Interoperable Physics Driver (IPD), currently
found within the "nuopc_physics.F90" file, is an additional layer of abstraction (yellow) between the
orange and green tiers. Although it functions as a "wrapper" to the green tier at present, it will
likely evolve to replace much of its functionality. Functionality found in the green tier that is not
generalizable, that is inextricably linked to the GFS physics suite, will be part of the pre/post GFS
physics routine that interfaces with the IPD.

\section plan Future Plans
NCEP plans to improve the physics package based on the ongoing physics developments which include:
- Modified deep and shallow convection parameterizations with scale and aerosol awareness.
- TKE-based moist EDMF PBL parameterizations to further improve vertical turbulence mixing in the stratocumulus-topped PBL as well as in the dry PBL.
- WSM6 & Thompson cloud microphysics parameterizations.
- Simplified Higher Order Closure (SHOC) model with prognostic TKE that unifies the boundary layer and shallow convection.
- Chikira-Sugiyama deep convection parameterization with prognostic closure and with Arakawa-Wu scale-aware extension.
- Morrison-Gettelman double moment microphysics with interactive aerosols.
- The next major Noah LSM upgrade is planned for the unification among different NCEP models. The Noah LSM in the current GFS will be upgraded from version 2.7.1 to version 3.3, which includes many physics upgrades and new land datasets.
- Implementation of a unified GW physics for both orographic and non-orographic waves.
- Changes to the convective gravity wave drag parameterization to include a gravity-wave spectrum with both stationary waves and waves of varying phase speeds.

\n see also http://www.emc.ncep.noaa.gov/GFS/doc.php
\mainpage 2017 GFS Operational Physics

The documentation found here corresponds to the state of the operational GFS physics suite as of 2017. Documentation for the operational physics suite can be access through these links::
- \ref RRTMG
- \ref SASAS
- \ref SASHAL
- \ref HEDMF
- \ref Zhao-Carr
- \ref NOAH
- \ref GFS_Ice
- \ref GFS_NSST
- \ref GFS_gwd
- \ref GFS_ozn
*/
Loading