Skip to content

Commit 6590d4b

Browse files
authored
CCPP regional suites, bugfix for GNU compiler, bugfix in CCPP_typedefs.F90, ... (NCAR#115)
* atmos_model.F90: bugfix for GNU compiler * Update CCPP suite definition files suite_FV3_GFS_2017_gfdlmp_regional.xml and suite_FV3_GFS_2017_gfdlmp_regional_c768.xml * gfsphysics/CCPP_layer/CCPP_typedefs.F90: set pointers to hydrometeors only if valid * Remove non-existent include directory namphysics
1 parent 2418b18 commit 6590d4b

9 files changed

+42
-28
lines changed

atmos_model.F90

+4-4
Original file line numberDiff line numberDiff line change
@@ -312,13 +312,13 @@ subroutine update_atmos_radiation_physics (Atmos)
312312
end if
313313

314314
if(IPD_Control%do_ca)then
315-
if(IPD_Control%ca_sgs == .true.)then
315+
if(IPD_Control%ca_sgs)then
316316
call cellular_automata_sgs(IPD_Control%kdt,IPD_Data(:)%Statein,IPD_Data(:)%Coupling,IPD_Data(:)%Intdiag,Atm_block%nblks,IPD_Control%levs, &
317317
IPD_Control%nca,IPD_Control%ncells,IPD_Control%nlives,IPD_Control%nfracseed,&
318318
IPD_Control%nseed,IPD_Control%nthresh,IPD_Control%ca_global,IPD_Control%ca_sgs,IPD_Control%iseed_ca,&
319319
IPD_Control%ca_smooth,IPD_Control%nspinup,Atm_block%blksz(1))
320320
endif
321-
if(IPD_Control%ca_global == .true.)then
321+
if(IPD_Control%ca_global)then
322322
call cellular_automata_global(IPD_Control%kdt,IPD_Data(:)%Statein,IPD_Data(:)%Coupling,IPD_Data(:)%Intdiag,Atm_block%nblks,IPD_Control%levs, &
323323
IPD_Control%nca_g,IPD_Control%ncells_g,IPD_Control%nlives_g,IPD_Control%nfracseed,&
324324
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)
661661
end if
662662
! *DH
663663
if(IPD_Control%do_ca)then
664-
if(IPD_Control%ca_sgs == .true.)then
664+
if(IPD_Control%ca_sgs)then
665665
call cellular_automata_sgs(IPD_Control%kdt,IPD_Data(:)%Statein,IPD_Data(:)%Coupling,IPD_Data(:)%Intdiag,Atm_block%nblks,IPD_Control%levs, &
666666
IPD_Control%nca,IPD_Control%ncells,IPD_Control%nlives,IPD_Control%nfracseed,&
667667
IPD_Control%nseed,IPD_Control%nthresh,IPD_Control%ca_global,IPD_Control%ca_sgs,IPD_Control%iseed_ca,&
668668
IPD_Control%ca_smooth,IPD_Control%nspinup,Atm_block%blksz(1))
669669
endif
670-
if(IPD_Control%ca_global == .true.)then
670+
if(IPD_Control%ca_global)then
671671
call cellular_automata_global(IPD_Control%kdt,IPD_Data(:)%Statein,IPD_Data(:)%Coupling,IPD_Data(:)%Intdiag,Atm_block%nblks,IPD_Control%levs, &
672672
IPD_Control%nca_g,IPD_Control%ncells_g,IPD_Control%nlives_g,IPD_Control%nfracseed,&
673673
IPD_Control%nseed_g,IPD_Control%nthresh,IPD_Control%ca_global,IPD_Control%ca_sgs,IPD_Control%iseed_ca,&

ccpp/suites/suite_FV3_GFS_2017_gfdlmp_regional.xml

+7-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
<suite name="FV3_GFS_2017_gfdlmp_regional" lib="ccppphys" ver="4">
44
<!-- <init></init> -->
5+
<group name="fast_physics">
6+
<subcycle loop="1">
7+
<scheme>fv_sat_adj</scheme>
8+
</subcycle>
9+
</group>
510
<group name="time_vary">
611
<subcycle loop="1">
712
<scheme>GFS_time_vary_pre</scheme>
@@ -61,7 +66,8 @@
6166
<scheme>GFS_GWD_generic_post</scheme>
6267
<scheme>rayleigh_damp</scheme>
6368
<scheme>GFS_suite_stateout_update</scheme>
64-
<scheme>ozphys</scheme>
69+
<scheme>ozphys_2015</scheme>
70+
<scheme>h2ophys</scheme>
6571
<scheme>GFS_DCNV_generic_pre</scheme>
6672
<scheme>get_phi_fv3</scheme>
6773
<scheme>GFS_suite_interstitial_3</scheme>

ccpp/suites/suite_FV3_GFS_2017_gfdlmp_regional_c768.xml

+7-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
<suite name="FV3_GFS_2017_gfdlmp_regional_c768" lib="ccppphys" ver="4">
44
<!-- <init></init> -->
5+
<group name="fast_physics">
6+
<subcycle loop="1">
7+
<scheme>fv_sat_adj</scheme>
8+
</subcycle>
9+
</group>
510
<group name="time_vary">
611
<subcycle loop="1">
712
<scheme>GFS_time_vary_pre</scheme>
@@ -61,7 +66,8 @@
6166
<scheme>GFS_GWD_generic_post</scheme>
6267
<scheme>rayleigh_damp</scheme>
6368
<scheme>GFS_suite_stateout_update</scheme>
64-
<scheme>ozphys</scheme>
69+
<scheme>ozphys_2015</scheme>
70+
<scheme>h2ophys</scheme>
6571
<scheme>GFS_DCNV_generic_pre</scheme>
6672
<scheme>get_phi_fv3</scheme>
6773
<scheme>GFS_suite_interstitial_3</scheme>

gfsphysics/CCPP_layer/CCPP_typedefs.F90

+19-17
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ module CCPP_typedefs
8585
! CCPP_interstitial_type
8686
!-----------------------------
8787
subroutine interstitial_create (Interstitial, is, ie, isd, ied, js, je, jsd, jed, npz, ng, &
88-
dt_atmos, p_split, k_split, zvir, p_ref, ak, bk, do_qa, &
88+
dt_atmos, p_split, k_split, zvir, p_ref, ak, bk, &
89+
do_ql, do_qi, do_qr, do_qs, do_qg, do_qa, &
8990
kappa, hydrostatic, do_sat_adj, &
9091
delp, delz, area, peln, phis, pkz, pt, &
9192
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
111112
real(kind_dyn), intent(in) :: p_ref
112113
real(kind_dyn), intent(in) :: ak(:)
113114
real(kind_dyn), intent(in) :: bk(:)
115+
logical, intent(in) :: do_ql
116+
logical, intent(in) :: do_qi
117+
logical, intent(in) :: do_qr
118+
logical, intent(in) :: do_qs
119+
logical, intent(in) :: do_qg
114120
logical, intent(in) :: do_qa
115121
real(kind_dyn), intent(in) :: kappa
116122
logical, intent(in) :: hydrostatic
@@ -194,14 +200,12 @@ subroutine interstitial_create (Interstitial, is, ie, isd, ied, js, je, jsd, jed
194200
Interstitial%pt => pt
195201
Interstitial%qvi => qvi
196202
Interstitial%qv => qv
197-
Interstitial%ql => ql
198-
Interstitial%qi => qi
199-
Interstitial%qr => qr
200-
Interstitial%qs => qs
201-
Interstitial%qg => qg
202-
if (do_qa) then
203-
Interstitial%qc => qc
204-
end if
203+
if (do_ql) Interstitial%ql => ql
204+
if (do_qi) Interstitial%qi => qi
205+
if (do_qr) Interstitial%qr => qr
206+
if (do_qs) Interstitial%qs => qs
207+
if (do_qg) Interstitial%qg => qg
208+
if (do_qa) Interstitial%qc => qc
205209
#ifdef USE_COND
206210
Interstitial%npzq_con = npz
207211
#else
@@ -338,14 +342,12 @@ subroutine interstitial_print(Interstitial)
338342
write (0,*) 'sum(Interstitial%pt) = ', Interstitial%pt
339343
write (0,*) 'sum(Interstitial%qvi) = ', Interstitial%qvi
340344
write (0,*) 'sum(Interstitial%qv) = ', Interstitial%qv
341-
write (0,*) 'sum(Interstitial%ql) = ', Interstitial%ql
342-
write (0,*) 'sum(Interstitial%qi) = ', Interstitial%qi
343-
write (0,*) 'sum(Interstitial%qr) = ', Interstitial%qr
344-
write (0,*) 'sum(Interstitial%qs) = ', Interstitial%qs
345-
write (0,*) 'sum(Interstitial%qg) = ', Interstitial%qg
346-
if (associated(Interstitial%qc)) then
347-
write (0,*) 'sum(Interstitial%qc) = ', Interstitial%qc
348-
end if
345+
if (associated(Interstitial%ql)) write (0,*) 'sum(Interstitial%ql) = ', Interstitial%ql
346+
if (associated(Interstitial%qi)) write (0,*) 'sum(Interstitial%qi) = ', Interstitial%qi
347+
if (associated(Interstitial%qr)) write (0,*) 'sum(Interstitial%qr) = ', Interstitial%qr
348+
if (associated(Interstitial%qs)) write (0,*) 'sum(Interstitial%qs) = ', Interstitial%qs
349+
if (associated(Interstitial%qg)) write (0,*) 'sum(Interstitial%qg) = ', Interstitial%qg
350+
if (associated(Interstitial%qc)) write (0,*) 'sum(Interstitial%qc) = ', Interstitial%qc
349351
write (0,*) 'sum(Interstitial%q_con) = ', Interstitial%q_con
350352
write (0,*) 'Interstitial%hydrostatic = ', Interstitial%hydrostatic
351353
write (0,*) 'Interstitial%nwat = ', Interstitial%nwat

io/makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ $(info $$ESMF_INC is [${ESMF_INC}])
1818

1919
LIBRARY = libfv3io.a
2020

21-
FFLAGS += -I$(FMS_DIR) -I../gfsphysics -I../ipd -I../namphysics
21+
FFLAGS += -I$(FMS_DIR) -I../gfsphysics -I../ipd
2222

2323
ifneq (,$(findstring NO_INLINE_POST,$(CPPDEFS)))
2424
POST_SRC = \

ipd/makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ endif
1717

1818
LIBRARY = libipd.a
1919

20-
FFLAGS += -I$(FMS_DIR) -I../gfsphysics -I../namphysics
20+
FFLAGS += -I$(FMS_DIR) -I../gfsphysics
2121

2222
CPPDEFS += -DNEW_TAUCTMAX -DSMALL_PE -DNEMS_GSM -DINTERNAL_FILE_NML
2323

0 commit comments

Comments
 (0)