Skip to content

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

This project calibrates OGGM's (Maussion et al., 2019) flux-based scheme using NSGA-II based Multiobjective Optimization (Deb et al., 2002). The NSGA-II algorithm from pymoo python package has been used (Blank et al., 2020).

First you will need to install OGGM on your system. Please visit (https://docs.oggm.org/en/stable/installing-oggm.html)

A breif desription of the individual script files in the folder /scripts:

  • CustomClimateProcessing.py: This is a modification of the original code available in OGGM repository ('https://github.com/OGGM/oggm/blob/master/oggm/core/climate.py'). It takes the geopotential, precipitation and temperature data from the ERA5-Land (1950-2024) and reprojects the data on the glacier flowlines. Further required for mass balance modelling.
  • GlacierInversion.py: This script defines different functions to create a glacier directory from scratch.
  • dynamic_simulation.py: This script lists functions that implements flux-based scheme for time varying simulations.
  • UserUtility.py: Some utility functions.
  • kCalibration.py: Lists some functions used for reference velocity and ice thickness data processing.
  • kCalibration_MOO.py: The main calibration script. Calls specific functions defined in above scripts. Objective fucntions and constraints are defined in this script. Returns log file containing all the feasible solutions. NOTE: DOES NOT RETURN PARETO FRONT AND COMPROMISE SOLUTIONS. PARETO FRONT AND COMPROMISE SOLUTIONS MUST BE OBTAINED FROM PRE-PROCESSING OF THE OUTPUT LOG FILE.
  • uncertainty.py: Using the pareto front and the compromise solution(s) of the model input parameters, runs the flux-based scheme (final simulation). The central and 5th and 95th values of the output, glacier length, calving rate, calving mass flux and calving mass balance are computed. Furthermore, diagnostic variables (central and 5th and 95th percentile values) of frontal point lake depth and frontal freeboard are computed.

How to run the programme:

  • Prepare the data as per the format
  • Run kCalibration_MOO.py. Store the output log
  • Process the compromise solution and pareto front solutions (script not included in the repoaitory currently)
  • Using the compromise and pareto front solutions of model input parameters run uncertainty.py for sinal simulation

About

NSGA-II based multiobjective optimization set up for calibrating the glacier models in OGGM, for lake-terminating glacier

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages