-
Notifications
You must be signed in to change notification settings - Fork 3
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
Calculate mass budgets online #38
base: develop
Are you sure you want to change the base?
Commits on Apr 17, 2024
-
Add specialized masks for mass budget calculations
Add grounded and floating masks that are used for the mass budget calculation and are different from the masks in cellMask. Currently, the only difference is that the grounded mask includes floating non-dynamic cells adjacent to grounded ice. The grounded masks will eventually also include floating ice over subglacial lakes, but that requires flood_fill to be moved from li_calving to a shared routine, so that will come in a future commit. In preparation for that, add domain variable in calls to li_calculate_mask.
Configuration menu - View commit details
-
Copy full SHA for dc058a2 - Browse repository at this point
Copy the full SHA dc058a2View commit details -
Add floatingSfcMassBalApplied variable
Also redefine applied surface and basal mass balance fields based on new grounded and floating masks for mass budgets.
Configuration menu - View commit details
-
Copy full SHA for 093f93e - Browse repository at this point
Copy the full SHA 093f93eView commit details -
Add grounded and floating calvingThickness variables
Add variables to distinguish between grounded and floating components of calving in mass budgets.
Configuration menu - View commit details
-
Copy full SHA for 4a130e9 - Browse repository at this point
Copy the full SHA 4a130e9View commit details -
Add grounded and floating faceMeltingThickness components
Add grounded and floating faceMeltingThickness components for calculating mass budgets. Also fix implementation of parsing grounded and floating calvingThickness components, which needs to be done after calvingThickness is applied but before the masks are updated.
Configuration menu - View commit details
-
Copy full SHA for 915be80 - Browse repository at this point
Copy the full SHA 915be80View commit details -
Update global stats calculations using new masks
Also account for grounded and floating components of calving and face melting. It's still not clear what to do about VAF.
Configuration menu - View commit details
-
Copy full SHA for 11f4e1e - Browse repository at this point
Copy the full SHA 11f4e1eView commit details -
Zero out grounded and floating mass budget masks at start of call
Zero out grounded and floating mass budget masks each time li_calculate_mask is called, to avoid inheritting values from previous steps. Also fix the calculation of total grounded and floating face-melting fluxes in global stats.
Configuration menu - View commit details
-
Copy full SHA for 37727a4 - Browse repository at this point
Copy the full SHA 37727a4View commit details -
Account for multiple updates of calvingThickness within a timestep
Add a very short subroutine update_calving_budget that is called to recalculate groundedCalvingThickness and floatingCalvingThickness after calvingThickness is applied and before masks are updated. Also treat grounded and floating calving specially within the remove_icebergs and remove_small_islands routines to deal with the face that calvingThickness is updated multiple times per timestep. Thus, it is okay for a cell to have both nonzero groundedCalvingThickness and floatingCalvingThickness.
Configuration menu - View commit details
-
Copy full SHA for 82dc266 - Browse repository at this point
Copy the full SHA 82dc266View commit details -
Use grounded and floating mass budget masks for groundedToFloatingThi…
…ckness Instead of cellMask before and after advection, use groundedMaskForMassBudget and floatingMaskForMassBudget before and after advection to calculate groundedToFloatingThickness. This prevents the switch between floating non-dynamic cells and grounded cells being registered as ice grounding, which was causing groundedLineMigration to be the wrong sign in testing on the Humboldt domain.
Configuration menu - View commit details
-
Copy full SHA for 2f48a21 - Browse repository at this point
Copy the full SHA 2f48a21View commit details -
Calculate grounding line flux before advection, smb, and bmb
Calculating grounding line flux after advection led to double (or triple?) counting between GL Flux and GL Migration Flux (and maybe SMB as well). Calculate grounding line flux before advection, smb, and bmb instead.
Configuration menu - View commit details
-
Copy full SHA for be7bdf1 - Browse repository at this point
Copy the full SHA be7bdf1View commit details -
Update groundedToFloatingThickness when masks are updated
Update groundedToFloatingThickness whenever masks are updated to account for cells changing between masks when face-melting and calving are applied, and not just when sfcMassBal, basalMassBal, and advection are applied, as was the case previously.
Configuration menu - View commit details
-
Copy full SHA for 6128249 - Browse repository at this point
Copy the full SHA 6128249View commit details -
Add halo updates after calling li_calculate_mask
Add halo updates for mass budget masks after calling li_calculate_mask. This did not help close the budget, but in case it is correct I don't want to lose the work. Committing and then reverting.
Configuration menu - View commit details
-
Copy full SHA for 4f566f0 - Browse repository at this point
Copy the full SHA 4f566f0View commit details -
Revert "Add halo updates after calling li_calculate_mask"
This reverts commit ff97c4e. The changes in that commit did not help close budgets, but they may be helpful at some point.
Configuration menu - View commit details
-
Copy full SHA for 93309ab - Browse repository at this point
Copy the full SHA 93309abView commit details -
Correct use of 'cycle' when when calculating masks
The cycle statement used to exit a loop over neighbors when calculating the grounding line and adding non-dynamic floating fringe to the grounded mask was inadvertently outside the relevant if-statement.
Configuration menu - View commit details
-
Copy full SHA for 5976ab0 - Browse repository at this point
Copy the full SHA 5976ab0View commit details -
Do not apply float-kill to non-dynamic fringe
Use floatingMaskForMassBudget to define which cells are calving when using config_calving = 'floating'. This is because floating non-dynamic cells adjacent to grounded cells should not really be considered part of the ice shelf.
Configuration menu - View commit details
-
Copy full SHA for 02ee6a8 - Browse repository at this point
Copy the full SHA 02ee6a8View commit details -
Use mass budget masks for basal mass balance
Use floatingMaskForMassBudget and groundedMaskForMassBudget to partition basal mass balance between grounded and floating.
Configuration menu - View commit details
-
Copy full SHA for 797cf99 - Browse repository at this point
Copy the full SHA 797cf99View commit details -
Update calving budget incrementally
Use a local variable dCalvingThickness to update the calving budget each time calving is applied. The variable calvingThickness is now not used directly to modify thickness, but calculated by summing dCalvingThickness throughout a time step. This might lead to issues with halo updates because dCalvingThickness is always an allocatable array. If so, it will need to either be made a Registry variable or an MPAS allocatable scratch array.
Configuration menu - View commit details
-
Copy full SHA for a5bee82 - Browse repository at this point
Copy the full SHA a5bee82View commit details -
Cleanup after rebase onto MALI-Dev/develop
Clean up a few items after rebasing, including changing a few instances of 'flood_fill' to 'li_flood_fill', an instance of 'nCellsSolve' to 'nCells', and removing cellMaskTemporaryField from li_advection_thickness_tracers.
Configuration menu - View commit details
-
Copy full SHA for b89fb71 - Browse repository at this point
Copy the full SHA b89fb71View commit details -
Update grounded and floating calving budgets incrementally
Update grounded and floating calving budgets incrementally, which is required to close budget.
Configuration menu - View commit details
-
Copy full SHA for 236074d - Browse repository at this point
Copy the full SHA 236074dView commit details -
Fix a few small issues after rebasing onto MALI-Dev/develop
Configuration menu - View commit details
-
Copy full SHA for e7fe705 - Browse repository at this point
Copy the full SHA e7fe705View commit details -
Configuration menu - View commit details
-
Copy full SHA for 884049f - Browse repository at this point
Copy the full SHA 884049fView commit details -
Fix dCalvingThickness dimension in remove_small_islands
Fix dCalvingThickness dimension in remove_small_islands. Must be nCells rather than nCellsSolve in size.
Configuration menu - View commit details
-
Copy full SHA for 8e85cd8 - Browse repository at this point
Copy the full SHA 8e85cd8View commit details -
Make treatment of basal mass bal components consistent
Grounded and floating components of sfcMassBal were using the mass balance mask fields, while basalMassBal components used cellMask. Make both of them use mass balance masks.
Configuration menu - View commit details
-
Copy full SHA for eb6748f - Browse repository at this point
Copy the full SHA eb6748fView commit details -
Fix accidental doubling of faceMeltingFlux
Fix accidental doubling of faceMeltingFlux when calculating global stats.
Configuration menu - View commit details
-
Copy full SHA for 6f13e2b - Browse repository at this point
Copy the full SHA 6f13e2bView commit details -
Update layerThickness halos after advection
Update layerThickness halos after advection. This reduces the error in a test with 500 m/yr face-melt, so it seems to be necessary, but it does not solve the issue entirely.
Configuration menu - View commit details
-
Copy full SHA for 6a2d6af - Browse repository at this point
Copy the full SHA 6a2d6afView commit details -
Make grounding line flux calculation consistent with FCT
Make grounding line flux calculation consistent with FCT advection. Also update edgeMask halos before calculating grounding line flux.
Configuration menu - View commit details
-
Copy full SHA for 4b77dba - Browse repository at this point
Copy the full SHA 4b77dbaView commit details -
Move face-melting after last RK velocity solve
Move face-melting after last velocity solve in RK loop. This is necessary to close mass budgets when using face-melting.
Configuration menu - View commit details
-
Copy full SHA for 4f75613 - Browse repository at this point
Copy the full SHA 4f75613View commit details -
Clean up after rebase following Runge-Kutta merge
Clean up after rebase following Runge-Kutta merge
Configuration menu - View commit details
-
Copy full SHA for ad484aa - Browse repository at this point
Copy the full SHA ad484aaView commit details -
Add cellMaskTemporary back to Registry
Add cellMaskTemporary back to Registry for use in calving.
Configuration menu - View commit details
-
Copy full SHA for 797b72a - Browse repository at this point
Copy the full SHA 797b72aView commit details -
Loop over nEdgeSolve instead of nEdges when calculating GL flux
Loop over nEdgeSolve instead of nEdges when calculating GL flux. Looping over nEdges will give an error resulting from grounding line thickness <= 0 when the grounding line is at the domain boundary.
Configuration menu - View commit details
-
Copy full SHA for 611a77a - Browse repository at this point
Copy the full SHA 611a77aView commit details -
Calculate grounding line flux after advection but before updating thi…
…ckness Calculate grounding line flux after advection but before updating thickness, which is required to close mass budgets.
Configuration menu - View commit details
-
Copy full SHA for 1bdc08b - Browse repository at this point
Copy the full SHA 1bdc08bView commit details -
Fix a few minor issues that were not caught during the rebase.
Configuration menu - View commit details
-
Copy full SHA for 0e6025e - Browse repository at this point
Copy the full SHA 0e6025eView commit details
Commits on Jul 10, 2024
-
Remove code that was inadvertently overwriting grounded and floating …
…calving thickness Remove block of old code that was inadvertently overwriting grounded and floating calving thickness after they were calculated incrementally.
Configuration menu - View commit details
-
Copy full SHA for 0afc6db - Browse repository at this point
Copy the full SHA 0afc6dbView commit details -
Update halos on incrementalCalvingThickness
Replace the allocatable array dCalvingThickness with a Registry variable incrementalCalvingThickness, and update halos after calling li_apply_front_ablation_velocity and before subtracting from ice thickness.
Configuration menu - View commit details
-
Copy full SHA for a54c8cb - Browse repository at this point
Copy the full SHA a54c8cbView commit details