From 9b5744075539743f57326d3a13bec2d45752f91e Mon Sep 17 00:00:00 2001 From: Larissa Reames Date: Thu, 12 Dec 2024 11:55:01 -0500 Subject: [PATCH 01/22] Update ccpp/physics branch --- .gitmodules | 4 ++-- ccpp/physics | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitmodules b/.gitmodules index 22c723ac1..4e31f4d6f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,8 +8,8 @@ branch = main [submodule "ccpp/physics"] path = ccpp/physics - url = https://github.com/ufs-community/ccpp-physics - branch = ufs/dev + url = https://github.com/LarissaReames-NOAA/ccpp-physics + branch = feature/rad-fix-new [submodule "upp"] path = upp url = https://github.com/NOAA-EMC/UPP diff --git a/ccpp/physics b/ccpp/physics index dab57fcce..6666cb871 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit dab57fcce3f1abf16eb01f22469ea84279f67b19 +Subproject commit 6666cb8710aa95e1b2aa7f9c5e7509662e1f28c0 From a53ddbaabb6bfa7f5aa5b664a284e50808e3753c Mon Sep 17 00:00:00 2001 From: "larissa.reames@noaa.gov" Date: Tue, 17 Dec 2024 20:15:02 +0000 Subject: [PATCH 02/22] Modify calculation of bucket average radiation variables to be accurate at sub-radiation-timestep output frequency. --- .gitmodules | 2 +- atmos_model.F90 | 4 +++- ccpp/physics | 2 +- io/fv3atm_history_io.F90 | 16 +++++++++------- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/.gitmodules b/.gitmodules index 4e31f4d6f..b52114e01 100644 --- a/.gitmodules +++ b/.gitmodules @@ -9,7 +9,7 @@ [submodule "ccpp/physics"] path = ccpp/physics url = https://github.com/LarissaReames-NOAA/ccpp-physics - branch = feature/rad-fix-new + branch = feature/rad-fix [submodule "upp"] path = upp url = https://github.com/NOAA-EMC/UPP diff --git a/atmos_model.F90 b/atmos_model.F90 index 5525b5b58..8b4003028 100644 --- a/atmos_model.F90 +++ b/atmos_model.F90 @@ -975,6 +975,7 @@ subroutine update_atmos_model_state (Atmos, rc) !--- local variables integer :: i, localrc, sec_lastfhzerofh integer :: isec, seconds, isec_fhzero + integer :: dtatm_temp logical :: tmpflag_fhzero real(kind=GFS_kind_phys) :: time_int, time_intfull ! @@ -1021,9 +1022,10 @@ subroutine update_atmos_model_state (Atmos, rc) endif if (mpp_pe() == mpp_root_pe()) write(6,*) ' gfs diags time since last bucket empty: ',time_int/3600.,'hrs' call atmosphere_nggps_diag(Atmos%Time) + call get_time ( Atmos%Time_step, dtatm_temp) call fv3atm_diag_output(Atmos%Time, GFS_Diag, Atm_block, GFS_control%nx, GFS_control%ny, & GFS_control%levs, 1, 1, 1.0_GFS_kind_phys, time_int, time_intfull, & - GFS_control%fhswr, GFS_control%fhlwr) + GFS_control%fhswr, GFS_control%fhlwr, dtatm_temp) endif !--- find current fhzero diff --git a/ccpp/physics b/ccpp/physics index 6666cb871..f20c5a455 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 6666cb8710aa95e1b2aa7f9c5e7509662e1f28c0 +Subproject commit f20c5a455336ad8535810d2faed3b4ec3f584e17 diff --git a/io/fv3atm_history_io.F90 b/io/fv3atm_history_io.F90 index 6fe537e04..45de91ac9 100644 --- a/io/fv3atm_history_io.F90 +++ b/io/fv3atm_history_io.F90 @@ -115,12 +115,12 @@ end subroutine fv3atm_diag_register !! This routine transfers diagnostic data to the FMS diagnostic !! manager for eventual output to the history files. subroutine fv3atm_diag_output(time, diag, atm_block, nx, ny, levs, ntcw, ntoz, & - dt, time_int, time_intfull, time_radsw, time_radlw) + dt, time_int, time_intfull, time_radsw, time_radlw, dt_atmos) !--- subroutine interface variable definitions type(time_type), intent(in) :: time type(GFS_externaldiag_type), intent(in) :: diag(:) type (block_control_type), intent(in) :: atm_block - integer, intent(in) :: nx, ny, levs, ntcw, ntoz + integer, intent(in) :: nx, ny, levs, ntcw, ntoz, dt_atmos real(kind=kind_phys), intent(in) :: dt real(kind=kind_phys), intent(in) :: time_int real(kind=kind_phys), intent(in) :: time_intfull @@ -128,7 +128,7 @@ subroutine fv3atm_diag_output(time, diag, atm_block, nx, ny, levs, ntcw, ntoz, & real(kind=kind_phys), intent(in) :: time_radlw call shared_history_data%output(time, diag, atm_block, nx, ny, levs, ntcw, ntoz, & - dt, time_int, time_intfull, time_radsw, time_radlw) + dt, time_int, time_intfull, time_radsw, time_radlw, dt_atmos) end subroutine fv3atm_diag_output @@ -282,13 +282,13 @@ end subroutine history_type_register !! implementation of the public fv3atm_diag_output routine. Never !! call this directly. subroutine history_type_output(hist, time, diag, atm_block, nx, ny, levs, ntcw, ntoz, & - dt, time_int, time_intfull, time_radsw, time_radlw) + dt, time_int, time_intfull, time_radsw, time_radlw, dt_atmos) !--- subroutine interface variable definitions class(history_type) :: hist type(time_type), intent(in) :: time type(GFS_externaldiag_type), intent(in) :: diag(:) type (block_control_type), intent(in) :: atm_block - integer, intent(in) :: nx, ny, levs, ntcw, ntoz + integer, intent(in) :: nx, ny, levs, ntcw, ntoz, dt_atmos real(kind=kind_phys), intent(in) :: dt real(kind=kind_phys), intent(in) :: time_int real(kind=kind_phys), intent(in) :: time_intfull @@ -321,10 +321,12 @@ subroutine history_type_output(hist, time, diag, atm_block, nx, ny, levs, ntcw, lcnvfac = lcnvfac*rtime_intfull ! if(mpp_pe()==mpp_root_pe())print *,'in,fv3atm_io. full time avg, field=',trim(Diag(idx)%name),' time=',time_intfull else if ( trim(diag(idx)%time_avg_kind) == 'rad_lw' ) then - lcnvfac = lcnvfac*min(rtime_radlw,rtime_int) + !lcnvfac = lcnvfac*min(rtime_radlw,rtime_int) + lcnvfac = lcnvfac*rtime_radlw/int(time_int/dt_atmos) ! if(mpp_pe()==mpp_root_pe())print *,'in,fv3atm_io. rad longwave avg, field=',trim(Diag(idx)%name),' time=',time_radlw else if ( trim(diag(idx)%time_avg_kind) == 'rad_sw' ) then - lcnvfac = lcnvfac*min(rtime_radsw,rtime_int) + !lcnvfac = lcnvfac*min(rtime_radsw,rtime_int) + lcnvfac = lcnvfac*rtime_radsw/int(time_int/dt_atmos) ! if(mpp_pe()==mpp_root_pe())print *,'in,fv3atm_io. rad shortwave avg, field=',trim(Diag(idx)%name),' time=',time_radsw else if ( trim(diag(idx)%time_avg_kind) == 'rad_swlw_min' ) then lcnvfac = lcnvfac*min(max(rtime_radsw,rtime_radlw),rtime_int) From e602edb06af8490a6da2a16ee53a7f346e2ed08d Mon Sep 17 00:00:00 2001 From: "larissa.reames@noaa.gov" Date: Tue, 17 Dec 2024 20:48:37 +0000 Subject: [PATCH 03/22] Update bucket radiation scaling for rad_swlw_min variables --- io/fv3atm_history_io.F90 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/io/fv3atm_history_io.F90 b/io/fv3atm_history_io.F90 index 45de91ac9..2e1aeb59e 100644 --- a/io/fv3atm_history_io.F90 +++ b/io/fv3atm_history_io.F90 @@ -329,7 +329,8 @@ subroutine history_type_output(hist, time, diag, atm_block, nx, ny, levs, ntcw, lcnvfac = lcnvfac*rtime_radsw/int(time_int/dt_atmos) ! if(mpp_pe()==mpp_root_pe())print *,'in,fv3atm_io. rad shortwave avg, field=',trim(Diag(idx)%name),' time=',time_radsw else if ( trim(diag(idx)%time_avg_kind) == 'rad_swlw_min' ) then - lcnvfac = lcnvfac*min(max(rtime_radsw,rtime_radlw),rtime_int) + !lcnvfac = lcnvfac*min(max(rtime_radsw,rtime_radlw),rtime_int) + lcnvfac = lcnvfac*max(rtime_radsw,rtime_radlw)/int(time_int/dtatmos) ! if(mpp_pe()==mpp_root_pe())print *,'in,fv3atm_io. rad swlw min avg, field=',trim(Diag(idx)%name),' time=',time_radlw,time_radsw,time_int else lcnvfac = lcnvfac*rtime_int From 090805203ce1fdd5520eb58428eb973512c62280 Mon Sep 17 00:00:00 2001 From: "larissa.reames@noaa.gov" Date: Thu, 19 Dec 2024 19:20:07 +0000 Subject: [PATCH 04/22] Bug fix in rad_lwsw_min scaling parameter. Merge GFS_rrtmg/rrtmgp_post.F90 in to GFS_radiation_post.F90 in ccpp/physics, requiring changes to all suites. --- ccpp/config/ccpp_prebuild_config.py | 3 +-- ccpp/physics | 2 +- ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml | 2 +- ccpp/suites/suite_FV3_GFS_v15p2.xml | 2 +- ccpp/suites/suite_FV3_GFS_v16.xml | 2 +- ccpp/suites/suite_FV3_GFS_v16_csawmg.xml | 2 +- ccpp/suites/suite_FV3_GFS_v16_flake.xml | 2 +- ccpp/suites/suite_FV3_GFS_v16_fv3wam.xml | 2 +- ccpp/suites/suite_FV3_GFS_v16_ras.xml | 2 +- ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml | 2 +- ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml | 2 +- ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml | 2 +- ccpp/suites/suite_FV3_GFS_v17_coupled_p8_ugwpv1.xml | 2 +- ccpp/suites/suite_FV3_GFS_v17_p8.xml | 2 +- ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml | 2 +- ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml | 2 +- ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml | 2 +- ccpp/suites/suite_FV3_GFS_v17_p8_ugwpv1.xml | 2 +- ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf.xml | 2 +- ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf_nonsst.xml | 2 +- ccpp/suites/suite_FV3_HAFS_v1_thompson.xml | 2 +- ccpp/suites/suite_FV3_HAFS_v1_thompson_nonsst.xml | 2 +- ccpp/suites/suite_FV3_HAFS_v1_thompson_tedmf_gfdlsf.xml | 2 +- ccpp/suites/suite_FV3_HRRR.xml | 2 +- ccpp/suites/suite_FV3_HRRR_c3.xml | 2 +- ccpp/suites/suite_FV3_HRRR_gf.xml | 2 +- ccpp/suites/suite_FV3_HRRR_gf_nogwd.xml | 2 +- ccpp/suites/suite_FV3_RAP.xml | 2 +- ccpp/suites/suite_FV3_RAP_cires_ugwp.xml | 2 +- ccpp/suites/suite_FV3_RAP_clm_lake.xml | 2 +- ccpp/suites/suite_FV3_RAP_flake.xml | 2 +- ccpp/suites/suite_FV3_RAP_noah.xml | 2 +- ccpp/suites/suite_FV3_RAP_noah_sfcdiff_cires_ugwp.xml | 2 +- ccpp/suites/suite_FV3_RAP_sfcdiff.xml | 2 +- ccpp/suites/suite_FV3_RAP_unified_ugwp.xml | 2 +- ccpp/suites/suite_FV3_RRFS_v1beta.xml | 2 +- ccpp/suites/suite_FV3_RRFS_v1nssl.xml | 2 +- ccpp/suites/suite_FV3_WoFS_v0.xml | 2 +- ccpp/suites/suite_FV3_global_nest_v1.xml | 2 +- ccpp/suites/suite_RRFSens_phy1.xml | 2 +- ccpp/suites/suite_RRFSens_phy2.xml | 2 +- ccpp/suites/suite_RRFSens_phy3.xml | 2 +- ccpp/suites/suite_RRFSens_phy4.xml | 2 +- ccpp/suites/suite_RRFSens_phy5.xml | 2 +- io/fv3atm_history_io.F90 | 2 +- 45 files changed, 45 insertions(+), 46 deletions(-) diff --git a/ccpp/config/ccpp_prebuild_config.py b/ccpp/config/ccpp_prebuild_config.py index 5e91f3ef6..892e96d61 100755 --- a/ccpp/config/ccpp_prebuild_config.py +++ b/ccpp/config/ccpp_prebuild_config.py @@ -99,7 +99,7 @@ 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_photochemistry.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.fv3.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_radiation_surface.F90', - 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_post.F90', + 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_radiation_post.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_pre.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_setup.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_setup.F90', @@ -107,7 +107,6 @@ 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_cloud_diagnostics.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_cloud_mp.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_cloud_overlap.F90', - 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_post.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_stochastics.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_rad_reset.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_suite_interstitial_phys_reset.F90', diff --git a/ccpp/physics b/ccpp/physics index f20c5a455..9d251bae8 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit f20c5a455336ad8535810d2faed3b4ec3f584e17 +Subproject commit 9d251bae8023b47d01ede411c96ae5ee471a2db5 diff --git a/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml b/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml index 3b93422b5..c3ff1ac7b 100644 --- a/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml +++ b/ccpp/suites/suite_FV3_GFS_v15_thompson_mynn_lam3km.xml @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_GFS_v15p2.xml b/ccpp/suites/suite_FV3_GFS_v15p2.xml index bd7225019..23f46e2cb 100644 --- a/ccpp/suites/suite_FV3_GFS_v15p2.xml +++ b/ccpp/suites/suite_FV3_GFS_v15p2.xml @@ -25,7 +25,7 @@ rrtmg_sw_post rrtmg_lw rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_GFS_v16.xml b/ccpp/suites/suite_FV3_GFS_v16.xml index 37de8fbc5..edab22b3a 100644 --- a/ccpp/suites/suite_FV3_GFS_v16.xml +++ b/ccpp/suites/suite_FV3_GFS_v16.xml @@ -25,7 +25,7 @@ rrtmg_sw_post rrtmg_lw rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_GFS_v16_csawmg.xml b/ccpp/suites/suite_FV3_GFS_v16_csawmg.xml index 907a0234c..67ecf7d8b 100644 --- a/ccpp/suites/suite_FV3_GFS_v16_csawmg.xml +++ b/ccpp/suites/suite_FV3_GFS_v16_csawmg.xml @@ -20,7 +20,7 @@ rrtmg_sw_post rrtmg_lw rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_GFS_v16_flake.xml b/ccpp/suites/suite_FV3_GFS_v16_flake.xml index c11b2afdf..ae893dc8e 100644 --- a/ccpp/suites/suite_FV3_GFS_v16_flake.xml +++ b/ccpp/suites/suite_FV3_GFS_v16_flake.xml @@ -25,7 +25,7 @@ rrtmg_sw_post rrtmg_lw rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_GFS_v16_fv3wam.xml b/ccpp/suites/suite_FV3_GFS_v16_fv3wam.xml index e10022121..46950cd48 100644 --- a/ccpp/suites/suite_FV3_GFS_v16_fv3wam.xml +++ b/ccpp/suites/suite_FV3_GFS_v16_fv3wam.xml @@ -20,7 +20,7 @@ rrtmg_sw_post rrtmg_lw rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_GFS_v16_ras.xml b/ccpp/suites/suite_FV3_GFS_v16_ras.xml index 0545de59a..cbc1c3095 100644 --- a/ccpp/suites/suite_FV3_GFS_v16_ras.xml +++ b/ccpp/suites/suite_FV3_GFS_v16_ras.xml @@ -25,7 +25,7 @@ rrtmg_sw_post rrtmg_lw rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml index 0cf5f40af..9fcec858b 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8.xml @@ -20,7 +20,7 @@ rrtmg_sw_post rrtmg_lw rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml index bba0f5b78..e3c44dfcb 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_c3.xml @@ -20,7 +20,7 @@ rrtmg_sw_post rrtmg_lw rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml index 3d25ec17b..377904df5 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_sfcocn.xml @@ -20,7 +20,7 @@ rrtmg_sw_post rrtmg_lw rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_ugwpv1.xml b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_ugwpv1.xml index e7bb03710..776c0a2e5 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_ugwpv1.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_coupled_p8_ugwpv1.xml @@ -20,7 +20,7 @@ rrtmg_sw_post rrtmg_lw rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8.xml b/ccpp/suites/suite_FV3_GFS_v17_p8.xml index 58f9431a8..bf6ed924a 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8.xml @@ -20,7 +20,7 @@ rrtmg_sw_post rrtmg_lw rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml b/ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml index 54258c15e..e1ac47f13 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8_c3.xml @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml b/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml index e54c3ab06..b35bfb588 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8_mynn.xml @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml b/ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml index 1bbd34def..b00f738d9 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8_rrtmgp.xml @@ -21,7 +21,7 @@ rrtmgp_aerosol_optics rrtmgp_sw_main rrtmgp_lw_main - GFS_rrtmgp_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8_ugwpv1.xml b/ccpp/suites/suite_FV3_GFS_v17_p8_ugwpv1.xml index c94396454..8111017f8 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8_ugwpv1.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8_ugwpv1.xml @@ -20,7 +20,7 @@ rrtmg_sw_post rrtmg_lw rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf.xml b/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf.xml index db918c643..b40ba09eb 100644 --- a/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf.xml +++ b/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf.xml @@ -25,7 +25,7 @@ rrtmg_sw_post rrtmg_lw rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf_nonsst.xml b/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf_nonsst.xml index f2a02001e..97180c073 100644 --- a/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf_nonsst.xml +++ b/ccpp/suites/suite_FV3_HAFS_v1_gfdlmp_tedmf_nonsst.xml @@ -25,7 +25,7 @@ rrtmg_sw_post rrtmg_lw rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_HAFS_v1_thompson.xml b/ccpp/suites/suite_FV3_HAFS_v1_thompson.xml index 6a043e897..fffc713cf 100644 --- a/ccpp/suites/suite_FV3_HAFS_v1_thompson.xml +++ b/ccpp/suites/suite_FV3_HAFS_v1_thompson.xml @@ -20,7 +20,7 @@ rrtmg_sw_post rrtmg_lw rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_HAFS_v1_thompson_nonsst.xml b/ccpp/suites/suite_FV3_HAFS_v1_thompson_nonsst.xml index 5408b3898..8cd493754 100644 --- a/ccpp/suites/suite_FV3_HAFS_v1_thompson_nonsst.xml +++ b/ccpp/suites/suite_FV3_HAFS_v1_thompson_nonsst.xml @@ -20,7 +20,7 @@ rrtmg_sw_post rrtmg_lw rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_HAFS_v1_thompson_tedmf_gfdlsf.xml b/ccpp/suites/suite_FV3_HAFS_v1_thompson_tedmf_gfdlsf.xml index 6283e3a3f..0f482634f 100644 --- a/ccpp/suites/suite_FV3_HAFS_v1_thompson_tedmf_gfdlsf.xml +++ b/ccpp/suites/suite_FV3_HAFS_v1_thompson_tedmf_gfdlsf.xml @@ -20,7 +20,7 @@ rrtmg_sw_post rrtmg_lw rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_HRRR.xml b/ccpp/suites/suite_FV3_HRRR.xml index fabe94665..3d1e34175 100644 --- a/ccpp/suites/suite_FV3_HRRR.xml +++ b/ccpp/suites/suite_FV3_HRRR.xml @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_HRRR_c3.xml b/ccpp/suites/suite_FV3_HRRR_c3.xml index c0f3ec1f5..0e3ff1da3 100644 --- a/ccpp/suites/suite_FV3_HRRR_c3.xml +++ b/ccpp/suites/suite_FV3_HRRR_c3.xml @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_HRRR_gf.xml b/ccpp/suites/suite_FV3_HRRR_gf.xml index f3f227106..4222beac0 100644 --- a/ccpp/suites/suite_FV3_HRRR_gf.xml +++ b/ccpp/suites/suite_FV3_HRRR_gf.xml @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_HRRR_gf_nogwd.xml b/ccpp/suites/suite_FV3_HRRR_gf_nogwd.xml index 6b01cbd79..233fd2070 100644 --- a/ccpp/suites/suite_FV3_HRRR_gf_nogwd.xml +++ b/ccpp/suites/suite_FV3_HRRR_gf_nogwd.xml @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_RAP.xml b/ccpp/suites/suite_FV3_RAP.xml index c2243e3fa..65fa424ba 100644 --- a/ccpp/suites/suite_FV3_RAP.xml +++ b/ccpp/suites/suite_FV3_RAP.xml @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_RAP_cires_ugwp.xml b/ccpp/suites/suite_FV3_RAP_cires_ugwp.xml index 7760b059c..7c0b7e461 100644 --- a/ccpp/suites/suite_FV3_RAP_cires_ugwp.xml +++ b/ccpp/suites/suite_FV3_RAP_cires_ugwp.xml @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_RAP_clm_lake.xml b/ccpp/suites/suite_FV3_RAP_clm_lake.xml index d794cd74a..acde3cbc6 100644 --- a/ccpp/suites/suite_FV3_RAP_clm_lake.xml +++ b/ccpp/suites/suite_FV3_RAP_clm_lake.xml @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_RAP_flake.xml b/ccpp/suites/suite_FV3_RAP_flake.xml index 652071989..3f809c899 100644 --- a/ccpp/suites/suite_FV3_RAP_flake.xml +++ b/ccpp/suites/suite_FV3_RAP_flake.xml @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_RAP_noah.xml b/ccpp/suites/suite_FV3_RAP_noah.xml index 7311eb989..a79a9f01c 100644 --- a/ccpp/suites/suite_FV3_RAP_noah.xml +++ b/ccpp/suites/suite_FV3_RAP_noah.xml @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_RAP_noah_sfcdiff_cires_ugwp.xml b/ccpp/suites/suite_FV3_RAP_noah_sfcdiff_cires_ugwp.xml index 229ebc08f..da9c615f8 100644 --- a/ccpp/suites/suite_FV3_RAP_noah_sfcdiff_cires_ugwp.xml +++ b/ccpp/suites/suite_FV3_RAP_noah_sfcdiff_cires_ugwp.xml @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_RAP_sfcdiff.xml b/ccpp/suites/suite_FV3_RAP_sfcdiff.xml index 7c2908a25..a9ca70040 100644 --- a/ccpp/suites/suite_FV3_RAP_sfcdiff.xml +++ b/ccpp/suites/suite_FV3_RAP_sfcdiff.xml @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_RAP_unified_ugwp.xml b/ccpp/suites/suite_FV3_RAP_unified_ugwp.xml index 6913b8e4a..579deed74 100644 --- a/ccpp/suites/suite_FV3_RAP_unified_ugwp.xml +++ b/ccpp/suites/suite_FV3_RAP_unified_ugwp.xml @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_RRFS_v1beta.xml b/ccpp/suites/suite_FV3_RRFS_v1beta.xml index 01589e271..876a98679 100644 --- a/ccpp/suites/suite_FV3_RRFS_v1beta.xml +++ b/ccpp/suites/suite_FV3_RRFS_v1beta.xml @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_RRFS_v1nssl.xml b/ccpp/suites/suite_FV3_RRFS_v1nssl.xml index 107254b18..9b244c9e4 100644 --- a/ccpp/suites/suite_FV3_RRFS_v1nssl.xml +++ b/ccpp/suites/suite_FV3_RRFS_v1nssl.xml @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_WoFS_v0.xml b/ccpp/suites/suite_FV3_WoFS_v0.xml index 6e68a9773..0a344de79 100644 --- a/ccpp/suites/suite_FV3_WoFS_v0.xml +++ b/ccpp/suites/suite_FV3_WoFS_v0.xml @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_global_nest_v1.xml b/ccpp/suites/suite_FV3_global_nest_v1.xml index 79ef5545f..48f56bc36 100644 --- a/ccpp/suites/suite_FV3_global_nest_v1.xml +++ b/ccpp/suites/suite_FV3_global_nest_v1.xml @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_RRFSens_phy1.xml b/ccpp/suites/suite_RRFSens_phy1.xml index e5c6f7a91..538618da4 100644 --- a/ccpp/suites/suite_RRFSens_phy1.xml +++ b/ccpp/suites/suite_RRFSens_phy1.xml @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_RRFSens_phy2.xml b/ccpp/suites/suite_RRFSens_phy2.xml index e2f730833..59bdbd3bc 100644 --- a/ccpp/suites/suite_RRFSens_phy2.xml +++ b/ccpp/suites/suite_RRFSens_phy2.xml @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_RRFSens_phy3.xml b/ccpp/suites/suite_RRFSens_phy3.xml index 470f5d15d..bb782b163 100644 --- a/ccpp/suites/suite_RRFSens_phy3.xml +++ b/ccpp/suites/suite_RRFSens_phy3.xml @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_RRFSens_phy4.xml b/ccpp/suites/suite_RRFSens_phy4.xml index 5813576c8..0d3504d1e 100644 --- a/ccpp/suites/suite_RRFSens_phy4.xml +++ b/ccpp/suites/suite_RRFSens_phy4.xml @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_RRFSens_phy5.xml b/ccpp/suites/suite_RRFSens_phy5.xml index c06338056..4ed85d767 100644 --- a/ccpp/suites/suite_RRFSens_phy5.xml +++ b/ccpp/suites/suite_RRFSens_phy5.xml @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/io/fv3atm_history_io.F90 b/io/fv3atm_history_io.F90 index 2e1aeb59e..1e3de8c06 100644 --- a/io/fv3atm_history_io.F90 +++ b/io/fv3atm_history_io.F90 @@ -330,7 +330,7 @@ subroutine history_type_output(hist, time, diag, atm_block, nx, ny, levs, ntcw, ! if(mpp_pe()==mpp_root_pe())print *,'in,fv3atm_io. rad shortwave avg, field=',trim(Diag(idx)%name),' time=',time_radsw else if ( trim(diag(idx)%time_avg_kind) == 'rad_swlw_min' ) then !lcnvfac = lcnvfac*min(max(rtime_radsw,rtime_radlw),rtime_int) - lcnvfac = lcnvfac*max(rtime_radsw,rtime_radlw)/int(time_int/dtatmos) + lcnvfac = lcnvfac*max(rtime_radsw,rtime_radlw)/int(time_int/dt_atmos) ! if(mpp_pe()==mpp_root_pe())print *,'in,fv3atm_io. rad swlw min avg, field=',trim(Diag(idx)%name),' time=',time_radlw,time_radsw,time_int else lcnvfac = lcnvfac*rtime_int From bcb542c7e8e68c9b84841c3f5bfad78d23eebf40 Mon Sep 17 00:00:00 2001 From: "larissa.reames@noaa.gov" Date: Mon, 13 Jan 2025 14:45:34 +0000 Subject: [PATCH 05/22] Update ccpp/physics with ufs/dev --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index 9d251bae8..e65b35517 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 9d251bae8023b47d01ede411c96ae5ee471a2db5 +Subproject commit e65b355177df450fd96b633793e6532ee251c9df From 3b7fd205d4e93e9e1d2e34c1740d4114ee9152d8 Mon Sep 17 00:00:00 2001 From: "larissa.reames@noaa.gov" Date: Thu, 6 Feb 2025 21:44:41 +0000 Subject: [PATCH 06/22] Update ccpp/physics --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index e65b35517..4f2a97777 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit e65b355177df450fd96b633793e6532ee251c9df +Subproject commit 4f2a9777798dcfd5ceccd9fb86747dd14ed3f6ea From 419a787de4a9642d0ae11a13241df788c903c57c Mon Sep 17 00:00:00 2001 From: "larissa.reames@noaa.gov" Date: Mon, 10 Feb 2025 16:32:32 +0000 Subject: [PATCH 07/22] Replace rrtmg_pre/post with radiation_post in RRFS_sas* CCPP suites --- ccpp/suites/suite_RRFS_sas.xml | 4 ++-- ccpp/suites/suite_RRFS_sas_nogwd.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ccpp/suites/suite_RRFS_sas.xml b/ccpp/suites/suite_RRFS_sas.xml index 6ca272c54..ef941165a 100644 --- a/ccpp/suites/suite_RRFS_sas.xml +++ b/ccpp/suites/suite_RRFS_sas.xml @@ -14,7 +14,7 @@ GFS_suite_interstitial_rad_reset sgscloud_radpre - GFS_rrtmg_pre + GFS_radiation_pre GFS_radiation_surface rad_sw_pre rrtmg_sw @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_RRFS_sas_nogwd.xml b/ccpp/suites/suite_RRFS_sas_nogwd.xml index a68c1de3e..fc34b4f71 100644 --- a/ccpp/suites/suite_RRFS_sas_nogwd.xml +++ b/ccpp/suites/suite_RRFS_sas_nogwd.xml @@ -14,7 +14,7 @@ GFS_suite_interstitial_rad_reset sgscloud_radpre - GFS_rrtmg_pre + GFS_radiation_pre GFS_radiation_surface rad_sw_pre rrtmg_sw @@ -22,7 +22,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post From 06c07b8c4d7509f7e8279541f08824b85d8a841d Mon Sep 17 00:00:00 2001 From: "larissa.reames@noaa.gov" Date: Mon, 10 Feb 2025 16:41:01 +0000 Subject: [PATCH 08/22] Revert replacement of rrtmg_pre with radiation_pre. --- ccpp/suites/suite_RRFS_sas.xml | 2 +- ccpp/suites/suite_RRFS_sas_nogwd.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ccpp/suites/suite_RRFS_sas.xml b/ccpp/suites/suite_RRFS_sas.xml index ef941165a..4e60341a7 100644 --- a/ccpp/suites/suite_RRFS_sas.xml +++ b/ccpp/suites/suite_RRFS_sas.xml @@ -14,7 +14,7 @@ GFS_suite_interstitial_rad_reset sgscloud_radpre - GFS_radiation_pre + GFS_rrtmg_pre GFS_radiation_surface rad_sw_pre rrtmg_sw diff --git a/ccpp/suites/suite_RRFS_sas_nogwd.xml b/ccpp/suites/suite_RRFS_sas_nogwd.xml index fc34b4f71..af0651cd6 100644 --- a/ccpp/suites/suite_RRFS_sas_nogwd.xml +++ b/ccpp/suites/suite_RRFS_sas_nogwd.xml @@ -14,7 +14,7 @@ GFS_suite_interstitial_rad_reset sgscloud_radpre - GFS_radiation_pre + GFS_rrtmg_pre GFS_radiation_surface rad_sw_pre rrtmg_sw From 61219881b7e68611f946da3512157875038db699 Mon Sep 17 00:00:00 2001 From: "larissa.reames@noaa.gov" Date: Wed, 12 Feb 2025 16:13:15 +0000 Subject: [PATCH 09/22] Update ccpp/physics --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index 4f2a97777..8c549ef75 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 4f2a9777798dcfd5ceccd9fb86747dd14ed3f6ea +Subproject commit 8c549ef75e172f746e2d16634b51b392bf2de3e7 From c5c94201c8a8acac8e2dd03c034da8260e42da0a Mon Sep 17 00:00:00 2001 From: "larissa.reames@noaa.gov" Date: Wed, 12 Feb 2025 18:27:44 +0000 Subject: [PATCH 10/22] Revert "Merge commit 'e71cf1a' into feature/rad-fix" This reverts commit 085ca7e5f20fa78259d3a73798136dcd5379024f, reversing changes made to 61219881b7e68611f946da3512157875038db699. --- CMakeLists.txt | 8 ------ atmos_cubed_sphere | 2 +- ccpp/data/GFS_typedefs.F90 | 6 ----- ccpp/data/GFS_typedefs.meta | 14 ----------- ccpp/driver/GFS_diagnostics.F90 | 12 --------- io/fv3atm_restart_io.F90 | 43 +-------------------------------- 6 files changed, 2 insertions(+), 83 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index dca5d7a2e..cef00a251 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -64,14 +64,6 @@ if(NOT PARALLEL_NETCDF) list(APPEND _fv3atm_defs_private NO_PARALLEL_NETCDF) endif() -if(ENABLE_PARALLELRESTART) - list(APPEND _fv3atm_defs_private ENABLE_PARALLELRESTART) -endif() - -if(ENABLE_RRFS_WAR) - list(APPEND _fv3atm_defs_private ENABLE_RRFS_WAR) -endif() - if(MOVING_NEST) list(APPEND _fv3atm_defs_private MOVING_NEST) if(NOT HYDRO) diff --git a/atmos_cubed_sphere b/atmos_cubed_sphere index 0519df1af..9490871a6 160000 --- a/atmos_cubed_sphere +++ b/atmos_cubed_sphere @@ -1 +1 @@ -Subproject commit 0519df1af731548b1e35aa5685a35605e3e66d5a +Subproject commit 9490871a616604efe9dd75608214081eef557ad6 diff --git a/ccpp/data/GFS_typedefs.F90 b/ccpp/data/GFS_typedefs.F90 index d67c263ed..4614c087b 100644 --- a/ccpp/data/GFS_typedefs.F90 +++ b/ccpp/data/GFS_typedefs.F90 @@ -523,7 +523,6 @@ module GFS_typedefs !--- In (physics only) real (kind=kind_phys), pointer :: sfcdsw(:) => null() !< total sky sfc downward sw flux ( w/m**2 ) !< GFS_radtend_type%sfcfsw%dnfxc - real (kind=kind_phys), pointer :: sfcdswc(:) => null() !< total sky sfc downward sw flux assuming clear sky conditions( w/m**2 ) real (kind=kind_phys), pointer :: sfcnsw(:) => null() !< total sky sfc netsw flx into ground(w/m**2) !< difference of dnfxc & upfxc from GFS_radtend_type%sfcfsw real (kind=kind_phys), pointer :: sfcdlw(:) => null() !< total sky sfc downward lw flux ( w/m**2 ) @@ -2033,7 +2032,6 @@ module GFS_typedefs real (kind=kind_phys), pointer :: dlwsfci(:) => null() !< instantaneous sfc dnwd lw flux ( w/m**2 ) real (kind=kind_phys), pointer :: ulwsfci(:) => null() !< instantaneous sfc upwd lw flux ( w/m**2 ) real (kind=kind_phys), pointer :: dswsfci(:) => null() !< instantaneous sfc dnwd sw flux ( w/m**2 ) - real (kind=kind_phys), pointer :: dswsfcci(:) => null() !< instantaneous sfc dnwd sw flux ( w/m**2 ) (clear-sky) real (kind=kind_phys), pointer :: nswsfci(:) => null() !< instantaneous sfc net dnwd sw flux ( w/m**2 ) real (kind=kind_phys), pointer :: uswsfci(:) => null() !< instantaneous sfc upwd sw flux ( w/m**2 ) real (kind=kind_phys), pointer :: dusfci (:) => null() !< instantaneous u component of surface stress @@ -2950,13 +2948,11 @@ subroutine coupling_create (Coupling, Model) Coupling%visbmui = clear_val Coupling%visdfui = clear_val - allocate (Coupling%sfcdswc (IM)) allocate (Coupling%sfcdsw (IM)) allocate (Coupling%sfcnsw (IM)) allocate (Coupling%sfcdlw (IM)) allocate (Coupling%sfculw (IM)) - Coupling%sfcdswc = clear_val Coupling%sfcdsw = clear_val Coupling%sfcnsw = clear_val Coupling%sfcdlw = clear_val @@ -7831,7 +7827,6 @@ subroutine diag_create (Diag, Model) allocate (Diag%dlwsfci (IM)) allocate (Diag%ulwsfci (IM)) allocate (Diag%dswsfci (IM)) - allocate (Diag%dswsfcci(IM)) allocate (Diag%nswsfci (IM)) allocate (Diag%uswsfci (IM)) allocate (Diag%dusfci (IM)) @@ -8146,7 +8141,6 @@ subroutine diag_phys_zero (Diag, Model, linit, iauwindow_center) Diag%dlwsfci = zero Diag%ulwsfci = zero Diag%dswsfci = zero - Diag%dswsfcci = zero Diag%nswsfci = zero Diag%uswsfci = zero Diag%dusfci = zero diff --git a/ccpp/data/GFS_typedefs.meta b/ccpp/data/GFS_typedefs.meta index 8adaadaa4..bd0e34975 100644 --- a/ccpp/data/GFS_typedefs.meta +++ b/ccpp/data/GFS_typedefs.meta @@ -2480,13 +2480,6 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys -[sfcdswc] - standard_name = surface_downwelling_shortwave_flux_on_radiation_timestep_assuming_clear_sky - long_name = total sky sfc downward sw flux assuming clear sky conditions - units = W m-2 - dimensions = (horizontal_loop_extent) - type = real - kind = kind_phys [sfcnsw] standard_name = surface_net_downwelling_shortwave_flux_on_radiation_timestep long_name = total sky sfc netsw flx into ground @@ -9192,13 +9185,6 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys -[dswsfcci] - standard_name = surface_downwelling_shortwave_flux_assuming_clear_sky - long_name = surface downwelling shortwave flux at current time assuming clear sky - units = W m-2 - dimensions = (horizontal_loop_extent) - type = real - kind = kind_phys [nswsfci] standard_name = surface_net_downwelling_shortwave_flux long_name = surface net downwelling shortwave flux at current time diff --git a/ccpp/driver/GFS_diagnostics.F90 b/ccpp/driver/GFS_diagnostics.F90 index 5e81cd4ab..41eae554f 100644 --- a/ccpp/driver/GFS_diagnostics.F90 +++ b/ccpp/driver/GFS_diagnostics.F90 @@ -364,18 +364,6 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop ExtDiag(idx)%data(nb)%var2 => IntDiag%dswsfci(Model%chunk_begin(nb):Model%chunk_end(nb)) enddo - idx = idx + 1 - ExtDiag(idx)%axes = 2 - ExtDiag(idx)%name = 'DSWRFCI' - ExtDiag(idx)%desc = 'instantaneous surface downward shortwave flux assuming clear sky' - ExtDiag(idx)%unit = 'w/m**2' - ExtDiag(idx)%mod_name = 'gfs_phys' - ExtDiag(idx)%intpl_method = 'bilinear' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var2 => IntDiag%dswsfcci(Model%chunk_begin(nb):Model%chunk_end(nb)) - enddo - idx = idx + 1 ExtDiag(idx)%axes = 2 ExtDiag(idx)%name = 'USWRF' diff --git a/io/fv3atm_restart_io.F90 b/io/fv3atm_restart_io.F90 index 979c2a000..e7f60262b 100644 --- a/io/fv3atm_restart_io.F90 +++ b/io/fv3atm_restart_io.F90 @@ -19,13 +19,7 @@ module fv3atm_restart_io_mod read_restart, write_restart, write_data, & get_global_io_domain_indices, get_dimension_size, & global_att_exists, get_global_attribute -#ifdef ENABLE_PARALLELRESTART - use mpp_domains_mod, only: domain2d, mpp_get_domain_tile_commid, mpp_copy_domain, & - mpp_define_io_domain, mpp_get_layout -#else - use mpp_domains_mod, only: domain2d, mpp_copy_domain, & - mpp_define_io_domain, mpp_get_layout -#endif + use mpp_domains_mod, only: domain2d use fv3atm_common_io, only: create_2d_field_and_add_to_bundle, & create_3d_field_and_add_to_bundle, copy_from_gfs_data, axis_type use fv3atm_sfc_io @@ -538,7 +532,6 @@ end subroutine fv3atm_checksum !! Also calculates sncovr if it is not present in the restart file. subroutine sfc_prop_restart_read (Sfcprop, Atm_block, Model, fv_domain, warm_start, ignore_rst_cksum) use fv3atm_rrfs_sd_io - use atmosphere_mod, only: Atm,mygrid implicit none !--- interface variable definitions type(GFS_sfcprop_type), intent(inout) :: Sfcprop @@ -565,25 +558,12 @@ subroutine sfc_prop_restart_read (Sfcprop, Atm_block, Model, fv_domain, warm_sta type(FmsNetcdfDomainFile_t) :: Oro_restart, Sfc_restart, dust12m_restart, emi_restart, rrfssd_restart type(FmsNetcdfDomainFile_t) :: Oro_ls_restart, Oro_ss_restart - type(domain2D) :: domain_for_read - integer :: read_layout(2) !--- OROGRAPHY FILE !--- open file -#ifdef ENABLE_PARALLELRESTART - Oro_restart%use_collective = .true. - call mpp_get_layout(Atm(mygrid)%domain, read_layout) - call mpp_copy_domain(Atm(mygrid)%domain, domain_for_read) - call mpp_define_io_domain(domain_for_read, read_layout) - Oro_restart%tile_comm = mpp_get_domain_tile_commid(Atm(mygrid)%domain) - - infile=trim(indir)//'/'//trim(fn_oro) - amiopen=open_file(Oro_restart, trim(infile), 'read', domain=domain_for_read, is_restart=.true., dont_add_res_to_filename=.true.) -#else infile=trim(indir)//'/'//trim(fn_oro) amiopen=open_file(Oro_restart, trim(infile), 'read', domain=fv_domain, is_restart=.true., dont_add_res_to_filename=.true.) -#endif if (.not.amiopen) call mpp_error( FATAL, 'Error with opening file '//trim(infile) ) call oro%register(Model,Oro_restart,Atm_block) @@ -689,16 +669,8 @@ subroutine sfc_prop_restart_read (Sfcprop, Atm_block, Model, fv_domain, warm_sta !--- SURFACE FILE !--- open file -#ifdef ENABLE_PARALLELRESTART - Sfc_restart%use_collective = .true. - Sfc_restart%tile_comm = mpp_get_domain_tile_commid(Atm(mygrid)%domain) - - infile=trim(indir)//'/'//trim(fn_srf) - amiopen=open_file(Sfc_restart, trim(infile), "read", domain=domain_for_read, is_restart=.true., dont_add_res_to_filename=.true.) -#else infile=trim(indir)//'/'//trim(fn_srf) amiopen=open_file(Sfc_restart, trim(infile), "read", domain=fv_domain, is_restart=.true., dont_add_res_to_filename=.true.) -#endif if( .not.amiopen ) call mpp_error(FATAL, 'Error opening file'//trim(infile)) if (global_att_exists(Sfc_restart, "file_version")) then @@ -868,7 +840,6 @@ end subroutine sfc_prop_restart_write !! restart variables with the GFDL FMS restart subsystem. !! Calls a GFDL FMS routine to restore the data from a restart file. subroutine phys_restart_read (GFS_Restart, Atm_block, Model, fv_domain, ignore_rst_cksum) - use atmosphere_mod, only: Atm,mygrid implicit none !--- interface variable definitions type(GFS_restart_type), intent(in) :: GFS_Restart @@ -888,8 +859,6 @@ subroutine phys_restart_read (GFS_Restart, Atm_block, Model, fv_domain, ignore_r type(phy_data_type) :: phy type(FmsNetcdfDomainFile_t) :: Phy_restart - type(domain2D) :: domain_for_read - integer :: read_layout(2) isc = Atm_block%isc iec = Atm_block%iec @@ -902,17 +871,7 @@ subroutine phys_restart_read (GFS_Restart, Atm_block, Model, fv_domain, ignore_r !--- open restart file and register axes fname = trim(indir)//'/'//trim(fn_phy) -#ifdef ENABLE_PARALLELRESTART - Phy_restart%use_collective = .true. - call mpp_get_layout(Atm(mygrid)%domain, read_layout) - call mpp_copy_domain(Atm(mygrid)%domain, domain_for_read) - call mpp_define_io_domain(domain_for_read, read_layout) - Phy_restart%tile_comm = mpp_get_domain_tile_commid(Atm(mygrid)%domain) - - amiopen=open_file(Phy_restart, trim(fname), 'read', domain=domain_for_read, is_restart=.true., dont_add_res_to_filename=.true.) -#else amiopen=open_file(Phy_restart, trim(fname), 'read', domain=fv_domain, is_restart=.true., dont_add_res_to_filename=.true.) -#endif if( amiopen ) then call register_axis(Phy_restart, 'xaxis_1', 'X') call register_axis(Phy_restart, 'yaxis_1', 'Y') From 7f55155f9329f6b320cdb69aede4f51cb5e54abc Mon Sep 17 00:00:00 2001 From: Grant Firl Date: Wed, 12 Feb 2025 12:07:19 -0500 Subject: [PATCH 11/22] Sixth reconciliation PR from production/RRFS.v1 + CCPP physics: wet() bug fix and workaround for bad tsfco #916 (#896) * Parallel IO enhancements from GDIT * Add SW clear-sky downward flux at surface to available diagnostics * fix compilation error in GFS_diagnostics.F90 * update atmos_cubed_sphere to turn ENABLE_PARALLELRESTART OFF by default to avoid RT errors on some platforms (Hera, Hercules at least) * ccpp-physics - wet() bug fix and workaround for bad tsfco --------- Co-authored-by: Dustin Swales Co-authored-by: Samuel Trahan --- CMakeLists.txt | 8 ++++++ atmos_cubed_sphere | 2 +- ccpp/data/GFS_typedefs.F90 | 6 +++++ ccpp/data/GFS_typedefs.meta | 14 +++++++++++ ccpp/driver/GFS_diagnostics.F90 | 12 +++++++++ io/fv3atm_restart_io.F90 | 43 ++++++++++++++++++++++++++++++++- 6 files changed, 83 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cef00a251..dca5d7a2e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -64,6 +64,14 @@ if(NOT PARALLEL_NETCDF) list(APPEND _fv3atm_defs_private NO_PARALLEL_NETCDF) endif() +if(ENABLE_PARALLELRESTART) + list(APPEND _fv3atm_defs_private ENABLE_PARALLELRESTART) +endif() + +if(ENABLE_RRFS_WAR) + list(APPEND _fv3atm_defs_private ENABLE_RRFS_WAR) +endif() + if(MOVING_NEST) list(APPEND _fv3atm_defs_private MOVING_NEST) if(NOT HYDRO) diff --git a/atmos_cubed_sphere b/atmos_cubed_sphere index 9490871a6..0519df1af 160000 --- a/atmos_cubed_sphere +++ b/atmos_cubed_sphere @@ -1 +1 @@ -Subproject commit 9490871a616604efe9dd75608214081eef557ad6 +Subproject commit 0519df1af731548b1e35aa5685a35605e3e66d5a diff --git a/ccpp/data/GFS_typedefs.F90 b/ccpp/data/GFS_typedefs.F90 index 4614c087b..d67c263ed 100644 --- a/ccpp/data/GFS_typedefs.F90 +++ b/ccpp/data/GFS_typedefs.F90 @@ -523,6 +523,7 @@ module GFS_typedefs !--- In (physics only) real (kind=kind_phys), pointer :: sfcdsw(:) => null() !< total sky sfc downward sw flux ( w/m**2 ) !< GFS_radtend_type%sfcfsw%dnfxc + real (kind=kind_phys), pointer :: sfcdswc(:) => null() !< total sky sfc downward sw flux assuming clear sky conditions( w/m**2 ) real (kind=kind_phys), pointer :: sfcnsw(:) => null() !< total sky sfc netsw flx into ground(w/m**2) !< difference of dnfxc & upfxc from GFS_radtend_type%sfcfsw real (kind=kind_phys), pointer :: sfcdlw(:) => null() !< total sky sfc downward lw flux ( w/m**2 ) @@ -2032,6 +2033,7 @@ module GFS_typedefs real (kind=kind_phys), pointer :: dlwsfci(:) => null() !< instantaneous sfc dnwd lw flux ( w/m**2 ) real (kind=kind_phys), pointer :: ulwsfci(:) => null() !< instantaneous sfc upwd lw flux ( w/m**2 ) real (kind=kind_phys), pointer :: dswsfci(:) => null() !< instantaneous sfc dnwd sw flux ( w/m**2 ) + real (kind=kind_phys), pointer :: dswsfcci(:) => null() !< instantaneous sfc dnwd sw flux ( w/m**2 ) (clear-sky) real (kind=kind_phys), pointer :: nswsfci(:) => null() !< instantaneous sfc net dnwd sw flux ( w/m**2 ) real (kind=kind_phys), pointer :: uswsfci(:) => null() !< instantaneous sfc upwd sw flux ( w/m**2 ) real (kind=kind_phys), pointer :: dusfci (:) => null() !< instantaneous u component of surface stress @@ -2948,11 +2950,13 @@ subroutine coupling_create (Coupling, Model) Coupling%visbmui = clear_val Coupling%visdfui = clear_val + allocate (Coupling%sfcdswc (IM)) allocate (Coupling%sfcdsw (IM)) allocate (Coupling%sfcnsw (IM)) allocate (Coupling%sfcdlw (IM)) allocate (Coupling%sfculw (IM)) + Coupling%sfcdswc = clear_val Coupling%sfcdsw = clear_val Coupling%sfcnsw = clear_val Coupling%sfcdlw = clear_val @@ -7827,6 +7831,7 @@ subroutine diag_create (Diag, Model) allocate (Diag%dlwsfci (IM)) allocate (Diag%ulwsfci (IM)) allocate (Diag%dswsfci (IM)) + allocate (Diag%dswsfcci(IM)) allocate (Diag%nswsfci (IM)) allocate (Diag%uswsfci (IM)) allocate (Diag%dusfci (IM)) @@ -8141,6 +8146,7 @@ subroutine diag_phys_zero (Diag, Model, linit, iauwindow_center) Diag%dlwsfci = zero Diag%ulwsfci = zero Diag%dswsfci = zero + Diag%dswsfcci = zero Diag%nswsfci = zero Diag%uswsfci = zero Diag%dusfci = zero diff --git a/ccpp/data/GFS_typedefs.meta b/ccpp/data/GFS_typedefs.meta index bd0e34975..8adaadaa4 100644 --- a/ccpp/data/GFS_typedefs.meta +++ b/ccpp/data/GFS_typedefs.meta @@ -2480,6 +2480,13 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys +[sfcdswc] + standard_name = surface_downwelling_shortwave_flux_on_radiation_timestep_assuming_clear_sky + long_name = total sky sfc downward sw flux assuming clear sky conditions + units = W m-2 + dimensions = (horizontal_loop_extent) + type = real + kind = kind_phys [sfcnsw] standard_name = surface_net_downwelling_shortwave_flux_on_radiation_timestep long_name = total sky sfc netsw flx into ground @@ -9185,6 +9192,13 @@ dimensions = (horizontal_dimension) type = real kind = kind_phys +[dswsfcci] + standard_name = surface_downwelling_shortwave_flux_assuming_clear_sky + long_name = surface downwelling shortwave flux at current time assuming clear sky + units = W m-2 + dimensions = (horizontal_loop_extent) + type = real + kind = kind_phys [nswsfci] standard_name = surface_net_downwelling_shortwave_flux long_name = surface net downwelling shortwave flux at current time diff --git a/ccpp/driver/GFS_diagnostics.F90 b/ccpp/driver/GFS_diagnostics.F90 index 41eae554f..5e81cd4ab 100644 --- a/ccpp/driver/GFS_diagnostics.F90 +++ b/ccpp/driver/GFS_diagnostics.F90 @@ -364,6 +364,18 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop ExtDiag(idx)%data(nb)%var2 => IntDiag%dswsfci(Model%chunk_begin(nb):Model%chunk_end(nb)) enddo + idx = idx + 1 + ExtDiag(idx)%axes = 2 + ExtDiag(idx)%name = 'DSWRFCI' + ExtDiag(idx)%desc = 'instantaneous surface downward shortwave flux assuming clear sky' + ExtDiag(idx)%unit = 'w/m**2' + ExtDiag(idx)%mod_name = 'gfs_phys' + ExtDiag(idx)%intpl_method = 'bilinear' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var2 => IntDiag%dswsfcci(Model%chunk_begin(nb):Model%chunk_end(nb)) + enddo + idx = idx + 1 ExtDiag(idx)%axes = 2 ExtDiag(idx)%name = 'USWRF' diff --git a/io/fv3atm_restart_io.F90 b/io/fv3atm_restart_io.F90 index e7f60262b..979c2a000 100644 --- a/io/fv3atm_restart_io.F90 +++ b/io/fv3atm_restart_io.F90 @@ -19,7 +19,13 @@ module fv3atm_restart_io_mod read_restart, write_restart, write_data, & get_global_io_domain_indices, get_dimension_size, & global_att_exists, get_global_attribute - use mpp_domains_mod, only: domain2d +#ifdef ENABLE_PARALLELRESTART + use mpp_domains_mod, only: domain2d, mpp_get_domain_tile_commid, mpp_copy_domain, & + mpp_define_io_domain, mpp_get_layout +#else + use mpp_domains_mod, only: domain2d, mpp_copy_domain, & + mpp_define_io_domain, mpp_get_layout +#endif use fv3atm_common_io, only: create_2d_field_and_add_to_bundle, & create_3d_field_and_add_to_bundle, copy_from_gfs_data, axis_type use fv3atm_sfc_io @@ -532,6 +538,7 @@ end subroutine fv3atm_checksum !! Also calculates sncovr if it is not present in the restart file. subroutine sfc_prop_restart_read (Sfcprop, Atm_block, Model, fv_domain, warm_start, ignore_rst_cksum) use fv3atm_rrfs_sd_io + use atmosphere_mod, only: Atm,mygrid implicit none !--- interface variable definitions type(GFS_sfcprop_type), intent(inout) :: Sfcprop @@ -558,12 +565,25 @@ subroutine sfc_prop_restart_read (Sfcprop, Atm_block, Model, fv_domain, warm_sta type(FmsNetcdfDomainFile_t) :: Oro_restart, Sfc_restart, dust12m_restart, emi_restart, rrfssd_restart type(FmsNetcdfDomainFile_t) :: Oro_ls_restart, Oro_ss_restart + type(domain2D) :: domain_for_read + integer :: read_layout(2) !--- OROGRAPHY FILE !--- open file +#ifdef ENABLE_PARALLELRESTART + Oro_restart%use_collective = .true. + call mpp_get_layout(Atm(mygrid)%domain, read_layout) + call mpp_copy_domain(Atm(mygrid)%domain, domain_for_read) + call mpp_define_io_domain(domain_for_read, read_layout) + Oro_restart%tile_comm = mpp_get_domain_tile_commid(Atm(mygrid)%domain) + + infile=trim(indir)//'/'//trim(fn_oro) + amiopen=open_file(Oro_restart, trim(infile), 'read', domain=domain_for_read, is_restart=.true., dont_add_res_to_filename=.true.) +#else infile=trim(indir)//'/'//trim(fn_oro) amiopen=open_file(Oro_restart, trim(infile), 'read', domain=fv_domain, is_restart=.true., dont_add_res_to_filename=.true.) +#endif if (.not.amiopen) call mpp_error( FATAL, 'Error with opening file '//trim(infile) ) call oro%register(Model,Oro_restart,Atm_block) @@ -669,8 +689,16 @@ subroutine sfc_prop_restart_read (Sfcprop, Atm_block, Model, fv_domain, warm_sta !--- SURFACE FILE !--- open file +#ifdef ENABLE_PARALLELRESTART + Sfc_restart%use_collective = .true. + Sfc_restart%tile_comm = mpp_get_domain_tile_commid(Atm(mygrid)%domain) + + infile=trim(indir)//'/'//trim(fn_srf) + amiopen=open_file(Sfc_restart, trim(infile), "read", domain=domain_for_read, is_restart=.true., dont_add_res_to_filename=.true.) +#else infile=trim(indir)//'/'//trim(fn_srf) amiopen=open_file(Sfc_restart, trim(infile), "read", domain=fv_domain, is_restart=.true., dont_add_res_to_filename=.true.) +#endif if( .not.amiopen ) call mpp_error(FATAL, 'Error opening file'//trim(infile)) if (global_att_exists(Sfc_restart, "file_version")) then @@ -840,6 +868,7 @@ end subroutine sfc_prop_restart_write !! restart variables with the GFDL FMS restart subsystem. !! Calls a GFDL FMS routine to restore the data from a restart file. subroutine phys_restart_read (GFS_Restart, Atm_block, Model, fv_domain, ignore_rst_cksum) + use atmosphere_mod, only: Atm,mygrid implicit none !--- interface variable definitions type(GFS_restart_type), intent(in) :: GFS_Restart @@ -859,6 +888,8 @@ subroutine phys_restart_read (GFS_Restart, Atm_block, Model, fv_domain, ignore_r type(phy_data_type) :: phy type(FmsNetcdfDomainFile_t) :: Phy_restart + type(domain2D) :: domain_for_read + integer :: read_layout(2) isc = Atm_block%isc iec = Atm_block%iec @@ -871,7 +902,17 @@ subroutine phys_restart_read (GFS_Restart, Atm_block, Model, fv_domain, ignore_r !--- open restart file and register axes fname = trim(indir)//'/'//trim(fn_phy) +#ifdef ENABLE_PARALLELRESTART + Phy_restart%use_collective = .true. + call mpp_get_layout(Atm(mygrid)%domain, read_layout) + call mpp_copy_domain(Atm(mygrid)%domain, domain_for_read) + call mpp_define_io_domain(domain_for_read, read_layout) + Phy_restart%tile_comm = mpp_get_domain_tile_commid(Atm(mygrid)%domain) + + amiopen=open_file(Phy_restart, trim(fname), 'read', domain=domain_for_read, is_restart=.true., dont_add_res_to_filename=.true.) +#else amiopen=open_file(Phy_restart, trim(fname), 'read', domain=fv_domain, is_restart=.true., dont_add_res_to_filename=.true.) +#endif if( amiopen ) then call register_axis(Phy_restart, 'xaxis_1', 'X') call register_axis(Phy_restart, 'yaxis_1', 'Y') From 9a2527bf6fdb4f576d1b80a9cc448d8b02607a4c Mon Sep 17 00:00:00 2001 From: "larissa.reames@noaa.gov" Date: Wed, 12 Feb 2025 20:48:50 +0000 Subject: [PATCH 12/22] Remove extraneous spaces --- io/fv3atm_history_io.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/io/fv3atm_history_io.F90 b/io/fv3atm_history_io.F90 index 1e3de8c06..82af1beb2 100644 --- a/io/fv3atm_history_io.F90 +++ b/io/fv3atm_history_io.F90 @@ -326,7 +326,7 @@ subroutine history_type_output(hist, time, diag, atm_block, nx, ny, levs, ntcw, ! if(mpp_pe()==mpp_root_pe())print *,'in,fv3atm_io. rad longwave avg, field=',trim(Diag(idx)%name),' time=',time_radlw else if ( trim(diag(idx)%time_avg_kind) == 'rad_sw' ) then !lcnvfac = lcnvfac*min(rtime_radsw,rtime_int) - lcnvfac = lcnvfac*rtime_radsw/int(time_int/dt_atmos) + lcnvfac = lcnvfac*rtime_radsw/int(time_int/dt_atmos) ! if(mpp_pe()==mpp_root_pe())print *,'in,fv3atm_io. rad shortwave avg, field=',trim(Diag(idx)%name),' time=',time_radsw else if ( trim(diag(idx)%time_avg_kind) == 'rad_swlw_min' ) then !lcnvfac = lcnvfac*min(max(rtime_radsw,rtime_radlw),rtime_int) From d0e62272ea47d5f66b3332d926c3dd1467d7f4f1 Mon Sep 17 00:00:00 2001 From: "larissa.reames@noaa.gov" Date: Tue, 25 Feb 2025 14:32:02 +0000 Subject: [PATCH 13/22] Update ccpp/physics --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index 33df42797..140b49ed7 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 33df4279745192a2218fdccb17c40663132223c0 +Subproject commit 140b49ed7f84a12d9dcf657ee4b67d0fe98e7110 From 0da6fc1e328e83297b55aa7443969065e1c9984c Mon Sep 17 00:00:00 2001 From: "larissa.reames@noaa.gov" Date: Tue, 25 Feb 2025 15:10:27 +0000 Subject: [PATCH 14/22] Update ccpp/physics --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index 140b49ed7..506484619 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 140b49ed7f84a12d9dcf657ee4b67d0fe98e7110 +Subproject commit 506484619df149049ad892a09a30de1076bb9434 From 803261a8221bb60770de300d0fddba89c334b260 Mon Sep 17 00:00:00 2001 From: Grant Firl Date: Fri, 21 Mar 2025 10:03:08 -0400 Subject: [PATCH 15/22] update .gitmodules to reflect branch change --- .gitmodules | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index b52114e01..45852cf33 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,8 +8,8 @@ branch = main [submodule "ccpp/physics"] path = ccpp/physics - url = https://github.com/LarissaReames-NOAA/ccpp-physics - branch = feature/rad-fix + url = https://github.com/grantfirl/ccpp-physics + branch = feature/rad-fix_gjf [submodule "upp"] path = upp url = https://github.com/NOAA-EMC/UPP From 8347a6d0480359f0412381d59b19ed478b9de0e9 Mon Sep 17 00:00:00 2001 From: Grant Firl Date: Tue, 12 Aug 2025 15:00:06 -0400 Subject: [PATCH 16/22] update ccpp/physics --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index cf5625664..32d5b9a4a 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit cf562566436f5695f318afe5310b3f24e09e9f74 +Subproject commit 32d5b9a4a126cd254b5efecb040a3406ea92bd93 From 69eefe778ea06090304b9999624a908378a07a61 Mon Sep 17 00:00:00 2001 From: Grant Firl Date: Tue, 12 Aug 2025 15:35:19 -0400 Subject: [PATCH 17/22] update CCPP SDFs to replace GFS_rrtmg_post with GFS_radiation_post --- ccpp/suites/suite_FV3_GFS_v16_gfdlmpv3.xml | 2 +- ccpp/suites/suite_FV3_GFS_v17_p8_ugwpv1_tempo.xml | 2 +- ccpp/suites/suite_FV3_HAFS_v1_gfdlmpv3_tedmf.xml | 2 +- ccpp/suites/suite_FV3_coupled_lowres.xml | 2 +- ccpp/suites/suite_FV3_ideal_pbl_mp_nssl.xml | 2 +- ccpp/suites/suite_FV3_lowres.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ccpp/suites/suite_FV3_GFS_v16_gfdlmpv3.xml b/ccpp/suites/suite_FV3_GFS_v16_gfdlmpv3.xml index 604343d63..c02d886b1 100644 --- a/ccpp/suites/suite_FV3_GFS_v16_gfdlmpv3.xml +++ b/ccpp/suites/suite_FV3_GFS_v16_gfdlmpv3.xml @@ -24,7 +24,7 @@ rrtmg_sw_post rrtmg_lw rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_GFS_v17_p8_ugwpv1_tempo.xml b/ccpp/suites/suite_FV3_GFS_v17_p8_ugwpv1_tempo.xml index cd1d1aff5..5dfd909e0 100644 --- a/ccpp/suites/suite_FV3_GFS_v17_p8_ugwpv1_tempo.xml +++ b/ccpp/suites/suite_FV3_GFS_v17_p8_ugwpv1_tempo.xml @@ -19,7 +19,7 @@ rrtmg_sw_post rrtmg_lw rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_HAFS_v1_gfdlmpv3_tedmf.xml b/ccpp/suites/suite_FV3_HAFS_v1_gfdlmpv3_tedmf.xml index b222245f2..9556c27f9 100644 --- a/ccpp/suites/suite_FV3_HAFS_v1_gfdlmpv3_tedmf.xml +++ b/ccpp/suites/suite_FV3_HAFS_v1_gfdlmpv3_tedmf.xml @@ -24,7 +24,7 @@ rrtmg_sw_post rrtmg_lw rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_coupled_lowres.xml b/ccpp/suites/suite_FV3_coupled_lowres.xml index 8b9a78671..141fc8df0 100644 --- a/ccpp/suites/suite_FV3_coupled_lowres.xml +++ b/ccpp/suites/suite_FV3_coupled_lowres.xml @@ -19,7 +19,7 @@ rrtmg_sw_post rrtmg_lw rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_ideal_pbl_mp_nssl.xml b/ccpp/suites/suite_FV3_ideal_pbl_mp_nssl.xml index 4df1affce..f9fbab7e9 100644 --- a/ccpp/suites/suite_FV3_ideal_pbl_mp_nssl.xml +++ b/ccpp/suites/suite_FV3_ideal_pbl_mp_nssl.xml @@ -21,7 +21,7 @@ rrtmg_lw sgscloud_radpost rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post diff --git a/ccpp/suites/suite_FV3_lowres.xml b/ccpp/suites/suite_FV3_lowres.xml index 5edcef6e2..cdae7a101 100644 --- a/ccpp/suites/suite_FV3_lowres.xml +++ b/ccpp/suites/suite_FV3_lowres.xml @@ -19,7 +19,7 @@ rrtmg_sw_post rrtmg_lw rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post From 6fc725a708d2dab7567626bea070fb1a873550e1 Mon Sep 17 00:00:00 2001 From: Grant Firl Date: Thu, 2 Oct 2025 14:14:09 -0400 Subject: [PATCH 18/22] change GFS_rrtmg_post in MPAS-based suite --- ccpp/suites/suite_MPAS_RRFS.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/suites/suite_MPAS_RRFS.xml b/ccpp/suites/suite_MPAS_RRFS.xml index 2f8f81c3c..ab83aadc4 100644 --- a/ccpp/suites/suite_MPAS_RRFS.xml +++ b/ccpp/suites/suite_MPAS_RRFS.xml @@ -18,7 +18,7 @@ rrtmg_sw_post rrtmg_lw rrtmg_lw_post - GFS_rrtmg_post + GFS_radiation_post From b9311d6476263ab2642078f83683d32a91a71efd Mon Sep 17 00:00:00 2001 From: Grant Firl Date: Fri, 3 Oct 2025 12:09:31 -0400 Subject: [PATCH 19/22] fix MPAS-based ccpp_prebuild config that still referenced GFS_rrtmgX_post --- ccpp/config/ccpp_prebuild_config_mpas.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ccpp/config/ccpp_prebuild_config_mpas.py b/ccpp/config/ccpp_prebuild_config_mpas.py index bb85073ad..419680c4f 100755 --- a/ccpp/config/ccpp_prebuild_config_mpas.py +++ b/ccpp/config/ccpp_prebuild_config_mpas.py @@ -97,7 +97,7 @@ 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.mpas.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.fv3.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_radiation_surface.F90', - 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_post.F90', + 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_radition_post.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_pre.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_setup.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_setup.F90', @@ -105,7 +105,6 @@ 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_cloud_diagnostics.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_cloud_mp.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_cloud_overlap.F90', - 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_post.F90', 'physics/physics/Radiation/RRTMG/radsw_main.F90', 'physics/physics/Radiation/RRTMG/radlw_main.F90', 'physics/physics/Radiation/RRTMG/rrtmg_lw_post.F90', From 3fdc2d7d45dc5ebddff32b9db2a0f19dd4fa92a7 Mon Sep 17 00:00:00 2001 From: Grant Firl Date: Fri, 3 Oct 2025 12:18:34 -0400 Subject: [PATCH 20/22] fix typo --- ccpp/config/ccpp_prebuild_config_mpas.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/config/ccpp_prebuild_config_mpas.py b/ccpp/config/ccpp_prebuild_config_mpas.py index 419680c4f..0403c714a 100755 --- a/ccpp/config/ccpp_prebuild_config_mpas.py +++ b/ccpp/config/ccpp_prebuild_config_mpas.py @@ -97,7 +97,7 @@ 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rad_time_vary.mpas.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_time_vary_pre.fv3.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_radiation_surface.F90', - 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_radition_post.F90', + 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_radiation_post.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_pre.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmg_setup.F90', 'physics/physics/Interstitials/UFS_SCM_NEPTUNE/GFS_rrtmgp_setup.F90', From 8e351d3ac681ff8867330e500786a7725c9e4a97 Mon Sep 17 00:00:00 2001 From: Grant Firl Date: Fri, 3 Oct 2025 13:36:43 -0400 Subject: [PATCH 21/22] update ccpp/physics after vertical dimension bugfix --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index 60e555668..31618fc64 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 60e555668074341983a492cd2200c8305c781fda +Subproject commit 31618fc64a2863bbd8242195779d008d10412dbd From bbeb1c2906a546ac484f74b9343448fa5226c787 Mon Sep 17 00:00:00 2001 From: Grant Firl Date: Tue, 7 Oct 2025 10:21:48 -0400 Subject: [PATCH 22/22] update ccpp/physics after merge --- .gitmodules | 4 ++-- ccpp/physics | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitmodules b/.gitmodules index c901d3b94..a773677e6 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,8 +8,8 @@ branch = main [submodule "ccpp/physics"] path = ccpp/physics - url = https://github.com/grantfirl/ccpp-physics - branch = feature/rad-fix_gjf + url = https://github.com/ufs-community/ccpp-physics + branch = ufs/dev [submodule "upp"] path = upp url = https://github.com/NOAA-EMC/UPP diff --git a/ccpp/physics b/ccpp/physics index 31618fc64..0722a9d60 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 31618fc64a2863bbd8242195779d008d10412dbd +Subproject commit 0722a9d60cedbd837ee0d3666ea90541f7758c80