Skip to main content

Xradar includes all the tools to get your weather radar into the xarray data model.

Project description

xradar

PyPI Version Conda Version DOI

CI Build distribution RTD Version

Xradar includes all the tools to get your weather radar into the xarray data model.

About

At a developer meeting held in the course of the ERAD2022 conference in Locarno, Switzerland, future plans and cross-package collaboration of the openradarscience community were intensively discussed.

The consensus was that a close collaboration that benefits the entire community can only be maximized through joint projects. So the idea of a common software project whose only task is to read and write radar data was born. The data import should include as many available data formats as possible, but the data export should be limited to the recognized standards, such as ODIM_H5 and CfRadial.

As memory representation an xarray based data model was chosen, which is internally adapted to the forthcoming standard CfRadial2.1/FM301. FM301 is enforced by the Joint Expert Team on Operational Weather Radar (JET-OWR). Information on FM301 is available at WMO as WMO CF Extensions.

Any software package that uses xarray in any way will then be able to directly use the described data model and thus quickly and easily import and export radar data. Another advantage is the easy connection to already existing open source radar processing software.

Status

Xradar is considered stable for the implemented readers and writers which have been ported from wradlib. It will remain in beta status until the standard is finalized and the API as well as data model will move into stable/production status.

Features

  • Import/Export CfRadial1 data
  • Import/Export CfRadial2 data
  • Import/Export ODIM_H5 data
  • Import GAMIC HDF5
  • Import Rainbow5
  • Import Iris/Sigmet
  • Import Furuno SCN/SCNX
  • Georeferencing (AEQD)
  • Angle Reindexing

History

0.7.0 (2024-10-26)

This is the last version which uses datatree from xarray-contrib/datatree. Thus, xarray is pinned to version 2024.9.0.

  • ADD: Added apply_to_sweeps function for applying custom operations to all sweeps in a DataTree radar volume Implemented by @syedhamidali, ({pull}202).
  • ADD: Metek Micro Rain Radar 2 reader by @rcjackson, ({pull}200) by @rcjackson.

0.6.5 (2024-09-20)

  • FIX: Azimuth dimension now labelled correctly for Halo Photonics data ({pull}206) by @rcjackson.
  • FIX: do not apply scale/offset in datamet reader, leave it to xarray instead ({pull}209) by @kmuehlbauer.

0.6.4 (2024-08-30)

  • FIX: Notebooks are now conforming to ruff's style checks by @rcjackson, ({pull}199) by @rcjackson.
  • FIX: use dict.get() to retrieve attribute key and return "None" if not available, ({pull}200) by @kmuehlbauer

0.6.3 (2024-08-13)

FIX: use rstart in meter for ODIM_H5/V2_4 ({issue}196) by @kmuehlbauer, ({pull}197) by @kmuehlbauer.

0.6.2 (2024-08-12)

  • FIX: Passing 'engine' kwarg in "open_cfradial1_datatree" method to enable fsspec.open when using url ({issue}194) by @aladinor, ({pull}195) by @aladinor

0.6.1 (2024-08-07)

0.6.0 (2024-08-05)

  • ADD: DataMet reader ({pull}175) by @wolfidan.
  • FIX: Nexrad level2 time offset of 1 day, skip reading missing elevations, introduce new radial_status of 5 ({issue}180) by @ghiggi, ({pull}180) by @kmuehlbauer.
  • ADD: Reader for Halo Photonics Doppler lidar data by @rcjackson

0.5.1 (2024-07-05)

  • ADD: Add Alfonso to citation doc ({pull}169) by @mgrover1.
  • ENH: Adding global variables and attributes to iris datatree ({pull}166) by @aladinor.
  • FIX: Set fillvalue before applying scale/offset when exporting to odim ({issue}122) by @pavlikp, ({pull}173) by @kmuehlbauer.
  • FIX: Fix use of ruff, CI and numpy2 ({pull}177) by @mgrover1 and @kmuehlbauer.

0.5.0 (2024-03-28)

  • MNT: Update GitHub actions, address DeprecationWarnings ({pull}153) by @kmuehlbauer.
  • MNT: restructure odim.py/gamic.py, add test_odim.py/test_gamic.py ({pull}154) by @kmuehlbauer.
  • MNT: use CODECOV token ({pull}155) by @kmuehlbauer.
  • MNT: fix path for notebook coverage ({pull}157) by @kmuehlbauer.
  • ADD: NEXRAD Level2 structured reader ({pull}158) by @kmuehlbauer and @mgrover1.
  • FIX: Add the proper elevation angle to fixed angle ({pull}162) by @mgrover1.
  • ENH: Add a utility for finding sweep number keys ({pull}167) by @mgrover1.

0.4.3 (2024-02-24)

  • MNT: address black style changes, update pre-commit-config.yaml ({pull}152) by @kmuehlbauer.
  • FIX: use len(unique) to estimate unique entry for odim range ({pull}151) by @martinpaule.

0.4.2 (2023-11-02)

  • FIX: Fix handling of sweep_mode attributes ({pull}143) by @mgrover1
  • FIX: explicitely check for "False" in get_crs() {pull}142) by @kmuehlbauer.

0.4.1 (2023-10-26)

  • FIX: Add history to cfradial1 output, and fix minor error in CfRadial1_Export.ipynb notebook({pull}132) by @syedhamidali
  • FIX: fix readthedocs build for python 3.12 ({pull}140) by @kmuehlbauer.
  • FIX: align coordinates in backends, pin python >3.9,<=3.12 in environment.yml ({pull}139) by @kmuehlbauer
  • FIX: prevent integer overflow when calculating azimuth in FURUNO scn files ({issue}137) by @giacant , ({pull}138) by @kmuehlbauer

0.4.0 (2023-09-27)

  • ENH: Add cfradial1 exporter ({issue}124) by @syedhamidali, ({pull}126) by @syedhamidali
  • FIX: use datastore._group instead of variable["sweep_number"] ({issue}121) by @aladinor , ({pull}123) by @kmuehlbauer
  • MIN: use "crs_wkt" instead of deprecated "spatial_ref" when adding CRS ({pull}127) by @kmuehlbauer
  • FIX: always read nodata and undetect attributes from ODIM file ({pull}125) by @egouden
  • MIN: use cmweather colormaps in xradar ({pull}128) by @kmuehlbauer.

0.3.0 (2023-07-11)

  • ENH: Add new examples using radar data on AWS s3 bucket ({pull}102) by @aladinor
  • FIX: Correct DB_DBTE8/DB_DBZE8 and DB_DBTE16/DB_DBZE16 decoding for iris-backend ({pull}110) by @kmuehlbauer
  • FIX: Cast boolean string to int in rainbow dictionary ({pull}113) by @egouden
  • MNT: switch to mamba-org/setup-micromamba, split CI tests ({issue}115), ({pull}116) by @kmuehlbauer
  • FIX: time interpolation ({pull}117) by @kmuehlbauer
  • FIX: robust angle_res retrieval in extract_angle_parameters ({issue}112), ({pull}118) by @kmuehlbauer
  • FIX: robust radar identifier in to_odim() ({pull}120) by @kmuehlbauer

0.2.0 (2023-03-24)

  • ENH: switch to add optional how attributes in ODIM format writer ({pull}97) by @egouden
  • FIX: add keyword argument for mandatory source attribute in ODIM format writer ({pull}96) by @egouden
  • FIX: check for dim0 if not given, only swap_dims if needed ({issue}92), ({pull}94) by @kmuehlbauer
  • FIX+ENH: need array copy before overwriting and make compression available in to_odim ({pull}95) by @kmuehlbauer

0.1.0 (2023-02-23)

  • Add an example on reading multiple sweeps into a single object ({pull}69) by @mgrover1
  • ENH: add spatial_ref with pyproj when georeferencing, add/adapt methods/tests ({issue}38), ({pull}87) by @kmuehlbauer
  • Docs/docstring updates, PULL_REQUEST_TEMPLATE.md ({pull}89) by @kmuehlbauer
  • Finalize release 0.1.0, add testpypi upload on push to main ({pull}91) by @kmuehlbauer

0.0.13 (2023-02-09)

  • FIX: only skip setting cf-attributes if both gain and offset are unused ({pull}85) by @kmuehlbauer

0.0.12 (2023-02-09)

  • ENH: add IRIS DB_VELC decoding and tests ({issue}78), ({pull}83) by @kmuehlbauer
  • FIX: furuno backend inconsistencies ({issue}77), ({pull}82) by @kmuehlbauer
  • FIX: ODIM_H5 backend inconsistencies ({issue}80), ({pull}81) by @kmuehlbauer

0.0.11 (2023-02-06)

  • fix _Undetect/_FillValue in odim writer ({pull}71) by @kmuehlbauer
  • port more backend tests from wradlib ({pull}73) by @kmuehlbauer

0.0.10 (2023-02-01)

  • add WRN110 scn format to Furuno reader ({pull}65) by @kmuehlbauer
  • Adapt to new build process, pyproject.toml only, use ruff for linting ({pull}67) by @kmuehlbauer

0.0.9 (2022-12-11)

  • add ODIM_H5 exporter ({pull}39) by @kmuehlbauer
  • fetch radar data from open-radar-data ({pull}44) by @kmuehlbauer
  • align readers with CfRadial2, add CfRadial2 exporter ({pull}45), ({pull}49), ({pull}53), ({pull}56), ({pull}57) and ({pull}58) by @kmuehlbauer
  • add georeference accessor, update examples ({pull}60), ({pull}61) by @mgrover1
  • refactored and partly reimplemented angle reindexing ({issue}55), ({pull}62) by @kmuehlbauer

0.0.8 (2022-09-28)

0.0.7 (2022-09-21)

  • Add zenodo badges to README.md ({pull}22) by @mgrover1
  • Fix version on RTD ({pull}23) by @kmuehlbauer
  • Add minimal documentation for Datamodel ({pull}24) by @kmuehlbauer

0.0.6 (2022-09-19)

  • Improve installation and contribution guide, update README.md with more badges, add version and date of release to docs, update install process ({pull}19) by @kmuehlbauer
  • Add minimal documentation for CfRadial1 and ODIM_H5 importers ({pull}20) by @kmuehlbauer
  • Add accessors.py submodule, add accessors showcase ({pull}21) by @kmuehlbauer

0.0.5 (2022-09-14)

0.0.4 (2022-09-01)

Setting up CI workflow and build, @mgrover1 and @kmuehlbauer

0.0.1 (2022-09-01)

  • First release on PyPI.

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

xradar-0.7.0.tar.gz (298.1 kB view details)

Uploaded Source

Built Distribution

xradar-0.7.0-py3-none-any.whl (123.4 kB view details)

Uploaded Python 3

File details

Details for the file xradar-0.7.0.tar.gz.

File metadata

  • Download URL: xradar-0.7.0.tar.gz
  • Upload date:
  • Size: 298.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for xradar-0.7.0.tar.gz
Algorithm Hash digest
SHA256 a0fc748b929f2bb98041d4b178652e996a60be8e074db5942ddb02803a6268fd
MD5 6ca9def67db4a1acb6334c7d84901f62
BLAKE2b-256 b007d163d69feeea5854f8faf771eb95d394c8d8f6edf1557951d4d3b0ae151c

See more details on using hashes here.

File details

Details for the file xradar-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: xradar-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 123.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for xradar-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6a0d8b6b3d6c8615a1fcf05a10159b25efeedf49e1558f5c96c7f64426d3f882
MD5 b7e089e4bde3f0ed7cff8ae11ac37d39
BLAKE2b-256 697f8f12c1fd12317cf3ed4c7a44a9af126631044015a33830cfa3aa8a17a1a2

See more details on using hashes here.

Supported by

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