Skip to content

Commit

Permalink
Housekeeping
Browse files Browse the repository at this point in the history
  • Loading branch information
dustinswales committed Jul 11, 2023
1 parent 6ceffe3 commit 9465b6f
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 13 deletions.
21 changes: 13 additions & 8 deletions physics/GFS_ccpp_scheme_sim_pre.F90
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
! ########################################################################################
!
! Interstitial CCPP scheme to couple UFS physics to ccpp_scheme_simulator.
! ) load: read and load data into type used by ccpp_scheme_simulator
! ) _run: prepare GFS diagnostic physics tendencies for ccpp_scheme_simulator
! Description: Interstitial CCPP scheme to couple UFS physics to ccpp_scheme_simulator.
!
! Contains:
! - load_ccpp_scheme_sim(): read and load data into type used by ccpp_scheme_simulator.
! called once during model initialization
! - GFS_ccpp_scheme_sim_pre_run(): prepare GFS diagnostic physics tendencies for
! ccpp_scheme_simulator.
!
! ########################################################################################
module GFS_ccpp_scheme_sim_pre
Expand Down Expand Up @@ -102,8 +106,8 @@ subroutine GFS_ccpp_scheme_sim_pre_run(dtend, ntqv, dtidx, dtp, index_of_process
end subroutine GFS_ccpp_scheme_sim_pre_run

! ######################################################################################
subroutine load_ccpp_scheme_sim(nlunit, nml_file, physics_process, &
iactive_T, iactive_u, iactive_v, iactive_q, errmsg, errflg)
subroutine load_ccpp_scheme_sim(nlunit, nml_file, physics_process, iactive_T, &
iactive_u, iactive_v, iactive_q, errmsg, errflg)

! Inputs
integer, intent (in) :: nlunit
Expand All @@ -121,7 +125,8 @@ subroutine load_ccpp_scheme_sim(nlunit, nml_file, physics_process, &
logical :: exists, do_ccpp_scheme_sim
integer :: nprc_sim

! For each process there is a corresponding namelist entry, which is constructed as follows:
! For each process there is a corresponding namelist entry, which is constructed as
! follows:
! {use_scheme_sim[0(no)/1(yes)], time_split[0(no)/1(yes)], order[1:nPhysProcess]}
integer, dimension(3) :: &
prc_LWRAD_cfg = (/0,0,0/), &
Expand All @@ -133,8 +138,8 @@ subroutine load_ccpp_scheme_sim(nlunit, nml_file, physics_process, &
prc_cldMP_cfg = (/0,0,0/)

! Namelist
namelist / ccpp_scheme_sim_nml / do_ccpp_scheme_sim, scheme_sim_file, nprc_sim, &
prc_LWRAD_cfg, prc_SWRAD_cfg, prc_PBL_cfg, prc_GWD_cfg, prc_SCNV_cfg, &
namelist / ccpp_scheme_sim_nml / do_ccpp_scheme_sim, scheme_sim_file, nprc_sim, &
prc_LWRAD_cfg, prc_SWRAD_cfg, prc_PBL_cfg, prc_GWD_cfg, prc_SCNV_cfg, &
prc_DCNV_cfg, prc_cldMP_cfg

errmsg = ''
Expand Down
22 changes: 17 additions & 5 deletions physics/ccpp_scheme_simulator.F90
Original file line number Diff line number Diff line change
@@ -1,8 +1,20 @@
! ########################################################################################
!
! CCPP scheme to replace physics schemes with simulated data tendencies.
!
! Description:
! Description: This scheme simulates the evolution of the internal physics state
! represented by a CCPP Suite Definition File (SDF).
!
! To activate this scheme it must be a) embedded within the SDF and b) activated through
! the physics namelist.
! The derived-data type "base_physics_process" contains the metadata needed to reconstruct
! the temporal evolution of the state. An array of base_physics_process, physics_process,
! is populated by the host during initialization and passed to the physics. Additionally,
! this type holds any data, or type-bound procedures, required by the scheme simulator(s).
!
! For this initial demonstration we are using 2-dimensional (height, time) forcing data,
! which is on the same native vertical grid as the SCM. The dataset has a temporal
! resolution of 1-hour, created by averaging all local times from a Tropical Warm Pool
! International Cloud Experiment (TWPICE) case. This was to create a dataset with a
! (constant) diurnal cycle.
!
! ########################################################################################
module ccpp_scheme_simulator
Expand Down Expand Up @@ -160,9 +172,9 @@ subroutine ccpp_scheme_simulator_run(do_ccpp_scheme_sim, kdt, nCol, nLay, dtp, j
endif
else
if (physics_process(iprc)%time_split) then
write(*,'(a25,i2,a4,i2,a5,a10,a35)') 'CCPP suite simulator: ',iprc,' of ',proc_end,' ',physics_process(iprc)%name,' time split scheme (active)'
write(*,'(a25,i2,a4,i2,a5,a10,a35)') 'CCPP suite simulator: ',iprc,' of ',proc_end,' ',physics_process(iprc)%name,'time split scheme (active)'
else
write(*,'(a25,i2,a4,i2,a5,a10,a35)') 'CCPP suite simulator: ',iprc,' of ',proc_end,' ',physics_process(iprc)%name,' process split scheme (active)'
write(*,'(a25,i2,a4,i2,a5,a10,a35)') 'CCPP suite simulator: ',iprc,' of ',proc_end,' ',physics_process(iprc)%name,'process split scheme (active)'
endif
write(*,'(a25,i2)') ' # prog. vars.: ',physics_process(1)%nprg_active
endif
Expand Down

0 comments on commit 9465b6f

Please sign in to comment.