From 84b35f9346a42383bfeec7e51fea850146aba39c Mon Sep 17 00:00:00 2001 From: "Man.Zhang" Date: Tue, 11 Feb 2020 10:38:56 -0700 Subject: [PATCH 1/9] add icloud=3 option for HWRF cloud fraction and optical property option --- ccpp/suites/suite_FV3_GFS_HWRF_RRTMG.xml | 94 ++++++++++++++++++++++++ ccpp/suites/suite_FV3_HAFS_FA_HRRTMG.xml | 87 ++++++++++++++++++++++ gfsphysics/GFS_layer/GFS_typedefs.F90 | 8 +- gfsphysics/GFS_layer/GFS_typedefs.meta | 6 ++ 4 files changed, 194 insertions(+), 1 deletion(-) create mode 100644 ccpp/suites/suite_FV3_GFS_HWRF_RRTMG.xml create mode 100644 ccpp/suites/suite_FV3_HAFS_FA_HRRTMG.xml diff --git a/ccpp/suites/suite_FV3_GFS_HWRF_RRTMG.xml b/ccpp/suites/suite_FV3_GFS_HWRF_RRTMG.xml new file mode 100644 index 000000000..4921942f7 --- /dev/null +++ b/ccpp/suites/suite_FV3_GFS_HWRF_RRTMG.xml @@ -0,0 +1,94 @@ + + + + + + + fv_sat_adj + + + + + GFS_time_vary_pre + GFS_rrtmg_setup + GFS_rad_time_vary + GFS_phys_time_vary + + + + + GFS_suite_interstitial_rad_reset + GFS_rrtmg_pre + rrtmg_lw_pre + rrtmg_lw + rrtmg_lw_post + rrtmg_sw_pre + rrtmg_sw + rrtmg_sw_post + GFS_rrtmg_post + + + + + GFS_suite_interstitial_phys_reset + GFS_suite_stateout_reset + get_prs_fv3 + GFS_suite_interstitial_1 + GFS_surface_generic_pre + GFS_surface_composites_pre + dcyc2t3 + GFS_surface_composites_inter + GFS_suite_interstitial_2 + + + + sfc_diff + GFS_surface_loop_control_part1 + sfc_nst_pre + sfc_nst + sfc_nst_post + lsm_noah + sfc_sice + GFS_surface_loop_control_part2 + + + + GFS_surface_composites_post + dcyc2t3_post + sfc_diag + sfc_diag_post + GFS_surface_generic_post + GFS_PBL_generic_pre + hedmf + GFS_PBL_generic_post + GFS_GWD_generic_pre + cires_ugwp + cires_ugwp_post + GFS_GWD_generic_post + rayleigh_damp + GFS_suite_stateout_update + ozphys_2015 + h2ophys + GFS_DCNV_generic_pre + get_phi_fv3 + GFS_suite_interstitial_3 + samfdeepcnv + GFS_DCNV_generic_post + GFS_SCNV_generic_pre + samfshalcnv + GFS_SCNV_generic_post + GFS_suite_interstitial_4 + cnvc90 + GFS_MP_generic_pre + gfdl_cloud_microphys + GFS_MP_generic_post + maximum_hourly_diagnostics + + + + + GFS_stochastics + + + + diff --git a/ccpp/suites/suite_FV3_HAFS_FA_HRRTMG.xml b/ccpp/suites/suite_FV3_HAFS_FA_HRRTMG.xml new file mode 100644 index 000000000..0d80ecf77 --- /dev/null +++ b/ccpp/suites/suite_FV3_HAFS_FA_HRRTMG.xml @@ -0,0 +1,87 @@ + + + + + + + GFS_time_vary_pre + GFS_rrtmg_setup + GFS_rad_time_vary + GFS_phys_time_vary + + + + + GFS_suite_interstitial_rad_reset + GFS_rrtmg_pre + rrtmg_lw_pre + rrtmg_lw + rrtmg_lw_post + rrtmg_sw_pre + rrtmg_sw + rrtmg_sw_post + GFS_rrtmg_post + + + + + GFS_suite_interstitial_phys_reset + GFS_suite_stateout_reset + get_prs_fv3 + GFS_suite_interstitial_1 + GFS_surface_generic_pre + GFS_surface_composites_pre + dcyc2t3 + GFS_surface_composites_inter + GFS_suite_interstitial_2 + + + + sfc_diff + GFS_surface_loop_control_part1 + sfc_nst_pre + sfc_nst + sfc_nst_post + lsm_noah + sfc_sice + GFS_surface_loop_control_part2 + + + + GFS_surface_composites_post + dcyc2t3_post + sfc_diag + sfc_diag_post + GFS_surface_generic_post + GFS_PBL_generic_pre + hedmf + GFS_PBL_generic_post + GFS_GWD_generic_pre + cires_ugwp + cires_ugwp_post + GFS_GWD_generic_post + rayleigh_damp + GFS_suite_stateout_update + ozphys + GFS_DCNV_generic_pre + get_phi_fv3 + GFS_suite_interstitial_3 + + GFS_DCNV_generic_post + GFS_SCNV_generic_pre + GFS_SCNV_generic_post + GFS_suite_interstitial_4 + cnvc90 + GFS_MP_generic_pre + mp_fer_hires + GFS_MP_generic_post + maximum_hourly_diagnostics + + + + + GFS_stochastics + + + + diff --git a/gfsphysics/GFS_layer/GFS_typedefs.F90 b/gfsphysics/GFS_layer/GFS_typedefs.F90 index 215ab9942..c8e4ef0df 100644 --- a/gfsphysics/GFS_layer/GFS_typedefs.F90 +++ b/gfsphysics/GFS_layer/GFS_typedefs.F90 @@ -773,6 +773,8 @@ module GFS_typedefs #ifdef CCPP real(kind=kind_phys) :: rhgrd !< fer_hires microphysics only logical :: spec_adv !< flag for individual cloud species advected + integer :: icloud !< cloud effect to the optical depth in radiation; this also controls the cloud fraction options + !< 3: with cloud effect, and use cloud fraction option 3, based on Sundqvist et al. (1989) #endif logical :: do_aw !< AW scale-aware option in cs convection logical :: do_awdd !< AW scale-aware option in cs convection @@ -2798,6 +2800,8 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & #ifdef CCPP real(kind=kind_phys) :: rhgrd = 0.98 !< fer_hires microphysics only logical :: spec_adv = .true. !< Individual cloud species advected + integer :: icloud = 0 !< cloud effect to the optical depth in radiation; this also controls the cloud fraction options + !< 3: with cloud effect from FA, and use cloud fraction option 3, based on Sundqvist et al. (1989) #endif !--- M-G microphysical parameters integer :: fprcp = 0 !< no prognostic rain and snow (MG) @@ -3177,7 +3181,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & prslrd0, ral_ts, ldiag_ugwp, do_ugwp, do_tofd, & ! --- Ferrier-Aligo #ifdef CCPP - spec_adv, rhgrd, & + spec_adv, rhgrd, icloud, & #endif !--- mass flux deep convection clam_deep, c0s_deep, c1_deep, betal_deep, & @@ -3435,6 +3439,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & #ifdef CCPP Model%rhgrd = rhgrd Model%spec_adv = spec_adv + Model%icloud = icloud #endif !--- gfdl MP parameters @@ -4532,6 +4537,7 @@ subroutine control_print(Model) print *, ' Ferrier-Aligo microphysical parameters' print *, ' spec_adv : ', Model%spec_adv print *, ' rhgrd : ', Model%rhgrd + print *, ' icloud : ', Model%icloud print *, ' ' endif #endif diff --git a/gfsphysics/GFS_layer/GFS_typedefs.meta b/gfsphysics/GFS_layer/GFS_typedefs.meta index 7d964fd9a..012c8992f 100644 --- a/gfsphysics/GFS_layer/GFS_typedefs.meta +++ b/gfsphysics/GFS_layer/GFS_typedefs.meta @@ -3909,6 +3909,12 @@ dimensions = () type = real kind = kind_phys +[icloud] + standard_name = cloud_effect_to_optical_depth_and_cloud_fraction + long_name = cloud effect to the optical depth and cloud fraction in radiation + units = flag + dimensions = () + type = integer [gwd_opt] standard_name = gwd_opt long_name = flag to choose gwd scheme From ed1d67e804b10b936b20693e40fe6fe52aeea391 Mon Sep 17 00:00:00 2001 From: "Man.Zhang" Date: Tue, 11 Feb 2020 11:04:06 -0700 Subject: [PATCH 2/9] delete DCNV/SCNV interstitial in SDF for explicit simulation --- ccpp/suites/suite_FV3_HAFS_FA_HRRTMG.xml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/ccpp/suites/suite_FV3_HAFS_FA_HRRTMG.xml b/ccpp/suites/suite_FV3_HAFS_FA_HRRTMG.xml index 0d80ecf77..4eed50c3a 100644 --- a/ccpp/suites/suite_FV3_HAFS_FA_HRRTMG.xml +++ b/ccpp/suites/suite_FV3_HAFS_FA_HRRTMG.xml @@ -63,15 +63,7 @@ rayleigh_damp GFS_suite_stateout_update ozphys - GFS_DCNV_generic_pre get_phi_fv3 - GFS_suite_interstitial_3 - - GFS_DCNV_generic_post - GFS_SCNV_generic_pre - GFS_SCNV_generic_post - GFS_suite_interstitial_4 - cnvc90 GFS_MP_generic_pre mp_fer_hires GFS_MP_generic_post From af6959c4f6e761d2b8bb6ab05979b20025d7dfa2 Mon Sep 17 00:00:00 2001 From: "Man.Zhang" Date: Thu, 13 Feb 2020 13:09:15 -0700 Subject: [PATCH 3/9] add two dependency HWRF files --- ccpp/config/ccpp_prebuild_config.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ccpp/config/ccpp_prebuild_config.py b/ccpp/config/ccpp_prebuild_config.py index 6258c4b7a..00dd7f95a 100755 --- a/ccpp/config/ccpp_prebuild_config.py +++ b/ccpp/config/ccpp_prebuild_config.py @@ -94,6 +94,8 @@ 'FV3/ccpp/physics/physics/module_mp_thompson.F90', 'FV3/ccpp/physics/physics/module_mp_thompson_make_number_concentrations.F90', 'FV3/ccpp/physics/physics/module_MP_FER_HIRES.F90', + 'FV3/ccpp/physics/physics/HWRF_mersenne_twister.F90', + 'FV3/ccpp/physics/physics/HWRF_mcica_random_numbers.F90', 'FV3/ccpp/physics/physics/module_bl_mynn.F90', 'FV3/ccpp/physics/physics/module_sf_mynn.F90', 'FV3/ccpp/physics/physics/module_SF_JSFC.F90', From c485be9ceac95a75797acd445ed05f72f616d821 Mon Sep 17 00:00:00 2001 From: "Man.Zhang" Date: Sun, 16 Feb 2020 11:24:58 -0700 Subject: [PATCH 4/9] change radlw_main to F90 to accommodate WRF subroutines --- ccpp/config/ccpp_prebuild_config.py | 2 +- gfsphysics/GFS_layer/GFS_typedefs.F90 | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ccpp/config/ccpp_prebuild_config.py b/ccpp/config/ccpp_prebuild_config.py index 00dd7f95a..b18d358e6 100755 --- a/ccpp/config/ccpp_prebuild_config.py +++ b/ccpp/config/ccpp_prebuild_config.py @@ -220,7 +220,7 @@ 'FV3/ccpp/physics/physics/ozphys.f' : [ 'slow_physics' ], 'FV3/ccpp/physics/physics/ozphys_2015.f' : [ 'slow_physics' ], 'FV3/ccpp/physics/physics/precpd.f' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/radlw_main.f' : [ 'slow_physics' ], + 'FV3/ccpp/physics/physics/radlw_main.F90' : [ 'slow_physics' ], 'FV3/ccpp/physics/physics/radsw_main.f' : [ 'slow_physics' ], 'FV3/ccpp/physics/physics/rascnv.F90' : [ 'slow_physics' ], 'FV3/ccpp/physics/physics/rayleigh_damp.f' : [ 'slow_physics' ], diff --git a/gfsphysics/GFS_layer/GFS_typedefs.F90 b/gfsphysics/GFS_layer/GFS_typedefs.F90 index c8e4ef0df..3bc8089c3 100644 --- a/gfsphysics/GFS_layer/GFS_typedefs.F90 +++ b/gfsphysics/GFS_layer/GFS_typedefs.F90 @@ -4155,6 +4155,8 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & endif if (Model%iovr_lw == 0) then print *,' random cloud overlap for Longwave IOVR_LW=',Model%iovr_lw + elseif (Model%iovr_lw == 4) then + print *,'exponential cloud overlap for Longwave IOVR_LW=',Model%iovr_lw else print *,' max-random cloud overlap for Longwave IOVR_LW=',Model%iovr_lw endif From b651c1f85a476909dda5dadf96d04caa4c40314a Mon Sep 17 00:00:00 2001 From: "Man.Zhang" Date: Tue, 17 Mar 2020 09:58:08 -0600 Subject: [PATCH 5/9] HRRTMG updates --- ccpp/config/ccpp_prebuild_config.py | 4 +- gfsphysics/GFS_layer/GFS_diagnostics.F90 | 63 ++++++++++++------------ gfsphysics/GFS_layer/GFS_typedefs.F90 | 2 + gfsphysics/GFS_layer/GFS_typedefs.meta | 16 +++--- 4 files changed, 44 insertions(+), 41 deletions(-) diff --git a/ccpp/config/ccpp_prebuild_config.py b/ccpp/config/ccpp_prebuild_config.py index b18d358e6..83b6500bb 100755 --- a/ccpp/config/ccpp_prebuild_config.py +++ b/ccpp/config/ccpp_prebuild_config.py @@ -220,8 +220,8 @@ 'FV3/ccpp/physics/physics/ozphys.f' : [ 'slow_physics' ], 'FV3/ccpp/physics/physics/ozphys_2015.f' : [ 'slow_physics' ], 'FV3/ccpp/physics/physics/precpd.f' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/radlw_main.F90' : [ 'slow_physics' ], - 'FV3/ccpp/physics/physics/radsw_main.f' : [ 'slow_physics' ], + 'FV3/ccpp/physics/physics/radlw_main.F90' : [ 'slow_physics' ], + 'FV3/ccpp/physics/physics/radsw_main.F90' : [ 'slow_physics' ], 'FV3/ccpp/physics/physics/rascnv.F90' : [ 'slow_physics' ], 'FV3/ccpp/physics/physics/rayleigh_damp.f' : [ 'slow_physics' ], 'FV3/ccpp/physics/physics/rrtmg_lw_post.F90' : [ 'slow_physics' ], diff --git a/gfsphysics/GFS_layer/GFS_diagnostics.F90 b/gfsphysics/GFS_layer/GFS_diagnostics.F90 index 90f30f52b..61453f23c 100644 --- a/gfsphysics/GFS_layer/GFS_diagnostics.F90 +++ b/gfsphysics/GFS_layer/GFS_diagnostics.F90 @@ -3289,37 +3289,38 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop !! Cloud effective radii from Microphysics !if (Model%imp_physics == Model%imp_physics_thompson .or. Model%imp_physics == Model%imp_physics_wsm6) then - ! idx = idx + 1 - ! ExtDiag(idx)%axes = 3 - ! ExtDiag(idx)%name = 'cleffr' - ! ExtDiag(idx)%desc = 'effective radius of cloud liquid water particle' - ! ExtDiag(idx)%unit = 'um' - ! ExtDiag(idx)%mod_name = 'gfs_phys' - ! allocate (ExtDiag(idx)%data(nblks)) - ! do nb = 1,nblks - ! ExtDiag(idx)%data(nb)%var3 => Tbd(nb)%phy_f3d(:,:,Model%nleffr) - ! enddo - ! idx = idx + 1 - ! ExtDiag(idx)%axes = 3 - ! ExtDiag(idx)%name = 'cieffr' - ! ExtDiag(idx)%desc = 'effective radius of stratiform cloud ice particle in um' - ! ExtDiag(idx)%unit = 'um' - ! ExtDiag(idx)%mod_name = 'gfs_phys' - ! allocate (ExtDiag(idx)%data(nblks)) - ! do nb = 1,nblks - ! ExtDiag(idx)%data(nb)%var3 => Tbd(nb)%phy_f3d(:,:,Model%nieffr) - ! enddo - ! idx = idx + 1 - ! ExtDiag(idx)%axes = 3 - ! ExtDiag(idx)%name = 'cseffr' - ! ExtDiag(idx)%desc = 'effective radius of stratiform cloud snow particle in um' - ! ExtDiag(idx)%unit = 'um' - ! ExtDiag(idx)%mod_name = 'gfs_phys' - ! allocate (ExtDiag(idx)%data(nblks)) - ! do nb = 1,nblks - ! ExtDiag(idx)%data(nb)%var3 => Tbd(nb)%phy_f3d(:,:,Model%nseffr) - ! enddo - !endif + if (Model%imp_physics == Model%imp_physics_fer_hires) then + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'cleffr' + ExtDiag(idx)%desc = 'effective radius of cloud liquid water particle' + ExtDiag(idx)%unit = 'um' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => Tbd(nb)%phy_f3d(:,:,Model%nleffr) + enddo + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'cieffr' + ExtDiag(idx)%desc = 'effective radius of stratiform cloud ice particle in um' + ExtDiag(idx)%unit = 'um' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => Tbd(nb)%phy_f3d(:,:,Model%nieffr) + enddo + idx = idx + 1 + ExtDiag(idx)%axes = 3 + ExtDiag(idx)%name = 'cseffr' + ExtDiag(idx)%desc = 'effective radius of stratiform cloud snow particle in um' + ExtDiag(idx)%unit = 'um' + ExtDiag(idx)%mod_name = 'gfs_phys' + allocate (ExtDiag(idx)%data(nblks)) + do nb = 1,nblks + ExtDiag(idx)%data(nb)%var3 => Tbd(nb)%phy_f3d(:,:,Model%nseffr) + enddo + endif !MYNN if (Model%do_mynnedmf) then diff --git a/gfsphysics/GFS_layer/GFS_typedefs.F90 b/gfsphysics/GFS_layer/GFS_typedefs.F90 index 3bc8089c3..bc21d3490 100644 --- a/gfsphysics/GFS_layer/GFS_typedefs.F90 +++ b/gfsphysics/GFS_layer/GFS_typedefs.F90 @@ -4150,6 +4150,8 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & print *,' Radiative heating calculated at',Model%levr, ' layers' if (Model%iovr_sw == 0) then print *,' random cloud overlap for Shortwave IOVR_SW=',Model%iovr_sw + elseif (Model%iovr_sw == 4) then + print *,'exponential cloud overlap for Shortwave IOVR_SW=',Model%iovr_lw else print *,' max-random cloud overlap for Shortwave IOVR_SW=',Model%iovr_sw endif diff --git a/gfsphysics/GFS_layer/GFS_typedefs.meta b/gfsphysics/GFS_layer/GFS_typedefs.meta index 012c8992f..59cc39f9f 100644 --- a/gfsphysics/GFS_layer/GFS_typedefs.meta +++ b/gfsphysics/GFS_layer/GFS_typedefs.meta @@ -2174,14 +2174,14 @@ dimensions = () type = integer [iovr_sw] - standard_name = flag_for_max_random_overlap_clouds_for_shortwave_radiation - long_name = sw: max-random overlap clouds + standard_name = flag_for_cloud_overlapping_method_for_shortwave_radiation + long_name = control flag for cloud overlapping method for SW units = flag dimensions = () type = integer [iovr_lw] - standard_name = flag_for_max_random_overlap_clouds_for_longwave_radiation - long_name = lw: max-random overlap clouds + standard_name = flag_for_cloud_overlapping_method_for_longwave_radiation + long_name = control flag for cloud overlapping method for LW units = flag dimensions = () type = integer @@ -2192,14 +2192,14 @@ dimensions = () type = integer [isubc_sw] - standard_name = flag_for_sw_clouds_without_sub_grid_approximation - long_name = flag for sw clouds without sub-grid approximation + standard_name = flag_for_sw_clouds_grid_approximation + long_name = flag for sw clouds sub-grid approximation units = flag dimensions = () type = integer [isubc_lw] - standard_name = flag_for_lw_clouds_without_sub_grid_approximation - long_name = flag for lw clouds without sub-grid approximation + standard_name = flag_for_lw_clouds_sub_grid_approximation + long_name = flag for lw clouds sub-grid approximation units = flag dimensions = () type = integer From 43d469c2412c81e5ba1aef22c694c26533523e55 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Tue, 7 Apr 2020 10:31:04 -0600 Subject: [PATCH 6/9] Update .gitmodules and submodule pointer for ccpp-physics for code review and testing --- .gitmodules | 6 ++++-- ccpp/physics | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.gitmodules b/.gitmodules index 2fd86e7d8..437d4e6f8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,5 +8,7 @@ branch = master [submodule "ccpp/physics"] path = ccpp/physics - url = https://github.com/NCAR/ccpp-physics - branch = dtc/hwrf-physics + #url = https://github.com/NCAR/ccpp-physics + #branch = dtc/hwrf-physics + url = https://github.com/climbfuji/ccpp-physics + branch = dtc_hwrf-physics_add_rrtmg \ No newline at end of file diff --git a/ccpp/physics b/ccpp/physics index 0346c384f..70182f5d2 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 0346c384fd6c31fc6d0278259493a5474cd830d7 +Subproject commit 70182f5d25c4967b7cf9f4243d756f8ffba6cb46 From 3ee4f6c8fff679d007ebb148e385f90c06c4e897 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Tue, 7 Apr 2020 11:13:13 -0600 Subject: [PATCH 7/9] Apply bugfix for @mzhangw to correct the vertical dimensions of Interstitial%clouds, update CCPP suite definition files --- ccpp/physics | 2 +- ccpp/suites/suite_FV3_HAFS_FA_HRRTMG.xml | 79 ------------------- ...G.xml => suite_FV3_HAFS_FA_HWRF_RRTMG.xml} | 15 +--- .../suite_FV3_HAFS_ferhires_update_moist.xml | 1 - gfsphysics/GFS_layer/GFS_typedefs.meta | 18 ++--- 5 files changed, 13 insertions(+), 102 deletions(-) delete mode 100644 ccpp/suites/suite_FV3_HAFS_FA_HRRTMG.xml rename ccpp/suites/{suite_FV3_GFS_HWRF_RRTMG.xml => suite_FV3_HAFS_FA_HWRF_RRTMG.xml} (88%) diff --git a/ccpp/physics b/ccpp/physics index 70182f5d2..2933be7ef 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 70182f5d25c4967b7cf9f4243d756f8ffba6cb46 +Subproject commit 2933be7ef786d843e9eb7e8cfb793bfcdda6f2e2 diff --git a/ccpp/suites/suite_FV3_HAFS_FA_HRRTMG.xml b/ccpp/suites/suite_FV3_HAFS_FA_HRRTMG.xml deleted file mode 100644 index 4eed50c3a..000000000 --- a/ccpp/suites/suite_FV3_HAFS_FA_HRRTMG.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - GFS_time_vary_pre - GFS_rrtmg_setup - GFS_rad_time_vary - GFS_phys_time_vary - - - - - GFS_suite_interstitial_rad_reset - GFS_rrtmg_pre - rrtmg_lw_pre - rrtmg_lw - rrtmg_lw_post - rrtmg_sw_pre - rrtmg_sw - rrtmg_sw_post - GFS_rrtmg_post - - - - - GFS_suite_interstitial_phys_reset - GFS_suite_stateout_reset - get_prs_fv3 - GFS_suite_interstitial_1 - GFS_surface_generic_pre - GFS_surface_composites_pre - dcyc2t3 - GFS_surface_composites_inter - GFS_suite_interstitial_2 - - - - sfc_diff - GFS_surface_loop_control_part1 - sfc_nst_pre - sfc_nst - sfc_nst_post - lsm_noah - sfc_sice - GFS_surface_loop_control_part2 - - - - GFS_surface_composites_post - dcyc2t3_post - sfc_diag - sfc_diag_post - GFS_surface_generic_post - GFS_PBL_generic_pre - hedmf - GFS_PBL_generic_post - GFS_GWD_generic_pre - cires_ugwp - cires_ugwp_post - GFS_GWD_generic_post - rayleigh_damp - GFS_suite_stateout_update - ozphys - get_phi_fv3 - GFS_MP_generic_pre - mp_fer_hires - GFS_MP_generic_post - maximum_hourly_diagnostics - - - - - GFS_stochastics - - - - diff --git a/ccpp/suites/suite_FV3_GFS_HWRF_RRTMG.xml b/ccpp/suites/suite_FV3_HAFS_FA_HWRF_RRTMG.xml similarity index 88% rename from ccpp/suites/suite_FV3_GFS_HWRF_RRTMG.xml rename to ccpp/suites/suite_FV3_HAFS_FA_HWRF_RRTMG.xml index 4921942f7..4d6820518 100644 --- a/ccpp/suites/suite_FV3_GFS_HWRF_RRTMG.xml +++ b/ccpp/suites/suite_FV3_HAFS_FA_HWRF_RRTMG.xml @@ -1,12 +1,7 @@ - + - - - fv_sat_adj - - GFS_time_vary_pre @@ -54,7 +49,6 @@ GFS_surface_composites_post - dcyc2t3_post sfc_diag sfc_diag_post GFS_surface_generic_post @@ -67,20 +61,17 @@ GFS_GWD_generic_post rayleigh_damp GFS_suite_stateout_update - ozphys_2015 - h2ophys + ozphys GFS_DCNV_generic_pre get_phi_fv3 GFS_suite_interstitial_3 - samfdeepcnv GFS_DCNV_generic_post GFS_SCNV_generic_pre - samfshalcnv GFS_SCNV_generic_post GFS_suite_interstitial_4 cnvc90 GFS_MP_generic_pre - gfdl_cloud_microphys + mp_fer_hires GFS_MP_generic_post maximum_hourly_diagnostics diff --git a/ccpp/suites/suite_FV3_HAFS_ferhires_update_moist.xml b/ccpp/suites/suite_FV3_HAFS_ferhires_update_moist.xml index 973650818..e1d70f035 100644 --- a/ccpp/suites/suite_FV3_HAFS_ferhires_update_moist.xml +++ b/ccpp/suites/suite_FV3_HAFS_ferhires_update_moist.xml @@ -65,7 +65,6 @@ GFS_DCNV_generic_pre get_phi_fv3 GFS_suite_interstitial_3 - GFS_DCNV_generic_post GFS_SCNV_generic_pre GFS_SCNV_generic_post diff --git a/gfsphysics/GFS_layer/GFS_typedefs.meta b/gfsphysics/GFS_layer/GFS_typedefs.meta index 59cc39f9f..92f99e155 100644 --- a/gfsphysics/GFS_layer/GFS_typedefs.meta +++ b/gfsphysics/GFS_layer/GFS_typedefs.meta @@ -6191,63 +6191,63 @@ standard_name = total_cloud_fraction long_name = layer total cloud fraction units = frac - dimensions = (horizontal_dimension,vertical_dimension) + dimensions = (horizontal_dimension,adjusted_vertical_layer_dimension_for_radiation) type = real kind = kind_phys [clouds(:,:,2)] standard_name = cloud_liquid_water_path long_name = layer cloud liquid water path units = g m-2 - dimensions = (horizontal_dimension,vertical_dimension) + dimensions = (horizontal_dimension,adjusted_vertical_layer_dimension_for_radiation) type = real kind = kind_phys [clouds(:,:,3)] standard_name = mean_effective_radius_for_liquid_cloud long_name = mean effective radius for liquid cloud units = micron - dimensions = (horizontal_dimension,vertical_dimension) + dimensions = (horizontal_dimension,adjusted_vertical_layer_dimension_for_radiation) type = real kind = kind_phys [clouds(:,:,4)] standard_name = cloud_ice_water_path long_name = layer cloud ice water path units = g m-2 - dimensions = (horizontal_dimension,vertical_dimension) + dimensions = (horizontal_dimension,adjusted_vertical_layer_dimension_for_radiation) type = real kind = kind_phys [clouds(:,:,5)] standard_name = mean_effective_radius_for_ice_cloud long_name = mean effective radius for ice cloud units = micron - dimensions = (horizontal_dimension,vertical_dimension) + dimensions = (horizontal_dimension,adjusted_vertical_layer_dimension_for_radiation) type = real kind = kind_phys [clouds(:,:,6)] standard_name = cloud_rain_water_path long_name = cloud rain water path units = g m-2 - dimensions = (horizontal_dimension,vertical_dimension) + dimensions = (horizontal_dimension,adjusted_vertical_layer_dimension_for_radiation) type = real kind = kind_phys [clouds(:,:,7)] standard_name = mean_effective_radius_for_rain_drop long_name = mean effective radius for rain drop units = micron - dimensions = (horizontal_dimension,vertical_dimension) + dimensions = (horizontal_dimension,adjusted_vertical_layer_dimension_for_radiation) type = real kind = kind_phys [clouds(:,:,8)] standard_name = cloud_snow_water_path long_name = cloud snow water path units = g m-2 - dimensions = (horizontal_dimension,vertical_dimension) + dimensions = (horizontal_dimension,adjusted_vertical_layer_dimension_for_radiation) type = real kind = kind_phys [clouds(:,:,9)] standard_name = mean_effective_radius_for_snow_flake long_name = mean effective radius for snow flake units = micron - dimensions = (horizontal_dimension,vertical_dimension) + dimensions = (horizontal_dimension,adjusted_vertical_layer_dimension_for_radiation) type = real kind = kind_phys [clw] From 480a86c460c58946f968559594999dfc5a3f12a4 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Wed, 8 Apr 2020 06:18:51 -0600 Subject: [PATCH 8/9] gfsphysics/GFS_layer/GFS_diagnostics.F90: comment out the output of cloud effective radii (for testing purposes only) --- gfsphysics/GFS_layer/GFS_diagnostics.F90 | 65 ++++++++++++------------ 1 file changed, 32 insertions(+), 33 deletions(-) diff --git a/gfsphysics/GFS_layer/GFS_diagnostics.F90 b/gfsphysics/GFS_layer/GFS_diagnostics.F90 index 61453f23c..aa511a595 100644 --- a/gfsphysics/GFS_layer/GFS_diagnostics.F90 +++ b/gfsphysics/GFS_layer/GFS_diagnostics.F90 @@ -3288,39 +3288,38 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop endif !! Cloud effective radii from Microphysics - !if (Model%imp_physics == Model%imp_physics_thompson .or. Model%imp_physics == Model%imp_physics_wsm6) then - if (Model%imp_physics == Model%imp_physics_fer_hires) then - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'cleffr' - ExtDiag(idx)%desc = 'effective radius of cloud liquid water particle' - ExtDiag(idx)%unit = 'um' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => Tbd(nb)%phy_f3d(:,:,Model%nleffr) - enddo - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'cieffr' - ExtDiag(idx)%desc = 'effective radius of stratiform cloud ice particle in um' - ExtDiag(idx)%unit = 'um' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => Tbd(nb)%phy_f3d(:,:,Model%nieffr) - enddo - idx = idx + 1 - ExtDiag(idx)%axes = 3 - ExtDiag(idx)%name = 'cseffr' - ExtDiag(idx)%desc = 'effective radius of stratiform cloud snow particle in um' - ExtDiag(idx)%unit = 'um' - ExtDiag(idx)%mod_name = 'gfs_phys' - allocate (ExtDiag(idx)%data(nblks)) - do nb = 1,nblks - ExtDiag(idx)%data(nb)%var3 => Tbd(nb)%phy_f3d(:,:,Model%nseffr) - enddo - endif + !if (Model%imp_physics == Model%imp_physics_thompson .or. Model%imp_physics == Model%imp_physics_wsm6 .or. Model%imp_physics == Model%imp_physics_fer_hires) then + ! idx = idx + 1 + ! ExtDiag(idx)%axes = 3 + ! ExtDiag(idx)%name = 'cleffr' + ! ExtDiag(idx)%desc = 'effective radius of cloud liquid water particle' + ! ExtDiag(idx)%unit = 'um' + ! ExtDiag(idx)%mod_name = 'gfs_phys' + ! allocate (ExtDiag(idx)%data(nblks)) + ! do nb = 1,nblks + ! ExtDiag(idx)%data(nb)%var3 => Tbd(nb)%phy_f3d(:,:,Model%nleffr) + ! enddo + ! idx = idx + 1 + ! ExtDiag(idx)%axes = 3 + ! ExtDiag(idx)%name = 'cieffr' + ! ExtDiag(idx)%desc = 'effective radius of stratiform cloud ice particle in um' + ! ExtDiag(idx)%unit = 'um' + ! ExtDiag(idx)%mod_name = 'gfs_phys' + ! allocate (ExtDiag(idx)%data(nblks)) + ! do nb = 1,nblks + ! ExtDiag(idx)%data(nb)%var3 => Tbd(nb)%phy_f3d(:,:,Model%nieffr) + ! enddo + ! idx = idx + 1 + ! ExtDiag(idx)%axes = 3 + ! ExtDiag(idx)%name = 'cseffr' + ! ExtDiag(idx)%desc = 'effective radius of stratiform cloud snow particle in um' + ! ExtDiag(idx)%unit = 'um' + ! ExtDiag(idx)%mod_name = 'gfs_phys' + ! allocate (ExtDiag(idx)%data(nblks)) + ! do nb = 1,nblks + ! ExtDiag(idx)%data(nb)%var3 => Tbd(nb)%phy_f3d(:,:,Model%nseffr) + ! enddo + !endif !MYNN if (Model%do_mynnedmf) then From 8a071993cfd7923f5cef174b80024bcef4d92c10 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Thu, 9 Apr 2020 13:30:25 -0600 Subject: [PATCH 9/9] Revert change of .gitmodules and update submodule pointer for ccpp-physics --- .gitmodules | 6 ++---- ccpp/physics | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.gitmodules b/.gitmodules index 437d4e6f8..2fd86e7d8 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,7 +8,5 @@ branch = master [submodule "ccpp/physics"] path = ccpp/physics - #url = https://github.com/NCAR/ccpp-physics - #branch = dtc/hwrf-physics - url = https://github.com/climbfuji/ccpp-physics - branch = dtc_hwrf-physics_add_rrtmg \ No newline at end of file + url = https://github.com/NCAR/ccpp-physics + branch = dtc/hwrf-physics diff --git a/ccpp/physics b/ccpp/physics index 2933be7ef..6c27ff2e4 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 2933be7ef786d843e9eb7e8cfb793bfcdda6f2e2 +Subproject commit 6c27ff2e43010dba325b498a83b10813e55b059a