wradlibhttps://wradlib.org/2019-08-02T14:00:00+02:00An Open Source Library for Weather Radar Data ProcessingRelease 1.52019-08-02T14:00:00+02:002019-08-02T14:00:00+02:00wradlibtag:wradlib.org,2019-08-02:/2019/08/wradlib_release_1_5_0/<p>We have now released version 1.5 of&nbsp;wradlib.</p> <p>This version contains several bugfixes and&nbsp;enhancements.</p> <p>Now, these are the most important&nbsp;changes:</p> <ul> <li> <p><strong>further consolidation of xarray based ODIM_H5 and Cf/Radial&nbsp;readers/writers</strong></p> <p>We have added <a href="https://docs.wradlib.org/en/1.5.0/notebooks/fileio/wradlib_xarray_radial_odim.html">examples</a> of how to read/write these files and also a <a href="https://docs.wradlib.org/en/1.5.0/notebooks/fileio/wradlib_load_DWD_opendata_volumes.html">real-live example …</a></p></li></ul><p>We have now released version 1.5 of&nbsp;wradlib.</p> <p>This version contains several bugfixes and&nbsp;enhancements.</p> <p>Now, these are the most important&nbsp;changes:</p> <ul> <li> <p><strong>further consolidation of xarray based ODIM_H5 and Cf/Radial&nbsp;readers/writers</strong></p> <p>We have added <a href="https://docs.wradlib.org/en/1.5.0/notebooks/fileio/wradlib_xarray_radial_odim.html">examples</a> of how to read/write these files and also a <a href="https://docs.wradlib.org/en/1.5.0/notebooks/fileio/wradlib_load_DWD_opendata_volumes.html">real-live example</a> using data from German Weather Service. In this example we show how our implementation combines all 20 files (two moments, 10 sweeps) into one xarray powered structure, which can be exported to single CfRadial2 or ODIM_H5 volume files. For exploitung <code>dask</code> for lazy/parallelized processing the <code>chunk</code> keyword can be used to transparently use dask with&nbsp;xarray.</p> <p>We encourage all users to dive into Xarray based processing as wradlib will continuously update it&#8217;s codebase utilizing Xarray based&nbsp;processing.</p> </li> <li> <p><strong>xarray wrapper for <span class="caps">RADOLAN</span>&nbsp;data</strong></p> <p>As a first attempt we added <code>loaddata='xarray'</code> keyword argument to the <code>read_radolan_composit</code> function. This will output the data wrapped in an Xarray Dataset with attached coordinates of the radolan stereographic projection. A short example can be found <a href="https://docs.wradlib.org/en/1.5.0/notebooks/radolan/radolan_quickstart.html#RADOLAN-Xarray-reader">here</a>.</p> </li> <li> <p><strong>speedup zonal&nbsp;statistics</strong></p> <p>Using <span class="caps">GDAL</span> powered <code>/vsimem</code> (a virtual memory driver) and by creation of spatial and attribute index files as well as by combining attribute and property reads, we could significantly improve performance. The <span class="caps">CI</span> time of the zonal stats example went down to 80 seconds from over 360&nbsp;seconds. </p> </li> <li> <p><strong>Bugfixes</strong></p> <p>The wradlib community found several bugs which are now fixed (multidimensional calling in <code>gradient_along_axis</code>, missing destination projection in destination dataset in <code>reproject_raster_dataset</code> and several&nbsp;more). </p> </li> </ul> <p>We like to thank all our contributors and all community members who ask questions and provide feedback on the various channels. Your contributions very much&nbsp;appreciated. </p> <p>For a complete list of changes refer to the <a href="https://github.com/wradlib/wradlib/commits/master">wradlib repository</a>.</p> <p>As all new enhancements and additions might introduce regressions please report any issues you&nbsp;experience.</p>Release 1.42019-05-24T14:00:00+02:002019-05-24T14:00:00+02:00wradlibtag:wradlib.org,2019-05-24:/2019/05/wradlib_release_1_4_0/<p>We have now released version 1.4 of&nbsp;wradlib.</p> <p>This version contains several bugfixes and three&nbsp;enhancements.</p> <p>Now, these are the most important&nbsp;changes:</p> <ul> <li> <p><strong>enhance/rewrite fuzzy echo classifier</strong> Aart Overeem (<span class="caps">KNMI</span>) not only spotted a long existing bug in <code>dp.texture</code> but also extended the <code>clutter.classify_echo_fuzzy</code> using <span class="caps">DR …</span></p></li></ul><p>We have now released version 1.4 of&nbsp;wradlib.</p> <p>This version contains several bugfixes and three&nbsp;enhancements.</p> <p>Now, these are the most important&nbsp;changes:</p> <ul> <li> <p><strong>enhance/rewrite fuzzy echo classifier</strong> Aart Overeem (<span class="caps">KNMI</span>) not only spotted a long existing bug in <code>dp.texture</code> but also extended the <code>clutter.classify_echo_fuzzy</code> using <span class="caps">DR</span> (depolarization ratio, new function <code>dp.depolarization</code>) and <span class="caps">CPA</span> (clutter phase&nbsp;alignment). </p> </li> <li> <p><strong>read sigmet/iris ingest files, redesign reader</strong> This addition was suggested by Alex Schueth (Texas Tech Univ.). He provided ingest data files and tested the implementation. Feedback from Canberk Karadavut and Alper Çubuk (<span class="caps">TSMS</span>) was incorporated into the redesign of the&nbsp;reader. </p> </li> <li> <p><strong>parametrized ODIM_H5 reader based on xarray</strong> This was suggested by Edouard Goudenhoofdt (<span class="caps">RMI</span>) to speed up loading time of ODIM_H5 data files. He provided initial implementation, which led to a minor re-write of the reader. Finally the implementation is flexible and powerful at the same time. The user can decide by keywords, which and how the data should be read. He also added a neat function to profile wradlib&nbsp;tests.</p> </li> <li> <p><strong>Bugfixes</strong> Paul Pazdersik suggested the removal of an unnecessary <code>seek</code> in radolan-reader. Canberk Karadavut and Alper Çubuk found a problem in decoding of <code>DB_FLIQUID2</code> in sigmet/iris-reader and added a fix. Bahtiyor Zohidov spotted a problem with the 2D <span class="caps">HMC</span> non-precip handling and helped with fixing. Sebastian Ernst and Zach Sherman helped to keep wradlib&nbsp;future-proof. </p> </li> </ul> <p>We like to thank all our contributors and all community members who ask questions and provide feedback on the various channels. Your contributions very much&nbsp;appreciated. </p> <p>For a complete list of changes refer to the <a href="https://github.com/wradlib/wradlib/commits/master">wradlib repository</a>.</p> <p>As all new enhancements and additions might introduce regressions please report any issues you&nbsp;experience.</p>Release 1.32019-03-29T08:00:00+01:002019-03-29T08:00:00+01:00wradlibtag:wradlib.org,2019-03-29:/2019/03/wradlib_release_1_3_0/<p>We have now released version 1.3 of&nbsp;wradlib.</p> <p>This version contains more improvements and enhancements than&nbsp;bugfixes.</p> <p>Now, these are the most important&nbsp;changes:</p> <ul> <li> <p><strong>Python3 only</strong> With version 1.3 we dropped support for Python 2.7. The package is intensively tested with Python 3.6 and&nbsp;3.7 …</p></li></ul><p>We have now released version 1.3 of&nbsp;wradlib.</p> <p>This version contains more improvements and enhancements than&nbsp;bugfixes.</p> <p>Now, these are the most important&nbsp;changes:</p> <ul> <li> <p><strong>Python3 only</strong> With version 1.3 we dropped support for Python 2.7. The package is intensively tested with Python 3.6 and&nbsp;3.7.</p> </li> <li> <p><strong>New CfRadial/ODIM_H5 reader based on xarray</strong> Contains functions to read and write CfRadial1 and upcoming CfRadial2 standard as well as ODIM_H5 standard radar data files. Makes intensive use of <a href="(http://xarray.pydata.org/en/stable/)">xarray package</a>, see also our <a href="https://wradlib.org/2019/02/xarray_cfradial2_odimh5/">blog-post here</a>. Examples are available in the <a href="https://docs.wradlib.org/en/stable/notebooks/fileio/wradlib_xarray_radial_odim.html">wradlib&nbsp;documentation</a></p> </li> <li> <p><strong>xarray powered plotting</strong> The plotting routines have been completely revised and build upon wradlib xarray DataArray Accessor. Helper functions for DataArray creation are implemented as well. <a href="https://docs.wradlib.org/en/stable/plotting.html">Extensive tutorials</a> including map-making using cartopy are available&nbsp;too.</p> </li> <li> <p><strong>Revised Documentation</strong> The documentation structure has been reordered for better user&nbsp;experience.</p> </li> </ul> <p>For a complete list of changes refer to the <a href="https://github.com/wradlib/wradlib/commits/master">wradlib repository</a>.</p> <p>As all new enhancements and additions might introduce regressions please report any issues you experience. Bugfix releases will be rolled out shortly. We kept our commitment to semver to stay backwards compatible regarding current workflows. One thing though is abandoning Python 2.7 where we are in line with many major python packages (eg.&nbsp;matplotlib).</p>Utilizing xarray for CfRadial - ODIM_H5 interoperability2019-02-15T11:00:00+01:002019-02-15T11:00:00+01:00wradlibtag:wradlib.org,2019-02-15:/2019/02/xarray_cfradial2_odimh5/<p>We have just added a new feature for CfRadial2 - ODIM_H5 interoperability to&nbsp;wradlib.</p> <p>wradlib is now able to read data from netcdf-based CfRadial1, CfRadial2 and hdf5-based ODIM_H5 (and other hdf5-flavours (<span class="caps">GAMIC</span>)).</p> <p>wradlib is able to write data to CfRadial2 and ODIM_H5 files. This reader implementation&nbsp;uses</p> <ul> <li><a href="http://unidata.github.io/netcdf4-python/">netcdf4</a></li> <li><a href="https://www.h5py.org/">h5py</a>&nbsp;and</li> <li><a href="https://xarray.pydata.org/">xarray …</a></li></ul><p>We have just added a new feature for CfRadial2 - ODIM_H5 interoperability to&nbsp;wradlib.</p> <p>wradlib is now able to read data from netcdf-based CfRadial1, CfRadial2 and hdf5-based ODIM_H5 (and other hdf5-flavours (<span class="caps">GAMIC</span>)).</p> <p>wradlib is able to write data to CfRadial2 and ODIM_H5 files. This reader implementation&nbsp;uses</p> <ul> <li><a href="http://unidata.github.io/netcdf4-python/">netcdf4</a></li> <li><a href="https://www.h5py.org/">h5py</a>&nbsp;and</li> <li><a href="https://xarray.pydata.org/">xarray</a></li> </ul> <p>The data is claimed using netcdf4-Dataset in a diskless non-persistent&nbsp;mode:</p> <div class="highlight"><pre><span></span> <span class="p">:::</span><span class="n">python</span> <span class="n">ncf</span> <span class="o">=</span> <span class="n">nc</span><span class="p">.</span><span class="n">Dataset</span><span class="p">(</span><span class="n">filename</span><span class="p">,</span> <span class="n">diskless</span><span class="o">=</span><span class="k">True</span><span class="p">,</span> <span class="n">persist</span><span class="o">=</span><span class="k">False</span><span class="p">)</span> </pre></div> <p>Further the different netcdf/hdf groups are accessed via xarray opendataset and the&nbsp;NetCDF4DataStore:</p> <div class="highlight"><pre><span></span> <span class="p">:::</span><span class="n">python</span> <span class="n">xr</span><span class="p">.</span><span class="n">open_dataset</span><span class="p">(</span><span class="n">xr</span><span class="p">.</span><span class="n">backends</span><span class="p">.</span><span class="n">NetCDF4DataStore</span><span class="p">(</span><span class="n">ncf</span><span class="p">),</span> <span class="n">mask_and_scale</span><span class="o">=</span><span class="k">True</span><span class="p">)</span> </pre></div> <p>For hdf5 data scaling/masking properties will be added to the datasets before decoding. For <span class="caps">GAMIC</span> compound data will be read via&nbsp;h5py.</p> <p>The data structure holds one <code>root</code> xarray dataset which corresponds to the CfRadial2 root-group and one or many <code>sweep_X</code> xarray datasets, holding the sweep data. Since for data handling xarray is utilized all xarray features can be exploited, like <strong>lazy-loading</strong>, <strong>pandas-like indexing</strong> on N-dimensional data and vectorized mathematical operations across multiple&nbsp;dimensions.</p> <p>Using <a href="https://scitools.org.uk/cartopy/">cartopy</a> and/or <a href="http://docs.dask.org/">dask</a> the possibilities seem&nbsp;endless.</p> <p>The writer implementation uses xarray for CfRadial2 output and relies on h5py for the ODIM_H5&nbsp;output.</p> <p>One word of warning, this implementation is considered experimental. Changes in the <span class="caps">API</span> should be&nbsp;expected.</p> <p>We welcome everybody to check it out and report back any bugs, feature requests or other&nbsp;comments.</p>Release 1.22018-10-31T08:00:00+01:002018-10-31T08:00:00+01:00wradlibtag:wradlib.org,2018-10-31:/2018/10/wradlib_release_1_2_0/<p>We have now released version 1.2 of&nbsp;wradlib.</p> <p>This version contains many bugfixes as well as improvements and enhancements. Most additions were pulled in within <a href="https://hacktoberfest.digitalocean.com/">Hacktoberfest</a>, the month-long celebration of open source software. Although this years Hacktoberfest is over, we encourage every wradlib user to join the party and …</p><p>We have now released version 1.2 of&nbsp;wradlib.</p> <p>This version contains many bugfixes as well as improvements and enhancements. Most additions were pulled in within <a href="https://hacktoberfest.digitalocean.com/">Hacktoberfest</a>, the month-long celebration of open source software. Although this years Hacktoberfest is over, we encourage every wradlib user to join the party and envision the Hacktoberfest&#8217;s 3 main&nbsp;mottos:</p> <ul> <li><strong><em>Everyone is&nbsp;welcome!</em></strong></li> <li><strong><em>Quantity is fun, Quality is&nbsp;key</em></strong></li> <li><strong><em>Short term action, long term&nbsp;impact</em></strong></li> </ul> <p>wradlib is building upon your support as users, feature requesters, bug reporters, collaborators and contributors. Thank you all, you&#8217;re more than&nbsp;welcome.</p> <p>Now, these are the most important&nbsp;changes:</p> <ul> <li> <p><strong>New <code>classify</code>-module</strong> Contains Hydrometeorclassification (<span class="caps">HMC</span>) using 2D membershipfunctions. For incorporation of temperature data to <span class="caps">HMC</span> <code>get_radiosonde</code> function was added to <code>io.misc</code>. An example notebook covering the <span class="caps">HMC</span> workflow was added <a href="https://docs.wradlib.org/en/1.2.0/notebooks/classify/wradlib_2d_hmc.html">to the documentation</a> (wradlib-notebooks). Other classification functions (clutter etc.) will be moved from <code>clutter</code>-module to <code>classify</code> in the next major version&nbsp;2.0.</p> </li> <li> <p><strong>Speed-up interpolation functions</strong> By using special keyword argument <code>balanced_tree = False</code> for SciPy&#8217;s <code>cKDTree</code> implementation the ipol-functions could be accelerated quite substantially (factor&nbsp;100).</p> </li> <li> <p><strong>Introduced new header tokens for <span class="caps">RADOLAN</span> products</strong> German weather service (<span class="caps">DWD</span>) introduced new products using new header tokens (<code>VR</code>, <code>U</code>). The reader functions were enabled to work with these new&nbsp;products.</p> </li> <li> <p><strong>Revised documentation structure and <span class="caps">CI</span> workflows</strong> The documentation has been revised in terms of conformance and consistency, links were updated, typos fixed and <span class="caps">CI</span> workflow&nbsp;improved.</p> </li> </ul> <p>For a complete list of changes refer to the <a href="https://github.com/wradlib/wradlib/commits/master">wradlib repository</a>.</p>