pyissm.model.classes.hydrology

Hydrology classes for ISSM.

Classes

armapw([other])

ARMAPW hydrology class for ISSM.

dc([other])

Dual Porous Continuum Equivalent (DC) hydrology class for ISSM.

glads([other])

GlaDS hydrology class for ISSM.

pism([other])

PISM hydrology class for ISSM.

shakti([other])

Shakti hydrology class for ISSM.

shreve([other])

Shreve hydrology class for ISSM.

tws([other])

TWS hydrology class for ISSM.

class pyissm.model.classes.hydrology.armapw(other=None)

Bases: manage_state

ARMAPW hydrology class for ISSM.

This class contains the default parameters for the ARMA piecewise (armapw) hydrology model in the ISSM framework.

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 [unitless].

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.), dimensioned by basins, periods, and orders.

Type:

numpy.ndarray, default=np.nan

arma_timestep

Time resolution of the ARMA model [yr].

Type:

float, default=0

ar_order

Order of the autoregressive model [unitless].

Type:

int, default=0

ma_order

Order of the moving-average model [unitless].

Type:

int, default=0

arlag_coefs

Basin-specific vectors of AR lag coefficients [unitless].

Type:

numpy.ndarray, default=np.nan

malag_coefs

Basin-specific vectors of MA lag coefficients [unitless].

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

basin_id

Basin number assigned to each element [unitless].

Type:

numpy.ndarray, default=np.nan

monthlyfactors

Monthly multiplicative factor on the subglacial water pressure, specified per basin (size: [num_basins, 12]).

Type:

numpy.ndarray, default=np.nan

requested_outputs

Additional outputs requested.

Type:

list, default=[‘default’]

Examples

>>> md.hydrology = pyissm.model.classes.hydrology.armapw()
check_consistency(md, solution, analyses)

Check consistency of the [hydrology.armapw] 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 [hydrology.armapw] 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.hydrology.dc(other=None)

Bases: manage_state

Dual Porous Continuum Equivalent (DC) hydrology class for ISSM.

This class contains the default parameters for the dual continuum (dc) hydrology model in the ISSM framework.

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.

water_compressibility

Compressibility of water [Pa^-1].

Type:

float, default=5.04e-10

isefficientlayer

Use efficient drainage system [1: true, 0: false].

Type:

int, default=1

penalty_factor

Exponent used in the penalisation method [dimensionless].

Type:

int, default=3

penalty_lock

Stabilize unstable constraints (default 0: no stabilization).

Type:

int, default=0

rel_tol

Tolerance for nonlinear iteration between layers [dimensionless].

Type:

float, default=1.0e-06

max_iter

Maximum number of nonlinear iterations.

Type:

int, default=100

steps_per_step

Number of hydrology steps per time step.

Type:

int, default=1

step_adapt

Adaptive sub-stepping [1: true, 0: false].

Type:

int, default=0

averaging

Averaging method for steps (0: Arithmetic, 1: Geometric, 2: Harmonic).

Type:

int, default=0

sedimentlimit_flag

Type of upper limit for the inefficient layer (0: none, 1: user, 2: hydrostatic, 3: normal stress).

Type:

int, default=0

sedimentlimit

User-defined upper limit for the inefficient layer [m].

Type:

float, default=0

transfer_flag

Transfer method between layers (0: none, 1: constant leakage).

Type:

int, default=1

unconfined_flag

Use unconfined scheme (0: confined only, 1: confined-unconfined).

Type:

int, default=0

leakage_factor

User-defined leakage factor [m].

Type:

float, default=1.0e-10

basal_moulin_input

Water flux at a given point [m3 s^-1].

Type:

numpy.ndarray, default=np.nan

requested_outputs

Additional outputs requested.

Type:

list, default=[‘default’]

spcsediment_head

Sediment water head constraints [m above MSL].

Type:

numpy.ndarray, default=np.nan

mask_thawed_node

Mask for thawed nodes (0: frozen).

Type:

numpy.ndarray, default=np.nan

sediment_transmitivity

Sediment transmissivity [m^2/s].

Type:

float, default=8.0e-04

sediment_compressibility

Sediment compressibility [Pa^-1].

Type:

float, default=1.0e-08

sediment_porosity

Sediment porosity [dimensionless].

Type:

float, default=0.4

sediment_thickness

Sediment thickness [m].

Type:

float, default=20.0

spcepl_head

EPL water head constraints [m above MSL].

Type:

numpy.ndarray, default=np.nan

mask_eplactive_node

Mask for active EPL nodes (1: active, 0: inactive).

Type:

numpy.ndarray, default=np.nan

epl_compressibility

EPL compressibility [Pa^-1].

Type:

float, default=1.0e-08

epl_porosity

EPL porosity [dimensionless].

Type:

float, default=0.4

epl_initial_thickness

EPL initial thickness [m].

Type:

float, default=1.0

epl_thick_comp

EPL thickness computation flag.

Type:

int, default=1

epl_max_thickness

EPL maximal thickness [m].

Type:

float, default=5.0

epl_conductivity

EPL conductivity [m^2/s].

Type:

float, default=8.0e-02

epl_colapse_thickness

EPL collapsing thickness [m] (computed as sediment_transmitivity / epl_conductivity).

Type:

float

eplflip_lock

Lock EPL activity to avoid flip-flopping (default 0: no stabilization).

Type:

int, default=0

Examples

>>> md.hydrology = pyissm.model.classes.hydrology.dc()
check_consistency(md, solution, analyses)

Check consistency of the [hydrology.dc] 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

initialize(md)

Initialise [hydrology.dc] empty fields.

If current values of required fields are np.nan, they will be set to default required shapes/values and warnings will be issued.

Examples

>>> md.hydrology = pyissm.model.classes.hydrology.dc()
# At this point, initial fields are np.nan
# After calling initialize, they will be set to default shapes/values with warnings issued.
>>> md.hydrology.initialize(md)
marshall_class(fid, prefix, md=None)

Marshall [hydrology.dc] 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.hydrology.glads(other=None)

Bases: manage_state

GlaDS hydrology class for ISSM.

This class contains the default parameters for the Glacier Drainage System (GlaDS) hydrology model in the ISSM framework.

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.

pressure_melt_coefficient

Pressure melt coefficient (c_t) [K Pa^-1].

Type:

float, default=7.5e-8

sheet_conductivity

Sheet conductivity (k) [m^(7/4) kg^(-1/2)].

Type:

float or ndarray, default=np.nan

cavity_spacing

Cavity spacing (l_r) [m].

Type:

float, default=2.0

bump_height

Typical bump height (h_r) [m].

Type:

float or ndarray, default=np.nan

omega

Transition parameter (omega) [].

Type:

float, default=1./2000.

sheet_alpha

First sheet-flow exponent (alpha_s) [].

Type:

float, default=5.0/4.0

sheet_beta

Second sheet-flow exponent (beta_s) [].

Type:

float, default=3.0/2.0

rheology_B_base

Ice rheology factor B at base of ice (B) [Pa s^(-1/3)].

Type:

float or ndarray, default=np.nan

isincludesheetthickness

Add rho_w*g*h in effective pressure calculation? 1: yes, 0: no.

Type:

int, default=0

creep_open_flag

Allow cavities to open by creep when N<0? 1: yes, 0: no.

Type:

int, default=1

ischannels

Allow for channels? True or False.

Type:

bool, default=False

channel_conductivity

Channel conductivity (k_c) [m^(3/2) kg^(-1/2)].

Type:

float, default=5.e-2

channel_sheet_width

Channel sheet width [m].

Type:

float, default=2.0

channel_alpha

First channel-flow exponent (alpha_c) [].

Type:

float, default=5.0/4.0

channel_beta

Second channel-flow exponent (beta_c) [].

Type:

float, default=3.0/2.0

spcphi

Hydraulic potential Dirichlet constraints [Pa].

Type:

float or numpy.ndarray, default=np.nan

moulin_input

Moulin input (Q_s) [m^3/s].

Type:

float or numpy.ndarray, default=np.nan

neumannflux

Water flux applied along the model boundary [m^2/s].

Type:

float or numpy.ndarray, default=np.nan

englacial_void_ratio

Englacial void ratio (e_v).

Type:

float, default=1.e-5

requested_outputs

Additional outputs requested.

Type:

list, default=[‘default’]

melt_flag

User specified basal melt? 0: no (default), 1: use md.basalforcings.groundedice_melting_rate.

Type:

int, default=0

istransition

Use standard [0, default] or transition model [1].

Type:

int, default=0

Examples

>>> md.hydrology = pyissm.model.classes.hydrology.glads()
check_consistency(md, solution, analyses)

Check consistency of the [hydrology.glads] 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 [hydrology.glads] 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.hydrology.pism(other=None)

Bases: manage_state

PISM hydrology class for ISSM.

This class contains the default parameters for the PISM hydrology model in the ISSM framework.

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.

drainage_rate

Fixed drainage rate [mm/yr].

Type:

numpy.ndarray, default=np.nan

watercolumn_max

Maximum water column height [m], recommended default: 2 m.

Type:

float, default=np.nan

requested_outputs

List of requested output variables.

Type:

list, default=[‘default’]

Examples

>>> md.hydrology = pyissm.model.classes.hydrology.pism()
check_consistency(md, solution, analyses)

Check consistency of the [hydrology.pism] 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 [hydrology.pism] 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.hydrology.shakti(other=None)

Bases: manage_state

Shakti hydrology class for ISSM.

This class contains the default parameters for the Shakti hydrology model in the ISSM framework.

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.

head

Subglacial hydrology water head [m].

Type:

float or numpy.ndarray, default=np.nan

gap_height

Height of gap separating ice from bed [m].

Type:

float or numpy.ndarray, default=np.nan

gap_height_min

Minimum allowed gap height [m].

Type:

float, default=1e-3

gap_height_max

Maximum allowed gap height [m].

Type:

float, default=1.0

bump_spacing

Characteristic bedrock bump spacing [m].

Type:

float or numpy.ndarray, default=np.nan

bump_height

Characteristic bedrock bump height [m].

Type:

float or numpy.ndarray, default=np.nan

englacial_input

Liquid water input from englacial to subglacial system [m/yr].

Type:

float or numpy.ndarray, default=np.nan

moulin_input

Liquid water input from moulins (at the vertices) to subglacial system [m^3/s].

Type:

float or numpy.ndarray, default=np.nan

reynolds

Reynolds number.

Type:

float or numpy.ndarray, default=np.nan

spchead

Water head constraints (NaN means no constraint) [m].

Type:

float or numpy.ndarray, default=np.nan

neumannflux

Water flux applied along the model boundary [m^2/s].

Type:

float or numpy.ndarray, default=np.nan

relaxation

Under-relaxation coefficient for nonlinear iteration.

Type:

float, default=1

storage

Englacial storage coefficient (void ratio).

Type:

float or numpy.ndarray, default=np.nan

requested_outputs

Additional outputs requested.

Type:

list, default=[‘default’]

Examples

>>> md.hydrology = pyissm.model.classes.hydrology.shakti()
check_consistency(md, solution, analyses)

Check consistency of the [hydrology.shakti] 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 [hydrology.shakti] 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.hydrology.shreve(other=None)

Bases: manage_state

Shreve hydrology class for ISSM.

This class contains the default parameters for the Shreve hydrology model in the ISSM framework.

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.

spcwatercolumn

Water thickness constraints (NaN means no constraint) [m].

Type:

numpy.ndarray, default=np.nan

stabilization

Artificial diffusivity (default: 1). Can be more than 1 to increase diffusivity.

Type:

int, default=1

requested_outputs

Additional outputs requested.

Type:

list, default=[‘default’]

Examples

>>> md.hydrology = pyissm.model.classes.hydrology.shreve()
check_consistency(md, solution, analyses)

Check consistency of the [hydrology.shreve] 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 [hydrology.shreve] 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.hydrology.tws(other=None)

Bases: manage_state

TWS hydrology class for ISSM.

This class contains the default parameters for the TWS (two water sheet) hydrology model in the ISSM framework.

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.

spcwatercolumn

Water thickness constraints (NaN means no constraint) [m].

Type:

numpy.ndarray, default=np.nan

requested_outputs

Additional outputs requested.

Type:

list, default=[‘default’]

Examples

>>> md.hydrology = pyissm.model.classes.hydrology.tws()
check_consistency(md, solution, analyses)

Check consistency of the [hydrology.tws] 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 [hydrology.tws] 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