This repository consist of several experiments with Fenics_ice over Smith, Pope, and Kohler Glaciers. They are three narrow ∼ 10 km wide interconnected West Antarctic ice streams.
Note: this repository documentation is a work in progress 👷
The code has been developed to:
- Create a finite element mesh of the region of interest, where simulations will be carried out.
- Generate the all input data (crop to the study domain) needed by Fenics_ice.
And to carry out the following experiments with the model:
- Invert for basal drag and ice stiffness by minimizing the difference between model and observed ice velocities (Jcmis).
- Run the eigendecomposition of the Hessian matrix of the model-observations misfit Jcmis and multiply this, by the inverse of the covariance matrix of the basal drag/ice stiffness.
- And finally project this covariance on a linearization of the time-dependent ice sheet model (using Automatic Differentiation to generate the linearization) and estimate the growth of a QoI (Quantity of Interest) uncertainty over time (e.g. Ice mass loss).
ficetools
: inner python module that host various useful functions for the pre-processing stages, handling files and plotting routines.scripts
: Python and bash scripts to run each data processing stage.prepro_stages
: Python scripts to generate the input data cropped to the study region for all the model stages.run_experiments
: Bash scrips and.toml
configuration files for each run experiment and stage of fenics_ice.plot_stages
: An alternative to Paraview to visualize the model input and output data with matplotlib.post_processing
: Python scripts to re-grid the Fenics_ice output to a rectangular mesh.
config.ini
: Local configuration file for paths to input and output data.setpaths.sh
: Global paths to repository and repository directories.