Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 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
6 changes: 4 additions & 2 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
branch = develop
[submodule "ccpp-physics"]
path = ccpp/physics
url = https://github.com/NCAR/ccpp-physics
branch = main
#url = https://github.com/NCAR/ccpp-physics
#branch = main
url = https://github.com/grantfirl/ccpp-physics
branch = ufs-dev-PR298
[submodule "CMakeModules"]
path = CMakeModules
url = https://github.com/noaa-emc/CMakeModules
Expand Down
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