Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
df0e6ea
add qdiag3d support
SamuelTrahanNOAA Dec 19, 2019
c7ad1a3
add qdiag3d support
SamuelTrahanNOAA Dec 27, 2019
dc10a75
Further bug fixes to tendency accumulation
SamuelTrahanNOAA Jan 3, 2020
2200678
fix several bugs mentioned in code review
SamuelTrahanNOAA Jan 6, 2020
0d60589
Merge branch 'merge-me' into gsd/develop
SamuelTrahanNOAA Jan 6, 2020
538a1d8
add a pbl_generic_tend flag to tell whether the GFS_PBL_generic modul…
SamuelTrahanNOAA Jan 14, 2020
fbc1826
Move PBL tendencies into the PBL run subroutine.
SamuelTrahanNOAA Jan 14, 2020
ff725de
add ldiag3d and qdiag3d support to physics/module_MYNNPBL_wrapper.F90…
SamuelTrahanNOAA Jan 16, 2020
7b299c5
Point to sam's repo
SamuelTrahanNOAA Jan 16, 2020
e95f8ab
add model and ccpp tendency calculations
SamuelTrahanNOAA Jan 28, 2020
5275fb9
physics-level changes for tendencies
SamuelTrahanNOAA Jan 28, 2020
cf3d933
Correct tendency flag names, implement some more diagnostic tendencie…
SamuelTrahanNOAA Feb 6, 2020
dd8f27e
remove model_tend_pre&post from fast physics, add to stochastic
SamuelTrahanNOAA Feb 7, 2020
9ca064c
merge latest gsd/develop
SamuelTrahanNOAA Feb 7, 2020
f4fecfd
All gfs v15p2 and v16beta 3d diagnostic tendencies look reasonable; a…
SamuelTrahanNOAA Feb 13, 2020
7d4d569
Add timestep_init and timestep_final actions to CCPP. Update code so …
SamuelTrahanNOAA Mar 4, 2020
d46ebe8
Remove debug prints and commented-out code.
SamuelTrahanNOAA Mar 4, 2020
9f8b18f
Add total tendency calculations for gfsv15p2 and gsdv0. Calculate pbl…
SamuelTrahanNOAA Mar 12, 2020
cd2583d
Add some #ifdef CCPP to avoid breaking non-CCPP runs
SamuelTrahanNOAA Mar 17, 2020
2dd765a
merge gsd/develop
SamuelTrahanNOAA Apr 3, 2020
19fb05e
merge gsd/develop submodule ccpp/framework
SamuelTrahanNOAA Apr 3, 2020
e09316a
Correction: Diag%hpbl => Tbd%hpbl
SamuelTrahanNOAA Apr 6, 2020
fcc27ec
Correction: Diag%hpbl => Tbd%hpbl
SamuelTrahanNOAA Apr 6, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@
branch = gsd/develop
[submodule "ccpp/physics"]
path = ccpp/physics
url = https://github.com/NOAA-GSD/ccpp-physics
url = https://github.com/SamuelTrahanNOAA/ccpp-physics
branch = gsd/develop
12 changes: 12 additions & 0 deletions atmos_model.F90
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,7 @@ subroutine update_atmos_radiation_physics (Atmos)

!--- execute the IPD atmospheric setup step
call mpp_clock_begin(setupClock)

#ifdef CCPP
call CCPP_step (step="time_vary", nblks=Atm_block%nblks, ierr=ierr)
if (ierr/=0) call mpp_error(FATAL, 'Call to CCPP time_vary step failed')
Expand Down Expand Up @@ -331,6 +332,11 @@ subroutine update_atmos_radiation_physics (Atmos)
! print *,'in atmos_model, after assign_importdata, rc=',rc
endif

#ifdef CCPP
call CCPP_step (step="timestep_init", nblks=Atm_block%nblks, ierr=ierr)
if (ierr/=0) call mpp_error(FATAL, 'Call to CCPP timestep_init step failed')
#endif

call mpp_clock_end(setupClock)

if (mpp_pe() == mpp_root_pe() .and. debug) write(6,*) "radiation driver"
Expand Down Expand Up @@ -394,6 +400,9 @@ subroutine update_atmos_radiation_physics (Atmos)
#ifdef CCPP
call CCPP_step (step="stochastics", nblks=Atm_block%nblks, ierr=ierr)
if (ierr/=0) call mpp_error(FATAL, 'Call to CCPP stochastics step failed')

call CCPP_step (step="timestep_final", nblks=Atm_block%nblks, ierr=ierr)
if (ierr/=0) call mpp_error(FATAL, 'Call to CCPP timestep_final step failed')
#else
Func0d => physics_step2
!$OMP parallel do default (none) &
Expand All @@ -404,13 +413,16 @@ subroutine update_atmos_radiation_physics (Atmos)
call IPD_step (IPD_Control, IPD_Data(nb:nb), IPD_Diag, IPD_Restart, IPD_func0d=Func0d)
enddo
#endif

call mpp_clock_end(physClock)

if (chksum_debug) then
if (mpp_pe() == mpp_root_pe()) print *,'PHYSICS STEP2 ', IPD_Control%kdt, IPD_Control%fhour
call FV3GFS_IPD_checksum(IPD_Control, IPD_Data, Atm_block)
endif

call getiauforcing(IPD_Control,IAU_data)

if (mpp_pe() == mpp_root_pe() .and. debug) write(6,*) "end of radiation and physics step"
endif

Expand Down
8 changes: 7 additions & 1 deletion ccpp/config/ccpp_prebuild_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,9 @@
'FV3/ccpp/physics/physics/mfpblt.f',
'FV3/ccpp/physics/physics/mfpbltq.f',
'FV3/ccpp/physics/physics/mfscu.f',
'FV3/ccpp/physics/physics/total_tend.F90',
'FV3/ccpp/physics/physics/model_tend_pre.F90',
'FV3/ccpp/physics/physics/model_tend_post.F90',
'FV3/ccpp/physics/physics/mfscuq.f',
'FV3/ccpp/physics/physics/noahmp_tables.f90',
'FV3/ccpp/physics/physics/num_parthds.F',
Expand Down Expand Up @@ -184,7 +187,10 @@
'FV3/ccpp/physics/physics/gcm_shoc.F90' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/get_prs_fv3.F90' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/gfdl_cloud_microphys.F90' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/gfdl_fv_sat_adj.F90' : [ 'fast_physics' ],
'FV3/ccpp/physics/physics/gfdl_fv_sat_adj.F90' : [ 'slow_physics' ],
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this correct? gfdl_fv_sat_adj.F90 should remain in "fast_physics", right?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I will revert this.

'FV3/ccpp/physics/physics/total_tend.F90' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/model_tend_pre.F90' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/model_tend_post.F90' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/gscond.f' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/gwdc.f' : [ 'slow_physics' ],
'FV3/ccpp/physics/physics/gwdps.f' : [ 'slow_physics' ],
Expand Down
5 changes: 3 additions & 2 deletions ccpp/driver/CCPP_driver.F90
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ module CCPP_driver
! number nthrdsX in case of non-uniform block sizes) !
!--------------------------------------------------------!
logical :: non_uniform_blocks
integer :: nthrds, nthrdsX
integer :: nthrds, nthrdsX, ithread

!----------------
! Public Entities
Expand Down Expand Up @@ -205,7 +205,8 @@ subroutine CCPP_step (step, nblks, ierr)
end if

! Radiation and stochastic physics
else if (trim(step)=="radiation" .or. trim(step)=="physics" .or. trim(step)=="stochastics") then
else if (trim(step)=="radiation" .or. trim(step)=="physics" .or. trim(step)=="stochastics" &
.or. trim(step)=="timestep_init" .or. trim(step)=="timestep_final") then

! Set number of threads available to physics schemes to one,
! because threads are used on the outside for blocking
Expand Down
2 changes: 1 addition & 1 deletion ccpp/framework
11 changes: 11 additions & 0 deletions ccpp/suites/suite_FV3_GFS_v15p2.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@
<scheme>GFS_phys_time_vary</scheme>
</subcycle>
</group>
<group name="timestep_init">
<subcycle loop="1">
<scheme>model_tend_pre</scheme>
</subcycle>
</group>
<group name="radiation">
<subcycle loop="1">
<scheme>GFS_suite_interstitial_rad_reset</scheme>
Expand Down Expand Up @@ -90,5 +95,11 @@
<scheme>GFS_stochastics</scheme>
</subcycle>
</group>
<group name="timestep_final">
<subcycle loop="1">
<scheme>model_tend_post</scheme>
<scheme>total_tend</scheme>
</subcycle>
</group>
<!-- <finalize></finalize> -->
</suite>
13 changes: 13 additions & 0 deletions ccpp/suites/suite_FV3_GFS_v15plus.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,17 @@
</group>
<group name="time_vary">
<subcycle loop="1">
<scheme>model_tend_pre</scheme>
<scheme>GFS_time_vary_pre</scheme>
<scheme>GFS_rrtmg_setup</scheme>
<scheme>GFS_rad_time_vary</scheme>
<scheme>GFS_phys_time_vary</scheme>
<scheme>model_tend_post</scheme>
</subcycle>
</group>
<group name="radiation">
<subcycle loop="1">
<scheme>model_tend_pre</scheme>
<scheme>GFS_suite_interstitial_rad_reset</scheme>
<scheme>GFS_rrtmg_pre</scheme>
<scheme>rrtmg_sw_pre</scheme>
Expand All @@ -26,10 +29,13 @@
<scheme>rrtmg_lw</scheme>
<scheme>rrtmg_lw_post</scheme>
<scheme>GFS_rrtmg_post</scheme>
<scheme>model_tend_post</scheme>
</subcycle>
</group>
<group name="physics">
<subcycle loop="1">
<scheme>model_tend_pre</scheme>
<scheme>total_tend</scheme>
<scheme>GFS_suite_interstitial_phys_reset</scheme>
<scheme>GFS_suite_stateout_reset</scheme>
<scheme>get_prs_fv3</scheme>
Expand All @@ -39,9 +45,11 @@
<scheme>dcyc2t3</scheme>
<scheme>GFS_surface_composites_inter</scheme>
<scheme>GFS_suite_interstitial_2</scheme>
<scheme>model_tend_post</scheme>
</subcycle>
<!-- Surface iteration loop -->
<subcycle loop="2">
<scheme>model_tend_pre</scheme>
<scheme>sfc_diff</scheme>
<scheme>GFS_surface_loop_control_part1</scheme>
<scheme>sfc_nst_pre</scheme>
Expand All @@ -50,9 +58,11 @@
<scheme>lsm_noah</scheme>
<scheme>sfc_sice</scheme>
<scheme>GFS_surface_loop_control_part2</scheme>
<scheme>model_tend_post</scheme>
</subcycle>
<!-- End of surface iteration loop -->
<subcycle loop="1">
<scheme>model_tend_pre</scheme>
<scheme>GFS_surface_composites_post</scheme>
<scheme>dcyc2t3_post</scheme>
<scheme>sfc_diag</scheme>
Expand Down Expand Up @@ -83,11 +93,14 @@
<scheme>gfdl_cloud_microphys</scheme>
<scheme>GFS_MP_generic_post</scheme>
<scheme>maximum_hourly_diagnostics</scheme>
<scheme>model_tend_post</scheme>
</subcycle>
</group>
<group name="stochastics">
<subcycle loop="1">
<scheme>model_tend_pre</scheme>
<scheme>GFS_stochastics</scheme>
<scheme>model_tend_post</scheme>
</subcycle>
</group>
<!-- <finalize></finalize> -->
Expand Down
11 changes: 11 additions & 0 deletions ccpp/suites/suite_FV3_GFS_v16beta.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@
<scheme>GFS_phys_time_vary</scheme>
</subcycle>
</group>
<group name="timestep_init">
<subcycle loop="1">
<scheme>model_tend_pre</scheme>
</subcycle>
</group>
<group name="radiation">
<subcycle loop="1">
<scheme>GFS_suite_interstitial_rad_reset</scheme>
Expand Down Expand Up @@ -90,5 +95,11 @@
<scheme>GFS_stochastics</scheme>
</subcycle>
</group>
<group name="timestep_final">
<subcycle loop="1">
<scheme>model_tend_post</scheme>
<scheme>total_tend</scheme>
</subcycle>
</group>
<!-- <finalize></finalize> -->
</suite>
11 changes: 11 additions & 0 deletions ccpp/suites/suite_FV3_GSD_v0.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@
<scheme>GFS_phys_time_vary</scheme>
</subcycle>
</group>
<group name="timestep_init">
<subcycle loop="1">
<scheme>model_tend_pre</scheme>
</subcycle>
</group>
<group name="radiation">
<subcycle loop="1">
<scheme>GFS_suite_interstitial_rad_reset</scheme>
Expand Down Expand Up @@ -90,5 +95,11 @@
<scheme>GFS_stochastics</scheme>
</subcycle>
</group>
<group name="timestep_final">
<subcycle loop="1">
<scheme>model_tend_post</scheme>
<scheme>total_tend</scheme>
</subcycle>
</group>
<!-- <finalize></finalize> -->
</suite>
Loading