Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NCAR to main candidate branch (2022-06-03) #1571

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
77084ec
Adding Stokes forces implementation and diags.
breichl May 21, 2021
0697b2d
Merge branch 'dev/gfdl' into Stokes_Forces
breichl Jun 3, 2021
9fbdf11
Finish incomplete merge in MOM_wave_interface.
breichl Jun 4, 2021
a6de11c
Remote application of Stokes tendency on thermodynamic step
breichl Jun 7, 2021
c5f1d44
Updating name of Stokes PGF routine to be more descriptive.
breichl Jun 7, 2021
51ab519
Merge branch 'dev/gfdl' into Stokes_Forces
breichl Jun 7, 2021
380a040
Merge remote-tracking branch 'breichl/Stokes_Forces' into pstokes_wav…
alperaltuntas Aug 25, 2021
0f0971a
Merge branch 'merge_ww3_coupling_vr12ma' into pstokes_wave_cpl_mehtod
alperaltuntas Aug 27, 2021
e3d190d
In NUOPC cap, add ability to import fields with ungridded dimensions
alperaltuntas Aug 30, 2021
6e94b69
disable the register of tidal mixing coeff diags when they are unavai…
alperaltuntas Sep 7, 2021
f58053a
Merge pull request #197 from NCAR/fix_tidal_coeff_diags
gustavo-marques Sep 8, 2021
dcf30ac
merge pr1507 with dev/ncar and resolve conflicts in MOM_tidal_mixing
alperaltuntas Oct 6, 2021
59a31f6
remove unnecessary ampersands from variable declarations
alperaltuntas Oct 12, 2021
824039d
enclose stokes vorticity diag computations with Stokes_VF conditional
alperaltuntas Oct 15, 2021
b1c3412
enclose stokes vorticity diag computations with Stokes_VF conditional
alperaltuntas Oct 15, 2021
e089a8d
Merge branch 'surfbands_refactor' of https://github.com/NCAR/MOM6 int…
alperaltuntas Oct 15, 2021
a0d1d99
Do not call get_Langmuir_Number if lamult is already provided via ww3
alperaltuntas Oct 15, 2021
eacd9d0
fix doxygen errors in surfbands_refactor branch
alperaltuntas Oct 15, 2021
cb5ae89
Merge branch 'pr1507b' into merge_pr1507
alperaltuntas Oct 18, 2021
3d86e71
Merge pull request #200 from NCAR/merge_pr1507
gustavo-marques Oct 25, 2021
15c3d53
changes in the nuopc cap to support arbitrary stokes bands
alperaltuntas Oct 28, 2021
e7f628e
refactoring and changes to write stokes drift
alperaltuntas Dec 7, 2021
6e929a7
Merge branch 'dev/ncar' into surfbands_refactor
alperaltuntas Dec 7, 2021
c880a15
For the drivers calling MOM_wave_interface_init,
alperaltuntas Dec 7, 2021
e2ab77e
initialize wave option flags to false
alperaltuntas Dec 8, 2021
d4c36a6
Fix openmp test by adding Stokes_VT to shr clause
alperaltuntas Dec 8, 2021
cb671d2
merge with latest dev/ncar and resolve conflicts
alperaltuntas Dec 10, 2021
b619d38
remove duplicate assignments of dvdx and dudy. These duplicate assign…
alperaltuntas Dec 14, 2021
dc93bde
Fixes for Stokes time tendency terms
breichl Dec 23, 2021
28268d3
fixes in MOM_wave_interface array indices
alperaltuntas Dec 23, 2021
4f592f2
More changes for surfbands wave coupling:
alperaltuntas Dec 23, 2021
58874a5
Updates to Stokes drift terms, primarily the pressure gradient routine.
breichl Jan 14, 2022
f89fd13
Fixing diagnostic mode for vortex force correction term.
breichl Jan 21, 2022
dc59b11
Fixing restart issue with Stokes time tendency term.
breichl Jan 21, 2022
a00b779
Merge remote-tracking branch 'NCAR/surfbands_refactor' into BGR_Stoke…
breichl Jan 21, 2022
c181854
fix line lenght error in MOM_wave_interface
alperaltuntas Feb 2, 2022
e55df40
Merge pull request #205 from NCAR/surfbands_refactor
gustavo-marques Feb 3, 2022
d4b2eeb
Merge pull request #206 from mom-ocean/main
alperaltuntas Feb 7, 2022
035ae5c
Misc dimensional consistency fixes in regridding, remapping, and MEKE…
alperaltuntas Feb 15, 2022
b39648a
merge with latest main (2020feb17) and resolve conflicts
alperaltuntas Feb 18, 2022
098f5c9
fix u10_sqr dimensional scaling
alperaltuntas Feb 18, 2022
8106f48
Merge pull request #211 from NCAR/merge_main_feb17
gustavo-marques Feb 18, 2022
6963b22
Add KPP nonlocal term to passive tracers (#202)
mnlevy1981 Mar 9, 2022
72daf7b
Add option to receive enthalpy fluxes via coupler
gustavo-marques Mar 25, 2022
b7665f4
Heat conservation when enthalpy is via coupler
gustavo-marques Mar 25, 2022
7924fba
Modify log/description of ENTHALPY_FROM_COUPLER
gustavo-marques Mar 28, 2022
fc05abe
Modifications needed for when enthalpy is via CPL
gustavo-marques Mar 29, 2022
b9b67a8
Changes needed for when enthalpy is via coupler
gustavo-marques Mar 29, 2022
f814147
Add missing logical to control allocation of fluxes
gustavo-marques Mar 29, 2022
fc3ab45
Avoid rotating arrays that are not associated
gustavo-marques Mar 29, 2022
2cd228f
Adds conditional for setting fluxes%heat_content_*
gustavo-marques Apr 19, 2022
8f97b3d
Corrections to cell-averaged density computation (#213)
iangrooms May 7, 2022
359cc90
Merge branch 'main_03may2022' into dev/ncar
gustavo-marques May 17, 2022
b1eda27
Merge pull request #216 from gustavo-marques/eval_main_03may2022
alperaltuntas May 19, 2022
1d0604c
Merge branch 'dev/ncar' into eval_main_candidate_16may2022
gustavo-marques May 20, 2022
e969261
Merge branch 'main' into eval_main_candidate_16may2022
gustavo-marques Jun 2, 2022
9e27b52
Merge pull request #219 from gustavo-marques/eval_main_candidate_16ma…
alperaltuntas Jun 3, 2022
0c1e89a
Add missing units
gustavo-marques Jun 9, 2022
3b80e44
Follow MOM6 code style guide
gustavo-marques Jun 9, 2022
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
4 changes: 2 additions & 2 deletions .testing/tc2/MOM_input
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,7 @@ BOUND_CORIOLIS = True ! [Boolean] default = False
! v-points, and similarly at v-points. This option would
! have no effect on the SADOURNY Coriolis scheme if it
! were possible to use centered difference thickness fluxes.
PGF_STANLEY_T2_DET_COEFF = 0.5 ! [nondim] default = -1.0
PGF_STANLEY_T2_DET_COEFF = -1.0 ! [nondim] default = -1.0
! The coefficient correlating SGS temperature variance with the mean temperature
! gradient in the deterministic part of the Stanley form of the Brankart
! correction. Negative values disable the scheme.
Expand Down Expand Up @@ -430,7 +430,7 @@ KHTH = 1.0 ! [m2 s-1] default = 0.0
! The background horizontal thickness diffusivity.
KHTH_MAX = 900.0 ! [m2 s-1] default = 0.0
! The maximum horizontal thickness diffusivity.
STANLEY_PRM_DET_COEFF = 0.5 ! [nondim] default = -1.0
STANLEY_PRM_DET_COEFF = -1.0 ! [nondim] default = -1.0
! The coefficient correlating SGS temperature variance with the mean temperature
! gradient in the deterministic part of the Stanley parameterization. Negative
! values disable the scheme.
Expand Down
2 changes: 1 addition & 1 deletion config_src/drivers/FMS_cap/ocean_model_MOM.F90
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ subroutine ocean_model_init(Ocean_sfc, OS, Time_init, Time_in, wind_stagger, gas
OS%Time = Time_in ; OS%Time_dyn = Time_in
call initialize_MOM(OS%Time, Time_init, param_file, OS%dirs, OS%MOM_CSp, &
OS%restart_CSp, Time_in, offline_tracer_mode=OS%offline_tracer_mode, &
diag_ptr=OS%diag, count_calls=.true.)
diag_ptr=OS%diag, count_calls=.true., waves_CSp=OS%Waves)
call get_MOM_state_elements(OS%MOM_CSp, G=OS%grid, GV=OS%GV, US=OS%US, C_p=OS%C_p, &
C_p_scaled=OS%fluxes%C_p, use_temp=use_temperature)

Expand Down
2 changes: 1 addition & 1 deletion config_src/drivers/mct_cap/mom_ocean_model_mct.F90
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,7 @@ subroutine ocean_model_init(Ocean_sfc, OS, Time_init, Time_in, gas_fields_ocn, i
call initialize_MOM(OS%Time, Time_init, param_file, OS%dirs, OS%MOM_CSp, &
OS%restart_CSp, Time_in, offline_tracer_mode=OS%offline_tracer_mode, &
input_restart_file=input_restart_file, &
diag_ptr=OS%diag, count_calls=.true.)
diag_ptr=OS%diag, count_calls=.true., waves_CSp=OS%Waves)
call get_MOM_state_elements(OS%MOM_CSp, G=OS%grid, GV=OS%GV, US=OS%US, C_p=OS%C_p, &
C_p_scaled=OS%fluxes%C_p, use_temp=use_temperature)

Expand Down
199 changes: 138 additions & 61 deletions config_src/drivers/nuopc_cap/mom_cap.F90
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,8 @@ module MOM_cap_mod
character(len=64) :: stdname
character(len=64) :: shortname
character(len=64) :: transferOffer
integer :: ungridded_lbound = 0
integer :: ungridded_ubound = 0
end type fld_list_type

integer,parameter :: fldsMax = 100
Expand Down Expand Up @@ -652,8 +654,7 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc)
ocean_public%is_ocean_pe = .true.
call ocean_model_init(ocean_public, ocean_state, time0, time_start, input_restart_file=trim(restartfiles))

! GMM, this call is not needed for NCAR. Check with EMC.
! If this can be deleted, perhaps we should also delete ocean_model_flux_init
! GMM, this call is not needed in CESM. Check with EMC if it can be deleted.
call ocean_model_flux_init(ocean_state)

call ocean_model_init_sfc(ocean_state, ocean_public)
Expand All @@ -678,9 +679,7 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc)
Ice_ocean_boundary% ice_fraction (isc:iec,jsc:jec), &
Ice_ocean_boundary% u10_sqr (isc:iec,jsc:jec), &
Ice_ocean_boundary% p (isc:iec,jsc:jec), &
Ice_ocean_boundary% lrunoff_hflx (isc:iec,jsc:jec), &
Ice_ocean_boundary% frunoff_hflx (isc:iec,jsc:jec), &
Ice_ocean_boundary% lrunoff (isc:iec,jsc:jec), &
Ice_ocean_boundary% lrunoff (isc:iec,jsc:jec), &
Ice_ocean_boundary% frunoff (isc:iec,jsc:jec))

Ice_ocean_boundary%u_flux = 0.0
Expand All @@ -701,28 +700,38 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc)
Ice_ocean_boundary%ice_fraction = 0.0
Ice_ocean_boundary%u10_sqr = 0.0
Ice_ocean_boundary%p = 0.0
Ice_ocean_boundary%lrunoff_hflx = 0.0
Ice_ocean_boundary%frunoff_hflx = 0.0
Ice_ocean_boundary%lrunoff = 0.0
Ice_ocean_boundary%frunoff = 0.0

if (cesm_coupled) then
allocate (Ice_ocean_boundary% hrain (isc:iec,jsc:jec), &
Ice_ocean_boundary% hsnow (isc:iec,jsc:jec), &
Ice_ocean_boundary% hrofl (isc:iec,jsc:jec), &
Ice_ocean_boundary% hrofi (isc:iec,jsc:jec), &
Ice_ocean_boundary% hevap (isc:iec,jsc:jec), &
Ice_ocean_boundary% hcond (isc:iec,jsc:jec))

Ice_ocean_boundary%hrain = 0.0
Ice_ocean_boundary%hsnow = 0.0
Ice_ocean_boundary%hrofl = 0.0
Ice_ocean_boundary%hrofi = 0.0
Ice_ocean_boundary%hevap = 0.0
Ice_ocean_boundary%hcond = 0.0
endif

call query_ocean_state(ocean_state, use_waves=use_waves, wave_method=wave_method)
if (use_waves) then
call query_ocean_state(ocean_state, NumWaveBands=Ice_ocean_boundary%num_stk_bands)
if (wave_method == "EFACTOR") then
allocate( Ice_ocean_boundary%lamult(isc:iec,jsc:jec) )
Ice_ocean_boundary%lamult = 0.0
else
allocate ( Ice_ocean_boundary% ustk0 (isc:iec,jsc:jec), &
Ice_ocean_boundary% vstk0 (isc:iec,jsc:jec), &
Ice_ocean_boundary% ustkb (isc:iec,jsc:jec,Ice_ocean_boundary%num_stk_bands), &
Ice_ocean_boundary% vstkb (isc:iec,jsc:jec,Ice_ocean_boundary%num_stk_bands), &
Ice_ocean_boundary%stk_wavenumbers (Ice_ocean_boundary%num_stk_bands))
Ice_ocean_boundary%ustk0 = 0.0
Ice_ocean_boundary%vstk0 = 0.0
else if (wave_method == "SURFACE_BANDS") then
call query_ocean_state(ocean_state, NumWaveBands=Ice_ocean_boundary%num_stk_bands)
allocate(Ice_ocean_boundary%ustkb(isc:iec,jsc:jec,Ice_ocean_boundary%num_stk_bands), source=0.0)
allocate(Ice_ocean_boundary%vstkb(isc:iec,jsc:jec,Ice_ocean_boundary%num_stk_bands), source=0.0)
allocate(Ice_ocean_boundary%stk_wavenumbers(Ice_ocean_boundary%num_stk_bands), source=0.0)
call query_ocean_state(ocean_state, WaveNumbers=Ice_ocean_boundary%stk_wavenumbers, unscale=.true.)
Ice_ocean_boundary%ustkb = 0.0
Ice_ocean_boundary%vstkb = 0.0
else
call MOM_error(FATAL, "Unsupported WAVE_METHOD encountered in NUOPC cap.")
endif
endif
! Consider adding this:
Expand Down Expand Up @@ -758,22 +767,39 @@ subroutine InitializeAdvertise(gcomp, importState, exportState, clock, rc)
call fld_list_add(fldsToOcn_num, fldsToOcn, "So_duu10n" , "will provide") !-> wind^2 at 10m
call fld_list_add(fldsToOcn_num, fldsToOcn, "mean_fresh_water_to_ocean_rate", "will provide")
call fld_list_add(fldsToOcn_num, fldsToOcn, "net_heat_flx_to_ocn" , "will provide")
!These are not currently used and changing requires a nuopc dictionary change
!call fld_list_add(fldsToOcn_num, fldsToOcn, "mean_runoff_heat_flx" , "will provide")
!call fld_list_add(fldsToOcn_num, fldsToOcn, "mean_calving_heat_flx" , "will provide")

if (cesm_coupled) then
call fld_list_add(fldsToOcn_num, fldsToOcn, "heat_content_lprec", "will provide")
call fld_list_add(fldsToOcn_num, fldsToOcn, "heat_content_fprec", "will provide")
call fld_list_add(fldsToOcn_num, fldsToOcn, "heat_content_evap" , "will provide")
call fld_list_add(fldsToOcn_num, fldsToOcn, "heat_content_cond" , "will provide")
call fld_list_add(fldsToOcn_num, fldsToOcn, "heat_content_rofl" , "will provide")
call fld_list_add(fldsToOcn_num, fldsToOcn, "heat_content_rofi" , "will provide")
endif

if (use_waves) then
if (wave_method == "EFACTOR") then
call fld_list_add(fldsToOcn_num, fldsToOcn, "Sw_lamult" , "will provide")
else
if (Ice_ocean_boundary%num_stk_bands > 3) then
call MOM_error(FATAL, "Number of Stokes Bands > 3, NUOPC cap not set up for this")
else if (wave_method == "SURFACE_BANDS") then
if (cesm_coupled) then
call fld_list_add(fldsToOcn_num, fldsToOcn, "Sw_pstokes_x", "will provide", &
ungridded_lbound=1, ungridded_ubound=Ice_ocean_boundary%num_stk_bands)
call fld_list_add(fldsToOcn_num, fldsToOcn, "Sw_pstokes_y", "will provide", &
ungridded_lbound=1, ungridded_ubound=Ice_ocean_boundary%num_stk_bands)
else ! below is the old approach of importing partitioned stokes drift components. after the planned ww3 nuopc
! cap unification, this else block should be removed in favor of the more flexible import approach above.
if (Ice_ocean_boundary%num_stk_bands > 3) then
call MOM_error(FATAL, "Number of Stokes Bands > 3, NUOPC cap not set up for this")
endif
call fld_list_add(fldsToOcn_num, fldsToOcn, "eastward_partitioned_stokes_drift_1" , "will provide")
call fld_list_add(fldsToOcn_num, fldsToOcn, "northward_partitioned_stokes_drift_1", "will provide")
call fld_list_add(fldsToOcn_num, fldsToOcn, "eastward_partitioned_stokes_drift_2" , "will provide")
call fld_list_add(fldsToOcn_num, fldsToOcn, "northward_partitioned_stokes_drift_2", "will provide")
call fld_list_add(fldsToOcn_num, fldsToOcn, "eastward_partitioned_stokes_drift_3" , "will provide")
call fld_list_add(fldsToOcn_num, fldsToOcn, "northward_partitioned_stokes_drift_3", "will provide")
endif
call fld_list_add(fldsToOcn_num, fldsToOcn, "eastward_partitioned_stokes_drift_1" , "will provide")
call fld_list_add(fldsToOcn_num, fldsToOcn, "northward_partitioned_stokes_drift_1", "will provide")
call fld_list_add(fldsToOcn_num, fldsToOcn, "eastward_partitioned_stokes_drift_2" , "will provide")
call fld_list_add(fldsToOcn_num, fldsToOcn, "northward_partitioned_stokes_drift_2", "will provide")
call fld_list_add(fldsToOcn_num, fldsToOcn, "eastward_partitioned_stokes_drift_3" , "will provide")
call fld_list_add(fldsToOcn_num, fldsToOcn, "northward_partitioned_stokes_drift_3", "will provide")
else
call MOM_error(FATAL, "Unsupported WAVE_METHOD encountered in NUOPC cap.")
endif
endif

Expand Down Expand Up @@ -1647,15 +1673,16 @@ subroutine ModelAdvance(gcomp, rc)
! Import data
!---------------

call mom_import(ocean_public, ocean_grid, importState, ice_ocean_boundary, rc=rc)
call mom_import(ocean_public, ocean_grid, importState, ice_ocean_boundary, cesm_coupled, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return

!---------------
! Update MOM6
!---------------

if(profile_memory) call ESMF_VMLogMemInfo("Entering MOM update_ocean_model: ")
call update_ocean_model(Ice_ocean_boundary, ocean_state, ocean_public, Time, Time_step_coupled)
call update_ocean_model(Ice_ocean_boundary, ocean_state, ocean_public, Time, Time_step_coupled, &
cesm_coupled)
if(profile_memory) call ESMF_VMLogMemInfo("Leaving MOM update_ocean_model: ")

!---------------
Expand Down Expand Up @@ -2097,28 +2124,44 @@ subroutine MOM_RealizeFields(state, nfields, field_defs, tag, grid, mesh, rc)

if (present(grid)) then

field = ESMF_FieldCreate(grid, ESMF_TYPEKIND_R8, indexflag=ESMF_INDEX_DELOCAL, &
name=field_defs(i)%shortname, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return

! initialize fldptr to zero
call ESMF_FieldGet(field, farrayPtr=fldptr2d, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
fldptr2d(:,:) = 0.0
if (field_defs(i)%ungridded_lbound > 0 .and. field_defs(i)%ungridded_ubound > 0) then
call ESMF_LogWrite(trim(subname)//": ERROR ungridded dimensions not supported in MOM6 nuopc cap when "//&
"ESMF_GEOMTYPE_GRID is used. Use ESMF_GEOMTYPE_MESH instead.", ESMF_LOGMSG_ERROR)
rc = ESMF_FAILURE
else
field = ESMF_FieldCreate(grid, ESMF_TYPEKIND_R8, indexflag=ESMF_INDEX_DELOCAL, &
name=field_defs(i)%shortname, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return

! initialize fldptr to zero
call ESMF_FieldGet(field, farrayPtr=fldptr2d, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
fldptr2d(:,:) = 0.0
endif

else if (present(mesh)) then

field = ESMF_FieldCreate(mesh=mesh, typekind=ESMF_TYPEKIND_R8, meshloc=ESMF_MESHLOC_ELEMENT, &
name=field_defs(i)%shortname, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return

! initialize fldptr to zero
call ESMF_FieldGet(field, farrayPtr=fldptr1d, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
fldptr1d(:) = 0.0
if (field_defs(i)%ungridded_lbound > 0 .and. field_defs(i)%ungridded_ubound > 0) then
field = ESMF_FieldCreate(mesh=mesh, typekind=ESMF_TYPEKIND_R8, meshloc=ESMF_MESHLOC_ELEMENT, &
name=field_defs(i)%shortname, ungriddedLbound=(/field_defs(i)%ungridded_lbound/), &
ungriddedUbound=(/field_defs(i)%ungridded_ubound/), gridToFieldMap=(/2/), rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return

! initialize fldptr to zero
call ESMF_FieldGet(field, farrayPtr=fldptr2d, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
fldptr2d(:,:) = 0.0
else
field = ESMF_FieldCreate(mesh=mesh, typekind=ESMF_TYPEKIND_R8, meshloc=ESMF_MESHLOC_ELEMENT, &
name=field_defs(i)%shortname, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return

! initialize fldptr to zero
call ESMF_FieldGet(field, farrayPtr=fldptr1d, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
fldptr1d(:) = 0.0
endif
endif

endif

! Realize connected field
Expand Down Expand Up @@ -2172,12 +2215,14 @@ end subroutine MOM_RealizeFields
!===============================================================================

!> Set up list of field information
subroutine fld_list_add(num, fldlist, stdname, transferOffer, shortname)
subroutine fld_list_add(num, fldlist, stdname, transferOffer, shortname, ungridded_lbound, ungridded_ubound)
integer, intent(inout) :: num
type(fld_list_type), intent(inout) :: fldlist(:)
character(len=*), intent(in) :: stdname
character(len=*), intent(in) :: transferOffer
character(len=*), optional, intent(in) :: shortname
integer, optional, intent(in) :: ungridded_lbound
integer, optional, intent(in) :: ungridded_ubound

! local variables
integer :: rc
Expand All @@ -2199,6 +2244,10 @@ subroutine fld_list_add(num, fldlist, stdname, transferOffer, shortname)
fldlist(num)%shortname = trim(stdname)
endif
fldlist(num)%transferOffer = trim(transferOffer)
if (present(ungridded_lbound) .and. present(ungridded_ubound)) then
fldlist(num)%ungridded_lbound = ungridded_lbound
fldlist(num)%ungridded_ubound = ungridded_ubound
end if

end subroutine fld_list_add

Expand Down Expand Up @@ -2356,7 +2405,7 @@ end subroutine shr_file_getLogUnit
!! infrastructure when it's time for MOM to advance in time. During this subroutine, there is a
!! call into the MOM update routine:
!!
!! call update_ocean_model(Ice_ocean_boundary, Ocean_state, Ocean_public, Time, Time_step_coupled)
!! call update_ocean_model(Ice_ocean_boundary, Ocean_state, Ocean_public, Time, Time_step_coupled, cesm_coupled)
!!
!! Priori to the call to `update_ocean_model()`, the cap performs these steps
!! - the `Time` and `Time_step_coupled` parameters, based on FMS types, are derived from the incoming ESMF clock
Expand Down Expand Up @@ -2467,13 +2516,6 @@ end subroutine shr_file_getLogUnit
!! <td></td>
!! </tr>
!! <tr>
!! <td>mean_calving_heat_flx</td>
!! <td>W m-2</td>
!! <td>calving_hflx</td>
!! <td>heat flux, relative to 0C, of frozen land water into ocean</td>
!! <td></td>
!! </tr>
!! <tr>
!! <td>mean_calving_rate</td>
!! <td>kg m-2 s-1</td>
!! <td>calving</td>
Expand Down Expand Up @@ -2544,10 +2586,45 @@ end subroutine shr_file_getLogUnit
!! <td></td>
!! </tr>
!! <tr>
!! <td>mean_runoff_heat_flx</td>
!! <td>heat_content_lprec</td>
!! <td>W m-2</td>
!! <td>hrain</td>
!! <td>heat content (enthalpy) of liquid water entering the ocean</td>
!! <td></td>
!! </tr>
!! <tr>
!! <td>heat_content_fprec</td>
!! <td>W m-2</td>
!! <td>hsnow</td>
!! <td>heat content (enthalpy) of frozen water entering the ocean</td>
!! <td></td>
!! </tr>
!! <tr>
!! <td>heat_content_evap</td>
!! <td>W m-2</td>
!! <td>hevap</td>
!! <td>heat content (enthalpy) of water leaving the ocean</td>
!! <td></td>
!! </tr>
!! <tr>
!! <td>heat_content_cond</td>
!! <td>W m-2</td>
!! <td>hcond</td>
!! <td>heat content (enthalpy) of liquid water entering the ocean due to condensation</td>
!! <td></td>
!! </tr>
!! <tr>
!! <td>heat_content_rofl</td>
!! <td>W m-2</td>
!! <td>hrofl</td>
!! <td>heat content (enthalpy) of liquid runoff</td>
!! <td></td>
!! </tr>
!! <tr>
!! <td>heat_content_rofi</td>
!! <td>W m-2</td>
!! <td>runoff_hflx</td>
!! <td>heat flux, relative to 0C, of liquid land water into ocean</td>
!! <td>hrofi</td>
!! <td>heat content (enthalpy) of frozen runoff</td>
!! <td></td>
!! </tr>
!! <tr>
Expand Down
Loading