Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
8a95e48
initial commit for cdeps inline capability
uturuncoglu Aug 27, 2023
96b71e6
more work for cdeps inline
uturuncoglu Aug 28, 2023
3f6ef24
clean code
uturuncoglu Oct 27, 2023
b7da0fc
Merge remote-tracking branch 'upstream/develop' into feature/inline
uturuncoglu Dec 22, 2023
e4d8e28
sync model
uturuncoglu Dec 22, 2023
6e6dbea
sync ccpp
uturuncoglu Dec 22, 2023
eac0533
sync submodules
uturuncoglu Dec 22, 2023
5466df1
update inline capability
uturuncoglu Dec 26, 2023
82418f9
more work for cdeps inline
uturuncoglu Jan 25, 2024
5a0a6c5
more work for cdeps inline and ccpp connection
uturuncoglu Feb 23, 2024
910401e
update implementation
uturuncoglu Feb 26, 2024
43a6749
minor fix
uturuncoglu Feb 27, 2024
cdf2842
make cdeps inline runtime configurable
uturuncoglu Feb 27, 2024
97f0288
more work for inline
Jul 12, 2024
b9f7f30
sync ccpp
uturuncoglu Jul 12, 2024
5c7e03b
sync fv3
uturuncoglu Jul 12, 2024
ada6051
update pointer to branch
uturuncoglu Jul 12, 2024
fc315bf
sync fv3
uturuncoglu Jul 12, 2024
02129db
update ccpp physics
uturuncoglu Jul 15, 2024
39d5894
more work for cdeps inline
uturuncoglu Oct 20, 2024
c655cb7
sync fv3
uturuncoglu Jul 9, 2025
3145f5b
fix issues related to the sync
uturuncoglu Jul 9, 2025
ba381ec
fix for cdeps inline
uturuncoglu Jul 12, 2025
5e61fe5
set debug level to 0 and update physics
uturuncoglu Jul 13, 2025
5fa702a
minor changes based on reviwer comments
uturuncoglu Jul 14, 2025
69c2179
delete file
uturuncoglu Jul 14, 2025
c66f377
fix issue with 32bit build
uturuncoglu Jul 24, 2025
4e46078
convert new data scheme to F90
uturuncoglu Jul 28, 2025
3e2bbfa
sync model
uturuncoglu Jul 28, 2025
29ce505
update ccpp/physics
uturuncoglu Jul 29, 2025
c2639d6
update gitmodules file
uturuncoglu Sep 18, 2025
9b0a1d1
sync model
uturuncoglu Sep 18, 2025
e680817
update physics
uturuncoglu Sep 18, 2025
4cbd3c0
update atmos_cubed_sphere
uturuncoglu Sep 18, 2025
eca8a00
update ccpp physics
uturuncoglu Oct 15, 2025
ef43c0b
Merge remote-tracking branch 'origin/develop' into feature/inline_sync
uturuncoglu Oct 15, 2025
940f1d5
sync ccpp physics
uturuncoglu Dec 27, 2025
11b4fee
Merge remote-tracking branch 'upstream/develop' into feature/inline_sync
uturuncoglu Dec 27, 2025
fea5646
remove missing scheme
uturuncoglu Dec 31, 2025
db50c18
remove sfc_data from hrrr suite file
uturuncoglu Jan 2, 2026
05979c3
sync ccpp physics
uturuncoglu Jan 8, 2026
12c9891
Merge remote-tracking branch 'upstream/develop' into feature/inline_sync
uturuncoglu Jan 8, 2026
9110268
sync ccpp physics
uturuncoglu Jan 13, 2026
97844a1
update ccpp physics hash and revert .gitmodules
uturuncoglu Jan 16, 2026
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
20 changes: 20 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,11 @@ if(ENABLE_PARALLELRESTART)
list(APPEND _ufsatm_defs_private ENABLE_PARALLELRESTART)
endif()

# Inline
if(CDEPS_INLINE)
add_definitions(-DCDEPS_INLINE)
endif()

if(ENABLE_RRFS_WAR)
list(APPEND _ufsatm_defs_private ENABLE_RRFS_WAR)
endif()
Expand Down Expand Up @@ -160,6 +165,13 @@ if (FV3)
list(APPEND moving_nest_srcs "")
endif()

# Inline
if(CDEPS_INLINE)
list(APPEND cdeps_inline_srcs cpl/module_cdeps_inline.F90)
else()
list(APPEND cdeps_inline_srcs "")
endif()

# FV3 drivers and dependencies
add_library(${DYCORE_TARGET}
ufsatm_cap.F90
Expand All @@ -172,10 +184,15 @@ if (FV3)
${fv3_io_srcs}
${io_srcs}
${moving_nest_srcs}
${cdeps_inline_srcs}
${POST_SRC}
)
add_dependencies(${DYCORE_TARGET} fv3 fv3ccpp stochastic_physics)

if(CDEPS_INLINE)
add_dependencies(${DYCORE_TARGET} cdeps::cdeps)
endif()

list(APPEND _ufsatm_defs_private GFS_PHYS
INTERNAL_FILE_NML
use_WRTCOMP)
Expand Down Expand Up @@ -268,6 +285,9 @@ if (FV3)
if(INLINE_POST)
target_link_libraries(${DYCORE_TARGET} PUBLIC upp::upp)
endif()
if(CDEPS_INLINE)
target_link_libraries(${DYCORE_TARGET} PUBLIC cdeps::cdeps)
endif()
endif()

if (MPAS)
Expand Down
32 changes: 32 additions & 0 deletions ccpp/data/GFS_typedefs.F90
Original file line number Diff line number Diff line change
Expand Up @@ -686,6 +686,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 @@ -803,6 +810,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 @@ -3389,6 +3399,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 @@ -3491,6 +3514,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 @@ -4173,6 +4199,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 @@ -4607,6 +4635,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 @@ -6842,6 +6873,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 ccpp/data/GFS_typedefs.meta
Original file line number Diff line number Diff line change
Expand Up @@ -3420,6 +3420,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 @@ -3823,6 +3863,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