pyissm.model.classes.solidearth
Classes
|
Earth solid earth configuration class for ISSM. |
|
Europa solid earth configuration class for ISSM. |
|
Solid earth solver settings and physical options for ISSM. |
|
Solid earth solution container class for ISSM. |
- class pyissm.model.classes.solidearth.earth(other=None)
Bases:
manage_stateEarth solid earth configuration class for ISSM.
This class configures the solid earth response model for Earth, including glacial isostatic adjustment (GIA), sea level changes, and rotational feedbacks. It handles the coupling between ice sheet dynamics and solid earth deformation through Love numbers, rotational parameters, and partition vectors.
- 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.
- settings
Solid earth settings object containing solver parameters and physical options.
- Type:
- external
External solution of the type solidearthsolution.
- Type:
any, default=None
- lovenumbers
Love numbers object defining elastic and viscous earth response.
- Type:
- rotational
Rotational parameters object for polar motion calculations.
- Type:
- planetradius
Earth’s radius [m]. Automatically set using tools.general.planetradius(‘earth’).
- Type:
float
- requested_outputs
Additional outputs requested from the solid earth model.
- Type:
ilst, default=[‘default’]
- transfercount
Number of ice caps that vertices are part of.
- Type:
str, default=’List of transfer count’
- transitions
Indices into parts of the mesh that will be ice caps.
- Type:
str, default=’List of transitions’
- partitionice
Ice partition vector for barystatic contribution.
- Type:
str, default=’List of partionice’
- partitionhydro
Hydro partition vector for barystatic contribution.
- Type:
str, default=’List of partitionhydro’
- partitionocean
Ocean partition vector for barystatic contribution.
- Type:
str, default=’List of partitionocean’
- __init__(self, other=None)
Initializes the Earth solid earth parameters, optionally inheriting from another instance.
- __repr__(self)
Returns a detailed string representation of the solid earth parameters.
- __str__(self)
Returns a short string identifying the class.
- _process_outputs(self, md=None, return_default_outputs=False)
Process requested outputs, expanding ‘default’ to appropriate outputs.
- marshall_class(self, fid, prefix, md=None)
Marshall parameters to a binary file
Notes
This class is specifically configured for Earth with the appropriate planetary radius. For other planetary bodies, use the corresponding classes (e.g., europa).
The solid earth model computes glacial isostatic adjustment effects including: - Elastic and viscous deformation - Self-attraction and loading effects - Rotational feedbacks - Sea level redistribution
Examples
md.solidearth = pyissm.model.classes.solidearth.earth() md.solidearth.settings.elastic = 1 md.solidearth.settings.viscous = 1
- check_consistency(md, solution, analyses)
Check consistency of the [solidearth.earth] 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 [solidearth.earth] 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 (ISSM model object, optional.) – ISSM model object needed in some cases.
- Return type:
None
- class pyissm.model.classes.solidearth.europa(other=None)
Bases:
manage_stateEuropa solid earth configuration class for ISSM.
This class configures the solid earth response model for Jupiter’s moon Europa, including tidal heating, ice shell dynamics, and subsurface ocean interactions. It handles the coupling between ice dynamics and solid body deformation with parameters appropriate for Europa’s smaller size and different composition.
- 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.
- settings
Solid earth settings object containing solver parameters and physical options.
- Type:
- external
External solution of the type solidearthsolution.
- Type:
any, default=None
- lovenumbers
Love numbers object defining elastic and viscous body response for Europa.
- Type:
- rotational
Rotational parameters object for Europa’s rotation and tidal effects.
- Type:
- planetradius
Europa’s radius [m]. Automatically set using tools.general.planetradius(‘europa’).
- Type:
float
- requested_outputs
Additional outputs requested from the solid body model.
- Type:
list, default=[‘default’]
- transfercount
Number of ice caps that vertices are part of.
- Type:
str, default=’List of transfer count’
- transitions
Indices into parts of the mesh that will be ice caps.
- Type:
str, default=’List of transitions’
- partitionice
Ice partition vector for barystatic contribution.
- Type:
str, default=’List of partionice’
- partitionhydro
Hydro partition vector for barystatic contribution.
- Type:
str, default=’List of partitionhydro’
- partitionocean
Ocean partition vector for barystatic contribution.
- Type:
str, default=’List of partitionocean’
- __init__(self, other=None)
Initializes the Europa solid body parameters, optionally inheriting from another instance.
- __repr__(self)
Returns a detailed string representation of the solid body parameters.
- __str__(self)
Returns a short string identifying the class.
- _process_outputs(self, md=None, return_default_outputs=False)
Process requested outputs, expanding ‘default’ to appropriate outputs.
- marshall_class(self, fid, prefix, md=None)
Marshall parameters to a binary file
Notes
This class is specifically configured for Europa with the appropriate planetary radius and physical parameters. Europa’s smaller size and different composition require different Love numbers and rotational parameters compared to Earth.
The solid body model for Europa accounts for: - Tidal heating and deformation - Ice shell-ocean coupling - Smaller gravitational field effects - Different material properties
Examples
md.solidearth = pyissm.model.classes.solidearth.europa() md.solidearth.settings.elastic = 1 md.solidearth.lovenumbers = custom_europa_lovenumbers
- check_consistency(md, solution, analyses)
Check consistency of the [solidearth.europa] 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 [solidearth.europa] 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 (ISSM model object, optional.) – ISSM model object needed in some cases.
- Return type:
None
- class pyissm.model.classes.solidearth.settings(other=None)
Bases:
manage_stateSolid earth solver settings and physical options for ISSM.
This class contains all the configuration parameters for the solid earth solver, including convergence criteria, physical process toggles, numerical accuracy settings, and model type selection for glacial isostatic adjustment calculations.
- 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.
- reltol
Sea level change relative convergence criterion. Default 0: not applied.
- Type:
float, default=0
- abstol
Sea level change absolute convergence criterion. Default 0: not applied.
- Type:
float, default=0
- maxiter
Maximum number of nonlinear iterations.
- Type:
int, default=0
- selfattraction
Enables surface mass load to perturb the gravity field (0 or 1).
- Type:
int, default=1
- elastic
Enables elastic deformation from surface loading (0 or 1).
- Type:
int, default=1
- viscous
Enables viscous deformation from surface loading (0 or 1).
- Type:
int, default=1
- rotation
Enables polar motion to feedback on the GRD fields (0 or 1).
- Type:
int, default=1
- grdocean
Does this planet have an ocean. If 1: global water mass is conserved in GRD module.
- Type:
int, default=1
- ocean_area_scaling
Correction for model representation of ocean area. Default 0: no correction.
- Type:
float, default=0
- runfrequency
How many time steps to skip before running solid earth solver during transient.
- Type:
int, default=1
- sealevelloading
Enables surface loading from sea-level change (0 or 1).
- Type:
int, default=1
- isgrd
Compute GRD patterns (0 or 1). Default 0: not computed.
- Type:
int, default=0
- compute_bp_grd
Compute GRD patterns for bottom pressure loads (0 or 1). Default 0: not computed.
- Type:
int, default=0
- degacc
Accuracy for numerical discretization of Green’s functions [degrees]. Default: 0.01 deg.
- Type:
float, default=0
- timeacc
Time accuracy for numerical discretization of Green’s functions [years]. Default: 1 year.
- Type:
float, default=0
- horiz
Horizontal displacement calculation flag.
- Type:
int, default=0
- grdmodel
Type of deformation model. 0: no GRD, 1: spherical GRD (SESAW), 2: half-space planar GRD (Ivins).
- Type:
int, default=0
- cross_section_shape
Cross-section shape for loading. 1: square-edged (default), 2: elliptical.
- Type:
int, default=0
- __init__(self, other=None)
Initializes the solid earth settings, optionally inheriting from another instance.
- __repr__(self)
Returns a detailed string representation of the solid earth settings.
- __str__(self)
Returns a short string identifying the class.
- marshall_class(self, fid, prefix, md=None)
Marshall parameters to a binary file
Notes
The solid earth solver supports multiple deformation models: - grdmodel=0: No glacial isostatic adjustment - grdmodel=1: Spherical earth model (SESAW approach) - grdmodel=2: Half-space planar model (visco-elastic, Ivins approach)
The solver can be configured to include various physical processes: - Elastic deformation (instantaneous response) - Viscous deformation (time-dependent response) - Self-attraction and loading effects - Rotational feedbacks and polar motion
Examples
md.solidearth.settings = pyissm.model.classes.solidearth.settings() md.solidearth.settings.elastic = 1 md.solidearth.settings.viscous = 1 md.solidearth.settings.grdmodel = 1
- check_consistency(md, solution, analyses)
Check consistency of the [solidearth.settings] 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 [solidearth.settings] 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 (ISSM model object, optional.) – ISSM model object needed in some cases.
- Return type:
None
- class pyissm.model.classes.solidearth.solution(other=None)
Bases:
manage_stateSolid earth solution container class for ISSM.
This class stores the time series results from solid earth deformation calculations, including bedrock displacement components and geoid changes. All solutions are time series data with units specified for each field.
- 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.
- displacementeast
Solid-earth eastwards bedrock displacement time series [m].
- Type:
str, default=’displacementeast timeseries’
- displacementnorth
Solid-earth northwards bedrock displacement time series [m].
- Type:
str, default=’displacementsnorth timeseries’
- displacementup
Solid-earth bedrock uplift time series [m].
- Type:
str, default=’displacementup timeseries’
- __init__(self, other=None)
Initializes the solution container, optionally inheriting from another instance.
- __repr__(self)
Returns a detailed string representation of the solution fields.
- __str__(self)
Returns a short string identifying the class.
- marshall_class(self, fid, prefix, md=None)
Marshall parameters to a binary file
Notes
All time series have units of years (yr) for time and meters (m) for displacements and geoid heights. The solution represents the solid earth response to surface loading from ice mass changes.
The displacement fields represent: - displacementeast: Horizontal movement in eastward direction - displacementnorth: Horizontal movement in northward direction - displacementup: Vertical movement (positive upward) - geoid: Changes in geoid height due to mass redistribution
Examples
# Solution is typically populated by the solver sol = md.solidearth.solution east_disp = sol.displacementeast uplift = sol.displacementup
- check_consistency(md, solution, analyses)
Check consistency of the [solidearth.solution] 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 [solidearth.solution] 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 (ISSM model object, optional.) – ISSM model object needed in some cases.
- Return type:
None