diff --git a/ccpp/CMakeLists.txt b/ccpp/CMakeLists.txt
index 5b903352c..1ee3fce3d 100644
--- a/ccpp/CMakeLists.txt
+++ b/ccpp/CMakeLists.txt
@@ -62,17 +62,22 @@ elseif (${CMAKE_BUILD_TYPE} MATCHES "Release")
set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS_RELEASE}")
elseif (${CMAKE_BUILD_TYPE} MATCHES "Bitforbit")
if (${CMAKE_Fortran_COMPILER_ID} MATCHES "PGI")
- set (CMAKE_C_FLAGS_RELEASE "-O1 -fPIC" CACHE STRING "" FORCE)
- set (CMAKE_CXX_FLAGS_RELEASE "-O1 -fPIC" CACHE STRING "" FORCE)
- set (CMAKE_Fortran_FLAGS_RELEASE "-O1 -fPIC" CACHE STRING "" FORCE)
+ set (CMAKE_C_FLAGS_BITFORBIT "-O1 -g -fPIC" CACHE STRING "" FORCE)
+ set (CMAKE_CXX_FLAGS_BITFORBIT "-O1 -g -fPIC" CACHE STRING "" FORCE)
+ set (CMAKE_Fortran_FLAGS_BITFORBIT "-O1 -g -fPIC" CACHE STRING "" FORCE)
+ elseif (APPLE AND ${CMAKE_Fortran_COMPILER_ID} MATCHES "GNU")
+ set (CMAKE_C_FLAGS_BITFORBIT "-O0 -g -fPIC" CACHE STRING "" FORCE)
+ set (CMAKE_CXX_FLAGS_BITFORBIT "-O0 -g -fPIC" CACHE STRING "" FORCE)
+ set (CMAKE_Fortran_FLAGS_BITFORBIT "-O0 -g -fPIC" CACHE STRING "" FORCE)
+ # For Intel on all platforms and for GNU on all platforms except macOS
else (${CMAKE_Fortran_COMPILER_ID} MATCHES "PGI")
- set (CMAKE_C_FLAGS_RELEASE "-O2 -fPIC" CACHE STRING "" FORCE)
- set (CMAKE_CXX_FLAGS_RELEASE "-O2 -fPIC" CACHE STRING "" FORCE)
- set (CMAKE_Fortran_FLAGS_RELEASE "-O2 -fPIC" CACHE STRING "" FORCE)
+ set (CMAKE_C_FLAGS_BITFORBIT "-O2 -g -fPIC" CACHE STRING "" FORCE)
+ set (CMAKE_CXX_FLAGS_BITFORBIT "-O2 -g -fPIC" CACHE STRING "" FORCE)
+ set (CMAKE_Fortran_FLAGS_BITFORBIT "-O2 -g -fPIC" CACHE STRING "" FORCE)
endif (${CMAKE_Fortran_COMPILER_ID} MATCHES "PGI")
- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS_RELEASE}")
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_RELEASE}")
- set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS_RELEASE}")
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS_BITFORBIT}")
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_BITFORBIT}")
+ set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS_BITFORBIT}")
endif (${CMAKE_BUILD_TYPE} MATCHES "Debug")
# Set compiler-specific options, depending on build type; some optimization flags may only be used
@@ -87,9 +92,7 @@ if (${CMAKE_Fortran_COMPILER_ID} MATCHES "GNU")
set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans")
set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -ffpe-trap=invalid,zero,overflow -fcheck=bounds -fbacktrace -fno-range-check")
elseif (${CMAKE_BUILD_TYPE} MATCHES "Bitforbit")
- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g")
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
- set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g")
+ set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS}")
endif (${CMAKE_BUILD_TYPE} MATCHES "Debug")
set (CMAKE_Fortran_FLAGS_DEFAULT_PREC "-fdefault-real-8 -fdefault-double-8")
elseif (${CMAKE_Fortran_COMPILER_ID} MATCHES "PGI")
@@ -114,9 +117,9 @@ elseif (${CMAKE_Fortran_COMPILER_ID} MATCHES "Intel")
set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fstack-protector-all -fpe0 -traceback -debug -ftrapuv")
elseif (${CMAKE_BUILD_TYPE} MATCHES "Bitforbit")
if(LEGACY_INTEL)
- set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -debug minimal -fp-model strict -qoverride-limits -g -traceback")
+ set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -debug minimal -fp-model strict -qoverride-limits -traceback")
else(LEGACY_INTEL)
- set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -debug minimal -fp-model consistent -qoverride-limits -g -traceback")
+ set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -debug minimal -fp-model consistent -qoverride-limits -traceback")
endif (LEGACY_INTEL)
elseif (${CMAKE_BUILD_TYPE} MATCHES "Release")
# Specify aggressive optimization flags (to be overwritten for individual files in ccpp-physics' CMakeLists.txt)
diff --git a/ccpp/build_ccpp.sh b/ccpp/build_ccpp.sh
index a0e40203b..f6bec6ff9 100755
--- a/ccpp/build_ccpp.sh
+++ b/ccpp/build_ccpp.sh
@@ -219,7 +219,7 @@ else
CCPP_LINK_OBJS="-L${PATH_CCPP_LIB} -lccpp ${CCPP_XML2_LIB}"
fi
fi
-echo "ESMF_DEP_INCPATH=-I${PATH_CCPP_INC}" > ${CCPP_MK}
+echo "ESMF_DEP_INCPATH=${PATH_CCPP_INC}" > ${CCPP_MK}
echo "ESMF_DEP_LINK_OBJS=${CCPP_LINK_OBJS}" >> ${CCPP_MK}
if [ $clean_after = YES ]; then
diff --git a/ccpp/config/ccpp_prebuild_config.py b/ccpp/config/ccpp_prebuild_config.py
index b1738d633..719958f5a 100755
--- a/ccpp/config/ccpp_prebuild_config.py
+++ b/ccpp/config/ccpp_prebuild_config.py
@@ -111,7 +111,9 @@
'FV3/ccpp/physics/physics/cires_vert_wmsdis.F90',
'FV3/ccpp/physics/physics/namelist_soilveg.f',
'FV3/ccpp/physics/physics/mfpblt.f',
+ 'FV3/ccpp/physics/physics/mfpbltq.f',
'FV3/ccpp/physics/physics/mfscu.f',
+ 'FV3/ccpp/physics/physics/mfscuq.f',
'FV3/ccpp/physics/physics/noahmp_tables.f90',
'FV3/ccpp/physics/physics/num_parthds.F',
'FV3/ccpp/physics/physics/ozne_def.f',
@@ -188,6 +190,8 @@
'FV3/ccpp/physics/physics/h2ophys.f' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/samfdeepcnv.f' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/samfshalcnv.f' : [ 'slow_physics' ],
+ 'FV3/ccpp/physics/physics/sascnvn.F' : [ 'slow_physics' ],
+ 'FV3/ccpp/physics/physics/shalcnv.F' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/maximum_hourly_diagnostics.F90' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/m_micro.F90' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/m_micro_interstitial.F90' : [ 'slow_physics' ],
@@ -197,6 +201,7 @@
'FV3/ccpp/physics/physics/moninedmf.f' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/moninshoc.f' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/satmedmfvdif.F' : [ 'slow_physics' ],
+ 'FV3/ccpp/physics/physics/satmedmfvdifq.F' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/shinhongvdif.F90' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/ysuvdif.F90' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/module_MYNNPBL_wrapper.F90' : [ 'slow_physics' ],
diff --git a/ccpp/framework b/ccpp/framework
index f3cad9e2b..6da780825 160000
--- a/ccpp/framework
+++ b/ccpp/framework
@@ -1 +1 @@
-Subproject commit f3cad9e2b6b69ab4c07826a1de50b7f6c6d08cd1
+Subproject commit 6da78082547b573d714a359368353dd065f59393
diff --git a/ccpp/physics b/ccpp/physics
index 4b46d2653..a7c38a694 160000
--- a/ccpp/physics
+++ b/ccpp/physics
@@ -1 +1 @@
-Subproject commit 4b46d2653b6277c39176b131acb3d1544e7e2216
+Subproject commit a7c38a694c788892c11cf638af7fab42599964dd
diff --git a/ccpp/suites/suite_FV3_CPT_v0.xml b/ccpp/suites/suite_FV3_CPT_v0.xml
index 2e0718970..8eed8e78c 100644
--- a/ccpp/suites/suite_FV3_CPT_v0.xml
+++ b/ccpp/suites/suite_FV3_CPT_v0.xml
@@ -78,7 +78,6 @@
GFS_DCNV_generic_post
GFS_SCNV_generic_pre
samfshalcnv
- samfshalcnv_post
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
diff --git a/ccpp/suites/suite_FV3_GFS_2017.xml b/ccpp/suites/suite_FV3_GFS_2017.xml
index 5f0808dd4..fc1739bd5 100644
--- a/ccpp/suites/suite_FV3_GFS_2017.xml
+++ b/ccpp/suites/suite_FV3_GFS_2017.xml
@@ -70,7 +70,6 @@
GFS_DCNV_generic_post
GFS_SCNV_generic_pre
samfshalcnv
- samfshalcnv_post
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
diff --git a/ccpp/suites/suite_FV3_GFS_2017_csawmg.xml b/ccpp/suites/suite_FV3_GFS_2017_csawmg.xml
index abca6d237..fec7f373e 100644
--- a/ccpp/suites/suite_FV3_GFS_2017_csawmg.xml
+++ b/ccpp/suites/suite_FV3_GFS_2017_csawmg.xml
@@ -73,7 +73,6 @@
GFS_DCNV_generic_post
GFS_SCNV_generic_pre
samfshalcnv
- samfshalcnv_post
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
diff --git a/ccpp/suites/suite_FV3_GFS_2017_gfdlmp.xml b/ccpp/suites/suite_FV3_GFS_2017_gfdlmp.xml
index 8277cdcfe..35fdd9143 100644
--- a/ccpp/suites/suite_FV3_GFS_2017_gfdlmp.xml
+++ b/ccpp/suites/suite_FV3_GFS_2017_gfdlmp.xml
@@ -75,7 +75,6 @@
GFS_DCNV_generic_post
GFS_SCNV_generic_pre
samfshalcnv
- samfshalcnv_post
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
diff --git a/ccpp/suites/suite_FV3_GFS_2017_gfdlmp_noahmp.xml b/ccpp/suites/suite_FV3_GFS_2017_gfdlmp_noahmp.xml
index 1402e663b..2868c8250 100644
--- a/ccpp/suites/suite_FV3_GFS_2017_gfdlmp_noahmp.xml
+++ b/ccpp/suites/suite_FV3_GFS_2017_gfdlmp_noahmp.xml
@@ -76,7 +76,6 @@
GFS_DCNV_generic_post
GFS_SCNV_generic_pre
samfshalcnv
- samfshalcnv_post
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
diff --git a/ccpp/suites/suite_FV3_GFS_2017_gfdlmp_regional.xml b/ccpp/suites/suite_FV3_GFS_2017_gfdlmp_regional.xml
index ba247b796..20f91469f 100644
--- a/ccpp/suites/suite_FV3_GFS_2017_gfdlmp_regional.xml
+++ b/ccpp/suites/suite_FV3_GFS_2017_gfdlmp_regional.xml
@@ -70,7 +70,6 @@
GFS_DCNV_generic_post
GFS_SCNV_generic_pre
samfshalcnv
- samfshalcnv_post
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
diff --git a/ccpp/suites/suite_FV3_GFS_2017_h2ophys.xml b/ccpp/suites/suite_FV3_GFS_2017_h2ophys.xml
index f95070670..3e6acbc98 100644
--- a/ccpp/suites/suite_FV3_GFS_2017_h2ophys.xml
+++ b/ccpp/suites/suite_FV3_GFS_2017_h2ophys.xml
@@ -71,7 +71,6 @@
GFS_DCNV_generic_post
GFS_SCNV_generic_pre
samfshalcnv
- samfshalcnv_post
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
diff --git a/ccpp/suites/suite_FV3_GFS_2017_myj.xml b/ccpp/suites/suite_FV3_GFS_2017_myj.xml
index f8390e62f..7a193a10b 100644
--- a/ccpp/suites/suite_FV3_GFS_2017_myj.xml
+++ b/ccpp/suites/suite_FV3_GFS_2017_myj.xml
@@ -76,7 +76,6 @@
GFS_DCNV_generic_post
GFS_SCNV_generic_pre
samfshalcnv
- samfshalcnv_post
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
diff --git a/ccpp/suites/suite_FV3_GFS_2017_ozphys_2015.xml b/ccpp/suites/suite_FV3_GFS_2017_ozphys_2015.xml
index 310df3733..4e382886c 100644
--- a/ccpp/suites/suite_FV3_GFS_2017_ozphys_2015.xml
+++ b/ccpp/suites/suite_FV3_GFS_2017_ozphys_2015.xml
@@ -70,7 +70,6 @@
GFS_DCNV_generic_post
GFS_SCNV_generic_pre
samfshalcnv
- samfshalcnv_post
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
diff --git a/ccpp/suites/suite_FV3_GFS_2017_sas.xml b/ccpp/suites/suite_FV3_GFS_2017_sas.xml
new file mode 100644
index 000000000..1c52ac2cd
--- /dev/null
+++ b/ccpp/suites/suite_FV3_GFS_2017_sas.xml
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+ fv_sat_adj
+
+
+
+
+ GFS_time_vary_pre
+ GFS_rrtmg_setup
+ GFS_rad_time_vary
+ GFS_phys_time_vary
+
+
+
+
+ GFS_suite_interstitial_rad_reset
+ GFS_rrtmg_pre
+ rrtmg_sw_pre
+ rrtmg_sw
+ rrtmg_sw_post
+ rrtmg_lw_pre
+ rrtmg_lw
+ rrtmg_lw_post
+ GFS_rrtmg_post
+
+
+
+
+ GFS_suite_interstitial_phys_reset
+ GFS_suite_stateout_reset
+ get_prs_fv3
+ GFS_suite_interstitial_1
+ GFS_surface_generic_pre
+ GFS_surface_composites_pre
+ dcyc2t3
+ GFS_surface_composites_inter
+ GFS_suite_interstitial_2
+
+
+
+ sfc_diff
+ GFS_surface_loop_control_part1
+ sfc_nst_pre
+ sfc_nst
+ sfc_nst_post
+ lsm_noah
+ sfc_sice
+ GFS_surface_loop_control_part2
+
+
+
+ GFS_surface_composites_post
+ dcyc2t3_post
+ sfc_diag
+ sfc_diag_post
+ GFS_surface_generic_post
+ GFS_PBL_generic_pre
+ hedmf
+ GFS_PBL_generic_post
+ GFS_GWD_generic_pre
+ cires_ugwp
+ cires_ugwp_post
+ GFS_GWD_generic_post
+ rayleigh_damp
+ GFS_suite_stateout_update
+ ozphys
+ GFS_DCNV_generic_pre
+ get_phi_fv3
+ GFS_suite_interstitial_3
+ sascnvn
+ GFS_DCNV_generic_post
+ GFS_SCNV_generic_pre
+ shalcnv
+ GFS_SCNV_generic_post
+ GFS_suite_interstitial_4
+ cnvc90
+ GFS_MP_generic_pre
+ gfdl_cloud_microphys
+ GFS_MP_generic_post
+ maximum_hourly_diagnostics
+
+
+
+
+ GFS_stochastics
+
+
+
+
diff --git a/ccpp/suites/suite_FV3_GFS_2017_satmedmf.xml b/ccpp/suites/suite_FV3_GFS_2017_satmedmf.xml
index b7f58db39..af93678ac 100644
--- a/ccpp/suites/suite_FV3_GFS_2017_satmedmf.xml
+++ b/ccpp/suites/suite_FV3_GFS_2017_satmedmf.xml
@@ -70,7 +70,6 @@
GFS_DCNV_generic_post
GFS_SCNV_generic_pre
samfshalcnv
- samfshalcnv_post
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
diff --git a/ccpp/suites/suite_FV3_GFS_2017_satmedmfq.xml b/ccpp/suites/suite_FV3_GFS_2017_satmedmfq.xml
new file mode 100644
index 000000000..a975c9235
--- /dev/null
+++ b/ccpp/suites/suite_FV3_GFS_2017_satmedmfq.xml
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+ GFS_time_vary_pre
+ GFS_rrtmg_setup
+ GFS_rad_time_vary
+ GFS_phys_time_vary
+
+
+
+
+ GFS_suite_interstitial_rad_reset
+ GFS_rrtmg_pre
+ rrtmg_sw_pre
+ rrtmg_sw
+ rrtmg_sw_post
+ rrtmg_lw_pre
+ rrtmg_lw
+ rrtmg_lw_post
+ GFS_rrtmg_post
+
+
+
+
+ GFS_suite_interstitial_phys_reset
+ GFS_suite_stateout_reset
+ get_prs_fv3
+ GFS_suite_interstitial_1
+ GFS_surface_generic_pre
+ GFS_surface_composites_pre
+ dcyc2t3
+ GFS_surface_composites_inter
+ GFS_suite_interstitial_2
+
+
+
+ sfc_diff
+ GFS_surface_loop_control_part1
+ sfc_nst_pre
+ sfc_nst
+ sfc_nst_post
+ lsm_noah
+ sfc_sice
+ GFS_surface_loop_control_part2
+
+
+
+ GFS_surface_composites_post
+ dcyc2t3_post
+ sfc_diag
+ sfc_diag_post
+ GFS_surface_generic_post
+ GFS_PBL_generic_pre
+ satmedmfvdifq
+ GFS_PBL_generic_post
+ GFS_GWD_generic_pre
+ cires_ugwp
+ cires_ugwp_post
+ GFS_GWD_generic_post
+ rayleigh_damp
+ GFS_suite_stateout_update
+ ozphys
+ GFS_DCNV_generic_pre
+ get_phi_fv3
+ GFS_suite_interstitial_3
+ samfdeepcnv
+ GFS_DCNV_generic_post
+ GFS_SCNV_generic_pre
+ samfshalcnv
+ GFS_SCNV_generic_post
+ GFS_suite_interstitial_4
+ cnvc90
+ GFS_MP_generic_pre
+ zhaocarr_gscond
+ zhaocarr_precpd
+ GFS_MP_generic_post
+ maximum_hourly_diagnostics
+
+
+
+
+ GFS_stochastics
+
+
+
+
diff --git a/ccpp/suites/suite_FV3_GFS_2017_shinhong.xml b/ccpp/suites/suite_FV3_GFS_2017_shinhong.xml
index e12c294e0..756695e65 100644
--- a/ccpp/suites/suite_FV3_GFS_2017_shinhong.xml
+++ b/ccpp/suites/suite_FV3_GFS_2017_shinhong.xml
@@ -74,7 +74,6 @@
GFS_DCNV_generic_post
GFS_SCNV_generic_pre
samfshalcnv
- samfshalcnv_post
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
diff --git a/ccpp/suites/suite_FV3_GFS_2017_stretched.xml b/ccpp/suites/suite_FV3_GFS_2017_stretched.xml
index 59631dd45..6bef91b06 100644
--- a/ccpp/suites/suite_FV3_GFS_2017_stretched.xml
+++ b/ccpp/suites/suite_FV3_GFS_2017_stretched.xml
@@ -74,7 +74,6 @@
GFS_DCNV_generic_post
GFS_SCNV_generic_pre
samfshalcnv
- samfshalcnv_post
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
diff --git a/ccpp/suites/suite_FV3_GFS_2017_ysu.xml b/ccpp/suites/suite_FV3_GFS_2017_ysu.xml
index 8ec485c2b..baeb11c22 100644
--- a/ccpp/suites/suite_FV3_GFS_2017_ysu.xml
+++ b/ccpp/suites/suite_FV3_GFS_2017_ysu.xml
@@ -74,7 +74,6 @@
GFS_DCNV_generic_post
GFS_SCNV_generic_pre
samfshalcnv
- samfshalcnv_post
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
diff --git a/ccpp/suites/suite_FV3_GFS_v15.xml b/ccpp/suites/suite_FV3_GFS_v15.xml
index 124c86707..efd5fc97b 100644
--- a/ccpp/suites/suite_FV3_GFS_v15.xml
+++ b/ccpp/suites/suite_FV3_GFS_v15.xml
@@ -76,7 +76,6 @@
GFS_DCNV_generic_post
GFS_SCNV_generic_pre
samfshalcnv
- samfshalcnv_post
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
diff --git a/ccpp/suites/suite_FV3_GFS_v15_mynn.xml b/ccpp/suites/suite_FV3_GFS_v15_mynn.xml
index 0b14e37f5..8fffa33e8 100644
--- a/ccpp/suites/suite_FV3_GFS_v15_mynn.xml
+++ b/ccpp/suites/suite_FV3_GFS_v15_mynn.xml
@@ -76,7 +76,6 @@
GFS_DCNV_generic_post
GFS_SCNV_generic_pre
samfshalcnv
- samfshalcnv_post
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
diff --git a/ccpp/suites/suite_FV3_GFS_v15_thompson.xml b/ccpp/suites/suite_FV3_GFS_v15_thompson.xml
index 9400bbf98..a436c11c8 100644
--- a/ccpp/suites/suite_FV3_GFS_v15_thompson.xml
+++ b/ccpp/suites/suite_FV3_GFS_v15_thompson.xml
@@ -71,7 +71,6 @@
GFS_DCNV_generic_post
GFS_SCNV_generic_pre
samfshalcnv
- samfshalcnv_post
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
diff --git a/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn.xml b/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn.xml
index 6f46141b8..3de52fa45 100644
--- a/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn.xml
+++ b/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn.xml
@@ -71,7 +71,6 @@
GFS_DCNV_generic_post
GFS_SCNV_generic_pre
samfshalcnv
- samfshalcnv_post
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
diff --git a/ccpp/suites/suite_FV3_GFS_v15plus.xml b/ccpp/suites/suite_FV3_GFS_v15plus.xml
index 40397d4f1..837cba69f 100644
--- a/ccpp/suites/suite_FV3_GFS_v15plus.xml
+++ b/ccpp/suites/suite_FV3_GFS_v15plus.xml
@@ -76,7 +76,6 @@
GFS_DCNV_generic_post
GFS_SCNV_generic_pre
samfshalcnv
- samfshalcnv_post
GFS_SCNV_generic_post
GFS_suite_interstitial_4
cnvc90
diff --git a/gfsphysics/GFS_layer/GFS_physics_driver.F90 b/gfsphysics/GFS_layer/GFS_physics_driver.F90
index 8c9283198..731bdbb90 100644
--- a/gfsphysics/GFS_layer/GFS_physics_driver.F90
+++ b/gfsphysics/GFS_layer/GFS_physics_driver.F90
@@ -2379,6 +2379,7 @@ subroutine GFS_physics_driver &
else
if (Model%satmedmf) then
if (Model%isatmedmf == 0) then ! initial version of satmedmfvdif (Nov 2018)
+!## CCPP ##* satmedmfvdif.F/satmedmfvdif_run Note: The conditional above is checked in satmedmfvdif_init
call satmedmfvdif(ix, im, levs, nvdiff, ntcw, ntiw, ntke, &
dvdt, dudt, dtdt, dqdt, &
Statein%ugrs, Statein%vgrs, Statein%tgrs, Statein%qgrs, &
@@ -2389,7 +2390,9 @@ subroutine GFS_physics_driver &
Statein%prslk, Statein%phii, Statein%phil, dtp, &
Model%dspheat, dusfc1, dvsfc1, dtsfc1, dqsfc1, Diag%hpbl, &
kinver, Model%xkzm_m, Model%xkzm_h, Model%xkzm_s)
+!*## CCPP ##
elseif (Model%isatmedmf == 1) then ! updated version of satmedmfvdif (May 2019)
+!## CCPP ##* satmedmfvdifq.F/satmedmfvdifq_run Note: The conditional above is checked in satmedmfvdifq_init
call satmedmfvdifq(ix, im, levs, nvdiff, ntcw, ntiw, ntke, &
dvdt, dudt, dtdt, dqdt, &
Statein%ugrs, Statein%vgrs, Statein%tgrs, Statein%qgrs, &
@@ -2401,6 +2404,7 @@ subroutine GFS_physics_driver &
Model%dspheat, dusfc1, dvsfc1, dtsfc1, dqsfc1, Diag%hpbl, &
kinver, Model%xkzm_m, Model%xkzm_h, Model%xkzm_s, &
Model%dspfac, Model%bl_upfr, Model%bl_dnfr)
+!*## CCPP ##
endif
elseif (Model%hybedmf) then
if (Model%moninq_fac > 0) then
@@ -2628,8 +2632,7 @@ subroutine GFS_physics_driver &
else
if (Model%satmedmf) then
if (Model%isatmedmf == 0) then ! initial version of satmedmfvdif (Nov 2018)
-!## CCPP ## satmedmfvdif.F/satmedmfvdif_run Note: The conditional above is not checked in the CCPP scheme;
-! therefore the use of this scheme is controlled via the CCPP SDF
+!## CCPP ##* satmedmfvdif.F/satmedmfvdif_run Note: The conditional above is checked in satmedmfvdif_init
call satmedmfvdif(ix, im, levs, nvdiff, ntcw, ntiwx, ntkev, &
dvdt, dudt, dtdt, dvdftra, &
Statein%ugrs, Statein%vgrs, Statein%tgrs, vdftra, &
@@ -2642,7 +2645,7 @@ subroutine GFS_physics_driver &
kinver, Model%xkzm_m, Model%xkzm_h, Model%xkzm_s)
!*## CCPP ##
elseif (Model%isatmedmf == 1) then ! updated version of satmedmfvdif (May 2019)
-!## CCPP ##* This scheme is not in the CCPP yet.
+!## CCPP ##* satmedmfvdifq.F/satmedmfvdifq_run Note: The conditional above is checked in satmedmfvdifq_init
call satmedmfvdifq(ix, im, levs, nvdiff, ntcw, ntiwx, ntkev, &
dvdt, dudt, dtdt, dvdftra, &
Statein%ugrs, Statein%vgrs, Statein%tgrs, vdftra, &
@@ -3720,10 +3723,10 @@ subroutine GFS_physics_driver &
enddo
endif
!*## CCPP ##
-!## CCPP ##* This scheme is not in the CCPP.
if (.not. Model%ras .and. .not. Model%cscnv) then
if (Model%imfdeepcnv == 1) then ! no random cloud top
+!## CCPP ##* sascnvn.F/sascnvn_run
call sascnvn (im, ix, levs, Model%jcap, dtp, del, &
Statein%prsl, Statein%pgr, Statein%phil, clw(:,:,1:2), &
Stateout%gq0(:,:,1), Stateout%gt0, Stateout%gu0, &
@@ -4288,7 +4291,7 @@ subroutine GFS_physics_driver &
! --------------------------------------
if (Model%imfshalcnv == 1) then ! opr option now at 2014
!-----------------------
-!## CCPP ##* Not in the CCPP yet.
+!## CCPP ##* shalcnv.F/shalcnv_run
call shalcnv (im, ix, levs, Model%jcap, dtp, del, Statein%prsl, &
Statein%pgr, Statein%phil, clw, Stateout%gq0, &
Stateout%gt0, Stateout%gu0, Stateout%gv0, rain1, &
@@ -4296,7 +4299,9 @@ subroutine GFS_physics_driver &
Diag%hpbl, hflx, evap, ud_mf, dt_mf, cnvw, cnvc, &
Model%clam_shal, Model%c0s_shal, Model%c1_shal, &
Model%pgcon_shal)
+!*## CCPP ##
+!## CCPP ##* GFS_SCNV_generic.F90/GFS_SCNV_generic_post_run
do i=1,im
Diag%rainc(i) = Diag%rainc(i) + frain * rain1(i)
enddo
@@ -4336,7 +4341,7 @@ subroutine GFS_physics_driver &
Model%clam_shal, Model%c0s_shal, Model%c1_shal, &
Model%pgcon_shal, Model%asolfac_shal)
!*## CCPP ##
-!## CCPP ##* samfshalcnv.f/samfshalcnv_post_run
+!## CCPP ##* GFS_SCNV_generic.F90/GFS_SCNV_generic_post_run
do i=1,im
Diag%rainc(i) = Diag%rainc(i) + frain * rain1(i)
enddo
diff --git a/gfsphysics/GFS_layer/GFS_typedefs.F90 b/gfsphysics/GFS_layer/GFS_typedefs.F90
index 7f8239a5a..1eae89dab 100644
--- a/gfsphysics/GFS_layer/GFS_typedefs.F90
+++ b/gfsphysics/GFS_layer/GFS_typedefs.F90
@@ -781,16 +781,36 @@ module GFS_typedefs
!< 1: July 2010 version of mass-flux shallow conv scheme
!< current operational version as of 2016
!< 2: scale- & aerosol-aware mass-flux shallow conv scheme (2017)
+ !< 3: scale- & aerosol-aware Grell-Freitas scheme (GSD)
+ !< 4: New Tiedtke scheme (CAPS)
!< 0: modified Tiedtke's eddy-diffusion shallow conv scheme
!< -1: no shallow convection used
+#ifdef CCPP
+ integer :: imfshalcnv_sas = 1 !< flag for SAS mass-flux shallow convection scheme
+ integer :: imfshalcnv_samf = 2 !< flag for SAMF scale- & aerosol-aware mass-flux shallow convection scheme
+ integer :: imfshalcnv_gf = 3 !< flag for scale- & aerosol-aware Grell-Freitas scheme (GSD)
+ integer :: imfshalcnv_ntiedtke = 4 !< flag for new Tiedtke scheme (CAPS)
+#endif
integer :: imfdeepcnv !< flag for mass-flux deep convection scheme
!< 1: July 2010 version of SAS conv scheme
!< current operational version as of 2016
!< 2: scale- & aerosol-aware mass-flux deep conv scheme (2017)
+ !< 3: scale- & aerosol-aware Grell-Freitas scheme (GSD)
+ !< 4: New Tiedtke scheme (CAPS)
!< 0: old SAS Convection scheme before July 2010
- integer :: isatmedmf !< flag for scale-aware TKE-based moist edmf scheme
+#ifdef CCPP
+ integer :: imfdeepcnv_sas = 1 !< flag for SAS mass-flux deep convection scheme
+ integer :: imfdeepcnv_samf = 2 !< flag for SAMF scale- & aerosol-aware mass-flux deep convection scheme
+ integer :: imfdeepcnv_gf = 3 !< flag for scale- & aerosol-aware Grell-Freitas scheme (GSD)
+ integer :: imfdeepcnv_ntiedtke = 4 !< flag for new Tiedtke scheme (CAPS)
+#endif
+ integer :: isatmedmf !< flag for scale-aware TKE-based moist edmf scheme
!< 0: initial version of satmedmf (Nov. 2018)
!< 1: updated version of satmedmf (as of May 2019)
+#ifdef CCPP
+ integer :: isatmedmf_vdif = 0 !< flag for initial version of satmedmf (Nov. 2018)
+ integer :: isatmedmf_vdifq = 1 !< flag for updated version of satmedmf (as of May 2019)
+#endif
integer :: nmtvr !< number of topographic variables such as variance etc
!< used in the GWD parameterization
integer :: jcap !< number of spectral wave trancation used only by sascnv shalcnv
@@ -2300,7 +2320,7 @@ subroutine sfcprop_create (Sfcprop, IM, Model)
Sfcprop%cqs2 = clear_val
Sfcprop%lh = clear_val
end if
- if (Model%imfdeepcnv == 3) then
+ if (Model%imfdeepcnv == Model%imfdeepcnv_gf) then
allocate (Sfcprop%conv_act(IM))
Sfcprop%conv_act = zero
end if
@@ -3869,8 +3889,8 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
#ifdef CCPP
! Consistency check for NTDK convection: deep and shallow convection are bundled
! and cannot be combined with any other deep or shallow convection scheme
- if ( (Model%imfdeepcnv == 4 .or. Model%imfshalcnv == 4) .and. &
- .not. (Model%imfdeepcnv == 4 .and. Model%imfshalcnv == 4) ) then
+ if ( (Model%imfdeepcnv == Model%imfdeepcnv_ntiedtke .or. Model%imfshalcnv == Model%imfshalcnv_ntiedtke) .and. &
+ .not. (Model%imfdeepcnv == Model%imfdeepcnv_ntiedtke .and. Model%imfshalcnv == Model%imfshalcnv_ntiedtke) ) then
write(0,*) "Logic error: if NTDK deep convection is used, must also use NTDK shallow convection (and vice versa)"
stop
end if
@@ -3890,14 +3910,21 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
else
if (Model%imfdeepcnv == 0) then
print *,' old SAS Convection scheme before July 2010 used'
- elseif(Model%imfdeepcnv == 1) then
+#ifdef CCPP
+ elseif(Model%imfdeepcnv == Model%imfdeepcnv_sas) then
print *,' July 2010 version of SAS conv scheme used'
- elseif(Model%imfdeepcnv == 2) then
+ elseif(Model%imfdeepcnv == Model%imfdeepcnv_samf) then
print *,' scale & aerosol-aware mass-flux deep conv scheme'
- elseif(Model%imfdeepcnv == 3) then
+ elseif(Model%imfdeepcnv == Model%imfdeepcnv_gf) then
print *,' Grell-Freitas scale & aerosol-aware mass-flux deep conv scheme'
- elseif(Model%imfdeepcnv == 4) then
+ elseif(Model%imfdeepcnv == Model%imfdeepcnv_ntiedtke) then
print *,' New Tiedtke cumulus scheme'
+#else
+ elseif(Model%imfdeepcnv == 1) then
+ print *,' July 2010 version of SAS conv scheme used'
+ elseif(Model%imfdeepcnv == 2) then
+ print *,' scale & aerosol-aware mass-flux deep conv scheme'
+#endif
endif
endif
else
@@ -3913,16 +3940,19 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
print*, ' Deep convection scheme disabled'
endif
if (Model%satmedmf) then
+#ifdef CCPP
+ if (Model%isatmedmf == Model%isatmedmf_vdif) then
+ print *,' initial version (Nov 2018) of sale-aware TKE-based moist EDMF scheme used'
+ elseif(Model%isatmedmf == Model%isatmedmf_vdifq) then
+ print *,' update version (May 2019) of sale-aware TKE-based moist EDMF scheme used'
+ endif
+#else
if (Model%isatmedmf == 0) then
print *,' initial version (Nov 2018) of sale-aware TKE-based moist EDMF scheme used'
elseif(Model%isatmedmf == 1) then
-#ifdef CCPP
- print *,' Error: updated version (May 2019) of sale-aware TKE-based moist EDMF scheme not yet available in CCPP'
- stop
-#else
print *,' update version (May 2019) of sale-aware TKE-based moist EDMF scheme used'
-#endif
endif
+#endif
elseif (Model%hybedmf) then
print *,' scale-aware hybrid edmf PBL scheme used'
elseif (Model%old_monin) then
@@ -3940,14 +3970,21 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
else
if (Model%imfshalcnv == 0) then
print *,' modified Tiedtke eddy-diffusion shallow conv scheme used'
- elseif (Model%imfshalcnv == 1) then
+#ifdef CCPP
+ elseif (Model%imfshalcnv == Model%imfshalcnv_sas) then
print *,' July 2010 version of mass-flux shallow conv scheme used'
- elseif (Model%imfshalcnv == 2) then
+ elseif (Model%imfshalcnv == Model%imfshalcnv_samf) then
print *,' scale- & aerosol-aware mass-flux shallow conv scheme (2017)'
- elseif (Model%imfshalcnv == 3) then
+ elseif (Model%imfshalcnv == Model%imfshalcnv_gf) then
print *,' Grell-Freitas scale- & aerosol-aware mass-flux shallow conv scheme (2013)'
- elseif (Model%imfshalcnv == 4) then
+ elseif (Model%imfshalcnv == Model%imfshalcnv_ntiedtke) then
print *,' New Tiedtke cumulus scheme'
+#else
+ elseif (Model%imfshalcnv == 1) then
+ print *,' July 2010 version of mass-flux shallow conv scheme used'
+ elseif (Model%imfshalcnv == 2) then
+ print *,' scale- & aerosol-aware mass-flux shallow conv scheme (2017)'
+#endif
else
print *,' unknown mass-flux scheme in use - defaulting to no shallow convection'
Model%imfshalcnv = -1
@@ -4179,7 +4216,9 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
Model%lmfshal = (Model%shal_cnv .and. Model%imfshalcnv > 0)
#ifdef CCPP
- Model%lmfdeep2 = (Model%imfdeepcnv == 2 .or. Model%imfdeepcnv == 3 .or. Model%imfdeepcnv == 4)
+ Model%lmfdeep2 = (Model%imfdeepcnv == Model%imfdeepcnv_samf &
+ .or. Model%imfdeepcnv == Model%imfdeepcnv_gf &
+ .or. Model%imfdeepcnv == Model%imfdeepcnv_ntiedtke)
#else
Model%lmfdeep2 = (Model%imfdeepcnv == 2)
#endif
@@ -4389,6 +4428,7 @@ subroutine control_print(Model)
print *, ' redrag : ', Model%redrag
print *, ' hybedmf : ', Model%hybedmf
print *, ' satmedmf : ', Model%satmedmf
+ print *, ' isatmedmf : ', Model%isatmedmf
print *, ' shinhong : ', Model%shinhong
print *, ' do_ysu : ', Model%do_ysu
print *, ' dspheat : ', Model%dspheat
@@ -4734,7 +4774,7 @@ subroutine tbd_create (Tbd, IM, Model)
Tbd%htswc = clear_val
Tbd%htsw0 = clear_val
- if (Model%imfdeepcnv == 3 .or. Model%imfdeepcnv == 4) then
+ if (Model%imfdeepcnv == Model%imfdeepcnv_gf .or. Model%imfdeepcnv == Model%imfdeepcnv_ntiedtke) then
allocate(Tbd%forcet(IM, Model%levs))
allocate(Tbd%forceq(IM, Model%levs))
allocate(Tbd%prevst(IM, Model%levs))
@@ -4745,7 +4785,7 @@ subroutine tbd_create (Tbd, IM, Model)
Tbd%prevsq = clear_val
end if
- if (Model%imfdeepcnv == 3) then
+ if (Model%imfdeepcnv == Model%imfdeepcnv_gf) then
allocate(Tbd%cactiv(IM))
Tbd%cactiv = zero
end if
diff --git a/gfsphysics/GFS_layer/GFS_typedefs.meta b/gfsphysics/GFS_layer/GFS_typedefs.meta
index 79ab00129..aaed9e9ef 100644
--- a/gfsphysics/GFS_layer/GFS_typedefs.meta
+++ b/gfsphysics/GFS_layer/GFS_typedefs.meta
@@ -2777,18 +2777,90 @@
units = flag
dimensions = ()
type = integer
+[imfshalcnv_sas]
+ standard_name = flag_for_sas_shallow_convection_scheme
+ long_name = flag for SAS shallow convection scheme
+ units = flag
+ dimensions = ()
+ type = integer
+[imfshalcnv_samf]
+ standard_name = flag_for_samf_shallow_convection_scheme
+ long_name = flag for SAMF shallow convection scheme
+ units = flag
+ dimensions = ()
+ type = integer
+[imfshalcnv_gf]
+ standard_name = flag_for_gf_shallow_convection_scheme
+ long_name = flag for Grell-Freitas shallow convection scheme
+ units = flag
+ dimensions = ()
+ type = integer
+[imfshalcnv_gf]
+ standard_name = flag_for_ntiedtke_shallow_convection_scheme
+ long_name = flag for new Tiedtke shallow convection scheme
+ units = flag
+ dimensions = ()
+ type = integer
[imfdeepcnv]
standard_name = flag_for_mass_flux_deep_convection_scheme
long_name = flag for mass-flux deep convection scheme
units = flag
dimensions = ()
type = integer
+[imfdeepcnv_sas]
+ standard_name = flag_for_sas_deep_convection_scheme
+ long_name = flag for SAS deep convection scheme
+ units = flag
+ dimensions = ()
+ type = integer
+[imfdeepcnv_samf]
+ standard_name = flag_for_samf_deep_convection_scheme
+ long_name = flag for SAMF deep convection scheme
+ units = flag
+ dimensions = ()
+ type = integer
+[imfdeepcnv_gf]
+ standard_name = flag_for_gf_deep_convection_scheme
+ long_name = flag for Grell-Freitas deep convection scheme
+ units = flag
+ dimensions = ()
+ type = integer
+[imfdeepcnv_ntiedtke]
+ standard_name = flag_for_ntiedtke_deep_convection_scheme
+ long_name = flag for new Tiedtke deep convection scheme
+ units = flag
+ dimensions = ()
+ type = integer
+[isatmedmf]
+ standard_name = choice_of_scale_aware_TKE_moist_EDMF_PBL
+ long_name = choice of scale-aware TKE moist EDMF PBL scheme
+ units = none
+ dimensions = ()
+ type = integer
+[isatmedmf_vdif]
+ standard_name = choice_of_original_scale_aware_TKE_moist_EDMF_PBL
+ long_name = choice of original scale-aware TKE moist EDMF PBL scheme
+ units = none
+ dimensions = ()
+ type = integer
+[isatmedmf_vdifq]
+ standard_name = choice_of_updated_scale_aware_TKE_moist_EDMF_PBL
+ long_name = choice of updated scale-aware TKE moist EDMF PBL scheme
+ units = none
+ dimensions = ()
+ type = integer
[nmtvr]
standard_name = number_of_statistical_measures_of_subgrid_orography
long_name = number of topographic variables in GWD
units = count
dimensions = ()
type = integer
+[jcap]
+ standard_name = number_of_spectral_wave_trancation_for_sas
+ long_name = number of spectral wave trancation used only by sascnv and shalcnv
+ units = count
+ dimensions = ()
+ type = integer
[cs_parm(1)]
standard_name = updraft_velocity_tunable_parameter_1_CS
long_name = tunable parameter 1 for Chikira-Sugiyama convection
@@ -2896,91 +2968,91 @@
kind = kind_phys
[c0s_deep]
standard_name = rain_conversion_parameter_deep_convection
- long_name = convective rain conversion parameter for deep conv.
+ long_name = convective rain conversion parameter for deep convection
units = m-1
dimensions = ()
type = real
kind = kind_phys
[c1_deep]
standard_name = detrainment_conversion_parameter_deep_convection
- long_name = convective detrainment conversion parameter for deep conv.
+ long_name = convective detrainment conversion parameter for deep convection
units = m-1
dimensions = ()
type = real
kind = kind_phys
[betal_deep]
standard_name = downdraft_fraction_reaching_surface_over_land_deep_convection
- long_name = downdraft fraction reaching surface over land for deep conv.
+ long_name = downdraft fraction reaching surface over land for deep convection
units = frac
dimensions = ()
type = real
kind = kind_phys
[betas_deep]
standard_name = downdraft_fraction_reaching_surface_over_ocean_deep_convection
- long_name = downdraft fraction reaching surface over ocean for deep conv.
+ long_name = downdraft fraction reaching surface over ocean for deep convection
units = frac
dimensions = ()
type = real
kind = kind_phys
[evfact_deep]
standard_name = rain_evaporation_coefficient_deep_convection
- long_name = convective rain evaporation coefficient for deep conv.
+ long_name = convective rain evaporation coefficient for deep convection
units = frac
dimensions = ()
type = real
kind = kind_phys
[evfactl_deep]
standard_name = rain_evaporation_coefficient_over_land_deep_convection
- long_name = convective rain evaporation coefficient over land for deep conv.
+ long_name = convective rain evaporation coefficient over land for deep convection
units = frac
dimensions = ()
type = real
kind = kind_phys
[pgcon_deep]
standard_name = momentum_transport_reduction_factor_pgf_deep_convection
- long_name = reduction factor in momentum transport due to deep conv. induced pressure gradient force
+ long_name = reduction factor in momentum transport due to deep convection induced pressure gradient force
units = frac
dimensions = ()
type = real
kind = kind_phys
[asolfac_deep]
standard_name = aerosol_aware_parameter_deep_convection
- long_name = aerosol-aware parameter inversely proportional to CCN number concentraion from Lim (2011) for deep conv.
+ long_name = aerosol-aware parameter inversely proportional to CCN number concentraion from Lim (2011) for deep convection
units = none
dimensions = ()
type = real
kind = kind_phys
[clam_shal]
standard_name = entrainment_rate_coefficient_shallow_convection
- long_name = entrainment rate coefficient for shal conv.
+ long_name = entrainment rate coefficient for shallow convection
units = none
dimensions = ()
type = real
kind = kind_phys
[c0s_shal]
standard_name = rain_conversion_parameter_shallow_convection
- long_name = convective rain conversion parameter for shal conv.
+ long_name = convective rain conversion parameter for shallow convection
units = m-1
dimensions = ()
type = real
kind = kind_phys
[c1_shal]
standard_name = detrainment_conversion_parameter_shallow_convection
- long_name = convective detrainment conversion parameter for shal conv.
+ long_name = convective detrainment conversion parameter for shallow convection
units = m-1
dimensions = ()
type = real
kind = kind_phys
[pgcon_shal]
standard_name = momentum_transport_reduction_factor_pgf_shallow_convection
- long_name = reduction factor in momentum transport due to shal conv. induced pressure gradient force
+ long_name = reduction factor in momentum transport due to shallow convection induced pressure gradient force
units = frac
dimensions = ()
type = real
kind = kind_phys
[asolfac_shal]
standard_name = aerosol_aware_parameter_shallow_convection
- long_name = aerosol-aware parameter inversely proportional to CCN number concentraion from Lim (2011) for shal conv.
+ long_name = aerosol-aware parameter inversely proportional to CCN number concentraion from Lim (2011) for shallow convection
units = none
dimensions = ()
type = real
@@ -5294,14 +5366,14 @@
kind = kind_phys
[dt3dt(:,:,4)]
standard_name = cumulative_change_in_temperature_due_to_deep_convection
- long_name = cumulative change in temperature due to deep conv.
+ long_name = cumulative change in temperature due to deep convection
units = K
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
[dt3dt(:,:,5)]
standard_name = cumulative_change_in_temperature_due_to_shal_convection
- long_name = cumulative change in temperature due to shal conv.
+ long_name = cumulative change in temperature due to shallow convection
units = K
dimensions = (horizontal_dimension,vertical_dimension)
type = real
@@ -5329,14 +5401,14 @@
kind = kind_phys
[dq3dt(:,:,2)]
standard_name = cumulative_change_in_water_vapor_specific_humidity_due_to_deep_convection
- long_name = cumulative change in water vapor specific humidity due to deep conv.
+ long_name = cumulative change in water vapor specific humidity due to deep convection
units = kg kg-1
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
[dq3dt(:,:,3)]
standard_name = cumulative_change_in_water_vapor_specific_humidity_due_to_shal_convection
- long_name = cumulative change in water vapor specific humidity due to shal conv.
+ long_name = cumulative change in water vapor specific humidity due to shallow convection
units = kg kg-1
dimensions = (horizontal_dimension,vertical_dimension)
type = real
@@ -7103,7 +7175,7 @@
kind = kind_phys
[ncstrac]
standard_name = number_of_tracers_for_CS
- long_name = number of convectively transported tracers in Chikira-Sugiyama deep conv. scheme
+ long_name = number of convectively transported tracers in Chikira-Sugiyama deep convection scheme
units = count
dimensions = ()
type = integer
diff --git a/makefile b/makefile
index ff09a48f8..f0f84c4b4 100644
--- a/makefile
+++ b/makefile
@@ -47,7 +47,7 @@ libs:
$(MAKE) -C atmos_cubed_sphere $(MAKE_OPTS) FMS_DIR=$(FMS_DIR)
$(MAKE) -C ../stochastic_physics $(MAKE_OPTS) FMS_DIR=$(FMS_DIR) 32BIT=N # force gfs physics to 64bit
-$(FV3_EXE): atmos_model.o coupler_main.o ccpp/driver/libccppdriver.a atmos_cubed_sphere/libfv3core.a io/libfv3io.a ipd/libipd.a $(PHYSP)physics/lib$(PHYSP)phys.a ../stochastic_physics/libstochastic_physics.a cpl/libfv3cpl.a fms/libfms.a
+$(FV3_EXE): atmos_model.o coupler_main.o ccpp/driver/libccppdriver.a atmos_cubed_sphere/libfv3core.a io/libfv3io.a ipd/libipd.a $(PHYSP)physics/lib$(PHYSP)phys.a ../stochastic_physics/libstochastic_physics.a cpl/libfv3cpl.a
$(LD) -o $@ $^ $(NCEPLIBS) $(LDFLAGS)
else
@@ -59,7 +59,7 @@ libs:
$(MAKE) -C atmos_cubed_sphere $(MAKE_OPTS) FMS_DIR=$(FMS_DIR)
$(MAKE) -C ../stochastic_physics $(MAKE_OPTS) FMS_DIR=$(FMS_DIR) 32BIT=N # force gfs physics to 64bit
-$(FV3_EXE): atmos_model.o coupler_main.o atmos_cubed_sphere/libfv3core.a io/libfv3io.a ipd/libipd.a $(PHYSP)physics/lib$(PHYSP)phys.a ../stochastic_physics/libstochastic_physics.a cpl/libfv3cpl.a fms/libfms.a
+$(FV3_EXE): atmos_model.o coupler_main.o atmos_cubed_sphere/libfv3core.a io/libfv3io.a ipd/libipd.a $(PHYSP)physics/lib$(PHYSP)phys.a ../stochastic_physics/libstochastic_physics.a cpl/libfv3cpl.a
$(LD) -o $@ $^ $(NCEPLIBS) $(LDFLAGS)
endif
@@ -100,7 +100,7 @@ esmf_make_fragment:
@echo "ESMF_DEP_FRONT = fv3gfs_cap_mod" >> fv3.mk
# additional include files needed for PGI
#@echo "ESMF_DEP_INCPATH = $(PWD)/nems_dir" >> fv3.mk
- @echo "ESMF_DEP_INCPATH = $(PWD) $(addprefix $(PWD)/, nems_dir ccpp/driver atmos_cubed_sphere io fms gfsphysics cpl ipd ../stochastic_physics)" >> fv3.mk
+ @echo "ESMF_DEP_INCPATH = $(PWD) $(addprefix $(PWD)/, nems_dir ccpp/driver atmos_cubed_sphere io gfsphysics cpl ipd ../stochastic_physics)" >> fv3.mk
@echo "ESMF_DEP_CMPL_OBJS =" >> fv3.mk
@echo "ESMF_DEP_LINK_OBJS = $(addprefix $(PWD)/nems_dir/, libfv3cap.a libccppdriver.a libfv3core.a libfv3io.a libipd.a lib$(PHYSP)phys.a libfv3cpl.a libstochastic_physics.a) $(SIONLIB_LINK_FLAGS)" >> fv3.mk
@echo "ESMF_DEP_SHRD_PATH =" >> fv3.mk
@@ -119,7 +119,7 @@ esmf_make_fragment:
@echo "ESMF_DEP_FRONT = fv3gfs_cap_mod" >> fv3.mk
# additional include files needed for PGI
#@echo "ESMF_DEP_INCPATH = $(PWD)/nems_dir" >> fv3.mk
- @echo "ESMF_DEP_INCPATH = $(PWD) $(addprefix $(PWD)/, nems_dir atmos_cubed_sphere io fms gfsphysics cpl ipd ../stochastic_physics)" >> fv3.mk
+ @echo "ESMF_DEP_INCPATH = $(PWD) $(addprefix $(PWD)/, nems_dir atmos_cubed_sphere io gfsphysics cpl ipd ../stochastic_physics)" >> fv3.mk
@echo "ESMF_DEP_CMPL_OBJS =" >> fv3.mk
@echo "ESMF_DEP_LINK_OBJS = $(addprefix $(PWD)/nems_dir/, libfv3cap.a libfv3core.a libfv3io.a libipd.a lib$(PHYSP)phys.a libfv3cpl.a libstochastic_physics.a)" >> fv3.mk
@echo "ESMF_DEP_SHRD_PATH =" >> fv3.mk