API Reference
PlateModelManager
The plate_model_manager.PlateModelManager class manages the plate reconstruction models.
You can use this class to do the things listed below.
Get a list of available model names.
Get a
plate_model_manager.PlateModelobject for a specific model name.Download all models into a folder.
- class plate_model_manager.PlateModelManager(model_manifest: str = '', timeout=(None, None))[source]
Bases:
objectManage a set of publicly available plate reconstruction models. The model files are hosted on EarthByte servers. You need Internet connection to use this class and download the files.
- __init__(model_manifest: str = '', timeout=(None, None))[source]
Constructor. Create a
PlateModelManagerinstance. You need Internet connection to create an instance of this class. If you don’t have Internet connection, usePlateModelclass directly inreadonlymode. Visit this page to see an example.- Parameters:
model_manifest – The URL to a
models.jsonmetadata file. Normally you don’t need to provide this parameter unless you would like to setup your own plate model server.
- download_all_models(data_dir: str = './') None[source]
Download all available models into the
data_dir.- Parameters:
data_dir (str) – The folder to save the model files.
- static get_local_available_model_names(local_dir: str)[source]
Return a list of model names in a local folder.
- Parameters:
local_dir (str) – The local folder containing models.
- get_model(model_name: str = 'default', data_dir: str = '.', reference_frame: ReferenceFrame | None = None) PlateModel | None[source]
Retrieve a
PlateModelobject for a given plate model name.This method resolves model aliases and creates a PlateModel instance configured with the model’s metadata. Alias resolution follows chains and detects circular references to prevent infinite loops.
Call
get_available_model_names()to see a list of available model names and valid aliases.- Parameters:
model_name – The name of the plate model to retrieve. Case-insensitive. Can be a direct model name, an alias, or a variant with reference frame suffix (e.g., “model_pmag_ref”). Defaults to “default”.
data_dir – The folder path to save downloaded plate model files. Defaults to the current directory (“.”); This path can be changed later with
PlateModel.set_data_dir().reference_frame – Optional reference frame for the plate model. If set to
ReferenceFrame.PmagReferenceFrameand a “_pmag_ref” variant exists, that variant will be loaded automatically.
- Returns:
A
PlateModelobject if the model is found and successfully created,Noneif the model name is not found in the manifest.- Raises:
InvalidConfigFile – If a circular alias chain is detected or if the maximum alias resolution depth is exceeded, indicating an error in the model manifest.
- Example:
>>> pmm = PlateModelManager() >>> model = pmm.get_model("muller2016", data_dir="./models") >>> if model: ... model.download_all_layers()
PlateModel
The plate_model_manager.PlateModel class manages the files in a plate reconstruction model.
You can use this class to do the things listed below.
Get a list of available layers in a plate model.
Download the rotation file(s).
Download the layer file(s) for a specific layer.
Download time-dependent raster files.
Download all files in a plate model.
- class plate_model_manager.PlateModel(model_name: str, model_cfg=None, data_dir: str = '.', reference_frame: ReferenceFrame | None = None, readonly=False, timeout=(None, None))[source]
Bases:
objectDownload and manage files required for a plate reconstruction model.
👀👇 LOOK HERE!!! 👀👇
Normally you should always use
PlateModelManager.get_model()to get aPlateModelobject. Create aPlateModelobject directly only when you don’t have Internet connection and would like to use the local model files inreadonlymode. Do not create aPlateModelobject directly if you have no idea what’s going on.- __init__(model_name: str, model_cfg=None, data_dir: str = '.', reference_frame: ReferenceFrame | None = None, readonly=False, timeout=(None, None))[source]
Constructor. Create a
PlateModelinstance.- Parameters:
model_name (str) – The model name of interest.
model_cfg – The model configuration in JSON format. The configuration is either downloaded from the server or loaded from a local file
.metadata.json. If you are confused by this parameter, usePlateModelManager.get_model()to get aPlateModelobject instead.data_dir (str, default=".") – The folder path to save the model data.
readonly (bool, default=False) – If this flag is set to
True, ThePlateModelobject will use the files in the local folder and will not attempt to download/update the files from the server.timeout – Network connection timeout parameter.
- create_model_dir()[source]
Ensure the model folder exists and refresh local metadata files.
This method creates
self.model_dirwhen missing, then always rewrites.metadata.jsonandreadme.txtfrom the current in-memory model configuration, even if the folder already exists.
- download_all_layers()[source]
Download all layers. This function calls
download_layer_files()on every available layer.
- download_time_dependent_rasters(raster_name, times=None)[source]
Download time-dependent rasters for a given raster name.
Call
get_avail_time_dependent_raster_names()to see all the available raster names in this model.- Parameters:
raster_name – the raster name of interest
times – if not given, download from begin to end with 1My interval
- get_COBs(return_none_if_not_exist: bool = False) List[str] | None[source]
Return a list of
Continent-Ocean Boundariesfiles.
- get_age_grid(time: int | float, reference_frame: ReferenceFrame | None = None, generated_from: GenerationMethod | None = None) str[source]
Return a local path for the age grid raster file at a given time.
- get_age_grids(times: List[int | float], reference_frame: ReferenceFrame | None = None, generated_from: GenerationMethod | None = None) List[str][source]
Return local paths for the age grid raster files at given times.
- get_avail_time_dependent_raster_names()[source]
Return all time-dependent raster names in this plate model.
- get_coastlines(return_none_if_not_exist: bool = False) List[str] | None[source]
Return a list of
coastlinesfiles.
- get_continental_polygons(return_none_if_not_exist: bool = False) List[str] | None[source]
Return a list of
continental polygonsfiles.
- get_data_dir()[source]
Return the path to a folder (parent folder of the
model dir) containing a set of downloaded models.
- get_layer(layer_name: str, return_none_if_not_exist: bool = False) List[str] | None[source]
Get a list of layer files by a layer name. Call
get_avail_layers()to get all the available layer names.Raise
LayerNotFoundInModelexception to get user’s attention by default. Setreturn_none_if_not_existtoTrueif you don’t want to see theLayerNotFoundInModelexception.- Parameters:
layer_name – The layer name of interest.
return_none_if_not_exist – If set to
True, returnNonewhen the layer does not exist in the model.
- Returns:
A list of file names or
Noneifreturn_none_if_not_existis set toTrue.
:raises
LayerNotFoundInModel: Raise this exception if the layer name does not exist in this model.
- get_layer_metadata(layer_name: str, return_none_if_not_exist: bool = False) Dict | None[source]
Return metadata for a layer as a dictionary.
In writable mode, this method ensures the layer is downloaded/updated before reading metadata. In readonly mode, it reads from the local layer folder directly.
- Parameters:
layer_name – The layer name of interest.
return_none_if_not_exist – If set to
True, returnNonewhen the layer does not exist in the model.
- Returns:
Layer metadata dictionary, or
Noneifreturn_none_if_not_existis set toTrueand the layer is not found.
- :raises
LayerNotFoundInModel: Raise this exception if the layer name does not exist in this model.
- Raises:
Exception – If the layer metadata file is missing.
- get_raster(raster_name: str, time: int | float, reference_frame: ReferenceFrame | None = None, generated_from: GenerationMethod | None = None) str[source]
Return a local path for a single time-dependent raster.
The final raster key is built from
raster_nameand optional suffixes fromgenerated_fromandreference_frame(in that order), matching the naming convention used inmodel["TimeDepRasters"].- Parameters:
raster_name – Base raster name in
TimeDepRasters(for example,"AgeGrids").time – Reconstruction time (Ma) to fetch.
reference_frame – Optional reference-frame suffix to append to the raster name.
generated_from – Optional generation-method suffix to append to the raster name.
- Returns:
Local file path for the requested raster at
time.- Raises:
Exception – If this model has no
TimeDepRastersentry, if the constructed raster name is not configured, if the file is missing in readonly mode, or if a download fails in writable mode.
- get_rasters(raster_name: str, times: List[int | float], reference_frame: ReferenceFrame | None = None, generated_from: GenerationMethod | None = None) List[str][source]
Return local paths for a sequence of time-dependent rasters.
The final raster key is built from
raster_nameand optional suffixes fromgenerated_fromandreference_frame(in that order), matching the naming convention used inmodel["TimeDepRasters"].- Parameters:
raster_name – Base raster name in
TimeDepRasters(for example,"AgeGrids").times – Reconstruction times (Ma) to fetch.
reference_frame – Optional reference-frame suffix to append to the raster name.
generated_from – Optional generation-method suffix to append to the raster name.
- Returns:
Local file paths for the requested times, in the same order as
times.- Raises:
Exception – If this model has no
TimeDepRastersentry, if the constructed raster name is not configured, if a requested file is missing in readonly mode, or if a download fails in writable mode.
- get_rotation_model(reference_frame: ReferenceFrame | None = None)[source]
Return rotation files, and optionally a PMAG anchor plate ID.
Rotation files are read from the local model directory in
readonlymode, or downloaded/updated first in writable mode.When
reference_frameisReferenceFrame.PmagReferenceFrame, this method also returns the anchor plate ID required by consumers that need PMAG reference frame rotations. The anchor ID is read frommodel["Attributes"]["PmagReferenceFrameAnchorPID"]when present. If that value is missing but this model is already under PMAG reference frame, set the anchor ID to0, such asmatthews2016_pmag_refmodel.- Parameters:
reference_frame – Optional reference frame for the returned rotation model. (since version 1.4.0)
- Returns:
If
reference_frameis PMAG, returns(rotation_files, anchor_pid)whererotation_filesis a list of.rot/.grotfile paths andanchor_pidis an integer. Otherwise returns onlyrotation_files.- Raises:
Exception – If PMAG is requested but the model is not PMAG and
Attributes.PmagReferenceFrameAnchorPIDis not defined.
- get_spreading_rate_grid(time: int | float, reference_frame: ReferenceFrame | None = None, generated_from: GenerationMethod | None = None) str[source]
Return a local path for the spreading rate grid raster file at a given time.
- get_spreading_rate_grids(times: List[int | float], reference_frame: ReferenceFrame | None = None, generated_from: GenerationMethod | None = None) List[str][source]
Return local paths for the spreading rate grid raster files at given times.
- get_static_polygons(return_none_if_not_exist: bool = False) List[str] | None[source]
Return a list of
static polygonsfiles.
- get_topologies(return_none_if_not_exist: bool = False) List[str] | None[source]
Return a list of
topologiesfiles.
- static is_model_dir(folder_path: str)[source]
Return
Trueif the folder contains files of a plate model, otherwiseFalse.
- property model_dir
Return the folder path for this model under
data_dir.
PresentDayRasterManager
The plate_model_manager.PresentDayRasterManager class manages the present-day rasters.
You can use this class to do the things listed below.
Get a list of available present-day raster names.
Download a specific present-day raster.
- class plate_model_manager.PresentDayRasterManager(data_dir='present-day-rasters', raster_manifest=None)[source]
Bases:
objectManage the present-day rasters.
- __init__(data_dir='present-day-rasters', raster_manifest=None)[source]
Constructor. Create a
PresentDayRasterManagerinstance.- Parameters:
raster_manifest – The URL to a
present_day_rasters.jsonmetadata file. Normally you don’t need to provide this parameter unless you would like to setup your own present-day raster server.data_dir – The path to a folder to save the present-day raster files.
- get_raster(_name: str, width=1800, height=800, bbox=[-180, -80, 180, 80], large_file_hint=True)[source]
Download a raster file by name, save the raster file in
self.data_dirand return the local path to the raster file.Call
list_present_day_rasters()to see a list of available present-day raster names.
Auxiliary Function
Auxiliary functon for users’ convenience.
- plate_model_manager.get_plate_model(model_name: str, data_dir: str | PathLike) PlateModel | None[source]
Convenient function to create a
PlateModelinstance using best effort. First, try to get the plate model withPlateModelManager. If the servers cannot be reached, try to use the local plate model files which were previously downloaded.- Parameters:
model_name – the plate model name of interest
data_dir – The folder to save the plate model files.
- Returns:
a
PlateModelobject orNoneif the plate model name is no good.