MARIS companion package and tutorials
Project description
MARISCO
The IAEA Marine Radioactivity Information System (MARIS) provides open access to radioactivity measurements in marine environments (seawater, biota, sediment, and suspended matter) collected by national laboratories, monitoring programmes, and research institutions worldwide. Developed by the IAEA Marine Environmental Laboratories in Monaco, MARIS is the authoritative international reference for marine radioactivity data.
marisco is being developed as the data processing foundation of MARIS:
a Python package that converts provider datasets into standardised
NetCDF4 and CSV formats
for ingestion into the MARIS database.
Transparency by design
Each dataset is processed by a dedicated handler, a Jupyter notebook that documents every curation decision alongside the code that implements it. Unit conversions, nuclide nomenclature mapping, coordinate standardisation, outlier flags: every choice is visible, traceable, and auditable.
Handlers are shared with data providers as a working document. If a conversion looks wrong, a mapping is missing, or terminology differs from your internal standards, the notebook is where we discuss and resolve it; not buried in email threads or internal comments.
For a concrete example, see the GEOTRACES handler.
Available handlers
| Handler | Description | Data source | Status |
|---|---|---|---|
| HELCOM | Baltic Sea marine environment monitoring | HELCOM | ✅ Active |
| GEOTRACES | BODC GEOTRACES oceanographic radionuclide data | GEOTRACES IDP2021 | ✅ Active |
| MARIS Legacy | Historical MARIS datasets from the master database | — | ✅ Active |
| OSPAR | NE Atlantic marine environment datasets | ODIMS OSPAR | ⚠️ Migrating |
| TEPCO | TEPCO Fukushima Daiichi monitoring data | TEPCO Monitoring | ⚠️ Migrating |
Migrating: handler is functional but being updated to the current matching API.
Install
pip install marisco
Two environment variables may be required depending on the dataset:
-
ZOTERO_API_KEY: used to fetch bibliographic metadata from the MARIS Zotero library. Contact MARIS Administrators to obtain your key:export ZOTERO_API_KEY=your_api_key_here -
INIS: bibliographic metadata is being progressively migrated from Zotero to the IAEA INIS database. The
INISClientfetches records via curl, which must be installed separately. In the near term both systems coexist; INIS will supersede Zotero as the migration completes.
Quick start
Command line utilities
All commands accept -h for full documentation.
Convert a provider dataset to MARIS NetCDF4:
maris_to_nc ospar 191-OSPAR-2024.nc
Convert the MARIS legacy database dump to NetCDF4:
maris_db_to_nc "~/data/maris/dump.txt" ~/output
# or a subset:
maris_db_to_nc "~/data/maris/dump.txt" ~/output --ref_ids="16,30"
Convert a NetCDF4 file to MARIS-format CSV (for database import):
maris_nc_to_csv ~/output/191-OSPAR-2024.nc ~/output/191-OSPAR-2024
The CSV utility appends the sample type automatically
(e.g. 191-OSPAR-2024_BIOTA.csv), and may generate multiple files — one
per sample type present in the source dataset.
Documentation
Documentation is organised into two groups:
How-to guides
Practical walkthroughs for common tasks:
- Writing a new handler: step-by-step guide to adding a new data provider to the marisco pipeline
- Nomenclature reconciliation: repeatable procedure for mapping provider names (nuclides, species, units, …) to MARIS standard identifiers
Reference
Detailed specifications and reference material:
- MARIS Data Guide: overview of sample types, measurement fields, nomenclature, curation pipeline, and available datasets; aimed at data providers and data users
- Field Definitions: complete field-by-field reference with MARISCO column names, NetCDF variable names, CSV variable names, types, and lookup tables
- Data Curation Rules: rules applied during data curation across all handlers
- Enum Rules: enumeration value handling rules
- Sample ID Coverage: coverage analysis of sample identifiers
- Sample Uniqueness: sample uniqueness constraints and validation
Development
The MARIS NetCDF template is generated from nbs/files/cdl/maris.cdl.
To regenerate it locally, install
NetCDF-C
and run:
ncgen -4 -o nbs/files/nc/maris-template.nc nbs/files/cdl/maris.cdl
Contributor guidance — architecture, coding conventions, handler
documentation style — is in the CRAFTs/ notebooks at the repository
root.
Acknowledgements
Development of this package was supported by the Solveit platform, an interactive development environment for dialog-driven software engineering.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file marisco-1.5.0.tar.gz.
File metadata
- Download URL: marisco-1.5.0.tar.gz
- Upload date:
- Size: 3.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9cf371e04e8db8b45caf3c51a089034f44c14f5d88bd1312fecfbf05cdc7847
|
|
| MD5 |
713151a9c80503b3c0bbe04dcee8df5f
|
|
| BLAKE2b-256 |
99ba1eb35b8fcb82944ffedaec3aa553287d6a16eb2e307d6c2d93dd1bacd32e
|
File details
Details for the file marisco-1.5.0-py3-none-any.whl.
File metadata
- Download URL: marisco-1.5.0-py3-none-any.whl
- Upload date:
- Size: 3.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb776c24e6ab369c75ce38faac2e6c776ac497ea8857e3798a1ff4774dc07e6a
|
|
| MD5 |
687f3febff5b8039701619688ecd8553
|
|
| BLAKE2b-256 |
eb8bc093db7e7ef584eb97d6a0a45728a9a919fa1e9aa27f535527f976b96c99
|