pyissm.model.classes.solidearth

Classes

earth([other])

Earth solid earth configuration class for ISSM.

europa([other])

Europa solid earth configuration class for ISSM.

settings([other])

Solid earth solver settings and physical options for ISSM.

solution([other])

Solid earth solution container class for ISSM.

class pyissm.model.classes.solidearth.earth(other=None)

Bases: manage_state

Earth 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:

settings

external

External solution of the type solidearthsolution.

Type:

any, default=None

lovenumbers

Love numbers object defining elastic and viscous earth response.

Type:

lovenumbers

rotational

Rotational parameters object for polar motion calculations.

Type:

rotational

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:

pyissm.model.Model

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_state

Europa 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:

settings

external

External solution of the type solidearthsolution.

Type:

any, default=None

lovenumbers

Love numbers object defining elastic and viscous body response for Europa.

Type:

lovenumbers

rotational

Rotational parameters object for Europa’s rotation and tidal effects.

Type:

rotational

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:

pyissm.model.Model

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_state

Solid 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:

pyissm.model.Model

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_state

Solid 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’

geoid

Solid-earth geoid time series [m].

Type:

str, default=’geoid 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:

pyissm.model.Model

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