Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CCPP regional suites, bugfix for GNU compiler, bugfix in CCPP_typedefs.F90, ... #115

Merged
2 changes: 1 addition & 1 deletion atmos_cubed_sphere
8 changes: 4 additions & 4 deletions atmos_model.F90
Original file line number Diff line number Diff line change
Expand Up @@ -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,&
Expand Down Expand Up @@ -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,&
Expand Down
2 changes: 1 addition & 1 deletion ccpp/framework
8 changes: 7 additions & 1 deletion ccpp/suites/suite_FV3_GFS_2017_gfdlmp_regional.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

<suite name="FV3_GFS_2017_gfdlmp_regional" lib="ccppphys" ver="4">
<!-- <init></init> -->
<group name="fast_physics">
<subcycle loop="1">
<scheme>fv_sat_adj</scheme>
</subcycle>
</group>
<group name="time_vary">
<subcycle loop="1">
<scheme>GFS_time_vary_pre</scheme>
Expand Down Expand Up @@ -61,7 +66,8 @@
<scheme>GFS_GWD_generic_post</scheme>
<scheme>rayleigh_damp</scheme>
<scheme>GFS_suite_stateout_update</scheme>
<scheme>ozphys</scheme>
<scheme>ozphys_2015</scheme>
<scheme>h2ophys</scheme>
<scheme>GFS_DCNV_generic_pre</scheme>
<scheme>get_phi_fv3</scheme>
<scheme>GFS_suite_interstitial_3</scheme>
Expand Down
8 changes: 7 additions & 1 deletion ccpp/suites/suite_FV3_GFS_2017_gfdlmp_regional_c768.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@

<suite name="FV3_GFS_2017_gfdlmp_regional_c768" lib="ccppphys" ver="4">
<!-- <init></init> -->
<group name="fast_physics">
<subcycle loop="1">
<scheme>fv_sat_adj</scheme>
</subcycle>
</group>
<group name="time_vary">
<subcycle loop="1">
<scheme>GFS_time_vary_pre</scheme>
Expand Down Expand Up @@ -61,7 +66,8 @@
<scheme>GFS_GWD_generic_post</scheme>
<scheme>rayleigh_damp</scheme>
<scheme>GFS_suite_stateout_update</scheme>
<scheme>ozphys</scheme>
<scheme>ozphys_2015</scheme>
<scheme>h2ophys</scheme>
<scheme>GFS_DCNV_generic_pre</scheme>
<scheme>get_phi_fv3</scheme>
<scheme>GFS_suite_interstitial_3</scheme>
Expand Down
36 changes: 19 additions & 17 deletions gfsphysics/CCPP_layer/CCPP_typedefs.F90
Original file line number Diff line number Diff line change
Expand Up @@ -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, &
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion io/makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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 = \
Expand Down
2 changes: 1 addition & 1 deletion ipd/makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down