oggm.FlowlineModel#
- class oggm.FlowlineModel(flowlines, mb_model=None, y0=0.0, glen_a=None, fs=None, inplace=False, smooth_trib_influx=True, is_tidewater=False, is_lake_terminating=False, mb_elev_feedback='annual', check_for_boundaries=None, water_level=None, required_model_steps='monthly')[source]#
Interface to OGGM’s flowline models
- __init__(flowlines, mb_model=None, y0=0.0, glen_a=None, fs=None, inplace=False, smooth_trib_influx=True, is_tidewater=False, is_lake_terminating=False, mb_elev_feedback='annual', check_for_boundaries=None, water_level=None, required_model_steps='monthly')[source]#
Create a new flowline model from the flowlines and a MB model.
- Parameters:
- flowlineslist
a list of
oggm.Flowline
instances, sorted by order- mb_model
oggm.core.massbalance.MassBalanceModel
the MB model to use
- y0int
the starting year of the simulation
- glen_afloat
glen’s parameter A
- fs: float
sliding parameter
- inplacebool
whether or not to make a copy of the flowline objects for the run setting to True implies that your objects will be modified at run time by the model (can help to spare memory)
- smooth_trib_influxbool
whether to smooth the mass influx from the incoming tributary. The default is to use a gaussian kernel on a 9 grid points window.
- is_tidewater: bool, default: False
is this a tidewater glacier?
- is_lake_terminating: bool, default: False
is this a lake terminating glacier?
- mb_elev_feedbackstr, default: ‘annual’
‘never’, ‘always’, ‘annual’, or ‘monthly’: how often the mass balance should be recomputed from the mass balance model. ‘Never’ is equivalent to ‘annual’ but without elevation feedback at all (the heights are taken from the first call).
- check_for_boundariesbool
whether the model should raise an error when the glacier exceeds the domain boundaries. The default is to follow PARAMS[‘error_when_glacier_reaches_boundaries’]
- required_model_stepsstr
some Flowline models have an adaptive time stepping scheme, which is randomly taking steps towards the goal of a “run_until”. The default (‘monthly’) makes sure that the model results are consistent whether the users want data at monthly or annual timesteps by forcing the model to land on monthly steps even if only annual updates are required. You may want to change this for optimisation reasons for models that don’t require adaptive steps (for example the deltaH method).
Methods
__init__
(flowlines[, mb_model, y0, glen_a, ...])Create a new flowline model from the flowlines and a MB model.
check_domain_end
()Returns False if the glacier reaches the domains bound.
get_mb
(heights[, year, fl_id, fls])Get the mass balance at the requested height and time.
reset_flowlines
(flowlines[, inplace, ...])Reset the initial model flowlines
reset_y0
(y0)Reset the initial model time
run_until
(y1)Runs the model from the current year up to a given year date y1.
run_until_and_store
(y1[, diag_path, ...])Runs the model and returns intermediate steps in xarray datasets.
run_until_equilibrium
([rate, ystep, max_ite])Runs the model until an equilibrium state is reached.
step
(dt)Advance the numerical simulation of one single step.
to_geometry_netcdf
(path)Creates a netcdf group file storing the state of the model.
Attributes
area_km2
area_m2
length_m
mb_model
volume_bsl_km3
volume_bsl_m3
volume_bwl_km3
volume_bwl_m3
volume_km3
volume_m3
yr