From 45c1b675d53ad1592f4104ba68bcf46dcccce808 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Mon, 11 May 2020 16:37:16 -0600 Subject: [PATCH 1/7] atmos_model.F90: bugfix for GNU compiler --- atmos_model.F90 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/atmos_model.F90 b/atmos_model.F90 index a002efdad..c024ea295 100644 --- a/atmos_model.F90 +++ b/atmos_model.F90 @@ -312,13 +312,13 @@ subroutine update_atmos_radiation_physics (Atmos) end if if(IPD_Control%do_ca)then - if(IPD_Control%ca_sgs == .true.)then + if(IPD_Control%ca_sgs)then call cellular_automata_sgs(IPD_Control%kdt,IPD_Data(:)%Statein,IPD_Data(:)%Coupling,IPD_Data(:)%Intdiag,Atm_block%nblks,IPD_Control%levs, & IPD_Control%nca,IPD_Control%ncells,IPD_Control%nlives,IPD_Control%nfracseed,& IPD_Control%nseed,IPD_Control%nthresh,IPD_Control%ca_global,IPD_Control%ca_sgs,IPD_Control%iseed_ca,& IPD_Control%ca_smooth,IPD_Control%nspinup,Atm_block%blksz(1)) endif - if(IPD_Control%ca_global == .true.)then + if(IPD_Control%ca_global)then call cellular_automata_global(IPD_Control%kdt,IPD_Data(:)%Statein,IPD_Data(:)%Coupling,IPD_Data(:)%Intdiag,Atm_block%nblks,IPD_Control%levs, & IPD_Control%nca_g,IPD_Control%ncells_g,IPD_Control%nlives_g,IPD_Control%nfracseed,& IPD_Control%nseed_g,IPD_Control%nthresh,IPD_Control%ca_global,IPD_Control%ca_sgs,IPD_Control%iseed_ca,& @@ -661,13 +661,13 @@ subroutine atmos_model_init (Atmos, Time_init, Time, Time_step) end if ! *DH if(IPD_Control%do_ca)then - if(IPD_Control%ca_sgs == .true.)then + if(IPD_Control%ca_sgs)then call cellular_automata_sgs(IPD_Control%kdt,IPD_Data(:)%Statein,IPD_Data(:)%Coupling,IPD_Data(:)%Intdiag,Atm_block%nblks,IPD_Control%levs, & IPD_Control%nca,IPD_Control%ncells,IPD_Control%nlives,IPD_Control%nfracseed,& IPD_Control%nseed,IPD_Control%nthresh,IPD_Control%ca_global,IPD_Control%ca_sgs,IPD_Control%iseed_ca,& IPD_Control%ca_smooth,IPD_Control%nspinup,Atm_block%blksz(1)) endif - if(IPD_Control%ca_global == .true.)then + if(IPD_Control%ca_global)then call cellular_automata_global(IPD_Control%kdt,IPD_Data(:)%Statein,IPD_Data(:)%Coupling,IPD_Data(:)%Intdiag,Atm_block%nblks,IPD_Control%levs, & IPD_Control%nca_g,IPD_Control%ncells_g,IPD_Control%nlives_g,IPD_Control%nfracseed,& IPD_Control%nseed_g,IPD_Control%nthresh,IPD_Control%ca_global,IPD_Control%ca_sgs,IPD_Control%iseed_ca,& From aa8ffa559ebbb10da35fa3dc31b89d443b71a5bf Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Mon, 11 May 2020 16:38:09 -0600 Subject: [PATCH 2/7] Update CCPP suite definition files suite_FV3_GFS_2017_gfdlmp_regional.xml and suite_FV3_GFS_2017_gfdlmp_regional_c768.xml --- ccpp/suites/suite_FV3_GFS_2017_gfdlmp_regional.xml | 8 +++++++- ccpp/suites/suite_FV3_GFS_2017_gfdlmp_regional_c768.xml | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ccpp/suites/suite_FV3_GFS_2017_gfdlmp_regional.xml b/ccpp/suites/suite_FV3_GFS_2017_gfdlmp_regional.xml index 60cd1850f..a71c5cc9d 100644 --- a/ccpp/suites/suite_FV3_GFS_2017_gfdlmp_regional.xml +++ b/ccpp/suites/suite_FV3_GFS_2017_gfdlmp_regional.xml @@ -2,6 +2,11 @@ + + + fv_sat_adj + + GFS_time_vary_pre @@ -61,7 +66,8 @@ GFS_GWD_generic_post rayleigh_damp GFS_suite_stateout_update - ozphys + ozphys_2015 + h2ophys GFS_DCNV_generic_pre get_phi_fv3 GFS_suite_interstitial_3 diff --git a/ccpp/suites/suite_FV3_GFS_2017_gfdlmp_regional_c768.xml b/ccpp/suites/suite_FV3_GFS_2017_gfdlmp_regional_c768.xml index 9b47f8bbb..1089022ea 100644 --- a/ccpp/suites/suite_FV3_GFS_2017_gfdlmp_regional_c768.xml +++ b/ccpp/suites/suite_FV3_GFS_2017_gfdlmp_regional_c768.xml @@ -2,6 +2,11 @@ + + + fv_sat_adj + + GFS_time_vary_pre @@ -61,7 +66,8 @@ GFS_GWD_generic_post rayleigh_damp GFS_suite_stateout_update - ozphys + ozphys_2015 + h2ophys GFS_DCNV_generic_pre get_phi_fv3 GFS_suite_interstitial_3 From df728d26ec7554d6cc22d1a1b04ec4acbf3f3f54 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Mon, 11 May 2020 16:38:38 -0600 Subject: [PATCH 3/7] gfsphysics/CCPP_layer/CCPP_typedefs.F90: set pointers to hydrometeors only if valid --- gfsphysics/CCPP_layer/CCPP_typedefs.F90 | 36 +++++++++++++------------ 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/gfsphysics/CCPP_layer/CCPP_typedefs.F90 b/gfsphysics/CCPP_layer/CCPP_typedefs.F90 index b7927dea5..4685d856d 100644 --- a/gfsphysics/CCPP_layer/CCPP_typedefs.F90 +++ b/gfsphysics/CCPP_layer/CCPP_typedefs.F90 @@ -85,7 +85,8 @@ module CCPP_typedefs ! CCPP_interstitial_type !----------------------------- subroutine interstitial_create (Interstitial, is, ie, isd, ied, js, je, jsd, jed, npz, ng, & - dt_atmos, p_split, k_split, zvir, p_ref, ak, bk, do_qa, & + dt_atmos, p_split, k_split, zvir, p_ref, ak, bk, & + do_ql, do_qi, do_qr, do_qs, do_qg, do_qa, & kappa, hydrostatic, do_sat_adj, & delp, delz, area, peln, phis, pkz, pt, & qvi, qv, ql, qi, qr, qs, qg, qc, q_con, & @@ -111,6 +112,11 @@ subroutine interstitial_create (Interstitial, is, ie, isd, ied, js, je, jsd, jed real(kind_dyn), intent(in) :: p_ref real(kind_dyn), intent(in) :: ak(:) real(kind_dyn), intent(in) :: bk(:) + logical, intent(in) :: do_ql + logical, intent(in) :: do_qi + logical, intent(in) :: do_qr + logical, intent(in) :: do_qs + logical, intent(in) :: do_qg logical, intent(in) :: do_qa real(kind_dyn), intent(in) :: kappa logical, intent(in) :: hydrostatic @@ -194,14 +200,12 @@ subroutine interstitial_create (Interstitial, is, ie, isd, ied, js, je, jsd, jed Interstitial%pt => pt Interstitial%qvi => qvi Interstitial%qv => qv - Interstitial%ql => ql - Interstitial%qi => qi - Interstitial%qr => qr - Interstitial%qs => qs - Interstitial%qg => qg - if (do_qa) then - Interstitial%qc => qc - end if + if (do_ql) Interstitial%ql => ql + if (do_qi) Interstitial%qi => qi + if (do_qr) Interstitial%qr => qr + if (do_qs) Interstitial%qs => qs + if (do_qg) Interstitial%qg => qg + if (do_qa) Interstitial%qc => qc #ifdef USE_COND Interstitial%npzq_con = npz #else @@ -338,14 +342,12 @@ subroutine interstitial_print(Interstitial) write (0,*) 'sum(Interstitial%pt) = ', Interstitial%pt write (0,*) 'sum(Interstitial%qvi) = ', Interstitial%qvi write (0,*) 'sum(Interstitial%qv) = ', Interstitial%qv - write (0,*) 'sum(Interstitial%ql) = ', Interstitial%ql - write (0,*) 'sum(Interstitial%qi) = ', Interstitial%qi - write (0,*) 'sum(Interstitial%qr) = ', Interstitial%qr - write (0,*) 'sum(Interstitial%qs) = ', Interstitial%qs - write (0,*) 'sum(Interstitial%qg) = ', Interstitial%qg - if (associated(Interstitial%qc)) then - write (0,*) 'sum(Interstitial%qc) = ', Interstitial%qc - end if + if (associated(Interstitial%ql)) write (0,*) 'sum(Interstitial%ql) = ', Interstitial%ql + if (associated(Interstitial%qi)) write (0,*) 'sum(Interstitial%qi) = ', Interstitial%qi + if (associated(Interstitial%qr)) write (0,*) 'sum(Interstitial%qr) = ', Interstitial%qr + if (associated(Interstitial%qs)) write (0,*) 'sum(Interstitial%qs) = ', Interstitial%qs + if (associated(Interstitial%qg)) write (0,*) 'sum(Interstitial%qg) = ', Interstitial%qg + if (associated(Interstitial%qc)) write (0,*) 'sum(Interstitial%qc) = ', Interstitial%qc write (0,*) 'sum(Interstitial%q_con) = ', Interstitial%q_con write (0,*) 'Interstitial%hydrostatic = ', Interstitial%hydrostatic write (0,*) 'Interstitial%nwat = ', Interstitial%nwat From 5ec7f84d2d2804263821c7a97b6ab573457d431d Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Mon, 11 May 2020 16:40:55 -0600 Subject: [PATCH 4/7] Remove non-existent include directory namphysics --- io/makefile | 2 +- ipd/makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/io/makefile b/io/makefile index 244842a01..eda6adb39 100644 --- a/io/makefile +++ b/io/makefile @@ -18,7 +18,7 @@ $(info $$ESMF_INC is [${ESMF_INC}]) LIBRARY = libfv3io.a -FFLAGS += -I$(FMS_DIR) -I../gfsphysics -I../ipd -I../namphysics +FFLAGS += -I$(FMS_DIR) -I../gfsphysics -I../ipd ifneq (,$(findstring NO_INLINE_POST,$(CPPDEFS))) POST_SRC = \ diff --git a/ipd/makefile b/ipd/makefile index f7a358ce5..88cc6cbd1 100644 --- a/ipd/makefile +++ b/ipd/makefile @@ -17,7 +17,7 @@ endif LIBRARY = libipd.a -FFLAGS += -I$(FMS_DIR) -I../gfsphysics -I../namphysics +FFLAGS += -I$(FMS_DIR) -I../gfsphysics CPPDEFS += -DNEW_TAUCTMAX -DSMALL_PE -DNEMS_GSM -DINTERNAL_FILE_NML From 2049a99c1f0811b781993ed884205ebaa629c393 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Mon, 11 May 2020 16:41:31 -0600 Subject: [PATCH 5/7] Update .gitmodules and 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, 15 insertions(+), 9 deletions(-) diff --git a/.gitmodules b/.gitmodules index d253f6966..9158f402f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,12 +1,18 @@ [submodule "atmos_cubed_sphere"] path = atmos_cubed_sphere - url = https://github.com/NOAA-EMC/GFDL_atmos_cubed_sphere - branch = dev/emc + #url = https://github.com/NOAA-EMC/GFDL_atmos_cubed_sphere + #branch = dev/emc + url = https://github.com/climbfuji/GFDL_atmos_cubed_sphere + branch = ccpp_interstitial_create_update [submodule "ccpp/framework"] path = ccpp/framework - url = https://github.com/NCAR/ccpp-framework - branch = master + #url = https://github.com/NCAR/ccpp-framework + #branch = master + url = https://github.com/climbfuji/ccpp-framework + branch = python3_decoding_parse_all_suites [submodule "ccpp/physics"] path = ccpp/physics - url = https://github.com/NCAR/ccpp-physics - branch = master + #url = https://github.com/NCAR/ccpp-physics + #branch = master + url = https://github.com/climbfuji/ccpp-physics + branch = travis-encoding-check_and_saturation-adjustment-check diff --git a/atmos_cubed_sphere b/atmos_cubed_sphere index f9d4483a4..5b27012aa 160000 --- a/atmos_cubed_sphere +++ b/atmos_cubed_sphere @@ -1 +1 @@ -Subproject commit f9d4483a45fa9b538184b1bd607faf203511be92 +Subproject commit 5b27012aac0fd710a8eb48c5c0c29449ce260943 diff --git a/ccpp/framework b/ccpp/framework index 6890b2f07..07991bb7b 160000 --- a/ccpp/framework +++ b/ccpp/framework @@ -1 +1 @@ -Subproject commit 6890b2f0765abe0ce4b0dcecf469437d2183d36e +Subproject commit 07991bb7ba26679117a91c67ab5e804d7717e81d diff --git a/ccpp/physics b/ccpp/physics index 7b1e66cfa..dd70b5558 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 7b1e66cfac3add277ab6e210590b76313d76048a +Subproject commit dd70b5558d66952fffba9dc4c2b121198c8c078c From 3b102937c56e2afdd0890636b74f442a8bb5a3b9 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Mon, 11 May 2020 17:06:44 -0600 Subject: [PATCH 6/7] 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 dd70b5558..4f738694f 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit dd70b5558d66952fffba9dc4c2b121198c8c078c +Subproject commit 4f738694f3c462995ed72390aa932aba773e2a76 From edb2da31e2867b8d3f79bd8cde97eb0897db46ab Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Tue, 12 May 2020 15:27:16 -0600 Subject: [PATCH 7/7] Revert change to .gitmodules and update submodule pointers for GFDL_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 9158f402f..d253f6966 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,18 +1,12 @@ [submodule "atmos_cubed_sphere"] path = atmos_cubed_sphere - #url = https://github.com/NOAA-EMC/GFDL_atmos_cubed_sphere - #branch = dev/emc - url = https://github.com/climbfuji/GFDL_atmos_cubed_sphere - branch = ccpp_interstitial_create_update + url = https://github.com/NOAA-EMC/GFDL_atmos_cubed_sphere + branch = dev/emc [submodule "ccpp/framework"] path = ccpp/framework - #url = https://github.com/NCAR/ccpp-framework - #branch = master - url = https://github.com/climbfuji/ccpp-framework - branch = python3_decoding_parse_all_suites + url = https://github.com/NCAR/ccpp-framework + branch = master [submodule "ccpp/physics"] path = ccpp/physics - #url = https://github.com/NCAR/ccpp-physics - #branch = master - url = https://github.com/climbfuji/ccpp-physics - branch = travis-encoding-check_and_saturation-adjustment-check + url = https://github.com/NCAR/ccpp-physics + branch = master diff --git a/atmos_cubed_sphere b/atmos_cubed_sphere index 5b27012aa..15c615f80 160000 --- a/atmos_cubed_sphere +++ b/atmos_cubed_sphere @@ -1 +1 @@ -Subproject commit 5b27012aac0fd710a8eb48c5c0c29449ce260943 +Subproject commit 15c615f80e745848d0af50a47174e7c6dc851236 diff --git a/ccpp/framework b/ccpp/framework index 07991bb7b..7c3673d3a 160000 --- a/ccpp/framework +++ b/ccpp/framework @@ -1 +1 @@ -Subproject commit 07991bb7ba26679117a91c67ab5e804d7717e81d +Subproject commit 7c3673d3ab5858e17bf2253867f548b24c47eb49 diff --git a/ccpp/physics b/ccpp/physics index 4f738694f..66376d555 160000 --- a/ccpp/physics +++ b/ccpp/physics @@ -1 +1 @@ -Subproject commit 4f738694f3c462995ed72390aa932aba773e2a76 +Subproject commit 66376d5556d14d704dee67740125f25606fe7c6c