Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/ci_run_scm_rts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@ jobs:
./contrib/get_thompson_tables.sh
./contrib/get_tempo_data.sh
./contrib/get_aerosol_climo.sh
./contrib/get_rrtmgp_data.sh

- name: Configure build with CMake (Release)
if: contains(matrix.build-type, 'Release')
Expand Down Expand Up @@ -196,7 +197,7 @@ jobs:
uses: actions/download-artifact@v6
with:
name: rt-baselines-${{matrix.build-type}}-main
path: ${dir_bl}
path: ${{ env.dir_bl }}
github-token: ${{ secrets.GITHUB_TOKEN }}
run-id: ${{ env.artifact_id }}

Expand Down
2 changes: 1 addition & 1 deletion ccpp/physics
Submodule physics updated 27 files
+1 −1 .gitmodules
+34 −22 CMakeLists.txt
+2 −2 physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.fv3.meta
+2 −2 physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.scm.meta
+24 −20 physics/Interstitials/UFS_SCM_NEPTUNE/GFS_radiation_post.F90
+1 −0 physics/Interstitials/UFS_SCM_NEPTUNE/GFS_radiation_post.meta
+1 −1 physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_setup.meta
+35 −37 physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_cloud_mp.F90
+0 −14 physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_cloud_mp.meta
+1 −1 physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_pre.F90
+1 −1 physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_setup.meta
+2 −2 physics/Radiation/RRTMG/radlw_main.F90
+1 −1 physics/Radiation/RRTMG/radsw_main.F90
+66 −187 physics/Radiation/RRTMGP/rrtmgp_lw_cloud_optics.F90
+35 −8 physics/Radiation/RRTMGP/rrtmgp_lw_gas_optics.F90
+54 −56 physics/Radiation/RRTMGP/rrtmgp_lw_main.F90
+5 −18 physics/Radiation/RRTMGP/rrtmgp_lw_main.meta
+65 −187 physics/Radiation/RRTMGP/rrtmgp_sw_cloud_optics.F90
+44 −10 physics/Radiation/RRTMGP/rrtmgp_sw_gas_optics.F90
+65 −69 physics/Radiation/RRTMGP/rrtmgp_sw_main.F90
+4 −18 physics/Radiation/RRTMGP/rrtmgp_sw_main.meta
+1 −1 physics/Radiation/RRTMGP/rte-rrtmgp
+0 −1 physics/docs/pdftxt/RE6/SCM_GFS_v17_p8_input.nml
+0 −1 physics/docs/pdftxt/RE6/SCM_RAP_input.nml
+0 −1 physics/docs/pdftxt/RE7/input_GFS_v16_RRTMGP.nml
+0 −1 physics/docs/pdftxt/RE7/input_GFS_v17_p8_ugwpv1.nml
+0 −3 physics/docs/pdftxt/suite_input.nml.txt
11 changes: 5 additions & 6 deletions ccpp/physics_namelists/input_GFS_v15p2_RRTMGP.nml
Original file line number Diff line number Diff line change
Expand Up @@ -49,12 +49,11 @@
do_RRTMGP = .true.
active_gases = 'h2o_co2_o3_n2o_ch4_o2'
ngases = 6
rrtmgp_root = '../../ccpp/physics/physics/Radiation/RRTMGP/rte-rrtmgp/'
lw_file_gas = 'rrtmgp/data/rrtmgp-data-lw-g256-2018-12-04.nc'
lw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-lw.nc'
sw_file_gas = 'rrtmgp/data/rrtmgp-data-sw-g224-2018-12-04.nc'
sw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-reordered-sw.nc'
doG_cldoptics = .true.
rrtmgp_root = '../data/physics_input_data/'
lw_file_gas = 'rrtmgp-gas-lw-g128.nc'
lw_file_clouds = 'rrtmgp-clouds-lw-g128.nc'
sw_file_gas = 'rrtmgp-gas-sw-g112.nc'
sw_file_clouds = 'rrtmgp-clouds-sw-g112.nc'
rrtmgp_ngauss_ang = 3
rrtmgp_nrghice = 3
/
Expand Down
11 changes: 5 additions & 6 deletions ccpp/physics_namelists/input_GFS_v16_RRTMGP.nml
Original file line number Diff line number Diff line change
Expand Up @@ -77,15 +77,14 @@
trans_trac = .true.
use_ufo = .true.
do_RRTMGP = .true.
doGP_cldoptics_LUT = .true.
doGP_lwscat = .true.
active_gases = 'h2o_co2_o3_n2o_ch4_o2'
ngases = 6
rrtmgp_root = '../../ccpp/physics/physics/Radiation/RRTMGP/rte-rrtmgp/'
lw_file_gas = 'rrtmgp/data/rrtmgp-data-lw-g128-210809.nc'
lw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-lw.nc'
sw_file_gas = 'rrtmgp/data/rrtmgp-data-sw-g112-210809.nc'
sw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-reordered-sw.nc'
rrtmgp_root = '../data/physics_input_data/'
lw_file_gas = 'rrtmgp-gas-lw-g128.nc'
lw_file_clouds = 'rrtmgp-clouds-lw-g128.nc'
sw_file_gas = 'rrtmgp-gas-sw-g112.nc'
sw_file_clouds = 'rrtmgp-clouds-sw-g112.nc'
rrtmgp_nGptsSW = 112
rrtmgp_nGptsLW = 128
rrtmgp_nBandsLW = 16
Expand Down
11 changes: 5 additions & 6 deletions ccpp/physics_namelists/input_GFS_v16_RRTMGP_ps.nml
Original file line number Diff line number Diff line change
Expand Up @@ -77,15 +77,14 @@
trans_trac = .true.
use_ufo = .true.
do_RRTMGP = .true.
doGP_cldoptics_LUT = .true.
doGP_lwscat = .true.
active_gases = 'h2o_co2_o3_n2o_ch4_o2'
ngases = 6
rrtmgp_root = '../../ccpp/physics/physics/Radiation/RRTMGP/rte-rrtmgp/'
lw_file_gas = 'rrtmgp/data/rrtmgp-data-lw-g128-210809.nc'
lw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-lw.nc'
sw_file_gas = 'rrtmgp/data/rrtmgp-data-sw-g112-210809.nc'
sw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-reordered-sw.nc'
rrtmgp_root = '../data/physics_input_data/'
lw_file_gas = 'rrtmgp-gas-lw-g128.nc'
lw_file_clouds = 'rrtmgp-clouds-lw-g128.nc'
sw_file_gas = 'rrtmgp-gas-sw-g112.nc'
sw_file_clouds = 'rrtmgp-clouds-sw-g112.nc'
rrtmgp_nGptsSW = 112
rrtmgp_nGptsLW = 128
rrtmgp_nBandsLW = 16
Expand Down
11 changes: 5 additions & 6 deletions ccpp/physics_namelists/input_GFS_v17_hr1.nml
Original file line number Diff line number Diff line change
Expand Up @@ -100,15 +100,14 @@
do_shum = .false.
do_skeb = .false.
do_RRTMGP = .false.
doGP_cldoptics_LUT = .true.
doGP_lwscat = .true.
active_gases = 'h2o_co2_o3_n2o_ch4_o2'
ngases = 6
rrtmgp_root = '../../ccpp/physics/physics/rte-rrtmgp/'
lw_file_gas = 'rrtmgp/data/rrtmgp-data-lw-g128-210809.nc'
lw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-lw.nc'
sw_file_gas = 'rrtmgp/data/rrtmgp-data-sw-g112-210809.nc'
sw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-sw.nc'
rrtmgp_root = '../data/physics_input_data/'
lw_file_gas = 'rrtmgp-gas-lw-g128.nc'
lw_file_clouds = 'rrtmgp-clouds-lw-g128.nc'
sw_file_gas = 'rrtmgp-gas-sw-g112.nc'
sw_file_clouds = 'rrtmgp-clouds-sw-g112.nc'
rrtmgp_nGptsSW = 112
rrtmgp_nGptsLW = 128
rrtmgp_nBandsLW = 16
Expand Down
11 changes: 5 additions & 6 deletions ccpp/physics_namelists/input_GFS_v17_hr1_c3.nml
Original file line number Diff line number Diff line change
Expand Up @@ -100,15 +100,14 @@
do_shum = .false.
do_skeb = .false.
do_RRTMGP = .false.
doGP_cldoptics_LUT = .true.
doGP_lwscat = .true.
active_gases = 'h2o_co2_o3_n2o_ch4_o2'
ngases = 6
rrtmgp_root = '../../ccpp/physics/physics/rte-rrtmgp/'
lw_file_gas = 'rrtmgp/data/rrtmgp-data-lw-g128-210809.nc'
lw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-lw.nc'
sw_file_gas = 'rrtmgp/data/rrtmgp-data-sw-g112-210809.nc'
sw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-sw.nc'
rrtmgp_root = '../data/physics_input_data/'
lw_file_gas = 'rrtmgp-gas-lw-g128.nc'
lw_file_clouds = 'rrtmgp-clouds-lw-g128.nc'
sw_file_gas = 'rrtmgp-gas-sw-g112.nc'
sw_file_clouds = 'rrtmgp-clouds-sw-g112.nc'
rrtmgp_nGptsSW = 112
rrtmgp_nGptsLW = 128
rrtmgp_nBandsLW = 16
Expand Down
11 changes: 5 additions & 6 deletions ccpp/physics_namelists/input_GFS_v17_p8.nml
Original file line number Diff line number Diff line change
Expand Up @@ -99,15 +99,14 @@
do_shum = .false.
do_skeb = .false.
do_RRTMGP = .false.
doGP_cldoptics_LUT = .true.
doGP_lwscat = .true.
active_gases = 'h2o_co2_o3_n2o_ch4_o2'
ngases = 6
rrtmgp_root = '../../ccpp/physics/physics/rte-rrtmgp/'
lw_file_gas = 'rrtmgp/data/rrtmgp-data-lw-g128-210809.nc'
lw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-lw.nc'
sw_file_gas = 'rrtmgp/data/rrtmgp-data-sw-g112-210809.nc'
sw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-sw.nc'
rrtmgp_root = '../data/physics_input_data/'
lw_file_gas = 'rrtmgp-gas-lw-g128.nc'
lw_file_clouds = 'rrtmgp-clouds-lw-g128.nc'
sw_file_gas = 'rrtmgp-gas-sw-g112.nc'
sw_file_clouds = 'rrtmgp-clouds-sw-g112.nc'
rrtmgp_nGptsSW = 112
rrtmgp_nGptsLW = 128
rrtmgp_nBandsLW = 16
Expand Down
11 changes: 5 additions & 6 deletions ccpp/physics_namelists/input_GFS_v17_p8_ps.nml
Original file line number Diff line number Diff line change
Expand Up @@ -99,15 +99,14 @@
do_shum = .false.
do_skeb = .false.
do_RRTMGP = .false.
doGP_cldoptics_LUT = .true.
doGP_lwscat = .true.
active_gases = 'h2o_co2_o3_n2o_ch4_o2'
ngases = 6
rrtmgp_root = '../../ccpp/physics/physics/rte-rrtmgp/'
lw_file_gas = 'rrtmgp/data/rrtmgp-data-lw-g128-210809.nc'
lw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-lw.nc'
sw_file_gas = 'rrtmgp/data/rrtmgp-data-sw-g112-210809.nc'
sw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-sw.nc'
rrtmgp_root = '../data/physics_input_data/'
lw_file_gas = 'rrtmgp-gas-lw-g128.nc'
lw_file_clouds = 'rrtmgp-clouds-lw-g128.nc'
sw_file_gas = 'rrtmgp-gas-sw-g112.nc'
sw_file_clouds = 'rrtmgp-clouds-sw-g112.nc'
rrtmgp_nGptsSW = 112
rrtmgp_nGptsLW = 128
rrtmgp_nBandsLW = 16
Expand Down
11 changes: 5 additions & 6 deletions ccpp/physics_namelists/input_GFS_v17_p8_ugwpv1.nml
Original file line number Diff line number Diff line change
Expand Up @@ -105,15 +105,14 @@
do_shum = .false.
do_skeb = .false.
do_RRTMGP = .false.
doGP_cldoptics_LUT = .true.
doGP_lwscat = .true.
active_gases = 'h2o_co2_o3_n2o_ch4_o2'
ngases = 6
rrtmgp_root = '../../ccpp/physics/physics/rte-rrtmgp/'
lw_file_gas = 'rrtmgp/data/rrtmgp-data-lw-g128-210809.nc'
lw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-lw.nc'
sw_file_gas = 'rrtmgp/data/rrtmgp-data-sw-g112-210809.nc'
sw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-sw.nc'
rrtmgp_root = '../data/physics_input_data/'
lw_file_gas = 'rrtmgp-gas-lw-g128.nc'
lw_file_clouds = 'rrtmgp-clouds-lw-g128.nc'
sw_file_gas = 'rrtmgp-gas-sw-g112.nc'
sw_file_clouds = 'rrtmgp-clouds-sw-g112.nc'
rrtmgp_nGptsSW = 112
rrtmgp_nGptsLW = 128
rrtmgp_nBandsLW = 16
Expand Down
11 changes: 5 additions & 6 deletions ccpp/physics_namelists/input_GFS_v17_p8_ugwpv1_ps.nml
Original file line number Diff line number Diff line change
Expand Up @@ -104,15 +104,14 @@
do_shum = .false.
do_skeb = .false.
do_RRTMGP = .false.
doGP_cldoptics_LUT = .true.
doGP_lwscat = .true.
active_gases = 'h2o_co2_o3_n2o_ch4_o2'
ngases = 6
rrtmgp_root = '../../ccpp/physics/physics/rte-rrtmgp/'
lw_file_gas = 'rrtmgp/data/rrtmgp-data-lw-g128-210809.nc'
lw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-lw.nc'
sw_file_gas = 'rrtmgp/data/rrtmgp-data-sw-g112-210809.nc'
sw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-sw.nc'
rrtmgp_root = '../data/physics_input_data/'
lw_file_gas = 'rrtmgp-gas-lw-g128.nc'
lw_file_clouds = 'rrtmgp-clouds-lw-g128.nc'
sw_file_gas = 'rrtmgp-gas-sw-g112.nc'
sw_file_clouds = 'rrtmgp-clouds-sw-g112.nc'
rrtmgp_nGptsSW = 112
rrtmgp_nGptsLW = 128
rrtmgp_nBandsLW = 16
Expand Down
11 changes: 5 additions & 6 deletions ccpp/physics_namelists/input_GFS_v17_p8_ugwpv1_tempo.nml
Original file line number Diff line number Diff line change
Expand Up @@ -104,15 +104,14 @@
do_shum = .false.
do_skeb = .false.
do_RRTMGP = .false.
doGP_cldoptics_LUT = .true.
doGP_lwscat = .true.
active_gases = 'h2o_co2_o3_n2o_ch4_o2'
ngases = 6
rrtmgp_root = '../../ccpp/physics/physics/rte-rrtmgp/'
lw_file_gas = 'rrtmgp/data/rrtmgp-data-lw-g128-210809.nc'
lw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-lw.nc'
sw_file_gas = 'rrtmgp/data/rrtmgp-data-sw-g112-210809.nc'
sw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-sw.nc'
rrtmgp_root = '../data/physics_input_data/'
lw_file_gas = 'rrtmgp-gas-lw-g128.nc'
lw_file_clouds = 'rrtmgp-clouds-lw-g128.nc'
sw_file_gas = 'rrtmgp-gas-sw-g112.nc'
sw_file_clouds = 'rrtmgp-clouds-sw-g112.nc'
rrtmgp_nGptsSW = 112
rrtmgp_nGptsLW = 128
rrtmgp_nBandsLW = 16
Expand Down
11 changes: 5 additions & 6 deletions ccpp/physics_namelists/input_GFS_v17_p8_ugwpv1_tempo_ps.nml
Original file line number Diff line number Diff line change
Expand Up @@ -104,15 +104,14 @@
do_shum = .false.
do_skeb = .false.
do_RRTMGP = .false.
doGP_cldoptics_LUT = .true.
doGP_lwscat = .true.
active_gases = 'h2o_co2_o3_n2o_ch4_o2'
ngases = 6
rrtmgp_root = '../../ccpp/physics/physics/rte-rrtmgp/'
lw_file_gas = 'rrtmgp/data/rrtmgp-data-lw-g128-210809.nc'
lw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-lw.nc'
sw_file_gas = 'rrtmgp/data/rrtmgp-data-sw-g112-210809.nc'
sw_file_clouds = 'extensions/cloud_optics/rrtmgp-cloud-optics-coeffs-sw.nc'
rrtmgp_root = '../data/physics_input_data/'
lw_file_gas = 'rrtmgp-gas-lw-g128.nc'
lw_file_clouds = 'rrtmgp-clouds-lw-g128.nc'
sw_file_gas = 'rrtmgp-gas-sw-g112.nc'
sw_file_clouds = 'rrtmgp-clouds-sw-g112.nc'
rrtmgp_nGptsSW = 112
rrtmgp_nGptsLW = 128
rrtmgp_nBandsLW = 16
Expand Down
1 change: 0 additions & 1 deletion ccpp/physics_namelists/input_RAP.nml
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,6 @@
bl_mynn_edmf = 1
bl_mynn_edmf_mom = 1
do_RRTMGP = .false.
doGP_cldoptics_LUT = .false.
doGP_lwscat = .false.
/

Expand Down
51 changes: 51 additions & 0 deletions contrib/get_rrtmgp_data.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#!/bin/bash

# Function to display help message
print_help() {
echo "get_tempo_data.sh: contrib/get_rrtmgp_data.sh [-v,--verbose]"
echo " Script for downloading the RRTMGP data."
echo ""
echo "Options:"
echo " -v, --verbose Turn on wget verbose output."
echo " --help Show this help message and exit."
}

verbose="-q"
# Parse command-line arguments
while [[ "$#" -gt 0 ]]; do
case $1 in
--help)
print_help
exit 0
;;
-v|--verbose)
verbose="-v"
;;
*)
echo "Unknown option: $1"
print_help
exit 1
;;
esac
shift
done

set -ex

if [[ $(uname -s) == Darwin ]]; then
if [[ $(sw_vers -productVersion) < 12.3 ]]; then
MYDIR=$(cd "$(dirname "$(greadlink -f -n "${BASH_SOURCE[0]}" )" )" && pwd -P)
else
MYDIR=$(cd "$(dirname "$(readlink -f -n "${BASH_SOURCE[0]}" )" )" && pwd -P)
fi
else
MYDIR=$(cd "$(dirname "$(readlink -f -n "${BASH_SOURCE[0]}" )" )" && pwd -P)
fi
BASEDIR=$MYDIR/..

# Change to directory containing the physics input data, download and extract archive
cd $BASEDIR/scm/data/physics_input_data/
wget ${verbose} https://github.com/NCAR/ccpp-scm/releases/download/v7.0.0/rrtmgp_data.tar.gz
tar -xvzf rrtmgp_data.tar.gz
rm -f rrtmgp_data.tar.gz
cd $BASEDIR/
5 changes: 3 additions & 2 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -140,8 +140,9 @@ ENTRYPOINT ["sh", "-c", "\
if [ -n \"$PR_NUMBER\" ]; then \
./contrib/get_aerosol_climo.sh && \
./contrib/get_all_static_data.sh && \
./contrib/get_thompson_tables.sh; \
./contrib/get_tempo_data.sh; \
./contrib/get_thompson_tables.sh && \
./contrib/get_tempo_data.sh && \
./contrib/get_rrtmgp_data.sh; \
fi && \
cd /comsoftware/ccpp-scm/scm/bin && \
exec sh"]
17 changes: 17 additions & 0 deletions scm/src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,7 @@ set(32BIT OFF CACHE BOOL "Enable 32BIT (single precision arithmetic in
set(AVX2 ON CACHE BOOL "Enable AVX2 instruction set")
set(AVX OFF CACHE BOOL "Enable AVX-I instruction set")
set(SIMDMULTIARCH OFF CACHE BOOL "Enable multi-target SIMD instruction sets")
set(RRTMGP_32BIT OFF CACHE BOOL "Enable 32BIT (single precision arithmetic in rte-rrtmgp radiation)")

#------------------------------------------------------------------------------
# Set compile options
Expand Down Expand Up @@ -264,6 +265,22 @@ else()
set(CMAKE_Fortran_FLAGS_DYNAMICS "")
endif()

#------------------------------------------------------------------------------
# Set flags for rte-rrtmgp radiation
if(RRTMGP_32BIT)
message(STATUS "Compile CCPP RTE-RRTMGP with 32-bit precision")
add_definitions(-DRTE_USE_SP)
if(CMAKE_Fortran_COMPILER_ID MATCHES "Intel")
set(CMAKE_Fortran_FLAGS_RTERRTMGP "-real-size 32")
elseif(CMAKE_Fortran_COMPILER_ID MATCHES "GNU")
set(CMAKE_Fortran_FLAGS_RTERRTMGP "-fno-default-real-8 -fdefault-double-8")
endif()
else()
message(STATUS "Compile CCPP RTE-RRTMGP with 64-bit precision")
remove_definitions(-DRTE_USE_SP)
set(CMAKE_Fortran_FLAGS_RTERRTMGP ${CMAKE_Fortran_FLAGS_PHYSICS})
endif()

#------------------------------------------------------------------------------
# Set netCDF flags for preprocessor
ADD_DEFINITIONS(-DNETCDF)
Expand Down
Loading
Loading