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

The calving issue #1733

Open
fmaussion opened this issue Aug 23, 2024 · 2 comments
Open

The calving issue #1733

fmaussion opened this issue Aug 23, 2024 · 2 comments
Assignees
Labels

Comments

@fmaussion
Copy link
Member

Here I'll list some of the open discussion points regarding calving when I have a minute.

@bearecinos
Copy link
Member

bearecinos commented Oct 22, 2024

We met with @pat-schmitt to briefly discussed the first steps of implementing an inversion with calving into the dynamic_spinup.py framework. We are only talking about initialization here.

Background and motivation


In OGGM versions prior to 1.6, we were constrained by the "equilibrium condition", which required that the mass balance of a tidewater glacier during a certain period in the past be equal to the frontal ablation flux (calculated using a calving law and the OGGM SIA flux solver). This approach was quite challenging, as tidewater glaciers are rarely in equilibrium and exhibit complex calving cycles that are difficult to simulate using a flowline model.

If you need more information see Recinos et al. (2019) and Malles et al. (2023)

While accurately capturing the dynamics of tidewater glaciers remains difficult, the introduction of Hugonnet et al. (2021) allows us to move beyond the equilibrium assumption. Hugonnet’s provides total mass change (this includes frontal ablation!), we can now incorporate a k_calving (i.e find an inversion) to ensure that the glacier geometry aligns with both Hugonnet's SMB observations and frontal ablation data derived from remote sensing (e.g. Kochtitzky et al. 2022); if both observations cover the same period of time.

we have observations but they are uncertain! this is why we will eventually need a spin-up, and eventually a better ice dynamical solver (see future work).

We think that the changes in the code need to happen gradually, and each stage can be divided into a small issues.
(i) dealing with the inversion in the red circle
(ii) and then thinking about the spin-up blue circle:
image

Stage 0:

  • add calving flux observations to oggm shop

Stages I. Calibration of SMB with geodetic data and frontal ablation observations

  • Add frontal ablation observations to mb_calibration_from_geodetic_mb() function. The goal is to calculate volume change caused only by climate input to use later for calibration (e.g. climate input = Hugonnet - calving flux observations over the same period). This process will adjust the melt factor (d_f) in the SMB to match the right "climate smb from climate input", assuming the glacier geometry remains constant. The task will find the right d_f — i.e, adjust the melt factor so that the SMB accounts for the frontal ablation losses from the observations).

  • Adapt find_inversion_calving_from_any_mb() function.
    The goal of this step is to modify either glen_a, f_s (or both - to be decided!), to ensure that the glacier volume matches the consensus estimate. This will provide an initial approximation of the dynamic parameters. It's important to note that volume and thickness distribution from the consensus is probably inaccurate for tidewater glaciers, as shown in Recinos et al. (2019, 2021).
    After modifying these parameters, we will define an initial water depth (ice thickness) using a default k_calving . The aim is to find a water depth (ice thickness at the calving front) where the two fluxes—deformation flux and calving flux—are equal, q_sia = q_calving. The task will adjust the ice thickness indirectly by modifying the inversion parameters. How exactly? to be determined. This is not the right thickness at the calving front, but one that we can use to dynamically calibrate the k_calving.

State II. Dynamic calibration of k_calving using frontal ablation fluxes

This new algorithm will find the "best k_calving" to match all glaciers in gdirs with a valid frontal ablation observation, we could even bring surface velocities if we don't trust the frontal ablation observations at some point too or don't have them.
Here we will dynamically calibrate k_calving to match the dynamical model q_calving to frontal ablation observations (probably from a different period that the one used in Stage I).

  • @pat-schmitt add simple k_calving to SemiImplicitModel. Could be done in the same way as in the FluxBasedModel: first make dynamic step ignoring calving, and only afterwards do calving. (to be discuss)
  • @pat-schmitt needs to refactor the dynamic-spin-up module to make it easier to add new dynamic calibration parameters.

Future work:


  • The SIA solver cant resolve fluxes (ice velocities) at the bottom of the TW glaciers and fast flow. @bearecinos and @dngoldberg have some ideas for an improved solver which would be compatible with the semi-implicit (a channel on slack will be created to discuss this).

🚨 Priority Action Items:

Have any thoughts, opinions or future huddles (comment below, cc @fmaussion @ehultee). Or join the tidewater channel for more information on these developments.

@bearecinos
Copy link
Member

We had a meeting to briefly discuss this project on 5th of Nov at 3 PM GMT. See below a quick summary of the meeting and this link for full meeting notes.

Key Discussions and Updates:

Ruitang Yang gave an update on her PyGEM-OGGM-SERMeQ project see meetings notes for that.

Dynamic Spinup and Calibration:

  • Discussion on assimilating geodetic mass balance and FA observations for calibration.
  • A proposal to decouple dynamic calibration into stages for better parameter estimation. (see issue notes above)
  • Issues with regional mass balance misestimations and scaling factors for marine-terminating glaciers were raised.
  • Hugonnet doesn't see below water level. We need to plan to correct for this (probably same approach as PyGEM).

Model Limitations and Future Directions:

  • Acknowledgment of limitations in sliding laws for marine-terminating glaciers, requiring advanced physics (e.g., SSA or HySSA).

  • Suggestions to utilize external datasets like IceBridge for thickness data and manually or automatically delineated calving fronts.

Action Items and Suggestions:

  • Improve calibration by revisiting inversion methods and leveraging new datasets.
  • Currently the dynamic spinup is very hard-coded, selecting which parameters are tuned. Would like to make it more general, usable for other modules and models

Follow-Up:
A future meeting will assess progress and address emerging issues from ongoing OGGM updates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Development

No branches or pull requests

2 participants