Radar Data IO#

Xarray Backends#

CfRadial1#

This sub-module contains the CfRadial1 xarray backend for reading CfRadial1-based radar data into Xarray structures as well as a reader to create a complete datatree.Datatree.

Code ported from wradlib.

Example:

import xradar as xd
dtree = xd.io.open_cfradial1_datatree(filename)

CfRadial1BackendEntrypoint

Xarray BackendEntrypoint for CfRadial1 data.

open_cfradial1_datatree

Open CfRadial1 dataset as datatree.DataTree.

GAMIC HDF5#

This sub-module contains the GAMIC HDF5 xarray backend for reading GAMIC HDF5-based radar data into Xarray structures as well as a reader to create a complete datatree.Datatree.

Code ported from wradlib.

Example:

import xradar as xd
dtree = xd.io.open_gamic_datatree(filename)

GamicBackendEntrypoint

Xarray BackendEntrypoint for GAMIC data.

open_gamic_datatree

Open GAMIC HDF5 dataset as datatree.DataTree.

ODIM_H5#

This sub-module contains the ODIM_H5 xarray backend for reading ODIM_H5-based radar data into Xarray structures as well as a reader to create a complete datatree.Datatree.

Code ported from wradlib.

Example:

import xradar as xd
dtree = xd.io.open_odim_datatree(filename)

OdimBackendEntrypoint

Xarray BackendEntrypoint for ODIM data.

open_odim_datatree

Open ODIM_H5 dataset as datatree.DataTree.

Furuno binary data#

Reads data from Furuno’s binary data formats

To read from Furuno files numpy.memmap is used to get access to the data. The Furuno header is read in any case into dedicated OrderedDict’s. Reading sweep data can be skipped by setting loaddata=False. By default, the data is decoded on the fly.

Using rawdata=True the data will be kept undecoded.

Code ported from wradlib.

Example:

import xradar as xd
dtree = xd.io.open_furuno_datatree(filename)

FurunoBackendEntrypoint

Xarray BackendEntrypoint for Furuno data.

open_furuno_datatree

Open FURUNO dataset as datatree.DataTree.

Rainbow Data I/O#

This sub-module contains the Rainbow xarray backend for reading data from Leonardo’s Rainbow5 data formats into Xarray structures as well as a reader to create a complete datatree.Datatree. For this mmap.mmap is utilized.

Code ported from wradlib.

Example:

import xradar as xd
dtree = xd.io.open_rainbow_datatree(filename)

RainbowBackendEntrypoint

Xarray BackendEntrypoint for Rainbow5 data.

open_rainbow_datatree

Open ODIM_H5 dataset as datatree.DataTree.

IRIS/Sigmet Data I/O#

Reads data from Vaisala’s IRIS data formats

IRIS (Vaisala Sigmet Interactive Radar Information System)

See M211318EN-F Programming Guide ftp://ftp.sigmet.com/outgoing/manuals/

To read from IRIS files numpy.memmap is used to get access to the data. The IRIS header (PRODUCT_HDR, INGEST_HEADER) is read in any case into dedicated OrderedDict’s. Reading sweep data can be skipped by setting loaddata=False. By default the data is decoded on the fly. Using rawdata=True the data will be kept undecoded.

Code ported from wradlib.

IrisBackendEntrypoint

Xarray BackendEntrypoint for IRIS/Sigmet data.

open_iris_datatree

Open Iris/Sigmet dataset as datatree.DataTree.

StreamLine HPL#

This sub-module contains the StreamLine HPL xarray backend for reading StreamLine-based lidar data into Xarray structures.

Import of StreamLine .hpl (txt) files and save locally in directory. Therefore the data is converted into matrices with dimension “number of range gates” x “time stamp/rays”. In newer versions of the StreamLine software, the spectral width can be stored as additional parameter in the .hpl files.

HPLBackendEntrypoint

Xarray BackendEntrypoint for Halo Photonics Doppler processed lidar data.

open_hpl_datatree

Open Halo Photonics processed Doppler lidar dataset as datatree.DataTree.

NEXRAD Level2 Data I/O#

Reads data from NEXRAD Level2 data format

See https://www.roc.noaa.gov/WSR88D/BuildInfo/Files.aspx

Documents:
  • ICD 2620002 M ICD FOR RDA/RPG - Build RDA 11.5/RPG 13.0 (PDF)

  • ICD 2620010 E ICD FOR ARCHIVE II/USER - Build 12.0 (PDF)

To read from NEXRAD Level2 files numpy.memmap is used for uncompressed files (pre 2016-06-01) and bz2:BZ2Decompressor for BZ2 compressed data. The NEXRAD header (VOLUME_HEADER, MSG_HEADER) are read in any case into dedicated OrderedDict’s. Reading sweep data can be skipped by setting loaddata=False. By default, the data is decoded on the fly. Using rawdata=True the data will be kept undecoded.

Code adapted from Py-ART.

NexradLevel2BackendEntrypoint

Xarray BackendEntrypoint for NEXRAD Level2 Data

open_nexradlevel2_datatree

Open NEXRAD Level2 dataset as datatree.DataTree.

Datamet#

This sub-module contains the Datamet xarray backend for reading Datamet-based radar data into Xarray structures.

DataMetBackendEntrypoint

Xarray BackendEntrypoint for DataMet data.

open_datamet_datatree

Open DataMet dataset as datatree.DataTree.

Data Export#

CfRadial2 output#

This sub-module contains the writer for export of CfRadial2-based radar data.

Code ported from wradlib.

Example:

import xradar as xd
dtree = xd.io.to_cfradial2(dtree, filename)

to_cfradial2

Save DataTree to CfRadial2 compliant file.

ODIM_H5 output#

This sub-module contains the writer for export of ODIM_H5-based radar data.

Code ported from wradlib.

Example:

import xradar as xd
dtree = xd.io.to_odim(dtree, filename)

to_odim

Save DataTree to ODIM_H5/V2_2 compliant file.