radproc: An ArcGIS-compatible Library for RADOLAN Composite Processing and Analysis

Release:0.1.1
Date:July 19, 2018

Radproc is an open source Python library intended to faciliate precipitation data processing and analysis for ArcGIS-users. It provides functions for processing, analysis and export of RADOLAN (Radar Online Adjustment) composites and rain gauge data in MR90 format. The German Weather Service (DWD) provides the RADOLAN-Online RW composites for free in the Climate Data Center (ftp://ftp-cdc.dwd.de/pub/CDC/grids_germany/hourly/radolan/) but the data processing represents a big challenge for many potential users. Radproc’s goal is to lower the barrier for using these data, especially in conjunction with ArcGIS. Therefore, radproc provides an automated ArcGIS-compatible data processing workflow based on pandas DataFrames and HDF5. Moreover, radproc’s arcgis module includes a collection of functions for data exchange between pandas and ArcGIS.

Radproc’s Main Features

Raw Data processing

  • Support for the reanalyzed RADOLAN products RW (60 min), YW and RY (both 5 min. resolution)
  • Automatically reading in all binary RADOLAN composites from a predefined directory structure
  • Optionally clipping the composites to a study area in order to reduce data size
  • Default data structure: Monthly pandas DataFrames with full support for time series analysis and spatial location of each pixel
  • Efficient data storage in HDF5 format with fast data access and optional data compression
  • Easy downsampling of time series
  • Reading in DWD rain gauge data in MR90 format into the same data structure as RADOLAN.

Data Exchange with ArcGIS

  • Export of single RADOLAN composites or analysis results into projected raster datasets or ESRI grids for your study area
  • Export of all DataFrame rows into raster datasets in a new file geodatabase, optionally including several statistics rasters
  • Import of dbf tables (stand-alone or attribute tables of feature classes) into pandas DataFrames
  • Joining DataFrame columns to attribute tables
  • Extended value extraction from rasters to points (optionally including the eight surrounding cells)
  • Extended zonal statistics

Analysis

  • Calculation of precipitation sums for arbitrary periods of time
  • Heavy rainfall analysis, e.g. identification, counting and export of rainfall intervals exceeding defined thresholds
  • Data quality assessment
  • Comparison of RADOLAN and rain gauge data
  • In preparation: Erosivity analysis, e.g. calculation of monthly, seasonal or annual R-factors

Getting Started

System requirements

To be able to use all features offered by radproc, you need…

  • a 64-Bit operating system (32-Bit systems can not allocate more than 3 GB memory, which is not sufficient for radar data processing)
  • Python version 2.7 (64-Bit). It is strongly recommended to use the Anaconda distribution since this already includes all needed scientific site-packages.
  • ArcMap version 10.4 or newer
  • ArcGIS 64-Bit background processing
  • for processing of RADOLAN data in 5-minute resolution at least 16 GB RAM are recommended
Installation

First, install ArcMap for Desktop and its extension 64-Bit background processing.

Next, download and install the latest Anaconda distribution from https://www.anaconda.com/download/ (Windows, 64-Bit, Python version 2.7).

radproc is currently distributed as wheel file for Python version 2.7 on Windows operating systems (64-Bit only!). You can download the radproc wheel from the GitHub repository at https://github.com/jkreklow/radproc/tree/0.1.0/dist

To install radproc using Anaconda and pip…

  1. Open the Windows terminal by typing CMD into the Windows search (Administrator rights may be necessary!).

  2. Type:

    pip install C:\path\to\wheelfile\radproc_wheel.whl
    

    Now radproc is automatically installed into your Anaconda root environment. You can check by opening Spyder or Jupyter Notebook and entering:

    import radproc
    
  3. To enable your Anaconda distribution to “see” the arcpy package from your separate ArcGIS Python installation, you need to copy the Path file DTBGGP64.pth which is usually located at C:\Python27\ArcGISx6410.4\Lib\site-packages into the corresponding site-packages folder of your Anaconda distribution, e.g. C:\ProgramData\Anaconda2\Lib\site-packages

    To check if arcpy is now visible for Anaconda, import arcpy to Spyder or Jupyter Notebook:

    import arcpy
    
File system description
_images/Workflow.png

File system and processing workflow used by radproc.

Tutorials

These tutorials aim to help you getting started with radproc. More tutorials are in progress…

Tutorial 1: Raw Data Processing with Radproc

This tutorial will show you how to get started with RADOLAN processing and import your raw hourly RW data into HDF5.

Note: For this approach ArcMap is required!

1. Import radproc
In [1]:
import radproc as rp
2. Unzip Raw Data Archives

The RADOLAN RW product is usually provided as monthly tar.gz archives by the German Weather Service (DWD). These have to be unzipped in order to import the contained hourly binary files. The radproc function

unzip_RW_binaries(zipFolder, outFolder)

can be used to unzip all archives in one directory into the directory tree format needed by the following radproc functions. Moreover, as the binary files themselves might not be zipped, all binary files are automatically compressed to .gz files to save disk space.

In [2]:
RW_original = r"O:\Data\RW_archives"
RW_unzipped = r"O:\Data\RW_unzipped"

rp.unzip_RW_binaries(zipFolder=RW_original, outFolder=RW_unzipped)

Side Note: To unzip the YW or RY products, which might be provided as monthly archives which contain daily archives with the actual binary files, you can use the function

unzip_YW_binaries(zipFolder, outFolder)

The further processing workflow is the same for all products except that you need more memory space and patience (or a smaller study area) to process the products with higher temporal resolution.

Side Note: If you already have unpacked binary files (e.g. after download of recent RADOLAN-Online files from Climate Data Center) you can skip this step, but you need to make sure that the files are saved in monthly directories (if you have data for more than one month) to make all functions of radproc work correctly.

3. Import Unzipped Data into HDF5

To import all RW data you have just unzipped into an HDF5 file - optionally clipping the data to a study area - you can apply

create_idraster_and_process_radolan_data(inFolder, HDFFile, clipFeature=None, complevel=9)

Behind the scenes, this function will…

  • create an ID-raster for Germany in ArcGIS, called idras_ger,
  • if you specified a Shapefile or Feature-Class as clipFeature: Clip the german ID-raster to the extent of the clipFeature and create a second ID-raster called idras,
  • import all RADOLAN binary files in a directory tree,
  • select the data for your study area based on the generated ID-raster,
  • convert the selected data into monthly pandas DataFrames and
  • store all DataFrames in the specified HDF5 file.

The result of this function is a HDF5 file with all RADOLAN data of your study area ready for further analysis.

Note: This function works with RADOLAN-Online data as well as with the reanalyzed RADOLAN climatology data, which differ in data size and location. All necessary information are extracted from the RADOLAN metadata or are inherently contained within radproc.

More detailed information on the four function parameters are available in the library reference of the function.

Note: This function needs ArcMap to be installed and connected to your radproc environment!

In [3]:
RW_unzipped = r"O:\Data\RW_unzipped"
outHDF = r"O:\Data\RW.h5"
studyArea = r"O:\Data\StudyArea.shp"

rp.create_idraster_and_process_radolan_data(inFolder=RW_unzipped, HDFFile=outHDF, clipFeature=studyArea, complevel=9)
O:\Data\RW_unzipped\2016\5 processed
Alternative: Import Unzipped Data into HDF5 without ArcGIS

In case you want to use radproc without having ArcGIS installed, you can apply

process_radolan_data(inFolder, HDFFile, idArr=None, complevel=9)

If you don’t specify an ID Array (which is the default), all RADOLAN data will be processed without clipping. Hence, you get an HDF5 file for Germany, which you can use for analysis within Python, but keep in mind, that all export functions won’t work without the ID raster and ArcMap.

Note: This function works with RADOLAN-Online data as well as with the reanalyzed RADOLAN climatology data, which differ in data size and location. All necessary information are extracted from the RADOLAN metadata or are inherently contained within radproc.

In [4]:
RW_unzipped = r"O:\Data\RW_unzipped"
outHDF = r"O:\Data\RW.h5"

rp.process_radolan_data(inFolder=RW_unzipped, HDFFile=outHDF, idArr=None, complevel=9)
O:\Data\RW_unzipped\2016\5 processed

Now you are ready to start analyzing your data!

Tutorial 2: Aggregation to Precipitation Sums

This tutorial will show you, how to calculate precipitation sums from the data stored in HDF5 and how to export the results to ArcGIS.

To import your RADOLAN data into the necessary HDF5 file, please follow the tutorial on raw data processing.

Example 1: Annual Precipitation Sums

In this example, the annual precipitation sums for the time period from 2001 to 2016 are calculated and exported to ArcGIS.

1. Import radproc
In [1]:
import radproc as rp
2. Load Data from HDF5 and Aggregate to Annual Precipitation Sums

The following function loads precipitation data of the specified time period (2001-2016) from an HDF5 file and generates a DataFrame with annual precipitation sums for every raster cell.

In [2]:
HDF = r"O:\Data\RW_2001_2016.h5"

annualSum = rp.hdf5_to_years(HDFFile=HDF, year_start=2001, year_end=2016)
# Display the first five rows of the new DataFrame
annualSum.head()
Out[2]:
Rasterzellen-ID 427005 427006 427903 427904 427905 427906 428803 428804 428805 428806 ... 661855 661856 661857 662752 662753 662754 662755 662756 663652 663655
Datum (UTC)
2001-12-31 00:00:00+00:00 783.400024 809.500000 763.299988 773.500000 779.700012 788.500000 769.500000 780.400024 778.700012 783.000000 ... 1066.599976 1098.699951 1125.400024 994.000000 998.700012 1020.599976 1056.099976 1075.200073 989.200012 1039.500000
2002-12-31 00:00:00+00:00 967.700012 980.799988 951.000000 935.500000 947.200012 950.700012 956.000000 960.700012 938.700012 955.400024 ... 1491.599976 1529.500000 1539.199951 1383.099976 1387.500000 1407.400024 1478.099976 1488.800049 1380.400024 1467.099976
2003-12-31 00:00:00+00:00 597.200012 614.200012 578.000000 583.000000 592.200012 592.299988 573.400024 587.700012 587.299988 589.600037 ... 697.600037 696.099976 683.700012 670.400024 652.599976 638.400024 663.599976 668.599976 663.099976 648.000000
2004-12-31 00:00:00+00:00 795.000000 801.000000 772.000000 768.099976 776.600037 792.799988 746.500000 767.099976 779.000000 792.900024 ... 851.599976 872.200012 869.799988 803.000000 802.000000 804.099976 825.099976 841.599976 806.000000 813.700012
2005-12-31 00:00:00+00:00 728.099976 710.799988 678.500000 676.799988 730.200012 681.399963 671.400024 664.099976 658.799988 666.299988 ... 914.799988 922.900024 911.099976 847.799988 861.500000 868.099976 893.200012 903.299988 850.799988 872.500000

5 rows × 23320 columns

Note: All of radproc’s aggregation functions are intended for analysis of longer time periods and currently only work for entire years starting in January! To resample smaller time periods, you can e.g. import and resample months with

May2016 = rp.load_months_from_hdf5(HDFFile=HDF, year=2016,  months=[5])
freq = 'M' # 'M' for monthly sums, 'D' for daily sums, 'H' for hourly sums
monthSum = May2016.resample(frequency=freq, closed = 'right', label = 'right').sum()
3. Export Results into ArcGIS Geodatabase

The following function exports all rows from the DataFrame calculated above into raster datasets in an ArcGIS File Geodatabase. Optionally, different statistics rasters can be created, e.g. the mean or the maximum value of each cell.

In [3]:
idRaster = r"O:\Data\idras"
outGDBPath = r"O:\Data"
GDBName = "Years_01_16.gdb"
statistics = ["mean", "max"]

rp.export_dfrows_to_gdb(dataDF=annualSum, idRaster=idRaster, outGDBPath=outGDBPath, GDBName=GDBName, statistics=statistics)

The resulting geodatabase will look like this in ArcGIS:

YearGDB

YearGDB

Example 2: Monthly Precipitation Sums

In this example, the monthly precipitation sums for the year 2016 are calculated and exported to ArcGIS.

1. Import radproc
In [4]:
import radproc as rp
2. Load Data from HDF5 and Aggregate to Monthly Precipitation Sums

The following function loads precipitation data of the year 2016 from your HDF5 file and generates a DataFrame with monthly precipitation sums for every raster cell.

In [5]:
HDF = r"O:\Data\RW_2001_2016.h5"

monthlySum = rp.hdf5_to_months(HDFFile=HDF, year_start=2016, year_end=2016)
# Display the first five rows of the new DataFrame
monthlySum.head()
Out[5]:
Rasterzellen-ID 427005 427006 427903 427904 427905 427906 428803 428804 428805 428806 ... 661855 661856 661857 662752 662753 662754 662755 662756 663652 663655
Datum (UTC)
2016-01-31 00:00:00+00:00 71.400002 71.900002 68.000000 69.099998 70.099998 71.699997 65.500000 67.300003 66.199997 69.800003 ... 128.199997 129.500000 129.600006 120.199997 121.300003 123.500000 125.699997 122.900002 118.099998 120.400002
2016-02-29 00:00:00+00:00 68.699997 71.199997 61.500000 64.300003 67.300003 68.400002 58.200001 61.700001 65.000000 64.300003 ... 105.900002 106.199997 110.099998 96.800003 96.699997 100.099998 102.599998 101.400002 92.800003 97.400002
2016-03-31 00:00:00+00:00 41.799999 41.299999 40.299999 39.900002 40.099998 39.299999 37.700001 38.200001 38.799999 37.500000 ... 65.500000 64.400002 65.199997 70.000000 67.500000 64.400002 65.099998 65.099998 69.800003 65.500000
2016-04-30 00:00:00+00:00 55.700001 56.600002 51.799999 52.400002 54.000000 55.299999 50.799999 51.200001 52.799999 54.400002 ... 108.500000 112.199997 115.400002 106.700005 106.500000 107.699997 112.599998 114.300003 105.199997 108.099998
2016-05-31 00:00:00+00:00 38.200001 40.600002 47.299999 44.799999 39.400002 34.299999 46.799999 45.400002 43.200001 38.500000 ... 121.299995 119.300003 115.099998 128.100006 138.199997 135.500000 124.300003 128.500000 130.199997 134.399994

5 rows × 23320 columns

3. Export Results into ArcGIS Geodatabase

The following function exports all rows from the DataFrame calculated above into raster datasets in an ArcGIS File Geodatabase. Optionally, different statistics rasters can be created, in this case the mean, maximum and minimum value of each cell as well as the range per cell.

In [6]:
idRaster = r"O:\Data\idras"
outGDBPath = r"O:\Data"
GDBName = "Months_16.gdb"
statistics = ["mean", "max", "min", "range"]

rp.export_dfrows_to_gdb(dataDF=monthlySum, idRaster=idRaster, outGDBPath=outGDBPath, GDBName=GDBName, statistics=statistics)

The resulting geodatabase will look like this in ArcGIS:

MonthGDB

MonthGDB

Tutorial 3: Heavy Rainfall Analysis

This tutorial shows how to identify and count heavy rainfall intervals exceeding a specified threshold and export the results to ArcGIS.

Example 1: Identification of Heavy Rainfall Intervals
1. Import radproc
In [1]:
import radproc as rp
2. Identify Heavy Rainfall Intervals

To identify and select all intervals exceeding a rainfall threshold x at least y times in season z, you can use the function

find_heavy_rainfalls(HDFFile, year_start, year_end, thresholdValue, minArea, season)

The following code will extract all intervals, in which an hourly precipitation of 30 mm is exceeded in at least five cells (these don’t need to be adjacent cells!) in May 2016 in Hesse.

In [2]:
HDF = r"O:\Data\RW.h5"

hr = rp.find_heavy_rainfalls(HDFFile=HDF, year_start=2016, year_end=2016, thresholdValue=30, minArea=5, season='May')
hr
Out[2]:
Cell-ID 427005 427006 427903 427904 427905 427906 428803 428804 428805 428806 ... 661855 661856 661857 662752 662753 662754 662755 662756 663652 663655
Date (UTC)
2016-05-27 16:50:00+00:00 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
2016-05-27 17:50:00+00:00 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
2016-05-28 14:50:00+00:00 0.0 0.0 0.1 0.1 0.0 0.0 0.0 0.1 0.1 0.0 ... 0.1 0.9 1.7 0.4 0.5 0.5 0.6 1.1 0.7 0.6
2016-05-28 15:50:00+00:00 1.2 1.1 1.3 1.2 1.1 1.1 1.4 1.1 1.3 1.2 ... 4.7 4.0 4.3 9.2 7.8 6.3 3.8 3.4 10.6 3.9
2016-05-28 17:50:00+00:00 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 4.2 4.4 4.3 4.5 5.1 4.5 4.7 4.3 5.3 5.2
2016-05-29 16:50:00+00:00 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
2016-05-29 23:50:00+00:00 0.0 0.2 0.3 0.2 0.2 0.1 0.2 0.1 0.0 0.2 ... 4.9 3.9 4.0 4.3 4.4 4.2 4.2 3.4 4.3 3.8
2016-05-30 00:50:00+00:00 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 4.5 3.8 3.5 3.7 3.5 4.2 4.1 3.6 4.0 3.6

8 rows × 23320 columns

3. Export Results into ArcGIS Geodatabase

The following function exports all rows from the resampled daily DataFrame calculated above into raster datasets in an ArcGIS File Geodatabase. Optionally, different statistics rasters can be created, in this case the sum and the maximum value of each cell.

In [3]:
idRaster = r"O:\Data\idras"
outGDBPath = r"O:\Data"
GDBName = "May16_30mm5c.gdb"
statistics = ["sum", "max"]

rp.export_dfrows_to_gdb(dataDF=hr, idRaster=idRaster, outGDBPath=outGDBPath, GDBName=GDBName, statistics=statistics)

The new Geodatabase looks like this in ArcGIS:

HR\_GDB

HR_GDB

Side Note In this example, eight intervals meeting the given criteria have been identified at four days. The following code can be used as a simple approach to obtain daily sums for these events. (Of course this does not take into account that the interval at May 30th is most likely part of the same precipitation event as the ones from May 29th…this is a more complicated topic to be adressed in future versions of radproc)

In [4]:
hr_daily = hr.resample('D').sum()
hr_daily
Out[4]:
Cell-ID 427005 427006 427903 427904 427905 427906 428803 428804 428805 428806 ... 661855 661856 661857 662752 662753 662754 662755 662756 663652 663655
Date (UTC)
2016-05-27 00:00:00+00:00 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.000000 0.0 0.0 0.000000 0.0 0.0 0.0
2016-05-28 00:00:00+00:00 1.2 1.1 1.4 1.3 1.1 1.1 1.4 1.2 1.4 1.2 ... 9.0 9.3 10.3 14.099999 13.4 11.3 9.099999 8.8 16.6 9.7
2016-05-29 00:00:00+00:00 0.0 0.2 0.3 0.2 0.2 0.1 0.2 0.1 0.0 0.2 ... 4.9 3.9 4.0 4.300000 4.4 4.2 4.200000 3.4 4.3 3.8
2016-05-30 00:00:00+00:00 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ... 4.5 3.8 3.5 3.700000 3.5 4.2 4.100000 3.6 4.0 3.6

4 rows × 23320 columns

For example, the resulting raster dataset for the sum of the two intervals on May 27th looks like this:

HR\_20160527

HR_20160527

Example 2: Counting Heavy Rainfall Intervals
1. Identify and Count Heavy Rainfall Intervals

To count the number of times in which a rainfall threshold x is exceeded at every cell in season z, you can use the function

count_heavy_rainfall_intervals(HDFFile, year_start, year_end, thresholdValue, minArea, season)

If you specify a minimum area a > 1, only intervals in which the threshold x is exceeded in at least y cells are taken into account.

The following code will count how many times an hourly precipitation of 10 mm is exceeded at every cell in May 2016 in Hesse.

In [5]:
HDF = r"O:\Data\RW.h5"

hr_count = rp.count_heavy_rainfall_intervals(HDFFile=HDF, year_start=2016, year_end=2016, thresholdValue=10, minArea=1, season='May')
hr_count
Out[5]:
Cell-ID 427005 427006 427903 427904 427905 427906 428803 428804 428805 428806 ... 661855 661856 661857 662752 662753 662754 662755 662756 663652 663655
Date (UTC)
2016-05-31 00:00:00+00:00 0 0 0 0 0 0 0 0 0 0 ... 1 1 0 1 1 1 1 1 2 1

1 rows × 23320 columns

In [6]:
# print the maximum value
hr_count.max(axis=1)
Out[6]:
Date (UTC)
2016-05-31 00:00:00+00:00    4
Freq: M, dtype: int32
2. Export to Raster

As the output DataFrame only has one row (because we only analyzed one month), it can be exported directly with

export_to_raster(series, idRaster, outRaster)
In [7]:
rp.export_to_raster(series=hr_count, idRaster=r"O:\Data\idras", outRaster=r"O:\Data\hrcount10mm")
Out[7]:
'O:\\Data\\hrcount10mm'

Library Reference

Raw Data Processing

Functions for raw data processing.

Unzip, import, clip and convert RADOLAN raw data and write DataFrames to HDF5.

unzip_RW_binaries Unzips RADOLAN RW binary data saved in monthly .tar or tar.gz archives (e.g.
unzip_YW_binaries Unzips RADOLAN YW binary data.
radolan_binaries_to_dataframe Import all RADOLAN binary files in a directory into a pandas DataFrame, optionally clipping the data to the extent of an investigation area specified by an ID array.
radolan_binaries_to_hdf5 Wrapper for radolan_binaries_to_dataframe() to import and clip all RADOLAN binary files of one month in a directory into a pandas DataFrame and save the resulting DataFrame as a dataset to an HDF5 file.
create_idraster_and_process_radolan_data Convert all RADOLAN binary data in directory tree into an HDF5 file with monthly DataFrames for a given study area.
process_radolan_data Converts all RADOLAN binary data into an HDF5 file with monthly DataFrames for a given study area without generating a new ID raster.
Core Functions and Data I/O

Core functions like coordinate conversion and import of ID-array from textfile. Data import from HDF5-file and temporal data aggregation.

coordinates_degree_to_stereographic Converts geographic coordinates [°] to cartesian coordinates [m] in stereographic RADOLAN projection.
save_idarray_to_txt Write cell ID values to text file.
import_idarray_from_txt Imports cell ID values from text file into one-dimensional numpy-array.
load_months_from_hdf5 Imports the specified months of one year and merges them to one DataFrame.
load_month Imports the dataset of specified month from HDF5.
load_years_and_resample Imports all months of the specified years, merges them together to one DataFrame and resamples the latter to [annual | monthly | daily | hourly] precipitation sums.
hdf5_to_years Wrapper for load_years_and_resample() to import all months of the specified years, merge them together to one DataFrame and resample the latter to annual precipitation sums.
hdf5_to_months Wrapper for load_years_and_resample() to import all months of the specified years, merge them together to one DataFrame and resample the latter to monthly precipitation sums.
hdf5_to_days Wrapper for load_years_and_resample() to import all months of the specified years, merge them together to one DataFrame and resample the latter to daily precipitation sums.
hdf5_to_hours Wrapper for load_years_and_resample() to import all months of the specified years, merge them together to one DataFrame and resample the latter to hourly precipitation sums.
hdf5_to_hydrologicalSeasons Calculates the precipitation sums of the hydrological summer and winter seasons (May - October and November - April).
Heavy Rainfall Analysis

Module for heavy rainfall analysis.

  • identify and select all intervals in which a specified precipitation threshold is exceeded
  • count the number of threshold exceedances
find_heavy_rainfalls Creates a DataFrame containing all heavy rainfalls (intervals) exceeding a specified threshold intensity value.
count_heavy_rainfall_intervals Creates a DataFrame containing the sum of all heavy rainfalls intervals exceeding a specified threshold intensity value.
RADOLAN Binary File Import

Copy of all functions necessary for reading in RADOLAN composite files, taken from module wradlib.io (version=0.9.0)

(Heistermann, M., Jacobi, S., and Pfaff, T. 2013: Technical Note: An open source library for processing weather radar data (wradlib), Hydrol. Earth Syst. Sci., 17, 863-871)

Copying these functions was necessary in order to reduce number of dependencies and avoid conflicts arising between different GDAL installations required for other wradlib modules and ArcGIS.

read_RADOLAN_composite Read quantitative radar composite format of the German Weather Service
DWD MR90 Gauge Data Processing

Collection of functions for processing DWD rain gauge data in MR90 format.

Convert gauge data to pandas DataFrames with same format as RADOLAN data and saves them as HDF5 datasets.

stationfile_to_df Import a textfile with DWD rain gauge data in MR90 format into a one-column pandas DataFrame.
summarize_metadata_files Import all metafiles and summarizes metadata in a single textfile.
dwd_gauges_to_hdf5 Import all textfiles containing DWD rain gauge data in MR90 format from input folder into a DataFrame and save it as monthly HDF5 datasets.

Release Notes

Version 0.1.1
  • In conjunction with changes in support docs at Climate Data Center, the RADOLAN projection file used for ID raster creation (stored in sampledata module) has been replaced. The new file contains the stereographic RADOLAN projection in meters instead of kilometers. This guarantees compatibility with RADOLAN ASCII files from CDC.
  • Accordingly, the unit of the output coordinates of radproc.core.coordinates_degree_to_stereographic() has been changed to meter and the cellsize of radproc.arcgis.create_idraster_germany() has been set to 1000 instead of 1.
  • radproc.raw.unzip_RW_binaries() and radproc.raw.unzip_YW_binaries(): outFolder will now be created if it doesn’t exist, yet.
Version 0.1.0

First radproc release version.

www.pgweb.uni-hannover.de only hosts the docs for the latest release version. If you need former versions, please check out the docs on https://radproc.readthedocs.io Unfortunately, they don’t contain the docs af the arcgis module due to technical problems with the installation of arcpy at readthedocs.

Indices and tables