diff --git a/.github/workflows/basic_checks.yml b/.github/workflows/basic_checks.yml
new file mode 100644
index 000000000..4e40790b5
--- /dev/null
+++ b/.github/workflows/basic_checks.yml
@@ -0,0 +1,21 @@
+name: Basic checks for CCPP physics schemes
+
+on: [push, pull_request]
+
+jobs:
+ build:
+
+ runs-on: macos-latest
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ - name: Init submodules
+ run: git submodule update --init --recursive
+ #- name: Update packages
+ # run: |
+ # /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
+ # #brew install autoconf automake coreutils gcc@9 libtool mpich gnu-sed wget
+ # brew install automake coreutils mpich gnu-sed
+ - name: Check for ASCII encoding
+ run: ./tools/check_encoding.py
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9765fa25e..cd0d1c6d9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,7 +8,7 @@ endif (NOT PROJECT)
cmake_minimum_required(VERSION 3.0)
project(ccppphys
- VERSION 3.0.0
+ VERSION 4.0.0
LANGUAGES C CXX Fortran)
# Use rpaths on MacOSX
@@ -19,7 +19,7 @@ endif(POLICY CMP0042)
#------------------------------------------------------------------------------
set(PACKAGE "ccpp-physics")
-set(AUTHORS "Grant J. Firl" "Dom Heinzeller")
+set(AUTHORS "Grant Firl" "Dom Heinzeller" "Man Zhang" "Laurie Carson")
#------------------------------------------------------------------------------
# Set OpenMP flags for C/C++/Fortran
@@ -58,12 +58,8 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
endif()
#------------------------------------------------------------------------------
-# By default we want a shared library (unless a static build is requested)
-if(STATIC)
- option(BUILD_SHARED_LIBS "Build a static library" OFF)
-else(STATIC)
- option(BUILD_SHARED_LIBS "Build a shared library" ON)
-endif(STATIC)
+# Request a static build
+option(BUILD_SHARED_LIBS "Build a shared library" OFF)
#------------------------------------------------------------------------------
# Set the sources: physics type definitions
@@ -327,45 +323,18 @@ elseif (${CMAKE_Fortran_COMPILER_ID} STREQUAL "PGI")
endif (${CMAKE_Fortran_COMPILER_ID} STREQUAL "GNU")
#------------------------------------------------------------------------------
-if(STATIC)
- add_library(ccppphys STATIC ${SCHEMES} ${SCHEMES_SFX_OPT} ${CAPS})
- # Generate list of Fortran modules from defined sources
- foreach(source_f90 ${CAPS})
- get_filename_component(tmp_source_f90 ${source_f90} NAME)
- string(REGEX REPLACE ".F90" ".mod" tmp_module_f90 ${tmp_source_f90})
- string(TOLOWER ${tmp_module_f90} module_f90)
- list(APPEND MODULES_F90 ${CMAKE_CURRENT_BINARY_DIR}/${module_f90})
- endforeach()
-else(STATIC)
- add_library(ccppphys SHARED ${SCHEMES} ${SCHEMES_SFX_OPT} ${CAPS})
-endif(STATIC)
-
-if (NOT STATIC)
- target_link_libraries(ccppphys LINK_PUBLIC ${LIBS} ${BACIO_LIB4} ${SP_LIBd} ${W3NCO_LIBd})
-endif (NOT STATIC)
+add_library(ccppphys STATIC ${SCHEMES} ${SCHEMES_SFX_OPT} ${CAPS})
+# Generate list of Fortran modules from defined sources
+foreach(source_f90 ${CAPS})
+ get_filename_component(tmp_source_f90 ${source_f90} NAME)
+ string(REGEX REPLACE ".F90" ".mod" tmp_module_f90 ${tmp_source_f90})
+ string(TOLOWER ${tmp_module_f90} module_f90)
+ list(APPEND MODULES_F90 ${CMAKE_CURRENT_BINARY_DIR}/${module_f90})
+endforeach()
set_target_properties(ccppphys PROPERTIES VERSION ${PROJECT_VERSION}
SOVERSION ${PROJECT_VERSION_MAJOR})
-# DH* Hack for PGI compiler: rename objects in scheme cap object files for ISO_C compliancy,
-# this is only needed for dynamics builds - static build generates plain Fortran code.
-if (${CMAKE_Fortran_COMPILER_ID} STREQUAL "PGI")
- if (NOT STATIC)
- set(CAPOBJS)
- foreach(cap ${CAPS})
- string(REPLACE "_cap.F90" "_cap.F90.o" capobj "./${CMAKE_FILES_DIRECTORY}/ccppphys.dir/${cap}")
- list(APPEND CAPOBJS ${capobj})
- endforeach(cap)
-
- add_custom_command(TARGET ccppphys
- PRE_LINK
- COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/pgifix.py --cmake ${CAPOBJS}
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- COMMENT "Running pgifix_wrapper.py over all scheme caps")
- endif (NOT STATIC)
-endif (${CMAKE_Fortran_COMPILER_ID} STREQUAL "PGI")
-# *DH end hack for PGI compiler
-
if (PROJECT STREQUAL "CCPP-FV3")
# Define where to install the library
install(TARGETS ccppphys
diff --git a/pgifix.py b/pgifix.py
deleted file mode 100755
index cc6af76d2..000000000
--- a/pgifix.py
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/usr/bin/env python
-
-import argparse
-import os
-import subprocess
-import sys
-
-parser = argparse.ArgumentParser(description='Fix cap objects produced by PGI compiler')
-parser.add_argument("--cmake", default=False, action='store_true')
-parser.add_argument("caps", nargs='+')
-
-FIXCMD_TEMPLATE = 'objcopy '
-
-def parse_args():
- args = parser.parse_args()
- cmake = args.cmake
- caps = args.caps
- return (cmake, caps)
-
-def execute(cmd, debug = True, abort = True):
- """Runs a local command in a shell. Waits for completion and
- returns status, stdout and stderr. If abort = True, abort in
- case an error occurs during the execution of the command."""
-
- if debug:
- print 'Executing "{0}"'.format(cmd)
- p = subprocess.Popen(cmd, stdout = subprocess.PIPE,
- stderr = subprocess.PIPE, shell = True)
- (stdout, stderr) = p.communicate()
- status = p.returncode
- if debug:
- message = 'Execution of "{0}" returned with exit code {1}\n'.format(cmd, status)
- message += ' stdout: "{0}"\n'.format(stdout.rstrip('\n'))
- message += ' stderr: "{0}"'.format(stderr.rstrip('\n'))
- print message
- if not status == 0:
- message = 'Execution of command {0} failed, exit code {1}\n'.format(cmd, status)
- message += ' stdout: "{0}"\n'.format(stdout.rstrip('\n'))
- message += ' stderr: "{0}"'.format(stderr.rstrip('\n'))
- if abort:
- raise Exception(message)
- else:
- print message
- return (status, stdout.rstrip('\n'), stderr.rstrip('\n'))
-
-def correct_cap_object_names(fixcmd, cmake, cap):
- (cappath, capname) = os.path.split(cap)
- # Determine pgi-prepended prefix to remove, different
- # for cmake builds and make builds (object filename)
- if cmake:
- pgiprefix = capname.rstrip('.F90.o').lower() + '_'
- else:
- pgiprefix = capname.rstrip('.o').lower() + '_'
- # Get list of all symbols in cap object
- nmcmd = 'nm {0}'.format(cap)
- (status, stdout, stderr) = execute(nmcmd)
- del nmcmd
- # Parse all symbols and generate objcopy command
- found = False
- for line in stdout.split('\n'):
- try:
- (address, symboltype, objectname) = line.split()
- except ValueError:
- continue
- if not symboltype == 'T':
- continue
- if objectname.startswith(pgiprefix):
- newname = objectname[len(pgiprefix):]
- else:
- continue
- if newname.endswith('_cap'):
- fixcmd += '--redefine-sym {0}={1} '.format(objectname, newname)
- found = True
- if not found:
- raise Exception('Unable to rename CCPP scheme caps in cap "{0}"'.format(cap))
- return fixcmd
-
-def correct_object_names(fixcmd, cap):
- tmp = cap + '.tmp'
- fixcmd += '{0} {1}'.format(cap, tmp)
- execute(fixcmd)
- mvcmd = 'mv -v {0} {1}'.format(tmp, cap)
- execute(mvcmd)
-
-def main():
- (cmake, caps) = parse_args()
- for cap in caps:
- fixcmd = FIXCMD_TEMPLATE
- fixcmd = correct_cap_object_names(fixcmd, cmake, cap)
- correct_object_names(fixcmd, cap)
-
-if __name__ == '__main__':
- main()
diff --git a/physics/GFS_DCNV_generic.F90 b/physics/GFS_DCNV_generic.F90
index d7305cbe5..1622f4b52 100644
--- a/physics/GFS_DCNV_generic.F90
+++ b/physics/GFS_DCNV_generic.F90
@@ -17,8 +17,8 @@ end subroutine GFS_DCNV_generic_pre_finalize
!! \htmlinclude GFS_DCNV_generic_pre_run.html
!!
#endif
- subroutine GFS_DCNV_generic_pre_run (im, levs, ldiag3d, do_cnvgwd, do_ca, cplchm,&
- isppt_deep, gu0, gv0, gt0, gq0_water_vapor, &
+ subroutine GFS_DCNV_generic_pre_run (im, levs, ldiag3d, do_cnvgwd, cplchm, &
+ gu0, gv0, gt0, gq0_water_vapor, &
save_u, save_v, save_t, save_qv, ca_deep, &
dqdti, errmsg, errflg)
@@ -27,7 +27,7 @@ subroutine GFS_DCNV_generic_pre_run (im, levs, ldiag3d, do_cnvgwd, do_ca, cplchm
implicit none
integer, intent(in) :: im, levs
- logical, intent(in) :: ldiag3d, do_cnvgwd, do_ca, cplchm, isppt_deep
+ logical, intent(in) :: ldiag3d, do_cnvgwd, cplchm
real(kind=kind_phys), dimension(im,levs), intent(in) :: gu0
real(kind=kind_phys), dimension(im,levs), intent(in) :: gv0
real(kind=kind_phys), dimension(im,levs), intent(in) :: gt0
@@ -49,15 +49,7 @@ subroutine GFS_DCNV_generic_pre_run (im, levs, ldiag3d, do_cnvgwd, do_ca, cplchm
errmsg = ''
errflg = 0
- if (do_ca) then
- do k=1,levs
- do i=1,im
- gq0_water_vapor(i,k) = gq0_water_vapor(i,k)*(1.0 + ca_deep(i)/500.)
- enddo
- enddo
- endif
-
- if (ldiag3d .or. isppt_deep) then
+ if (ldiag3d) then
do k=1,levs
do i=1,im
save_t(i,k) = gt0(i,k)
@@ -73,7 +65,7 @@ subroutine GFS_DCNV_generic_pre_run (im, levs, ldiag3d, do_cnvgwd, do_ca, cplchm
enddo
endif
- if (ldiag3d .or. cplchm .or. isppt_deep) then
+ if (ldiag3d .or. cplchm) then
do k=1,levs
do i=1,im
save_qv(i,k) = gq0_water_vapor(i,k)
@@ -102,19 +94,19 @@ end subroutine GFS_DCNV_generic_post_finalize
!> \section arg_table_GFS_DCNV_generic_post_run Argument Table
!! \htmlinclude GFS_DCNV_generic_post_run.html
!!
- subroutine GFS_DCNV_generic_post_run (im, levs, lssav, ldiag3d, ras, cscnv, do_ca, &
- isppt_deep, frain, rain1, dtf, cld1d, save_u, save_v, save_t, save_qv, gu0, gv0, gt0, &
+ subroutine GFS_DCNV_generic_post_run (im, levs, lssav, ldiag3d, ras, cscnv, &
+ frain, rain1, dtf, cld1d, save_u, save_v, save_t, save_qv, gu0, gv0, gt0, &
gq0_water_vapor, ud_mf, dd_mf, dt_mf, con_g, npdf3d, num_p3d, ncnvcld3d, &
rainc, cldwrk, dt3dt, dq3dt, du3dt, dv3dt, upd_mf, dwn_mf, det_mf, &
cnvw, cnvc, cnvw_phy_f3d, cnvc_phy_f3d, &
- cape, tconvtend, qconvtend, uconvtend, vconvtend, errmsg, errflg)
+ errmsg, errflg)
use machine, only: kind_phys
implicit none
integer, intent(in) :: im, levs
- logical, intent(in) :: lssav, ldiag3d, ras, cscnv, do_ca, isppt_deep
+ logical, intent(in) :: lssav, ldiag3d, ras, cscnv
real(kind=kind_phys), intent(in) :: frain, dtf
real(kind=kind_phys), dimension(im), intent(in) :: rain1, cld1d
@@ -135,9 +127,6 @@ subroutine GFS_DCNV_generic_post_run (im, levs, lssav, ldiag3d, ras, cscnv, do_c
! as long as these do not get used when not allocated (it is still invalid Fortran code, though).
real(kind=kind_phys), dimension(:,:), intent(inout) :: cnvw_phy_f3d, cnvc_phy_f3d
- real(kind=kind_phys), dimension(im), intent(inout) :: cape
- real(kind=kind_phys), dimension(im,levs), intent(inout) :: tconvtend, qconvtend, uconvtend, vconvtend
-
character(len=*), intent(out) :: errmsg
integer, intent(out) :: errflg
@@ -148,11 +137,6 @@ subroutine GFS_DCNV_generic_post_run (im, levs, lssav, ldiag3d, ras, cscnv, do_c
errflg = 0
if (.not. ras .and. .not. cscnv) then
- if(do_ca) then
- do i=1,im
- cape(i) = cld1d(i)
- enddo
- endif
if (npdf3d == 3 .and. num_p3d == 4) then
do k=1,levs
do i=1,im
@@ -198,18 +182,6 @@ subroutine GFS_DCNV_generic_post_run (im, levs, lssav, ldiag3d, ras, cscnv, do_c
endif ! if (lssav)
-
- if (isppt_deep) then
- do k=1,levs
- do i=1,im
- tconvtend(i,k) = gt0(i,k) - save_t(i,k)
- qconvtend(i,k) = gq0_water_vapor(i,k) - save_qv(i,k)
- uconvtend(i,k) = gu0(i,k) - save_u(i,k)
- vconvtend(i,k) = gv0(i,k) - save_v(i,k)
- enddo
- enddo
- endif
-
end subroutine GFS_DCNV_generic_post_run
end module GFS_DCNV_generic_post
diff --git a/physics/GFS_DCNV_generic.meta b/physics/GFS_DCNV_generic.meta
index 07c75eafc..f632833f9 100644
--- a/physics/GFS_DCNV_generic.meta
+++ b/physics/GFS_DCNV_generic.meta
@@ -33,14 +33,6 @@
type = logical
intent = in
optional = F
-[do_ca]
- standard_name = flag_for_cellular_automata
- long_name = cellular automata main switch
- units = flag
- dimensions = ()
- type = logical
- intent = in
- optional = F
[cplchm]
standard_name = flag_for_chemistry_coupling
long_name = flag controlling cplchm collection (default off)
@@ -49,14 +41,6 @@
type = logical
intent = in
optional = F
-[isppt_deep]
- standard_name = flag_for_combination_of_sppt_with_isppt_deep
- long_name = switch for combination with isppt_deep.
- units = flag
- dimensions = ()
- type = logical
- intent = in
- optional = F
[gu0]
standard_name = x_wind_updated_by_physics
long_name = zonal wind updated by physics
@@ -217,22 +201,6 @@
type = logical
intent = in
optional = F
-[do_ca]
- standard_name = flag_for_cellular_automata
- long_name = cellular automata main switch
- units = flag
- dimensions = ()
- type = logical
- intent = in
- optional = F
-[isppt_deep]
- standard_name = flag_for_combination_of_sppt_with_isppt_deep
- long_name = switch for combination with isppt_deep.
- units = flag
- dimensions = ()
- type = logical
- intent = in
- optional = F
[frain]
standard_name = dynamics_to_physics_timestep_ratio
long_name = ratio of dynamics timestep to physics timestep
@@ -518,51 +486,6 @@
kind = kind_phys
intent = inout
optional = F
-[cape]
- standard_name = convective_available_potential_energy_for_coupling
- long_name = convective available potential energy for coupling
- units = m2 s-2
- dimensions = (horizontal_dimension)
- type = real
- kind = kind_phys
- intent = inout
- optional = F
-[tconvtend]
- standard_name = tendency_of_air_temperature_due_to_deep_convection_for_coupling_on_physics_timestep
- long_name = tendency of air temperature due to deep convection
- units = K
- dimensions = (horizontal_dimension,vertical_dimension)
- type = real
- kind = kind_phys
- intent = inout
- optional = F
-[qconvtend]
- standard_name = tendency_of_water_vapor_specific_humidity_due_to_deep_convection_for_coupling_on_physics_timestep
- long_name = tendency of specific humidity due to deep convection
- units = kg kg-1
- dimensions = (horizontal_dimension,vertical_dimension)
- type = real
- kind = kind_phys
- intent = inout
- optional = F
-[uconvtend]
- standard_name = tendency_of_x_wind_due_to_deep_convection_for_coupling_on_physics_timestep
- long_name = tendency_of_x_wind_due_to_deep_convection
- units = m s-1
- dimensions = (horizontal_dimension,vertical_dimension)
- type = real
- kind = kind_phys
- intent = inout
- optional = F
-[vconvtend]
- standard_name = tendency_of_y_wind_due_to_deep_convection_for_coupling_on_physics_timestep
- long_name = tendency_of_y_wind_due_to_deep_convection
- units = m s-1
- dimensions = (horizontal_dimension,vertical_dimension)
- type = real
- kind = kind_phys
- intent = inout
- optional = F
[errmsg]
standard_name = ccpp_error_message
long_name = error message for error handling in CCPP
diff --git a/physics/GFS_MP_generic.F90 b/physics/GFS_MP_generic.F90
index ab68e206a..291808fb8 100644
--- a/physics/GFS_MP_generic.F90
+++ b/physics/GFS_MP_generic.F90
@@ -85,7 +85,7 @@ subroutine GFS_MP_generic_post_run(im, ix, levs, kdt, nrcm, ncld, nncl, ntcw, nt
rann, xlat, xlon, gt0, gq0, prsl, prsi, phii, tsfc, ice, snow, graupel, save_t, save_qv, rain0, ice0, snow0, &
graupel0, del, rain, domr_diag, domzr_diag, domip_diag, doms_diag, tprcp, srflag, sr, cnvprcp, totprcp, totice, &
totsnw, totgrp, cnvprcpb, totprcpb, toticeb, totsnwb, totgrpb, dt3dt, dq3dt, rain_cpl, rainc_cpl, snow_cpl, pwat, &
- do_sppt, dtdtr, dtdtc, drain_cpl, dsnow_cpl, lsm, lsm_ruc, lsm_noahmp, raincprv, rainncprv, iceprv, snowprv, &
+ do_sppt, ca_global, dtdtr, dtdtc, drain_cpl, dsnow_cpl, lsm, lsm_ruc, lsm_noahmp, raincprv, rainncprv, iceprv, snowprv, &
graupelprv, draincprv, drainncprv, diceprv, dsnowprv, dgraupelprv, dtp, errmsg, errflg)
!
use machine, only: kind_phys
@@ -114,7 +114,7 @@ subroutine GFS_MP_generic_post_run(im, ix, levs, kdt, nrcm, ncld, nncl, ntcw, nt
real(kind=kind_phys), dimension(:,:), intent(inout) :: dt3dt, dq3dt
! Stochastic physics / surface perturbations
- logical, intent(in) :: do_sppt
+ logical, intent(in) :: do_sppt, ca_global
real(kind=kind_phys), dimension(im,levs), intent(inout) :: dtdtr
real(kind=kind_phys), dimension(im,levs), intent(in) :: dtdtc
real(kind=kind_phys), dimension(im), intent(inout) :: drain_cpl
@@ -375,7 +375,7 @@ subroutine GFS_MP_generic_post_run(im, ix, levs, kdt, nrcm, ncld, nncl, ntcw, nt
enddo
! Stochastic physics / surface perturbations
- if (do_sppt) then
+ if (do_sppt .or. ca_global) then
!--- radiation heating rate
dtdtr(1:im,:) = dtdtr(1:im,:) + dtdtc(1:im,:)*dtf
endif
diff --git a/physics/GFS_MP_generic.meta b/physics/GFS_MP_generic.meta
index ddf8cb813..c7082da3a 100644
--- a/physics/GFS_MP_generic.meta
+++ b/physics/GFS_MP_generic.meta
@@ -722,6 +722,14 @@
type = logical
intent = in
optional = F
+[ca_global]
+ standard_name = flag_for_global_cellular_automata
+ long_name = switch for global ca
+ units = flag
+ dimensions = ()
+ type = logical
+ intent = in
+ optional = F
[dtdtr]
standard_name = tendency_of_air_temperature_due_to_radiative_heating_on_physics_time_step
long_name = temp. change due to radiative heating per time step
diff --git a/physics/GFS_PBL_generic.F90 b/physics/GFS_PBL_generic.F90
index ff59aa465..abce53772 100644
--- a/physics/GFS_PBL_generic.F90
+++ b/physics/GFS_PBL_generic.F90
@@ -84,7 +84,8 @@ subroutine GFS_PBL_generic_pre_run (im, levs, nvdiff, ntrac,
ntwa, ntia, ntgl, ntoz, ntke, ntkev, nqrimef, trans_aero, ntchs, ntchm, &
imp_physics, imp_physics_gfdl, imp_physics_thompson, imp_physics_wsm6, &
imp_physics_zhao_carr, imp_physics_mg, imp_physics_fer_hires, cplchm, ltaerosol, &
- hybedmf, do_shoc, satmedmf, qgrs, vdftra, errmsg, errflg)
+ hybedmf, do_shoc, satmedmf, qgrs, vdftra, lheatstrg, z0fac, e0fac, zorl, &
+ u10m, v10m, hflx, evap, hflxq, evapq, hffac, hefac, errmsg, errflg)
use machine, only : kind_phys
use GFS_PBL_generic_common, only : set_aerosol_tracer_index
@@ -102,11 +103,25 @@ subroutine GFS_PBL_generic_pre_run (im, levs, nvdiff, ntrac,
real(kind=kind_phys), dimension(im, levs, ntrac), intent(in) :: qgrs
real(kind=kind_phys), dimension(im, levs, nvdiff), intent(inout) :: vdftra
+ ! For canopy heat storage
+ logical, intent(in) :: lheatstrg
+ real(kind=kind_phys), intent(in) :: z0fac, e0fac
+ real(kind=kind_phys), dimension(im), intent(in) :: zorl, u10m, v10m
+ real(kind=kind_phys), dimension(im), intent(in) :: hflx, evap
+ real(kind=kind_phys), dimension(im), intent(out) :: hflxq, evapq
+ real(kind=kind_phys), dimension(im), intent(out) :: hffac, hefac
+
+ ! CCPP error handling variables
character(len=*), intent(out) :: errmsg
integer, intent(out) :: errflg
- !local variables
+ ! Parameters for canopy heat storage parametrization
+ real (kind=kind_phys), parameter :: z0min=0.2, z0max=1.0
+ real (kind=kind_phys), parameter :: u10min=2.5, u10max=7.5
+
+ ! Local variables
integer :: i, k, kk, k1, n
+ real(kind=kind_phys) :: tem, tem1, tem2
! Initialize CCPP error handling variables
errmsg = ''
@@ -258,6 +273,35 @@ subroutine GFS_PBL_generic_pre_run (im, levs, nvdiff, ntrac,
!
endif
+! --- ... Boundary Layer and Free atmospheic turbulence parameterization
+!
+! in order to achieve heat storage within canopy layer, in the canopy heat
+! storage parameterization the kinematic sensible and latent heat fluxes
+! (hflx & evap) as surface boundary forcings to the pbl scheme are
+! reduced as a function of surface roughness
+!
+ do i=1,im
+ hflxq(i) = hflx(i)
+ evapq(i) = evap(i)
+ hffac(i) = 1.0
+ hefac(i) = 1.0
+ enddo
+ if (lheatstrg) then
+ do i=1,im
+ tem = 0.01 * zorl(i) ! change unit from cm to m
+ tem1 = (tem - z0min) / (z0max - z0min)
+ hffac(i) = z0fac * min(max(tem1, 0.0), 1.0)
+ tem = sqrt(u10m(i)**2+v10m(i)**2)
+ tem1 = (tem - u10min) / (u10max - u10min)
+ tem2 = 1.0 - min(max(tem1, 0.0), 1.0)
+ hffac(i) = tem2 * hffac(i)
+ hefac(i) = 1. + e0fac * hffac(i)
+ hffac(i) = 1. + hffac(i)
+ hflxq(i) = hflx(i) / hffac(i)
+ evapq(i) = evap(i) / hefac(i)
+ enddo
+ endif
+
end subroutine GFS_PBL_generic_pre_run
end module GFS_PBL_generic_pre
@@ -286,8 +330,9 @@ subroutine GFS_PBL_generic_post_run (im, levs, nvdiff, ntrac,
dqdt, dusfc_cpl, dvsfc_cpl, dtsfc_cpl, &
dqsfc_cpl, dusfci_cpl, dvsfci_cpl, dtsfci_cpl, dqsfci_cpl, dusfc_diag, dvsfc_diag, dtsfc_diag, dqsfc_diag, &
dusfci_diag, dvsfci_diag, dtsfci_diag, dqsfci_diag, dt3dt, du3dt_PBL, du3dt_OGWD, dv3dt_PBL, dv3dt_OGWD, dq3dt, &
- dq3dt_ozone, rd, cp,fvirt, hvap, t1, q1, prsl, hflx, ushfsfci, oceanfrac, fice, dusfc_cice, dvsfc_cice, dtsfc_cice, &
- dqsfc_cice, wet, dry, icy, wind, stress_ocn, hflx_ocn, evap_ocn, ugrs1, vgrs1, dkt_cpl, dkt, errmsg, errflg)
+ dq3dt_ozone, rd, cp, fvirt, hvap, t1, q1, prsl, hflx, ushfsfci, oceanfrac, flag_cice, dusfc_cice, dvsfc_cice, &
+ dtsfc_cice, dqsfc_cice, wet, dry, icy, wind, stress_wat, hflx_wat, evap_wat, ugrs1, vgrs1, dkt_cpl, dkt, hffac, hefac, &
+ errmsg, errflg)
use machine, only : kind_phys
use GFS_PBL_generic_common, only : set_aerosol_tracer_index
@@ -301,13 +346,14 @@ subroutine GFS_PBL_generic_post_run (im, levs, nvdiff, ntrac,
integer, intent(in) :: imp_physics_zhao_carr, imp_physics_mg, imp_physics_fer_hires
logical, intent(in) :: ltaerosol, cplflx, cplchm, lssav, ldiag3d, lsidea
logical, intent(in) :: hybedmf, do_shoc, satmedmf, shinhong, do_ysu
+ logical, dimension(:), intent(in) :: flag_cice
real(kind=kind_phys), intent(in) :: dtf
real(kind=kind_phys), intent(in) :: rd, cp, fvirt, hvap
- real(kind=kind_phys), dimension(:), intent(in) :: t1, q1, hflx, oceanfrac, fice
+ real(kind=kind_phys), dimension(:), intent(in) :: t1, q1, hflx, oceanfrac
real(kind=kind_phys), dimension(:,:), intent(in) :: prsl
real(kind=kind_phys), dimension(:), intent(in) :: dusfc_cice, dvsfc_cice, dtsfc_cice, dqsfc_cice, &
- wind, stress_ocn, hflx_ocn, evap_ocn, ugrs1, vgrs1
+ wind, stress_wat, hflx_wat, evap_wat, ugrs1, vgrs1
real(kind=kind_phys), dimension(im, levs, nvdiff), intent(in) :: dvdftra
real(kind=kind_phys), dimension(im), intent(in) :: dusfc1, dvsfc1, dtsfc1, dqsfc1, xmu
real(kind=kind_phys), dimension(im, levs), intent(in) :: dudt, dvdt, dtdt, htrsw, htrlw
@@ -328,13 +374,15 @@ subroutine GFS_PBL_generic_post_run (im, levs, nvdiff, ntrac,
real(kind=kind_phys), dimension(:,:), intent(inout) :: dkt_cpl
real(kind=kind_phys), dimension(:,:), intent(in) :: dkt
+ ! From canopy heat storage - reduction factors in latent/sensible heat flux due to surface roughness
+ real(kind=kind_phys), dimension(im), intent(in) :: hffac, hefac
+
character(len=*), intent(out) :: errmsg
integer, intent(out) :: errflg
real(kind=kind_phys), parameter :: zero = 0.0d0
real(kind=kind_phys), parameter :: one = 1.0d0
real(kind=kind_phys), parameter :: huge = 9.9692099683868690E36 ! NetCDF float FillValue, same as in GFS_typedefs.F90
- real(kind=kind_phys), parameter :: epsln = 1.0d-10 ! same as in GFS_physics_driver.F90
integer :: i, k, kk, k1, n
real(kind=kind_phys) :: tem, tem1, rho
@@ -502,29 +550,36 @@ subroutine GFS_PBL_generic_post_run (im, levs, nvdiff, ntrac,
if (cplflx) then
do i=1,im
if (oceanfrac(i) > zero) then ! Ocean only, NO LAKES
- if (fice(i) > one - epsln) then ! no open water, use results from CICE
- dusfci_cpl(i) = dusfc_cice(i)
- dvsfci_cpl(i) = dvsfc_cice(i)
- dtsfci_cpl(i) = dtsfc_cice(i)
- dqsfci_cpl(i) = dqsfc_cice(i)
+ if ( .not. wet(i)) then ! no open water
+ if (flag_cice(i)) then !use results from CICE
+ dusfci_cpl(i) = dusfc_cice(i)
+ dvsfci_cpl(i) = dvsfc_cice(i)
+ dtsfci_cpl(i) = dtsfc_cice(i)
+ dqsfci_cpl(i) = dqsfc_cice(i)
+ else !use PBL fluxes when CICE fluxes is unavailable
+ dusfci_cpl(i) = dusfc1(i)
+ dvsfci_cpl(i) = dvsfc1(i)
+ dtsfci_cpl(i) = dtsfc1(i)
+ dqsfci_cpl(i) = dqsfc1(i)
+ end if
elseif (icy(i) .or. dry(i)) then ! use stress_ocean from sfc_diff for opw component at mixed point
tem1 = max(q1(i), 1.e-8)
rho = prsl(i,1) / (rd*t1(i)*(one+fvirt*tem1))
if (wind(i) > zero) then
- tem = - rho * stress_ocn(i) / wind(i)
+ tem = - rho * stress_wat(i) / wind(i)
dusfci_cpl(i) = tem * ugrs1(i) ! U-momentum flux
dvsfci_cpl(i) = tem * vgrs1(i) ! V-momentum flux
else
dusfci_cpl(i) = zero
dvsfci_cpl(i) = zero
endif
- dtsfci_cpl(i) = cp * rho * hflx_ocn(i) ! sensible heat flux over open ocean
- dqsfci_cpl(i) = hvap * rho * evap_ocn(i) ! latent heat flux over open ocean
+ dtsfci_cpl(i) = cp * rho * hflx_wat(i) ! sensible heat flux over open ocean
+ dqsfci_cpl(i) = hvap * rho * evap_wat(i) ! latent heat flux over open ocean
else ! use results from PBL scheme for 100% open ocean
dusfci_cpl(i) = dusfc1(i)
dvsfci_cpl(i) = dvsfc1(i)
- dtsfci_cpl(i) = dtsfc1(i)
- dqsfci_cpl(i) = dqsfc1(i)
+ dtsfci_cpl(i) = dtsfc1(i)*hffac(i)
+ dqsfci_cpl(i) = dqsfc1(i)*hefac(i)
endif
!
dusfc_cpl (i) = dusfc_cpl(i) + dusfci_cpl(i) * dtf
@@ -547,12 +602,12 @@ subroutine GFS_PBL_generic_post_run (im, levs, nvdiff, ntrac,
do i=1,im
dusfc_diag (i) = dusfc_diag(i) + dusfc1(i)*dtf
dvsfc_diag (i) = dvsfc_diag(i) + dvsfc1(i)*dtf
- dtsfc_diag (i) = dtsfc_diag(i) + dtsfc1(i)*dtf
- dqsfc_diag (i) = dqsfc_diag(i) + dqsfc1(i)*dtf
+ dtsfc_diag (i) = dtsfc_diag(i) + dtsfc1(i)*hffac(i)*dtf
+ dqsfc_diag (i) = dqsfc_diag(i) + dqsfc1(i)*hefac(i)*dtf
dusfci_diag(i) = dusfc1(i)
dvsfci_diag(i) = dvsfc1(i)
- dtsfci_diag(i) = dtsfc1(i)
- dqsfci_diag(i) = dqsfc1(i)
+ dtsfci_diag(i) = dtsfc1(i)*hffac(i)
+ dqsfci_diag(i) = dqsfc1(i)*hefac(i)
enddo
if (ldiag3d) then
diff --git a/physics/GFS_PBL_generic.meta b/physics/GFS_PBL_generic.meta
index 5f4362103..c94d15916 100644
--- a/physics/GFS_PBL_generic.meta
+++ b/physics/GFS_PBL_generic.meta
@@ -307,6 +307,113 @@
kind = kind_phys
intent = inout
optional = F
+[lheatstrg]
+ standard_name = flag_for_canopy_heat_storage
+ long_name = flag for canopy heat storage parameterization
+ units = flag
+ dimensions = ()
+ type = logical
+ intent = in
+ optional = F
+[z0fac]
+ standard_name = surface_roughness_fraction_factor
+ long_name = surface roughness fraction factor for canopy heat storage parameterization
+ units = none
+ dimensions = ()
+ type = real
+ kind = kind_phys
+ intent = in
+ optional = F
+[e0fac]
+ standard_name = latent_heat_flux_fraction_factor_relative_to_sensible_heat_flux
+ long_name = latent heat flux fraction factor relative to sensible heat flux for canopy heat storage parameterization
+ units = none
+ dimensions = ()
+ type = real
+ kind = kind_phys
+ intent = in
+ optional = F
+[zorl]
+ standard_name = surface_roughness_length
+ long_name = surface roughness length
+ units = cm
+ dimensions = (horizontal_dimension)
+ type = real
+ kind = kind_phys
+ intent = in
+ optional = F
+[u10m]
+ standard_name = x_wind_at_10m
+ long_name = 10 meter u wind speed
+ units = m s-1
+ dimensions = (horizontal_dimension)
+ type = real
+ kind = kind_phys
+ intent = in
+ optional = F
+[v10m]
+ standard_name = y_wind_at_10m
+ long_name = 10 meter v wind speed
+ units = m s-1
+ dimensions = (horizontal_dimension)
+ type = real
+ kind = kind_phys
+ intent = in
+ optional = F
+[hflx]
+ standard_name = kinematic_surface_upward_sensible_heat_flux
+ long_name = kinematic surface upward sensible heat flux
+ units = K m s-1
+ dimensions = (horizontal_dimension)
+ type = real
+ kind = kind_phys
+ intent = in
+ optional = F
+[evap]
+ standard_name = kinematic_surface_upward_latent_heat_flux
+ long_name = kinematic surface upward latent heat flux
+ units = kg kg-1 m s-1
+ dimensions = (horizontal_dimension)
+ type = real
+ kind = kind_phys
+ intent = in
+ optional = F
+[hflxq]
+ standard_name = kinematic_surface_upward_sensible_heat_flux_reduced_by_surface_roughness
+ long_name = kinematic surface upward sensible heat flux reduced by surface roughness
+ units = K m s-1
+ dimensions = (horizontal_dimension)
+ type = real
+ kind = kind_phys
+ intent = out
+ optional = F
+[evapq]
+ standard_name = kinematic_surface_upward_latent_heat_flux_reduced_by_surface_roughness
+ long_name = kinematic surface upward latent heat flux reduced by surface roughness
+ units = kg kg-1 m s-1
+ dimensions = (horizontal_dimension)
+ type = real
+ kind = kind_phys
+ intent = out
+ optional = F
+[hefac]
+ standard_name = surface_upward_latent_heat_flux_reduction_factor
+ long_name = surface upward latent heat flux reduction factor from canopy heat storage
+ units = none
+ dimensions = (horizontal_dimension)
+ type = real
+ kind = kind_phys
+ intent = out
+ optional = F
+[hffac]
+ standard_name = surface_upward_sensible_heat_flux_reduction_factor
+ long_name = surface upward sensible heat flux reduction factor from canopy heat storage
+ units = none
+ dimensions = (horizontal_dimension)
+ type = real
+ kind = kind_phys
+ intent = out
+ optional = F
[errmsg]
standard_name = ccpp_error_message
long_name = error message for error handling in CCPP
@@ -1079,13 +1186,12 @@
kind = kind_phys
intent = in
optional = F
-[fice]
- standard_name = sea_ice_concentration
- long_name = ice fraction over open water
- units = frac
+[flag_cice]
+ standard_name = flag_for_cice
+ long_name = flag for cice
+ units = flag
dimensions = (horizontal_dimension)
- type = real
- kind = kind_phys
+ type = logical
intent = in
optional = F
[dusfc_cice]
@@ -1157,7 +1263,7 @@
kind = kind_phys
intent = in
optional = F
-[stress_ocn]
+[stress_wat]
standard_name = surface_wind_stress_over_ocean
long_name = surface wind stress over ocean
units = m2 s-2
@@ -1166,7 +1272,7 @@
kind = kind_phys
intent = in
optional = F
-[hflx_ocn]
+[hflx_wat]
standard_name = kinematic_surface_upward_sensible_heat_flux_over_ocean
long_name = kinematic surface upward sensible heat flux over ocean
units = K m s-1
@@ -1175,7 +1281,7 @@
kind = kind_phys
intent = in
optional = F
-[evap_ocn]
+[evap_wat]
standard_name = kinematic_surface_upward_latent_heat_flux_over_ocean
long_name = kinematic surface upward latent heat flux over ocean
units = kg kg-1 m s-1
@@ -1220,6 +1326,24 @@
kind = kind_phys
intent = in
optional = F
+[hefac]
+ standard_name = surface_upward_latent_heat_flux_reduction_factor
+ long_name = surface upward latent heat flux reduction factor from canopy heat storage
+ units = none
+ dimensions = (horizontal_dimension)
+ type = real
+ kind = kind_phys
+ intent = in
+ optional = F
+[hffac]
+ standard_name = surface_upward_sensible_heat_flux_reduction_factor
+ long_name = surface upward sensible heat flux reduction factor from canopy heat storage
+ units = none
+ dimensions = (horizontal_dimension)
+ type = real
+ kind = kind_phys
+ intent = in
+ optional = F
[errmsg]
standard_name = ccpp_error_message
long_name = error message for error handling in CCPP
diff --git a/physics/GFS_debug.F90 b/physics/GFS_debug.F90
index 6bf39d491..4a096449d 100644
--- a/physics/GFS_debug.F90
+++ b/physics/GFS_debug.F90
@@ -18,6 +18,7 @@ module GFS_diagtoscreen
interface print_var
module procedure print_logic_0d
+ module procedure print_logic_1d
module procedure print_int_0d
module procedure print_int_1d
module procedure print_real_0d
@@ -116,6 +117,7 @@ subroutine GFS_diagtoscreen_run (Model, Statein, Stateout, Sfcprop, Coupling,
do impi=0,mpisize-1
do iomp=0,ompsize-1
if (mpirank==impi .and. omprank==iomp) then
+ call print_var(mpirank,omprank, blkno, 'Model%kdt' , Model%kdt)
! Sfcprop
call print_var(mpirank,omprank, blkno, 'Sfcprop%slmsk' , Sfcprop%slmsk)
call print_var(mpirank,omprank, blkno, 'Sfcprop%oceanfrac', Sfcprop%oceanfrac)
@@ -478,17 +480,12 @@ subroutine GFS_diagtoscreen_run (Model, Statein, Stateout, Sfcprop, Coupling,
call print_var(mpirank,omprank, blkno, 'Coupling%sfc_wts' , Coupling%sfc_wts )
end if
if (Model%do_ca) then
- call print_var(mpirank,omprank, blkno, 'Coupling%tconvtend', Coupling%tconvtend )
- call print_var(mpirank,omprank, blkno, 'Coupling%qconvtend', Coupling%qconvtend )
- call print_var(mpirank,omprank, blkno, 'Coupling%uconvtend', Coupling%uconvtend )
- call print_var(mpirank,omprank, blkno, 'Coupling%vconvtend', Coupling%vconvtend )
- call print_var(mpirank,omprank, blkno, 'Coupling%ca_out ', Coupling%ca_out )
+ call print_var(mpirank,omprank, blkno, 'Coupling%ca1 ', Coupling%ca1 )
call print_var(mpirank,omprank, blkno, 'Coupling%ca_deep ', Coupling%ca_deep )
call print_var(mpirank,omprank, blkno, 'Coupling%ca_turb ', Coupling%ca_turb )
call print_var(mpirank,omprank, blkno, 'Coupling%ca_shal ', Coupling%ca_shal )
call print_var(mpirank,omprank, blkno, 'Coupling%ca_rad ', Coupling%ca_rad )
call print_var(mpirank,omprank, blkno, 'Coupling%ca_micro ', Coupling%ca_micro )
- call print_var(mpirank,omprank, blkno, 'Coupling%cape ', Coupling%cape )
end if
if(Model%imp_physics == Model%imp_physics_thompson .and. Model%ltaerosol) then
call print_var(mpirank,omprank, blkno, 'Coupling%nwfa2d', Coupling%nwfa2d)
@@ -557,6 +554,30 @@ subroutine print_int_0d(mpirank,omprank,blkno,name,var)
end subroutine print_int_0d
+ subroutine print_logic_1d(mpirank,omprank,blkno,name,var)
+
+ use machine, only: kind_phys
+
+ implicit none
+
+ integer, intent(in) :: mpirank, omprank, blkno
+ character(len=*), intent(in) :: name
+ logical, intent(in) :: var(:)
+
+ integer :: i
+
+#ifdef PRINT_SUM
+ write(0,'(2a,3i6,2i8)') 'XXX: ', trim(name), mpirank, omprank, blkno, size(var), count(var)
+#elif defined(PRINT_CHKSUM)
+ write(0,'(2a,3i6,2i8)') 'XXX: ', trim(name), mpirank, omprank, blkno, size(var), count(var)
+#else
+ do i=ISTART,min(IEND,size(var(:)))
+ write(0,'(2a,3i6,i6,1x,l)') 'XXX: ', trim(name), mpirank, omprank, blkno, i, var(i)
+ end do
+#endif
+
+ end subroutine print_logic_1d
+
subroutine print_int_1d(mpirank,omprank,blkno,name,var)
use machine, only: kind_phys
diff --git a/physics/GFS_stochastics.F90 b/physics/GFS_stochastics.F90
index 99f84e3b1..9b4533cf9 100644
--- a/physics/GFS_stochastics.F90
+++ b/physics/GFS_stochastics.F90
@@ -26,7 +26,8 @@ end subroutine GFS_stochastics_finalize
!! -# defines random seed indices for radiation (in a reproducible way)
!! -# interpolates coefficients for prognostic ozone calculation
!! -# performs surface data cycling via the GFS gcycle routine
- subroutine GFS_stochastics_run (im, km, do_sppt, use_zmtnblck, do_shum, do_skeb, &
+ subroutine GFS_stochastics_run (im, km, kdt, do_sppt, use_zmtnblck, do_shum, &
+ do_skeb, do_ca,ca_global,ca1,si,vfact_ca, &
zmtnblck, sppt_wts, skebu_wts, skebv_wts, shum_wts,&
sppt_wts_inv, skebu_wts_inv, skebv_wts_inv, &
shum_wts_inv, diss_est, &
@@ -42,11 +43,13 @@ subroutine GFS_stochastics_run (im, km, do_sppt, use_zmtnblck, do_shum, do_skeb,
integer, intent(in) :: im
integer, intent(in) :: km
+ integer, intent(in) :: kdt
logical, intent(in) :: do_sppt
+ logical, intent(in) :: do_ca
+ logical, intent(in) :: ca_global
logical, intent(in) :: use_zmtnblck
logical, intent(in) :: do_shum
logical, intent(in) :: do_skeb
- !logical, intent(in) :: isppt_deep
real(kind_phys), dimension(1:im), intent(in) :: zmtnblck
! sppt_wts only allocated if do_sppt == .true.
real(kind_phys), dimension(:,:), intent(inout) :: sppt_wts
@@ -85,17 +88,16 @@ subroutine GFS_stochastics_run (im, km, do_sppt, use_zmtnblck, do_shum, do_skeb,
! drain_cpl, dsnow_cpl only allocated if cplflx == .true. or cplchm == .true.
real(kind_phys), dimension(:), intent(in) :: drain_cpl
real(kind_phys), dimension(:), intent(in) :: dsnow_cpl
- ! tconvtend ... vconvtend only allocated if isppt_deep == .true.
- !real(kind_phys), dimension(:,:), intent(in) :: tconvtend
- !real(kind_phys), dimension(:,:), intent(in) :: qconvtend
- !real(kind_phys), dimension(:,:), intent(in) :: uconvtend
- !real(kind_phys), dimension(:,:), intent(in) :: vconvtend
+ real(kind_phys), dimension(1:km), intent(in) :: si
+ real(kind_phys), dimension(1:km), intent(inout) :: vfact_ca
+ real(kind_phys), dimension(1:im), intent(in) :: ca1
character(len=*), intent(out) :: errmsg
integer, intent(out) :: errflg
!--- local variables
integer :: k, i
real(kind=kind_phys) :: upert, vpert, tpert, qpert, qnew, sppt_vwt
+ real(kind=kind_phys), dimension(1:im,1:km) :: ca
! Initialize CCPP error handling variables
errmsg = ''
@@ -126,22 +128,11 @@ subroutine GFS_stochastics_run (im, km, do_sppt, use_zmtnblck, do_shum, do_skeb,
endif
sppt_wts_inv(i,k)=sppt_wts(i,k)
- !if(isppt_deep)then
-
- ! upert = (gu0(i,k) - ugrs(i,k) - uconvtend(i,k)) + uconvtend(i,k) * sppt_wts(i,k)
- ! vpert = (gv0(i,k) - vgrs(i,k) - vconvtend(i,k)) + vconvtend(i,k) * sppt_wts(i,k)
- ! tpert = (gt0(i,k) - tgrs(i,k) - dtdtr(i,k) - tconvtend(i,k)) + tconvtend(i,k) * sppt_wts(i,k)
- ! qpert = (gq0(i,k) - qgrs(i,k) - qconvtend(i,k)) + qconvtend(i,k) * sppt_wts(i,k)
-
- !else
-
upert = (gu0(i,k) - ugrs(i,k)) * sppt_wts(i,k)
vpert = (gv0(i,k) - vgrs(i,k)) * sppt_wts(i,k)
tpert = (gt0(i,k) - tgrs(i,k) - dtdtr(i,k)) * sppt_wts(i,k)
qpert = (gq0(i,k) - qgrs(i,k)) * sppt_wts(i,k)
- !endif
-
gu0(i,k) = ugrs(i,k)+upert
gv0(i,k) = vgrs(i,k)+vpert
@@ -154,21 +145,6 @@ subroutine GFS_stochastics_run (im, km, do_sppt, use_zmtnblck, do_shum, do_skeb,
enddo
enddo
- !if(isppt_deep)then
- ! tprcp(:) = tprcp(:) + (sppt_wts(:,15) - 1 )*rainc(:)
- ! totprcp(:) = totprcp(:) + (sppt_wts(:,15) - 1 )*rainc(:)
- ! cnvprcp(:) = cnvprcp(:) + (sppt_wts(:,15) - 1 )*rainc(:)
- !! ! bucket precipitation adjustment due to sppt
- ! totprcpb(:) = totprcpb(:) + (sppt_wts(:,15) - 1 )*rainc(:)
- ! cnvprcpb(:) = cnvprcpb(:) + (sppt_wts(:,15) - 1 )*rainc(:)
-
- ! if (cplflx) then !Need to make proper adjustments for deep convection only perturbations
- ! rain_cpl(:) = rain_cpl(:) + (sppt_wts(:,15) - 1.0)*drain_cpl(:)
- ! snow_cpl(:) = snow_cpl(:) + (sppt_wts(:,15) - 1.0)*dsnow_cpl(:)
- ! endif
-
- !else
-
! instantaneous precip rate going into land model at the next time step
tprcp(:) = sppt_wts(:,15)*tprcp(:)
totprcp(:) = totprcp(:) + (sppt_wts(:,15) - 1 )*rain(:)
@@ -183,7 +159,75 @@ subroutine GFS_stochastics_run (im, km, do_sppt, use_zmtnblck, do_shum, do_skeb,
snow_cpl(:) = snow_cpl(:) + (sppt_wts(:,15) - 1.0)*dsnow_cpl(:)
endif
- !endif
+ endif
+
+ if (do_ca .and. ca_global) then
+
+ if(kdt == 1)then
+ do k=1,km
+ if (si(k) .lt. 0.1 .and. si(k) .gt. 0.025) then
+ vfact_ca(k) = (si(k)-0.025)/(0.1-0.025)
+ else if (si(k) .lt. 0.025) then
+ vfact_ca(k) = 0.0
+ else
+ vfact_ca(k) = 1.0
+ endif
+ enddo
+ vfact_ca(2)=vfact_ca(3)*0.5
+ vfact_ca(1)=0.0
+ endif
+
+ do k = 1,km
+ do i = 1,im
+ sppt_vwt=1.0
+ if (zmtnblck(i).EQ.0.0) then
+ sppt_vwt=1.0
+ else
+ if (k.GT.zmtnblck(i)+2) then
+ sppt_vwt=1.0
+ endif
+ if (k.LE.zmtnblck(i)) then
+ sppt_vwt=0.0
+ endif
+ if (k.EQ.zmtnblck(i)+1) then
+ sppt_vwt=0.333333
+ endif
+ if (k.EQ.zmtnblck(i)+2) then
+ sppt_vwt=0.666667
+ endif
+ endif
+
+ ca(i,k)=((ca1(i)-1.)*sppt_vwt*vfact_ca(k))+1.0
+
+ upert = (gu0(i,k) - ugrs(i,k)) * ca(i,k)
+ vpert = (gv0(i,k) - vgrs(i,k)) * ca(i,k)
+ tpert = (gt0(i,k) - tgrs(i,k) - dtdtr(i,k)) * ca(i,k)
+ qpert = (gq0(i,k) - qgrs(i,k)) * ca(i,k)
+ gu0(i,k) = ugrs(i,k)+upert
+ gv0(i,k) = vgrs(i,k)+vpert
+ !negative humidity check
+ qnew = qgrs(i,k)+qpert
+ if (qnew >= 1.0e-10) then
+ gq0(i,k) = qnew
+ gt0(i,k) = tgrs(i,k) + tpert + dtdtr(i,k)
+ endif
+ enddo
+ enddo
+
+ ! instantaneous precip rate going into land model at the next time step
+ tprcp(:) = ca(:,15)*tprcp(:)
+ totprcp(:) = totprcp(:) + (ca(:,15) - 1 )*rain(:)
+ ! acccumulated total and convective preciptiation
+ cnvprcp(:) = cnvprcp(:) + (ca(:,15) - 1 )*rainc(:)
+ ! bucket precipitation adjustment due to sppt
+ totprcpb(:) = totprcpb(:) + (ca(:,15) - 1 )*rain(:)
+ cnvprcpb(:) = cnvprcpb(:) + (ca(:,15) - 1 )*rainc(:)
+
+ if (cplflx) then
+ rain_cpl(:) = rain_cpl(:) + (ca(:,15) - 1.0)*drain_cpl(:)
+ snow_cpl(:) = snow_cpl(:) + (ca(:,15) - 1.0)*dsnow_cpl(:)
+ endif
+
endif
diff --git a/physics/GFS_stochastics.meta b/physics/GFS_stochastics.meta
index 9232c8d6a..c4fad912e 100644
--- a/physics/GFS_stochastics.meta
+++ b/physics/GFS_stochastics.meta
@@ -17,6 +17,14 @@
type = integer
intent = in
optional = F
+[kdt]
+ standard_name = index_of_time_step
+ long_name = current forecast iteration
+ units = index
+ dimensions = ()
+ type = integer
+ intent = in
+ optional = F
[do_sppt]
standard_name = flag_for_stochastic_surface_physics_perturbations
long_name = flag for stochastic surface physics perturbations
@@ -67,6 +75,49 @@
kind = kind_phys
intent = inout
optional = F
+[do_ca]
+ standard_name = flag_for_cellular_automata
+ long_name = cellular automata main switch
+ units = flag
+ dimensions = ()
+ type = logical
+ intent = in
+ optional = F
+[ca_global]
+ standard_name = flag_for_global_cellular_automata
+ long_name = switch for global ca
+ units = flag
+ dimensions = ()
+ type = logical
+ intent = in
+ optional = F
+[ca1]
+ standard_name = cellular_automata_global_pattern
+ long_name = cellular automata global pattern
+ units = flag
+ dimensions = (horizontal_dimension)
+ type = real
+ kind = kind_phys
+ intent = in
+ optional = F
+[vfact_ca]
+ standard_name = vertical_weight_for_ca
+ long_name = vertical weight for ca
+ units = frac
+ dimensions = (vertical_dimension)
+ type = real
+ kind = kind_phys
+ intent = inout
+ optional = F
+[si]
+ standard_name = vertical_sigma_coordinate_for_radiation_initialization
+ long_name = vertical sigma coordinate for radiation initialization
+ units = none
+ dimensions = (number_of_vertical_layers_for_radiation_calculations_plus_one)
+ type = real
+ kind = kind_phys
+ intent = in
+ optional = F
[skebu_wts]
standard_name = weights_for_stochastic_skeb_perturbation_of_x_wind
long_name = weights for stochastic skeb perturbation of x wind
diff --git a/physics/GFS_suite_interstitial.F90 b/physics/GFS_suite_interstitial.F90
index 935dd9430..2f14f0fec 100644
--- a/physics/GFS_suite_interstitial.F90
+++ b/physics/GFS_suite_interstitial.F90
@@ -160,7 +160,7 @@ end subroutine GFS_suite_interstitial_2_finalize
subroutine GFS_suite_interstitial_2_run (im, levs, lssav, ldiag3d, lsidea, cplflx, flag_cice, shal_cnv, old_monin, mstrat, &
do_shoc, frac_grid, imfshalcnv, dtf, xcosz, adjsfcdsw, adjsfcdlw, cice, pgr, ulwsfc_cice, lwhd, htrsw, htrlw, xmu, ctei_rm, &
work1, work2, prsi, tgrs, prsl, qgrs_water_vapor, qgrs_cloud_water, cp, hvap, prslk, suntim, adjsfculw, adjsfculw_lnd, &
- adjsfculw_ice, adjsfculw_ocn, dlwsfc, ulwsfc, psmean, dt3dt_lw, dt3dt_sw, dt3dt_pbl, dt3dt_dcnv, dt3dt_scnv, dt3dt_mp, &
+ adjsfculw_ice, adjsfculw_wat, dlwsfc, ulwsfc, psmean, dt3dt_lw, dt3dt_sw, dt3dt_pbl, dt3dt_dcnv, dt3dt_scnv, dt3dt_mp, &
ctei_rml, ctei_r, kinver, dry, icy, wet, frland, huge, errmsg, errflg)
implicit none
@@ -181,7 +181,7 @@ subroutine GFS_suite_interstitial_2_run (im, levs, lssav, ldiag3d, lsidea, cplfl
integer, intent(inout), dimension(im) :: kinver
real(kind=kind_phys), intent(inout), dimension(im) :: suntim, dlwsfc, ulwsfc, psmean, ctei_rml, ctei_r
- real(kind=kind_phys), intent(in ), dimension(im) :: adjsfculw_lnd, adjsfculw_ice, adjsfculw_ocn
+ real(kind=kind_phys), intent(in ), dimension(im) :: adjsfculw_lnd, adjsfculw_ice, adjsfculw_wat
real(kind=kind_phys), intent( out), dimension(im) :: adjsfculw
! These arrays are only allocated if ldiag3d is .true.
@@ -232,11 +232,11 @@ subroutine GFS_suite_interstitial_2_run (im, levs, lssav, ldiag3d, lsidea, cplfl
if (flag_cice(i)) then
adjsfculw(i) = adjsfculw_lnd(i) * frland(i) &
+ ulwsfc_cice(i) * tem &
- + adjsfculw_ocn(i) * (one - frland(i) - tem)
+ + adjsfculw_wat(i) * (one - frland(i) - tem)
else
adjsfculw(i) = adjsfculw_lnd(i) * frland(i) &
+ adjsfculw_ice(i) * tem &
- + adjsfculw_ocn(i) * (one - frland(i) - tem)
+ + adjsfculw_wat(i) * (one - frland(i) - tem)
endif
enddo
else
@@ -246,20 +246,20 @@ subroutine GFS_suite_interstitial_2_run (im, levs, lssav, ldiag3d, lsidea, cplfl
elseif (icy(i)) then ! ice (and water)
tem = one - cice(i)
if (flag_cice(i)) then
- if (wet(i) .and. adjsfculw_ocn(i) /= huge) then
- adjsfculw(i) = ulwsfc_cice(i)*cice(i) + adjsfculw_ocn(i)*tem
+ if (wet(i) .and. adjsfculw_wat(i) /= huge) then
+ adjsfculw(i) = ulwsfc_cice(i)*cice(i) + adjsfculw_wat(i)*tem
else
adjsfculw(i) = ulwsfc_cice(i)
endif
else
- if (wet(i) .and. adjsfculw_ocn(i) /= huge) then
- adjsfculw(i) = adjsfculw_ice(i)*cice(i) + adjsfculw_ocn(i)*tem
+ if (wet(i) .and. adjsfculw_wat(i) /= huge) then
+ adjsfculw(i) = adjsfculw_ice(i)*cice(i) + adjsfculw_wat(i)*tem
else
adjsfculw(i) = adjsfculw_ice(i)
endif
endif
else ! all water
- adjsfculw(i) = adjsfculw_ocn(i)
+ adjsfculw(i) = adjsfculw_wat(i)
endif
enddo
endif
diff --git a/physics/GFS_suite_interstitial.meta b/physics/GFS_suite_interstitial.meta
index 5c206ef30..08f8b2af0 100644
--- a/physics/GFS_suite_interstitial.meta
+++ b/physics/GFS_suite_interstitial.meta
@@ -604,7 +604,7 @@
kind = kind_phys
intent = in
optional = F
-[adjsfculw_ocn]
+[adjsfculw_wat]
standard_name = surface_upwelling_longwave_flux_over_ocean_interstitial
long_name = surface upwelling longwave flux at current time over ocean (temporary use as interstitial)
units = W m-2
diff --git a/physics/GFS_surface_composites.F90 b/physics/GFS_surface_composites.F90
index 7cd552e69..57158321d 100644
--- a/physics/GFS_surface_composites.F90
+++ b/physics/GFS_surface_composites.F90
@@ -26,12 +26,12 @@ end subroutine GFS_surface_composites_pre_finalize
!!
subroutine GFS_surface_composites_pre_run (im, frac_grid, flag_cice, cplflx, cplwav2atm, &
landfrac, lakefrac, oceanfrac, &
- frland, dry, icy, lake, ocean, wet, cice, cimin, zorl, zorlo, zorll, zorl_ocn, &
- zorl_lnd, zorl_ice, snowd, snowd_ocn, snowd_lnd, snowd_ice, tprcp, tprcp_ocn, &
- tprcp_lnd, tprcp_ice, uustar, uustar_lnd, uustar_ice, weasd, weasd_ocn, &
- weasd_lnd, weasd_ice, ep1d_ice, tsfc, tsfco, tsfcl, tsfc_ocn, tsfc_lnd, &
- tsfc_ice, tisfc, tice, tsurf, tsurf_ocn, tsurf_lnd, tsurf_ice, gflx_ice, &
- tgice, islmsk, semis_rad, semis_ocn, semis_lnd, semis_ice, &
+ frland, dry, icy, lake, ocean, wet, cice, cimin, zorl, zorlo, zorll, zorl_wat, &
+ zorl_lnd, zorl_ice, snowd, snowd_wat, snowd_lnd, snowd_ice, tprcp, tprcp_wat, &
+ tprcp_lnd, tprcp_ice, uustar, uustar_lnd, uustar_ice, weasd, weasd_wat, &
+ weasd_lnd, weasd_ice, ep1d_ice, tsfc, tsfco, tsfcl, tsfc_wat, tsfc_lnd, &
+ tsfc_ice, tisfc, tice, tsurf, tsurf_wat, tsurf_lnd, tsurf_ice, gflx_ice, &
+ tgice, islmsk, semis_rad, semis_wat, semis_lnd, semis_ice, &
min_lakeice, min_seaice, errmsg, errflg)
implicit none
@@ -48,14 +48,14 @@ subroutine GFS_surface_composites_pre_run (im, frac_grid, flag_cice, cplflx, cpl
real(kind=kind_phys), dimension(im), intent(in ) :: zorl, snowd, tprcp, uustar, weasd
real(kind=kind_phys), dimension(im), intent(inout) :: zorlo, zorll, tsfc, tsfco, tsfcl, tisfc, tsurf
- real(kind=kind_phys), dimension(im), intent(inout) :: snowd_ocn, snowd_lnd, snowd_ice, tprcp_ocn, &
- tprcp_lnd, tprcp_ice, zorl_ocn, zorl_lnd, zorl_ice, tsfc_ocn, tsfc_lnd, tsfc_ice, tsurf_ocn, &
- tsurf_lnd, tsurf_ice, uustar_lnd, uustar_ice, weasd_ocn, weasd_lnd, weasd_ice, ep1d_ice, gflx_ice
+ real(kind=kind_phys), dimension(im), intent(inout) :: snowd_wat, snowd_lnd, snowd_ice, tprcp_wat, &
+ tprcp_lnd, tprcp_ice, zorl_wat, zorl_lnd, zorl_ice, tsfc_wat, tsfc_lnd, tsfc_ice, tsurf_wat, &
+ tsurf_lnd, tsurf_ice, uustar_lnd, uustar_ice, weasd_wat, weasd_lnd, weasd_ice, ep1d_ice, gflx_ice
real(kind=kind_phys), dimension(im), intent( out) :: tice
real(kind=kind_phys), intent(in ) :: tgice
integer, dimension(im), intent(in ) :: islmsk
real(kind=kind_phys), dimension(im), intent(in ) :: semis_rad
- real(kind=kind_phys), dimension(im), intent(inout) :: semis_ocn, semis_lnd, semis_ice
+ real(kind=kind_phys), dimension(im), intent(inout) :: semis_wat, semis_lnd, semis_ice
real(kind=kind_phys), intent(in ) :: min_lakeice, min_seaice
! CCPP error handling
@@ -138,18 +138,18 @@ subroutine GFS_surface_composites_pre_run (im, frac_grid, flag_cice, cplflx, cpl
endif
do i=1,im
- tprcp_ocn(i) = tprcp(i)
+ tprcp_wat(i) = tprcp(i)
tprcp_lnd(i) = tprcp(i)
tprcp_ice(i) = tprcp(i)
if (wet(i)) then ! Water
- zorl_ocn(i) = zorlo(i)
- tsfc_ocn(i) = tsfco(i)
- tsurf_ocn(i) = tsfco(i)
-! weasd_ocn(i) = weasd(i)
-! snowd_ocn(i) = snowd(i)
- weasd_ocn(i) = zero
- snowd_ocn(i) = zero
- semis_ocn(i) = 0.984d0
+ zorl_wat(i) = zorlo(i)
+ tsfc_wat(i) = tsfco(i)
+ tsurf_wat(i) = tsfco(i)
+! weasd_wat(i) = weasd(i)
+! snowd_wat(i) = snowd(i)
+ weasd_wat(i) = zero
+ snowd_wat(i) = zero
+ semis_wat(i) = 0.984d0
endif
if (dry(i)) then ! Land
uustar_lnd(i) = uustar(i)
@@ -204,8 +204,8 @@ end subroutine GFS_surface_composites_inter_finalize
!> \section arg_table_GFS_surface_composites_inter_run Argument Table
!! \htmlinclude GFS_surface_composites_inter_run.html
!!
- subroutine GFS_surface_composites_inter_run (im, dry, icy, wet, semis_ocn, semis_lnd, semis_ice, adjsfcdlw, &
- gabsbdlw_lnd, gabsbdlw_ice, gabsbdlw_ocn, &
+ subroutine GFS_surface_composites_inter_run (im, dry, icy, wet, semis_wat, semis_lnd, semis_ice, adjsfcdlw, &
+ gabsbdlw_lnd, gabsbdlw_ice, gabsbdlw_wat, &
adjsfcusw, adjsfcdsw, adjsfcnsw, errmsg, errflg)
implicit none
@@ -213,9 +213,9 @@ subroutine GFS_surface_composites_inter_run (im, dry, icy, wet, semis_ocn, semis
! Interface variables
integer, intent(in ) :: im
logical, dimension(im), intent(in ) :: dry, icy, wet
- real(kind=kind_phys), dimension(im), intent(in ) :: semis_ocn, semis_lnd, semis_ice, adjsfcdlw, &
+ real(kind=kind_phys), dimension(im), intent(in ) :: semis_wat, semis_lnd, semis_ice, adjsfcdlw, &
adjsfcdsw, adjsfcnsw
- real(kind=kind_phys), dimension(im), intent(inout) :: gabsbdlw_lnd, gabsbdlw_ice, gabsbdlw_ocn
+ real(kind=kind_phys), dimension(im), intent(inout) :: gabsbdlw_lnd, gabsbdlw_ice, gabsbdlw_wat
real(kind=kind_phys), dimension(im), intent(out) :: adjsfcusw
! CCPP error handling
@@ -250,7 +250,7 @@ subroutine GFS_surface_composites_inter_run (im, dry, icy, wet, semis_ocn, semis
do i=1,im
if (dry(i)) gabsbdlw_lnd(i) = semis_lnd(i) * adjsfcdlw(i)
if (icy(i)) gabsbdlw_ice(i) = semis_ice(i) * adjsfcdlw(i)
- if (wet(i)) gabsbdlw_ocn(i) = semis_ocn(i) * adjsfcdlw(i)
+ if (wet(i)) gabsbdlw_wat(i) = semis_wat(i) * adjsfcdlw(i)
adjsfcusw(i) = adjsfcdsw(i) - adjsfcnsw(i)
enddo
@@ -285,29 +285,29 @@ end subroutine GFS_surface_composites_post_finalize
!!
#endif
subroutine GFS_surface_composites_post_run ( &
- im, cplflx, cplwav2atm, frac_grid, flag_cice, islmsk, dry, wet, icy, landfrac, lakefrac, oceanfrac, &
- zorl, zorlo, zorll, zorl_ocn, zorl_lnd, zorl_ice, &
- cd, cd_ocn, cd_lnd, cd_ice, cdq, cdq_ocn, cdq_lnd, cdq_ice, rb, rb_ocn, rb_lnd, rb_ice, stress, stress_ocn, stress_lnd, &
- stress_ice, ffmm, ffmm_ocn, ffmm_lnd, ffmm_ice, ffhh, ffhh_ocn, ffhh_lnd, ffhh_ice, uustar, uustar_ocn, uustar_lnd, &
- uustar_ice, fm10, fm10_ocn, fm10_lnd, fm10_ice, fh2, fh2_ocn, fh2_lnd, fh2_ice, tsurf, tsurf_ocn, tsurf_lnd, tsurf_ice, &
- cmm, cmm_ocn, cmm_lnd, cmm_ice, chh, chh_ocn, chh_lnd, chh_ice, gflx, gflx_ocn, gflx_lnd, gflx_ice, ep1d, ep1d_ocn, &
- ep1d_lnd, ep1d_ice, weasd, weasd_ocn, weasd_lnd, weasd_ice, snowd, snowd_ocn, snowd_lnd, snowd_ice, tprcp, tprcp_ocn, &
- tprcp_lnd, tprcp_ice, evap, evap_ocn, evap_lnd, evap_ice, hflx, hflx_ocn, hflx_lnd, hflx_ice, qss, qss_ocn, qss_lnd, &
- qss_ice, tsfc, tsfco, tsfcl, tsfc_ocn, tsfc_lnd, tsfc_ice, tisfc, tice, hice, cice, errmsg, errflg)
+ im, kice, km, cplflx, cplwav2atm, frac_grid, flag_cice, islmsk, dry, wet, icy, landfrac, lakefrac, oceanfrac, &
+ zorl, zorlo, zorll, zorl_wat, zorl_lnd, zorl_ice, &
+ cd, cd_wat, cd_lnd, cd_ice, cdq, cdq_wat, cdq_lnd, cdq_ice, rb, rb_wat, rb_lnd, rb_ice, stress, stress_wat, stress_lnd, &
+ stress_ice, ffmm, ffmm_wat, ffmm_lnd, ffmm_ice, ffhh, ffhh_wat, ffhh_lnd, ffhh_ice, uustar, uustar_wat, uustar_lnd, &
+ uustar_ice, fm10, fm10_wat, fm10_lnd, fm10_ice, fh2, fh2_wat, fh2_lnd, fh2_ice, tsurf, tsurf_wat, tsurf_lnd, tsurf_ice, &
+ cmm, cmm_wat, cmm_lnd, cmm_ice, chh, chh_wat, chh_lnd, chh_ice, gflx, gflx_wat, gflx_lnd, gflx_ice, ep1d, ep1d_wat, &
+ ep1d_lnd, ep1d_ice, weasd, weasd_wat, weasd_lnd, weasd_ice, snowd, snowd_wat, snowd_lnd, snowd_ice, tprcp, tprcp_wat, &
+ tprcp_lnd, tprcp_ice, evap, evap_wat, evap_lnd, evap_ice, hflx, hflx_wat, hflx_lnd, hflx_ice, qss, qss_wat, qss_lnd, &
+ qss_ice, tsfc, tsfco, tsfcl, tsfc_wat, tsfc_lnd, tsfc_ice, tisfc, tice, hice, cice, tiice, stc, errmsg, errflg)
implicit none
- integer, intent(in) :: im
+ integer, intent(in) :: im, kice, km
logical, intent(in) :: cplflx, frac_grid, cplwav2atm
logical, dimension(im), intent(in) :: flag_cice, dry, wet, icy
integer, dimension(im), intent(in) :: islmsk
real(kind=kind_phys), dimension(im), intent(in) :: landfrac, lakefrac, oceanfrac, &
- zorl_ocn, zorl_lnd, zorl_ice, cd_ocn, cd_lnd, cd_ice, cdq_ocn, cdq_lnd, cdq_ice, rb_ocn, rb_lnd, rb_ice, stress_ocn, &
- stress_lnd, stress_ice, ffmm_ocn, ffmm_lnd, ffmm_ice, ffhh_ocn, ffhh_lnd, ffhh_ice, uustar_ocn, uustar_lnd, uustar_ice, &
- fm10_ocn, fm10_lnd, fm10_ice, fh2_ocn, fh2_lnd, fh2_ice, tsurf_ocn, tsurf_lnd, tsurf_ice, cmm_ocn, cmm_lnd, cmm_ice, &
- chh_ocn, chh_lnd, chh_ice, gflx_ocn, gflx_lnd, gflx_ice, ep1d_ocn, ep1d_lnd, ep1d_ice, weasd_ocn, weasd_lnd, weasd_ice, &
- snowd_ocn, snowd_lnd, snowd_ice,tprcp_ocn, tprcp_lnd, tprcp_ice, evap_ocn, evap_lnd, evap_ice, hflx_ocn, hflx_lnd, &
- hflx_ice, qss_ocn, qss_lnd, qss_ice, tsfc_ocn, tsfc_lnd, tsfc_ice
+ zorl_wat, zorl_lnd, zorl_ice, cd_wat, cd_lnd, cd_ice, cdq_wat, cdq_lnd, cdq_ice, rb_wat, rb_lnd, rb_ice, stress_wat, &
+ stress_lnd, stress_ice, ffmm_wat, ffmm_lnd, ffmm_ice, ffhh_wat, ffhh_lnd, ffhh_ice, uustar_wat, uustar_lnd, uustar_ice, &
+ fm10_wat, fm10_lnd, fm10_ice, fh2_wat, fh2_lnd, fh2_ice, tsurf_wat, tsurf_lnd, tsurf_ice, cmm_wat, cmm_lnd, cmm_ice, &
+ chh_wat, chh_lnd, chh_ice, gflx_wat, gflx_lnd, gflx_ice, ep1d_wat, ep1d_lnd, ep1d_ice, weasd_wat, weasd_lnd, weasd_ice, &
+ snowd_wat, snowd_lnd, snowd_ice,tprcp_wat, tprcp_lnd, tprcp_ice, evap_wat, evap_lnd, evap_ice, hflx_wat, hflx_lnd, &
+ hflx_ice, qss_wat, qss_lnd, qss_ice, tsfc_wat, tsfc_lnd, tsfc_ice
real(kind=kind_phys), dimension(im), intent(inout) :: zorl, zorlo, zorll, cd, cdq, rb, stress, ffmm, ffhh, uustar, fm10, &
fh2, tsurf, cmm, chh, gflx, ep1d, weasd, snowd, tprcp, evap, hflx, qss, tsfc, tsfco, tsfcl, tisfc
@@ -315,11 +315,14 @@ subroutine GFS_surface_composites_post_run (
real(kind=kind_phys), dimension(im), intent(in ) :: tice ! interstitial sea ice temperature
real(kind=kind_phys), dimension(im), intent(inout) :: hice, cice
+ real(kind=kind_phys), dimension(im, kice), intent(in ) :: tiice
+ real(kind=kind_phys), dimension(im, km), intent(inout) :: stc
+
character(len=*), intent(out) :: errmsg
integer, intent(out) :: errflg
! Local variables
- integer :: i
+ integer :: i, k
real(kind=kind_phys) :: txl, txi, txo, tem
! Initialize CCPP error handling variables
@@ -337,27 +340,27 @@ subroutine GFS_surface_composites_post_run (
txi = cice(i)*(one - txl) ! txi = ice fraction wrt whole cell
txo = max(zero, one - txl - txi)
- zorl(i) = txl*zorl_lnd(i) + txi*zorl_ice(i) + txo*zorl_ocn(i)
- cd(i) = txl*cd_lnd(i) + txi*cd_ice(i) + txo*cd_ocn(i)
- cdq(i) = txl*cdq_lnd(i) + txi*cdq_ice(i) + txo*cdq_ocn(i)
- rb(i) = txl*rb_lnd(i) + txi*rb_ice(i) + txo*rb_ocn(i)
- stress(i) = txl*stress_lnd(i) + txi*stress_ice(i) + txo*stress_ocn(i)
- ffmm(i) = txl*ffmm_lnd(i) + txi*ffmm_ice(i) + txo*ffmm_ocn(i)
- ffhh(i) = txl*ffhh_lnd(i) + txi*ffhh_ice(i) + txo*ffhh_ocn(i)
- uustar(i) = txl*uustar_lnd(i) + txi*uustar_ice(i) + txo*uustar_ocn(i)
- fm10(i) = txl*fm10_lnd(i) + txi*fm10_ice(i) + txo*fm10_ocn(i)
- fh2(i) = txl*fh2_lnd(i) + txi*fh2_ice(i) + txo*fh2_ocn(i)
- !tsurf(i) = txl*tsurf_lnd(i) + txi*tice(i) + txo*tsurf_ocn(i)
- !tsurf(i) = txl*tsurf_lnd(i) + txi*tsurf_ice(i) + txo*tsurf_ocn(i) ! not used again! Moorthi
- cmm(i) = txl*cmm_lnd(i) + txi*cmm_ice(i) + txo*cmm_ocn(i)
- chh(i) = txl*chh_lnd(i) + txi*chh_ice(i) + txo*chh_ocn(i)
- !gflx(i) = txl*gflx_lnd(i) + txi*gflx_ice(i) + txo*gflx_ocn(i)
- ep1d(i) = txl*ep1d_lnd(i) + txi*ep1d_ice(i) + txo*ep1d_ocn(i)
- !weasd(i) = txl*weasd_lnd(i) + txi*weasd_ice(i) + txo*weasd_ocn(i)
- !snowd(i) = txl*snowd_lnd(i) + txi*snowd_ice(i) + txo*snowd_ocn(i)
+ zorl(i) = txl*zorl_lnd(i) + txi*zorl_ice(i) + txo*zorl_wat(i)
+ cd(i) = txl*cd_lnd(i) + txi*cd_ice(i) + txo*cd_wat(i)
+ cdq(i) = txl*cdq_lnd(i) + txi*cdq_ice(i) + txo*cdq_wat(i)
+ rb(i) = txl*rb_lnd(i) + txi*rb_ice(i) + txo*rb_wat(i)
+ stress(i) = txl*stress_lnd(i) + txi*stress_ice(i) + txo*stress_wat(i)
+ ffmm(i) = txl*ffmm_lnd(i) + txi*ffmm_ice(i) + txo*ffmm_wat(i)
+ ffhh(i) = txl*ffhh_lnd(i) + txi*ffhh_ice(i) + txo*ffhh_wat(i)
+ uustar(i) = txl*uustar_lnd(i) + txi*uustar_ice(i) + txo*uustar_wat(i)
+ fm10(i) = txl*fm10_lnd(i) + txi*fm10_ice(i) + txo*fm10_wat(i)
+ fh2(i) = txl*fh2_lnd(i) + txi*fh2_ice(i) + txo*fh2_wat(i)
+ !tsurf(i) = txl*tsurf_lnd(i) + txi*tice(i) + txo*tsurf_wat(i)
+ !tsurf(i) = txl*tsurf_lnd(i) + txi*tsurf_ice(i) + txo*tsurf_wat(i) ! not used again! Moorthi
+ cmm(i) = txl*cmm_lnd(i) + txi*cmm_ice(i) + txo*cmm_wat(i)
+ chh(i) = txl*chh_lnd(i) + txi*chh_ice(i) + txo*chh_wat(i)
+ !gflx(i) = txl*gflx_lnd(i) + txi*gflx_ice(i) + txo*gflx_wat(i)
+ ep1d(i) = txl*ep1d_lnd(i) + txi*ep1d_ice(i) + txo*ep1d_wat(i)
+ !weasd(i) = txl*weasd_lnd(i) + txi*weasd_ice(i) + txo*weasd_wat(i)
+ !snowd(i) = txl*snowd_lnd(i) + txi*snowd_ice(i) + txo*snowd_wat(i)
weasd(i) = txl*weasd_lnd(i) + txi*weasd_ice(i)
snowd(i) = txl*snowd_lnd(i) + txi*snowd_ice(i)
- !tprcp(i) = txl*tprcp_lnd(i) + txi*tprcp_ice(i) + txo*tprcp_ocn(i)
+ !tprcp(i) = txl*tprcp_lnd(i) + txi*tprcp_ice(i) + txo*tprcp_wat(i)
if (.not. flag_cice(i) .and. islmsk(i) == 2) then
tem = one - txl
@@ -366,24 +369,24 @@ subroutine GFS_surface_composites_post_run (
qss(i) = txl*qss_lnd(i) + tem*qss_ice(i)
gflx(i) = txl*gflx_lnd(i) + tem*gflx_ice(i)
else
- evap(i) = txl*evap_lnd(i) + txi*evap_ice(i) + txo*evap_ocn(i)
- hflx(i) = txl*hflx_lnd(i) + txi*hflx_ice(i) + txo*hflx_ocn(i)
- qss(i) = txl*qss_lnd(i) + txi*qss_ice(i) + txo*qss_ocn(i)
- gflx(i) = txl*gflx_lnd(i) + txi*gflx_ice(i) + txo*gflx_ocn(i)
+ evap(i) = txl*evap_lnd(i) + txi*evap_ice(i) + txo*evap_wat(i)
+ hflx(i) = txl*hflx_lnd(i) + txi*hflx_ice(i) + txo*hflx_wat(i)
+ qss(i) = txl*qss_lnd(i) + txi*qss_ice(i) + txo*qss_wat(i)
+ gflx(i) = txl*gflx_lnd(i) + txi*gflx_ice(i) + txo*gflx_wat(i)
endif
- tsfc(i) = txl*tsfc_lnd(i) + txi*tice(i) + txo*tsfc_ocn(i)
+ tsfc(i) = txl*tsfc_lnd(i) + txi*tice(i) + txo*tsfc_wat(i)
zorll(i) = zorl_lnd(i)
- zorlo(i) = zorl_ocn(i)
+ zorlo(i) = zorl_wat(i)
if (dry(i)) tsfcl(i) = tsfc_lnd(i) ! over land
- if (wet(i)) tsfco(i) = tsfc_ocn(i) ! over lake or ocean when uncoupled
+ if (wet(i)) tsfco(i) = tsfc_wat(i) ! over lake or ocean when uncoupled
! for coupled model ocean will replace this
! if (icy(i)) tisfc(i) = tsfc_ice(i) ! over ice when uncoupled
! if (icy(i)) tisfc(i) = tice(i) ! over ice when uncoupled
! if (wet(i) .and. .not. cplflx) then
-! tsfco(i) = tsfc_ocn(i) ! over lake or ocean when uncoupled
+! tsfco(i) = tsfc_wat(i) ! over lake or ocean when uncoupled
! tisfc(i) = tsfc_ice(i) ! over ice when uncoupled
! endif
@@ -429,29 +432,30 @@ subroutine GFS_surface_composites_post_run (
!cice(i) = zero
!tisfc(i) = tsfc(i)
elseif (islmsk(i) == 0) then
- zorl(i) = zorl_ocn(i)
- cd(i) = cd_ocn(i)
- cdq(i) = cdq_ocn(i)
- rb(i) = rb_ocn(i)
- stress(i) = stress_ocn(i)
- ffmm(i) = ffmm_ocn(i)
- ffhh(i) = ffhh_ocn(i)
- uustar(i) = uustar_ocn(i)
- fm10(i) = fm10_ocn(i)
- fh2(i) = fh2_ocn(i)
- !tsurf(i) = tsurf_ocn(i)
- tsfco(i) = tsfc_ocn(i) ! over lake (and ocean when uncoupled)
- cmm(i) = cmm_ocn(i)
- chh(i) = chh_ocn(i)
- gflx(i) = gflx_ocn(i)
- ep1d(i) = ep1d_ocn(i)
- weasd(i) = weasd_ocn(i)
- snowd(i) = snowd_ocn(i)
- !tprcp(i) = tprcp_ocn(i)
- evap(i) = evap_ocn(i)
- hflx(i) = hflx_ocn(i)
- qss(i) = qss_ocn(i)
- tsfc(i) = tsfc_ocn(i)
+ zorl(i) = zorl_wat(i)
+ cd(i) = cd_wat(i)
+ cdq(i) = cdq_wat(i)
+ rb(i) = rb_wat(i)
+ stress(i) = stress_wat(i)
+ ffmm(i) = ffmm_wat(i)
+ ffhh(i) = ffhh_wat(i)
+ uustar(i) = uustar_wat(i)
+ fm10(i) = fm10_wat(i)
+ fh2(i) = fh2_wat(i)
+ !tsurf(i) = tsurf_wat(i)
+ tsfco(i) = tsfc_wat(i) ! over lake (and ocean when uncoupled)
+ if( cplflx ) tsfcl(i) = tsfc_wat(i) ! for restart repro comparisons
+ cmm(i) = cmm_wat(i)
+ chh(i) = chh_wat(i)
+ gflx(i) = gflx_wat(i)
+ ep1d(i) = ep1d_wat(i)
+ weasd(i) = weasd_wat(i)
+ snowd(i) = snowd_wat(i)
+ !tprcp(i) = tprcp_wat(i)
+ evap(i) = evap_wat(i)
+ hflx(i) = hflx_wat(i)
+ qss(i) = qss_wat(i)
+ tsfc(i) = tsfc_wat(i)
!hice(i) = zero
!cice(i) = zero
!tisfc(i) = tsfc(i)
@@ -460,7 +464,7 @@ subroutine GFS_surface_composites_post_run (
cd(i) = cd_ice(i)
cdq(i) = cdq_ice(i)
rb(i) = rb_ice(i)
- stress(i) = cice(i)*stress_ice(i) + (one-cice(i))*stress_ocn(i)
+ stress(i) = cice(i)*stress_ice(i) + (one-cice(i))*stress_wat(i)
ffmm(i) = ffmm_ice(i)
ffhh(i) = ffhh_ice(i)
uustar(i) = uustar_ice(i)
@@ -476,23 +480,27 @@ subroutine GFS_surface_composites_post_run (
ep1d(i) = ep1d_ice(i)
weasd(i) = weasd_ice(i)
snowd(i) = snowd_ice(i)
- !tprcp(i) = cice(i)*tprcp_ice(i) + (one-cice(i))*tprcp_ocn(i)
+ !tprcp(i) = cice(i)*tprcp_ice(i) + (one-cice(i))*tprcp_wat(i)
qss(i) = qss_ice(i)
evap(i) = evap_ice(i)
hflx(i) = hflx_ice(i)
qss(i) = qss_ice(i)
tsfc(i) = tsfc_ice(i)
+ do k=1,kice ! store tiice in stc to reduce output in the nonfrac grid case
+ stc(i,k)=tiice(i,k)
+ end do
+ if( cplflx ) tsfcl(i) = tsfc_ice(i)
endif
zorll(i) = zorl_lnd(i)
- zorlo(i) = zorl_ocn(i)
+ zorlo(i) = zorl_wat(i)
if (flag_cice(i) .and. wet(i)) then ! this was already done for lake ice in sfc_sice
txi = cice(i)
txo = one - txi
- evap(i) = txi * evap_ice(i) + txo * evap_ocn(i)
- hflx(i) = txi * hflx_ice(i) + txo * hflx_ocn(i)
- tsfc(i) = txi * tsfc_ice(i) + txo * tsfc_ocn(i)
+ evap(i) = txi * evap_ice(i) + txo * evap_wat(i)
+ hflx(i) = txi * hflx_ice(i) + txo * hflx_wat(i)
+ tsfc(i) = txi * tsfc_ice(i) + txo * tsfc_wat(i)
else
if (islmsk(i) == 2) then
tisfc(i) = tice(i)
diff --git a/physics/GFS_surface_composites.meta b/physics/GFS_surface_composites.meta
index 832d9227e..31ca88d3d 100644
--- a/physics/GFS_surface_composites.meta
+++ b/physics/GFS_surface_composites.meta
@@ -162,7 +162,7 @@
kind = kind_phys
intent = inout
optional = F
-[zorl_ocn]
+[zorl_wat]
standard_name = surface_roughness_length_over_ocean_interstitial
long_name = surface roughness length over ocean (temporary use as interstitial)
units = cm
@@ -198,7 +198,7 @@
kind = kind_phys
intent = in
optional = F
-[snowd_ocn]
+[snowd_wat]
standard_name = surface_snow_thickness_water_equivalent_over_ocean
long_name = water equivalent snow depth over ocean
units = mm
@@ -234,7 +234,7 @@
kind = kind_phys
intent = in
optional = F
-[tprcp_ocn]
+[tprcp_wat]
standard_name = nonnegative_lwe_thickness_of_precipitation_amount_on_dynamics_timestep_over_ocean
long_name = total precipitation amount in each time step over ocean
units = m
@@ -297,7 +297,7 @@
kind = kind_phys
intent = in
optional = F
-[weasd_ocn]
+[weasd_wat]
standard_name = water_equivalent_accumulated_snow_depth_over_ocean
long_name = water equiv of acc snow depth over ocean
units = mm
@@ -360,7 +360,7 @@
kind = kind_phys
intent = inout
optional = F
-[tsfc_ocn]
+[tsfc_wat]
standard_name = surface_skin_temperature_over_ocean_interstitial
long_name = surface skin temperature over ocean (temporary use as interstitial)
units = K
@@ -414,7 +414,7 @@
kind = kind_phys
intent = inout
optional = F
-[tsurf_ocn]
+[tsurf_wat]
standard_name = surface_skin_temperature_after_iteration_over_ocean
long_name = surface skin temperature after iteration over ocean
units = K
@@ -476,7 +476,7 @@
kind = kind_phys
intent = in
optional = F
-[semis_ocn]
+[semis_wat]
standard_name = surface_longwave_emissivity_over_ocean_interstitial
long_name = surface lw emissivity in fraction over ocean (temporary use as interstitial)
units = frac
@@ -575,7 +575,7 @@
type = logical
intent = in
optional = F
-[semis_ocn]
+[semis_wat]
standard_name = surface_longwave_emissivity_over_ocean_interstitial
long_name = surface lw emissivity in fraction over ocean (temporary use as interstitial)
units = frac
@@ -629,7 +629,7 @@
kind = kind_phys
intent = inout
optional = F
-[gabsbdlw_ocn]
+[gabsbdlw_wat]
standard_name = surface_downwelling_longwave_flux_absorbed_by_ground_over_ocean
long_name = total sky surface downward longwave flux absorbed by the ground over ocean
units = W m-2
@@ -695,6 +695,22 @@
type = integer
intent = in
optional = F
+[kice]
+ standard_name = ice_vertical_dimension
+ long_name = vertical loop extent for ice levels, start at 1
+ units = count
+ dimensions = ()
+ type = integer
+ intent = in
+ optional = F
+[km]
+ standard_name = soil_vertical_dimension
+ long_name = soil vertical layer dimension
+ units = count
+ dimensions = ()
+ type = integer
+ intent = in
+ optional = F
[cplflx]
standard_name = flag_for_flux_coupling
long_name = flag controlling cplflx collection (default off)
@@ -813,7 +829,7 @@
kind = kind_phys
intent = inout
optional = F
-[zorl_ocn]
+[zorl_wat]
standard_name = surface_roughness_length_over_ocean_interstitial
long_name = surface roughness length over ocean (temporary use as interstitial)
units = cm
@@ -849,7 +865,7 @@
kind = kind_phys
intent = inout
optional = F
-[cd_ocn]
+[cd_wat]
standard_name = surface_drag_coefficient_for_momentum_in_air_over_ocean
long_name = surface exchange coeff for momentum over ocean
units = none
@@ -885,7 +901,7 @@
kind = kind_phys
intent = inout
optional = F
-[cdq_ocn]
+[cdq_wat]
standard_name = surface_drag_coefficient_for_heat_and_moisture_in_air_over_ocean
long_name = surface exchange coeff heat & moisture over ocean
units = none
@@ -921,7 +937,7 @@
kind = kind_phys
intent = inout
optional = F
-[rb_ocn]
+[rb_wat]
standard_name = bulk_richardson_number_at_lowest_model_level_over_ocean
long_name = bulk Richardson number at the surface over ocean
units = none
@@ -957,7 +973,7 @@
kind = kind_phys
intent = inout
optional = F
-[stress_ocn]
+[stress_wat]
standard_name = surface_wind_stress_over_ocean
long_name = surface wind stress over ocean
units = m2 s-2
@@ -993,7 +1009,7 @@
kind = kind_phys
intent = inout
optional = F
-[ffmm_ocn]
+[ffmm_wat]
standard_name = Monin_Obukhov_similarity_function_for_momentum_over_ocean
long_name = Monin-Obukhov similarity function for momentum over ocean
units = none
@@ -1029,7 +1045,7 @@
kind = kind_phys
intent = inout
optional = F
-[ffhh_ocn]
+[ffhh_wat]
standard_name = Monin_Obukhov_similarity_function_for_heat_over_ocean
long_name = Monin-Obukhov similarity function for heat over ocean
units = none
@@ -1065,7 +1081,7 @@
kind = kind_phys
intent = inout
optional = F
-[uustar_ocn]
+[uustar_wat]
standard_name = surface_friction_velocity_over_ocean
long_name = surface friction velocity over ocean
units = m s-1
@@ -1101,7 +1117,7 @@
kind = kind_phys
intent = inout
optional = F
-[fm10_ocn]
+[fm10_wat]
standard_name = Monin_Obukhov_similarity_function_for_momentum_at_10m_over_ocean
long_name = Monin-Obukhov similarity parameter for momentum at 10m over ocean
units = none
@@ -1137,7 +1153,7 @@
kind = kind_phys
intent = inout
optional = F
-[fh2_ocn]
+[fh2_wat]
standard_name = Monin_Obukhov_similarity_function_for_heat_at_2m_over_ocean
long_name = Monin-Obukhov similarity parameter for heat at 2m over ocean
units = none
@@ -1173,7 +1189,7 @@
kind = kind_phys
intent = inout
optional = F
-[tsurf_ocn]
+[tsurf_wat]
standard_name = surface_skin_temperature_after_iteration_over_ocean
long_name = surface skin temperature after iteration over ocean
units = K
@@ -1209,7 +1225,7 @@
kind = kind_phys
intent = inout
optional = F
-[cmm_ocn]
+[cmm_wat]
standard_name = surface_drag_wind_speed_for_momentum_in_air_over_ocean
long_name = momentum exchange coefficient over ocean
units = m s-1
@@ -1245,7 +1261,7 @@
kind = kind_phys
intent = inout
optional = F
-[chh_ocn]
+[chh_wat]
standard_name = surface_drag_mass_flux_for_heat_and_moisture_in_air_over_ocean
long_name = thermal exchange coefficient over ocean
units = kg m-2 s-1
@@ -1281,7 +1297,7 @@
kind = kind_phys
intent = inout
optional = F
-[gflx_ocn]
+[gflx_wat]
standard_name = upward_heat_flux_in_soil_over_ocean
long_name = soil heat flux over ocean
units = W m-2
@@ -1317,7 +1333,7 @@
kind = kind_phys
intent = inout
optional = F
-[ep1d_ocn]
+[ep1d_wat]
standard_name = surface_upward_potential_latent_heat_flux_over_ocean
long_name = surface upward potential latent heat flux over ocean
units = W m-2
@@ -1353,7 +1369,7 @@
kind = kind_phys
intent = inout
optional = F
-[weasd_ocn]
+[weasd_wat]
standard_name = water_equivalent_accumulated_snow_depth_over_ocean
long_name = water equiv of acc snow depth over ocean
units = mm
@@ -1389,7 +1405,7 @@
kind = kind_phys
intent = inout
optional = F
-[snowd_ocn]
+[snowd_wat]
standard_name = surface_snow_thickness_water_equivalent_over_ocean
long_name = water equivalent snow depth over ocean
units = mm
@@ -1425,7 +1441,7 @@
kind = kind_phys
intent = inout
optional = F
-[tprcp_ocn]
+[tprcp_wat]
standard_name = nonnegative_lwe_thickness_of_precipitation_amount_on_dynamics_timestep_over_ocean
long_name = total precipitation amount in each time step over ocean
units = m
@@ -1461,7 +1477,7 @@
kind = kind_phys
intent = inout
optional = F
-[evap_ocn]
+[evap_wat]
standard_name = kinematic_surface_upward_latent_heat_flux_over_ocean
long_name = kinematic surface upward latent heat flux over ocean
units = kg kg-1 m s-1
@@ -1497,7 +1513,7 @@
kind = kind_phys
intent = inout
optional = F
-[hflx_ocn]
+[hflx_wat]
standard_name = kinematic_surface_upward_sensible_heat_flux_over_ocean
long_name = kinematic surface upward sensible heat flux over ocean
units = K m s-1
@@ -1533,7 +1549,7 @@
kind = kind_phys
intent = inout
optional = F
-[qss_ocn]
+[qss_wat]
standard_name = surface_specific_humidity_over_ocean
long_name = surface air saturation specific humidity over ocean
units = kg kg-1
@@ -1587,7 +1603,7 @@
kind = kind_phys
intent = inout
optional = F
-[tsfc_ocn]
+[tsfc_wat]
standard_name = surface_skin_temperature_over_ocean_interstitial
long_name = surface skin temperature over ocean (temporary use as interstitial)
units = K
@@ -1650,6 +1666,24 @@
kind = kind_phys
intent = inout
optional = F
+[tiice]
+ standard_name = internal_ice_temperature
+ long_name = sea ice internal temperature
+ units = K
+ dimensions = (horizontal_dimension,ice_vertical_dimension)
+ type = real
+ kind = kind_phys
+ intent = inout
+ optional = F
+[stc]
+ standard_name = soil_temperature
+ long_name = soil temperature
+ units = K
+ dimensions = (horizontal_dimension,soil_vertical_dimension)
+ type = real
+ kind = kind_phys
+ intent = inout
+ optional = F
[errmsg]
standard_name = ccpp_error_message
long_name = error message for error handling in CCPP
diff --git a/physics/GFS_surface_generic.F90 b/physics/GFS_surface_generic.F90
index ac366ae54..904e94dbc 100644
--- a/physics/GFS_surface_generic.F90
+++ b/physics/GFS_surface_generic.F90
@@ -27,7 +27,7 @@ end subroutine GFS_surface_generic_pre_finalize
!!
subroutine GFS_surface_generic_pre_run (im, levs, vfrac, islmsk, isot, ivegsrc, stype, vtype, slope, &
prsik_1, prslk_1, tsfc, phil, con_g, &
- sigmaf, soiltyp, vegtype, slopetyp, work3, tsurf, zlvl, do_sppt, dtdtr, &
+ sigmaf, soiltyp, vegtype, slopetyp, work3, tsurf, zlvl, do_sppt, ca_global,dtdtr,&
drain_cpl, dsnow_cpl, rain_cpl, snow_cpl, do_sfcperts, nsfcpert, sfc_wts, &
pertz0, pertzt, pertshc, pertlai, pertvegf, z01d, zt1d, bexp1d, xlai1d, vegf1d, &
cplflx, flag_cice, islmsk_cice, slimskin_cpl, tisfc, tsfco, fice, hice, &
@@ -51,7 +51,7 @@ subroutine GFS_surface_generic_pre_run (im, levs, vfrac, islmsk, isot, ivegsrc,
real(kind=kind_phys), dimension(im), intent(inout) :: sigmaf, work3, tsurf, zlvl
! Stochastic physics / surface perturbations
- logical, intent(in) :: do_sppt
+ logical, intent(in) :: do_sppt, ca_global
real(kind=kind_phys), dimension(im,levs), intent(out) :: dtdtr
real(kind=kind_phys), dimension(im), intent(out) :: drain_cpl
real(kind=kind_phys), dimension(im), intent(out) :: dsnow_cpl
@@ -102,7 +102,7 @@ subroutine GFS_surface_generic_pre_run (im, levs, vfrac, islmsk, isot, ivegsrc,
errflg = 0
! Set initial quantities for stochastic physics deltas
- if (do_sppt) then
+ if (do_sppt .or. ca_global) then
dtdtr = 0.0
endif
@@ -215,8 +215,8 @@ end subroutine GFS_surface_generic_post_finalize
!! \htmlinclude GFS_surface_generic_post_run.html
!!
subroutine GFS_surface_generic_post_run (im, cplflx, cplwav, lssav, icy, wet, dtf, ep1d, gflx, tgrs_1, qgrs_1, ugrs_1, vgrs_1,&
- adjsfcdlw, adjsfcdsw, adjnirbmd, adjnirdfd, adjvisbmd, adjvisdfd, adjsfculw, adjsfculw_ocn, adjnirbmu, adjnirdfu, &
- adjvisbmu, adjvisdfu,t2m, q2m, u10m, v10m, tsfc, tsfc_ocn, pgr, xcosz, evbs, evcw, trans, sbsno, snowc, snohf, &
+ adjsfcdlw, adjsfcdsw, adjnirbmd, adjnirdfd, adjvisbmd, adjvisdfd, adjsfculw, adjsfculw_wat, adjnirbmu, adjnirdfu, &
+ adjvisbmu, adjvisdfu,t2m, q2m, u10m, v10m, tsfc, tsfc_wat, pgr, xcosz, evbs, evcw, trans, sbsno, snowc, snohf, &
epi, gfluxi, t1, q1, u1, v1, dlwsfci_cpl, dswsfci_cpl, dlwsfc_cpl, dswsfc_cpl, dnirbmi_cpl, dnirdfi_cpl, dvisbmi_cpl, &
dvisdfi_cpl, dnirbm_cpl, dnirdf_cpl, dvisbm_cpl, dvisdf_cpl, nlwsfci_cpl, nlwsfc_cpl, t2mi_cpl, q2mi_cpl, u10mi_cpl, &
v10mi_cpl, tsfci_cpl, psurfi_cpl, nnirbmi_cpl, nnirdfi_cpl, nvisbmi_cpl, nvisdfi_cpl, nswsfci_cpl, nswsfc_cpl, nnirbm_cpl, &
@@ -231,8 +231,8 @@ subroutine GFS_surface_generic_post_run (im, cplflx, cplwav, lssav, icy, wet, dt
real(kind=kind_phys), intent(in) :: dtf
real(kind=kind_phys), dimension(im), intent(in) :: ep1d, gflx, tgrs_1, qgrs_1, ugrs_1, vgrs_1, adjsfcdlw, adjsfcdsw, &
- adjnirbmd, adjnirdfd, adjvisbmd, adjvisdfd, adjsfculw, adjsfculw_ocn, adjnirbmu, adjnirdfu, adjvisbmu, adjvisdfu, &
- t2m, q2m, u10m, v10m, tsfc, tsfc_ocn, pgr, xcosz, evbs, evcw, trans, sbsno, snowc, snohf
+ adjnirbmd, adjnirdfd, adjvisbmd, adjvisdfd, adjsfculw, adjsfculw_wat, adjnirbmu, adjnirdfu, adjvisbmu, adjvisdfu, &
+ t2m, q2m, u10m, v10m, tsfc, tsfc_wat, pgr, xcosz, evbs, evcw, trans, sbsno, snowc, snohf
real(kind=kind_phys), dimension(im), intent(inout) :: epi, gfluxi, t1, q1, u1, v1, dlwsfci_cpl, dswsfci_cpl, dlwsfc_cpl, &
dswsfc_cpl, dnirbmi_cpl, dnirdfi_cpl, dvisbmi_cpl, dvisdfi_cpl, dnirbm_cpl, dnirdf_cpl, dvisbm_cpl, dvisdf_cpl, &
@@ -287,13 +287,13 @@ subroutine GFS_surface_generic_post_run (im, cplflx, cplwav, lssav, icy, wet, dt
dvisdf_cpl (i) = dvisdf_cpl(i) + adjvisdfd(i)*dtf
nlwsfci_cpl (i) = adjsfcdlw(i) - adjsfculw(i)
if (wet(i)) then
- nlwsfci_cpl(i) = adjsfcdlw(i) - adjsfculw_ocn(i)
+ nlwsfci_cpl(i) = adjsfcdlw(i) - adjsfculw_wat(i)
endif
nlwsfc_cpl (i) = nlwsfc_cpl(i) + nlwsfci_cpl(i)*dtf
t2mi_cpl (i) = t2m(i)
q2mi_cpl (i) = q2m(i)
tsfci_cpl (i) = tsfc(i)
-! tsfci_cpl (i) = tsfc_ocn(i)
+! tsfci_cpl (i) = tsfc_wat(i)
psurfi_cpl (i) = pgr(i)
enddo
diff --git a/physics/GFS_surface_generic.meta b/physics/GFS_surface_generic.meta
index 250f7a2bd..436e2dc55 100644
--- a/physics/GFS_surface_generic.meta
+++ b/physics/GFS_surface_generic.meta
@@ -190,6 +190,14 @@
type = logical
intent = in
optional = F
+[ca_global]
+ standard_name = flag_for_global_cellular_automata
+ long_name = switch for global ca
+ units = flag
+ dimensions = ()
+ type = logical
+ intent = in
+ optional = F
[dtdtr]
standard_name = tendency_of_air_temperature_due_to_radiative_heating_on_physics_time_step
long_name = temp. change due to radiative heating per time step
@@ -669,7 +677,7 @@
kind = kind_phys
intent = in
optional = F
-[adjsfculw_ocn]
+[adjsfculw_wat]
standard_name = surface_upwelling_longwave_flux_over_ocean_interstitial
long_name = surface upwelling longwave flux at current time over ocean (temporary use as interstitial)
units = W m-2
@@ -759,7 +767,7 @@
kind = kind_phys
intent = in
optional = F
-[tsfc_ocn]
+[tsfc_wat]
standard_name = surface_skin_temperature_over_ocean_interstitial
long_name = surface skin temperature over ocean (temporary use as interstitial)
units = K
diff --git a/physics/cires_ugwp.F90 b/physics/cires_ugwp.F90
index e0abc58ff..07b235c72 100644
--- a/physics/cires_ugwp.F90
+++ b/physics/cires_ugwp.F90
@@ -6,8 +6,8 @@
!! "Unified": a) all GW effects due to both dissipation/breaking; b) identical GW solvers for all GW sources; c) ability to replace solvers.
!! Unified Formalism:
!! 1. GW Sources: Stochastic and physics based mechanisms for GW-excitations in the lower atmosphere, calibrated by the high-res analyses/forecasts, and observations (3 types of GW sources: orography, convection, fronts/jets).
-!! 2. GW Propagation: Unified solver for “propagation, dissipation and breaking” excited from all type of GW sources.
-!! 3. GW Effects: Unified representation of GW impacts on the ‘resolved’ flow for all sources (energy-balanced schemes for momentum, heat and mixing).
+!! 2. GW Propagation: Unified solver for "propagation, dissipation and breaking" excited from all type of GW sources.
+!! 3. GW Effects: Unified representation of GW impacts on the "resolved" flow for all sources (energy-balanced schemes for momentum, heat and mixing).
!! https://www.weather.gov/media/sti/nggps/Presentations%202017/02%20NGGPS_VYUDIN_2017_.pdf
module cires_ugwp
@@ -145,8 +145,8 @@ end subroutine cires_ugwp_finalize
!> \section arg_table_cires_ugwp_run Argument Table
!! \htmlinclude cires_ugwp_run.html
!!
-
-! subroutines original
+!> \section gen_cires_ugwp CIRES UGWP Scheme General Algorithm
+!! @{
subroutine cires_ugwp_run(do_ugwp, me, master, im, levs, ntrac, dtp, kdt, lonr, &
oro, oro_uf, hprime, nmtvr, oc, theta, sigma, gamma, elvmax, clx, oa4, &
do_tofd, ldiag_ugwp, cdmbgwd, xlat, xlat_d, sinlat, coslat, area, &
@@ -366,5 +366,6 @@ subroutine cires_ugwp_run(do_ugwp, me, master, im, levs, ntrac, dtp, kdt, lonr
gw_dudt = gw_dudt*(1.-pked) + ed_dudt*pked
end subroutine cires_ugwp_run
-
+!! @}
+!>@}
end module cires_ugwp
diff --git a/physics/dcyc2.f b/physics/dcyc2.f
index c7a1ddd59..7f052cbf3 100644
--- a/physics/dcyc2.f
+++ b/physics/dcyc2.f
@@ -47,8 +47,8 @@ end subroutine dcyc2t3_finalize
! call dcyc2t3 !
! inputs: !
! ( solhr,slag,sdec,cdec,sinlat,coslat, !
-! xlon,coszen,tsfc_lnd,tsfc_ice,tsfc_ocn, !
-! tf,tsflw,sfcemis_lnd,sfcemis_ice,sfcemis_ocn, !
+! xlon,coszen,tsfc_lnd,tsfc_ice,tsfc_wat, !
+! tf,tsflw,sfcemis_lnd,sfcemis_ice,sfcemis_wat, !
! sfcdsw,sfcnsw,sfcdlw,swh,swhc,hlw,hlwc, !
! sfcnirbmu,sfcnirdfu,sfcvisbmu,sfcvisdfu, !
! sfcnirbmd,sfcnirdfd,sfcvisbmd,sfcvisdfd, !
@@ -58,7 +58,7 @@ end subroutine dcyc2t3_finalize
! dtdt,dtdtc, !
! outputs: !
! adjsfcdsw,adjsfcnsw,adjsfcdlw, !
-! adjsfculw_lnd,adjsfculw_ice,adjsfculw_ocn,xmu,xcosz, !
+! adjsfculw_lnd,adjsfculw_ice,adjsfculw_wat,xmu,xcosz, !
! adjnirbmu,adjnirdfu,adjvisbmu,adjvisdfu, !
! adjdnnbmd,adjdnndfd,adjdnvbmd,adjdnvdfd) !
! !
@@ -74,11 +74,11 @@ end subroutine dcyc2t3_finalize
! coszen (im) - real, avg of cosz over daytime sw call interval !
! tsfc_lnd (im) - real, bottom surface temperature over land (k) !
! tsfc_ice (im) - real, bottom surface temperature over ice (k) !
-! tsfc_ocn (im) - real, bottom surface temperature over ocean (k) !
+! tsfc_wat (im) - real, bottom surface temperature over ocean (k) !
! tf (im) - real, surface air (layer 1) temperature (k) !
! sfcemis_lnd(im) - real, surface emissivity (fraction) o. land (k) !
! sfcemis_ice(im) - real, surface emissivity (fraction) o. ice (k) !
-! sfcemis_ocn(im) - real, surface emissivity (fraction) o. ocean (k)!
+! sfcemis_wat(im) - real, surface emissivity (fraction) o. ocean (k)!
! tsflw (im) - real, sfc air (layer 1) temp in k saved in lw call !
! sfcdsw (im) - real, total sky sfc downward sw flux ( w/m**2 ) !
! sfcnsw (im) - real, total sky sfc net sw into ground (w/m**2) !
@@ -115,7 +115,7 @@ end subroutine dcyc2t3_finalize
! adjsfcdlw(im)- real, time step adjusted sfc dn lw flux (w/m**2) !
! adjsfculw_lnd(im)- real, sfc upw. lw flux at current time (w/m**2)!
! adjsfculw_ice(im)- real, sfc upw. lw flux at current time (w/m**2)!
-! adjsfculw_ocn(im)- real, sfc upw. lw flux at current time (w/m**2)!
+! adjsfculw_wat(im)- real, sfc upw. lw flux at current time (w/m**2)!
! adjnirbmu(im)- real, t adj sfc nir-beam sw upward flux (w/m2) !
! adjnirdfu(im)- real, t adj sfc nir-diff sw upward flux (w/m2) !
! adjvisbmu(im)- real, t adj sfc uv+vis-beam sw upward flux (w/m2) !
@@ -179,8 +179,8 @@ end subroutine dcyc2t3_finalize
subroutine dcyc2t3_run &
! --- inputs:
& ( solhr,slag,sdec,cdec,sinlat,coslat, &
- & xlon,coszen,tsfc_lnd,tsfc_ice,tsfc_ocn,tf,tsflw, &
- & sfcemis_lnd, sfcemis_ice, sfcemis_ocn, &
+ & xlon,coszen,tsfc_lnd,tsfc_ice,tsfc_wat,tf,tsflw, &
+ & sfcemis_lnd, sfcemis_ice, sfcemis_wat, &
& sfcdsw,sfcnsw,sfcdlw,swh,swhc,hlw,hlwc, &
& sfcnirbmu,sfcnirdfu,sfcvisbmu,sfcvisdfu, &
& sfcnirbmd,sfcnirdfd,sfcvisbmd,sfcvisdfd, &
@@ -191,7 +191,7 @@ subroutine dcyc2t3_run &
& dtdt,dtdtc, &
! --- outputs:
& adjsfcdsw,adjsfcnsw,adjsfcdlw, &
- & adjsfculw_lnd,adjsfculw_ice,adjsfculw_ocn,xmu,xcosz, &
+ & adjsfculw_lnd,adjsfculw_ice,adjsfculw_wat,xmu,xcosz, &
& adjnirbmu,adjnirdfu,adjvisbmu,adjvisdfu, &
& adjnirbmd,adjnirdfd,adjvisbmd,adjvisdfd, &
& errmsg,errflg &
@@ -225,8 +225,8 @@ subroutine dcyc2t3_run &
& sfcdsw, sfcnsw
real(kind=kind_phys), dimension(im), intent(in) :: &
- & tsfc_lnd, tsfc_ice, tsfc_ocn, &
- & sfcemis_lnd, sfcemis_ice, sfcemis_ocn
+ & tsfc_lnd, tsfc_ice, tsfc_wat, &
+ & sfcemis_lnd, sfcemis_ice, sfcemis_wat
real(kind=kind_phys), dimension(im), intent(in) :: &
& sfcnirbmu, sfcnirdfu, sfcvisbmu, sfcvisdfu, &
@@ -246,7 +246,7 @@ subroutine dcyc2t3_run &
& adjnirbmd, adjnirdfd, adjvisbmd, adjvisdfd
real(kind=kind_phys), dimension(im), intent(out) :: &
- & adjsfculw_lnd, adjsfculw_ice, adjsfculw_ocn
+ & adjsfculw_lnd, adjsfculw_ice, adjsfculw_wat
character(len=*), intent(out) :: errmsg
integer, intent(out) :: errflg
@@ -321,9 +321,9 @@ subroutine dcyc2t3_run &
& + (one - sfcemis_ice(i)) * adjsfcdlw(i)
endif
if (wet(i)) then
- tem2 = tsfc_ocn(i) * tsfc_ocn(i)
- adjsfculw_ocn(i) = sfcemis_ocn(i) * con_sbc * tem2 * tem2
- & + (one - sfcemis_ocn(i)) * adjsfcdlw(i)
+ tem2 = tsfc_wat(i) * tsfc_wat(i)
+ adjsfculw_wat(i) = sfcemis_wat(i) * con_sbc * tem2 * tem2
+ & + (one - sfcemis_wat(i)) * adjsfcdlw(i)
endif
! if (lprnt .and. i == ipr) write(0,*)' in dcyc3: dry==',dry(i)
! &,' wet=',wet(i),' icy=',icy(i),' tsfc3=',tsfc3(i,:)
diff --git a/physics/dcyc2.meta b/physics/dcyc2.meta
index 244ebc6bd..53b702b64 100644
--- a/physics/dcyc2.meta
+++ b/physics/dcyc2.meta
@@ -92,7 +92,7 @@
kind = kind_phys
intent = in
optional = F
-[tsfc_ocn]
+[tsfc_wat]
standard_name = surface_skin_temperature_over_ocean_interstitial
long_name = surface skin temperature over ocean (temporary use as interstitial)
units = K
@@ -146,7 +146,7 @@
kind = kind_phys
intent = in
optional = F
-[sfcemis_ocn]
+[sfcemis_wat]
standard_name = surface_longwave_emissivity_over_ocean_interstitial
long_name = surface lw emissivity in fraction over ocean (temporary use as interstitial)
units = frac
@@ -419,7 +419,7 @@
kind = kind_phys
intent = out
optional = F
-[adjsfculw_ocn]
+[adjsfculw_wat]
standard_name = surface_upwelling_longwave_flux_over_ocean_interstitial
long_name = surface upwelling longwave flux at current time over ocean (temporary use as interstitial)
units = W m-2
@@ -535,70 +535,3 @@
type = integer
intent = out
optional = F
-
-########################################################################
-[ccpp-arg-table]
- name = dcyc2t3_post_init
- type = scheme
-
-########################################################################
-[ccpp-arg-table]
- name = dcyc2t3_post_finalize
- type = scheme
-
-########################################################################
-[ccpp-arg-table]
- name = dcyc2t3_post_run
- type = scheme
-[im]
- standard_name = horizontal_loop_extent
- long_name = horizontal loop extent
- units = count
- dimensions = ()
- type = integer
- intent = in
- optional = F
-[adjsfcdsw]
- standard_name = surface_downwelling_shortwave_flux
- long_name = surface downwelling shortwave flux at current time
- units = W m-2
- dimensions = (horizontal_dimension)
- type = real
- kind = kind_phys
- intent = in
- optional = F
-[adjsfcnsw]
- standard_name = surface_net_downwelling_shortwave_flux
- long_name = surface net downwelling shortwave flux at current time
- units = W m-2
- dimensions = (horizontal_dimension)
- type = real
- kind = kind_phys
- intent = in
- optional = F
-[adjsfcusw]
- standard_name = surface_upwelling_shortwave_flux
- long_name = surface upwelling shortwave flux at current time
- units = W m-2
- dimensions = (horizontal_dimension)
- type = real
- kind = kind_phys
- intent = out
- optional = F
-[errmsg]
- standard_name = ccpp_error_message
- long_name = error message for error handling in CCPP
- units = none
- dimensions = ()
- type = character
- kind = len=*
- intent = out
- optional = F
-[errflg]
- standard_name = ccpp_error_flag
- long_name = error flag for error handling in CCPP
- units = flag
- dimensions = ()
- type = integer
- intent = out
- optional = F
diff --git a/physics/docs/ccppv4_doxyfile b/physics/docs/ccppv4_doxyfile
new file mode 100644
index 000000000..e80b27eb9
--- /dev/null
+++ b/physics/docs/ccppv4_doxyfile
@@ -0,0 +1,467 @@
+# Doxyfile 1.8.11
+DOXYFILE_ENCODING = UTF-8
+PROJECT_NAME = "CCPP Scientific Documentation"
+PROJECT_NUMBER = ""
+PROJECT_BRIEF = "v4.0"
+PROJECT_LOGO = img/dtc_logo.png
+OUTPUT_DIRECTORY = doc
+CREATE_SUBDIRS = NO
+ALLOW_UNICODE_NAMES = NO
+OUTPUT_LANGUAGE = English
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = NO
+ABBREVIATE_BRIEF =
+ALWAYS_DETAILED_SEC = NO
+INLINE_INHERITED_MEMB = NO
+FULL_PATH_NAMES = NO
+STRIP_FROM_PATH =
+STRIP_FROM_INC_PATH =
+SHORT_NAMES = NO
+JAVADOC_AUTOBRIEF = NO
+QT_AUTOBRIEF = NO
+MULTILINE_CPP_IS_BRIEF = NO
+INHERIT_DOCS = YES
+SEPARATE_MEMBER_PAGES = YES
+TAB_SIZE = 4
+ALIASES =
+TCL_SUBST =
+OPTIMIZE_OUTPUT_FOR_C = NO
+OPTIMIZE_OUTPUT_JAVA = NO
+OPTIMIZE_FOR_FORTRAN = YES
+OPTIMIZE_OUTPUT_VHDL = NO
+EXTENSION_MAPPING = .f=FortranFree \
+ .F=FortranFree \
+ .F90=FortranFree \
+ .f90=FortranFree
+MARKDOWN_SUPPORT = YES
+AUTOLINK_SUPPORT = YES
+BUILTIN_STL_SUPPORT = NO
+CPP_CLI_SUPPORT = NO
+SIP_SUPPORT = NO
+IDL_PROPERTY_SUPPORT = YES
+DISTRIBUTE_GROUP_DOC = YES
+GROUP_NESTED_COMPOUNDS = NO
+SUBGROUPING = YES
+INLINE_GROUPED_CLASSES = NO
+INLINE_SIMPLE_STRUCTS = NO
+TYPEDEF_HIDES_STRUCT = YES
+LOOKUP_CACHE_SIZE = 0
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_PACKAGE = YES
+EXTRACT_STATIC = YES
+EXTRACT_LOCAL_CLASSES = YES
+EXTRACT_LOCAL_METHODS = YES
+EXTRACT_ANON_NSPACES = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+HIDE_FRIEND_COMPOUNDS = NO
+HIDE_IN_BODY_DOCS = NO
+INTERNAL_DOCS = YES
+
+CASE_SENSE_NAMES = NO
+
+HIDE_SCOPE_NAMES = NO
+
+HIDE_COMPOUND_REFERENCE= NO
+
+SHOW_INCLUDE_FILES = NO
+
+SHOW_GROUPED_MEMB_INC = NO
+
+FORCE_LOCAL_INCLUDES = NO
+
+INLINE_INFO = YES
+
+SORT_MEMBER_DOCS = NO
+
+SORT_BRIEF_DOCS = NO
+SORT_MEMBERS_CTORS_1ST = NO
+SORT_GROUP_NAMES = NO
+SORT_BY_SCOPE_NAME = NO
+STRICT_PROTO_MATCHING = NO
+GENERATE_TODOLIST = YES
+GENERATE_TESTLIST = YES
+GENERATE_BUGLIST = YES
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS = YES
+MAX_INITIALIZER_LINES = 30
+SHOW_USED_FILES = YES
+SHOW_FILES = YES
+SHOW_NAMESPACES = YES
+FILE_VERSION_FILTER =
+LAYOUT_FILE = ccpp_dox_layout.xml
+CITE_BIB_FILES = library.bib
+QUIET = NO
+WARNINGS = YES
+WARN_IF_UNDOCUMENTED = NO
+WARN_IF_DOC_ERROR = YES
+WARN_NO_PARAMDOC = NO
+WARN_AS_ERROR = NO
+WARN_FORMAT =
+WARN_LOGFILE =
+INPUT = pdftxt/mainpage.txt \
+ pdftxt/all_shemes_list.txt \
+ pdftxt/GFSv15p2_suite.txt \
+ pdftxt/GFSv15p2_no_nsst_suite.txt \
+ pdftxt/suite_FV3_GFS_v15p2.xml.txt \
+ pdftxt/suite_FV3_GFS_v15p2_no_nsst.xml.txt \
+ pdftxt/GFSv16beta_suite.txt \
+ pdftxt/GFSv16beta_no_nsst_suite.txt \
+ pdftxt/suite_FV3_GFS_v16beta.xml.txt \
+ pdftxt/suite_FV3_GFS_v16beta_no_nsst.xml.txt \
+ pdftxt/GSD_adv_suite.txt \
+ pdftxt/CPT_adv_suite.txt \
+ pdftxt/GFS_RRTMG.txt \
+ pdftxt/GFS_SFCLYR.txt \
+ pdftxt/GFS_NSST.txt \
+ pdftxt/GFS_OCEAN.txt \
+ pdftxt/GFS_NOAH.txt \
+ pdftxt/GFS_SFCSICE.txt \
+ pdftxt/GFS_HEDMF.txt \
+ pdftxt/GFS_SATMEDMFVDIFQ.txt \
+## pdftxt/GFS_NoahMP.txt \
+ pdftxt/GFS_UGWPv0.txt \
+ pdftxt/GFS_GWDPS.txt \
+ pdftxt/GFS_OZPHYS.txt \
+ pdftxt/GFS_H2OPHYS.txt \
+ pdftxt/GFS_RAYLEIGH.txt \
+ pdftxt/GFS_SAMF.txt \
+ pdftxt/GFS_SAMFdeep.txt \
+ pdftxt/GFS_SAMFshal.txt \
+ pdftxt/GFDL_cloud.txt \
+ pdftxt/GFS_CALPRECIPTYPE.txt \
+### pdftxt/rad_cld.txt \
+ pdftxt/CPT_CSAW.txt \
+ pdftxt/CPT_MG3.txt \
+ pdftxt/GSD_MYNN_EDMF.txt \
+ pdftxt/GSD_CU_GF_deep.txt \
+ pdftxt/GSD_RUCLSM.txt \
+ pdftxt/GSD_THOMPSON.txt \
+### pdftxt/GFSphys_namelist.txt \
+### pdftxt/GFS_STOCHY_PHYS.txt \
+ pdftxt/suite_input.nml.txt \
+### in-core MP
+ ../gfdl_fv_sat_adj.F90 \
+### time_vary
+ ../GFS_time_vary_pre.fv3.F90 \
+ ../GFS_rad_time_vary.fv3.F90 \
+ ../GFS_phys_time_vary.fv3.F90 \
+ ../ozne_def.f \
+ ../ozinterp.f90 \
+ ../h2o_def.f \
+ ../h2ointerp.f90 \
+ ../aerclm_def.F \
+ ../aerinterp.F90 \
+ ../iccn_def.F \
+ ../iccninterp.F90 \
+ ../sfcsub.F \
+ ../gcycle.F90 \
+### Radiation
+### ../GFS_rrtmg_pre.F90 \
+### ../rrtmg_sw_pre.F90 \
+ ../radsw_main.f \
+### ../rrtmg_sw_post.F90 \
+### ../rrtmg_lw_pre.F90 \
+ ../radlw_main.f \
+### ../rrtmg_lw_post.F90 \
+ ../radiation_aerosols.f \
+ ../radiation_astronomy.f \
+ ../radiation_clouds.f \
+ ../radiation_gases.f \
+ ../radiation_surface.f \
+ ../radlw_param.f \
+ ../radlw_datatb.f \
+ ../radsw_param.f \
+ ../radsw_datatb.f \
+ ../dcyc2.f \
+### Land Surface
+ ../sfc_diff.f \
+ ../sfc_nst.f \
+ ../sfc_ocean.F \
+ ../module_nst_model.f90 \
+ ../module_nst_parameters.f90 \
+ ../module_nst_water_prop.f90 \
+ ../sfc_drv.f \
+ ../sflx.f \
+ ../namelist_soilveg.f \
+ ../set_soilveg.f \
+### Sea Ice Surface
+ ../sfc_sice.f \
+### PBL
+ ../moninedmf.f \
+ ../mfpbl.f \
+ ../tridi.f \
+### satmedmf
+## ../satmedmfvdif.F \
+ ../satmedmfvdifq.F \
+ ../mfpbltq.f \
+ ../mfscuq.f \
+ ../tridi.f \
+### Orographic Gravity Wave
+ ../GFS_GWD_generic.F90 \
+ ../cires_ugwp.F90 \
+ ../gwdps.f \
+ ../ugwp_driver_v0.F \
+ ../cires_ugwp_triggers.F90 \
+ ../cires_ugwp_module.F90 \
+ ../cires_ugwp_utils.F90 \
+ ../cires_ugwp_solvers.F90 \
+### ../cires_ugwp_post.F90 \
+### ../cires_ugwp_initialize.F90 \
+ ../cires_vert_wmsdis.F90 \
+ ../cires_vert_orodis.F90 \
+ ../cires_vert_lsatdis.F90 \
+### Rayleigh Dampling
+ ../rayleigh_damp.f \
+### Prognostic Ozone
+ ../ozphys_2015.f \
+### ../ozphys.f \
+### stratospheric h2o
+ ../h2ophys.f \
+### Deep Convection
+ ../samfdeepcnv.f \
+### Convective Gravity Wave
+### ../gwdc.f \
+### Shallow Convection
+ ../samfshalcnv.f \
+ ../cnvc90.f \
+### Microphysics
+### ../gscond.f \
+### ../precpd.f \
+ ../module_bfmicrophysics.f \
+### GFDL cloud MP
+ ../gfdl_cloud_microphys.F90 \
+ ../module_gfdl_cloud_microphys.F90 \
+###
+ ../GFS_MP_generic.F90 \
+ ../calpreciptype.f90 \
+### stochy
+ ../GFS_stochastics.F90 \
+### ../surface_perturbation.F90 \
+### ../../stochastic_physics/stochastic_physics.F90 \
+### CPT
+ ../m_micro.F90 \
+### ../micro_mg2_0.F90 \
+ ../micro_mg3_0.F90 \
+ ../micro_mg_utils.F90 \
+ ../cldmacro.F \
+ ../aer_cloud.F \
+ ../cldwat2m_micro.F \
+ ../wv_saturation.F \
+ ../cs_conv_aw_adj.F90 \
+ ../cs_conv.F90 \
+### GSD
+ ../cu_gf_driver.F90 \
+ ../cu_gf_deep.F90 \
+ ../cu_gf_sh.F90 \
+ ../module_MYNNrad_pre.F90 \
+ ../module_MYNNrad_post.F90 \
+ ../module_MYNNPBL_wrapper.F90 \
+ ../module_bl_mynn.F90 \
+### ../module_MYNNSFC_wrapper.F90 \
+### ../module_sf_mynn.F90 \
+ ../sfc_drv_ruc.F90 \
+ ../module_sf_ruclsm.F90 \
+ ../namelist_soilveg_ruc.F90 \
+ ../set_soilveg_ruc.F90 \
+ ../module_soil_pre.F90 \
+ ../mp_thompson_pre.F90 \
+ ../module_mp_thompson_make_number_concentrations.F90 \
+ ../mp_thompson.F90 \
+ ../module_mp_thompson.F90 \
+ ../module_mp_radar.F90 \
+ ../mp_thompson_post.F90 \
+### utils
+ ../funcphys.f90 \
+ ../physparam.f \
+ ../physcons.F90 \
+ ../radcons.f90 \
+ ../mersenne_twister.f
+INPUT_ENCODING = UTF-8
+FILE_PATTERNS = *.f \
+ *.F \
+ *.F90 \
+ *.f90 \
+ *.nml \
+ *.txt
+RECURSIVE = YES
+EXCLUDE =
+EXCLUDE_SYMLINKS = NO
+EXCLUDE_PATTERNS =
+EXCLUDE_SYMBOLS =
+EXAMPLE_PATH = ./
+EXAMPLE_PATTERNS =
+EXAMPLE_RECURSIVE = NO
+IMAGE_PATH = img
+INPUT_FILTER =
+FILTER_PATTERNS =
+FILTER_SOURCE_FILES = NO
+FILTER_SOURCE_PATTERNS =
+USE_MDFILE_AS_MAINPAGE =
+SOURCE_BROWSER = NO
+INLINE_SOURCES = NO
+STRIP_CODE_COMMENTS = YES
+REFERENCED_BY_RELATION = YES
+REFERENCES_RELATION = YES
+REFERENCES_LINK_SOURCE = YES
+SOURCE_TOOLTIPS = YES
+USE_HTAGS = NO
+VERBATIM_HEADERS = YES
+#CLANG_ASSISTED_PARSING = NO
+#CLANG_OPTIONS =
+ALPHABETICAL_INDEX = NO
+COLS_IN_ALPHA_INDEX = 5
+IGNORE_PREFIX =
+GENERATE_HTML = YES
+HTML_OUTPUT = html
+HTML_FILE_EXTENSION = .html
+HTML_HEADER =
+HTML_FOOTER =
+HTML_STYLESHEET =
+HTML_EXTRA_STYLESHEET = ccpp_dox_extra_style.css
+HTML_EXTRA_FILES =
+HTML_COLORSTYLE_HUE = 220
+HTML_COLORSTYLE_SAT = 100
+HTML_COLORSTYLE_GAMMA = 80
+HTML_TIMESTAMP = NO
+HTML_DYNAMIC_SECTIONS = NO
+HTML_INDEX_NUM_ENTRIES = 100
+GENERATE_DOCSET = NO
+DOCSET_FEEDNAME = "Doxygen generated docs"
+DOCSET_BUNDLE_ID = org.doxygen.Project
+DOCSET_PUBLISHER_ID = org.doxygen.Publisher
+DOCSET_PUBLISHER_NAME = Publisher
+GENERATE_HTMLHELP = NO
+CHM_FILE =
+HHC_LOCATION =
+GENERATE_CHI = NO
+CHM_INDEX_ENCODING =
+BINARY_TOC = NO
+TOC_EXPAND = NO
+GENERATE_QHP = NO
+QCH_FILE =
+QHP_NAMESPACE = org.doxygen.Project
+QHP_VIRTUAL_FOLDER = doc
+QHP_CUST_FILTER_NAME =
+QHP_CUST_FILTER_ATTRS =
+QHP_SECT_FILTER_ATTRS =
+QHG_LOCATION =
+GENERATE_ECLIPSEHELP = NO
+ECLIPSE_DOC_ID = org.doxygen.Project
+DISABLE_INDEX = YES
+GENERATE_TREEVIEW = YES
+ENUM_VALUES_PER_LINE = 4
+TREEVIEW_WIDTH = 250
+EXT_LINKS_IN_WINDOW = NO
+FORMULA_FONTSIZE = 10
+FORMULA_TRANSPARENT = YES
+USE_MATHJAX = YES
+MATHJAX_FORMAT = HTML-CSS
+MATHJAX_RELPATH = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2
+MATHJAX_EXTENSIONS =
+MATHJAX_CODEFILE =
+SEARCHENGINE = YES
+SERVER_BASED_SEARCH = NO
+EXTERNAL_SEARCH = NO
+SEARCHENGINE_URL =
+SEARCHDATA_FILE = searchdata.xml
+EXTERNAL_SEARCH_ID =
+EXTRA_SEARCH_MAPPINGS =
+GENERATE_LATEX = YES
+LATEX_OUTPUT = latex
+LATEX_CMD_NAME = latex
+MAKEINDEX_CMD_NAME = makeindex
+COMPACT_LATEX = YES
+PAPER_TYPE = a4
+EXTRA_PACKAGES = amsmath
+LATEX_HEADER =
+LATEX_FOOTER =
+LATEX_EXTRA_STYLESHEET =
+LATEX_EXTRA_FILES =
+PDF_HYPERLINKS = YES
+USE_PDFLATEX = YES
+LATEX_BATCHMODE = NO
+LATEX_HIDE_INDICES = YES
+LATEX_SOURCE_CODE = NO
+
+LATEX_BIB_STYLE = plainnat
+
+LATEX_TIMESTAMP = NO
+
+GENERATE_RTF = NO
+
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+RTF_EXTENSIONS_FILE =
+RTF_SOURCE_CODE = NO
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+MAN_SUBDIR =
+MAN_LINKS = NO
+GENERATE_XML = NO
+XML_OUTPUT = xml
+XML_PROGRAMLISTING = YES
+GENERATE_DOCBOOK = NO
+DOCBOOK_OUTPUT = docbook
+DOCBOOK_PROGRAMLISTING = NO
+GENERATE_AUTOGEN_DEF = NO
+GENERATE_PERLMOD = NO
+PERLMOD_LATEX = NO
+PERLMOD_PRETTY = YES
+PERLMOD_MAKEVAR_PREFIX =
+ENABLE_PREPROCESSING = NO
+MACRO_EXPANSION = NO
+EXPAND_ONLY_PREDEF = NO
+SEARCH_INCLUDES = YES
+INCLUDE_PATH =
+INCLUDE_FILE_PATTERNS =
+PREDEFINED = CCPP \
+ MULTI_GASES \
+ 0
+EXPAND_AS_DEFINED =
+SKIP_FUNCTION_MACROS = YES
+TAGFILES =
+GENERATE_TAGFILE =
+ALLEXTERNALS = NO
+EXTERNAL_GROUPS = YES
+EXTERNAL_PAGES = YES
+PERL_PATH = /usr/bin/perl
+CLASS_DIAGRAMS = YES
+MSCGEN_PATH =
+DIA_PATH =
+HIDE_UNDOC_RELATIONS = NO
+HAVE_DOT = YES
+DOT_NUM_THREADS = 0
+DOT_FONTNAME = Helvetica
+DOT_FONTSIZE = 10
+DOT_FONTPATH =
+CLASS_GRAPH = NO
+COLLABORATION_GRAPH = NO
+GROUP_GRAPHS = YES
+UML_LOOK = YES
+UML_LIMIT_NUM_FIELDS = 10
+TEMPLATE_RELATIONS = NO
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = NO
+CALL_GRAPH = YES
+CALLER_GRAPH = NO
+GRAPHICAL_HIERARCHY = YES
+DIRECTORY_GRAPH = YES
+DOT_IMAGE_FORMAT = svg
+INTERACTIVE_SVG = NO
+DOT_PATH =
+DOTFILE_DIRS =
+MSCFILE_DIRS =
+DIAFILE_DIRS =
+PLANTUML_JAR_PATH =
+PLANTUML_INCLUDE_PATH =
+DOT_GRAPH_MAX_NODES = 200
+MAX_DOT_GRAPH_DEPTH = 0
+DOT_TRANSPARENT = NO
+DOT_MULTI_TARGETS = YES
+GENERATE_LEGEND = YES
+DOT_CLEANUP = YES
diff --git a/physics/docs/library.bib b/physics/docs/library.bib
index 7384e08a0..dd2b2042e 100644
--- a/physics/docs/library.bib
+++ b/physics/docs/library.bib
@@ -1,7 +1,7 @@
%% This BibTeX bibliography file was created using BibDesk.
-%% https://bibdesk.sourceforge.io/
+%% http://bibdesk.sourceforge.net/
-%% Created for Grant Firl at 2019-10-25 16:36:06 -0600
+%% Created for Man Zhang at 2020-03-02 13:10:25 -0700
%% Saved with string encoding Unicode (UTF-8)
@@ -1859,12 +1859,12 @@ @article{zeng_and_dickinson_1998
@conference{zheng_et_al_2009,
Address = {Omaha, Nebraska},
Author = {W. Zheng and H. Wei and J. Meng and M. Ek and K. Mitchell and J. Derber and X. Zeng and Z. Wang},
- Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBWLi4vLi4vLi4vLi4vLi4vRGVza3RvcC9OT0FIX0xTTS9JbXByb3ZlbWVudF9vZl9MYW5kX1N1cmZhY2VfU2tpbl9UZW1wZXJhdHVyZV9pbl9OQy5wZGZPEQIgAAAAAAIgAAIAAAxNYWNpbnRvc2ggSEQAAAAAAAAAAAAAAAAAAADT4djXSCsAAANl5rUfSW1wcm92ZW1lbnRfb2ZfTGFuZCMzNjVGRjBGLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2X/D9aQ780AAAAAAAAAAAAFAAMAAAkgAAAAAAAAAAAAAAAAAAAACE5PQUhfTFNNABAACAAA0+ItNwAAABEACAAA1pFSPQAAAAEAEANl5rUAD8YgAA/GDwAGL94AAgBRTWFjaW50b3NoIEhEOlVzZXJzOgBtYW4uemhhbmc6AERlc2t0b3A6AE5PQUhfTFNNOgBJbXByb3ZlbWVudF9vZl9MYW5kIzM2NUZGMEYucGRmAAAOAG4ANgBJAG0AcAByAG8AdgBlAG0AZQBuAHQAXwBvAGYAXwBMAGEAbgBkAF8AUwB1AHIAZgBhAGMAZQBfAFMAawBpAG4AXwBUAGUAbQBwAGUAcgBhAHQAdQByAGUAXwBpAG4AXwBOAEMALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASAFdVc2Vycy9tYW4uemhhbmcvRGVza3RvcC9OT0FIX0xTTS9JbXByb3ZlbWVudF9vZl9MYW5kX1N1cmZhY2VfU2tpbl9UZW1wZXJhdHVyZV9pbl9OQy5wZGYAABMAAS8AABUAAgAQ//8AAAAIAA0AGgAkAH0AAAAAAAACAQAAAAAAAAAFAAAAAAAAAAAAAAAAAAACoQ==},
Date-Added = {2018-01-26 22:19:06 +0000},
Date-Modified = {2018-01-29 23:51:37 +0000},
Organization = {The 23rd Conference on Weather Analysis and Forecasting (WAF)/19th Conference on Numerical Weather Prediction(NWP)},
Title = {Improvement of land surface skin temperature in NCEP Operational NWP models and its impact on satellite Data Assimilation},
- Year = {2009}}
+ Year = {2009},
+ Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBWLi4vLi4vLi4vLi4vLi4vRGVza3RvcC9OT0FIX0xTTS9JbXByb3ZlbWVudF9vZl9MYW5kX1N1cmZhY2VfU2tpbl9UZW1wZXJhdHVyZV9pbl9OQy5wZGZPEQIgAAAAAAIgAAIAAAxNYWNpbnRvc2ggSEQAAAAAAAAAAAAAAAAAAADT4djXSCsAAANl5rUfSW1wcm92ZW1lbnRfb2ZfTGFuZCMzNjVGRjBGLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2X/D9aQ780AAAAAAAAAAAAFAAMAAAkgAAAAAAAAAAAAAAAAAAAACE5PQUhfTFNNABAACAAA0+ItNwAAABEACAAA1pFSPQAAAAEAEANl5rUAD8YgAA/GDwAGL94AAgBRTWFjaW50b3NoIEhEOlVzZXJzOgBtYW4uemhhbmc6AERlc2t0b3A6AE5PQUhfTFNNOgBJbXByb3ZlbWVudF9vZl9MYW5kIzM2NUZGMEYucGRmAAAOAG4ANgBJAG0AcAByAG8AdgBlAG0AZQBuAHQAXwBvAGYAXwBMAGEAbgBkAF8AUwB1AHIAZgBhAGMAZQBfAFMAawBpAG4AXwBUAGUAbQBwAGUAcgBhAHQAdQByAGUAXwBpAG4AXwBOAEMALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASAFdVc2Vycy9tYW4uemhhbmcvRGVza3RvcC9OT0FIX0xTTS9JbXByb3ZlbWVudF9vZl9MYW5kX1N1cmZhY2VfU2tpbl9UZW1wZXJhdHVyZV9pbl9OQy5wZGYAABMAAS8AABUAAgAQ//8AAAAIAA0AGgAkAH0AAAAAAAACAQAAAAAAAAAFAAAAAAAAAAAAAAAAAAACoQ==}}
@article{chen_et_al_1997,
Author = {F. Chen and Z. Janjic and K. Mitchell},
@@ -2016,11 +2016,11 @@ @url{Li_2015
Url = {http://cpo.noaa.gov/sites/cpo/MAPP/workshops/rtf_technical_ws/presentations/21_Xu_Li.pdf},
Bdsk-Url-1 = {http://cpo.noaa.gov/sites/cpo/MAPP/workshops/rtf_technical_ws/presentations/21_Xu_Li.pdf}}
-@url{li_and_derber_2009,
+@webpage{li_and_derber_2009,
Author = {Xu Li and John Derber},
- Date-Modified = {2018-07-17 20:46:44 +0000},
+ Date-Modified = {2020-02-24 17:06:35 +0000},
Title = {Near Sea Surface Temperatures (NSST) Analysis in NCEP GFS},
- Url = {https://www.jcsda.noaa.gov/documents/meetings/wkshp2008/4/JCSDA_2008_Li.pdf},
+ Url = {http://data.jcsda.org/Workshops/6th-workshop-onDA/Session-4/JCSDA_2008_Li.pdf},
Bdsk-Url-1 = {https://www.jcsda.noaa.gov/documents/meetings/wkshp2008/4/JCSDA_2008_Li.pdf}}
@article{Fairall_et_al_1996,
@@ -2103,7 +2103,6 @@ @article{iacono_et_al_2008
@article{grant_2001,
Abstract = {A closure for the fluxes of mass, heat, and moisture at cloud base in the cumulus-capped boundary layer is developed. The cloud-base mass flux is obtained from a simplifed turbulence kinetic energy (TKE) budget for the sub-cloud layer, in which cumulus convection is assumed to be associated with a transport of TKE from the sub-cloud layer to the cloud layer.The heat and moisture fluxes are obtained from a jump model based on the virtual-potential-temperature equation. A key part of this parametrization is the parametrization of the virtual-temperature flux at the top of the transition zone between the sub-cloud and cloud layers.It is argued that pressure fluctuations must be responsible for the transport of TKE from the cloud layer to the sub-cloud layer.},
Author = {A. L. M. Grant},
- Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBBLi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvR3JhbnQvMjAwMS5wZGZPEQHEAAAAAAHEAAIAAAxNYWNpbnRvc2ggSEQAAAAAAAAAAAAAAAAAAADR5yRSSCsAAAAoiV4IMjAwMS5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARgJuNOHLk4AAAAAAAAAAAACAAUAAAkgAAAAAAAAAAAAAAAAAAAABUdyYW50AAAQAAgAANHneLIAAAARAAgAANOHgq4AAAABABgAKIleAChslgAobIsAKGd7ABteBwACmFwAAgBbTWFjaW50b3NoIEhEOlVzZXJzOgBncmFudGY6AENsb3VkU3RhdGlvbjoAZmlybF9saWJyYXJ5OgBmaXJsX2xpYnJhcnlfZmlsZXM6AEdyYW50OgAyMDAxLnBkZgAADgASAAgAMgAwADAAMQAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIASFVzZXJzL2dyYW50Zi9DbG91ZFN0YXRpb24vZmlybF9saWJyYXJ5L2ZpcmxfbGlicmFyeV9maWxlcy9HcmFudC8yMDAxLnBkZgATAAEvAAAVAAIADf//AAAACAANABoAJABoAAAAAAAAAgEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAjA=},
Date-Added = {2016-06-15 22:11:22 +0000},
Date-Modified = {2018-07-06 19:02:34 +0000},
Doi = {10.1002/qj.49712757209},
@@ -2117,13 +2116,13 @@ @article{grant_2001
Url = {http://dx.doi.org/10.1002/qj.49712757209},
Volume = {127},
Year = {2001},
+ Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBBLi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvR3JhbnQvMjAwMS5wZGZPEQHEAAAAAAHEAAIAAAxNYWNpbnRvc2ggSEQAAAAAAAAAAAAAAAAAAADR5yRSSCsAAAAoiV4IMjAwMS5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARgJuNOHLk4AAAAAAAAAAAACAAUAAAkgAAAAAAAAAAAAAAAAAAAABUdyYW50AAAQAAgAANHneLIAAAARAAgAANOHgq4AAAABABgAKIleAChslgAobIsAKGd7ABteBwACmFwAAgBbTWFjaW50b3NoIEhEOlVzZXJzOgBncmFudGY6AENsb3VkU3RhdGlvbjoAZmlybF9saWJyYXJ5OgBmaXJsX2xpYnJhcnlfZmlsZXM6AEdyYW50OgAyMDAxLnBkZgAADgASAAgAMgAwADAAMQAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIASFVzZXJzL2dyYW50Zi9DbG91ZFN0YXRpb24vZmlybF9saWJyYXJ5L2ZpcmxfbGlicmFyeV9maWxlcy9HcmFudC8yMDAxLnBkZgATAAEvAAAVAAIADf//AAAACAANABoAJABoAAAAAAAAAgEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAjA=},
Bdsk-Url-1 = {http://dx.doi.org/10.1002/qj.49712757209}}
@article{zhang_and_wu_2003,
Abstract = {Abstract This study uses a 2D cloud-resolving model to investigate the vertical transport of horizontal momentum and to understand the role of a convection-generated perturbation pressure field in the momentum transport by convective systems during part of the Tropical Ocean and Global Atmosphere Coupled Ocean?Atmosphere Response Experiment (TOGA COARE) Intensive Observation Period. It shows that convective updrafts transport a significant amount of momentum vertically. This transport is downgradient in the easterly wind regime, but upgradient during a westerly wind burst. The differences in convective momentum transport between easterly and westerly wind regimes are examined. The perturbation pressure gradient accounts for an important part of the apparent momentum source. In general it is opposite in sign to the product of cloud mass flux and the vertical wind shear, with smaller magnitude. Examination of the dynamic forcing to the pressure field demonstrates that the linear forcing representing the interaction between the convective updrafts and the large-scale wind shear is the dominant term, while the nonlinear forcing is of secondary importance. Thus, parameterization schemes taking into account the linear interaction between the convective updrafts and the large-scale wind shear can capture the essential features of the perturbation pressure field. The parameterization scheme for momentum transport by Zhang and Cho is evaluated using the model simulation data. The parameterized pressure gradient force using the scheme is in excellent agreement with the simulated one. The parameterized apparent momentum source is also in good agreement with the model simulation. Other parameterization methods for the pressure gradient are also discussed.},
Annote = {doi: 10.1175/1520-0469(2003)060<1120:CMTAPP>2.0.CO;2},
Author = {Zhang, Guang J. and Wu, Xiaoqing},
- Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBBLi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvWmhhbmcvMjAwMy5wZGZPEQHEAAAAAAHEAAIAAAxNYWNpbnRvc2ggSEQAAAAAAAAAAAAAAAAAAADR5yRSSCsAAAAqjuYIMjAwMy5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFrUP9K0L8MAAAAAAAAAAAACAAUAAAkgAAAAAAAAAAAAAAAAAAAABVpoYW5nAAAQAAgAANHneLIAAAARAAgAANK0kjMAAAABABgAKo7mAChslgAobIsAKGd7ABteBwACmFwAAgBbTWFjaW50b3NoIEhEOlVzZXJzOgBncmFudGY6AENsb3VkU3RhdGlvbjoAZmlybF9saWJyYXJ5OgBmaXJsX2xpYnJhcnlfZmlsZXM6AFpoYW5nOgAyMDAzLnBkZgAADgASAAgAMgAwADAAMwAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIASFVzZXJzL2dyYW50Zi9DbG91ZFN0YXRpb24vZmlybF9saWJyYXJ5L2ZpcmxfbGlicmFyeV9maWxlcy9aaGFuZy8yMDAzLnBkZgATAAEvAAAVAAIADf//AAAACAANABoAJABoAAAAAAAAAgEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAjA=},
Booktitle = {Journal of the Atmospheric Sciences},
Da = {2003/05/01},
Date-Added = {2016-06-14 23:39:50 +0000},
@@ -2142,13 +2141,13 @@ @article{zhang_and_wu_2003
Url = {http://dx.doi.org/10.1175/1520-0469(2003)060<1120:CMTAPP>2.0.CO;2},
Volume = {60},
Year = {2003},
+ Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBBLi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvWmhhbmcvMjAwMy5wZGZPEQHEAAAAAAHEAAIAAAxNYWNpbnRvc2ggSEQAAAAAAAAAAAAAAAAAAADR5yRSSCsAAAAqjuYIMjAwMy5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFrUP9K0L8MAAAAAAAAAAAACAAUAAAkgAAAAAAAAAAAAAAAAAAAABVpoYW5nAAAQAAgAANHneLIAAAARAAgAANK0kjMAAAABABgAKo7mAChslgAobIsAKGd7ABteBwACmFwAAgBbTWFjaW50b3NoIEhEOlVzZXJzOgBncmFudGY6AENsb3VkU3RhdGlvbjoAZmlybF9saWJyYXJ5OgBmaXJsX2xpYnJhcnlfZmlsZXM6AFpoYW5nOgAyMDAzLnBkZgAADgASAAgAMgAwADAAMwAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIASFVzZXJzL2dyYW50Zi9DbG91ZFN0YXRpb24vZmlybF9saWJyYXJ5L2ZpcmxfbGlicmFyeV9maWxlcy9aaGFuZy8yMDAzLnBkZgATAAEvAAAVAAIADf//AAAACAANABoAJABoAAAAAAAAAgEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAjA=},
Bdsk-Url-1 = {http://dx.doi.org/10.1175/1520-0469(2003)060%3C1120:CMTAPP%3E2.0.CO;2}}
@article{fritsch_and_chappell_1980,
Abstract = {Abstract A parameterization formulation for incorporating the effects of midlatitude deep convection into mesoscale-numerical models is presented. The formulation is based on the hypothesis that the buoyant energy available to a parcel, in combination with a prescribed period of time for the convection to remove that energy, can be used to regulate the amount of convection in a mesoscale numerical model grid element. Individual clouds are represented as entraining moist updraft and downdraft plumes. The fraction of updraft condensate evaporated in moist downdrafts is determined from an empirical relationship between the vertical shear of the horizontal wind and precipitation efficiency. Vertical transports of horizontal momentum and warming by compensating subsidence are included in the parameterization. Since updraft and downdraft areas are sometimes a substantial fraction of mesoscale model grid-element areas, grid-point temperatures (adjusted for convection) are an area-weighted mean of updraft, downdraft and environmental temperatures.},
Annote = {doi: 10.1175/1520-0469(1980)037<1722:NPOCDM>2.0.CO;2},
Author = {Fritsch, J. M. and Chappell, C. F.},
- Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBDLi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvRnJpdHNjaC8xOTgwLnBkZk8RAcoAAAAAAcoAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAANHnJFJIKwAAARCuMwgxOTgwLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEKs103xvpgAAAAAAAAAAAAIABQAACSAAAAAAAAAAAAAAAAAAAAAHRnJpdHNjaAAAEAAIAADR53iyAAAAEQAIAADTfMQGAAAAAQAYARCuMwAobJYAKGyLAChnewAbXgcAAphcAAIAXU1hY2ludG9zaCBIRDpVc2VyczoAZ3JhbnRmOgBDbG91ZFN0YXRpb246AGZpcmxfbGlicmFyeToAZmlybF9saWJyYXJ5X2ZpbGVzOgBGcml0c2NoOgAxOTgwLnBkZgAADgASAAgAMQA5ADgAMAAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIASlVzZXJzL2dyYW50Zi9DbG91ZFN0YXRpb24vZmlybF9saWJyYXJ5L2ZpcmxfbGlicmFyeV9maWxlcy9Gcml0c2NoLzE5ODAucGRmABMAAS8AABUAAgAN//8AAAAIAA0AGgAkAGoAAAAAAAACAQAAAAAAAAAFAAAAAAAAAAAAAAAAAAACOA==},
Booktitle = {Journal of the Atmospheric Sciences},
Da = {1980/08/01},
Date = {1980/08/01},
@@ -2169,12 +2168,12 @@ @article{fritsch_and_chappell_1980
Volume = {37},
Year = {1980},
Year1 = {1980},
+ Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBDLi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvRnJpdHNjaC8xOTgwLnBkZk8RAcoAAAAAAcoAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAANHnJFJIKwAAARCuMwgxOTgwLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEKs103xvpgAAAAAAAAAAAAIABQAACSAAAAAAAAAAAAAAAAAAAAAHRnJpdHNjaAAAEAAIAADR53iyAAAAEQAIAADTfMQGAAAAAQAYARCuMwAobJYAKGyLAChnewAbXgcAAphcAAIAXU1hY2ludG9zaCBIRDpVc2VyczoAZ3JhbnRmOgBDbG91ZFN0YXRpb246AGZpcmxfbGlicmFyeToAZmlybF9saWJyYXJ5X2ZpbGVzOgBGcml0c2NoOgAxOTgwLnBkZgAADgASAAgAMQA5ADgAMAAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIASlVzZXJzL2dyYW50Zi9DbG91ZFN0YXRpb24vZmlybF9saWJyYXJ5L2ZpcmxfbGlicmFyeV9maWxlcy9Gcml0c2NoLzE5ODAucGRmABMAAS8AABUAAgAN//8AAAAIAA0AGgAkAGoAAAAAAAACAQAAAAAAAAAFAAAAAAAAAAAAAAAAAAACOA==},
Bdsk-Url-1 = {http://dx.doi.org/10.1175/1520-0469(1980)037%3C1722:NPOCDM%3E2.0.CO;2}}
@article{bechtold_et_al_2008,
Abstract = {Advances in simulating atmospheric variability with the ECMWF model are presented that stem from revisions of the convection and diffusion parametrizations. The revisions concern in particular the introduction of a variable convective adjustment time-scale, a convective entrainment rate proportional to the environmental relative humidity, as well as free tropospheric diffusion coefficients for heat and momentum based on Monin--Obukhov functional dependencies.The forecasting system is evaluated against analyses and observations using high-resolution medium-range deterministic and ensemble forecasts, monthly and seasonal integrations, and decadal integrations with coupled atmosphere-ocean models. The results show a significantly higher and more realistic level of model activity in terms of the amplitude of tropical and extratropical mesoscale, synoptic and planetary perturbations. Importantly, with the higher variability and reduced bias not only the probabilistic scores are improved, but also the midlatitude deterministic scores in the short and medium ranges. Furthermore, for the first time the model is able to represent a realistic spectrum of convectively coupled equatorial Kelvin and Rossby waves, and maintains a realistic amplitude of the Madden--Julian oscillation (MJO) during monthly forecasts. However, the propagation speed of the MJO is slower than observed. The higher tropical tropospheric wave activity also results in better stratospheric temperatures and winds through the deposition of momentum.The partitioning between convective and resolved precipitation is unaffected by the model changes with roughly 62% of the total global precipitation being of the convective type. Finally, the changes in convection and diffusion parametrizations resulted in a larger spread of the ensemble forecasts, which allowed the amplitude of the initial perturbations in the ensemble prediction system to decrease by 30%. Copyright {\copyright} 2008 Royal Meteorological Society},
Author = {Bechtold, Peter and K{\"o}hler, Martin and Jung, Thomas and Doblas-Reyes, Francisco and Leutbecher, Martin and Rodwell, Mark J. and Vitart, Frederic and Balsamo, Gianpaolo},
- Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBELi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvQmVjaHRvbGQvMjAwOC5wZGZPEQHMAAAAAAHMAAIAAAxNYWNpbnRvc2ggSEQAAAAAAAAAAAAAAAAAAADR5yRSSCsAAAAobfkIMjAwOC5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARZce9OEjEwAAAAAAAAAAAACAAUAAAkgAAAAAAAAAAAAAAAAAAAACEJlY2h0b2xkABAACAAA0ed4sgAAABEACAAA04TgrAAAAAEAGAAobfkAKGyWAChsiwAoZ3sAG14HAAKYXAACAF5NYWNpbnRvc2ggSEQ6VXNlcnM6AGdyYW50ZjoAQ2xvdWRTdGF0aW9uOgBmaXJsX2xpYnJhcnk6AGZpcmxfbGlicmFyeV9maWxlczoAQmVjaHRvbGQ6ADIwMDgucGRmAA4AEgAIADIAMAAwADgALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASAEtVc2Vycy9ncmFudGYvQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvQmVjaHRvbGQvMjAwOC5wZGYAABMAAS8AABUAAgAN//8AAAAIAA0AGgAkAGsAAAAAAAACAQAAAAAAAAAFAAAAAAAAAAAAAAAAAAACOw==},
Date-Added = {2016-06-14 23:11:58 +0000},
Date-Modified = {2016-06-14 23:11:58 +0000},
Doi = {10.1002/qj.289},
@@ -2188,12 +2187,12 @@ @article{bechtold_et_al_2008
Url = {http://dx.doi.org/10.1002/qj.289},
Volume = {134},
Year = {2008},
+ Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBELi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvQmVjaHRvbGQvMjAwOC5wZGZPEQHMAAAAAAHMAAIAAAxNYWNpbnRvc2ggSEQAAAAAAAAAAAAAAAAAAADR5yRSSCsAAAAobfkIMjAwOC5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARZce9OEjEwAAAAAAAAAAAACAAUAAAkgAAAAAAAAAAAAAAAAAAAACEJlY2h0b2xkABAACAAA0ed4sgAAABEACAAA04TgrAAAAAEAGAAobfkAKGyWAChsiwAoZ3sAG14HAAKYXAACAF5NYWNpbnRvc2ggSEQ6VXNlcnM6AGdyYW50ZjoAQ2xvdWRTdGF0aW9uOgBmaXJsX2xpYnJhcnk6AGZpcmxfbGlicmFyeV9maWxlczoAQmVjaHRvbGQ6ADIwMDgucGRmAA4AEgAIADIAMAAwADgALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASAEtVc2Vycy9ncmFudGYvQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvQmVjaHRvbGQvMjAwOC5wZGYAABMAAS8AABUAAgAN//8AAAAIAA0AGgAkAGsAAAAAAAACAQAAAAAAAAAFAAAAAAAAAAAAAAAAAAACOw==},
Bdsk-Url-1 = {http://dx.doi.org/10.1002/qj.289}}
@article{han_and_pan_2011,
Annote = {doi: 10.1175/WAF-D-10-05038.1},
Author = {Han, Jongil and Pan, Hua-Lu},
- Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxA/Li4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvSGFuLzIwMTEucGRmTxEBvgAAAAABvgACAAAMTWFjaW50b3NoIEhEAAAAAAAAAAAAAAAAAAAA0eckUkgrAAAAWsT5CDIwMTEucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADC1cfTGvlvAAAAAAAAAAAAAgAFAAAJIAAAAAAAAAAAAAAAAAAAAANIYW4AABAACAAA0ed4sgAAABEACAAA0xtNzwAAAAEAGABaxPkAKGyWAChsiwAoZ3sAG14HAAKYXAACAFlNYWNpbnRvc2ggSEQ6VXNlcnM6AGdyYW50ZjoAQ2xvdWRTdGF0aW9uOgBmaXJsX2xpYnJhcnk6AGZpcmxfbGlicmFyeV9maWxlczoASGFuOgAyMDExLnBkZgAADgASAAgAMgAwADEAMQAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIARlVzZXJzL2dyYW50Zi9DbG91ZFN0YXRpb24vZmlybF9saWJyYXJ5L2ZpcmxfbGlicmFyeV9maWxlcy9IYW4vMjAxMS5wZGYAEwABLwAAFQACAA3//wAAAAgADQAaACQAZgAAAAAAAAIBAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAIo},
Booktitle = {Weather and Forecasting},
Da = {2011/08/01},
Date = {2011/08/01},
@@ -2214,22 +2213,22 @@ @article{han_and_pan_2011
Volume = {26},
Year = {2011},
Year1 = {2011},
+ Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxA/Li4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvSGFuLzIwMTEucGRmTxEBvgAAAAABvgACAAAMTWFjaW50b3NoIEhEAAAAAAAAAAAAAAAAAAAA0eckUkgrAAAAWsT5CDIwMTEucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADC1cfTGvlvAAAAAAAAAAAAAgAFAAAJIAAAAAAAAAAAAAAAAAAAAANIYW4AABAACAAA0ed4sgAAABEACAAA0xtNzwAAAAEAGABaxPkAKGyWAChsiwAoZ3sAG14HAAKYXAACAFlNYWNpbnRvc2ggSEQ6VXNlcnM6AGdyYW50ZjoAQ2xvdWRTdGF0aW9uOgBmaXJsX2xpYnJhcnk6AGZpcmxfbGlicmFyeV9maWxlczoASGFuOgAyMDExLnBkZgAADgASAAgAMgAwADEAMQAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIARlVzZXJzL2dyYW50Zi9DbG91ZFN0YXRpb24vZmlybF9saWJyYXJ5L2ZpcmxfbGlicmFyeV9maWxlcy9IYW4vMjAxMS5wZGYAEwABLwAAFQACAA3//wAAAAgADQAaACQAZgAAAAAAAAIBAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAIo},
Bdsk-Url-1 = {http://dx.doi.org/10.1175/WAF-D-10-05038.1}}
@article{pan_and_wu_1995,
Author = {Pan, H. -L. and W.-S. Wu},
- Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxA/Li4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvUGFuLzE5OTUucGRmTxEBvgAAAAABvgACAAAMTWFjaW50b3NoIEhEAAAAAAAAAAAAAAAAAAAA0eckUkgrAAAAwtTNCDE5OTUucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCtU/TGvMJAAAAAAAAAAAAAgAFAAAJIAAAAAAAAAAAAAAAAAAAAANQYW4AABAACAAA0ed4sgAAABEACAAA0xtHaQAAAAEAGADC1M0AKGyWAChsiwAoZ3sAG14HAAKYXAACAFlNYWNpbnRvc2ggSEQ6VXNlcnM6AGdyYW50ZjoAQ2xvdWRTdGF0aW9uOgBmaXJsX2xpYnJhcnk6AGZpcmxfbGlicmFyeV9maWxlczoAUGFuOgAxOTk1LnBkZgAADgASAAgAMQA5ADkANQAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIARlVzZXJzL2dyYW50Zi9DbG91ZFN0YXRpb24vZmlybF9saWJyYXJ5L2ZpcmxfbGlicmFyeV9maWxlcy9QYW4vMTk5NS5wZGYAEwABLwAAFQACAA3//wAAAAgADQAaACQAZgAAAAAAAAIBAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAIo},
Date-Added = {2016-06-14 23:06:41 +0000},
Date-Modified = {2016-06-14 23:06:41 +0000},
Journal = {NMC Office Note, No. 409},
Pages = {40pp},
Title = {Implementing a Mass Flux Convection Parameterization Package for the NMC Medium-Range Forecast Model},
- Year = {1995}}
+ Year = {1995},
+ Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxA/Li4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvUGFuLzE5OTUucGRmTxEBvgAAAAABvgACAAAMTWFjaW50b3NoIEhEAAAAAAAAAAAAAAAAAAAA0eckUkgrAAAAwtTNCDE5OTUucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCtU/TGvMJAAAAAAAAAAAAAgAFAAAJIAAAAAAAAAAAAAAAAAAAAANQYW4AABAACAAA0ed4sgAAABEACAAA0xtHaQAAAAEAGADC1M0AKGyWAChsiwAoZ3sAG14HAAKYXAACAFlNYWNpbnRvc2ggSEQ6VXNlcnM6AGdyYW50ZjoAQ2xvdWRTdGF0aW9uOgBmaXJsX2xpYnJhcnk6AGZpcmxfbGlicmFyeV9maWxlczoAUGFuOgAxOTk1LnBkZgAADgASAAgAMQA5ADkANQAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIARlVzZXJzL2dyYW50Zi9DbG91ZFN0YXRpb24vZmlybF9saWJyYXJ5L2ZpcmxfbGlicmFyeV9maWxlcy9QYW4vMTk5NS5wZGYAEwABLwAAFQACAA3//wAAAAgADQAaACQAZgAAAAAAAAIBAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAIo}}
@article{grell_1993,
Annote = {doi: 10.1175/1520-0493(1993)121<0764:PEOAUB>2.0.CO;2},
Author = {Grell, Georg A.},
- Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBBLi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvR3JlbGwvMTk5My5wZGZPEQHEAAAAAAHEAAIAAAxNYWNpbnRvc2ggSEQAAAAAAAAAAAAAAAAAAADR5yRSSCsAAAAoie0IMTk5My5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMK4dtMa9LMAAAAAAAAAAAACAAUAAAkgAAAAAAAAAAAAAAAAAAAABUdyZWxsAAAQAAgAANHneLIAAAARAAgAANMbSRMAAAABABgAKIntAChslgAobIsAKGd7ABteBwACmFwAAgBbTWFjaW50b3NoIEhEOlVzZXJzOgBncmFudGY6AENsb3VkU3RhdGlvbjoAZmlybF9saWJyYXJ5OgBmaXJsX2xpYnJhcnlfZmlsZXM6AEdyZWxsOgAxOTkzLnBkZgAADgASAAgAMQA5ADkAMwAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIASFVzZXJzL2dyYW50Zi9DbG91ZFN0YXRpb24vZmlybF9saWJyYXJ5L2ZpcmxfbGlicmFyeV9maWxlcy9HcmVsbC8xOTkzLnBkZgATAAEvAAAVAAIADf//AAAACAANABoAJABoAAAAAAAAAgEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAjA=},
Booktitle = {Monthly Weather Review},
Da = {1993/03/01},
Date = {1993/03/01},
@@ -2250,11 +2249,11 @@ @article{grell_1993
Volume = {121},
Year = {1993},
Year1 = {1993},
+ Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBBLi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvR3JlbGwvMTk5My5wZGZPEQHEAAAAAAHEAAIAAAxNYWNpbnRvc2ggSEQAAAAAAAAAAAAAAAAAAADR5yRSSCsAAAAoie0IMTk5My5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMK4dtMa9LMAAAAAAAAAAAACAAUAAAkgAAAAAAAAAAAAAAAAAAAABUdyZWxsAAAQAAgAANHneLIAAAARAAgAANMbSRMAAAABABgAKIntAChslgAobIsAKGd7ABteBwACmFwAAgBbTWFjaW50b3NoIEhEOlVzZXJzOgBncmFudGY6AENsb3VkU3RhdGlvbjoAZmlybF9saWJyYXJ5OgBmaXJsX2xpYnJhcnlfZmlsZXM6AEdyZWxsOgAxOTkzLnBkZgAADgASAAgAMQA5ADkAMwAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIASFVzZXJzL2dyYW50Zi9DbG91ZFN0YXRpb24vZmlybF9saWJyYXJ5L2ZpcmxfbGlicmFyeV9maWxlcy9HcmVsbC8xOTkzLnBkZgATAAEvAAAVAAIADf//AAAACAANABoAJABoAAAAAAAAAgEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAjA=},
Bdsk-Url-1 = {http://dx.doi.org/10.1175/1520-0493(1993)121%3C0764:PEOAUB%3E2.0.CO;2}}
@article{arakawa_and_schubert_1974,
Author = {Arakawa, A and Schubert, WH},
- Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBDLi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvQXJha2F3YS8xOTc0LnBkZk8RAcoAAAAAAcoAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAANHnJFJIKwAAAChtVQgxOTc0LnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKG1ctM8h9AAAAAAAAAAAAAIABQAACSAAAAAAAAAAAAAAAAAAAAAHQXJha2F3YQAAEAAIAADR53iyAAAAEQAIAAC0z4RkAAAAAQAYAChtVQAobJYAKGyLAChnewAbXgcAAphcAAIAXU1hY2ludG9zaCBIRDpVc2VyczoAZ3JhbnRmOgBDbG91ZFN0YXRpb246AGZpcmxfbGlicmFyeToAZmlybF9saWJyYXJ5X2ZpbGVzOgBBcmFrYXdhOgAxOTc0LnBkZgAADgASAAgAMQA5ADcANAAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIASlVzZXJzL2dyYW50Zi9DbG91ZFN0YXRpb24vZmlybF9saWJyYXJ5L2ZpcmxfbGlicmFyeV9maWxlcy9BcmFrYXdhLzE5NzQucGRmABMAAS8AABUAAgAN//8AAAAIAA0AGgAkAGoAAAAAAAACAQAAAAAAAAAFAAAAAAAAAAAAAAAAAAACOA==},
Date-Added = {2016-06-14 23:04:30 +0000},
Date-Modified = {2018-07-18 19:00:17 +0000},
Isi = {A1974S778800004},
@@ -2267,6 +2266,7 @@ @article{arakawa_and_schubert_1974
Title = {Interaction of a cumulus cloud ensemble with the large-scale environment, Part I},
Volume = {31},
Year = {1974},
+ Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBDLi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvQXJha2F3YS8xOTc0LnBkZk8RAcoAAAAAAcoAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAANHnJFJIKwAAAChtVQgxOTc0LnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKG1ctM8h9AAAAAAAAAAAAAIABQAACSAAAAAAAAAAAAAAAAAAAAAHQXJha2F3YQAAEAAIAADR53iyAAAAEQAIAAC0z4RkAAAAAQAYAChtVQAobJYAKGyLAChnewAbXgcAAphcAAIAXU1hY2ludG9zaCBIRDpVc2VyczoAZ3JhbnRmOgBDbG91ZFN0YXRpb246AGZpcmxfbGlicmFyeToAZmlybF9saWJyYXJ5X2ZpbGVzOgBBcmFrYXdhOgAxOTc0LnBkZgAADgASAAgAMQA5ADcANAAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIASlVzZXJzL2dyYW50Zi9DbG91ZFN0YXRpb24vZmlybF9saWJyYXJ5L2ZpcmxfbGlicmFyeV9maWxlcy9BcmFrYXdhLzE5NzQucGRmABMAAS8AABUAAgAN//8AAAAIAA0AGgAkAGoAAAAAAAACAQAAAAAAAAAFAAAAAAAAAAAAAAAAAAACOA==},
Bdsk-Url-1 = {http://ws.isiknowledge.com/cps/openurl/service?url_ver=Z39.88-2004&rft_id=info:ut/A1974S778800004}}
@article{harshvardhan_et_al_1989,
@@ -2500,7 +2500,6 @@ @article{akmaev_1991
@article{siebesma_et_al_2007,
Abstract = {A better conceptual understanding and more realistic parameterizations of convective boundary layers in climate and weather prediction models have been major challenges in meteorological research. In particular, parameterizations of the dry convective boundary layer, in spite of the absence of water phase-changes and its consequent simplicity as compared to moist convection, typically suffer from problems in attempting to represent realistically the boundary layer growth and what is often referred to as countergradient fluxes. The eddy-diffusivity (ED) approach has been relatively successful in representing some characteristics of neutral boundary layers and surface layers in general. The mass-flux (MF) approach, on the other hand, has been used for the parameterization of shallow and deep moist convection. In this paper, a new approach that relies on a combination of the ED and MF parameterizations (EDMF) is proposed for the dry convective boundary layer. It is shown that the EDMF approach follows naturally from a decomposition of the turbulent fluxes into 1) a part that includes strong organized updrafts, and 2) a remaining turbulent field. At the basis of the EDMF approach is the concept that nonlocal subgrid transport due to the strong updrafts is taken into account by the MF approach, while the remaining transport is taken into account by an ED closure. Large-eddy simulation (LES) results of the dry convective boundary layer are used to support the theoretical framework of this new approach and to determine the parameters of the EDMF model. The performance of the new formulation is evaluated against LES results, and it is shown that the EDMF closure is able to reproduce the main properties of dry convective boundary layers in a realistic manner. Furthermore, it will be shown that this approach has strong advantages over the more traditional countergradient approach, especially in the entrainment layer. As a result, this EDMF approach opens the way to parameterize the clear and cumulus-topped boundary layer in a simple and unified way.},
Author = {Siebesma, A. Pier and Soares, Pedro M. M. and Teixeira, Joao},
- Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBELi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvU2llYmVzbWEvMjAwNy5wZGZPEQHMAAAAAAHMAAIAAAxNYWNpbnRvc2ggSEQAAAAAAAAAAAAAAAAAAADR5yRSSCsAAAAqYEwIMjAwNy5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACphyMc7+4hQREYgQ0FSTwACAAUAAAkgAAAAAAAAAAAAAAAAAAAACFNpZWJlc21hABAACAAA0ed4sgAAABEACAAAxzxd+AAAAAEAGAAqYEwAKGyWAChsiwAoZ3sAG14HAAKYXAACAF5NYWNpbnRvc2ggSEQ6VXNlcnM6AGdyYW50ZjoAQ2xvdWRTdGF0aW9uOgBmaXJsX2xpYnJhcnk6AGZpcmxfbGlicmFyeV9maWxlczoAU2llYmVzbWE6ADIwMDcucGRmAA4AEgAIADIAMAAwADcALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASAEtVc2Vycy9ncmFudGYvQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvU2llYmVzbWEvMjAwNy5wZGYAABMAAS8AABUAAgAN//8AAAAIAA0AGgAkAGsAAAAAAAACAQAAAAAAAAAFAAAAAAAAAAAAAAAAAAACOw==},
Date-Added = {2016-05-20 17:17:49 +0000},
Date-Modified = {2016-05-20 17:17:49 +0000},
Doi = {DOI 10.1175/JAS3888.1},
@@ -2514,12 +2513,12 @@ @article{siebesma_et_al_2007
Title = {A combined eddy-diffusivity mass-flux approach for the convective boundary layer},
Volume = {64},
Year = {2007},
+ Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBELi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvU2llYmVzbWEvMjAwNy5wZGZPEQHMAAAAAAHMAAIAAAxNYWNpbnRvc2ggSEQAAAAAAAAAAAAAAAAAAADR5yRSSCsAAAAqYEwIMjAwNy5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACphyMc7+4hQREYgQ0FSTwACAAUAAAkgAAAAAAAAAAAAAAAAAAAACFNpZWJlc21hABAACAAA0ed4sgAAABEACAAAxzxd+AAAAAEAGAAqYEwAKGyWAChsiwAoZ3sAG14HAAKYXAACAF5NYWNpbnRvc2ggSEQ6VXNlcnM6AGdyYW50ZjoAQ2xvdWRTdGF0aW9uOgBmaXJsX2xpYnJhcnk6AGZpcmxfbGlicmFyeV9maWxlczoAU2llYmVzbWE6ADIwMDcucGRmAA4AEgAIADIAMAAwADcALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASAEtVc2Vycy9ncmFudGYvQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvU2llYmVzbWEvMjAwNy5wZGYAABMAAS8AABUAAgAN//8AAAAIAA0AGgAkAGsAAAAAAAACAQAAAAAAAAAFAAAAAAAAAAAAAAAAAAACOw==},
Bdsk-Url-1 = {http://ws.isiknowledge.com/cps/openurl/service?url_ver=Z39.88-2004&rft_id=info:ut/000245742600011}}
@article{soares_et_al_2004,
Abstract = {Recently, a new consistent way of parametrizing simultaneously local and non-local turbulent transport for the convective atmospheric boundary layer has been proposed and tested for the clear boundary layer. This approach assumes that in the convective boundary layer the subgrid-scale fluxes result from two different mixing scales: small eddies, that are parametrized by an eddy-diffusivity approach, and thermals, which are represented by a mass-flux contribution. Since the interaction between the cloud layer and the underlying sub-cloud layer predominantly takes place through strong updraughts, this approach offers an interesting avenue of establishing a unified description of the turbulent transport in the cumulus-topped boundary layer. This paper explores the possibility of such a new approach for the cumulus-topped boundary layer. In the sub-cloud and cloud layers, the mass-flux term represents the effect of strong updraughts. These are modelled by a simple entraining parcel, which determines the mean properties of the strong updraughts, the boundary-layer height, the lifting condensation level and cloud top. The residual smaller-scale turbulent transport is parametrized with an eddy-diffusivity approach that uses a turbulent kinetic energy closure. The new scheme is implemented and tested in the research model MesoNH. Copyright {\copyright} 2004 Royal Meteorological Society},
Author = {Soares, P. M. M. and Miranda, P. M. A. and Siebesma, A. P. and Teixeira, J.},
- Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBCLi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvU29hcmVzLzIwMDQucGRmTxEBxgAAAAABxgACAAAMTWFjaW50b3NoIEhEAAAAAAAAAAAAAAAAAAAA0eckUkgrAAAAWIC2CDIwMDQucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYf6DSsqNwAAAAAAAAAAAAAgAFAAAJIAAAAAAAAAAAAAAAAAAAAAZTb2FyZXMAEAAIAADR53iyAAAAEQAIAADSswXgAAAAAQAYAFiAtgAobJYAKGyLAChnewAbXgcAAphcAAIAXE1hY2ludG9zaCBIRDpVc2VyczoAZ3JhbnRmOgBDbG91ZFN0YXRpb246AGZpcmxfbGlicmFyeToAZmlybF9saWJyYXJ5X2ZpbGVzOgBTb2FyZXM6ADIwMDQucGRmAA4AEgAIADIAMAAwADQALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASAElVc2Vycy9ncmFudGYvQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvU29hcmVzLzIwMDQucGRmAAATAAEvAAAVAAIADf//AAAACAANABoAJABpAAAAAAAAAgEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAjM=},
Date-Added = {2016-05-20 17:17:49 +0000},
Date-Modified = {2016-05-20 17:17:49 +0000},
Doi = {10.1256/qj.03.223},
@@ -2533,11 +2532,11 @@ @article{soares_et_al_2004
Url = {http://dx.doi.org/10.1256/qj.03.223},
Volume = {130},
Year = {2004},
+ Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBCLi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvU29hcmVzLzIwMDQucGRmTxEBxgAAAAABxgACAAAMTWFjaW50b3NoIEhEAAAAAAAAAAAAAAAAAAAA0eckUkgrAAAAWIC2CDIwMDQucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYf6DSsqNwAAAAAAAAAAAAAgAFAAAJIAAAAAAAAAAAAAAAAAAAAAZTb2FyZXMAEAAIAADR53iyAAAAEQAIAADSswXgAAAAAQAYAFiAtgAobJYAKGyLAChnewAbXgcAAphcAAIAXE1hY2ludG9zaCBIRDpVc2VyczoAZ3JhbnRmOgBDbG91ZFN0YXRpb246AGZpcmxfbGlicmFyeToAZmlybF9saWJyYXJ5X2ZpbGVzOgBTb2FyZXM6ADIwMDQucGRmAA4AEgAIADIAMAAwADQALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASAElVc2Vycy9ncmFudGYvQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvU29hcmVzLzIwMDQucGRmAAATAAEvAAAVAAIADf//AAAACAANABoAJABpAAAAAAAAAgEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAjM=},
Bdsk-Url-1 = {http://dx.doi.org/10.1256/qj.03.223}}
@article{troen_and_mahrt_1986,
Author = {Troen, IB and Mahrt, L.},
- Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBBLi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvVHJvZW4vMTk4Ni5wZGZPEQHEAAAAAAHEAAIAAAxNYWNpbnRvc2ggSEQAAAAAAAAAAAAAAAAAAADR5yRSSCsAAABNeegIMTk4Ni5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE13kNKUWwUAAAAAAAAAAAACAAUAAAkgAAAAAAAAAAAAAAAAAAAABVRyb2VuAAAQAAgAANHneLIAAAARAAgAANKUvXUAAAABABgATXnoAChslgAobIsAKGd7ABteBwACmFwAAgBbTWFjaW50b3NoIEhEOlVzZXJzOgBncmFudGY6AENsb3VkU3RhdGlvbjoAZmlybF9saWJyYXJ5OgBmaXJsX2xpYnJhcnlfZmlsZXM6AFRyb2VuOgAxOTg2LnBkZgAADgASAAgAMQA5ADgANgAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIASFVzZXJzL2dyYW50Zi9DbG91ZFN0YXRpb24vZmlybF9saWJyYXJ5L2ZpcmxfbGlicmFyeV9maWxlcy9Ucm9lbi8xOTg2LnBkZgATAAEvAAAVAAIADf//AAAACAANABoAJABoAAAAAAAAAgEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAjA=},
Date-Added = {2016-05-20 17:17:49 +0000},
Date-Modified = {2016-05-20 17:17:49 +0000},
Doi = {10.1007/BF00122760},
@@ -2551,13 +2550,13 @@ @article{troen_and_mahrt_1986
Url = {http://dx.doi.org/10.1007/BF00122760},
Volume = {37},
Year = {1986},
+ Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBBLi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvVHJvZW4vMTk4Ni5wZGZPEQHEAAAAAAHEAAIAAAxNYWNpbnRvc2ggSEQAAAAAAAAAAAAAAAAAAADR5yRSSCsAAABNeegIMTk4Ni5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE13kNKUWwUAAAAAAAAAAAACAAUAAAkgAAAAAAAAAAAAAAAAAAAABVRyb2VuAAAQAAgAANHneLIAAAARAAgAANKUvXUAAAABABgATXnoAChslgAobIsAKGd7ABteBwACmFwAAgBbTWFjaW50b3NoIEhEOlVzZXJzOgBncmFudGY6AENsb3VkU3RhdGlvbjoAZmlybF9saWJyYXJ5OgBmaXJsX2xpYnJhcnlfZmlsZXM6AFRyb2VuOgAxOTg2LnBkZgAADgASAAgAMQA5ADgANgAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIASFVzZXJzL2dyYW50Zi9DbG91ZFN0YXRpb24vZmlybF9saWJyYXJ5L2ZpcmxfbGlicmFyeV9maWxlcy9Ucm9lbi8xOTg2LnBkZgATAAEvAAAVAAIADf//AAAACAANABoAJABoAAAAAAAAAgEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAjA=},
Bdsk-Url-1 = {http://dx.doi.org/10.1007/BF00122760}}
@article{macvean_and_mason_1990,
Abstract = {Abstract In a recent paper, Kuo and Schubert demonstrated the lack of observational support for the relevance of the criterion for cloud-top entrainment instability proposed by Randall and by Deardorff. Here we derive a new criterion, based on a model of the instability as resulting from the energy released close to cloud top, by Mixing between saturated boundary-layer air and unsaturated air from above the capping inversion. The condition is derived by considering the net conversion from potential to kinetic energy in a system consisting of two layers of fluid straddling cloud-top, when a small amount of mixing occurs between these layers. This contrasts with previous analyses, which only considered the change in buoyancy of the cloud layer when unsaturated air is mixed into it. In its most general form, this new criterion depends on the ratio of the depths of the layers involved in the mixing. It is argued that, for a self-sustaining instability, there must be a net release of kinetic energy on the same depth and time scales as the entrainment process itself. There are two plausible ways in which this requirement may be satisfied. Either one takes the depths of the layers involved in the mixing to each be comparable to the vertical scale of the entrainment process, which is typically of order tens of meters or less, or alternatively, one must allow for the efficiency with which energy released by mixing through a much deeper lower layer becomes available to initiate further entrainment. In both cases the same criterion for instability results. This criterion is much more restrictive than that proposed by Randall and by Deardorff; furthermore, the observational data is then consistent with the predictions of the current theory. Further analysis provides estimates of the turbulent fluxes associated with cloud-top entrainment instability. This analysis effectively constitutes an energetically consistent turbulence closure for models of boundary layers with cloud. The implications for such numerical models are discussed. Comparisons are also made with other possible criteria for cloud-top entrainment instability which have recently been suggested.},
Annote = {doi: 10.1175/1520-0469(1990)047<1012:CTEITS>2.0.CO;2},
Author = {MacVean, M. K. and Mason, P. J.},
- Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBDLi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvTWFjVmVhbi8xOTkwLnBkZk8RAcoAAAAAAcoAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAANHnJFJIKwAAAFx8zwgxOTkwLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXHyn0rkkRQAAAAAAAAAAAAIABQAACSAAAAAAAAAAAAAAAAAAAAAHTWFjVmVhbgAAEAAIAADR53iyAAAAEQAIAADSuYa1AAAAAQAYAFx8zwAobJYAKGyLAChnewAbXgcAAphcAAIAXU1hY2ludG9zaCBIRDpVc2VyczoAZ3JhbnRmOgBDbG91ZFN0YXRpb246AGZpcmxfbGlicmFyeToAZmlybF9saWJyYXJ5X2ZpbGVzOgBNYWNWZWFuOgAxOTkwLnBkZgAADgASAAgAMQA5ADkAMAAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIASlVzZXJzL2dyYW50Zi9DbG91ZFN0YXRpb24vZmlybF9saWJyYXJ5L2ZpcmxfbGlicmFyeV9maWxlcy9NYWNWZWFuLzE5OTAucGRmABMAAS8AABUAAgAN//8AAAAIAA0AGgAkAGoAAAAAAAACAQAAAAAAAAAFAAAAAAAAAAAAAAAAAAACOA==},
Booktitle = {Journal of the Atmospheric Sciences},
Da = {1990/04/01},
Date-Added = {2016-05-20 17:16:05 +0000},
@@ -2576,11 +2575,11 @@ @article{macvean_and_mason_1990
Url = {http://dx.doi.org/10.1175/1520-0469(1990)047<1012:CTEITS>2.0.CO;2},
Volume = {47},
Year = {1990},
+ Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBDLi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvTWFjVmVhbi8xOTkwLnBkZk8RAcoAAAAAAcoAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAANHnJFJIKwAAAFx8zwgxOTkwLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXHyn0rkkRQAAAAAAAAAAAAIABQAACSAAAAAAAAAAAAAAAAAAAAAHTWFjVmVhbgAAEAAIAADR53iyAAAAEQAIAADSuYa1AAAAAQAYAFx8zwAobJYAKGyLAChnewAbXgcAAphcAAIAXU1hY2ludG9zaCBIRDpVc2VyczoAZ3JhbnRmOgBDbG91ZFN0YXRpb246AGZpcmxfbGlicmFyeToAZmlybF9saWJyYXJ5X2ZpbGVzOgBNYWNWZWFuOgAxOTkwLnBkZgAADgASAAgAMQA5ADkAMAAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIASlVzZXJzL2dyYW50Zi9DbG91ZFN0YXRpb24vZmlybF9saWJyYXJ5L2ZpcmxfbGlicmFyeV9maWxlcy9NYWNWZWFuLzE5OTAucGRmABMAAS8AABUAAgAN//8AAAAIAA0AGgAkAGoAAAAAAAACAQAAAAAAAAAFAAAAAAAAAAAAAAAAAAACOA==},
Bdsk-Url-1 = {http://dx.doi.org/10.1175/1520-0469(1990)047%3C1012:CTEITS%3E2.0.CO;2}}
@article{louis_1979,
Author = {Louis, JF},
- Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBBLi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvTG91aXMvMTk3OS5wZGZPEQHEAAAAAAHEAAIAAAxNYWNpbnRvc2ggSEQAAAAAAAAAAAAAAAAAAADR5yRSSCsAAAAonogIMTk3OS5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACiej8FuU4pQREYgQ0FSTwACAAUAAAkgAAAAAAAAAAAAAAAAAAAABUxvdWlzAAAQAAgAANHneLIAAAARAAgAAMFutfoAAAABABgAKJ6IAChslgAobIsAKGd7ABteBwACmFwAAgBbTWFjaW50b3NoIEhEOlVzZXJzOgBncmFudGY6AENsb3VkU3RhdGlvbjoAZmlybF9saWJyYXJ5OgBmaXJsX2xpYnJhcnlfZmlsZXM6AExvdWlzOgAxOTc5LnBkZgAADgASAAgAMQA5ADcAOQAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIASFVzZXJzL2dyYW50Zi9DbG91ZFN0YXRpb24vZmlybF9saWJyYXJ5L2ZpcmxfbGlicmFyeV9maWxlcy9Mb3Vpcy8xOTc5LnBkZgATAAEvAAAVAAIADf//AAAACAANABoAJABoAAAAAAAAAgEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAjA=},
Date-Added = {2016-05-20 17:15:52 +0000},
Date-Modified = {2016-05-20 17:15:52 +0000},
Isi = {A1979HT69700004},
@@ -2593,12 +2592,12 @@ @article{louis_1979
Title = {A PARAMETRIC MODEL OF VERTICAL EDDY FLUXES IN THE ATMOSPHERE},
Volume = {17},
Year = {1979},
+ Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBBLi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvTG91aXMvMTk3OS5wZGZPEQHEAAAAAAHEAAIAAAxNYWNpbnRvc2ggSEQAAAAAAAAAAAAAAAAAAADR5yRSSCsAAAAonogIMTk3OS5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACiej8FuU4pQREYgQ0FSTwACAAUAAAkgAAAAAAAAAAAAAAAAAAAABUxvdWlzAAAQAAgAANHneLIAAAARAAgAAMFutfoAAAABABgAKJ6IAChslgAobIsAKGd7ABteBwACmFwAAgBbTWFjaW50b3NoIEhEOlVzZXJzOgBncmFudGY6AENsb3VkU3RhdGlvbjoAZmlybF9saWJyYXJ5OgBmaXJsX2xpYnJhcnlfZmlsZXM6AExvdWlzOgAxOTc5LnBkZgAADgASAAgAMQA5ADcAOQAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIASFVzZXJzL2dyYW50Zi9DbG91ZFN0YXRpb24vZmlybF9saWJyYXJ5L2ZpcmxfbGlicmFyeV9maWxlcy9Mb3Vpcy8xOTc5LnBkZgATAAEvAAAVAAIADf//AAAACAANABoAJABoAAAAAAAAAgEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAjA=},
Bdsk-Url-1 = {http://ws.isiknowledge.com/cps/openurl/service?url_ver=Z39.88-2004&rft_id=info:ut/A1979HT69700004}}
@article{lock_et_al_2000,
Abstract = {A new boundary layer turbulent mixing scheme has been developed for use in the UKMO weather forecasting and climate prediction models. This includes a representation of nonlocal mixing (driven by both surface fluxes and cloud-top processes) in unstable layers, either coupled to or decoupled from the surface, and an explicit entrainment parameterization. The scheme is formulated in moist conserved variables so that it can treat both dry and cloudy layers. Details of the scheme and examples of its performance in single-column model tests are presented.},
Author = {Lock, AP and Brown, AR and Bush, MR and Martin, GM and Smith, RNB},
- Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBALi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvTG9jay8yMDAwLnBkZk8RAcAAAAAAAcAAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAANHnJFJIKwAAACibewgyMDAwLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKJuLywPrPAAAAAAAAAAAAAIABQAACSAAAAAAAAAAAAAAAAAAAAAETG9jawAQAAgAANHneLIAAAARAAgAAMsETawAAAABABgAKJt7AChslgAobIsAKGd7ABteBwACmFwAAgBaTWFjaW50b3NoIEhEOlVzZXJzOgBncmFudGY6AENsb3VkU3RhdGlvbjoAZmlybF9saWJyYXJ5OgBmaXJsX2xpYnJhcnlfZmlsZXM6AExvY2s6ADIwMDAucGRmAA4AEgAIADIAMAAwADAALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASAEdVc2Vycy9ncmFudGYvQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvTG9jay8yMDAwLnBkZgAAEwABLwAAFQACAA3//wAAAAgADQAaACQAZwAAAAAAAAIBAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAIr},
Date-Added = {2016-05-20 17:15:36 +0000},
Date-Modified = {2016-05-20 17:15:36 +0000},
Isi = {000089461100008},
@@ -2611,13 +2610,13 @@ @article{lock_et_al_2000
Title = {A new boundary layer mixing scheme. {P}art {I}: Scheme description and single-column model tests},
Volume = {128},
Year = {2000},
+ Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBALi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvTG9jay8yMDAwLnBkZk8RAcAAAAAAAcAAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAANHnJFJIKwAAACibewgyMDAwLnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKJuLywPrPAAAAAAAAAAAAAIABQAACSAAAAAAAAAAAAAAAAAAAAAETG9jawAQAAgAANHneLIAAAARAAgAAMsETawAAAABABgAKJt7AChslgAobIsAKGd7ABteBwACmFwAAgBaTWFjaW50b3NoIEhEOlVzZXJzOgBncmFudGY6AENsb3VkU3RhdGlvbjoAZmlybF9saWJyYXJ5OgBmaXJsX2xpYnJhcnlfZmlsZXM6AExvY2s6ADIwMDAucGRmAA4AEgAIADIAMAAwADAALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASAEdVc2Vycy9ncmFudGYvQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvTG9jay8yMDAwLnBkZgAAEwABLwAAFQACAA3//wAAAAgADQAaACQAZwAAAAAAAAIBAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAIr},
Bdsk-Url-1 = {http://ws.isiknowledge.com/cps/openurl/service?url_ver=Z39.88-2004&rft_id=info:ut/000089461100008}}
@article{hong_and_pan_1996,
Abstract = {Abstract In this paper, the incorporation of a simple atmospheric boundary layer diffusion scheme into the NCEP Medium-Range Forecast Model is described. A boundary layer diffusion package based on the Troen and Mahrt nonlocal diffusion concept has been tested for possible operational implementation. The results from this approach are compared with those from the local diffusion approach, which is the current operational scheme, and verified against FIFE observations during 9?10 August 1987. The comparisons between local and nonlocal approaches are extended to the forecast for a heavy rain case of 15?17 May 1995. The sensitivity of both the boundary layer development and the precipitation forecast to the tuning parameters in the nonlocal diffusion scheme is also investigated. Special attention is given to the interaction of boundary layer processes with precipitation physics. Some results of parallel runs during August 1995 are also presented.},
Annote = {doi: 10.1175/1520-0493(1996)124<2322:NBLVDI>2.0.CO;2},
Author = {Hong, Song-You and Pan, Hua-Lu},
- Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBALi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvSG9uZy8xOTk2LnBkZk8RAcAAAAAAAcAAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAANHnJFJIKwAAAE18FggxOTk2LnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATXvY0pRb8QAAAAAAAAAAAAIABQAACSAAAAAAAAAAAAAAAAAAAAAESG9uZwAQAAgAANHneLIAAAARAAgAANKUvmEAAAABABgATXwWAChslgAobIsAKGd7ABteBwACmFwAAgBaTWFjaW50b3NoIEhEOlVzZXJzOgBncmFudGY6AENsb3VkU3RhdGlvbjoAZmlybF9saWJyYXJ5OgBmaXJsX2xpYnJhcnlfZmlsZXM6AEhvbmc6ADE5OTYucGRmAA4AEgAIADEAOQA5ADYALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASAEdVc2Vycy9ncmFudGYvQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvSG9uZy8xOTk2LnBkZgAAEwABLwAAFQACAA3//wAAAAgADQAaACQAZwAAAAAAAAIBAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAIr},
Booktitle = {Monthly Weather Review},
Da = {1996/10/01},
Date = {1996/10/01},
@@ -2638,13 +2637,13 @@ @article{hong_and_pan_1996
Volume = {124},
Year = {1996},
Year1 = {1996},
+ Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBALi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvSG9uZy8xOTk2LnBkZk8RAcAAAAAAAcAAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAANHnJFJIKwAAAE18FggxOTk2LnBkZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATXvY0pRb8QAAAAAAAAAAAAIABQAACSAAAAAAAAAAAAAAAAAAAAAESG9uZwAQAAgAANHneLIAAAARAAgAANKUvmEAAAABABgATXwWAChslgAobIsAKGd7ABteBwACmFwAAgBaTWFjaW50b3NoIEhEOlVzZXJzOgBncmFudGY6AENsb3VkU3RhdGlvbjoAZmlybF9saWJyYXJ5OgBmaXJsX2xpYnJhcnlfZmlsZXM6AEhvbmc6ADE5OTYucGRmAA4AEgAIADEAOQA5ADYALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASAEdVc2Vycy9ncmFudGYvQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvSG9uZy8xOTk2LnBkZgAAEwABLwAAFQACAA3//wAAAAgADQAaACQAZwAAAAAAAAIBAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAIr},
Bdsk-Url-1 = {http://dx.doi.org/10.1175/1520-0493(1996)124%3C2322:NBLVDI%3E2.0.CO;2}}
@article{han_and_pan_2006,
Abstract = {Abstract A parameterization of the convection-induced pressure gradient force (PGF) in convective momentum transport (CMT) is tested for hurricane intensity forecasting using NCEP's operational Global Forecast System (GFS) and its nested Regional Spectral Model (RSM). In the parameterization the PGF is assumed to be proportional to the product of the cloud mass flux and vertical wind shear. Compared to control forecasts using the present operational GFS and RSM where the PGF effect in CMT is taken into account empirically, the new PGF parameterization helps increase hurricane intensity by reducing the vertical momentum exchange, giving rise to a closer comparison to the observations. In addition, the new PGF parameterization forecasts not only show more realistically organized precipitation patterns with enhanced hurricane intensity but also reduce the forecast track error. Nevertheless, the model forecasts with the new PGF parameterization still largely underpredict the observed intensity. One of the many possible reasons for the large underprediction may be the absence of hurricane initialization in the models.},
Annote = {doi: 10.1175/MWR3090.1},
Author = {Han, Jongil and Pan, Hua-Lu},
- Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxA/Li4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvSGFuLzIwMDYucGRmTxEBvgAAAAABvgACAAAMTWFjaW50b3NoIEhEAAAAAAAAAAAAAAAAAAAA0eckUkgrAAAAWsT5CDIwMDYucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABazFjStCvVAAAAAAAAAAAAAgAFAAAJIAAAAAAAAAAAAAAAAAAAAANIYW4AABAACAAA0ed4sgAAABEACAAA0rSORQAAAAEAGABaxPkAKGyWAChsiwAoZ3sAG14HAAKYXAACAFlNYWNpbnRvc2ggSEQ6VXNlcnM6AGdyYW50ZjoAQ2xvdWRTdGF0aW9uOgBmaXJsX2xpYnJhcnk6AGZpcmxfbGlicmFyeV9maWxlczoASGFuOgAyMDA2LnBkZgAADgASAAgAMgAwADAANgAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIARlVzZXJzL2dyYW50Zi9DbG91ZFN0YXRpb24vZmlybF9saWJyYXJ5L2ZpcmxfbGlicmFyeV9maWxlcy9IYW4vMjAwNi5wZGYAEwABLwAAFQACAA3//wAAAAgADQAaACQAZgAAAAAAAAIBAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAIo},
Booktitle = {Monthly Weather Review},
Da = {2006/02/01},
Date-Added = {2016-05-20 17:11:17 +0000},
@@ -2663,11 +2662,11 @@ @article{han_and_pan_2006
Url = {http://dx.doi.org/10.1175/MWR3090.1},
Volume = {134},
Year = {2006},
+ Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxA/Li4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvSGFuLzIwMDYucGRmTxEBvgAAAAABvgACAAAMTWFjaW50b3NoIEhEAAAAAAAAAAAAAAAAAAAA0eckUkgrAAAAWsT5CDIwMDYucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABazFjStCvVAAAAAAAAAAAAAgAFAAAJIAAAAAAAAAAAAAAAAAAAAANIYW4AABAACAAA0ed4sgAAABEACAAA0rSORQAAAAEAGABaxPkAKGyWAChsiwAoZ3sAG14HAAKYXAACAFlNYWNpbnRvc2ggSEQ6VXNlcnM6AGdyYW50ZjoAQ2xvdWRTdGF0aW9uOgBmaXJsX2xpYnJhcnk6AGZpcmxfbGlicmFyeV9maWxlczoASGFuOgAyMDA2LnBkZgAADgASAAgAMgAwADAANgAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIARlVzZXJzL2dyYW50Zi9DbG91ZFN0YXRpb24vZmlybF9saWJyYXJ5L2ZpcmxfbGlicmFyeV9maWxlcy9IYW4vMjAwNi5wZGYAEwABLwAAFQACAA3//wAAAAgADQAaACQAZgAAAAAAAAIBAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAIo},
Bdsk-Url-1 = {http://dx.doi.org/10.1175/MWR3090.1}}
@article{businger_et_al_1971,
Author = {Businger, JA and Wyngaard, JC and Izumi, Y and Bradley, EF},
- Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBELi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvQnVzaW5nZXIvMTk3MS5wZGZPEQHMAAAAAAHMAAIAAAxNYWNpbnRvc2ggSEQAAAAAAAAAAAAAAAAAAADR5yRSSCsAAAAodUUIMTk3MS5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACh1cbTPIxwAAAAAAAAAAAACAAUAAAkgAAAAAAAAAAAAAAAAAAAACEJ1c2luZ2VyABAACAAA0ed4sgAAABEACAAAtM+FjAAAAAEAGAAodUUAKGyWAChsiwAoZ3sAG14HAAKYXAACAF5NYWNpbnRvc2ggSEQ6VXNlcnM6AGdyYW50ZjoAQ2xvdWRTdGF0aW9uOgBmaXJsX2xpYnJhcnk6AGZpcmxfbGlicmFyeV9maWxlczoAQnVzaW5nZXI6ADE5NzEucGRmAA4AEgAIADEAOQA3ADEALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASAEtVc2Vycy9ncmFudGYvQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvQnVzaW5nZXIvMTk3MS5wZGYAABMAAS8AABUAAgAN//8AAAAIAA0AGgAkAGsAAAAAAAACAQAAAAAAAAAFAAAAAAAAAAAAAAAAAAACOw==},
Date-Added = {2016-05-20 17:10:50 +0000},
Date-Modified = {2018-07-18 18:58:08 +0000},
Isi = {A1971I822800004},
@@ -2680,6 +2679,7 @@ @article{businger_et_al_1971
Title = {Flux-profile relationships in the atmospheric surface layer},
Volume = {28},
Year = {1971},
+ Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxBELi4vLi4vQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvQnVzaW5nZXIvMTk3MS5wZGZPEQHMAAAAAAHMAAIAAAxNYWNpbnRvc2ggSEQAAAAAAAAAAAAAAAAAAADR5yRSSCsAAAAodUUIMTk3MS5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACh1cbTPIxwAAAAAAAAAAAACAAUAAAkgAAAAAAAAAAAAAAAAAAAACEJ1c2luZ2VyABAACAAA0ed4sgAAABEACAAAtM+FjAAAAAEAGAAodUUAKGyWAChsiwAoZ3sAG14HAAKYXAACAF5NYWNpbnRvc2ggSEQ6VXNlcnM6AGdyYW50ZjoAQ2xvdWRTdGF0aW9uOgBmaXJsX2xpYnJhcnk6AGZpcmxfbGlicmFyeV9maWxlczoAQnVzaW5nZXI6ADE5NzEucGRmAA4AEgAIADEAOQA3ADEALgBwAGQAZgAPABoADABNAGEAYwBpAG4AdABvAHMAaAAgAEgARAASAEtVc2Vycy9ncmFudGYvQ2xvdWRTdGF0aW9uL2ZpcmxfbGlicmFyeS9maXJsX2xpYnJhcnlfZmlsZXMvQnVzaW5nZXIvMTk3MS5wZGYAABMAAS8AABUAAgAN//8AAAAIAA0AGgAkAGsAAAAAAAACAQAAAAAAAAAFAAAAAAAAAAAAAAAAAAACOw==},
Bdsk-Url-1 = {http://ws.isiknowledge.com/cps/openurl/service?url_ver=Z39.88-2004&rft_id=info:ut/A1971I822800004}}
@article{xu_and_randall_1996,
@@ -2870,18 +2870,17 @@ @article{kim_and_arakawa_1995
@techreport{hou_et_al_2002,
Author = {Y. Hou and S. Moorthi and K. Campana},
- Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxAiLi4vLi4vemhhbmctbGliL2hvdV9ldF9hbF8yMDAyLnBkZk8RAdwAAAAAAdwAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAM/T1mZIKwAAAFKkjRJob3VfZXRfYWxfMjAwMi5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUqai02OGCgAAAAAAAAAAAAIAAgAACSAAAAAAAAAAAAAAAAAAAAAJemhhbmctbGliAAAQAAgAAM/UKsYAAAARAAgAANNj2moAAAABABgAUqSNAE1lSgAj19QACTbFAAk2xAACZvkAAgBbTWFjaW50b3NoIEhEOlVzZXJzOgBtYW56aGFuZzoARG9jdW1lbnRzOgBNYW4uWmhhbmc6AGdtdGItZG9jOgB6aGFuZy1saWI6AGhvdV9ldF9hbF8yMDAyLnBkZgAADgAmABIAaABvAHUAXwBlAHQAXwBhAGwAXwAyADAAMAAyAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgBIVXNlcnMvbWFuemhhbmcvRG9jdW1lbnRzL01hbi5aaGFuZy9nbXRiLWRvYy96aGFuZy1saWIvaG91X2V0X2FsXzIwMDIucGRmABMAAS8AABUAAgAP//8AAAAIAA0AGgAkAEkAAAAAAAACAQAAAAAAAAAFAAAAAAAAAAAAAAAAAAACKQ==},
Date-Added = {2016-05-19 19:52:22 +0000},
Date-Modified = {2016-05-20 15:14:59 +0000},
Institution = {NCEP},
Number = {441},
Title = {Parameterization of Solar Radiation Transfer},
Type = {office note},
- Year = {2002}}
+ Year = {2002},
+ Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxAiLi4vLi4vemhhbmctbGliL2hvdV9ldF9hbF8yMDAyLnBkZk8RAdwAAAAAAdwAAgAADE1hY2ludG9zaCBIRAAAAAAAAAAAAAAAAAAAAM/T1mZIKwAAAFKkjRJob3VfZXRfYWxfMjAwMi5wZGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUqai02OGCgAAAAAAAAAAAAIAAgAACSAAAAAAAAAAAAAAAAAAAAAJemhhbmctbGliAAAQAAgAAM/UKsYAAAARAAgAANNj2moAAAABABgAUqSNAE1lSgAj19QACTbFAAk2xAACZvkAAgBbTWFjaW50b3NoIEhEOlVzZXJzOgBtYW56aGFuZzoARG9jdW1lbnRzOgBNYW4uWmhhbmc6AGdtdGItZG9jOgB6aGFuZy1saWI6AGhvdV9ldF9hbF8yMDAyLnBkZgAADgAmABIAaABvAHUAXwBlAHQAXwBhAGwAXwAyADAAMAAyAC4AcABkAGYADwAaAAwATQBhAGMAaQBuAHQAbwBzAGgAIABIAEQAEgBIVXNlcnMvbWFuemhhbmcvRG9jdW1lbnRzL01hbi5aaGFuZy9nbXRiLWRvYy96aGFuZy1saWIvaG91X2V0X2FsXzIwMDIucGRmABMAAS8AABUAAgAP//8AAAAIAA0AGgAkAEkAAAAAAAACAQAAAAAAAAAFAAAAAAAAAAAAAAAAAAACKQ==}}
@article{hu_and_stamnes_1993,
Author = {Y.X. Hu and K. Stamnes},
- Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxAnLi4vLi4vemhhbmctbGliL2h1X2FuZF9zdGFtbmVzXzE5OTMucGRmTxEB8AAAAAAB8AACAAAMTWFjaW50b3NoIEhEAAAAAAAAAAAAAAAAAAAAz9PWZkgrAAAAUqSNF2h1X2FuZF9zdGFtbmVzXzE5OTMucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSpJHTY3R+AAAAAAAAAAAAAgACAAAJIAAAAAAAAAAAAAAAAAAAAAl6aGFuZy1saWIAABAACAAAz9QqxgAAABEACAAA02PI3gAAAAEAGABSpI0ATWVKACPX1AAJNsUACTbEAAJm+QACAGBNYWNpbnRvc2ggSEQ6VXNlcnM6AG1hbnpoYW5nOgBEb2N1bWVudHM6AE1hbi5aaGFuZzoAZ210Yi1kb2M6AHpoYW5nLWxpYjoAaHVfYW5kX3N0YW1uZXNfMTk5My5wZGYADgAwABcAaAB1AF8AYQBuAGQAXwBzAHQAYQBtAG4AZQBzAF8AMQA5ADkAMwAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIATVVzZXJzL21hbnpoYW5nL0RvY3VtZW50cy9NYW4uWmhhbmcvZ210Yi1kb2MvemhhbmctbGliL2h1X2FuZF9zdGFtbmVzXzE5OTMucGRmAAATAAEvAAAVAAIAD///AAAACAANABoAJABOAAAAAAAAAgEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAkI=},
Date-Added = {2016-05-19 19:31:56 +0000},
Date-Modified = {2016-05-20 15:13:12 +0000},
Journal = {J. Climate},
@@ -2889,276 +2888,312 @@ @article{hu_and_stamnes_1993
Pages = {728-742},
Title = {An accurate parameterization of the radiative properties of water clouds suitable for use in climate models},
Volume = {6},
- Year = {1993}}
+ Year = {1993},
+ Bdsk-File-1 = {YnBsaXN0MDDSAQIDBFxyZWxhdGl2ZVBhdGhZYWxpYXNEYXRhXxAnLi4vLi4vemhhbmctbGliL2h1X2FuZF9zdGFtbmVzXzE5OTMucGRmTxEB8AAAAAAB8AACAAAMTWFjaW50b3NoIEhEAAAAAAAAAAAAAAAAAAAAz9PWZkgrAAAAUqSNF2h1X2FuZF9zdGFtbmVzXzE5OTMucGRmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSpJHTY3R+AAAAAAAAAAAAAgACAAAJIAAAAAAAAAAAAAAAAAAAAAl6aGFuZy1saWIAABAACAAAz9QqxgAAABEACAAA02PI3gAAAAEAGABSpI0ATWVKACPX1AAJNsUACTbEAAJm+QACAGBNYWNpbnRvc2ggSEQ6VXNlcnM6AG1hbnpoYW5nOgBEb2N1bWVudHM6AE1hbi5aaGFuZzoAZ210Yi1kb2M6AHpoYW5nLWxpYjoAaHVfYW5kX3N0YW1uZXNfMTk5My5wZGYADgAwABcAaAB1AF8AYQBuAGQAXwBzAHQAYQBtAG4AZQBzAF8AMQA5ADkAMwAuAHAAZABmAA8AGgAMAE0AYQBjAGkAbgB0AG8AcwBoACAASABEABIATVVzZXJzL21hbnpoYW5nL0RvY3VtZW50cy9NYW4uWmhhbmcvZ210Yi1kb2MvemhhbmctbGliL2h1X2FuZF9zdGFtbmVzXzE5OTMucGRmAAATAAEvAAAVAAIAD///AAAACAANABoAJABOAAAAAAAAAgEAAAAAAAAABQAAAAAAAAAAAAAAAAAAAkI=}}
@article{alexander_et_al_2010,
- author = {Alexander, M. J. and Geller, M. and McLandress, C. and Polavarapu, S. and Preusse, P. and Sassi, F. and Sato, K. and Eckermann, S. and Ern, M. and Hertzog, A. and Kawatani, Y. and Pulido, M. and Shaw, T. A. and Sigmond, M. and Vincent, R. and Watanabe, S.},
- title = {Recent developments in gravity-wave effects in climate models and the global distribution of gravity-wave momentum flux from observations and models},
- journal = {Quarterly Journal of the Royal Meteorological Society},
- volume = {136},
- number = {650},
- pages = {1103-1124},
- keywords = {atmosphere, gravity wave, momentum flux, drag, force, wind tendency, climate, global model},
- doi = {10.1002/qj.637},
- url = {https://rmets.onlinelibrary.wiley.com/doi/abs/10.1002/qj.637},
- eprint = {https://rmets.onlinelibrary.wiley.com/doi/pdf/10.1002/qj.637},
- year = {2010}}
+ Author = {Alexander, M. J. and Geller, M. and McLandress, C. and Polavarapu, S. and Preusse, P. and Sassi, F. and Sato, K. and Eckermann, S. and Ern, M. and Hertzog, A. and Kawatani, Y. and Pulido, M. and Shaw, T. A. and Sigmond, M. and Vincent, R. and Watanabe, S.},
+ Doi = {10.1002/qj.637},
+ Eprint = {https://rmets.onlinelibrary.wiley.com/doi/pdf/10.1002/qj.637},
+ Journal = {Quarterly Journal of the Royal Meteorological Society},
+ Keywords = {atmosphere, gravity wave, momentum flux, drag, force, wind tendency, climate, global model},
+ Number = {650},
+ Pages = {1103-1124},
+ Title = {Recent developments in gravity-wave effects in climate models and the global distribution of gravity-wave momentum flux from observations and models},
+ Url = {https://rmets.onlinelibrary.wiley.com/doi/abs/10.1002/qj.637},
+ Volume = {136},
+ Year = {2010},
+ Bdsk-Url-1 = {https://rmets.onlinelibrary.wiley.com/doi/abs/10.1002/qj.637},
+ Bdsk-Url-2 = {http://dx.doi.org/10.1002/qj.637}}
@article{plougonven_and_zhang_2014,
- author = {Plougonven, R. and Zhang, F.},
- title = {Internal gravity waves from atmospheric jets and fronts},
- journal = {Reviews of Geophysics},
- volume = {52},
- number = {1},
- pages = {33-76},
- keywords = {gravity waves, stratosphere, atmosphere, jets, fronts, weather},
- doi = {10.1002/2012RG000419},
- url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1002/2012RG000419},
- eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1002/2012RG000419},
- year = {2014}}
+ Author = {Plougonven, R. and Zhang, F.},
+ Doi = {10.1002/2012RG000419},
+ Eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1002/2012RG000419},
+ Journal = {Reviews of Geophysics},
+ Keywords = {gravity waves, stratosphere, atmosphere, jets, fronts, weather},
+ Number = {1},
+ Pages = {33-76},
+ Title = {Internal gravity waves from atmospheric jets and fronts},
+ Url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1002/2012RG000419},
+ Volume = {52},
+ Year = {2014},
+ Bdsk-Url-1 = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1002/2012RG000419},
+ Bdsk-Url-2 = {http://dx.doi.org/10.1002/2012RG000419}}
@article{weinstock_1984,
- author = {Weinstock, J.},
- title = {Simplified derivation of an algorithm for nonlinear gravity waves},
- journal = {Journal of Geophysical Research: Space Physics},
- volume = {89},
- number = {A1},
- pages = {345-350},
- doi = {10.1029/JA089iA01p00345},
- url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/JA089iA01p00345},
- eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/JA089iA01p00345},
- year = {1984}}
+ Author = {Weinstock, J.},
+ Doi = {10.1029/JA089iA01p00345},
+ Eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/JA089iA01p00345},
+ Journal = {Journal of Geophysical Research: Space Physics},
+ Number = {A1},
+ Pages = {345-350},
+ Title = {Simplified derivation of an algorithm for nonlinear gravity waves},
+ Url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/JA089iA01p00345},
+ Volume = {89},
+ Year = {1984},
+ Bdsk-Url-1 = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/JA089iA01p00345},
+ Bdsk-Url-2 = {http://dx.doi.org/10.1029/JA089iA01p00345}}
@article{holton_1983,
- author = {Holton, James R.},
- title = {The Influence of Gravity Wave Breaking on the General Circulation of the Middle Atmosphere},
- journal = {Journal of the Atmospheric Sciences},
- volume = {40},
- number = {10},
- pages = {2497-2507},
- year = {1983},
- doi = {10.1175/1520-0469(1983)040<2497:TIOGWB>2.0.CO;2},
- URL = {https://doi.org/10.1175/1520-0469(1983)040<2497:TIOGWB>2.0.CO;2},
- eprint = {https://doi.org/10.1175/1520-0469(1983)040<2497:TIOGWB>2.0.CO;2}}
+ Author = {Holton, James R.},
+ Doi = {10.1175/1520-0469(1983)040<2497:TIOGWB>2.0.CO;2},
+ Eprint = {https://doi.org/10.1175/1520-0469(1983)040<2497:TIOGWB>2.0.CO;2},
+ Journal = {Journal of the Atmospheric Sciences},
+ Number = {10},
+ Pages = {2497-2507},
+ Title = {The Influence of Gravity Wave Breaking on the General Circulation of the Middle Atmosphere},
+ Url = {https://doi.org/10.1175/1520-0469(1983)040<2497:TIOGWB>2.0.CO;2},
+ Volume = {40},
+ Year = {1983},
+ Bdsk-Url-1 = {https://doi.org/10.1175/1520-0469(1983)040%3C2497:TIOGWB%3E2.0.CO;2},
+ Bdsk-Url-2 = {http://dx.doi.org/10.1175/1520-0469(1983)040%3C2497:TIOGWB%3E2.0.CO;2}}
@article{geller_et_al_2013,
- author = {Geller, M. A. and Alexander, M. Joan and Love, P. T. and Bacmeister, J. and Ern, M. and Hertzog, A. and Manzini, E. and Preusse, P. and Sato, K. and Scaife, A. A. and Zhou, T.},
- title = {A Comparison between Gravity Wave Momentum Fluxes in Observations and Climate Models},
- journal = {Journal of Climate},
- volume = {26},
- number = {17},
- pages = {6383-6405},
- year = {2013},
- doi = {10.1175/JCLI-D-12-00545.1},
- URL = {https://doi.org/10.1175/JCLI-D-12-00545.1},
- eprint = {https://doi.org/10.1175/JCLI-D-12-00545.1}}
+ Author = {Geller, M. A. and Alexander, M. Joan and Love, P. T. and Bacmeister, J. and Ern, M. and Hertzog, A. and Manzini, E. and Preusse, P. and Sato, K. and Scaife, A. A. and Zhou, T.},
+ Doi = {10.1175/JCLI-D-12-00545.1},
+ Eprint = {https://doi.org/10.1175/JCLI-D-12-00545.1},
+ Journal = {Journal of Climate},
+ Number = {17},
+ Pages = {6383-6405},
+ Title = {A Comparison between Gravity Wave Momentum Fluxes in Observations and Climate Models},
+ Url = {https://doi.org/10.1175/JCLI-D-12-00545.1},
+ Volume = {26},
+ Year = {2013},
+ Bdsk-Url-1 = {https://doi.org/10.1175/JCLI-D-12-00545.1},
+ Bdsk-Url-2 = {http://dx.doi.org/10.1175/JCLI-D-12-00545.1}}
@article{garcia_et_al_2017,
- author = {Garcia, R. R. and Smith, A. K. and Kinnison, D. E. and Cámara, Á. and Murphy, D. J.},
- title = {Modification of the Gravity Wave Parameterization in the Whole Atmosphere Community Climate Model: Motivation and Results},
- journal = {Journal of the Atmospheric Sciences},
- volume = {74},
- number = {1},
- pages = {275-291},
- year = {2017},
- doi = {10.1175/JAS-D-16-0104.1},
- URL = {https://doi.org/10.1175/JAS-D-16-0104.1},
- eprint = {https://doi.org/10.1175/JAS-D-16-0104.1}}
+ Author = {Garcia, R. R. and Smith, A. K. and Kinnison, D. E. and C{\'a}mara, {\'A}. and Murphy, D. J.},
+ Doi = {10.1175/JAS-D-16-0104.1},
+ Eprint = {https://doi.org/10.1175/JAS-D-16-0104.1},
+ Journal = {Journal of the Atmospheric Sciences},
+ Number = {1},
+ Pages = {275-291},
+ Title = {Modification of the Gravity Wave Parameterization in the Whole Atmosphere Community Climate Model: Motivation and Results},
+ Url = {https://doi.org/10.1175/JAS-D-16-0104.1},
+ Volume = {74},
+ Year = {2017},
+ Bdsk-Url-1 = {https://doi.org/10.1175/JAS-D-16-0104.1},
+ Bdsk-Url-2 = {http://dx.doi.org/10.1175/JAS-D-16-0104.1}}
@inproceedings{yudin_et_al_2016,
- title={Gravity wave physics in the NOAA Environmental Modeling System},
- author={Yudin, V.A. and Akmaev, R.A. and Fuller-Rowell, T.J. and Alpert, J.C.},
- booktitle={International SPARC Gravity Wave Symposium},
- volume={48},
- number={1},
- pages={012024},
- year={2016},
- organization={}}
+ Author = {Yudin, V.A. and Akmaev, R.A. and Fuller-Rowell, T.J. and Alpert, J.C.},
+ Booktitle = {International SPARC Gravity Wave Symposium},
+ Number = {1},
+ Pages = {012024},
+ Title = {Gravity wave physics in the NOAA Environmental Modeling System},
+ Volume = {48},
+ Year = {2016}}
@inproceedings{alpert_et_al_2018,
- title={Integrating Unified Gravity Wave Physics Research into the Next Generation Global Prediction System for NCEP Research to Operations},
- author={Alpert, Jordan C and Yudin, Valery and Fuller-Rowell, Tim and Akmaev, Rashid A},
- booktitle={98th American Meteorological Society Annual Meeting},
- year={2018},
- organization={AMS}}
+ Author = {Alpert, Jordan C and Yudin, Valery and Fuller-Rowell, Tim and Akmaev, Rashid A},
+ Booktitle = {98th American Meteorological Society Annual Meeting},
+ Organization = {AMS},
+ Title = {Integrating Unified Gravity Wave Physics Research into the Next Generation Global Prediction System for NCEP Research to Operations},
+ Year = {2018}}
@article{eckermann_2011,
- author = {Eckermann, Stephen D.},
- title = {Explicitly Stochastic Parameterization of Nonorographic Gravity Wave Drag},
- journal = {Journal of the Atmospheric Sciences},
- volume = {68},
- number = {8},
- pages = {1749-1765},
- year = {2011},
- doi = {10.1175/2011JAS3684.1},
- URL = {https://doi.org/10.1175/2011JAS3684.1},
- eprint = {https://doi.org/10.1175/2011JAS3684.1}}
+ Author = {Eckermann, Stephen D.},
+ Doi = {10.1175/2011JAS3684.1},
+ Eprint = {https://doi.org/10.1175/2011JAS3684.1},
+ Journal = {Journal of the Atmospheric Sciences},
+ Number = {8},
+ Pages = {1749-1765},
+ Title = {Explicitly Stochastic Parameterization of Nonorographic Gravity Wave Drag},
+ Url = {https://doi.org/10.1175/2011JAS3684.1},
+ Volume = {68},
+ Year = {2011},
+ Bdsk-Url-1 = {https://doi.org/10.1175/2011JAS3684.1},
+ Bdsk-Url-2 = {http://dx.doi.org/10.1175/2011JAS3684.1}}
@article{lott_et_al_2012,
- author = {Lott, F. and Guez, L. and Maury, P.},
- title = {A stochastic parameterization of non-orographic gravity waves: Formalism and impact on the equatorial stratosphere},
- journal = {Geophysical Research Letters},
- volume = {39},
- number = {6},
- pages = {},
- keywords = {Quasi-Biennial Oscillation, Rossby-gravity waves, gravity waves, stochastic parameterization, stratospheric dynamics},
- doi = {10.1029/2012GL051001},
- url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2012GL051001},
- eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/2012GL051001},
- year = {2012}}
+ Author = {Lott, F. and Guez, L. and Maury, P.},
+ Doi = {10.1029/2012GL051001},
+ Eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/2012GL051001},
+ Journal = {Geophysical Research Letters},
+ Keywords = {Quasi-Biennial Oscillation, Rossby-gravity waves, gravity waves, stochastic parameterization, stratospheric dynamics},
+ Number = {6},
+ Title = {A stochastic parameterization of non-orographic gravity waves: Formalism and impact on the equatorial stratosphere},
+ Url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2012GL051001},
+ Volume = {39},
+ Year = {2012},
+ Bdsk-Url-1 = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2012GL051001},
+ Bdsk-Url-2 = {http://dx.doi.org/10.1029/2012GL051001}}
@conference{yudin_et_al_2018,
- author = {Yudin, V. A and Akmaev, R. A. and Alpert, J. C. and Fuller-Rowell T. J., and Karol S. I.},
- Booktitle = {25th Conference on Numerical Weather Prediction},
- Date-Added = {2018-06-04 10:50:44 -0600},
- Date-Modified = {2018-06-04 10:54:39 -0600},
- Editor = {Am. Meteorol. Soc.},
- Title = {Gravity Wave Physics and Dynamics in the FV3-based Atmosphere Models Extended into the Mesosphere},
- Year = {2018}}
+ Author = {Yudin, V. A and Akmaev, R. A. and Alpert, J. C. and Fuller-Rowell T. J., and Karol S. I.},
+ Booktitle = {25th Conference on Numerical Weather Prediction},
+ Date-Added = {2018-06-04 10:50:44 -0600},
+ Date-Modified = {2018-06-04 10:54:39 -0600},
+ Editor = {Am. Meteorol. Soc.},
+ Title = {Gravity Wave Physics and Dynamics in the FV3-based Atmosphere Models Extended into the Mesosphere},
+ Year = {2018}}
@article{hines_1997,
- title = "Doppler-spread parameterization of gravity-wave momentum deposition in the middle atmosphere. Part 2: Broad and quasi monochromatic spectra, and implementation",
- journal = "Journal of Atmospheric and Solar-Terrestrial Physics",
- volume = "59",
- number = "4",
- pages = "387 - 400",
- year = "1997",
- issn = "1364-6826",
- doi = "https://doi.org/10.1016/S1364-6826(96)00080-6",
- url = "http://www.sciencedirect.com/science/article/pii/S1364682696000806",
- author = "Colin O. Hines"}
+ Author = {Colin O. Hines},
+ Doi = {https://doi.org/10.1016/S1364-6826(96)00080-6},
+ Issn = {1364-6826},
+ Journal = {Journal of Atmospheric and Solar-Terrestrial Physics},
+ Number = {4},
+ Pages = {387 - 400},
+ Title = {Doppler-spread parameterization of gravity-wave momentum deposition in the middle atmosphere. Part 2: Broad and quasi monochromatic spectra, and implementation},
+ Url = {http://www.sciencedirect.com/science/article/pii/S1364682696000806},
+ Volume = {59},
+ Year = {1997},
+ Bdsk-Url-1 = {http://www.sciencedirect.com/science/article/pii/S1364682696000806},
+ Bdsk-Url-2 = {https://doi.org/10.1016/S1364-6826(96)00080-6}}
@article{alexander_and_dunkerton_1999,
- author = {Alexander, M. J. and Dunkerton, T. J.},
- title = {A Spectral Parameterization of Mean-Flow Forcing due to Breaking Gravity Waves},
- journal = {Journal of the Atmospheric Sciences},
- volume = {56},
- number = {24},
- pages = {4167-4182},
- year = {1999},
- doi = {10.1175/1520-0469(1999)056<4167:ASPOMF>2.0.CO;2},
- URL = {https://doi.org/10.1175/1520-0469(1999)056<4167:ASPOMF>2.0.CO;2},
- eprint = {https://doi.org/10.1175/1520-0469(1999)056<4167:ASPOMF>2.0.CO;2}}
+ Author = {Alexander, M. J. and Dunkerton, T. J.},
+ Doi = {10.1175/1520-0469(1999)056<4167:ASPOMF>2.0.CO;2},
+ Eprint = {https://doi.org/10.1175/1520-0469(1999)056<4167:ASPOMF>2.0.CO;2},
+ Journal = {Journal of the Atmospheric Sciences},
+ Number = {24},
+ Pages = {4167-4182},
+ Title = {A Spectral Parameterization of Mean-Flow Forcing due to Breaking Gravity Waves},
+ Url = {https://doi.org/10.1175/1520-0469(1999)056<4167:ASPOMF>2.0.CO;2},
+ Volume = {56},
+ Year = {1999},
+ Bdsk-Url-1 = {https://doi.org/10.1175/1520-0469(1999)056%3C4167:ASPOMF%3E2.0.CO;2},
+ Bdsk-Url-2 = {http://dx.doi.org/10.1175/1520-0469(1999)056%3C4167:ASPOMF%3E2.0.CO;2}}
@article{scinocca_2003,
- author = {Scinocca, John F.},
- title = {An Accurate Spectral Nonorographic Gravity Wave Drag Parameterization for General Circulation Models},
- journal = {Journal of the Atmospheric Sciences},
- volume = {60},
- number = {4},
- pages = {667-682},
- year = {2003},
- doi = {10.1175/1520-0469(2003)060<0667:AASNGW>2.0.CO;2},
- URL = {https://doi.org/10.1175/1520-0469(2003)060<0667:AASNGW>2.0.CO;2},
- eprint = {https://doi.org/10.1175/1520-0469(2003)060<0667:AASNGW>2.0.CO;2}}
+ Author = {Scinocca, John F.},
+ Doi = {10.1175/1520-0469(2003)060<0667:AASNGW>2.0.CO;2},
+ Eprint = {https://doi.org/10.1175/1520-0469(2003)060<0667:AASNGW>2.0.CO;2},
+ Journal = {Journal of the Atmospheric Sciences},
+ Number = {4},
+ Pages = {667-682},
+ Title = {An Accurate Spectral Nonorographic Gravity Wave Drag Parameterization for General Circulation Models},
+ Url = {https://doi.org/10.1175/1520-0469(2003)060<0667:AASNGW>2.0.CO;2},
+ Volume = {60},
+ Year = {2003},
+ Bdsk-Url-1 = {https://doi.org/10.1175/1520-0469(2003)060%3C0667:AASNGW%3E2.0.CO;2},
+ Bdsk-Url-2 = {http://dx.doi.org/10.1175/1520-0469(2003)060%3C0667:AASNGW%3E2.0.CO;2}}
@article{shaw_and_shepherd_2009,
- author = {Shaw, Tiffany A. and Shepherd, Theodore G.},
- title = {A Theoretical Framework for Energy and Momentum Consistency in Subgrid-Scale Parameterization for Climate Models},
- journal = {Journal of the Atmospheric Sciences},
- volume = {66},
- number = {10},
- pages = {3095-3114},
- year = {2009},
- doi = {10.1175/2009JAS3051.1},
- URL = {https://doi.org/10.1175/2009JAS3051.1},
- eprint = {https://doi.org/10.1175/2009JAS3051.1}}
-
-@Article{molod_et_al_2015,
- AUTHOR = {Molod, A. and Takacs, L. and Suarez, M. and Bacmeister, J.},
- TITLE = {Development of the GEOS-5 atmospheric general circulation model: evolution from MERRA to MERRA2},
- JOURNAL = {Geoscientific Model Development},
- VOLUME = {8},
- YEAR = {2015},
- NUMBER = {5},
- PAGES = {1339--1356},
- URL = {https://www.geosci-model-dev.net/8/1339/2015/},
- DOI = {10.5194/gmd-8-1339-2015}}
+ Author = {Shaw, Tiffany A. and Shepherd, Theodore G.},
+ Doi = {10.1175/2009JAS3051.1},
+ Eprint = {https://doi.org/10.1175/2009JAS3051.1},
+ Journal = {Journal of the Atmospheric Sciences},
+ Number = {10},
+ Pages = {3095-3114},
+ Title = {A Theoretical Framework for Energy and Momentum Consistency in Subgrid-Scale Parameterization for Climate Models},
+ Url = {https://doi.org/10.1175/2009JAS3051.1},
+ Volume = {66},
+ Year = {2009},
+ Bdsk-Url-1 = {https://doi.org/10.1175/2009JAS3051.1},
+ Bdsk-Url-2 = {http://dx.doi.org/10.1175/2009JAS3051.1}}
+
+@article{molod_et_al_2015,
+ Author = {Molod, A. and Takacs, L. and Suarez, M. and Bacmeister, J.},
+ Doi = {10.5194/gmd-8-1339-2015},
+ Journal = {Geoscientific Model Development},
+ Number = {5},
+ Pages = {1339--1356},
+ Title = {Development of the GEOS-5 atmospheric general circulation model: evolution from MERRA to MERRA2},
+ Url = {https://www.geosci-model-dev.net/8/1339/2015/},
+ Volume = {8},
+ Year = {2015},
+ Bdsk-Url-1 = {https://www.geosci-model-dev.net/8/1339/2015/},
+ Bdsk-Url-2 = {http://dx.doi.org/10.5194/gmd-8-1339-2015}}
@article{richter_et_al_2010,
- author = {Richter, Jadwiga H. and Sassi, Fabrizio and Garcia, Rolando R.},
- title = {Toward a Physically Based Gravity Wave Source Parameterization in a General Circulation Model},
- journal = {Journal of the Atmospheric Sciences},
- volume = {67},
- number = {1},
- pages = {136-156},
- year = {2010},
- doi = {10.1175/2009JAS3112.1},
- URL = {https://doi.org/10.1175/2009JAS3112.1},
- eprint = {https://doi.org/10.1175/2009JAS3112.1}}
+ Author = {Richter, Jadwiga H. and Sassi, Fabrizio and Garcia, Rolando R.},
+ Doi = {10.1175/2009JAS3112.1},
+ Eprint = {https://doi.org/10.1175/2009JAS3112.1},
+ Journal = {Journal of the Atmospheric Sciences},
+ Number = {1},
+ Pages = {136-156},
+ Title = {Toward a Physically Based Gravity Wave Source Parameterization in a General Circulation Model},
+ Url = {https://doi.org/10.1175/2009JAS3112.1},
+ Volume = {67},
+ Year = {2010},
+ Bdsk-Url-1 = {https://doi.org/10.1175/2009JAS3112.1},
+ Bdsk-Url-2 = {http://dx.doi.org/10.1175/2009JAS3112.1}}
@article{richter_et_al_2014,
- author = {Richter, Jadwiga H. and Solomon, Abraham and Bacmeister, Julio T.},
- title = {Effects of vertical resolution and nonorographic gravity wave drag on the simulated climate in the Community Atmosphere Model, version 5},
- journal = {Journal of Advances in Modeling Earth Systems},
- volume = {6},
- number = {2},
- pages = {357-383},
- keywords = {climate modeling, vertical resolution, modeling, climate, global circulation model, general circulation model},
- doi = {10.1002/2013MS000303},
- url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1002/2013MS000303},
- eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1002/2013MS000303},
- year = {2014}}
+ Author = {Richter, Jadwiga H. and Solomon, Abraham and Bacmeister, Julio T.},
+ Doi = {10.1002/2013MS000303},
+ Eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1002/2013MS000303},
+ Journal = {Journal of Advances in Modeling Earth Systems},
+ Keywords = {climate modeling, vertical resolution, modeling, climate, global circulation model, general circulation model},
+ Number = {2},
+ Pages = {357-383},
+ Title = {Effects of vertical resolution and nonorographic gravity wave drag on the simulated climate in the Community Atmosphere Model, version 5},
+ Url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1002/2013MS000303},
+ Volume = {6},
+ Year = {2014},
+ Bdsk-Url-1 = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1002/2013MS000303},
+ Bdsk-Url-2 = {http://dx.doi.org/10.1002/2013MS000303}}
@article{gelaro_et_al_2017,
- author = {Gelaro, et al.},
- title = {The Modern-Era Retrospective Analysis for Research and Applications, Version 2 (MERRA-2)},
- journal = {Journal of Climate},
- volume = {30},
- number = {14},
- pages = {5419-5454},
- year = {2017},
- doi = {10.1175/JCLI-D-16-0758.1},
- URL = {https://doi.org/10.1175/JCLI-D-16-0758.1},
- eprint = {https://doi.org/10.1175/JCLI-D-16-0758.1}}
+ Author = {Gelaro, et al.},
+ Doi = {10.1175/JCLI-D-16-0758.1},
+ Eprint = {https://doi.org/10.1175/JCLI-D-16-0758.1},
+ Journal = {Journal of Climate},
+ Number = {14},
+ Pages = {5419-5454},
+ Title = {The Modern-Era Retrospective Analysis for Research and Applications, Version 2 (MERRA-2)},
+ Url = {https://doi.org/10.1175/JCLI-D-16-0758.1},
+ Volume = {30},
+ Year = {2017},
+ Bdsk-Url-1 = {https://doi.org/10.1175/JCLI-D-16-0758.1},
+ Bdsk-Url-2 = {http://dx.doi.org/10.1175/JCLI-D-16-0758.1}}
@article{garcia_et_al_2007,
- author = {Garcia, R. R. and Marsh, D. R. and Kinnison, D. E. and Boville, B. A. and Sassi, F.},
- title = {Simulation of secular trends in the middle atmosphere, 1950–2003},
- journal = {Journal of Geophysical Research: Atmospheres},
- volume = {112},
- number = {D9},
- pages = {},
- keywords = {global change, ozone depletion, water vapor trends, temperature trends},
- doi = {10.1029/2006JD007485},
- url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2006JD007485},
- eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/2006JD007485},
- year = {2007}}
+ Author = {Garcia, R. R. and Marsh, D. R. and Kinnison, D. E. and Boville, B. A. and Sassi, F.},
+ Doi = {10.1029/2006JD007485},
+ Eprint = {https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/2006JD007485},
+ Journal = {Journal of Geophysical Research: Atmospheres},
+ Keywords = {global change, ozone depletion, water vapor trends, temperature trends},
+ Number = {D9},
+ Title = {Simulation of secular trends in the middle atmosphere, 1950--2003},
+ Url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2006JD007485},
+ Volume = {112},
+ Year = {2007},
+ Bdsk-Url-1 = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2006JD007485},
+ Bdsk-Url-2 = {http://dx.doi.org/10.1029/2006JD007485}}
@article{eckermann_et_al_2009,
- title = "High-altitude data assimilation system experiments for the northern summer mesosphere season of 2007",
- journal = "Journal of Atmospheric and Solar-Terrestrial Physics",
- volume = "71",
- number = "3",
- pages = "531 - 551",
- year = "2009",
- note = "Global Perspectives on the Aeronomy of the Summer Mesopause Region",
- issn = "1364-6826",
- doi = "https://doi.org/10.1016/j.jastp.2008.09.036",
- url = "http://www.sciencedirect.com/science/article/pii/S1364682608002575",
- author = "Stephen D. Eckermann and Karl W. Hoppel and Lawrence Coy and John P. McCormack and David E. Siskind and Kim Nielsen and Andrew Kochenash and Michael H. Stevens and Christoph R. Englert and Werner Singer and Mark Hervig",
- keywords = "Data assimilation, Polar mesospheric cloud, Tide, Planetary wave, Mesosphere",}
+ Author = {Stephen D. Eckermann and Karl W. Hoppel and Lawrence Coy and John P. McCormack and David E. Siskind and Kim Nielsen and Andrew Kochenash and Michael H. Stevens and Christoph R. Englert and Werner Singer and Mark Hervig},
+ Doi = {https://doi.org/10.1016/j.jastp.2008.09.036},
+ Issn = {1364-6826},
+ Journal = {Journal of Atmospheric and Solar-Terrestrial Physics},
+ Keywords = {Data assimilation, Polar mesospheric cloud, Tide, Planetary wave, Mesosphere},
+ Note = {Global Perspectives on the Aeronomy of the Summer Mesopause Region},
+ Number = {3},
+ Pages = {531 - 551},
+ Title = {High-altitude data assimilation system experiments for the northern summer mesosphere season of 2007},
+ Url = {http://www.sciencedirect.com/science/article/pii/S1364682608002575},
+ Volume = {71},
+ Year = {2009},
+ Bdsk-Url-1 = {http://www.sciencedirect.com/science/article/pii/S1364682608002575},
+ Bdsk-Url-2 = {https://doi.org/10.1016/j.jastp.2008.09.036}}
@inproceedings{alpert_et_al_2019,
- title={Atmospheric Gravity Wave Sources Correlated with Resolved-scale GW Activity and Sub-grid Scale Parameterization in the FV3gfs Model},
- author={Alpert, Jordan C and Yudin, Valery A and Strobach, Edward},
- booktitle={AGU Fall Meeting 2019},
- year={2019},
- organization={AGU}}
-
-@Article{ern_et_al_2018,
- AUTHOR = {Ern, M. and Trinh, Q. T. and Preusse, P. and Gille, J. C. and Mlynczak, M. G. and Russell III, J. M. and Riese, M.},
- TITLE = {GRACILE: a comprehensive climatology of atmospheric gravity wave parameters based on satellite limb soundings},
- JOURNAL = {Earth System Science Data},
- VOLUME = {10},
- YEAR = {2018},
- NUMBER = {2},
- PAGES = {857--892},
- URL = {https://www.earth-syst-sci-data.net/10/857/2018/},
- DOI = {10.5194/essd-10-857-2018}}
+ Author = {Alpert, Jordan C and Yudin, Valery A and Strobach, Edward},
+ Booktitle = {AGU Fall Meeting 2019},
+ Organization = {AGU},
+ Title = {Atmospheric Gravity Wave Sources Correlated with Resolved-scale GW Activity and Sub-grid Scale Parameterization in the FV3gfs Model},
+ Year = {2019}}
+
+@article{ern_et_al_2018,
+ Author = {Ern, M. and Trinh, Q. T. and Preusse, P. and Gille, J. C. and Mlynczak, M. G. and Russell III, J. M. and Riese, M.},
+ Doi = {10.5194/essd-10-857-2018},
+ Journal = {Earth System Science Data},
+ Number = {2},
+ Pages = {857--892},
+ Title = {GRACILE: a comprehensive climatology of atmospheric gravity wave parameters based on satellite limb soundings},
+ Url = {https://www.earth-syst-sci-data.net/10/857/2018/},
+ Volume = {10},
+ Year = {2018},
+ Bdsk-Url-1 = {https://www.earth-syst-sci-data.net/10/857/2018/},
+ Bdsk-Url-2 = {http://dx.doi.org/10.5194/essd-10-857-2018}}
@inproceedings{yudin_et_al_2019,
- title={Longitudinal Variability of Wave Dynamics in Weather Models Extended into the Mesosphere and Thermosphere},
- author={Yudin V.A. , S. I. Karol, R.A. Akmaev, T. Fuller-Rowell, D. Kleist, A. Kubaryk, and C. Thompson},
- booktitle={Space Weather Workshop},
- year={2019},}
+ Author = {Yudin V.A. , S. I. Karol, R.A. Akmaev, T. Fuller-Rowell, D. Kleist, A. Kubaryk, and C. Thompson},
+ Booktitle = {Space Weather Workshop},
+ Title = {Longitudinal Variability of Wave Dynamics in Weather Models Extended into the Mesosphere and Thermosphere},
+ Year = {2019}}
diff --git a/physics/docs/pdftxt/CPT_adv_suite.txt b/physics/docs/pdftxt/CPT_adv_suite.txt
index 132d8bd11..26d514d51 100644
--- a/physics/docs/pdftxt/CPT_adv_suite.txt
+++ b/physics/docs/pdftxt/CPT_adv_suite.txt
@@ -3,31 +3,28 @@
\section csawmg_suite_overview Overview
-The advanced csawmg physics suite uses the parameterizations in the following order:
+The csawmg physics suite uses the parameterizations in the following order:
- \ref GFS_RRTMG
- \ref GFS_SFCLYR
- \ref GFS_NSST
- \ref GFS_NOAH
- \ref GFS_SFCSICE
- \ref GFS_HEDMF
- - \ref GFS_GWDPS
+ - \ref GFS_UGWP_v0
- \ref GFS_RAYLEIGH
- \ref GFS_OZPHYS
- \ref GFS_H2OPHYS
- \ref CSAW_scheme
- - \ref GFS_GWDC
- \ref GFS_SAMFshal
- \ref CPT_MG3
- \ref mod_cs_conv_aw_adj
- \ref GFS_CALPRECIPTYPE
\section sdf_cpt_suite Suite Definition File
-
-The advanced csawmg physics suite uses the parameterizations in the following order, as defined in \c SCM_csawmg :
\code
-
option | DDT in Host Model | Description | Default Value
@@ -117,13 +121,19 @@ and how stochastic perturbations are used in the Noah Land Surface Model.
0
- | iaer | gfs_control_type | aerosol flag "abc" (volcanic, LW, SW): \n
+ | iaer | gfs_control_type | 4-digit aerosol flag (dabc for aermdl, volcanic, LW, SW): \n
|
1
| ico2 | gfs_control_type | \f$CO_2\f$ data source control flag:\n
@@ -159,7 +169,7 @@ and how stochastic perturbations are used in the Noah Land Surface Model.
| 0
| lwhtr | gfs_control_type | logical flag for output of longwave heating rate | .true.
| swhtr | gfs_control_type | logical flag for output of shortwave heating rate | .true.
- | cnvgwd | gfs_control_type | logical flag for convective gravity wave drag scheme | .false.
+ | cnvgwd | gfs_control_type | logical flag for convective gravity wave drag scheme dependent on maxval(cdmbgwd(3:4) == 0.0) | .false.
| shal_cnv | gfs_control_type | logical flag for calling shallow convection | .false.
| lmfshal | gfs_control_type | flag for mass-flux shallow convection scheme in the cloud fraction calculation | shal_cnv .and. (imfshalcnv > 0)
| lmfdeep2 | gfs_control_type | flag for mass-flux deep convection scheme in the cloud fraction calculation | imfdeepcnv == 2 .or. 3 .or.4
@@ -168,6 +178,12 @@ and how stochastic perturbations are used in the Noah Land Surface Model.
| dspheat | gfs_control_type | logical flag for using TKE dissipative heating to temperature tendency in hybrid EDMF and TKE-EDMF schemes | .false.
| hybedmf | gfs_control_type | logical flag for calling hybrid EDMF PBL scheme | .false.
| satmedmf | gfs_control_type | logical flag for calling TKE EDMF PBL scheme | .false.
+ | isatmedmf | gfs_control_type | flag for scale-aware TKE-based moist EDMF scheme \n
+ |
0
| do_mynnedmf | gfs_control_type | flag to activate MYNN-EDMF scheme | .false.
| random_clds | gfs_control_type | logical flag for whether clouds are random | .false.
| trans_trac | gfs_control_type | logical flag for convective transport of tracers | .false.
@@ -187,6 +203,7 @@ and how stochastic perturbations are used in the Noah Land Surface Model.
| 1
| imfdeepcnv | gfs_control_type | flag for mass-flux deep convective scheme:\n
|
1
| lgfdlmprad | gfs_control_type | flag for GFDL mp scheme and radiation consistency | .false.
- | cdmbgwd(2) | gfs_control_type | multiplication factors for mountain blocking and orographic gravity wave drag | 2.0,0.25
+ | cdmbgwd(4) | gfs_control_type | multiplication factors for mountain blocking(1), orographic gravity wave drag(2)
+ |
2.0,0.25,1.0,1.0
| prslrd0 | gfs_control_type | pressure level above which to apply Rayleigh damping | 0.0d0
| lsm | gfs_control_type | flag for land surface model to use \n
|
1
@@ -221,14 +244,14 @@ and how stochastic perturbations are used in the Noah Land Surface Model.
| debug | gfs_control_type | flag for debug printout | .false.
| nstf_name(5) | gfs_control_type | NSST related paramters:\n
|
/0,0,1,0,5/
- | nst_anl | gfs_control_type | flag for NSSTM analysis in gcycle/sfcsub | .false.
+ | nst_anl | gfs_control_type | flag for NSST analysis in gcycle/sfcsub | .false.
| effr_in | gfs_control_type | logical flag for using input cloud effective radii calculation | .false.
| aero_in | gfs_control_type | logical flag for using aerosols in Morrison-Gettelman microphysics | .false.
| iau_delthrs | gfs_control_type | incremental analysis update (IAU) time interval in hours | 6
@@ -342,7 +365,14 @@ and how stochastic perturbations are used in the Noah Land Surface Model.
| 1
| lsoil_lsm | gfs_control_type | number of soil layers internal to land surface model | -1
- | \b Stochastic \b Physics \b Specific \b Parameters
+ | ldiag_ugwp | GFS_control_type | flag for CIRES UGWP diagnostics | .false.
+ | do_ugwp | GFS_control_type | flag for CIRES UGWP revised OGW
+ |
.false.
+ | do_tofd | GFS_control_type | flag for turbulent orographic form drag | .false.
| do_sppt | gfs_control_type | flag for stochastic SPPT option | .false.
| do_shum | gfs_control_type | flag for stochastic SHUM option | .false.
| do_skeb | gfs_control_type | flag for stochastic SKEB option | .false.
@@ -389,42 +419,61 @@ and how stochastic perturbations are used in the Noah Land Surface Model.
| skebint | compns_stochy_mod | | 0
| \b &gfdl_cloud_microphysics_nml
| sedi_transport | gfdl_cloud_microphys_mod | logical flag for turning on horizontal momentum transport during sedimentation | .true.
+ | do_sedi_w | gfdl_cloud_microphys_mod | \a .true. to turn on vertical motion transport during sedimentation. (not supported in GFS physics) | .false.
| do_sedi_heat | gfdl_cloud_microphys_mod | logical flag for turning on horizontal heat transport during sedimentation | .true.
| rad_snow | gfdl_cloud_microphys_mod | logical flag for considering snow in cloud fraction calculation | .true.
| rad_graupel | gfdl_cloud_microphys_mod | logical flag for considering graupel in cloud fraction calculation | .true.
| rad_rain | gfdl_cloud_microphys_mod | logical flag for considering rain in cloud fraction calculation | .true.
+ | cld_min | gfdl_cloud_microphys_mod | minimum cloud fraction. If total cloud condensate exceeds 1.0e-6 kg/kg, cloud fraction cannot be less than \p cld_min | 0.05
| const_vi | gfdl_cloud_microphys_mod | logical flag for using constant cloud ice fall speed | .false.
| const_vs | gfdl_cloud_microphys_mod | logical flag for using constant snow fall speed | .false.
| const_vg | gfdl_cloud_microphys_mod | logical flag for using constant graupel fall speed | .false.
| const_vr | gfdl_cloud_microphys_mod | logical flag for using constant rain fall speed | .false.
+ | vi_fac | gfdl_cloud_microphys_mod | tunable factor for cloud ice fall or the constant cloud ice fall speed when \p const_vi is .true. | 1.
+ | vr_fac | gfdl_cloud_microphys_mod | tunable factor for rain fall or the constant rain fall speed when \p const_vr is .true. | 1.
+ | vs_fac | gfdl_cloud_microphys_mod | tunable factor for snow fall or the constant snow fall speed when \p const_vs is .true. | 1.
+ | vg_fac | gfdl_cloud_microphys_mod | tunable factor for graupel fall or the constant graupel fall speed when \p const_vg is .true. | 1.
| vi_max | gfdl_cloud_microphys_mod | maximum fall speed for cloud ice | 0.5
| vs_max | gfdl_cloud_microphys_mod | maximum fall speed for snow | 5.0
| vg_max | gfdl_cloud_microphys_mod | maximum fall speed for graupel | 8.0
| vr_max | gfdl_cloud_microphys_mod | maximum fall speed for rain | 12.0
| qi_lim | gfdl_cloud_microphys_mod | cloud ice limiter to prevent large ice built up in cloud ice freezing and deposition | 1.
| prog_ccn | gfdl_cloud_microphys_mod | logical flag for activating prognostic CCN (not supported in GFS Physics) | .false.
- | do_qa | gfdl_cloud_microphys_mod | logical flag for activating inline cloud fraction diagnosis in fast saturation adjustment | .true.
- | fast_sat_adj | gfdl_cloud_microphys_mod | logical flag for adjusting cloud water evaporation/freezing, cloud ice deposition when fast saturation adjustment is activated | .true.
+ | do_qa | gfdl_cloud_microphys_mod | \a .true. to activate inline cloud fraction diagnosis in fast saturation adjustment. \a .false. to activate inline cloud fraction diagnosis in major cloud microphysics | .true.
+ | fast_sat_adj | gfdl_cloud_microphys_mod | logical flag for adjusting cloud water evaporation (cloud water -> water vapor), cloud water freezing (cloud water -> cloud ice), cloud ice deposition (water vapor -> cloud ice) when fast saturation adjustment is activated (\b do_sat_adj = .true. in \b fv_core_nml block) | .true.
| tau_l2v | gfdl_cloud_microphys_mod | time scale for evaporation of cloud water to water vapor. Increasing(decreasing) \p tau_l2v can decrease(boost) deposition of cloud water to water vapor | 300.
| tau_v2l | gfdl_cloud_microphys_mod | time scale for condensation of water vapor to cloud water. Increasing(decreasing) \p tau_v2l can decrease(boost) condensation of water vapor to cloud water | 150.
| tau_g2v | gfdl_cloud_microphys_mod | time scale for sublimation of graupel to water vapor. Increasing(decreasing) \p tau_g2v can decrease(boost) sublimation of graupel to water vapor | 900.
+ | tau_g2r | gfdl_cloud_microphys_mod | time scale for graupel melting. Increasing(decreasing) \p tau_g2r can decrease(boost) melting of graupel to rain (graupel-> rain) | 600.
+ | tau_v2g | gfdl_cloud_microphys_mod | time scale for deposition of water vapor to graupel. Increasing(decreasing) \p tau_v2g can decrease(boost) deposition of water vapor to graupel (water vapor -> graupel) | 21600.
+ | tau_l2r | gfdl_cloud_microphys_mod | time scale for autoconversion of cloud water to rain. Increasing(decreasing) \p tau_l2r can decrese(boost) autoconversion of cloud water to rain (cloud water -> rain) | 900.
+ | tau_r2g | gfdl_cloud_microphys_mod | time scale for freezing of rain to graupel. Increasing(decreasing) \p tau_r2g can decrease(boost) freezing of rain to graupel (rain->graupel) | 900.
+ | tau_i2s | gfdl_cloud_microphys_mod | time scale for autoconversion of cloud ice to snow. Increasing(decreasing) \p tau_i2s can decrease(boost) autoconversion of cloud ice to snow (cloud ice -> snow) | 1000.
+ | tau_imlt | gfdl_cloud_microphys_mod | time scale for cloud ice melting. Increasing(decreasing) \p tau_imlt can decrease(boost) melting of cloud ice to cloud water or rain (cloud ice -> cloud water or rain) | 600.
+ | tau_smlt | gfdl_cloud_microphys_mod | time scale for snow melting. Increasing(decreasing) \p tau_smlt can decrease(boost) melting of snow to cloud water or rain (snow-> cloud water or rain) | 900.
| rthresh | gfdl_cloud_microphys_mod | critical cloud water radius for autoconversion (cloud water -> rain). Increasing(decreasing) of \p rthresh makes the autoconversion harder(easier) | 10.0e-6
| dw_land | gfdl_cloud_microphys_mod | base value for subgrid deviation/variability over land | 0.20
| dw_ocean | gfdl_cloud_microphys_mod | base value for subgrid deviation/variability over ocean | 0.10
| ql_gen | gfdl_cloud_microphys_mod | maximum value for cloud water generated from condensation of water vapor (water vapor-> cloud water) | 1.0e-3
- | ql_mlt | gfdl_cloud_microphys_mod | maximum value of cloud water allowed from melted cloud ice (cloud ice -> cloud water or rain) | 2.0e-3
- | qi0_crt | gfdl_cloud_microphys_mod | threshold of cloud ice to snow autoconversion (cloud ice -> snow) | 1.0e-4
- | qs0_crt | gfdl_cloud_microphys_mod | threshold of snow to graupel autoconversion (snow -> graupel) | 1.0e-3
- | tau_i2s | gfdl_cloud_microphys_mod | time scale for autoconversion of cloud ice to snow | 1000.
- | c_psaci | gfdl_cloud_microphys_mod | accretion efficiency of cloud ice to snow | 0.02
- | c_pgacs | gfdl_cloud_microphys_mod | accretion efficiency of snow to graupel | 2.0e-3
+ | qi_gen | gfdl_cloud_microphys_mod | maximum value of cloud ice generated from deposition of water vapor (water vapor->cloud ice) or freezing(cloud water -> cloud ice). Increasing(decreasing) \p qi_gen can increas(decrease) cloud ice | 1.82e-6
+ | ql_mlt | gfdl_cloud_microphys_mod | maximum value of cloud water allowed from melted cloud ice (cloud ice -> cloud water or rain). Exceedance of which will become rain. Increasing(decreasing) \p ql_mlt can increase(decrease) cloud water and decrease(increase) rain | 2.0e-3
+ | qs_mlt | gfdl_cloud_microphys_mod | maximum value of cloud water allowed from melted snow (snow -> cloud water or rain). Exceedance of which will become rain. Increasing(decreasing) \p qs_mlt can increas(decrease) cloud water and decrease (increase) rain | 1.0e-6
+ | ql0_max | gfdl_cloud_microphys_mod | threshold of cloud water to rain autoconversion (cloud water -> rain). Increasing(decreasing) \p ql0_max can increase(decrease) rain and decrease(increase) cloud water | 2.0e-3
+ | qi0_max | gfdl_cloud_microphys_mod | maximum value of cloud ice generated from other sources like convection. Exceedance of which will become snow. Increasing(decreasing) \p qi0_max can increase(decrease) cloud ice and decrease(increase) snow | 1.0e-4
+ | qi0_crt | gfdl_cloud_microphys_mod | threshold of cloud ice to snow autoconversion (cloud ice -> snow). Increasing(decreasing) \p qi0_crt can increase(decrease) cloud ice and decrease(increase) snow | 1.0e-4
+ | qs0_crt | gfdl_cloud_microphys_mod | threshold of snow to graupel autoconversion (snow -> graupel). Increasing(decreasing) \p qs0_crt can increase(decrease) snow and decrease(increase) graupel | 1.0e-3
+ | qc_crt | gfdl_cloud_microphys_mod | minimum value of cloud condensate to allow partial cloudiness. Partial cloud can only exist when total cloud condensate exceeds \p qc_crt | 5.0e-8
+ | c_psaci | gfdl_cloud_microphys_mod | accretion efficiency of cloud ice to snow (cloud ice -> snow). Increasing(decreasing) of \p c_psaci can boost(decrease) the accretion of cloud ice to snow | 0.02
+ | c_pgacs | gfdl_cloud_microphys_mod | accretion efficiency of snow to graupel (snow -> graupel). Increasing(decreasing) of \p c_pgacs can boost(decrease) the accretion of snow to graupel | 2.0e-3
| rh_inc | gfdl_cloud_microphys_mod | relative humidity increment for complete evaporation of cloud water and cloud ice | 0.25
| rh_inr | gfdl_cloud_microphys_mod | relative humidity increment for sublimation of snow | 0.25
| rh_ins | gfdl_cloud_microphys_mod | relative humidity increment for minimum evaporation of rain | 0.25
- | ccn_l | gfdl_cloud_microphys_mod | base CCN over land \f$cm^{-3}\f$ | 270.
- | ccn_o | gfdl_cloud_microphys_mod | base CCN over ocean \f$cm^{-3}\f$ | 90.
- | c_paut | gfdl_cloud_microphys_mod | autoconversion efficiency of cloud water to rain | 0.55
- | c_cracw | gfdl_cloud_microphys_mod | accretion efficiency of cloud water to rain | 0.9
+ | rthresh | gfdl_cloud_microphys_mod | critical cloud water radius for autoconversion(cloud water->rain). Increasing(decreasing) of \p rthresh makes the autoconversion harder(easier) | 1.0e-5
+ | ccn_l | gfdl_cloud_microphys_mod | base CCN over land. Increasing(decreasing) \p ccn_l can on the one hand boost(decrease) the autoconversion of cloud water to rain, on the other hand make the autoconversion harder(easier). The unit is \f$cm^{-3}\f$ | 270.
+ | ccn_o | gfdl_cloud_microphys_mod | base CCN over ocean. Increasing(decreasing) \p ccn_o can on the one hand boost(decrease) the autoconversion of cloud water to rain, on the other hand make the autoconversion harder(easier). The unit is \f$cm^{-3}\f$ | 90.
+ | c_paut | gfdl_cloud_microphys_mod | autoconversion efficiency of cloud water to rain (cloud water -> rain). Increasing(decreasing) of \p c_paut can boost(decrease) the autoconversion of cloud water to rain | 0.55
+ | c_cracw | gfdl_cloud_microphys_mod | accretion efficiency of cloud water to rain (cloud water -> rain). Increasing(decreasing) of \p c_cracw can boost(decrease) the accretion of cloud water to rain | 0.9
+ | sat_adj0 | gfdl_cloud_microphys_mod | adjust factor for condensation of water vapor to cloud water (water vapor->cloud water) and deposition of water vapor to cloud ice | 0.9
| use_ppm | gfdl_cloud_microphys_mod | \e true to use PPM fall scheme; \e false to use time-implicit monotonic fall scheme | .false.
| use_ccn | gfdl_cloud_microphys_mod | \e true to compute prescribed CCN. It should be .true. when \p prog_ccn = .false. | .false.
| mono_prof | gfdl_cloud_microphys_mod | \e true to turn on terminal fall with monotonic PPM scheme. This is used together with \p use_ppm=.true. | .true.
@@ -433,6 +482,68 @@ and how stochastic perturbations are used in the Noah Land Surface Model.
| de_ice | gfdl_cloud_microphys_mod | \e true to convert excessive cloud ice to snow to prevent ice over-built from other sources like convection scheme (not supported in GFS physics) | .false.
| fix_negative | gfdl_cloud_microphys_mod | \e true to fix negative water species using nearby points | .false.
| icloud_f | gfdl_cloud_microphys_mod | flag (0,1,or 2) for cloud fraction diagnostic scheme | 0
- | mp_time | gfdl_cloud_microphys_mod | time step of GFDL cloud microphysics | 150.
+ | irain_f | gfdl_cloud_microphys_mod | flag (0 or 1) for cloud water autoconversion to rain scheme. 0: with subgrid variability; 1: no subgrid variability | 0
+ | mp_time | gfdl_cloud_microphys_mod | time step of GFDL cloud microphysics (MP). If \p mp_time isn't divisible by physics time step or is larger than physics time step, the actual MP time step becomes \p dt/NINT[dt/MIN(dt,mp_time)] | 150.
+ | alin | gfdl_cloud_microphys_mod | parameter \a a in Lin et al.(1983). Constant in empirical formula for \f$U_R\f$. Increasing(decreasing) \p alin can boost(decrease) accretion of cloud water by rain and rain evaporation | 842.
+ | clin | gfdl_cloud_microphys_mod | parameter \a c in Lin et al.(1983). Constant in empirical formula for \f$U_S\f$. Increasing(decreasing) \p clin can boost(decrease) accretion of cloud water by snow, accretion of cloud ice by snow, snow sublimation and deposition, and snow melting | 4.8
+ | t_min | gfdl_cloud_microphys_mod | temperature threshold for instant deposition. Deposit all water vapor to cloud ice when temperature is lower than \p t_min | 178.
+ | t_sub | gfdl_cloud_microphys_mod | temperature threshold for sublimation. Cloud ice, snow or graupel stops(starts) sublimation when temperature is lower(higher) then \p t_sub | 184.
+ | mp_print | gfdl_cloud_microphys_mod | \a .true. to turn on GFDL cloud microphysics debugging print out. (not supported in GFS physics) | .false.
+ | \b &cires_ugwp_nml
+ | knob_ugwp_version | cires_ugwp_module | parameter selects a version of the UGWP implementation in FV3GFS-127L \n
+ |
0
+ | knob_ugwp_doaxyz | cires_ugwp_module | parameter controls application of the momentum deposition for NGW-schemes \n
+ |
1
+ | knob_ugwp_doheat | cires_ugwp_module | parameter controls application of the heat deposition for NGW-schemes \n
+ |
1
+ | knob_ugwp_dokdis | cires_ugwp_module | parameter controls application of the eddy diffusion due to instability of NGWs \n
+ |
0
+ | knob_ugwp_solver | cires_ugwp_module | parameter controls the selection of UGWP-solvers(wave propagation, dissipation and wave breaking) for NGWs \n
+ |
1
+ | knob_ugwp_ndx4lh | cires_ugwp_module | parameter controls the selection of the horizontal wavenumber(wavelength) for NGW schemes \n
+ |
2
+ | knob_ugwp_wvspec | cires_ugwp_module | four-dimensional array defines number of waves in each arimuthal propagation (as defined by knob_ugwp_azdir) for GWs excited due to the following four sources: \n
+ (1) sub-grid orography (\b knob_ugwp_wvspec[1]=1), \n
+ (2) convective (\b knob_ugwp_wvspec[2]=25), \n
+ (3) frontal (\b knob_ugwp_wvspec[3]=25) activity, \n
+ (4) \b knob_ugwp_wvspec[4] represents number of wave excited by dynamical imbalances that may mimic both convective and front-jet mechanisms of GW triggering. \n
+ In UGWP v0, first two elements of the array, \b knob_ugwp_wvspec(1:2), control number of waves for stationary (OGW) and nonstationary waves (NGWs).
+ | 1,32,32,32
+ | knob_ugwp_azdir | cires_ugwp_module | four-dimensional array that defines number of azimuths for propagation of GWs triggered by four types of physics-based sources (orography, convection, front-jets, and dynamical imbalance). In UGWP v0, first two elements of the array, \b knob_ugwp_azdir(1:2), control number of azimuths for OGW and NGWs respectively.
+ | 2,4,4,4
+ | knob_ugwp_stoch | cires_ugwp_module | four-dimensional array that control stochastic selection of GWs triggered by four types of physics-based sources. \n
+ Default values:0,0,0,0 - reflect determinstic selection of GW parameters without stochastic selection
+ | 0,0,0,0
+ | knob_ugwp_effac | cires_ugwp_module | four-dimensional array that control efficiency of GWs triggerd by four types of physics-based sources. \n
+ Default values: 1.,1.,1.,1. - reflect that calculated GW-tendencies will be applied for the model state.
+ | 1.,1.,1.,1.
+ | launch_level | cires_ugwp_module | parameter has been introduced by EMC during implementation. It defines the interface model level from the surface at which NGWs are launched. \n
+ Default value for FV3GFS-64L, launch_level=25 and for FV3GFS-128L, launch_level=52.
+ | 55
| |
---|