Skip to content

Commit

Permalink
Merge pull request #42 from climbfuji/gmtb-gfsphysics-metadata
Browse files Browse the repository at this point in the history
Full CCPP support for FV3 v0 with separated physics and suite definition file
  • Loading branch information
climbfuji authored Feb 14, 2018
2 parents 80d5f95 + de05086 commit cd71836
Show file tree
Hide file tree
Showing 81 changed files with 12,051 additions and 4,324 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Auto-generated include files in Fortran code
*.inc
6 changes: 6 additions & 0 deletions CCPP_CAPS.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# All CCPP caps are defined here.
#
# This file is auto-generated using ccpp_prebuild.py
# at compile time, do not edit manually.
#
CAPS_F90 =
12 changes: 12 additions & 0 deletions CCPP_SCHEMES.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# All CCPP schemes are defined here.
#
# This file is auto-generated using ccpp_prebuild.py
# at compile time, do not edit manually.
#
SCHEMES_F =

SCHEMES_F90 =

SCHEMES_f =

SCHEMES_f90 =
32 changes: 21 additions & 11 deletions GFS_layer/GFS_abstraction_layer.F90
Original file line number Diff line number Diff line change
@@ -1,22 +1,28 @@
module physics_abstraction_layer

use GFS_typedefs, only: init_type => GFS_init_type, &
control_type => GFS_control_type, &
statein_type => GFS_statein_type, &
stateout_type => GFS_stateout_type, &
sfcprop_type => GFS_sfcprop_type, &
coupling_type => GFS_coupling_type, &
grid_type => GFS_grid_type, &
tbd_type => GFS_tbd_type, &
cldprop_type => GFS_cldprop_type, &
radtend_type => GFS_radtend_type, &
intdiag_type => GFS_diag_type
use GFS_typedefs, only: init_type => GFS_init_type, &
control_type => GFS_control_type, &
statein_type => GFS_statein_type, &
stateout_type => GFS_stateout_type, &
sfcprop_type => GFS_sfcprop_type, &
sfccycle_type => GFS_sfccycle_type, &
coupling_type => GFS_coupling_type, &
grid_type => GFS_grid_type, &
tbd_type => GFS_tbd_type, &
cldprop_type => GFS_cldprop_type, &
radtend_type => GFS_radtend_type, &
intdiag_type => GFS_diag_type, &
interstitial_type => GFS_interstitial_type

#ifdef CCPP
use GFS_driver, only: initialize => GFS_initialize
#else
use GFS_driver, only: initialize => GFS_initialize, &
time_vary_step => GFS_time_vary_step, &
radiation_step1 => GFS_radiation_driver, &
physics_step1 => GFS_physics_driver, &
physics_step2 => GFS_stochastic_driver
#endif

!----------------------
! public physics types
Expand All @@ -26,21 +32,25 @@ module physics_abstraction_layer
public statein_type
public stateout_type
public sfcprop_type
public sfccycle_type
public coupling_type
public grid_type
public tbd_type
public cldprop_type
public radtend_type
public intdiag_type
public interstitial_type

!--------------------------
! public physics functions
!--------------------------
public initialize
#ifndef CCPP
public time_vary_step
public radiation_step1
public physics_step1
public physics_step2
#endif

CONTAINS

Expand Down
7 changes: 4 additions & 3 deletions GFS_layer/GFS_diagnostics.F90
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ module physics_diag_layer
coupling_type, grid_type, &
tbd_type, cldprop_type, &
radtend_type, intdiag_type, &
init_type
sfccycle_type, init_type

public diag_populate

Expand All @@ -25,8 +25,8 @@ module physics_diag_layer
!----------------------
! GFS_populate_IPD_Diag
!----------------------
subroutine diag_populate (IPD_Diag, Model, Statein, Stateout, Sfcprop, Coupling, &
Grid, Tbd, Cldprop, Radtend, Diag, Init_parm)
subroutine diag_populate (IPD_Diag, Model, Statein, Stateout, Sfcprop, Coupling, &
Grid, Tbd, Cldprop, Radtend, Diag, Sfccycle, Init_parm)
!------------------------------------------------------------------------------------------!
! IPD_METADATA !
! IPD_Diag%name [char*32 ] variable name in source [char*32] !
Expand Down Expand Up @@ -60,6 +60,7 @@ subroutine diag_populate (IPD_Diag, Model, Statein, Stateout, Sfcprop, Coupling,
type(cldprop_type), intent(in) :: Cldprop(:)
type(radtend_type), intent(in) :: Radtend(:)
type(intdiag_type), intent(in) :: Diag(:)
type(sfccycle_type), intent(in) :: Sfccycle(:)
type(init_type), intent(in) :: Init_parm

!--- local variabls
Expand Down
Loading

0 comments on commit cd71836

Please sign in to comment.