Skip to main content

Python package for working with the CAMELS-DE dataset

Project description

CAMELS-DE 🌊

A Python package for working with the CAMELS-DE dataset.

About 🐪

CAMELS-DE provides access to hydrometeorological time series data and catchment attributes for 1582 catchments in Germany. This package offers a simple interface for loading, analyzing, and visualizing data from the CAMELS-DE dataset.

Installation

pip install camelsde

Usage

[!IMPORTANT] The package requires the CAMELS-DE dataset to be downloaded and extracted.

CAMELS-DE can be downloaded from Zenodo: 10.5281/zenodo.13837553

  • The package uses polars for reading csv files efficiently, but the functions return pandas DataFrames at the moment.
  • Gauging station point locations and catchment polygons are returned as geopandas GeodataFrames.
  • Interactive time series plots are created using plotly.

Setting the CAMELS-DE Dataset Path

The package will look for the dataset in the following order:

  1. path argument passed to the CAMELS_DE class constructor.
  2. User-configured permanent path (if set).
  3. CAMELSDE_PATH environment variable (if set)

You can set a permanent path to your CAMELS-DE dataset in following ways:

from camelsde import CAMELS_DE, set_camels_path

# Option 1: Temporarily override the path for a specific instance
camelsde = CAMELS_DE(path="/path/to/your/CAMELS_DE_v1_0_0")

# Option 2: Set a permanent path that will be remembered across sessions
set_camels_path("/path/to/your/CAMELS_DE_v1_0_0")

camelsde = CAMELS_DE()  # Now this will use the permanent path

The permanent path is stored in a configuration file in your user config directory, which makes it available across all future Python sessions.

Basic Usage Examples

from camelsde import CAMELS_DE

# Initialize (uses the configured path or default)
camelsde = CAMELS_DE()

# Load static attributes
attributes = camelsde.load_static_attributes()

# Load specific attributes
hydro_attrs = camelsde.load_static_attributes(static_attribute="hydrology")

# Load specific columns across all static attribute files
attributes2 = camelsde.load_static_attributes(columns=["gauge_name", "gauge_elev", "area", "NSE_lstm", "NSE_hbv"])

# Load specific columns and apply filtering
attributes3 = camelsde.load_static_attributes(columns=["gauge_name", "gauge_elev", "area", "NSE_lstm", "NSE_hbv"], filters={"NSE_lstm": (">=", 0.9), "area": [ (">=", 50), ("<=", 100)]})

# Load specific gauge ID
gauge_data = camelsde.load_static_attributes(gauge_id="DE110000")

# Load timeseries data
ts_data = camelsde.load_timeseries(gauge_id="DE110000")

# Plot timeseries with Plotly
camelsde.plot_timeseries(gauge_id="DE110000", columns=["precipitation", "discharge_spec_obs", "discharge_spec_sim_lstm"])

# Load geospatial data (returns a geopandas GeoDataFrame)
catchments = camelsde.load_geopackage(layer="catchments")
stations = camelsde.load_geopackage(layer="gauging_stations")

Dataset

This package works with the CAMELS-DE v1.0.0 dataset, which is publicly available at:

The dataset needs to be downloaded and extracted before using this package.

Citation

If you use this package or the CAMELS-DE dataset in your research, please cite both the data description paper and the dataset itself:

License

This package is distributed under the CC0 1.0 Universal License. See the LICENSE file for more information.

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

camelsde-0.2.0.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

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

camelsde-0.2.0-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

Details for the file camelsde-0.2.0.tar.gz.

File metadata

  • Download URL: camelsde-0.2.0.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for camelsde-0.2.0.tar.gz
Algorithm Hash digest
SHA256 70d0aa26137f01995918f91c9bbc8a047b431b76016d4c048808e79bb3db43bb
MD5 aab46efb8c4556f1abef31767b505d20
BLAKE2b-256 afddb15a82dfed0c4ac1f394982b46b67c4c52b0f3cfb96bf5e6b1c185cd578e

See more details on using hashes here.

Provenance

The following attestation bundles were made for camelsde-0.2.0.tar.gz:

Publisher: build-test-publish.yml on CAMELS-DE/camelsde

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

File details

Details for the file camelsde-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: camelsde-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for camelsde-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e8d397669c8fff5c9e74327146e9f2e4d98aae027fdb0b6232bd4dfbf4f476c5
MD5 494b40bdabfa252be37ed4f71d5f4419
BLAKE2b-256 6ec8d5a4094ac8ee05477827e2eb9d87c62dd6b48ac237796f1a2fef0cb905b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for camelsde-0.2.0-py3-none-any.whl:

Publisher: build-test-publish.yml on CAMELS-DE/camelsde

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