mt_metadata.timeseries.experiment

Containers for the full metadata tree

Experiment –> Survey –> Station –> Run –> Channel

Each level has a list attribute

Created on Mon Feb 8 21:25:40 2021

copyright:

Jared Peacock (jpeacock@usgs.gov)

license:

MIT

Classes

Experiment

Top level of the metadata

Module Contents

class mt_metadata.timeseries.experiment.Experiment(**data)

Bases: mt_metadata.base.MetadataBase

Top level of the metadata

surveys: Annotated[mt_metadata.common.list_dict.ListDict | list | dict | collections.OrderedDict, Field(default_factory=ListDict, description='List of surveys in the experiment', title='List of Surveys', json_schema_extra={'required': False, 'units': None, 'examples': [{'id': 'survey_1'}, {'id': 'survey_2'}]})]
merge(other)

Merge two Experiment objects

property n_surveys: int
classmethod validate_surveys(value)

set the survey list

property survey_names: list[str]

Return names of surveys in experiment

has_survey(survey_id)

Has survey id

Parameters:

survey_id (TYPE) – DESCRIPTION

Returns:

DESCRIPTION

Return type:

TYPE

survey_index(survey_id)

Get survey index

Parameters:

survey_id (TYPE) – DESCRIPTION

Returns:

DESCRIPTION

Return type:

TYPE

add_survey(survey_obj)

Add a survey, if has the same name update that object.

Parameters:

survey_obj (:class:`mt_metadata.timeseries.Survey) – DESCRIPTION

Returns:

DESCRIPTION

Return type:

TYPE

get_survey(survey_id)

Get a survey from the survey id

Parameters:

survey_id (TYPE) – DESCRIPTION

Returns:

DESCRIPTION

Return type:

TYPE

remove_survey(survey_id, update=True)

Remove a survey from the experiment

Parameters:

survey_id (TYPE) – DESCRIPTION

Returns:

DESCRIPTION

Return type:

TYPE

to_dict(nested=False, required=True)

create a dictionary for the experiment object.

Parameters:
  • nested (TYPE, optional) – DESCRIPTION, defaults to False

  • single (TYPE, optional) – DESCRIPTION, defaults to False

  • required (TYPE, optional) – DESCRIPTION, defaults to True

Returns:

DESCRIPTION

Return type:

TYPE

from_dict(ex_dict, skip_none=True)

fill from an input dictionary

Parameters:

ex_dict (TYPE) – DESCRIPTION

Returns:

DESCRIPTION

Return type:

TYPE

to_json(fn=None, nested=False, indent=' ' * 4, required=True)

Write a json string from a given object, taking into account other class objects contained within the given object.

Parameters:

nested ([ True | False ] , default is False) – make the returned json nested

from_json(json_str, skip_none=True)

read in a json string and update attributes of an object

Parameters:

json_str (string or pathlib.Path) – json string or file path

to_xml(fn=None, required=True, sort=True)

Write XML version of the experiment

Parameters:

fn (TYPE) – DESCRIPTION

Returns:

DESCRIPTION

Return type:

TYPE

from_xml(fn=None, element=None, sort=True, skip_none=True)
Parameters:
  • fn (TYPE, optional) – DESCRIPTION, defaults to None

  • element (TYPE, optional) – DESCRIPTION, defaults to None

Returns:

DESCRIPTION

Return type:

TYPE

to_pickle(fn=None)

Write a pickle version of the experiment

Parameters:

fn (TYPE) – DESCRIPTION

Returns:

DESCRIPTION

Return type:

TYPE

from_pickle(fn=None)

Read pickle version of experiment

Parameters:

fn (TYPE) – DESCRIPTION

Returns:

DESCRIPTION

Return type:

TYPE

sort(inplace=True)

sort surveys, stations, runs, channels alphabetically/numerically

Parameters:

inplace (TYPE, optional) – DESCRIPTION, defaults to True

Returns:

DESCRIPTION

Return type:

TYPE