Calibrator#

class dtcg.integration.calibration.Calibrator(model_matrix=None)[source]#

Bases: object

Bindings for calibrating OGGM models.

Methods

__init__([model_matrix])

calibrate(gdir, model_matrix, ref_mb)

Calibrate an OGGM glacier model.

get_calibrated_models(gdir, model_class, ref_mb)

Get calibrated models.

get_calibration_mb(ref_mb, geo_period)

Get calibration mass balance for a specific reference period.

get_geodetic_mb(gdir)

Get geodetic mass balances for a glacier.

get_nearest(items, pivot)

set_model_matrix(name, model, geo_period, ...)

Set model parameters for calibration.

Parameters:

model_matrix (dict)

__init__(model_matrix=None)[source]#
Parameters:

model_matrix (dict)

calibrate(gdir, model_matrix, ref_mb)[source]#

Calibrate an OGGM glacier model.

Parameters:
  • gdir (GlacierDirectory) – Glacier directory.

  • model_matrix (dict) – Model parameters for different run configurations.

  • ref_mb (float) – Reference mass balance.

Returns:

Calibrated mass balance model instances, flowlines, and specific mass balances for each run configuration in the model matrix.

Return type:

tuple

get_calibrated_models(
gdir,
model_class,
ref_mb,
geodetic_period='',
years=None,
model_calib=None,
model_flowlines=None,
smb=None,
daily=False,
calibration_filesuffix='',
calibration_parameters=None,
**kwargs,
)[source]#

Get calibrated models.

Note this uses all three calibration parameters, with prcp_fac as the first parameter.

Parameters:
  • gdir (GlacierDirectory) – Glacier directory.

  • model_class (oggm.MassBalanceModel) – Any mass balance model that subclasses MonthlyTIModel.

  • ref_mb (pd.DataFrame) – Reference mass balance.

  • geodetic_period (str, default empty string) – The reference calibration period in the format: “Y-M-D_Y-M-D”

  • years (list, default None) – Years for which to calculate the specific mass balance. Ensure these are float years when using MonthlyTI.

  • model_calib (dict) – Store calibrated models derived from mb_model_class

  • model_flowlines (dict) – Store calibrated MultipleFlowlineMassBalanceModel.

  • smb (dict) – Store specific mass balance.

  • daily (bool, default False) – Process daily specific mass balance.

  • calibration_filesuffix (str, default empty string) – Calibration filesuffix.

  • calibration_parameters (dict, default None) – Extra arguments passed to mb_calibration_from_scalar_mb.

  • kwargs – Extra arguments passed to the mass balance model used for calibration.

Returns:

Calibrated model instances for each calibration parameter, calibrated flowline models for each parameter, and specific mass balance for each calibrated flowline model.

Return type:

tuple

get_calibration_mb(ref_mb, geo_period)[source]#

Get calibration mass balance for a specific reference period.

Parameters:
  • ref_mb (pd.DataFrame) – Reference mass balances for a glacier.

  • geo_period (str) – Reference calibration period. This should be a value in ref_mb[“period”].

Returns:

Mass balance used for calibration.

Return type:

float

get_geodetic_mb(gdir)[source]#

Get geodetic mass balances for a glacier.

Returns:

Geodetic mass balances for a specific glacier for different reference periods.

Return type:

pd.DataFrame

Parameters:

gdir (GlacierDirectory)

set_model_matrix(
name,
model,
geo_period,
**kwargs,
)[source]#

Set model parameters for calibration.

Parameters:
  • name (str) – Name of configuration parameters. Ideally this should match the settings filesuffix.

  • model (oggm.core.massbalance.MassBalanceModel) – OGGM mass balance model class.

  • geo_period (str) – Reference mass balance period in the format YYYY-MM-DD_YYYY-MM-DD.

  • kwargs – Additional arguments passed to the mass balance model class.