Skip to content

Commit

Permalink
Update ccpp-physics. Make RRTMGP thread safe (#418)
Browse files Browse the repository at this point in the history
Changes to the initialization and setup of the RRTMGP radiation scheme to allow for use across multiple OpenMP threads.
* Moved Interstitial RRTMGP DDTs (ty_rrtmgp_gas_optics, ty_cloud_optics) to static fields defined during initialization in module memory.
* Add "$omp critical" statements around the calling type-bound procedures during initialization.
* Move allocation of ty_gas_conc from Interstitial to GFS_typedefs. Initialize ty_gas_concs for all blocks during initialization.
  • Loading branch information
dustinswales authored Feb 25, 2021
1 parent 250c2c5 commit 4c3b6d5
Show file tree
Hide file tree
Showing 12 changed files with 1,865 additions and 1,372 deletions.
2 changes: 1 addition & 1 deletion FV3
66 changes: 33 additions & 33 deletions tests/RegressionTests_cheyenne.gnu.log
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Wed Feb 17 13:05:22 MST 2021
Wed Feb 24 11:31:32 MST 2021
Start Regression test


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_gfdlmp_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_gfdlmp_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_gfdlmp_prod
Checking test 001 fv3_ccpp_gfdlmp results ....
Comparing atmos_4xdaily.tile1.nc .........OK
Comparing atmos_4xdaily.tile2.nc .........OK
Expand Down Expand Up @@ -51,7 +51,7 @@ Test 001 fv3_ccpp_gfdlmp PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_gfs_v15p2_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_gfs_v15p2_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_gfs_v15p2_prod
Checking test 002 fv3_ccpp_gfs_v15p2 results ....
Comparing atmos_4xdaily.tile1.nc .........OK
Comparing atmos_4xdaily.tile2.nc .........OK
Expand Down Expand Up @@ -119,7 +119,7 @@ Test 002 fv3_ccpp_gfs_v15p2 PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_gfs_v16_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_gfs_v16_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_gfs_v16_prod
Checking test 003 fv3_ccpp_gfs_v16 results ....
Comparing atmos_4xdaily.tile1.nc .........OK
Comparing atmos_4xdaily.tile2.nc .........OK
Expand Down Expand Up @@ -199,7 +199,7 @@ Test 003 fv3_ccpp_gfs_v16 PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_gfs_v16_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_gfs_v16_restart_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_gfs_v16_restart_prod
Checking test 004 fv3_ccpp_gfs_v16_restart results ....
Comparing phyf048.tile1.nc .........OK
Comparing phyf048.tile2.nc .........OK
Expand Down Expand Up @@ -249,7 +249,7 @@ Test 004 fv3_ccpp_gfs_v16_restart PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_gfs_v16_stochy_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_gfs_v16_stochy_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_gfs_v16_stochy_prod
Checking test 005 fv3_ccpp_gfs_v16_stochy results ....
Comparing atmos_4xdaily.tile1.nc .........OK
Comparing atmos_4xdaily.tile2.nc .........OK
Expand Down Expand Up @@ -317,7 +317,7 @@ Test 005 fv3_ccpp_gfs_v16_stochy PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_gfs_v16_flake_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_gfs_v16_flake_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_gfs_v16_flake_prod
Checking test 006 fv3_ccpp_gfs_v16_flake results ....
Comparing atmos_4xdaily.tile1.nc .........OK
Comparing atmos_4xdaily.tile2.nc .........OK
Expand Down Expand Up @@ -385,7 +385,7 @@ Test 006 fv3_ccpp_gfs_v16_flake PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_gfs_v15p2_RRTMGP_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_gfs_v15p2_RRTMGP_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_gfs_v15p2_RRTMGP_prod
Checking test 007 fv3_ccpp_gfs_v15p2_RRTMGP results ....
Comparing atmos_4xdaily.tile1.nc .........OK
Comparing atmos_4xdaily.tile2.nc .........OK
Expand Down Expand Up @@ -453,7 +453,7 @@ Test 007 fv3_ccpp_gfs_v15p2_RRTMGP PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_gfs_v16_RRTMGP_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_gfs_v16_RRTMGP_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_gfs_v16_RRTMGP_prod
Checking test 008 fv3_ccpp_gfs_v16_RRTMGP results ....
Comparing atmos_4xdaily.tile1.nc .........OK
Comparing atmos_4xdaily.tile2.nc .........OK
Expand Down Expand Up @@ -521,7 +521,7 @@ Test 008 fv3_ccpp_gfs_v16_RRTMGP PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_gsd_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_gsd_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_gsd_prod
Checking test 009 fv3_ccpp_gsd results ....
Comparing atmos_4xdaily.tile1.nc .........OK
Comparing atmos_4xdaily.tile2.nc .........OK
Expand Down Expand Up @@ -613,7 +613,7 @@ Test 009 fv3_ccpp_gsd PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_thompson_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_thompson_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_thompson_prod
Checking test 010 fv3_ccpp_thompson results ....
Comparing atmos_4xdaily.tile1.nc .........OK
Comparing atmos_4xdaily.tile2.nc .........OK
Expand Down Expand Up @@ -681,7 +681,7 @@ Test 010 fv3_ccpp_thompson PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_thompson_no_aero_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_thompson_no_aero_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_thompson_no_aero_prod
Checking test 011 fv3_ccpp_thompson_no_aero results ....
Comparing atmos_4xdaily.tile1.nc .........OK
Comparing atmos_4xdaily.tile2.nc .........OK
Expand Down Expand Up @@ -749,7 +749,7 @@ Test 011 fv3_ccpp_thompson_no_aero PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_rrfs_v1beta_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_rrfs_v1beta_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_rrfs_v1beta_prod
Checking test 012 fv3_ccpp_rrfs_v1beta results ....
Comparing atmos_4xdaily.tile1.nc .........OK
Comparing atmos_4xdaily.tile2.nc .........OK
Expand Down Expand Up @@ -817,7 +817,7 @@ Test 012 fv3_ccpp_rrfs_v1beta PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/HAFS_v0_HWRF_thompson_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_HAFS_v0_hwrf_thompson_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_HAFS_v0_hwrf_thompson_prod
Checking test 013 fv3_ccpp_HAFS_v0_hwrf_thompson results ....
Comparing atmos_4xdaily.tile1.nc .........OK
Comparing atmos_4xdaily.tile2.nc .........OK
Expand Down Expand Up @@ -885,7 +885,7 @@ Test 013 fv3_ccpp_HAFS_v0_hwrf_thompson PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/ESG_HAFS_v0_HWRF_thompson_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_esg_HAFS_v0_hwrf_thompson_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_esg_HAFS_v0_hwrf_thompson_prod
Checking test 014 fv3_ccpp_esg_HAFS_v0_hwrf_thompson results ....
Comparing atmos_4xdaily.nc .........OK
Comparing phyf000.nc .........OK
Expand All @@ -903,7 +903,7 @@ Test 014 fv3_ccpp_esg_HAFS_v0_hwrf_thompson PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_ccpp_gfsv16_ugwpv1_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_gfsv16_ugwpv1_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_gfsv16_ugwpv1_prod
Checking test 015 fv3_ccpp_gfsv16_ugwpv1 results ....
Comparing phyf000.tile1.nc .........OK
Comparing phyf000.tile2.nc .........OK
Expand Down Expand Up @@ -965,7 +965,7 @@ Test 015 fv3_ccpp_gfsv16_ugwpv1 PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_ccpp_gfsv16_ugwpv1_warmstart_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_gfsv16_ugwpv1_warmstart_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_gfsv16_ugwpv1_warmstart_prod
Checking test 016 fv3_ccpp_gfsv16_ugwpv1_warmstart results ....
Comparing phyf000.tile1.nc .........OK
Comparing phyf000.tile2.nc .........OK
Expand Down Expand Up @@ -1027,7 +1027,7 @@ Test 016 fv3_ccpp_gfsv16_ugwpv1_warmstart PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_control_debug_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_control_debug_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_control_debug_prod
Checking test 017 fv3_ccpp_control_debug results ....
Comparing phyf000.tile1.nc .........OK
Comparing phyf000.tile2.nc .........OK
Expand Down Expand Up @@ -1057,7 +1057,7 @@ Test 017 fv3_ccpp_control_debug PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_gfs_v15p2_debug_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_gfs_v15p2_debug_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_gfs_v15p2_debug_prod
Checking test 018 fv3_ccpp_gfs_v15p2_debug results ....
Comparing atmos_4xdaily.tile1.nc .........OK
Comparing atmos_4xdaily.tile2.nc .........OK
Expand Down Expand Up @@ -1125,7 +1125,7 @@ Test 018 fv3_ccpp_gfs_v15p2_debug PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_gfs_v16_debug_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_gfs_v16_debug_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_gfs_v16_debug_prod
Checking test 019 fv3_ccpp_gfs_v16_debug results ....
Comparing atmos_4xdaily.tile1.nc .........OK
Comparing atmos_4xdaily.tile2.nc .........OK
Expand Down Expand Up @@ -1193,7 +1193,7 @@ Test 019 fv3_ccpp_gfs_v16_debug PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_gfs_v15p2_RRTMGP_debug_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_gfs_v15p2_RRTMGP_debug_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_gfs_v15p2_RRTMGP_debug_prod
Checking test 020 fv3_ccpp_gfs_v15p2_RRTMGP_debug results ....
Comparing atmos_4xdaily.tile1.nc .........OK
Comparing atmos_4xdaily.tile2.nc .........OK
Expand Down Expand Up @@ -1261,7 +1261,7 @@ Test 020 fv3_ccpp_gfs_v15p2_RRTMGP_debug PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_gfs_v16_RRTMGP_debug_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_gfs_v16_RRTMGP_debug_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_gfs_v16_RRTMGP_debug_prod
Checking test 021 fv3_ccpp_gfs_v16_RRTMGP_debug results ....
Comparing atmos_4xdaily.tile1.nc .........OK
Comparing atmos_4xdaily.tile2.nc .........OK
Expand Down Expand Up @@ -1329,7 +1329,7 @@ Test 021 fv3_ccpp_gfs_v16_RRTMGP_debug PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_multigases_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_multigases_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_multigases_prod
Checking test 022 fv3_ccpp_multigases results ....
Comparing atmos_4xdaily.tile1.nc .........OK
Comparing atmos_4xdaily.tile2.nc .........OK
Expand Down Expand Up @@ -1403,7 +1403,7 @@ Test 022 fv3_ccpp_multigases PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_regional_control_debug_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_regional_control_debug_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_regional_control_debug_prod
Checking test 023 fv3_ccpp_regional_control_debug results ....
Comparing atmos_4xdaily.nc .........OK
Comparing fv3_history2d.nc .........OK
Expand All @@ -1414,7 +1414,7 @@ Test 023 fv3_ccpp_regional_control_debug PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_rrfs_v1beta_debug_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_rrfs_v1beta_debug_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_rrfs_v1beta_debug_prod
Checking test 024 fv3_ccpp_rrfs_v1beta_debug results ....
Comparing atmos_4xdaily.tile1.nc .........OK
Comparing atmos_4xdaily.tile2.nc .........OK
Expand Down Expand Up @@ -1482,7 +1482,7 @@ Test 024 fv3_ccpp_rrfs_v1beta_debug PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_gsd_debug_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_gsd_debug_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_gsd_debug_prod
Checking test 025 fv3_ccpp_gsd_debug results ....
Comparing atmos_4xdaily.tile1.nc .........OK
Comparing atmos_4xdaily.tile2.nc .........OK
Expand Down Expand Up @@ -1550,7 +1550,7 @@ Test 025 fv3_ccpp_gsd_debug PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_thompson_debug_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_thompson_debug_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_thompson_debug_prod
Checking test 026 fv3_ccpp_thompson_debug results ....
Comparing atmos_4xdaily.tile1.nc .........OK
Comparing atmos_4xdaily.tile2.nc .........OK
Expand Down Expand Up @@ -1618,7 +1618,7 @@ Test 026 fv3_ccpp_thompson_debug PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_thompson_no_aero_debug_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_thompson_no_aero_debug_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_thompson_no_aero_debug_prod
Checking test 027 fv3_ccpp_thompson_no_aero_debug results ....
Comparing atmos_4xdaily.tile1.nc .........OK
Comparing atmos_4xdaily.tile2.nc .........OK
Expand Down Expand Up @@ -1686,7 +1686,7 @@ Test 027 fv3_ccpp_thompson_no_aero_debug PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/HAFS_v0_HWRF_thompson_debug_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_HAFS_v0_hwrf_thompson_debug_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_HAFS_v0_hwrf_thompson_debug_prod
Checking test 028 fv3_ccpp_HAFS_v0_hwrf_thompson_debug results ....
Comparing atmos_4xdaily.tile1.nc .........OK
Comparing atmos_4xdaily.tile2.nc .........OK
Expand Down Expand Up @@ -1754,7 +1754,7 @@ Test 028 fv3_ccpp_HAFS_v0_hwrf_thompson_debug PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/ESG_HAFS_v0_HWRF_thompson_debug_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_esg_HAFS_v0_hwrf_thompson_debug_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_esg_HAFS_v0_hwrf_thompson_debug_prod
Checking test 029 fv3_ccpp_esg_HAFS_v0_hwrf_thompson_debug results ....
Comparing atmos_4xdaily.nc .........OK
Comparing phyf000.nc .........OK
Expand All @@ -1772,7 +1772,7 @@ Test 029 fv3_ccpp_esg_HAFS_v0_hwrf_thompson_debug PASS


baseline dir = /glade/p/ral/jntp/GMTB/ufs-weather-model/RT/NEMSfv3gfs/develop-20210217/GNU/fv3_ccpp_gfsv16_ugwpv1_debug_ccpp
working dir = /glade/scratch/heinzell/FV3_RT/rt_31552/fv3_ccpp_gfsv16_ugwpv1_debug_prod
working dir = /glade/scratch/heinzell/FV3_RT/rt_2817/fv3_ccpp_gfsv16_ugwpv1_debug_prod
Checking test 030 fv3_ccpp_gfsv16_ugwpv1_debug results ....
Comparing phyf000.tile1.nc .........OK
Comparing phyf000.tile2.nc .........OK
Expand Down Expand Up @@ -1834,5 +1834,5 @@ Test 030 fv3_ccpp_gfsv16_ugwpv1_debug PASS


REGRESSION TEST WAS SUCCESSFUL
Wed Feb 17 13:22:49 MST 2021
Elapsed time: 00h:17m:28s. Have a nice day!
Wed Feb 24 11:50:16 MST 2021
Elapsed time: 00h:18m:44s. Have a nice day!
Loading

0 comments on commit 4c3b6d5

Please sign in to comment.