Developer documentation¶
Workflow¶
Tools to set-up and run OGGM.
workflow.init_glacier_regions |
Very first task to do (always). |
workflow.execute_entity_task |
Execute a task on gdirs. |
workflow.gis_prepro_tasks |
Helper function: run all flowlines tasks. |
workflow.climate_tasks |
Helper function: run all climate tasks. |
workflow.inversion_tasks |
Helper function: run all bed inversion tasks. |
Entity tasks¶
Entity tasks are tasks which are applied on single glaciers individually and do not require information from other glaciers (this encompasses the majority of OGGM’s tasks). They are parallelizable.
tasks.define_glacier_region |
Very first task: define the glacier’s local grid. |
tasks.glacier_masks |
Makes a gridded mask of the glacier outlines. |
tasks.compute_centerlines |
Compute the centerlines following Kienholz et al., (2014). |
tasks.initialize_flowlines |
Transforms the geometrical Centerlines in the more “physical” “Inversion Flowlines”. |
tasks.compute_downstream_line |
Compute the line continuing the glacier. |
tasks.compute_downstream_bedshape |
The bedshape obtained by fitting a parabola to the line’s normals. |
tasks.catchment_area |
Compute the catchment areas of each tributary line. |
tasks.catchment_intersections |
Computes the intersections between the catchments. |
tasks.catchment_width_geom |
Compute geometrical catchment widths for each point of the flowlines. |
tasks.catchment_width_correction |
Corrects for NaNs and inconsistencies in the geometrical widths. |
tasks.process_cru_data |
Processes and writes the climate data for this glacier. |
tasks.process_custom_climate_data |
Processes and writes the climate data from a user-defined climate file. |
tasks.process_cesm_data |
Processes and writes the climate data for this glacier. |
tasks.local_mustar |
Compute the local mustar from interpolated tstars. |
tasks.apparent_mb |
Compute the apparent mb from the calibrated mustar. |
tasks.apparent_mb_from_linear_mb |
Compute apparent mb from a linear mass-balance assumption (for testing). |
tasks.mu_candidates |
Computes the mu candidates. |
tasks.prepare_for_inversion |
Prepares the data needed for the inversion. |
tasks.volume_inversion |
Computes the inversion the glacier. |
tasks.distribute_thickness |
Compute a thickness map of the glacier using the nearest centerlines. |
tasks.init_present_time_glacier |
First task after inversion. |
tasks.random_glacier_evolution |
Random glacier dynamics for benchmarking purposes. |
tasks.iterative_initial_glacier_search |
Iterative search for the glacier in year y0. |
tasks.run_from_climate_data |
Runs glacier with climate input from a general circulation model. |
tasks.run_constant_climate |
Run a glacier under a constant climate for a given climate period. |
Global tasks¶
Global tasks are tasks which are run on a set of glaciers (most often: all glaciers in the current run). They are not parallelizable.
tasks.compute_ref_t_stars |
Detects the best t* for the reference glaciers. |
tasks.distribute_t_stars |
After the computation of the reference tstars, apply the interpolation to each individual glacier. |
tasks.crossval_t_stars |
Cross-validate the interpolation of tstar to each individual glacier. |
tasks.optimize_inversion_params |
Optimizes fs and fd based on GlaThiDa thicknesses. |
Classes¶
Listed here are the classes which are relevant at the API level (i.e. classes which are used and re-used across modules and tasks).
TODO: add the model classes, etc.
GlacierDirectory |
Organizes read and write access to the glacier’s files. |
Centerline |
A Centerline has geometrical and flow rooting properties. |
Flowline |
The is the input flowline for the model. |
Mass-balance¶
Mass-balance models found in the core.massbalance
module.
They follow the MassBalanceModel()
interface. Here is a quick summary
of the units and conventions used by all models:
Units¶
The computed mass-balance is in units of [m ice s-1] (“meters of ice per
second”), unless otherwise specified (e.g. for the utility function
get_specific_mb
).
The conversion from the climatic mass-balance ([kg m-2 s-1] ) therefore assumes
an ice density given by cfg.RHO
(currently: 900 kg m-3).
Time¶
The time system used by OGGM is a simple “fraction of year” system, where the floating year can be used for conversion to months and years:
In [1]: from oggm.utils import floatyear_to_date, date_to_floatyear
In [2]: date_to_floatyear(1982, 12)
Out[2]: 1982.9166666666667
In [3]: floatyear_to_date(1.2)