Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
32 changes: 32 additions & 0 deletions scm/src/GFS_typedefs.F90
Original file line number Diff line number Diff line change
Expand Up @@ -678,6 +678,13 @@ module GFS_typedefs
!-- prognostic updraft area fraction coupling in convection
real (kind=kind_phys), pointer :: dqdt_qmicro(:,:) => null() !< instantanious microphysics tendency to be passed from MP to convection

!-- lake surface temperature from cdeps inline
real (kind=kind_phys), pointer :: mask_dat (:) => null() !< land-sea mask from cdeps inline
real (kind=kind_phys), pointer :: tsfco_dat (:) => null() !< sfc temperature from cdeps inline
real (kind=kind_phys), pointer :: tice_dat (:) => null() !< sfc temperature over ice from cdeps inline
real (kind=kind_phys), pointer :: hice_dat (:) => null() !< sfc ice thickness from cdeps inline
real (kind=kind_phys), pointer :: fice_dat (:) => null() !< sfc ice fraction from cdeps inline

contains
procedure :: create => coupling_create !< allocate array data
end type GFS_coupling_type
Expand Down Expand Up @@ -795,6 +802,9 @@ module GFS_typedefs
logical :: cpl_imp_dbg !< default no write import data to file post merge
logical :: use_med_flux !< default .false. - i.e. don't use atmosphere-ocean fluxes imported from mediator

!--- cdeps inline parameters
logical :: use_cdeps_inline !< default .false. - i.e. don't use data provided by CDEPS inline

!--- integrated dynamics through earth's atmosphere
logical :: lsidea

Expand Down Expand Up @@ -3395,6 +3405,19 @@ subroutine coupling_create (Coupling, Model)
Coupling%qci_conv = clear_val
endif

if (Model%use_cdeps_inline) then
allocate (Coupling%tsfco_dat(IM))
Coupling%tsfco_dat = clear_val
allocate (Coupling%mask_dat(IM))
Coupling%mask_dat = clear_val
allocate (Coupling%tice_dat(IM))
Coupling%tice_dat = clear_val
allocate (Coupling%hice_dat(IM))
Coupling%hice_dat = clear_val
allocate (Coupling%fice_dat(IM))
Coupling%fice_dat = clear_val
end if

end subroutine coupling_create


Expand Down Expand Up @@ -3498,6 +3521,9 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, &
logical :: cpl_imp_dbg = .false. !< default no write import data to file post merge
logical :: use_med_flux = .false. !< default no atmosphere-ocean fluxes from mediator

!--- cdeps inline parameters
logical :: use_cdeps_inline = .false. !< default no data from cdeps inline

!--- integrated dynamics through earth's atmosphere
logical :: lsidea = .false.

Expand Down Expand Up @@ -4195,6 +4221,8 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, &
#else
lsidea, use_med_flux, &
#endif
!--- cdeps inline parameters
use_cdeps_inline, &
!--- radiation parameters
fhswr, fhlwr, levr, nfxr, iaerclm, iflip, isol, ico2, ialb, &
isot, iems, iaer, icliq_sw, iovr, ictm, isubc_sw, &
Expand Down Expand Up @@ -4679,6 +4707,9 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, &
Model%cpl_imp_dbg = cpl_imp_dbg
Model%use_med_flux = use_med_flux

!--- cdeps inline parameters
Model%use_cdeps_inline = use_cdeps_inline

!--- RRFS-SD
Model%rrfs_sd = rrfs_sd
Model%cpl_fire = cpl_fire
Expand Down Expand Up @@ -6917,6 +6948,7 @@ subroutine control_print(Model)
print *, ' cpl_imp_mrg : ', Model%cpl_imp_mrg
print *, ' cpl_imp_dbg : ', Model%cpl_imp_dbg
print *, ' use_med_flux : ', Model%use_med_flux
print *, ' use_cdeps_inline : ', Model%use_cdeps_inline
if(Model%imfdeepcnv == Model%imfdeepcnv_gf .or.Model%imfdeepcnv == Model%imfdeepcnv_c3) then
print*,'ichoice_s : ', Model%ichoice_s
print*,'ichoicem : ', Model%ichoicem
Expand Down
46 changes: 46 additions & 0 deletions scm/src/GFS_typedefs.meta
Original file line number Diff line number Diff line change
Expand Up @@ -3434,6 +3434,46 @@
type = real
kind = kind_phys
active = (flag_for_rrtmgp_radiation_scheme)
[tsfco_dat]
standard_name = sea_surface_temperature_from_data
long_name = sfc temperature
units = K
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
active = (do_cdeps_inline)
[mask_dat]
standard_name = land_sea_mask_from_data
long_name = landmask
units = flag
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
active = (do_cdeps_inline)
[tice_dat]
standard_name = surface_skin_temperature_over_ice_from_data
long_name = surface skin temperature over ice
units = K
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
active = (do_cdeps_inline)
[hice_dat]
standard_name = sea_ice_thickness_from_data
long_name = sea-ice thickness
units = m
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
active = (do_cdeps_inline)
[fice_dat]
standard_name = sea_ice_area_fraction_of_sea_area_fraction_from_data
long_name = sea-ice concentration [0,1]
units = frac
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
active = (do_cdeps_inline)

########################################################################
[ccpp-table-properties]
Expand Down Expand Up @@ -3837,6 +3877,12 @@
units = flag
dimensions = ()
type = logical
[use_cdeps_inline]
standard_name = do_cdeps_inline
long_name = flag for using data provided by CDEPS inline (default false)
units = flag
dimensions = ()
type = logical
[fhcyc]
standard_name = frequency_for_surface_cycling_calls
long_name = frequency for surface cycling calls
Expand Down
Loading