Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/test_and_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
python-version: ["3.10", "3.11", "3.12", "3.13"]
name: Run tests for ${{ matrix.python-version }}
steps:
- uses: actions/checkout@v3
Expand Down
5 changes: 5 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,11 @@ authors:
family-names: Schilperoort
given-names: Bart
orcid: https://orcid.org/0000-0003-4487-9822
-
affiliation: "TU Delft"
family-names: Melotto
given-names: Mark
orcid: https://orcid.org/0009-0005-2727-660X

cff-version: 1.2.0
date-released: 2022-12-13
Expand Down
13 changes: 13 additions & 0 deletions docs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## Unreleased

# 2.1.0 - 2026-08-07

Changes since v2.0.1:

**Changed:**
- Removed `isort`, `black` & `flake8` in favor of `ruff`.

**Added:**
- Support for ERA5 & ERA5-Land daily data.

**Removed:**
- Support for Python 3.9

# 2.0.1 - 2025-04-04

Changes since v2.0.0:
Expand Down
12 changes: 6 additions & 6 deletions docs/gen_reference_pages.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import subprocess
from typing import Generator, List

import mkdocs_gen_files
from era5cli import inputref

import era5cli.cli
import subprocess
from typing import List, Generator
from era5cli import inputref


def divide_chunks(biglist: List, n: int) -> Generator[List, None, None]:
Expand Down Expand Up @@ -71,9 +73,7 @@ def add_padding(multiline_string: List[str]):
subparsers = ["Hourly", "Monthly"]

for subp in subparsers:
with subprocess.Popen(
["era5cli", subp.lower(), "--help"], stdout=subprocess.PIPE
) as process:
with subprocess.Popen(["era5cli", subp.lower(), "--help"], stdout=subprocess.PIPE) as process:
stdout, stderr = process.communicate()
helpstr = stdout.decode("utf-8")
helpstr = helpstr[helpstr.index("option") :]
Expand Down
8 changes: 3 additions & 5 deletions docs/general_development.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,19 +66,17 @@ hatch run coverage
This runs tests and prints the results to the command line, as well as storing the result in a `coverage.xml` file (for analysis by, e.g. CodeCov or SonarCloud).

## Running formatters and linters
For linting and code style we use `flake8`, `black` and `isort`. All tools can simply be run by doing:
For linting and code style we use `ruff`. Which can simply be run by doing:

```sh
hatch run lint
ruff check
```

To easily comply with `black` and `isort`, you can also run:

```sh
hatch run format
```

This will apply the `black` and `isort` formatting, and then check the code style.
This will apply the `ruff` formatting, and then check the code style.

## Generating the documentation

Expand Down
16 changes: 14 additions & 2 deletions docs/hourly_monthly.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
There are two types of data requests, hourly and monthly. Hourly requests generally have 24 hours of data available for each day, except in the case of forecase ensembles which are available every three hours (i.e. 8 per day).
There are two types of data requests, hourly, daily and monthly. Hourly requests generally have 24 hours of data available for each day, except in the case of forecase ensembles which are available every three hours (i.e. 8 per day).

Hourly and monthly requests mostly have the same variables available, except some of the variables that are only in the hourly datasets. Exceptions on the single level data can be found in table 8 of [ERA5 parameter listings](https://confluence.ecmwf.int/display/CKB/ERA5%3A+data+documentation#ERA5:datadocumentation-Table8).
Hourly, daily and monthly requests mostly have the same variables available, except some of the variables that are only in the hourly datasets. Exceptions on the single level data can be found in table 8 of [ERA5 parameter listings](https://confluence.ecmwf.int/display/CKB/ERA5%3A+data+documentation#ERA5:datadocumentation-Table8).

## Hourly

Expand All @@ -15,6 +15,18 @@ More information on the available data and options can be found on the following
- [ERA5 hourly pressure levels preliminary back extension download page](https://cds.climate.copernicus.eu/cdsapp#!/dataset/reanalysis-era5-pressure-levels-preliminary-back-extension).
- [ERA5-Land hourly download page](https://cds.climate.copernicus.eu/cdsapp#!/dataset/reanalysis-era5-land).

## Daily

With the `daily` argument you can fetch daily ERA5 data.
All available arguments in `era5cli` can be seen using `era5cli daily --help`, or by going to the [reference](reference/arguments.md).

More information on the available data and options can be found on the following pages:

- [ERA5 single levels daily statistics download page](https://cds.climate.copernicus.eu/datasets/derived-era5-single-levels-daily-statistics?tab=overview)
- [ERA5 daily pressure levels download page](https://cds.climate.copernicus.eu/datasets/derived-era5-pressure-levels-daily-statistics?tab=overview)
- [ERA5-Land daily download page](https://cds.climate.copernicus.eu/datasets/derived-era5-land-daily-statistics?tab=overview)


## Monthly

With the `monthly` argument you can fetch monthly-means of ERA5 data.
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/arguments.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

All available arguments for the hourly and monthly requests are shown below. This can also be viewed by doing `era5cli hourly --help` and `era5cli monthly --help`.
All available arguments for the hourly, daily and monthly requests are shown below. This can also be viewed by doing `era5cli hourly --help`, `era5cli daily --help` and `era5cli monthly --help`.

Note that not all combinations of arguments are compatible, such as `--land` and `--ensemble`.

Expand Down
4 changes: 2 additions & 2 deletions era5cli/__version__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# -*- coding: utf-8 -*-
"""Author information."""


# This information is located in its own file so that it can be loaded
# without importing the main package when its dependencies are not installed.
# See: https://packaging.python.org/guides/single-sourcing-package-version
Expand All @@ -24,6 +23,7 @@
"Stefan Verhoeven",
"Elizaveta Malinina",
"Bart Schilperoort",
"Mark Melotto",
)
__email__ = "ewatercycle@esciencecenter.nl"
__version__ = "2.0.1"
__version__ = "2.1.0"
2 changes: 1 addition & 1 deletion era5cli/_request_size.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
"""Module to compute the size of the CDS request."""

from typing import TYPE_CHECKING
from era5cli import inputref

from era5cli import inputref

if TYPE_CHECKING:
from era5cli.fetch import Fetch
Expand Down
6 changes: 1 addition & 5 deletions era5cli/args/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
from era5cli.args import common
from era5cli.args import config
from era5cli.args import info
from era5cli.args import periods

from era5cli.args import common, config, info, periods

__all__ = ["common", "config", "periods", "info"]
Loading
Loading