Skip to main content

No project description provided

Project description

EIDA Embargo Roller

Description

This program processes a stationXML file in input and updates channels epochs to reflect the embargo start date specified.

  1. If the channel epoch ends before the embargo: No changes are made.
  2. If the channel epoch ends after the embargo:
    • If the epoch starts before the embargo and the restriction policy is closed, the epoch is split at the embargo date:
      1. The restriction policy before the embargo is forced to open.
      2. The restriction policy after the embargo remains closed.
  3. After processing, the program merges channels that are contiguous in time and have the same content.

Usage

eida_embargo_roller [-i] [-e YYYY-MM-DD] station.xml

Options:

  • -i: Transform the stationXML file provided in place.
  • -e: Embargo start date. All channels before this date will get unrestricted policy.

Examples

Writing a New XML File

Writing a new XML file for an embargo date:

uv run eida_embargo_roller Z3.A190A.xml -e 2023-01-01 > result.xml

Changing an existing XML file:

Transform the file in place:

uv run eida_embargo_roller -e 2025-01-01 -i Z3.A190A.xml

Installation

Using UV (Recommended)

1. Install uv

If uv is not already installed, you can add it by following this guide.

2. Sync Dependencies

Navigate to the project directory and run:

uv sync 

This command will install all dependencies listed in pyproject.toml.

3. Run the Script

After syncing, use:

uv run eida_embargo_roller -e YYYY-MM-DD station.xml

Rust and Cargo Requirement

Certain dependencies (e.g., pendulum) require Rust and Cargo to build. If you encounter errors such as maturin failing due to missing Cargo, install Rust and Cargo by following the official Rust installation guide.

As a Python Package

To install using pip:

python -m pip install --user eida_embargo_roller

From Source

To install from source:

git clone https://github.com/your-repo/embargo-roller.git
cd embargo-roller

# Install dependencies using UV
uv sync

Tests and Debugging

Running Tests

To run the entire test suite using pytest, execute:

uv run pytest

PyPI package

The EIDA Embargo Roller is also available as a PyPI package: https://pypi.org/project/eida-embargo-roller/

Updating SeisComP configuration

Embargo roller works with FDSN XML only, not with inventoryXML used by SeisComP. Following steps describe the procedure for updating config:

  1. Convert to stationXML:
   fdsnxml2inv --to-staxml inventory.xml > FDSNstation.xml
  1. Update embargo period:
   uv run eida_embargo_roller -e 2022-12-31 FDSNstation.xml > FDSNstation-embargoFree.xml
  1. Replace restrictedStatus “partial” by “open” in FDSNstation-embargoFree.xml (Seiscomp does not recognize “partial” status):
   sed -e 's/"partial"/"open"/'
  1. Convert FDSNstation-embargoFree.xml to invXML:
   fdsnxml2inv FDSNstation-embargoFree.xml > inventory-embargoFree.xml
  1. Update SEISCOMP:
   scinv sync [--test]
   seiscomp update-config
   seiscomp restart
  1. Test query for open data: https://EIDA-node/fdsnws/dataselect/1/query?start=2022-12-22T00:00:00&end=2022-12-22T00:10:00&net=XX&sta=YYY&cha=*Z

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eida_embargo_roller-1.0.2.tar.gz (23.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eida_embargo_roller-1.0.2-py3-none-any.whl (22.6 kB view details)

Uploaded Python 3

File details

Details for the file eida_embargo_roller-1.0.2.tar.gz.

File metadata

  • Download URL: eida_embargo_roller-1.0.2.tar.gz
  • Upload date:
  • Size: 23.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for eida_embargo_roller-1.0.2.tar.gz
Algorithm Hash digest
SHA256 310cabe1f07250f03a33601a02cddfef2c4197d3ad0e9beaef6d736062ff431c
MD5 6c08f276a4726e5b1e81686ab8cf6e7c
BLAKE2b-256 b10d523b4fd2964db26b17223f8ce7cefbd8316f39ef1f2c3698fc155e56a83b

See more details on using hashes here.

Provenance

The following attestation bundles were made for eida_embargo_roller-1.0.2.tar.gz:

Publisher: publish.yml on EIDA/embargo-roller

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eida_embargo_roller-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for eida_embargo_roller-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d1ca5f7f11e6641215e221e025a6adcbbda87105d379c3db605721648942ea53
MD5 f4fde19b4c5fb42fee74965374c1ed25
BLAKE2b-256 fb9f9758a6afe9a7f40bd4ca6a4a0c1be04e3a5c068cb10c22ed431c01378718

See more details on using hashes here.

Provenance

The following attestation bundles were made for eida_embargo_roller-1.0.2-py3-none-any.whl:

Publisher: publish.yml on EIDA/embargo-roller

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page