pyissm.tools.materials
Material property functions for ISSM
This module contains functions to compute ice material properties.
Functions
|
Compute ice rigidity using the Cuffey parameterization. |
|
Compute ice rigidity using Nye's flow law. |
|
Compute ice rigidity using the Paterson parameterization. |
- pyissm.tools.materials.cuffey(temperature)
Compute ice rigidity using the Cuffey parameterization.
- Parameters:
temperature (array_like) – Temperature value(s) in Kelvin. Must be non-negative. Scalar or array-like inputs are accepted and will be converted to a NumPy array.
- Returns:
rigidity – Array of computed rigidity values with the same shape as
temperature. The return dtype is float. Values that are computed as negative are replaced by a floor value of 1e6.- Return type:
ndarray
- Raises:
RuntimeError – If any element of
temperatureis negative (temperatures must be given in Kelvin).
Notes
The implementation converts input temperatures from Kelvin to Celsius and then evaluates a piecewise cubic polynomial fit over several temperature intervals. A temperature-dependent shift is applied within each interval before polynomial evaluation. A global scale factor (1e8) is multiplied by the polynomial result. To ensure physical plausibility, any negative computed rigidity values are replaced with 1e6.
The function preserves the shape of the input (broadcasting rules of NumPy apply) and returns an array of the same shape.
- pyissm.tools.materials.nye(temperature, ice_type)
Compute ice rigidity using Nye’s flow law.
- Rigidity (s^(1/n) Pa) is the flow-law parameter B in:
sigma = B * epsilon^(1/n)
- Parameters:
temperature (float or array-like) – Ice temperature in Kelvin.
ice_type (int) – 1 = CO2 ice 2 = H2O ice
- Returns:
rigidity – Ice rigidity with same shape as temperature.
- Return type:
ndarray
- pyissm.tools.materials.paterson(temperature)
Compute ice rigidity using the Paterson parameterization.
- Parameters:
temperature (array_like) – Temperature value(s) in Kelvin. Must be non-negative. Scalar or array-like inputs are accepted and will be converted to a NumPy array.
- Returns:
rigidity – Array of computed rigidity values with the same shape as
temperature. The return dtype is float. Values that are computed as negative are replaced by a floor value of 1e6.- Return type:
ndarray
- Raises:
RuntimeError – If any element of
temperatureis negative (temperatures must be given in Kelvin).
Notes
The implementation converts input temperatures from Kelvin to Celsius and then evaluates a piecewise cubic polynomial fit over several temperature intervals. A temperature-dependent shift is applied within each interval before polynomial evaluation. A global scale factor (1e8) is multiplied by the polynomial result. To ensure physical plausibility, any negative computed rigidity values are replaced with 1e6.
The function preserves the shape of the input (broadcasting rules of NumPy apply) and returns an array of the same shape.
Warning
- DeprecationWarning
This function is outdated. Use
cuffey()instead.