Skip to content
Closed
20 changes: 8 additions & 12 deletions components/mpas-ocean/src/Registry.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1078,6 +1078,10 @@
description="The density of land ice."
possible_values="Any positive real number"
/>
<nml_option name="config_land_ice_flux_rho_ocean" type="real" default_value="1028.0" units="kg m^-3"
description="ocean density used to calculate landIceDraft at floatation (assumed constant and uniform). Should be consistent with MALI's config_ocean_density. This is an alternative to the coupler variable effectiveDensityInLandIce which is not currently used."
possible_values="Any positive real number"
/>
Comment on lines +1081 to +1084

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As discussed on Slack, let's maybe move this to a different (new?) namelist section and remove flux from the name.

<nml_option name="config_land_ice_flux_explicit_topDragCoeff" type="real" default_value="2.5e-3"
description="The top drag coefficient if config_use_implicit_top_drag_coeff is false."
possible_values="Any positive real number"
Expand Down Expand Up @@ -1831,7 +1835,6 @@
<var name="landIceMask"/>
<var name="landIcePressure"/>
<var name="landIceFraction"/>
<var name="landIceDraft"/>
<var name="landIceFloatingMask"/>
<var name="landIceFloatingFraction"/>
<var name="LTSRegion"/>
Expand Down Expand Up @@ -1943,7 +1946,6 @@
<var name="landIceMask"/>
<var name="landIcePressure"/>
<var name="landIceFraction"/>
<var name="landIceDraft"/>
<var name="landIceFloatingMask"/>
<var name="landIceFloatingFraction"/>
</stream>
Expand Down Expand Up @@ -2043,7 +2045,6 @@
<var_array name="nonLocalSurfaceTracerFlux"/>
<var name="simulationStartTime"/>
<var name="landIcePressure"/>
<var name="landIceDraft"/>
<var name="landIceFraction"/>
<var name="landIceMask"/>
<var name="landIceFloatingMask"/>
Expand Down Expand Up @@ -2197,7 +2198,6 @@
<var name="landIcePressureForcing"/>
<var name="landIceFractionForcing"/>
<var name="landIceFloatingFractionForcing"/>
<var name="landIceDraftForcing"/>
</stream>

<!-- Diagnostics streams for forward mode -->
Expand Down Expand Up @@ -3457,6 +3457,10 @@
packages="topographicWaveDragPKG"
/>
<!-- diagnostic fields for land-ice fluxes -->
<var name="landIceDraft" type="real" dimensions="nCells Time" units="m"
description="The elevation of the interface between land ice and the ocean."
packages="landIcePressurePKG;landIceFluxesPKG"
/>
<var name="landIceFrictionVelocity" type="real" dimensions="nCells Time" units="m s^-1"
description="The friction velocity $u_*$ under land ice"
packages="landIceFluxesPKG"
Expand Down Expand Up @@ -4016,10 +4020,6 @@
description="Pressure defined at the sea surface due to land ice."
packages="landIcePressurePKG"
/>
<var name="landIceDraft" type="real" dimensions="nCells Time" units="m"
description="The elevation of the interface between land ice and the ocean."
packages="landIcePressurePKG"
/>
<!-- Input fields from initial condition for standalone land-ice fluxes -->
<var name="landIceSurfaceTemperature" type="real" dimensions="nCells Time" units="C"
description="temperature at the surface of land ice"
Expand Down Expand Up @@ -4237,10 +4237,6 @@
description="Pressure defined at the sea surface due to land ice."
packages="timeVaryingLandIceForcingPKG"
/>
<var name="landIceDraftForcing" type="real" dimensions="nCells Time" units="m"
description="The elevation of the interface between land ice and the ocean."
packages="timeVaryingLandIceForcingPKG"
/>
</var_struct>
<var_struct name="scratch" time_levs="1">

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ subroutine ocn_compute_mixed_layer_depths(domain, timeLevel, err)!{{{
! real (kind=RKIND), dimension(:), pointer :: areaCell
real (kind=RKIND), dimension(:,:), allocatable :: pressureAdjustedForLandIce

real (kind=RKIND), dimension(:), pointer :: tThreshMLD, tGradientMLD, landIceDraft
real (kind=RKIND), dimension(:), pointer :: tThreshMLD, tGradientMLD
real (kind=RKIND), dimension(:), pointer :: dGradientMLD, landIcePressure
real (kind=RKIND), dimension(:,:,:), pointer :: tracers
integer :: interp_local
Expand Down Expand Up @@ -212,7 +212,6 @@ subroutine ocn_compute_mixed_layer_depths(domain, timeLevel, err)!{{{

call mpas_pool_get_array(tracersPool, 'activeTracers', tracers, timeLevel)
call mpas_pool_get_array(forcingPool, 'landIcePressure', landIcePressure)
call mpas_pool_get_array(forcingPool, 'landIceDraft', landIceDraft)
call mpas_pool_get_array(meshPool, 'latCell', latCell)
call mpas_pool_get_array(meshPool, 'lonCell', lonCell)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,7 @@ function ocn_analysis_mode_run(domain) result(ierr)!{{{
seaIcePressure, atmosphericPressure

real (kind=RKIND), dimension(:), pointer :: &
frazilSurfacePressure, landIcePressure, landIceDraft
frazilSurfacePressure, landIcePressure

real (kind=RKIND), dimension(:), pointer :: &
layerThickness, normalVelocity
Expand Down Expand Up @@ -325,7 +325,6 @@ function ocn_analysis_mode_run(domain) result(ierr)!{{{

if (landIcePressureOn) then
call mpas_pool_get_array(forcingPool, 'landIcePressure', landIcePressure)
call mpas_pool_get_array(forcingPool, 'landIceDraft', landIceDraft)
endif

call mpas_pool_get_array(statePool, 'layerThickness', layerThickness, 1)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ subroutine ocn_time_integrator_rk4(domain, dt)!{{{
seaIcePressure, atmosphericPressure

real (kind=RKIND), dimension(:), pointer :: &
frazilSurfacePressure, landIcePressure, landIceDraft
frazilSurfacePressure, landIcePressure

real (kind=RKIND), dimension(:,:,:), pointer :: activeTracersCur, activeTracersNew

Expand Down Expand Up @@ -731,7 +731,6 @@ subroutine ocn_time_integrator_rk4(domain, dt)!{{{

if (landIcePressureOn) then
call mpas_pool_get_array(forcingPool, 'landIcePressure', landIcePressure)
call mpas_pool_get_array(forcingPool, 'landIceDraft', landIceDraft)
endif

#ifdef MPAS_OPENACC
Expand All @@ -752,7 +751,6 @@ subroutine ocn_time_integrator_rk4(domain, dt)!{{{
endif
if (landIcePressureOn) then
!$acc enter data copyin(landIcePressure)
!$acc enter data copyin(landIceDraft)
endif
#endif
call ocn_diagnostic_solve(dt, statePool, forcingPool, meshPool, verticalMeshPool, scratchPool, tracersPool, 2)
Expand Down Expand Up @@ -790,7 +788,6 @@ subroutine ocn_time_integrator_rk4(domain, dt)!{{{
endif
if (landIcePressureOn) then
!$acc exit data delete(landIcePressure)
!$acc exit data delete(landIceDraft)
endif
!$acc exit data delete(layerThicknessNew, normalVelocityNew)
!$acc update host(density, potentialDensity, displacedDensity)
Expand Down Expand Up @@ -1193,7 +1190,7 @@ subroutine ocn_time_integrator_rk4_diagnostic_update(block, dt, rkSubstepWeight,
seaIcePressure, atmosphericPressure

real (kind=RKIND), dimension(:), pointer :: &
frazilSurfacePressure, landIcePressure, landIceDraft
frazilSurfacePressure, landIcePressure

real (kind=RKIND), dimension(:), pointer :: sshCur

Expand Down Expand Up @@ -1331,7 +1328,6 @@ subroutine ocn_time_integrator_rk4_diagnostic_update(block, dt, rkSubstepWeight,

if (landIcePressureOn) then
call mpas_pool_get_array(forcingPool, 'landIcePressure', landIcePressure)
call mpas_pool_get_array(forcingPool, 'landIceDraft', landIceDraft)
endif

#ifdef MPAS_OPENACC
Expand All @@ -1352,7 +1348,6 @@ subroutine ocn_time_integrator_rk4_diagnostic_update(block, dt, rkSubstepWeight,
endif
if (landIcePressureOn) then
!$acc enter data copyin(landIcePressure)
!$acc enter data copyin(landIceDraft)
endif
#endif
call ocn_diagnostic_solve(dt, provisStatePool, forcingPool, meshPool, verticalMeshPool, scratchPool, tracersPool, 1)
Expand Down Expand Up @@ -1385,7 +1380,6 @@ subroutine ocn_time_integrator_rk4_diagnostic_update(block, dt, rkSubstepWeight,
endif
if (landIcePressureOn) then
!$acc exit data delete(landIcePressure)
!$acc exit data delete(landIceDraft)
endif
!$acc exit data delete(layerThicknessCur, normalVelocityCur)
!$acc update host(density, potentialDensity, displacedDensity)
Expand Down Expand Up @@ -1581,7 +1575,7 @@ subroutine ocn_time_integrator_rk4_cleanup(domain, block, dt, err)!{{{
seaIcePressure, atmosphericPressure

real (kind=RKIND), dimension(:), pointer :: &
frazilSurfacePressure, landIcePressure, landIceDraft
frazilSurfacePressure, landIcePressure

real (kind=RKIND), dimension(:), pointer :: sshNew

Expand Down Expand Up @@ -1616,7 +1610,6 @@ subroutine ocn_time_integrator_rk4_cleanup(domain, block, dt, err)!{{{

if (landIcePressureOn) then
call mpas_pool_get_array(forcingPool, 'landIcePressure', landIcePressure)
call mpas_pool_get_array(forcingPool, 'landIceDraft', landIceDraft)
endif

call mpas_pool_begin_iteration(tracersPool)
Expand Down Expand Up @@ -1656,7 +1649,6 @@ subroutine ocn_time_integrator_rk4_cleanup(domain, block, dt, err)!{{{
endif
if (landIcePressureOn) then
!$acc enter data copyin(landIcePressure)
!$acc enter data copyin(landIceDraft)
endif
#endif
call ocn_diagnostic_solve(dt, statePool, forcingPool, meshPool, verticalMeshPool, scratchPool, tracersPool, 2)
Expand Down Expand Up @@ -1691,7 +1683,6 @@ subroutine ocn_time_integrator_rk4_cleanup(domain, block, dt, err)!{{{
endif
if (landIcePressureOn) then
!$acc exit data delete(landIcePressure)
!$acc exit data delete(landIceDraft)
endif
!$acc exit data delete (layerThicknessNew, normalVelocityNew)
!$acc update host(density, potentialDensity, displacedDensity)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -376,7 +376,7 @@ subroutine ocn_time_integrator_si(domain, dt)!{{{
seaIcePressure, atmosphericPressure

real (kind=RKIND), dimension(:), pointer :: &
frazilSurfacePressure, landIcePressure, landIceDraft
frazilSurfacePressure, landIcePressure

real (kind=RKIND), dimension(:,:,:), pointer :: activeTracersNew

Expand Down Expand Up @@ -703,7 +703,6 @@ subroutine ocn_time_integrator_si(domain, dt)!{{{

if (landIcePressureOn) then
call mpas_pool_get_array(forcingPool, 'landIcePressure', landIcePressure)
call mpas_pool_get_array(forcingPool, 'landIceDraft', landIceDraft)
endif

#ifdef MPAS_OPENACC
Expand Down Expand Up @@ -2203,7 +2202,6 @@ subroutine ocn_time_integrator_si(domain, dt)!{{{
endif
if (landIcePressureOn) then
!$acc enter data copyin(landIcePressure)
!$acc enter data copyin(landIceDraft)
endif
if (config_use_freq_filtered_thickness) then
!$acc enter data copyin(highFreqThicknessNew)
Expand Down Expand Up @@ -2773,7 +2771,6 @@ subroutine ocn_time_integrator_si(domain, dt)!{{{
!$acc update host(montgomeryPotential, pressure)
if (landIcePressureOn) then
!$acc exit data delete(landIcePressure)
!$acc exit data delete(landIceDraft)
endif
if (config_use_freq_filtered_thickness) then
!$acc exit data copyout(highFreqThicknessNew)
Expand Down Expand Up @@ -2840,7 +2837,6 @@ subroutine ocn_time_integrator_si(domain, dt)!{{{
endif
if (landIcePressureOn) then
!$acc enter data copyin(landIcePressure)
!$acc enter data copyin(landIceDraft)
endif
#endif
call ocn_diagnostic_solve(dt, statePool, forcingPool, meshPool, verticalMeshPool, &
Expand Down Expand Up @@ -2889,7 +2885,6 @@ subroutine ocn_time_integrator_si(domain, dt)!{{{
endif
if (landIcePressureOn) then
!$acc exit data delete(landIcePressure)
!$acc exit data delete(landIceDraft)
endif
!$acc exit data delete(layerThicknessNew, normalVelocityNew)
#endif
Expand Down Expand Up @@ -2989,7 +2984,6 @@ subroutine ocn_time_integrator_si(domain, dt)!{{{
endif
if (landIcePressureOn) then
!$acc enter data copyin(landIcePressure)
!$acc enter data copyin(landIceDraft)
endif
#endif

Expand Down Expand Up @@ -3111,7 +3105,6 @@ subroutine ocn_time_integrator_si(domain, dt)!{{{
endif
if (landIcePressureOn) then
!$acc exit data delete(landIcePressure)
!$acc exit data delete(landIceDraft)
endif
!$acc exit data copyout(layerThicknessNew, normalVelocityNew)
!$acc update host(density, potentialDensity, displacedDensity)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ subroutine ocn_time_integrator_split(domain, dt)!{{{
seaIcePressure, atmosphericPressure

real (kind=RKIND), dimension(:), pointer :: &
frazilSurfacePressure, landIcePressure, landIceDraft
frazilSurfacePressure, landIcePressure

real (kind=RKIND), dimension(:,:,:), pointer :: activeTracersNew

Expand Down Expand Up @@ -587,7 +587,6 @@ subroutine ocn_time_integrator_split(domain, dt)!{{{

if (landIcePressureOn) then
call mpas_pool_get_array(forcingPool, 'landIcePressure', landIcePressure)
call mpas_pool_get_array(forcingPool, 'landIceDraft', landIceDraft)
endif

#ifdef MPAS_OPENACC
Expand Down Expand Up @@ -1841,7 +1840,6 @@ subroutine ocn_time_integrator_split(domain, dt)!{{{
endif
if (landIcePressureOn) then
!$acc enter data copyin(landIcePressure)
!$acc enter data copyin(landIceDraft)
endif
if (config_use_freq_filtered_thickness) then
!$acc enter data copyin(highFreqThicknessNew)
Expand Down Expand Up @@ -2411,7 +2409,6 @@ subroutine ocn_time_integrator_split(domain, dt)!{{{
!$acc update host(montgomeryPotential, pressure)
if (landIcePressureOn) then
!$acc exit data delete(landIcePressure)
!$acc exit data delete(landIceDraft)
endif
if (config_use_freq_filtered_thickness) then
!$acc exit data copyout(highFreqThicknessNew)
Expand Down Expand Up @@ -2471,7 +2468,6 @@ subroutine ocn_time_integrator_split(domain, dt)!{{{
endif
if (landIcePressureOn) then
!$acc enter data copyin(landIcePressure)
!$acc enter data copyin(landIceDraft)
endif
#endif
call ocn_diagnostic_solve(dt, statePool, forcingPool, meshPool, verticalMeshPool, &
Expand Down Expand Up @@ -2519,7 +2515,6 @@ subroutine ocn_time_integrator_split(domain, dt)!{{{
endif
if (landIcePressureOn) then
!$acc exit data delete(landIcePressure)
!$acc exit data delete(landIceDraft)
endif
!$acc exit data delete(layerThicknessNew, normalVelocityNew)
#endif
Expand Down Expand Up @@ -2619,7 +2614,6 @@ subroutine ocn_time_integrator_split(domain, dt)!{{{
endif
if (landIcePressureOn) then
!$acc enter data copyin(landIcePressure)
!$acc enter data copyin(landIceDraft)
endif
#endif
if (config_prescribe_velocity) then
Expand Down Expand Up @@ -2764,7 +2758,6 @@ subroutine ocn_time_integrator_split(domain, dt)!{{{
endif
if (landIcePressureOn) then
!$acc exit data delete(landIcePressure)
!$acc exit data delete(landIceDraft)
endif
!$acc exit data copyout(layerThicknessNew, normalVelocityNew)
!$acc update host(density, potentialDensity, displacedDensity)
Expand Down
Loading