pyissm.model.classes.friction
Friction classes for ISSM.
Classes
|
Coulomb friction class for ISSM. |
|
Coulomb2 friction class for ISSM. |
|
Default friction class for ISSM. |
|
Hydro friction class for ISSM. |
|
Josh friction class for ISSM. |
|
PISM friction class for ISSM. |
|
Regularized Coulomb friction class for ISSM. |
|
Regularized Coulomb 2 friction class for ISSM. |
|
Schoof friction class for ISSM. |
|
Shakti friction class for ISSM. |
|
Waterlayer friction class for ISSM. |
|
Weertman friction class for ISSM. |
- class pyissm.model.classes.friction.coulomb(other=None)
Bases:
manage_stateCoulomb friction class for ISSM.
This class contains the parameters for the Coulomb friction law in the ISSM framework. It defines the main friction-related parameters specific to the Coulomb law.
- Parameters:
other (any, optional) – Any other class object that contains common fields to inherit from. If values in
otherdiffer from default values, they will override the default values.
- coefficient
Power law (Weertman) friction coefficient [SI].
- Type:
numpy.ndarray, default=np.nan
- coefficientcoulomb
Coulomb friction coefficient [SI].
- Type:
numpy.ndarray, default=np.nan
- p
p exponent.
- Type:
numpy.ndarray, default=np.nan
- q
q exponent.
- Type:
numpy.ndarray, default=np.nan
- coupling
Coupling flag: 0 for default, 1 for forcing (provide md.friction.effective_pressure), 2 for coupled (not implemented yet).
- Type:
int, default=0
- effective_pressure
Effective Pressure for the forcing if not coupled [Pa].
- Type:
numpy.ndarray, default=np.nan
- effective_pressure_limit
Neff do not allow to fall below a certain limit: effective_pressure_limit * rho_ice * g * thickness (default 0).
- Type:
numpy.ndarray, default=0
Examples
>>> md.friction = pyissm.model.classes.friction.coulomb()
- check_consistency(md, solution, analyses)
Check consistency of the [friction.coulomb] 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:
- marshall_class(fid, prefix, md=None)
Marshall [friction.coulomb] 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.friction.coulomb2(other=None)
Bases:
manage_stateCoulomb2 friction class for ISSM.
This class contains the parameters for the Coulomb2 friction law in the ISSM framework. It defines the main friction-related parameters specific to the Coulomb2 law.
- Parameters:
other (any, optional) – Any other class object that contains common fields to inherit from. If values in
otherdiffer from default values, they will override the default values.
- coefficient
Power law (Weertman) friction coefficient [SI].
- Type:
numpy.ndarray, default=np.nan
- coefficientcoulomb
Coulomb friction coefficient [SI].
- Type:
numpy.ndarray, default=np.nan
- p
p exponent.
- Type:
numpy.ndarray, default=np.nan
- q
q exponent.
- Type:
numpy.ndarray, default=np.nan
- coupling
Coupling flag: 0 for default, 1 for forcing (provide md.friction.effective_pressure), 2 for coupled (not implemented yet).
- Type:
int, default=0
- effective_pressure
Effective Pressure for the forcing if not coupled [Pa].
- Type:
numpy.ndarray, default=np.nan
- effective_pressure_limit
Neff do not allow to fall below a certain limit: effective_pressure_limit * rho_ice * g * thickness (default 0).
- Type:
numpy.ndarray, default=0
Examples
>>> md.friction = pyissm.model.classes.friction.coulomb2()
- check_consistency(md, solution, analyses)
Check consistency of the [friction.coulomb2] 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:
- marshall_class(fid, prefix, md=None)
Marshall [friction.coulomb2] 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.friction.default(other=None)
Bases:
manage_stateDefault friction class for ISSM.
This class contains the parameters for the default (Budd) friction law in the ISSM framework. It defines the main friction-related parameters specific to the Budd law.
- Parameters:
other (any, optional) – Any other class object that contains common fields to inherit from. If values in
otherdiffer from default values, they will override the default values.
- coefficient
Friction coefficient [SI].
- Type:
nump.ndarray, default=np.nan
- p
p exponent.
- Type:
nump.ndarray, default=np.nan
- q
q exponent.
- Type:
nump.ndarray, default=np.nan
- coupling
Coupling flag 0: uniform sheet (negative pressure ok, default), 1: ice pressure only, 2: water pressure assuming uniform sheet (no negative pressure), 3: use provided effective_pressure, 4: used coupled model (not implemented yet).
- Type:
int, default=0
- linearize
0: not linearized, 1: interpolated linearly, 2: constant per element (default is 0).
- Type:
int, default=0
- effective_pressure
Effective Pressure for the forcing if not coupled [Pa].
- Type:
nump.ndarray, default=np.nan
- effective_pressure_limit
Neff do not allow to fall below a certain limit: effective_pressure_limit * rho_ice * g * thickness (default 0).
- Type:
nump.ndarray, default=0
Examples
>>> md.friction = pyissm.model.classes.friction.default()
- check_consistency(md, solution, analyses)
Check consistency of the [friction.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:
- marshall_class(fid, prefix, md=None)
Marshall [friction.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.friction.hydro(other=None)
Bases:
manage_stateHydro friction class for ISSM.
This class contains the parameters for the hydro (Gagliardini 2007) friction law in the ISSM framework. It defines the main friction-related parameters specific to the hydro law.
- Parameters:
other (any, optional) – Any other class object that contains common fields to inherit from. If values in
otherdiffer from default values, they will override the default values.
- coupling
Coupling flag 0: uniform sheet (negative pressure ok, default), 1: ice pressure only, 2: water pressure assuming uniform sheet (no negative pressure), 3: use provided effective_pressure, 4: use coupled model (not implemented yet).
- Type:
int, default=0
- q
Friction law exponent q >= 1.
- Type:
numpy.ndarray, default=np.nan
- C
Friction law max value (Iken bound).
- Type:
numpy.ndarray, default=np.nan
- As
Sliding parameter without cavitation [m Pa^-n s^-1].
- Type:
numpy.ndarray, default=np.nan
- effective_pressure
Effective Pressure for the forcing if not coupled [Pa].
- Type:
numpy.ndarray, default=np.nan
- effective_pressure_limit
Neff do not allow to fall below a certain limit: effective_pressure_limit * rho_ice * g * thickness (default 0).
- Type:
numpy.ndarray, default=0
Examples
>>> md.friction = pyissm.model.classes.friction.hydro()
- check_consistency(md, solution, analyses)
Check consistency of the [friction.hydro] 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:
- marshall_class(fid, prefix, md=None)
Marshall [friction.hydro] 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.friction.josh(other=None)
Bases:
manage_stateJosh friction class for ISSM.
This class contains the parameters for the Josh friction law in the ISSM framework. It defines the main friction-related parameters specific to the Josh law.
- Parameters:
other (any, optional) – Any other class object that contains common fields to inherit from. If values in
otherdiffer from default values, they will override the default values.
- coefficient
Friction coefficient [SI].
- Type:
numpy.ndarray, default=np.nan
- pressure_adjusted_temperature
Friction pressure_adjusted_temperature (T - Tpmp) [K].
- Type:
numpy.ndarray, default=np.nan
- gamma
(T - Tpmp)/gamma [K].
- Type:
numpy.ndarray, default=1.
- effective_pressure_limit
Neff do not allow to fall below a certain limit: effective_pressure_limit * rho_ice * g * thickness (default 0).
- Type:
numpy.ndarray, default=0
- coefficient_max
effective friction C = min(coefficient_max, sqrt(exp(T_b(modern) - T_b(t))/gamma) * coefficient)
- Type:
float, default=300.
Examples
>>> md.friction = pyissm.model.classes.friction.josh()
- check_consistency(md, solution, analyses)
Check consistency of the [friction.josh] 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:
- marshall_class(fid, prefix, md=None)
Marshall [friction.josh] 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.friction.pism(other=None)
Bases:
manage_statePISM friction class for ISSM.
This class contains the parameters for the PISM friction law in the ISSM framework. It defines the main friction-related parameters specific to the PISM law.
- Parameters:
other (any, optional) – Any other class object that contains common fields to inherit from. If values in
otherdiffer from default values, they will override the default values.
- pseudoplasticity_exponent
Pseudoplasticity exponent [dimensionless].
- Type:
float, default=0.6
- threshold_speed
Threshold speed [m/yr].
- Type:
float, default=100.
- delta
Lower limit of the effective pressure, expressed as a fraction of overburden pressure [dimensionless].
- Type:
float, default=0.02
- void_ratio
Void ratio at a reference effective pressure [dimensionless].
- Type:
float, default=0.69
- till_friction_angle
Till friction angle [deg], recommended default: 30 deg.
- Type:
float, default=np.nan
- sediment_compressibility_coefficient
Coefficient of compressibility of the sediment [dimensionless], recommended default: 0.12.
- Type:
float, default=np.nan
Examples
>>> md.friction = pyissm.model.classes.friction.pism()
- check_consistency(md, solution, analyses)
Check consistency of the [friction.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:
- marshall_class(fid, prefix, md=None)
Marshall [friction.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.friction.regcoulomb(other=None)
Bases:
manage_stateRegularized Coulomb friction class for ISSM.
This class contains the parameters for the regularized Coulomb friction law (Joughin et al., 2019) in the ISSM framework. It defines the main friction-related parameters specific to the regularized Coulomb law.
- Parameters:
other (any, optional) – Any other class object that contains common fields to inherit from. If values in
otherdiffer from default values, they will override the default values.
- C
Friction coefficient [SI].
- Type:
floatornumpy.ndarray, default=np.nan
- u0
Velocity controlling plastic limit.
- Type:
floatornumpy.ndarray, default=1000
- m
m exponent (set to m = 3 in original paper).
- Type:
floatornumpy.ndarray, default=np.nan
Examples
>>> md.friction = pyissm.model.classes.friction.regcoulomb()
- check_consistency(md, solution, analyses)
Check consistency of the [friction.regcoulomb] 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:
- marshall_class(fid, prefix, md=None)
Marshall [friction.regcoulomb] 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.friction.regcoulomb2(other=None)
Bases:
manage_stateRegularized Coulomb 2 friction class for ISSM.
This class contains the parameters for the regularized Coulomb 2 friction law (see Zoet and Iverson 2020 or Choi et al., 2022) in the ISSM framework. It defines the main friction-related parameters specific to the regularized Coulomb 2 law.
- Parameters:
other (any, optional) – Any other class object that contains common fields to inherit from. If values in
otherdiffer from default values, they will override the default values.
- C
Friction coefficient [SI].
- Type:
numpy.ndarray, default=np.nan
- K
K parameter for velocity controlling plastic limit.
- Type:
numpy.ndarray, default=np.nan
- m
m exponent.
- Type:
numpy.ndarray, default=np.nan
- effective_pressure_limit
Neff do not allow to fall below a certain limit: effective_pressure_limit * rho_ice * g * thickness (default 0).
- Type:
float, default=0
Examples
>>> md.friction = pyissm.model.classes.friction.regcoulomb2()
- check_consistency(md, solution, analyses)
Check consistency of the [friction.regcoulomb2] 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:
- marshall_class(fid, prefix, md=None)
Marshall [friction.regcoulomb2] 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.friction.schoof(other=None)
Bases:
manage_stateSchoof friction class for ISSM.
This class contains the parameters for the Schoof sliding law in the ISSM framework. It defines the main friction-related parameters specific to the Schoof law.
- Parameters:
other (any, optional) – Any other class object that contains common fields to inherit from. If values in
otherdiffer from default values, they will override the default values.
- C
Friction coefficient [SI].
- Type:
numpy.ndarray, default=np.nan
- Cmax
Iken’s bound (typically between 0.17 and 0.84) [SI].
- Type:
numpy.ndarray, default=np.nan
- m
m exponent (generally taken as m = 1/n = 1/3).
- Type:
numpy.ndarray, default=np.nan
- coupling
Coupling flag 0: uniform sheet (negative pressure ok, default), 1: ice pressure only, 2: water pressure assuming uniform sheet (no negative pressure), 3: use provided effective_pressure, 4: used coupled model (not implemented yet).
- Type:
int, default=0
- effective_pressure
Effective Pressure for the forcing if not coupled [Pa].
- Type:
numpy.ndarray, default=np.nan
- effective_pressure_limit
Neff do not allow to fall below a certain limit: effective_pressure_limit * rho_ice * g * thickness (default 0).
- Type:
float, default=0
Examples
>>> md.friction = pyissm.model.classes.friction.schoof()
- check_consistency(md, solution, analyses)
Check consistency of the [friction.schoof] 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:
- marshall_class(fid, prefix, md=None)
Marshall [friction.schoof] 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.friction.shakti(other=None)
Bases:
manage_stateShakti friction class for ISSM.
This class contains the parameters for the Shakti friction law in the ISSM framework. It defines the main friction-related parameters specific to the Shakti law.
- Parameters:
other (any, optional) – Any other class object that contains common fields to inherit from. If values in
otherdiffer from default values, they will override the default values.
- coefficient
Friction coefficient [SI].
- Type:
numpy.ndarray, default=np.nan
Examples
>>> md.friction = pyissm.model.classes.friction.shakti()
- check_consistency(md, solution, analyses)
Check consistency of the [friction.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:
- marshall_class(fid, prefix, md=None)
Marshall [friction.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.friction.waterlayer(other=None)
Bases:
manage_stateWaterlayer friction class for ISSM.
This class contains the parameters for the waterlayer friction law in the ISSM framework. It defines the main friction-related parameters specific to the waterlayer law.
- Parameters:
other (any, optional) – Any other class object that contains common fields to inherit from. If values in
otherdiffer from default values, they will override the default values.
- coefficient
Friction coefficient [SI].
- Type:
numpy.ndarray, default=np.nan
- f
f variable for effective pressure.
- Type:
numpy.ndarray, default=np.nan
- p
p exponent.
- Type:
numpy.ndarray, default=np.nan
- q
q exponent.
- Type:
numpy.ndarray, default=np.nan
- water_layer
Water thickness at the base of the ice (m).
- Type:
numpy.ndarray, default=np.nan
Examples
>>> md.friction = pyissm.model.classes.friction.waterlayer()
- check_consistency(md, solution, analyses)
Check consistency of the [friction.waterlayer] 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:
- marshall_class(fid, prefix, md=None)
Marshall [friction.waterlayer] 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.friction.weertman(other=None)
Bases:
manage_stateWeertman friction class for ISSM.
This class contains the parameters for the Weertman sliding law in the ISSM framework. It defines the main friction-related parameters specific to the Weertman law.
- Parameters:
other (any, optional) – Any other class object that contains common fields to inherit from. If values in
otherdiffer from default values, they will override the default values.
- C
Friction coefficient [SI].
- Type:
numpy.ndarray, default=np.nan
- m
m exponent.
- Type:
numpy.ndarray, default=np.nan
- linearize
0: not linearized, 1: interpolated linearly, 2: constant per element (default is 0).
- Type:
int, default=0
Examples
>>> md.friction = pyissm.model.classes.friction.weertman()
- check_consistency(md, solution, analyses)
Check consistency of the [friction.weertman] 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:
- marshall_class(fid, prefix, md=None)
Marshall [friction.weertman] 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