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

Bed deformation models need to use the load averaged over the duration of a time step #525

Open
ckhroulev opened this issue Nov 28, 2023 · 3 comments
Assignees
Labels

Comments

@ckhroulev
Copy link
Member

Description

Bed deformation models need to use the load (ice thickness) averaged over the duration of a time step of a bed deformation component.

A computationally expensive workaround: use synchronous coupling between mass continuity and bed deformation, i.e. bed deformation models take time steps as short as the rest of PISM.

Additional context

Whenever PISM takes short (in this context: shorter than a year) time steps and the climatic forcing resolves the annual cycle the modeled evolution of the ice thickness may contain a "high frequency" signal due to the SMB. For example: near a "steady state" the ice thickness would reach maximum in late winter and minimum in late summer, then increase towards the maximum over next winter and so on. This signal is especially noticeable when the system is near a "steady state" since it is not masked by a long term trend.

The current code (which uses instantaneous snapshots of ice thickness at the end of the current time step) suffers from aliasing of this high frequency signal. This can lead to all kinds of strange behavior, e.g.:

  • assuming constant year long time steps starting on January 1 and ending on December 31 (northern hemisphere): PISM's bed deformation code will use ice thickness near the maximum of the annual cycle for each time step
  • assuming constant year long time steps starting on October 1 and ending on September 30 (northern hemisphere): PISM's bed deformation code will use ice thickness near the minimum of the annual cycle for each time step.

The difference between corresponding loads may be small, but its influence can add up over time.

In most simulations time step lengths are chosen adaptively according to (CFL-based and SIA-diffusivity-based) stability criteria. This implies that any parameter change affecting ice speed, reporting frequency, etc may have an unpredictable and hard to understand influence on bed deformation.

@ckhroulev ckhroulev added the bug label Nov 28, 2023
@ckhroulev ckhroulev self-assigned this Nov 28, 2023
@bueler
Copy link
Member

bueler commented Nov 28, 2023

Why not have an accumulating-load variable, updated at each short time step, to approximate the time-integral of the load, which is then divided by the long time step to get the average load (and zeroed-out) at each bed deformation computation?

@ckhroulev
Copy link
Member Author

That's exactly what I have in mind.

@bueler
Copy link
Member

bueler commented Nov 28, 2023

Sorry I failed to put it in, long ago.

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

No branches or pull requests

2 participants