pyissm.model.classes.frontalforcings

Frontal Forcings classes for ISSM.

Classes

default([other])

Default frontalforcings class for ISSM.

rignot([other])

Rignot frontalforcings class for ISSM.

rignotarma([other])

RignotARMA frontalforcings class for ISSM.

class pyissm.model.classes.frontalforcings.default(other=None)

Bases: manage_state

Default frontalforcings class for ISSM.

This class contains the default parameters for frontal forcings in the ISSM framework. It defines the main frontal forcing-related parameters.

Parameters:

other (any, optional) – Any other class object that contains common fields to inherit from. If values in other differ from default values, they will override the default values.

meltingrate

Melting rate at given location [m/a].

Type:

numpy.ndarray, default=np.nan

ablationrate

Frontal ablation rate at given location [m/a], it contains both calving and melting.

Type:

numpy.ndarray, default=np.nan

Examples

>>> md.frontalforcings = pyissm.model.classes.frontalforcings.default()
check_consistency(md, solution, analyses)

Check consistency of the [frontalforcings.default] parameters.

Parameters:
  • md (pyissm.model.Model) – The model object to check.

  • solution (str) – The solution name to check.

  • analyses (list of str) – List of analyses to check consistency for.

Returns:

md – The model object with any consistency errors noted.

Return type:

pyissm.model.Model

marshall_class(fid, prefix, md=None)

Marshall [frontalforcings.default] parameters to a binary file.

Parameters:
  • fid (file object) – The file object to write the binary data to.

  • prefix (str) – Prefix string used for data identification in the binary file.

  • md (pyissm.model.Model, optional) – ISSM model object needed in some cases.

Return type:

None

class pyissm.model.classes.frontalforcings.rignot(other=None)

Bases: manage_state

Rignot frontalforcings class for ISSM.

This class contains the parameters for frontal forcings based on the Rignot methodology in the ISSM framework. It defines the main frontal forcing-related parameters specific to the Rignot approach.

Parameters:

other (any, optional) – Any other class object that contains common fields to inherit from. If values in other differ from default values, they will override the default values.

basin_id

Basin ID for elements.

Type:

numpy.ndarray, default=np.nan

num_basins

Number of basins.

Type:

int, default=0

subglacial_discharge

Sum of subglacial discharge for each basin [m/d].

Type:

numpy.ndarray, default=np.nan

thermalforcing

Thermal forcing [°C].

Type:

numpy.ndarray, default=np.nan

Examples

>>> md.frontalforcings = pyissm.model.classes.frontalforcings.rignot()
check_consistency(md, solution, analyses)

Check consistency of the [frontalforcings.rignot] parameters.

Parameters:
  • md (pyissm.model.Model) – The model object to check.

  • solution (str) – The solution name to check.

  • analyses (list of str) – List of analyses to check consistency for.

Returns:

md – The model object with any consistency errors noted.

Return type:

pyissm.model.Model

marshall_class(fid, prefix, md=None)

Marshall [frontalforcings.rignot] parameters to a binary file.

Parameters:
  • fid (file object) – The file object to write the binary data to.

  • prefix (str) – Prefix string used for data identification in the binary file.

  • md (pyissm.model.Model, optional) – ISSM model object needed in some cases.

Return type:

None

class pyissm.model.classes.frontalforcings.rignotarma(other=None)

Bases: manage_state

RignotARMA frontalforcings class for ISSM.

This class contains the parameters for frontal forcings based on the Rignot methodology with ARMA (AutoRegressive Moving Average) modeling in the ISSM framework. It defines the main frontal forcing-related parameters specific to the RignotARMA approach, including polynomial trends, breakpoints, ARMA coefficients, and subglacial discharge modeling.

Parameters:

other (any, optional) – Any other class object that contains common fields to inherit from. If values in other differ from default values, they will override the default values.

num_basins

Number of different basins.

Type:

int, default=0

num_params

Number of different parameters in the piecewise-polynomial (1:intercept only, 2:with linear trend, 3:with quadratic trend, etc.).

Type:

int, default=0

num_breaks

Number of different breakpoints in the piecewise-polynomial (separating num_breaks+1 periods).

Type:

int, default=0

polynomialparams

Coefficients for the polynomial (const, trend, quadratic, etc.), dim1 for basins, dim2 for periods, dim3 for orders.

Type:

numpy.ndarray, default=np.nan

datebreaks

Dates at which the breakpoints in the piecewise polynomial occur (1 row per basin) [yr].

Type:

numpy.ndarray, default=np.nan

ar_order

Order of the autoregressive model.

Type:

int, default=0

ma_order

Order of the moving-average model.

Type:

int, default=0

arma_timestep

Time resolution of the ARMA model [yr].

Type:

int, default=0

arlag_coefs

Basin-specific vectors of AR lag coefficients.

Type:

numpy.ndarray, default=np.nan

malag_coefs

Basin-specific vectors of MA lag coefficients.

Type:

numpy.ndarray, default=np.nan

monthlyvals_intercepts

Monthly intercept values for each basin.

Type:

numpy.ndarray, default=np.nan

Monthly trend values for each basin.

Type:

numpy.ndarray, default=np.nan

monthlyvals_numbreaks

Number of breakpoints for monthly values.

Type:

int, default=0

monthlyvals_datebreaks

Dates at which the monthly value breakpoints occur.

Type:

numpy.ndarray, default=np.nan

basin_id

Basin number assigned to each element.

Type:

numpy.ndarray, default=np.nan

subglacial_discharge

Sum of subglacial discharge for each basin [m/d].

Type:

numpy.ndarray, default=np.nan

isdischargearma

Whether an ARMA model is also used for the subglacial discharge (if 0: subglacial_discharge is used, if 1: sd_ parameters are used).

Type:

int, default=0

sd_ar_order

Order of the subglacial discharge autoregressive model.

Type:

int, default=0

sd_ma_order

Order of the subglacial discharge moving-average model.

Type:

int, default=0

sd_arma_timestep

Time resolution of the subglacial discharge ARMA model [yr].

Type:

int, default=0

sd_arlag_coefs

Basin-specific vectors of AR lag coefficients for subglacial discharge.

Type:

numpy.ndarray, default=np.nan

sd_malag_coefs

Basin-specific vectors of MA lag coefficients for subglacial discharge.

Type:

numpy.ndarray, default=np.nan

sd_monthlyfrac

Basin-specific vectors of 12 values with fraction of the annual discharge occurring every month.

Type:

numpy.ndarray, default=np.nan

sd_num_breaks

Number of different breakpoints in the subglacial discharge piecewise-polynomial (separating sd_num_breaks+1 periods).

Type:

int, default=0

sd_num_params

Number of different parameters in the subglacial discharge piecewise-polynomial.

Type:

int, default=0

sd_polynomialparams

Coefficients for the subglacial discharge polynomial (const, trend, quadratic, etc.).

Type:

numpy.ndarray, default=np.nan

sd_datebreaks

Dates at which the breakpoints in the subglacial discharge piecewise polynomial occur (1 row per basin) [yr].

Type:

numpy.ndarray, default=np.nan

Examples

>>> md.frontalforcings = pyissm.model.classes.frontalforcings.rignotarma()
check_consistency(md, solution, analyses)

Check consistency of the [frontalforcings.rignotarma] parameters.

Parameters:
  • md (pyissm.model.Model) – The model object to check.

  • solution (str) – The solution name to check.

  • analyses (list of str) – List of analyses to check consistency for.

Returns:

md – The model object with any consistency errors noted.

Return type:

pyissm.model.Model

marshall_class(fid, prefix, md=None)

Marshall [frontalforcings.rignotarma] parameters to a binary file.

Parameters:
  • fid (file object) – The file object to write the binary data to.

  • prefix (str) – Prefix string used for data identification in the binary file.

  • md (pyissm.model.Model, optional) – ISSM model object needed in some cases.

Return type:

None