From b7835b7b44c2abfafb58a6b3469f636eebf4b219 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Fri, 8 Mar 2024 08:59:41 -0700 Subject: [PATCH 01/29] Update .gitmodules and submodule pointer for ccpp-framework for code review and testing --- .gitmodules | 6 ++++-- ccpp/framework | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.gitmodules b/.gitmodules index 22c723ac1..aaea29f12 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,8 +4,10 @@ branch = dev/emc [submodule "ccpp/framework"] path = ccpp/framework - url = https://github.com/NCAR/ccpp-framework - branch = main + #url = https://github.com/NCAR/ccpp-framework + #branch = main + url = https://github.com/climbfuji/ccpp-framework + branch = feature/merge_feature_capgen_into_main_20240308 [submodule "ccpp/physics"] path = ccpp/physics url = https://github.com/ufs-community/ccpp-physics diff --git a/ccpp/framework b/ccpp/framework index f0b9a18b0..4d8a4d993 160000 --- a/ccpp/framework +++ b/ccpp/framework @@ -1 +1 @@ -Subproject commit f0b9a18b005d950cb9b0038fbc827b6b37500f43 +Subproject commit 4d8a4d99361867016d6b76cb5cfd0e5d8610187d From 8eb98261e88a9ac722bd84733b977089e1ff766a Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Fri, 8 Mar 2024 09:54:09 -0700 Subject: [PATCH 02/29] Update .gitmodules and submodule pointer for ccpp-physics for code review and testing --- .gitmodules | 6 ++++-- ccpp/framework | 2 +- ccpp/physics | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.gitmodules b/.gitmodules index aaea29f12..c14eba724 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,8 +10,10 @@ branch = feature/merge_feature_capgen_into_main_20240308 [submodule "ccpp/physics"] path = ccpp/physics - url = https://github.com/ufs-community/ccpp-physics - branch = ufs/dev + #url = https://github.com/ufs-community/ccpp-physics + #branch = ufs/dev + url = https://github.com/climbfuji/ccpp-physics + branch = feature/fix_units_flashes_per_5min [submodule "upp"] path = upp url = https://github.com/NOAA-EMC/UPP diff --git a/ccpp/framework b/ccpp/framework index 4d8a4d993..6cdd38a03 160000 --- a/ccpp/framework +++ b/ccpp/framework @@ -1 +1 @@ -Subproject commit 4d8a4d99361867016d6b76cb5cfd0e5d8610187d +Subproject commit 6cdd38a032d89d0f79c66f37f0c7172e59f135cd diff --git a/ccpp/physics b/ccpp/physics index cc114f40b..e1db7f200 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit cc114f40bef4ca8d19ccd739cbaec3fc829a607c +Subproject commit e1db7f20047f292fa7fe23f47b25fe2c535d1679 From 108e85cb96f63b558386c3d06f206bdf26305fe5 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Fri, 8 Mar 2024 09:54:36 -0700 Subject: [PATCH 03/29] In ccpp/data/GFS_typedefs.meta: change units 'flashes 5 min-1' to 'flashes min-1' and update long name to make clear this is per 5 minutes --- ccpp/data/GFS_typedefs.meta | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ccpp/data/GFS_typedefs.meta b/ccpp/data/GFS_typedefs.meta index 497c3c786..98833e217 100644 --- a/ccpp/data/GFS_typedefs.meta +++ b/ccpp/data/GFS_typedefs.meta @@ -9953,8 +9953,8 @@ kind = kind_phys [ltg1_max] standard_name = lightning_threat_index_1 - long_name = lightning threat index 1 - units = flashes 5 min-1 + long_name = lightning threat index 1 in flashes per 5 minutes + units = flashes min-1 dimensions = (horizontal_loop_extent) type = real kind = kind_phys @@ -9962,8 +9962,8 @@ active = (do_lightning_threat_index_calculations) [ltg2_max] standard_name = lightning_threat_index_2 - long_name = lightning threat index 2 - units = flashes 5 min-1 + long_name = lightning threat index 2 in flashes per 5 minutes + units = flashes min-1 dimensions = (horizontal_loop_extent) type = real kind = kind_phys @@ -9971,8 +9971,8 @@ active = (do_lightning_threat_index_calculations) [ltg3_max] standard_name = lightning_threat_index_3 - long_name = lightning threat index 3 - units = flashes 5 min-1 + long_name = lightning threat index 3 in flashes per 5 minutes + units = flashes min-1 dimensions = (horizontal_loop_extent) type = real kind = kind_phys From 734d81a2815fe64723fcd67113da1df02b71fe7c Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Fri, 8 Mar 2024 12:41:44 -0700 Subject: [PATCH 04/29] In ccpp/driver/GFS_diagnostics.F90, scale lightning threat from flashes per minute to flashes per 5 minutes to match diagnostic units --- ccpp/driver/GFS_diagnostics.F90 | 6 ++++++ ccpp/physics | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ccpp/driver/GFS_diagnostics.F90 b/ccpp/driver/GFS_diagnostics.F90 index 01d49593e..3a3e4a0bc 100644 --- a/ccpp/driver/GFS_diagnostics.F90 +++ b/ccpp/driver/GFS_diagnostics.F90 @@ -5069,6 +5069,8 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop ExtDiag(idx)%desc = 'Max Lightning Threat 1' ExtDiag(idx)%unit = 'flashes/(5 min)' ExtDiag(idx)%mod_name = 'gfs_sfc' + ! CCPP physics units are flashes per minute + ExtDiag(idx)%cnvfac = 5.0_kind_phys allocate (ExtDiag(idx)%data(nblks)) do nb = 1,nblks ExtDiag(idx)%data(nb)%var2 => IntDiag(nb)%ltg1_max @@ -5080,6 +5082,8 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop ExtDiag(idx)%desc = 'Max Lightning Threat 2' ExtDiag(idx)%unit = 'flashes/(5 min)' ExtDiag(idx)%mod_name = 'gfs_sfc' + ! CCPP physics units are flashes per minute + ExtDiag(idx)%cnvfac = 5.0_kind_phys allocate (ExtDiag(idx)%data(nblks)) do nb = 1,nblks ExtDiag(idx)%data(nb)%var2 => IntDiag(nb)%ltg2_max @@ -5091,6 +5095,8 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop ExtDiag(idx)%desc = 'Max Lightning Threat 3' ExtDiag(idx)%unit = 'flashes/(5 min)' ExtDiag(idx)%mod_name = 'gfs_sfc' + ! CCPP physics units are flashes per minute + ExtDiag(idx)%cnvfac = 5.0_kind_phys allocate (ExtDiag(idx)%data(nblks)) do nb = 1,nblks ExtDiag(idx)%data(nb)%var2 => IntDiag(nb)%ltg3_max diff --git a/ccpp/physics b/ccpp/physics index e1db7f200..26f95141c 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit e1db7f20047f292fa7fe23f47b25fe2c535d1679 +Subproject commit 26f95141ce3ef4cbc6d78dc9c98eda8dca48466b From 0972de7b2f7e9c924c7820fc5359a61138327b3f Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Mon, 11 Mar 2024 14:21:38 -0600 Subject: [PATCH 05/29] Fix wrong long names for lightning threat indices in ccpp/data/GFS_typedefs.meta --- ccpp/data/GFS_typedefs.meta | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ccpp/data/GFS_typedefs.meta b/ccpp/data/GFS_typedefs.meta index 98833e217..f7b9239da 100644 --- a/ccpp/data/GFS_typedefs.meta +++ b/ccpp/data/GFS_typedefs.meta @@ -9953,7 +9953,7 @@ kind = kind_phys [ltg1_max] standard_name = lightning_threat_index_1 - long_name = lightning threat index 1 in flashes per 5 minutes + long_name = lightning threat index 1 units = flashes min-1 dimensions = (horizontal_loop_extent) type = real @@ -9962,7 +9962,7 @@ active = (do_lightning_threat_index_calculations) [ltg2_max] standard_name = lightning_threat_index_2 - long_name = lightning threat index 2 in flashes per 5 minutes + long_name = lightning threat index 2 units = flashes min-1 dimensions = (horizontal_loop_extent) type = real @@ -9971,7 +9971,7 @@ active = (do_lightning_threat_index_calculations) [ltg3_max] standard_name = lightning_threat_index_3 - long_name = lightning threat index 3 in flashes per 5 minutes + long_name = lightning threat index 3 units = flashes min-1 dimensions = (horizontal_loop_extent) type = real From 84a1aace55b7bdb1044d48b7fe353cdd29c7a577 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Wed, 20 Mar 2024 14:58:47 -0600 Subject: [PATCH 06/29] Update .gitmodules and submodule pointer for ccpp-framework for code review and testing --- .gitmodules | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.gitmodules b/.gitmodules index c14eba724..fd02c39bf 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,13 +7,11 @@ #url = https://github.com/NCAR/ccpp-framework #branch = main url = https://github.com/climbfuji/ccpp-framework - branch = feature/merge_feature_capgen_into_main_20240308 + branch = feature/prebuild_optarg_based_on_merge_feature_capgen_into_main_20240308 [submodule "ccpp/physics"] path = ccpp/physics - #url = https://github.com/ufs-community/ccpp-physics - #branch = ufs/dev - url = https://github.com/climbfuji/ccpp-physics - branch = feature/fix_units_flashes_per_5min + url = https://github.com/ufs-community/ccpp-physics + branch = ufs/dev [submodule "upp"] path = upp url = https://github.com/NOAA-EMC/UPP From c5b390a9db66a250a8ee6bd0aea5b3173894adb8 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Fri, 22 Mar 2024 10:25:11 -0600 Subject: [PATCH 07/29] Update .gitmodules and submodule pointer for ccpp-physics for code review and testing --- .gitmodules | 6 ++++-- ccpp/framework | 2 +- ccpp/physics | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.gitmodules b/.gitmodules index fd02c39bf..3eb5ea477 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,8 +10,10 @@ branch = feature/prebuild_optarg_based_on_merge_feature_capgen_into_main_20240308 [submodule "ccpp/physics"] path = ccpp/physics - url = https://github.com/ufs-community/ccpp-physics - branch = ufs/dev + #url = https://github.com/ufs-community/ccpp-physics + #branch = ufs/dev + url = https://github.com/climbfuji/ccpp-physics + branch = feature/ccpp_prebuild_opt_args [submodule "upp"] path = upp url = https://github.com/NOAA-EMC/UPP diff --git a/ccpp/framework b/ccpp/framework index 011db4f80..413e9ec09 160000 --- a/ccpp/framework +++ b/ccpp/framework @@ -1 +1 @@ -Subproject commit 011db4f80a02cba6d65958ace56e8efb197be62b +Subproject commit 413e9ec09e747760761b36a6b720ffc3c465e69e diff --git a/ccpp/physics b/ccpp/physics index 983968088..457d2caf2 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 9839680885141338fb14ff09bab6fe87a051b820 +Subproject commit 457d2caf228c83f234e823d8e0ce9003c6d73a00 From daa5beeb9815d9f26e247023088f6cc4cbae6025 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Fri, 22 Mar 2024 10:25:30 -0600 Subject: [PATCH 08/29] Remove invalid active attributes in ccpp/data/GFS_typedefs.meta --- ccpp/data/GFS_typedefs.meta | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/ccpp/data/GFS_typedefs.meta b/ccpp/data/GFS_typedefs.meta index 20a3b4ce4..b629d6674 100644 --- a/ccpp/data/GFS_typedefs.meta +++ b/ccpp/data/GFS_typedefs.meta @@ -6714,14 +6714,12 @@ units = flag dimensions = () type = logical - active = (do_smoke_coupling) [enh_mix] standard_name = do_planetary_boundary_layer_fire_enhancement long_name = flag for rrfs smoke mynn enh vermix units = flag dimensions = () type = logical - active = (do_smoke_coupling) [smoke_dir_fdb_coef] standard_name = smoke_dust_direct_fdb_coef long_name = smoke dust direct feedback coefficents @@ -6729,7 +6727,6 @@ dimensions = (7) type = real kind = kind_phys - active = (do_smoke_coupling) [smoke_conv_wet_coef] standard_name = smoke_dust_conv_wet_coef long_name = smoke dust convetive wet scavanging coefficents @@ -6737,7 +6734,6 @@ dimensions = (3) type = real kind = kind_phys - active = (do_smoke_coupling) [dust_moist_correction] standard_name = dust_moist_correction_fengsha_dust_scheme long_name = moisture correction term for fengsha dust emission @@ -6745,7 +6741,6 @@ dimensions = () type = real kind = kind_phys - active = (do_smoke_coupling) [dust_drylimit_factor] standard_name = dust_drylimit_factor_fengsha_dust_scheme long_name = moisture correction term for drylimit in fengsha dust emission @@ -6753,14 +6748,12 @@ dimensions = () type = real kind = kind_phys - active = (do_smoke_coupling) [dust_moist_opt] standard_name = control_for_dust_soil_moisture_option long_name = smoke dust moisture parameterization 1 - fecan 2 - shao units = index dimensions = () type = integer - active = (do_smoke_coupling) [dust_alpha] standard_name = alpha_fengsha_dust_scheme long_name = alpha paramter for fengsha dust scheme @@ -6768,7 +6761,6 @@ dimensions = () type = real kind = kind_phys - active = (do_smoke_coupling) [dust_gamma] standard_name = gamma_fengsha_dust_scheme long_name = gamma paramter for fengsha dust scheme @@ -6776,7 +6768,6 @@ dimensions = () type = real kind = kind_phys - active = (do_smoke_coupling) [wetdep_ls_alpha] standard_name = alpha_for_ls_wet_depoistion long_name = alpha paramter for ls wet deposition @@ -6784,126 +6775,108 @@ dimensions = () type = real kind = kind_phys - active = (do_smoke_coupling) [ebb_dcycle] standard_name = control_for_diurnal_cycle_of_biomass_burning_emissions long_name = rrfs smoke diurnal cycle option units = index dimensions = () type = integer - active = (do_smoke_coupling) [seas_opt] standard_name = control_for_smoke_sea_salt long_name = rrfs smoke sea salt emission option units = index dimensions = () type = integer - active = (do_smoke_coupling) [dust_opt] standard_name = control_for_smoke_dust long_name = rrfs smoke dust chem option units = index dimensions = () type = integer - active = (do_smoke_coupling) [drydep_opt] standard_name = control_for_smoke_dry_deposition long_name = rrfs smoke dry deposition option units = index dimensions = () type = integer - active = (do_smoke_coupling) [coarsepm_settling] standard_name = control_for_smoke_pm_settling long_name = rrfs smoke coarsepm settling option units = index dimensions = () type = integer - active = (do_smoke_coupling) [plume_wind_eff] standard_name = option_for_wind_effects_on_smoke_plumerise long_name = wind effect plumerise option units = index dimensions = () type = integer - active = (do_smoke_coupling) [extended_sd_diags] standard_name = flag_for_extended_smoke_dust_diagnostics long_name = flag for extended smoke dust diagnostics units = flag dimensions = () type = logical - active = (do_smoke_coupling) [wetdep_ls_opt] standard_name = control_for_smoke_wet_deposition long_name = rrfs smoke large scale wet deposition option units = index dimensions = () type = integer - active = (do_smoke_coupling) [do_plumerise] standard_name = do_smoke_plumerise long_name = rrfs smoke plumerise option units = index dimensions = () type = logical - active = (do_smoke_coupling) [plumerisefire_frq] standard_name = smoke_plumerise_frequency long_name = rrfs smoke add smoke option units = min dimensions = () type = integer - active = (do_smoke_coupling) [n_dbg_lines] standard_name = smoke_debug_lines long_name = rrfs smoke add smoke option units = index dimensions = () type = integer - active = (do_smoke_coupling) [addsmoke_flag] standard_name = control_for_smoke_biomass_burning_emissions long_name = rrfs smoke add smoke option units = index dimensions = () type = integer - active = (do_smoke_coupling) [smoke_forecast] standard_name = do_smoke_forecast long_name = index for rrfs smoke forecast units = index dimensions = () type = integer - active = (do_smoke_coupling) [aero_ind_fdb] standard_name = do_smoke_aerosol_indirect_feedback long_name = flag for wfa ifa emission indirect feedback units = flag dimensions = () type = logical - active = (do_smoke_coupling) [aero_dir_fdb] standard_name = do_smoke_aerosol_direct_feedback long_name = flag for smoke and dust radiation feedback units = flag dimensions = () type = logical - active = (do_smoke_coupling) [rrfs_smoke_debug] standard_name = do_smoke_debug long_name = flag for rrfs smoke plumerise debug units = flag dimensions = () type = logical - active = (do_smoke_coupling) [do_smoke_transport] standard_name = do_smoke_conv_transport long_name = flag for rrfs smoke convective transport units = flag dimensions = () type = logical - active = (do_smoke_coupling) [ncnvcld3d] standard_name = number_of_convective_cloud_variables_in_xyz_dimensioned_restart_array long_name = number of convective 3d clouds fields From 28794405a028ace4009e44c428e77b3fb2cd2cc3 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Fri, 22 Mar 2024 13:53:16 -0600 Subject: [PATCH 09/29] Update submodule pointer for ccpp-physics --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index 457d2caf2..37475d2b2 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 457d2caf228c83f234e823d8e0ce9003c6d73a00 +Subproject commit 37475d2b2d8f992a720b5a3d4ec526d7bf0c3830 From e726c68ea33833522ea7283784312e87b9346ec6 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Wed, 3 Apr 2024 17:27:20 -0600 Subject: [PATCH 10/29] Update submodule pointers for ccpp-framework and ccpp-physics --- ccpp/framework | 2 +- ccpp/physics | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ccpp/framework b/ccpp/framework index 61b0c6133..8709a4836 160000 --- a/ccpp/framework +++ b/ccpp/framework @@ -1 +1 @@ -Subproject commit 61b0c6133d1b7b2617fd225e3a57d304d4eb8bbc +Subproject commit 8709a4836367190be202c90db2d4c50b040756ed diff --git a/ccpp/physics b/ccpp/physics index 376a726fd..e0c995f5e 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 376a726fd124c991ea7e6bb51f71f5e7d881411a +Subproject commit e0c995f5e099bd341094e9ac43042ba3bd8e30ea From 5a18b70f3a154b61ac453b46c3494a4ac9c5171b Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Wed, 3 Apr 2024 19:22:40 -0600 Subject: [PATCH 11/29] Update submodule pointer for ccpp-physics --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index e0c995f5e..5bac829b4 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit e0c995f5e099bd341094e9ac43042ba3bd8e30ea +Subproject commit 5bac829b470923a1d998e042539abcb24f3cdfe0 From bb8fdadb78eb3c44fc172d5257df250adaaa3939 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Sat, 13 Apr 2024 20:40:57 -0600 Subject: [PATCH 12/29] Update submodule pointer for ccpp-physics --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index 5bac829b4..d1e97a1ad 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 5bac829b470923a1d998e042539abcb24f3cdfe0 +Subproject commit d1e97a1ad74bd87c2787569ddb512b9ceb07a8f9 From bcbe67c6b4498a2d51094e5b3268a4ca64508798 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Sat, 13 Apr 2024 20:53:31 -0600 Subject: [PATCH 13/29] Update submodule pointer for ccpp-physics --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index d1e97a1ad..bbc16cdf3 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit d1e97a1ad74bd87c2787569ddb512b9ceb07a8f9 +Subproject commit bbc16cdf3ba6590f02fb8f4c1e8e10777127539f From 9b0f9bcabff41647b343b0dac577beaa420cfa76 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Thu, 18 Apr 2024 13:11:55 -0600 Subject: [PATCH 14/29] Bug fix for GFDL-MP in CCPP: use correct allocation of variables but internally bend everything back to where it's expected (affects some, but not all variables in CCPP_typedefs.{F90,meta}) --- ccpp/data/CCPP_typedefs.F90 | 15 +++++++++++ ccpp/data/CCPP_typedefs.meta | 52 ++++++++++++++++++++++++++---------- ccpp/framework | 2 +- ccpp/physics | 2 +- 4 files changed, 55 insertions(+), 16 deletions(-) diff --git a/ccpp/data/CCPP_typedefs.F90 b/ccpp/data/CCPP_typedefs.F90 index 83b6d4df0..cac7c7366 100644 --- a/ccpp/data/CCPP_typedefs.F90 +++ b/ccpp/data/CCPP_typedefs.F90 @@ -452,10 +452,14 @@ module CCPP_typedefs integer :: ie integer :: isd integer :: ied + integer :: isc + integer :: iec integer :: js integer :: je integer :: jsd integer :: jed + integer :: jsc + integer :: jec integer :: ng integer :: npz integer :: npzp1 @@ -1557,6 +1561,13 @@ subroutine gfdl_interstitial_create (Interstitial, is, ie, isd, ied, js, je, jsd integer, intent(in) :: mpirank integer, intent(in) :: mpiroot ! + integer :: isc, jsc, iec, jec + ! + isc = lbound(delp, dim=1) + jsc = lbound(delp, dim=2) + iec = ubound(delp, dim=1) + jec = ubound(delp, dim=2) + ! #ifdef MOIST_CAPPA Interstitial%npzcappa = npz allocate (Interstitial%cappa (isd:ied, jsd:jed, 1:npz) ) @@ -1594,10 +1605,14 @@ subroutine gfdl_interstitial_create (Interstitial, is, ie, isd, ied, js, je, jsd Interstitial%ie = ie Interstitial%isd = isd Interstitial%ied = ied + Interstitial%isc = isc + Interstitial%iec = iec Interstitial%js = js Interstitial%je = je Interstitial%jsd = jsd Interstitial%jed = jed + Interstitial%jsc = jsc + Interstitial%jec = jec Interstitial%ng = ng Interstitial%npz = npz Interstitial%npzp1 = npz+1 diff --git a/ccpp/data/CCPP_typedefs.meta b/ccpp/data/CCPP_typedefs.meta index 37201eb08..af7585aee 100644 --- a/ccpp/data/CCPP_typedefs.meta +++ b/ccpp/data/CCPP_typedefs.meta @@ -2964,6 +2964,18 @@ units = count dimensions = () type = integer +[isc] + standard_name = starting_x_direction_index_alloc + long_name = starting X direction index for allocation + units = count + dimensions = () + type = integer +[iec] + standard_name = ending_x_direction_index_alloc + long_name = ending X direction index for allocation + units = count + dimensions = () + type = integer [js] standard_name = starting_y_direction_index long_name = starting Y direction index @@ -2988,25 +3000,37 @@ units = count dimensions = () type = integer +[jsc] + standard_name = starting_y_direction_index_alloc + long_name = starting X direction index for allocation + units = count + dimensions = () + type = integer +[jec] + standard_name = ending_y_direction_index_alloc + long_name = ending X direction index for allocation + units = count + dimensions = () + type = integer [delp] standard_name = pressure_thickness_at_Lagrangian_surface long_name = pressure thickness at Lagrangian surface units = Pa - dimensions = (starting_x_direction_index_domain:ending_x_direction_index_domain,starting_y_direction_index_domain:ending_y_direction_index_domain,1:vertical_dimension_for_fast_physics) + dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc,1:vertical_dimension_for_fast_physics) type = real kind = kind_dyn [delz] standard_name = thickness_at_Lagrangian_surface long_name = thickness at Lagrangian_surface units = m - dimensions = (starting_x_direction_index_domain:ending_x_direction_index_domain,starting_y_direction_index_domain:ending_y_direction_index_domain,1:vertical_dimension_for_thickness_at_Lagrangian_surface) + dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc,1:vertical_dimension_for_thickness_at_Lagrangian_surface) type = real kind = kind_dyn [area] standard_name = cell_area_for_fast_physics long_name = area of the grid cell for fast physics units = m2 - dimensions = (starting_x_direction_index_domain:ending_x_direction_index_domain,starting_y_direction_index_domain:ending_y_direction_index_domain) + dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc) type = real kind = kind_grid [ng] @@ -3056,7 +3080,7 @@ standard_name = surface_geopotential_at_Lagrangian_surface long_name = surface geopotential at Lagrangian surface units = m2 s-2 - dimensions = (starting_x_direction_index_domain:ending_x_direction_index_domain,starting_y_direction_index_domain:ending_y_direction_index_domain) + dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc) type = real kind = kind_dyn [pkz] @@ -3070,14 +3094,14 @@ standard_name = virtual_temperature_at_Lagrangian_surface long_name = virtual temperature at Lagrangian surface units = K - dimensions = (starting_x_direction_index_domain:ending_x_direction_index_domain,starting_y_direction_index_domain:ending_y_direction_index_domain,1:vertical_dimension_for_fast_physics) + dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc,1:vertical_dimension_for_fast_physics) type = real kind = kind_dyn [qvi] standard_name = gas_tracers_for_multi_gas_physics_at_Lagrangian_surface long_name = gas tracers for multi gas physics at Lagrangian surface units = kg kg-1 - dimensions = (starting_x_direction_index_domain:ending_x_direction_index_domain,starting_y_direction_index_domain:ending_y_direction_index_domain,1:vertical_dimension_for_fast_physics,0:number_of_gases_for_multi_gases_physics) + dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc,1:vertical_dimension_for_fast_physics,0:number_of_gases_for_multi_gases_physics) type = real kind = kind_dyn active = (number_of_gases_for_multi_gases_physics > 0) @@ -3085,56 +3109,56 @@ standard_name = water_vapor_specific_humidity_at_Lagrangian_surface long_name = water vapor specific humidity updated by fast physics at Lagrangian surface units = kg kg-1 - dimensions = (starting_x_direction_index_domain:ending_x_direction_index_domain,starting_y_direction_index_domain:ending_y_direction_index_domain,1:vertical_dimension_for_fast_physics) + dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc,1:vertical_dimension_for_fast_physics) type = real kind = kind_dyn [ql] standard_name = cloud_liquid_water_specific_humidity_at_Lagrangian_surface long_name = cloud liquid water specific humidity updated by fast physics at Lagrangian surface units = kg kg-1 - dimensions = (starting_x_direction_index_domain:ending_x_direction_index_domain,starting_y_direction_index_domain:ending_y_direction_index_domain,1:vertical_dimension_for_fast_physics) + dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc,1:vertical_dimension_for_fast_physics) type = real kind = kind_dyn [qi] standard_name = cloud_ice_specific_humidity_at_Lagrangian_surface long_name = cloud ice specific humidity updated by fast physics at Lagrangian surface units = kg kg-1 - dimensions = (starting_x_direction_index_domain:ending_x_direction_index_domain,starting_y_direction_index_domain:ending_y_direction_index_domain,1:vertical_dimension_for_fast_physics) + dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc,1:vertical_dimension_for_fast_physics) type = real kind = kind_dyn [qr] standard_name = cloud_rain_specific_humidity_at_Lagrangian_surface long_name = cloud rain specific humidity updated by fast physics at Lagrangian surface units = kg kg-1 - dimensions = (starting_x_direction_index_domain:ending_x_direction_index_domain,starting_y_direction_index_domain:ending_y_direction_index_domain,1:vertical_dimension_for_fast_physics) + dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc,1:vertical_dimension_for_fast_physics) type = real kind = kind_dyn [qs] standard_name = cloud_snow_specific_humidity_at_Lagrangian_surface long_name = cloud snow specific humidity updated by fast physics at Lagrangian surface units = kg kg-1 - dimensions = (starting_x_direction_index_domain:ending_x_direction_index_domain,starting_y_direction_index_domain:ending_y_direction_index_domain,1:vertical_dimension_for_fast_physics) + dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc,1:vertical_dimension_for_fast_physics) type = real kind = kind_dyn [qg] standard_name = cloud_graupel_specific_humidity_at_Lagrangian_surface long_name = cloud graupel specific humidity updated by fast physics at Lagrangian surface units = kg kg-1 - dimensions = (starting_x_direction_index_domain:ending_x_direction_index_domain,starting_y_direction_index_domain:ending_y_direction_index_domain,1:vertical_dimension_for_fast_physics) + dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc,1:vertical_dimension_for_fast_physics) type = real kind = kind_dyn [qc] standard_name = cloud_fraction_at_Lagrangian_surface long_name = cloud fraction at Lagrangian surface units = none - dimensions = (starting_x_direction_index_domain:ending_x_direction_index_domain,starting_y_direction_index_domain:ending_y_direction_index_domain,1:vertical_dimension_for_fast_physics) + dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc,1:vertical_dimension_for_fast_physics) type = real kind = kind_dyn [q_con] standard_name = cloud_condensed_water_specific_humidity_at_Lagrangian_surface long_name = cloud condensed water specific humidity updated by fast physics at Lagrangian surface units = kg kg-1 - dimensions = (starting_x_direction_index_domain:ending_x_direction_index_domain,starting_y_direction_index_domain:ending_y_direction_index_domain,1:vertical_dimension_for_condensed_water_at_Lagrangian_surface) + dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc,1:vertical_dimension_for_condensed_water_at_Lagrangian_surface) type = real kind = kind_dyn [nthreads] diff --git a/ccpp/framework b/ccpp/framework index 8709a4836..f9976d65f 160000 --- a/ccpp/framework +++ b/ccpp/framework @@ -1 +1 @@ -Subproject commit 8709a4836367190be202c90db2d4c50b040756ed +Subproject commit f9976d65fb24c1f7c6f4de2525e549cba4cad568 diff --git a/ccpp/physics b/ccpp/physics index bbc16cdf3..e5b77dbf4 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit bbc16cdf3ba6590f02fb8f4c1e8e10777127539f +Subproject commit e5b77dbf45f2c799613f1dc03ad9983da0df45ab From 77022b554a8dc280942e14fe9c3306cf06dd76b0 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Thu, 18 Apr 2024 13:12:27 -0600 Subject: [PATCH 15/29] Bug fix in ccpp/data/GFS_typedefs.meta: sncovr_ice is always allocated, remove active attribute --- ccpp/data/GFS_typedefs.meta | 2 -- 1 file changed, 2 deletions(-) diff --git a/ccpp/data/GFS_typedefs.meta b/ccpp/data/GFS_typedefs.meta index 1a1b37601..987d745ba 100644 --- a/ccpp/data/GFS_typedefs.meta +++ b/ccpp/data/GFS_typedefs.meta @@ -992,7 +992,6 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - active = (control_for_land_surface_scheme == identifier_for_ruc_land_surface_scheme) [fire_heat_flux] standard_name = surface_fire_heat_flux long_name = heat flux of fire at the surface @@ -3378,7 +3377,6 @@ dimensions = (number_of_lines_in_internal_namelist) type = character kind = len=256 - active = (number_of_lines_in_internal_namelist > 0) [logunit] standard_name = iounit_of_log long_name = fortran unit number for logfile From 9359ac5780e47d155315753f28728ef889615e83 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Thu, 18 Apr 2024 21:03:29 -0600 Subject: [PATCH 16/29] Bug fix in ccpp/data/CCPP_typedefs.meta small-scale gravity wave drag variables are active for options 2,3,22,33 of gwd, not just 3,33 --- ccpp/data/CCPP_typedefs.meta | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ccpp/data/CCPP_typedefs.meta b/ccpp/data/CCPP_typedefs.meta index af7585aee..3185299c5 100644 --- a/ccpp/data/CCPP_typedefs.meta +++ b/ccpp/data/CCPP_typedefs.meta @@ -344,7 +344,7 @@ dimensions = (horizontal_loop_extent,4) type = real kind = kind_phys - active = (control_for_drag_suite_gravity_wave_drag == 3 .or. control_for_drag_suite_gravity_wave_drag == 33) + active = (control_for_drag_suite_gravity_wave_drag == 2 .or. control_for_drag_suite_gravity_wave_drag == 3 .or. control_for_drag_suite_gravity_wave_drag == 22 .or. control_for_drag_suite_gravity_wave_drag == 33) [cmm_water] standard_name = surface_drag_wind_speed_for_momentum_in_air_over_water long_name = momentum exchange coefficient over water @@ -1526,7 +1526,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - active = (control_for_drag_suite_gravity_wave_drag == 3 .or. control_for_drag_suite_gravity_wave_drag == 33) + active = (control_for_drag_suite_gravity_wave_drag == 2 .or. control_for_drag_suite_gravity_wave_drag == 3 .or. control_for_drag_suite_gravity_wave_drag == 22 .or. control_for_drag_suite_gravity_wave_drag == 33) [oa4ss] standard_name = asymmetry_of_subgrid_orography_small_scale long_name = asymmetry of subgrid height_above_mean_sea_level small scale @@ -1534,7 +1534,7 @@ dimensions = (horizontal_loop_extent,4) type = real kind = kind_phys - active = (control_for_drag_suite_gravity_wave_drag == 3 .or. control_for_drag_suite_gravity_wave_drag == 33) + active = (control_for_drag_suite_gravity_wave_drag == 2 .or. control_for_drag_suite_gravity_wave_drag == 3 .or. control_for_drag_suite_gravity_wave_drag == 22 .or. control_for_drag_suite_gravity_wave_drag == 33) [oc] standard_name = convexity_of_subgrid_orography long_name = convexity of subgrid height_above_mean_sea_level @@ -1549,7 +1549,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - active = (control_for_drag_suite_gravity_wave_drag == 3 .or. control_for_drag_suite_gravity_wave_drag == 33) + active = (control_for_drag_suite_gravity_wave_drag == 2 .or. control_for_drag_suite_gravity_wave_drag == 3 .or. control_for_drag_suite_gravity_wave_drag == 22 .or. control_for_drag_suite_gravity_wave_drag == 33) [olyr] standard_name = ozone_concentration_at_layer_for_radiation long_name = ozone concentration layer From 712e5c75186de280a0984f32f5e65cff33f45a5a Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Fri, 19 Apr 2024 09:57:50 -0600 Subject: [PATCH 17/29] Bug fix in ccpp/data/GFS_typedefs.meta: three variables are always allocated, remove active attribute --- ccpp/data/GFS_typedefs.F90 | 13 +++++++------ ccpp/data/GFS_typedefs.meta | 3 --- ccpp/framework | 2 +- ccpp/physics | 2 +- 4 files changed, 9 insertions(+), 11 deletions(-) diff --git a/ccpp/data/GFS_typedefs.F90 b/ccpp/data/GFS_typedefs.F90 index 07eecbe20..442c0fce4 100644 --- a/ccpp/data/GFS_typedefs.F90 +++ b/ccpp/data/GFS_typedefs.F90 @@ -2744,12 +2744,13 @@ subroutine sfcprop_create (Sfcprop, IM, Model) ! end if - allocate (Sfcprop%rmol (IM )) - allocate (Sfcprop%flhc (IM )) - allocate (Sfcprop%flqc (IM )) - Sfcprop%rmol = clear_val - Sfcprop%flhc = clear_val - Sfcprop%flqc = clear_val + allocate (Sfcprop%rmol (IM )) + allocate (Sfcprop%flhc (IM )) + allocate (Sfcprop%flqc (IM )) + Sfcprop%rmol = clear_val + Sfcprop%flhc = clear_val + Sfcprop%flqc = clear_val + if (Model%do_mynnsfclay) then ! For MYNN surface layer scheme !print*,"Allocating all MYNN-sfclay variables" diff --git a/ccpp/data/GFS_typedefs.meta b/ccpp/data/GFS_typedefs.meta index 987d745ba..6ad12c6cc 100644 --- a/ccpp/data/GFS_typedefs.meta +++ b/ccpp/data/GFS_typedefs.meta @@ -1941,7 +1941,6 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - active = (flag_for_mellor_yamada_nakanishi_niino_surface_layer_scheme) [flhc] standard_name = surface_exchange_coefficient_for_heat long_name = surface exchange coefficient for heat @@ -1949,7 +1948,6 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - active = (flag_for_mellor_yamada_nakanishi_niino_surface_layer_scheme) [flqc] standard_name = surface_exchange_coefficient_for_moisture long_name = surface exchange coefficient for moisture @@ -1957,7 +1955,6 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - active = (flag_for_mellor_yamada_nakanishi_niino_surface_layer_scheme) [chs2] standard_name = surface_exchange_coefficient_for_heat_at_2m long_name = exchange coefficient for heat at 2 meters diff --git a/ccpp/framework b/ccpp/framework index f9976d65f..01e2d8dbe 160000 --- a/ccpp/framework +++ b/ccpp/framework @@ -1 +1 @@ -Subproject commit f9976d65fb24c1f7c6f4de2525e549cba4cad568 +Subproject commit 01e2d8dbe594f7f56b5fb1b42f4e67dcb14cf79c diff --git a/ccpp/physics b/ccpp/physics index e5b77dbf4..c0f1c606f 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit e5b77dbf45f2c799613f1dc03ad9983da0df45ab +Subproject commit c0f1c606f8afe30dd4d317910e84686f1813f3cc From 516f773c030edade6173446a1131e000f151fe8a Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Fri, 19 Apr 2024 11:50:28 -0600 Subject: [PATCH 18/29] More bug fixes for active attributes in ccpp/data/GFS_typedefs.meta --- ccpp/data/GFS_typedefs.meta | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ccpp/data/GFS_typedefs.meta b/ccpp/data/GFS_typedefs.meta index 6ad12c6cc..de71f0dda 100644 --- a/ccpp/data/GFS_typedefs.meta +++ b/ccpp/data/GFS_typedefs.meta @@ -1178,7 +1178,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - active = (control_for_deep_convection_scheme == identifier_for_grell_freitas_deep_convection) + active = (control_for_deep_convection_scheme == identifier_for_grell_freitas_deep_convection .or. control_for_deep_convection_scheme == identifier_for_c3_deep_convection) [conv_act] standard_name = consecutive_calls_for_grell_freitas_convection long_name = Memory counter for GF @@ -2758,7 +2758,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - active = (flag_for_surface_flux_coupling .or. flag_for_ocean_wave_coupling) + active = (flag_for_surface_flux_coupling .or. flag_for_chemistry_coupling .or. flag_for_ocean_wave_coupling) [v10mi_cpl] standard_name = y_wind_at_10m_for_coupling long_name = instantaneous V10m @@ -2766,7 +2766,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - active = (flag_for_surface_flux_coupling .or. flag_for_ocean_wave_coupling) + active = (flag_for_surface_flux_coupling .or. flag_for_chemistry_coupling .or. flag_for_ocean_wave_coupling) [tsfci_cpl] standard_name = surface_skin_temperature_for_coupling long_name = instantaneous sfc temperature @@ -2774,7 +2774,7 @@ dimensions = (horizontal_loop_extent) type = real kind = kind_phys - active = (flag_for_surface_flux_coupling) + active = (flag_for_surface_flux_coupling .or. flag_for_chemistry_coupling .or. flag_for_land_coupling) [psurfi_cpl] standard_name = surface_air_pressure_for_coupling long_name = instantaneous sfc pressure From 1f56b500be4ed36b2f064191aa0fcfacdc76f933 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Fri, 26 Apr 2024 19:29:14 -0600 Subject: [PATCH 19/29] More bug fixes for allocation dimensions in ccpp/data/CCPP_typedefs.*; optional arguments in stochastic_physics/stochastic_physics_wrapper.F90 --- ccpp/data/CCPP_typedefs.F90 | 67 +++++++++++++---- ccpp/data/CCPP_typedefs.meta | 72 ++++++++++++------- ccpp/physics | 2 +- .../stochastic_physics_wrapper.F90 | 1 + 4 files changed, 104 insertions(+), 38 deletions(-) diff --git a/ccpp/data/CCPP_typedefs.F90 b/ccpp/data/CCPP_typedefs.F90 index cac7c7366..4522d6a9c 100644 --- a/ccpp/data/CCPP_typedefs.F90 +++ b/ccpp/data/CCPP_typedefs.F90 @@ -452,14 +452,18 @@ module CCPP_typedefs integer :: ie integer :: isd integer :: ied - integer :: isc - integer :: iec + integer :: isc1 + integer :: iec1 + integer :: isc2 + integer :: iec2 integer :: js integer :: je integer :: jsd integer :: jed - integer :: jsc - integer :: jec + integer :: jsc1 + integer :: jec1 + integer :: jsc2 + integer :: jec2 integer :: ng integer :: npz integer :: npzp1 @@ -1561,12 +1565,17 @@ subroutine gfdl_interstitial_create (Interstitial, is, ie, isd, ied, js, je, jsd integer, intent(in) :: mpirank integer, intent(in) :: mpiroot ! - integer :: isc, jsc, iec, jec + integer :: isc1, jsc1, iec1, jec1 + integer :: isc2, jsc2, iec2, jec2 ! - isc = lbound(delp, dim=1) - jsc = lbound(delp, dim=2) - iec = ubound(delp, dim=1) - jec = ubound(delp, dim=2) + isc1 = lbound(delp, dim=1) + jsc1 = lbound(delp, dim=2) + iec1 = ubound(delp, dim=1) + jec1 = ubound(delp, dim=2) + isc2 = lbound(delz, dim=1) + jsc2 = lbound(delz, dim=2) + iec2 = ubound(delz, dim=1) + jec2 = ubound(delz, dim=2) ! #ifdef MOIST_CAPPA Interstitial%npzcappa = npz @@ -1605,17 +1614,41 @@ subroutine gfdl_interstitial_create (Interstitial, is, ie, isd, ied, js, je, jsd Interstitial%ie = ie Interstitial%isd = isd Interstitial%ied = ied - Interstitial%isc = isc - Interstitial%iec = iec + Interstitial%isc1 = isc1 + Interstitial%iec1 = iec1 + Interstitial%isc2 = isc2 + Interstitial%iec2 = iec2 Interstitial%js = js Interstitial%je = je Interstitial%jsd = jsd Interstitial%jed = jed - Interstitial%jsc = jsc - Interstitial%jec = jec + Interstitial%jsc1 = jsc1 + Interstitial%jec1 = jec1 + Interstitial%jsc2 = jsc2 + Interstitial%jec2 = jec2 Interstitial%ng = ng Interstitial%npz = npz Interstitial%npzp1 = npz+1 + ! + !write(0,'(a,3i4)') "DH DEBUG: is js 1:", is, js, 1 + !write(0,'(a,3i4)') "DH DEBUG: ie je npz:", ie, je, npz + !write(0,'(a,3i4)') "DH DEBUG: isd jsd 1:", isd, jsd, 1 + !write(0,'(a,3i4)') "DH DEBUG: ied jed npz:", ied, jed, npz + !write(0,'(a,3i4)') "DH DEBUG: isc1 jsc1 1:", isc1, jsc1, 1 + !write(0,'(a,3i4)') "DH DEBUG: iec1 jec1 npz:", iec1, jec1, npz + !write(0,'(a,3i4)') "DH DEBUG: isc2 jsc2 1:", isc2, jsc2, 1 + !write(0,'(a,3i4)') "DH DEBUG: iec2 jec2 npz:", iec2, jec2, npz + !write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( delz)=", lbound( delz), ubound( delz) + !write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( area)=", lbound( area), ubound( area) + !write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( peln)=", lbound( peln), ubound( peln) + !write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( phis)=", lbound( phis), ubound( phis) + !write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( pkz)=", lbound( pkz), ubound( pkz) + !write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( pt)=", lbound( pt), ubound( pt) + !write(0,'(a,8i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( qvi)=", lbound( qvi), ubound( qvi) + !write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( qv)=", lbound( qv), ubound( qv) + !write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound(q_con)=", lbound(q_con), ubound(q_con) + !write(0,'(a,1x,l,i4)') "DH DEBUG: hydrostatic, npzdelz:", hydrostatic, Interstitial%npzdelz + ! ! Set up links from GFDL_interstitial DDT to ATM DDT Interstitial%delp => delp Interstitial%delz => delz @@ -1632,6 +1665,14 @@ subroutine gfdl_interstitial_create (Interstitial, is, ie, isd, ied, js, je, jsd if (do_qs) Interstitial%qs => qs if (do_qg) Interstitial%qg => qg if (do_qa) Interstitial%qc => qc + ! + !if (do_ql) write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( ql)=", lbound( ql), ubound( ql) + !if (do_qi) write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( qi)=", lbound( qi), ubound( qi) + !if (do_qr) write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( qr)=", lbound( qr), ubound( qr) + !if (do_qs) write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( qs)=", lbound( qs), ubound( qs) + !if (do_qg) write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( qg)=", lbound( qg), ubound( qg) + !if (do_qa) write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( qc)=", lbound( qc), ubound( qc) + ! #ifdef USE_COND Interstitial%npzq_con = npz #else diff --git a/ccpp/data/CCPP_typedefs.meta b/ccpp/data/CCPP_typedefs.meta index 3185299c5..d1a06abf0 100644 --- a/ccpp/data/CCPP_typedefs.meta +++ b/ccpp/data/CCPP_typedefs.meta @@ -2964,14 +2964,26 @@ units = count dimensions = () type = integer -[isc] - standard_name = starting_x_direction_index_alloc +[isc1] + standard_name = starting_x_direction_index_alloc1 long_name = starting X direction index for allocation units = count dimensions = () type = integer -[iec] - standard_name = ending_x_direction_index_alloc +[iec1] + standard_name = ending_x_direction_index_alloc1 + long_name = ending X direction index for allocation + units = count + dimensions = () + type = integer +[isc2] + standard_name = starting_x_direction_index_alloc2 + long_name = starting X direction index for allocation + units = count + dimensions = () + type = integer +[iec2] + standard_name = ending_x_direction_index_alloc2 long_name = ending X direction index for allocation units = count dimensions = () @@ -3000,14 +3012,26 @@ units = count dimensions = () type = integer -[jsc] - standard_name = starting_y_direction_index_alloc +[jsc1] + standard_name = starting_y_direction_index_alloc1 long_name = starting X direction index for allocation units = count dimensions = () type = integer -[jec] - standard_name = ending_y_direction_index_alloc +[jec1] + standard_name = ending_y_direction_index_alloc1 + long_name = ending X direction index for allocation + units = count + dimensions = () + type = integer +[jsc2] + standard_name = starting_y_direction_index_alloc2 + long_name = starting X direction index for allocation + units = count + dimensions = () + type = integer +[jec2] + standard_name = ending_y_direction_index_alloc2 long_name = ending X direction index for allocation units = count dimensions = () @@ -3016,21 +3040,21 @@ standard_name = pressure_thickness_at_Lagrangian_surface long_name = pressure thickness at Lagrangian surface units = Pa - dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc,1:vertical_dimension_for_fast_physics) + dimensions = (starting_x_direction_index_alloc1:ending_x_direction_index_alloc1,starting_y_direction_index_alloc1:ending_y_direction_index_alloc1,1:vertical_dimension_for_fast_physics) type = real kind = kind_dyn [delz] standard_name = thickness_at_Lagrangian_surface long_name = thickness at Lagrangian_surface units = m - dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc,1:vertical_dimension_for_thickness_at_Lagrangian_surface) + dimensions = (starting_x_direction_index_alloc2:ending_x_direction_index_alloc2,starting_y_direction_index_alloc2:ending_y_direction_index_alloc2,1:vertical_dimension_for_thickness_at_Lagrangian_surface) type = real kind = kind_dyn [area] standard_name = cell_area_for_fast_physics long_name = area of the grid cell for fast physics units = m2 - dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc) + dimensions = (starting_x_direction_index_alloc1:ending_x_direction_index_alloc1,starting_y_direction_index_alloc1:ending_y_direction_index_alloc1) type = real kind = kind_grid [ng] @@ -3073,35 +3097,35 @@ standard_name = log_pressure_at_Lagrangian_surface long_name = logarithm of pressure at Lagrangian surface units = Pa - dimensions = (starting_x_direction_index:ending_x_direction_index,1:vertical_dimension_for_fast_physics_plus_one,starting_y_direction_index:ending_y_direction_index) + dimensions = (starting_x_direction_index_alloc2:ending_x_direction_index_alloc2,1:vertical_dimension_for_fast_physics_plus_one,starting_y_direction_index_alloc2:ending_y_direction_index_alloc2) type = real kind = kind_dyn [phis] standard_name = surface_geopotential_at_Lagrangian_surface long_name = surface geopotential at Lagrangian surface units = m2 s-2 - dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc) + dimensions = (starting_x_direction_index_alloc1:ending_x_direction_index_alloc1,starting_y_direction_index_alloc1:ending_y_direction_index_alloc1) type = real kind = kind_dyn [pkz] standard_name = finite_volume_mean_edge_pressure_raised_to_the_power_of_kappa long_name = finite-volume mean edge pressure raised to the power of kappa units = 1 - dimensions = (starting_x_direction_index:ending_x_direction_index,starting_y_direction_index:ending_y_direction_index,1:vertical_dimension_for_fast_physics) + dimensions = (starting_x_direction_index_alloc2:ending_x_direction_index_alloc2,starting_y_direction_index_alloc2:ending_y_direction_index_alloc2,1:vertical_dimension_for_fast_physics) type = real kind = kind_dyn [pt] standard_name = virtual_temperature_at_Lagrangian_surface long_name = virtual temperature at Lagrangian surface units = K - dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc,1:vertical_dimension_for_fast_physics) + dimensions = (starting_x_direction_index_alloc1:ending_x_direction_index_alloc1,starting_y_direction_index_alloc1:ending_y_direction_index_alloc1,1:vertical_dimension_for_fast_physics) type = real kind = kind_dyn [qvi] standard_name = gas_tracers_for_multi_gas_physics_at_Lagrangian_surface long_name = gas tracers for multi gas physics at Lagrangian surface units = kg kg-1 - dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc,1:vertical_dimension_for_fast_physics,0:number_of_gases_for_multi_gases_physics) + dimensions = (starting_x_direction_index_alloc1:ending_x_direction_index_alloc1,starting_y_direction_index_alloc1:ending_y_direction_index_alloc1,1:vertical_dimension_for_fast_physics,1:number_of_gases_for_multi_gases_physics) type = real kind = kind_dyn active = (number_of_gases_for_multi_gases_physics > 0) @@ -3109,56 +3133,56 @@ standard_name = water_vapor_specific_humidity_at_Lagrangian_surface long_name = water vapor specific humidity updated by fast physics at Lagrangian surface units = kg kg-1 - dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc,1:vertical_dimension_for_fast_physics) + dimensions = (starting_x_direction_index_alloc1:ending_x_direction_index_alloc1,starting_y_direction_index_alloc1:ending_y_direction_index_alloc1,1:vertical_dimension_for_fast_physics) type = real kind = kind_dyn [ql] standard_name = cloud_liquid_water_specific_humidity_at_Lagrangian_surface long_name = cloud liquid water specific humidity updated by fast physics at Lagrangian surface units = kg kg-1 - dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc,1:vertical_dimension_for_fast_physics) + dimensions = (starting_x_direction_index_alloc1:ending_x_direction_index_alloc1,starting_y_direction_index_alloc1:ending_y_direction_index_alloc1,1:vertical_dimension_for_fast_physics) type = real kind = kind_dyn [qi] standard_name = cloud_ice_specific_humidity_at_Lagrangian_surface long_name = cloud ice specific humidity updated by fast physics at Lagrangian surface units = kg kg-1 - dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc,1:vertical_dimension_for_fast_physics) + dimensions = (starting_x_direction_index_alloc1:ending_x_direction_index_alloc1,starting_y_direction_index_alloc1:ending_y_direction_index_alloc1,1:vertical_dimension_for_fast_physics) type = real kind = kind_dyn [qr] standard_name = cloud_rain_specific_humidity_at_Lagrangian_surface long_name = cloud rain specific humidity updated by fast physics at Lagrangian surface units = kg kg-1 - dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc,1:vertical_dimension_for_fast_physics) + dimensions = (starting_x_direction_index_alloc1:ending_x_direction_index_alloc1,starting_y_direction_index_alloc1:ending_y_direction_index_alloc1,1:vertical_dimension_for_fast_physics) type = real kind = kind_dyn [qs] standard_name = cloud_snow_specific_humidity_at_Lagrangian_surface long_name = cloud snow specific humidity updated by fast physics at Lagrangian surface units = kg kg-1 - dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc,1:vertical_dimension_for_fast_physics) + dimensions = (starting_x_direction_index_alloc1:ending_x_direction_index_alloc1,starting_y_direction_index_alloc1:ending_y_direction_index_alloc1,1:vertical_dimension_for_fast_physics) type = real kind = kind_dyn [qg] standard_name = cloud_graupel_specific_humidity_at_Lagrangian_surface long_name = cloud graupel specific humidity updated by fast physics at Lagrangian surface units = kg kg-1 - dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc,1:vertical_dimension_for_fast_physics) + dimensions = (starting_x_direction_index_alloc1:ending_x_direction_index_alloc1,starting_y_direction_index_alloc1:ending_y_direction_index_alloc1,1:vertical_dimension_for_fast_physics) type = real kind = kind_dyn [qc] standard_name = cloud_fraction_at_Lagrangian_surface long_name = cloud fraction at Lagrangian surface units = none - dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc,1:vertical_dimension_for_fast_physics) + dimensions = (starting_x_direction_index_alloc1:ending_x_direction_index_alloc1,starting_y_direction_index_alloc1:ending_y_direction_index_alloc1,1:vertical_dimension_for_fast_physics) type = real kind = kind_dyn [q_con] standard_name = cloud_condensed_water_specific_humidity_at_Lagrangian_surface long_name = cloud condensed water specific humidity updated by fast physics at Lagrangian surface units = kg kg-1 - dimensions = (starting_x_direction_index_alloc:ending_x_direction_index_alloc,starting_y_direction_index_alloc:ending_y_direction_index_alloc,1:vertical_dimension_for_condensed_water_at_Lagrangian_surface) + dimensions = (starting_x_direction_index_alloc1:ending_x_direction_index_alloc1,starting_y_direction_index_alloc1:ending_y_direction_index_alloc1,1:vertical_dimension_for_condensed_water_at_Lagrangian_surface) type = real kind = kind_dyn [nthreads] diff --git a/ccpp/physics b/ccpp/physics index c0f1c606f..caaa77fd7 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit c0f1c606f8afe30dd4d317910e84686f1813f3cc +Subproject commit caaa77fd7bf964d50dbbdbf24d1b75ddf27d3118 diff --git a/stochastic_physics/stochastic_physics_wrapper.F90 b/stochastic_physics/stochastic_physics_wrapper.F90 index b76c52a39..842495569 100644 --- a/stochastic_physics/stochastic_physics_wrapper.F90 +++ b/stochastic_physics/stochastic_physics_wrapper.F90 @@ -282,6 +282,7 @@ subroutine stochastic_physics_wrapper (GFS_Control, GFS_Data, Atm_block, ierr) endif select case (trim(GFS_Control%lndp_var_list(v))) + ! DH* is this correct? shouldn't this be slc ? case('smc') ! stype used to fetch soil params stype(nb,1:GFS_Control%blksz(nb)) = GFS_Data(nb)%Sfcprop%stype(1:GFS_Control%blksz(nb)) From e4304eec848bdee4063780fccdd4f19baea4fe9e Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Sat, 27 Apr 2024 15:17:43 -0600 Subject: [PATCH 20/29] Update .gitmodules and submodule pointer for GFDL_atmos_cubed_sphere for code review and testing --- .gitmodules | 6 ++++-- atmos_cubed_sphere | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.gitmodules b/.gitmodules index 3eb5ea477..8a6699e45 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,7 +1,9 @@ [submodule "atmos_cubed_sphere"] path = atmos_cubed_sphere - url = https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere - branch = dev/emc + #url = https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere + #branch = dev/emc + url = https://github.com/climbfuji/GFDL_atmos_cubed_sphere + branch = feature/ccpp_data_thrd_cnt [submodule "ccpp/framework"] path = ccpp/framework #url = https://github.com/NCAR/ccpp-framework diff --git a/atmos_cubed_sphere b/atmos_cubed_sphere index f060e857f..c2cdf4ba2 160000 --- a/atmos_cubed_sphere +++ b/atmos_cubed_sphere @@ -1 +1 @@ -Subproject commit f060e857f184a4e8e988d8563794066525357336 +Subproject commit c2cdf4ba201543adb7031eaf4b12fe20a56e149d From f87ef0caba07f441b9c789b236313edab5b5e2f4 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Sat, 27 Apr 2024 15:43:49 -0600 Subject: [PATCH 21/29] Set ccpp_data's thrd_cnt in ccpp/driver/CCPP_driver.F90 --- ccpp/driver/CCPP_driver.F90 | 2 ++ ccpp/framework | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ccpp/driver/CCPP_driver.F90 b/ccpp/driver/CCPP_driver.F90 index ec36e2ad3..55ca53860 100644 --- a/ccpp/driver/CCPP_driver.F90 +++ b/ccpp/driver/CCPP_driver.F90 @@ -85,6 +85,7 @@ subroutine CCPP_step (step, nblks, ierr) ! number are not used; set to safe values cdata_domain%blk_no = 1 cdata_domain%thrd_no = 1 + cdata_domain%thrd_cnt = 1 ! Allocate cdata structures for blocks and threads if (.not.allocated(cdata_block)) allocate(cdata_block(1:nblks,1:nthrdsX)) @@ -95,6 +96,7 @@ subroutine CCPP_step (step, nblks, ierr) ! Assign the correct block and thread numbers cdata_block(nb,nt)%blk_no = nb cdata_block(nb,nt)%thrd_no = nt + cdata_block(nb,nt)%thrd_cnt = nthrdsX end do end do diff --git a/ccpp/framework b/ccpp/framework index 01e2d8dbe..8138e2291 160000 --- a/ccpp/framework +++ b/ccpp/framework @@ -1 +1 @@ -Subproject commit 01e2d8dbe594f7f56b5fb1b42f4e67dcb14cf79c +Subproject commit 8138e22917b52d8ee2f714643aecd2468ee526a9 From a446b969b31aedee1e12f21d114bb4282c17af52 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Mon, 29 Apr 2024 08:34:14 -0600 Subject: [PATCH 22/29] Update submodule pointer for ccpp-physics --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index caaa77fd7..28182260a 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit caaa77fd7bf964d50dbbdbf24d1b75ddf27d3118 +Subproject commit 28182260aa4b36d4b1cf53840a1bdec45bc55c93 From 54d6058535ca2ab4900b420ea7bec80e97104700 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Tue, 30 Apr 2024 15:59:52 -0600 Subject: [PATCH 23/29] Update submodule pointer for ccpp-physics --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index 28182260a..b9fd2d873 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 28182260aa4b36d4b1cf53840a1bdec45bc55c93 +Subproject commit b9fd2d87355bd7811801ee49a52ba221025a5fe8 From bd4212382abb170759ce941505c2d1f158f09c8e Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Wed, 1 May 2024 07:22:07 -0600 Subject: [PATCH 24/29] Update submodule pointer for ccpp-physics --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index b9fd2d873..7b6a23e39 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit b9fd2d87355bd7811801ee49a52ba221025a5fe8 +Subproject commit 7b6a23e393ad33dc56f13362c789ca5e3911e733 From 3f28648907e7aab114bb32e80236d716a2e16acb Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Tue, 7 May 2024 06:51:17 -0600 Subject: [PATCH 25/29] No default in OMP pragmas in ccpp/driver/CCPP_driver.F90 --- ccpp/driver/CCPP_driver.F90 | 8 +++++--- ccpp/physics | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ccpp/driver/CCPP_driver.F90 b/ccpp/driver/CCPP_driver.F90 index 55ca53860..8e4c019b3 100644 --- a/ccpp/driver/CCPP_driver.F90 +++ b/ccpp/driver/CCPP_driver.F90 @@ -168,9 +168,11 @@ subroutine CCPP_step (step, nblks, ierr) ! because threads are used on the host model side for blocking GFS_control%nthreads = 1 -!$OMP parallel num_threads (nthrds) & -!$OMP default (shared) & -!$OMP private (nb,nt,ntX,ierr2) & +!$OMP parallel num_threads (nthrds) & +!$OMP default (none) & +!$OMP shared (nblks, nthrdsX, non_uniform_blocks, & +!$OMP cdata_block,ccpp_suite, step) & +!$OMP private (nb,nt,ntX,ierr2) & !$OMP reduction (+:ierr) #ifdef _OPENMP nt = omp_get_thread_num()+1 diff --git a/ccpp/physics b/ccpp/physics index 7b6a23e39..67789c9f2 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 7b6a23e393ad33dc56f13362c789ca5e3911e733 +Subproject commit 67789c9f20d9fd9bb29ccf81e78b0deb908039f0 From 91528d5a58dea0c782daa405430b1ec0826ced1e Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Fri, 10 May 2024 09:51:11 -0600 Subject: [PATCH 26/29] Update submodule pointer for ccpp-physics --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index 67789c9f2..e2c101076 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 67789c9f20d9fd9bb29ccf81e78b0deb908039f0 +Subproject commit e2c101076a3be15a9bdf34e3677628f3118c6e56 From 5eacf1c54c31067004222790d120f5ee47a7d67d Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Fri, 10 May 2024 21:02:22 -0600 Subject: [PATCH 27/29] Address self-review --- ccpp/data/CCPP_typedefs.F90 | 26 -------------------------- ccpp/framework | 2 +- 2 files changed, 1 insertion(+), 27 deletions(-) diff --git a/ccpp/data/CCPP_typedefs.F90 b/ccpp/data/CCPP_typedefs.F90 index 4522d6a9c..32abd412a 100644 --- a/ccpp/data/CCPP_typedefs.F90 +++ b/ccpp/data/CCPP_typedefs.F90 @@ -1630,25 +1630,6 @@ subroutine gfdl_interstitial_create (Interstitial, is, ie, isd, ied, js, je, jsd Interstitial%npz = npz Interstitial%npzp1 = npz+1 ! - !write(0,'(a,3i4)') "DH DEBUG: is js 1:", is, js, 1 - !write(0,'(a,3i4)') "DH DEBUG: ie je npz:", ie, je, npz - !write(0,'(a,3i4)') "DH DEBUG: isd jsd 1:", isd, jsd, 1 - !write(0,'(a,3i4)') "DH DEBUG: ied jed npz:", ied, jed, npz - !write(0,'(a,3i4)') "DH DEBUG: isc1 jsc1 1:", isc1, jsc1, 1 - !write(0,'(a,3i4)') "DH DEBUG: iec1 jec1 npz:", iec1, jec1, npz - !write(0,'(a,3i4)') "DH DEBUG: isc2 jsc2 1:", isc2, jsc2, 1 - !write(0,'(a,3i4)') "DH DEBUG: iec2 jec2 npz:", iec2, jec2, npz - !write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( delz)=", lbound( delz), ubound( delz) - !write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( area)=", lbound( area), ubound( area) - !write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( peln)=", lbound( peln), ubound( peln) - !write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( phis)=", lbound( phis), ubound( phis) - !write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( pkz)=", lbound( pkz), ubound( pkz) - !write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( pt)=", lbound( pt), ubound( pt) - !write(0,'(a,8i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( qvi)=", lbound( qvi), ubound( qvi) - !write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( qv)=", lbound( qv), ubound( qv) - !write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound(q_con)=", lbound(q_con), ubound(q_con) - !write(0,'(a,1x,l,i4)') "DH DEBUG: hydrostatic, npzdelz:", hydrostatic, Interstitial%npzdelz - ! ! Set up links from GFDL_interstitial DDT to ATM DDT Interstitial%delp => delp Interstitial%delz => delz @@ -1666,13 +1647,6 @@ subroutine gfdl_interstitial_create (Interstitial, is, ie, isd, ied, js, je, jsd if (do_qg) Interstitial%qg => qg if (do_qa) Interstitial%qc => qc ! - !if (do_ql) write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( ql)=", lbound( ql), ubound( ql) - !if (do_qi) write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( qi)=", lbound( qi), ubound( qi) - !if (do_qr) write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( qr)=", lbound( qr), ubound( qr) - !if (do_qs) write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( qs)=", lbound( qs), ubound( qs) - !if (do_qg) write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( qg)=", lbound( qg), ubound( qg) - !if (do_qa) write(0,'(a,6i4)') "DH DEBUG: DIMENSIONS FROM FY3 DYCORE: l/ubound( qc)=", lbound( qc), ubound( qc) - ! #ifdef USE_COND Interstitial%npzq_con = npz #else diff --git a/ccpp/framework b/ccpp/framework index a6e9f0417..259a494cc 160000 --- a/ccpp/framework +++ b/ccpp/framework @@ -1 +1 @@ -Subproject commit a6e9f0417d619dfbf9999943d7d1b272d3cc4fb0 +Subproject commit 259a494ccf274e7126d91d59609a3bfaf1b84183 From 2b53b6cae4c691f1cfc8df213d7c0120ce65a81d Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Mon, 20 May 2024 10:40:38 -0600 Subject: [PATCH 28/29] Update submodule pointer for ccpp-physics --- ccpp/physics | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ccpp/physics b/ccpp/physics index e4d4f92c0..7e59eba28 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit e4d4f92c0ed12e6e2236cdb8323cc8cb125ff9ac +Subproject commit 7e59eba2835711f7046e0b7528dc846bd875f754 From b872338bc21294ad69fa4adbe0a251ceabfe44ae Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Tue, 21 May 2024 13:30:21 -0600 Subject: [PATCH 29/29] Revert .gitmodules and update submodule pointers for atmos_cubed_sphere, ccpp/framework, ccpp/physics --- .gitmodules | 18 ++++++------------ atmos_cubed_sphere | 2 +- ccpp/framework | 2 +- ccpp/physics | 2 +- 4 files changed, 9 insertions(+), 15 deletions(-) diff --git a/.gitmodules b/.gitmodules index 8a6699e45..22c723ac1 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,21 +1,15 @@ [submodule "atmos_cubed_sphere"] path = atmos_cubed_sphere - #url = https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere - #branch = dev/emc - url = https://github.com/climbfuji/GFDL_atmos_cubed_sphere - branch = feature/ccpp_data_thrd_cnt + url = https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere + branch = dev/emc [submodule "ccpp/framework"] path = ccpp/framework - #url = https://github.com/NCAR/ccpp-framework - #branch = main - url = https://github.com/climbfuji/ccpp-framework - branch = feature/prebuild_optarg_based_on_merge_feature_capgen_into_main_20240308 + url = https://github.com/NCAR/ccpp-framework + branch = main [submodule "ccpp/physics"] path = ccpp/physics - #url = https://github.com/ufs-community/ccpp-physics - #branch = ufs/dev - url = https://github.com/climbfuji/ccpp-physics - branch = feature/ccpp_prebuild_opt_args + 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/atmos_cubed_sphere b/atmos_cubed_sphere index 630022fdc..061a73663 160000 --- a/atmos_cubed_sphere +++ b/atmos_cubed_sphere @@ -1 +1 @@ -Subproject commit 630022fdc13720b6f9376fdfb2e4298c10d6d6f2 +Subproject commit 061a73663f2bab9799eab7345c2ff8a34c789573 diff --git a/ccpp/framework b/ccpp/framework index c2983997d..ccfefcd0b 160000 --- a/ccpp/framework +++ b/ccpp/framework @@ -1 +1 @@ -Subproject commit c2983997d3c22832c588d150247a249f6b02425e +Subproject commit ccfefcd0b426e011f94137031d5f7c2a4dda2659 diff --git a/ccpp/physics b/ccpp/physics index 7e59eba28..16a1d8817 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 7e59eba2835711f7046e0b7528dc846bd875f754 +Subproject commit 16a1d881774d795f46db16017aeed7fc351d661a