Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
8d1b472
Add specialized masks for mass budget calculations
trhille May 16, 2022
6d25a87
Add floatingSfcMassBalApplied variable
trhille May 16, 2022
8391ee0
Add grounded and floating calvingThickness variables
trhille May 16, 2022
7d11453
Add grounded and floating faceMeltingThickness components
trhille May 16, 2022
ed5f652
Update global stats calculations using new masks
trhille May 16, 2022
16a7b6e
Zero out grounded and floating mass budget masks at start of call
trhille May 16, 2022
08e8580
Account for multiple updates of calvingThickness within a timestep
trhille May 17, 2022
a18e7f1
Use grounded and floating mass budget masks for groundedToFloatingThi…
trhille May 17, 2022
ad9f96d
Calculate grounding line flux before advection, smb, and bmb
trhille May 18, 2022
f8a2662
Update groundedToFloatingThickness when masks are updated
trhille May 19, 2022
2cc6f92
Correct use of 'cycle' when when calculating masks
trhille Aug 4, 2022
de98bb0
Do not apply float-kill to non-dynamic fringe
trhille Oct 5, 2022
9cfc699
Use mass budget masks for basal mass balance
trhille Oct 5, 2022
c503054
Update calving budget incrementally
trhille Nov 2, 2022
b9e6f3f
Cleanup after rebase onto MALI-Dev/develop
trhille Nov 2, 2022
898444c
Update grounded and floating calving budgets incrementally
trhille Nov 3, 2022
b823613
Clean-up after rebase
trhille Feb 23, 2023
8a0e9f4
Clean up after rebase
trhille Oct 17, 2023
7ac0861
Fix dCalvingThickness dimension in remove_small_islands
trhille Oct 17, 2023
f415677
Make treatment of basal mass bal components consistent
trhille Oct 18, 2023
364a78a
Fix accidental doubling of faceMeltingFlux
trhille Oct 18, 2023
2919a3b
Update layerThickness halos after advection
trhille Oct 20, 2023
72e4b89
Make grounding line flux calculation consistent with FCT
trhille Oct 20, 2023
67351eb
Move face-melting after last RK velocity solve
trhille Oct 20, 2023
de6825d
Clean up after rebase following Runge-Kutta merge
trhille Nov 16, 2023
372287e
Add cellMaskTemporary back to Registry
trhille Nov 16, 2023
8aff98f
Loop over nEdgeSolve instead of nEdges when calculating GL flux
trhille Nov 16, 2023
e3d1451
Calculate grounding line flux after advection but before updating thi…
trhille Nov 17, 2023
49ce8b2
Clean up after rebase
trhille Apr 17, 2024
5a89224
Remove code that was inadvertently overwriting grounded and floating …
trhille Jul 10, 2024
b0581d1
Update halos on incrementalCalvingThickness
trhille Jul 10, 2024
6597665
Clean up after rebase
trhille Mar 25, 2025
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
37 changes: 34 additions & 3 deletions components/mpas-albany-landice/src/Registry.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1222,6 +1222,12 @@ is the value of that variable from the *previous* time level!
<var name="cellMask" type="integer" dimensions="nCells Time" units="none"
description="bitmask indicating various properties about the ice sheet on cells. cellMask only needs to be a restart field if config_allow_additional_advance = false (to keep the mask of initial ice extent)"
/>
<var name="groundedMaskForMassBudget" type="integer" dimensions="nCells Time" units="none"
description="bitmask indicating where ice is considered grounded for mass budget calculation. Includes floating non-dynamic cells adjacent to grounded ice and floating ice above subglacial lakes."
/>
<var name="floatingMaskForMassBudget" type="integer" dimensions="nCells Time" units="none"
description="bitmask indicating where ice is considered floating for mass budget calculation. Does not include floating non-dynamic cells adjacent to grounded ice or floating ice above subglacial lakes."
/>
<var name="edgeMask" type="integer" dimensions="nEdges Time" units="none"
description="bitmask indicating various properties about the ice sheet on edges."
/>
Expand All @@ -1239,6 +1245,9 @@ is the value of that variable from the *previous* time level!
<var name="groundedSfcMassBalApplied" type="real" dimensions="nCells Time" units="kg m^{-2} s^{-1}"
description="applied surface mass balance on grounded ice"
/>
<var name="floatingSfcMassBalApplied" type="real" dimensions="nCells Time" units="kg m^{-2} s^{-1}"
description="applied surface mass balance on floating ice"
/>
<var name="basalMassBal" type="real" dimensions="nCells Time" units="kg m^{-2} s^{-1}"
description="Potential basal mass balance"
/>
Expand Down Expand Up @@ -1266,12 +1275,21 @@ is the value of that variable from the *previous* time level!
<var name="calvingFrontMask" type="integer" dimensions="nCells Time" units="none" time_levs="1"
description="mask of the calving front position on cells"
/>
<var name="incrementalCalvingThickness" type="real" dimensions="nCells Time" units="m" time_levs="1"
description="thickness of ice that calves in a given step. Maybe be updated multiple times per time step to calculate calvingThickness."
/>
<var name="calvingThickness" type="real" dimensions="nCells Time" units="m" time_levs="1"
description="thickness of ice that calves on a given timestep (less than or equal to ice thickness)"
/>
<var name="calvingThicknessFromThreshold" type="real" dimensions="nCells Time" units="m" time_levs="1"
description="thickness of ice that calves on a given timestep for only processes that generate calving based on a threshold. This includes mask calving, damage calving, iceberg and small island detection, and velocity speed limit."
/>
<var name="groundedCalvingThickness" type="real" dimensions="nCells Time" units="m" time_levs="1"
description="thickness of grounded ice that calves on a given timestep (less than or equal to ice thickness)"
/>
<var name="floatingCalvingThickness" type="real" dimensions="nCells Time" units="m" time_levs="1"
description="thickness of floating ice that calves on a given timestep (less than or equal to ice thickness)"
/>
<var name="calvingCFLdt" type="real" dimensions="Time" units="s" time_levs="1" default_value="1.0e16"
description="approximation of maximum allowable timestep based on calvingVelocity"
/>
Expand Down Expand Up @@ -1354,7 +1372,6 @@ is the value of that variable from the *previous* time level!
<var name="damageSource" type="real" dimensions="nCells Time" units="s^{-1}" time_levs="1"
description="damage source term"
/>
/>
<var name="basalWaterThickness" type="real" dimensions="nCells Time" units="m" time_levs="1"
description="thickness of basal water"
/>
Expand Down Expand Up @@ -1431,6 +1448,12 @@ is the value of that variable from the *previous* time level!
<var name="dtFaceMeltingCFLratio" type="real" dimensions="Time" units="none" time_levs="1" default_value="0.0"
description="ratio of timestep being used to the maximum timestep calculated for the face-melting CFL condition. This metric can be used to assess the accuracy of the face-melting CFL calculation being lagged by a timestep."
/>
<var name="groundedFaceMeltingThickness" type="real" dimensions="nCells Time" units="m" time_levs="1"
description="Equivalent plan-view averaged thickness of grounded ice that melts on a given timestep from front ablation (less than or equal to ice thickness). Used in mass budget calculations."
/>
<var name="floatingFaceMeltingThickness" type="real" dimensions="nCells Time" units="m" time_levs="1"
description="Equivalent plan-view averaged thickness of floating ice that melts on a given timestep from front ablation (less than or equal to ice thickness). Used in mass budget calculations."
/>
<var name="unmeltedVolume" type="real" dimensions="nCells Time" units="m^3" time_levs="1"
description="volume of ice that was left unmelted from required facemelt flux due to only applying flux over immediate neighbors (diagnostic field to assess if this limitation is a problem)"
/>
Expand All @@ -1453,8 +1476,12 @@ is the value of that variable from the *previous* time level!
units="m" description="amount of change in bedTopography. This field is calculated by the sea-level model over its time step. Positive values indicate bed uplift relative to sea level."
/>
<!-- Scratch variables related to geometry -->
<var name="cellMaskTemporary" type="integer" dimensions="nCells" units="none"
description="temporary copy of cellMask"
<var name="cellMaskTemporary" type="integer" dimensions="nCells" units="none"
description="temporary copy of cellMask"
persistence="scratch"
/>
<var name="groundedMaskForMassBudgetTemporary" type="integer" dimensions="nCells" units="none"
description="temporary copy of groundedMaskForMassBudget"
persistence="scratch"
/>
<var name="edgeMaskTemporary" type="integer" dimensions="nEdges" units="none"
Expand All @@ -1465,6 +1492,10 @@ is the value of that variable from the *previous* time level!
description="temporary copy of vertexMask"
persistence="scratch"
/>
<var name="floatingMaskForMassBudgetTemporary" type="integer" dimensions="nCells" units="none"
description="temporary copy of floatingMaskForMassBudget"
persistence="scratch"
/>
</var_struct>

<!-- ================ -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,21 @@
<var name="totalCalvingFlux" type="real" dimensions="Time" units="kg yr^{-1}"
description="total, area integrated mass loss due to calving. Positive values represent ice loss."
/>
<var name="totalGroundedCalvingFlux" type="real" dimensions="Time" units="kg yr^{-1}"
description="total, area integrated grounded mass loss due to calving. Positive values represent ice loss."
/>
<var name="totalFloatingCalvingFlux" type="real" dimensions="Time" units="kg yr^{-1}"
description="total, area integrated floating mass loss due to calving. Positive values represent ice loss."
/>
<var name="totalFaceMeltingFlux" type="real" dimensions="Time" units="kg yr^{-1}"
description="total, area integrated mass loss due to face melting. Positive values represent ice loss."
/>
<var name="totalGroundedFaceMeltingFlux" type="real" dimensions="Time" units="kg yr^{-1}"
description="total, area integrated grounded mass loss due to face melting. Positive values represent ice loss."
/>
<var name="totalFloatingFaceMeltingFlux" type="real" dimensions="Time" units="kg yr^{-1}"
description="total, area integrated floating mass loss due to face melting. Positive values represent ice loss."
/>
<var name="groundingLineFlux" type="real" dimensions="Time" units="kg yr^{-1}"
description="total mass flux across all grounding lines. Note that flux from floating to grounded ice makes a negative contribution to this metric."
/>
Expand Down
Loading