Skip to content

Commit

Permalink
WIP: gpm_to_wrl (#129)
Browse files Browse the repository at this point in the history
* WIP: Added a notebook in which we can put together the matching.
* ADD: io_func.py with `read_gpm-function, `read_trmm`-function and `read_gr`-function 
* ADD: add gpm code to wradlib codebase
* FIX:: several fixes for numpy 1.12 
* WIP: update docstrings, refactoring (#128)
* DOC: revise DOCS
* MAINT: clean-up CI scripts, reordering, switching as appropriate to reduce CI-Time
* MAINT: add python 3.6 to travis-matrix
  • Loading branch information
kmuehlbauer committed Mar 8, 2017
1 parent f1916af commit c2e05c5
Show file tree
Hide file tree
Showing 30 changed files with 2,323 additions and 299 deletions.
13 changes: 5 additions & 8 deletions .travis.yml
Expand Up @@ -20,12 +20,12 @@ matrix:
- PYTHON_VERSION="2.7"
- COVERALLS="true"
- DOC_BUILD="true"
- python: 3.4
env:
- PYTHON_VERSION="3.4"
- python: 3.5
env:
- PYTHON_VERSION="3.5"
- python: 3.6
env:
- PYTHON_VERSION="3.6"

install:
- deactivate
Expand All @@ -39,14 +39,11 @@ before_script:
- scripts/convert_notebooks.sh

script:
- xvfb-run -a -w 5 coverage run --source wradlib testrunner.py -u
- xvfb-run -a -w 5 coverage run -a --source wradlib testrunner.py -d
- xvfb-run -a -w 5 coverage run -a --source wradlib testrunner.py -e
- xvfb-run -a -w 5 coverage run -a --source wradlib testrunner.py -n
- scripts/run_tests.sh

after_success:
- scripts/render_notebooks.sh
- if [[ "$COVERALLS" == "true" ]]; then coveralls || echo "failed"; fi
- if [[ "$DOC_BUILD" == "true" ]]; then scripts/render_notebooks.sh; fi
- if [[ "$DOC_BUILD" == "true" ]]; then cd $TRAVIS_BUILD_DIR; scripts/build_docs.sh; fi

deploy:
Expand Down
4 changes: 2 additions & 2 deletions doc/source/community.rst
Expand Up @@ -6,11 +6,11 @@ How to contribute to :math:`\omega radlib`?

We need your help to enhance the capabilities of :math:`\omega radlib`! Is there an algorithm you would consider useful? Please **provide code (in any programming language) or documentation**. We will it a try to integrate this algorithm in :math:`\omega radlib`.

However, **there is an even better way:** Start a `Pull Request <https://help.github.com/articles/creating-a-pull-request/>`_!
However, **there is an even better way:** Start a `Pull Request <https://help.github.com/articles/creating-a-pull-request/>`__!

* **Step 1:** `Fork <https://github.com/wradlib/wradlib>`_ your own :math:`\omega radlib` repository from the :math:`\omega radlib` `main repo <https://github.com/wradlib/wradlib>`_.
* **Step 2:** Implement your changes into the forked repository. Test your code.
* **Step 3:** Now you want to feed these changes back into the main :math:`\omega radlib` development branch? Start a `Pull Request <https://help.github.com/articles/creating-a-pull-request>`_!
* **Step 3:** Now you want to feed these changes back into the main :math:`\omega radlib` development branch? Start a `Pull Request <https://help.github.com/articles/creating-a-pull-request>`__!
* **Step 4:** We will review your changes. On approval, we will merge your fork back into the main :math:`\omega radlib` branch.
* **Step 5:** Now everyone can benefit from your improvements.

Expand Down
4 changes: 2 additions & 2 deletions doc/source/jupyter.rst
Expand Up @@ -2,7 +2,7 @@ How to use the tutorials and examples?
======================================

Examples: your entry point to wradlib
------------------------------------
-------------------------------------

The documentation of :math:`\omega radlib` basically consists of two elements: the first element is the :doc:`library reference <reference>` which provides a systematic documentation of each function in wradlib's API. In order to use the library reference properly, you should have an idea what you're actually looking for. This is why new users mostly start with the second element, the :doc:`tutorials and examples <notebooks>`. Here you can look for application examples that are close to what you actually want to achieve, and than use these as a basis for further development. Once you understood an example, you also know what to look for in the :doc:`library reference <reference>`.

Expand All @@ -12,7 +12,7 @@ Interactive examples with jupyter notebooks

All :math:`\omega radlib` examples are distributed as `jupyter notebooks <http://jupyter.org/>`_. This way, you can interactively explore various topics. Each notebook is organized in documented code blocks. You can browse through a notebook block by block, inspect the results, and experiment with the code. However, you can also view the rendered notebooks including the example results on the web pages of this section: Each page was directly generated from :math:`\omega radlib`'s example notebooks. This way, you can copy&paste code snippets directly into your applications.

.. note:: Are you using :math:`\omega radlib` on the `Open Virtual Machine for Cross-Platform Weather Radar Science <http://openradar.github.io/>`_? Then skip the rest: just log in, run the command ``$ ./start_notebook.sh`` and direct your browser `here <http://127.0.0.1:8888/tree>`_. That's it.
.. note:: Are you using :math:`\omega radlib` on the `Open Virtual Machine for Cross-Platform Weather Radar Science <http://openradar.github.io/>`_? Then skip the rest: just log in, run the command ``$ ./start_notebook.sh`` and direct your browser to `http://127.0.0.1:8888/tree <http://127.0.0.1:8888/tree>`__. That's it.

Otherwise, you need to make sure to

Expand Down
1 change: 1 addition & 0 deletions doc/source/notebooks.rst
Expand Up @@ -17,6 +17,7 @@ and example scripts distributed with the source code.
notebooks/beamblockage/wradlib_beamblock.ipynb
notebooks/classify.ipynb
notebooks/georeferencing.ipynb
notebooks/match3d/wradlib_match_workflow.ipynb
notebooks/develop.ipynb
notebooks/interpolation/wradlib_ipol_example.ipynb
notebooks/multisensor/wradlib_adjust_example.ipynb
Expand Down
38 changes: 38 additions & 0 deletions doc/source/refs.bib
Expand Up @@ -225,3 +225,41 @@ @techreport{DWD2004
url={http://www.dwd.de/DE/leistungen/radolan/radolan_info/abschlussbericht_pdf.pdf?__blob=publicationFile&v=2},
note="{in german}",
}

@article {Cao2013,
author = {Cao, Qing and Hong, Yang and Qi, Youcun and Wen, Yixin and Zhang, Jian and Gourley, Jonathan J. and Liao, Liang},
title = {Empirical conversion of the vertical profile of reflectivity from Ku-band to S-band frequency},
journal = {Journal of Geophysical Research: Atmospheres},
volume = {118},
number = {4},
issn = {2169-8996},
url = {http://dx.doi.org/10.1002/jgrd.50138},
doi = {10.1002/jgrd.50138},
pages = {1814--1825},
keywords = {Precipitation-radar, Precipitation, Radar, TRMM, VPR, PSD, DFR},
year = {2013},
}

@article{Liao2009,
author = { Liang Liao and Robert Meneghini },
title = {Validation of TRMM Precipitation Radar through Comparison of Its Multiyear Measurements with Ground-Based Radar},
journal = {Journal of Applied Meteorology and Climatology},
volume = {48},
number = {4},
pages = {804-817},
doi = {10.1175/2008JAMC1974.1},
url = {http://dx.doi.org/10.1175/2008JAMC1974.1},
year = {2009},
}

@article{Schwaller2011,
author = { Mathew R. Schwaller and K. Robert Morris },
title = {A Ground Validation Network for the Global Precipitation Measurement Mission},
journal = {Journal of Atmospheric and Oceanic Technology},
volume = {28},
number = {3},
pages = {301-319},
year = {2011},
doi = {10.1175/2010JTECHA1403.1},
URL = {http://dx.doi.org/10.1175/2010JTECHA1403.1},
}
29 changes: 25 additions & 4 deletions doc/source/release_notes.rst
Expand Up @@ -9,15 +9,36 @@ You can install the latest :math:`\omega radlib` release from PyPI via ``$ pip i
Bleeding Edge
-------------

*Nothing, yet.*
**Highlights**

* Added functions to match the precipitation radar of GPM/TRMM platforms with ground radar observations in 3D (:meth:`wradlib.georef.correct_parallax`, :meth:`wradlib.georef.sat2pol`, :meth:`wradlib.georef.dist_from_orbit`, :meth:`wradlib.qual.get_bb_ratio`, :meth:`wradlib.trafo.s2ku`, :meth:`wradlib.trafo.ku2s`, :meth:`wradlib.util.calculate_polynomial`, :meth:`wradlib.zonalstats.get_clip_mask`)
* Added example notebook of GPM/TRMM-GR matching
* revised docs and build process

**New features**

* New notebook examples covering wradlib-tour, classification
* Added reading WX-format to RADOLAN reader
* Enhanced :meth:`wradlib.io.read_RADOLAN_composite` to also accept file-handles
* Added reading groups to :meth:`wradlib.io.read_generic_netcdf`
* Added :meth:`wradlib.qual.cu_beam_block_frac` to compute cumulative beam blockage
* Added earth curvature display to beam blockage

**Bugfixes**

* Fix documentation inconsistencies
* Fix calculation of pulse volume
* Use dedicated OSR IsSame() in :meth:`wradlib.georef.transform_geometry`
* several minor fixes


Version 0.9.0
-------------

**Highlights**

* examples and tutorials are provided as jupyter notebooks
* docs are directly created from notebooks (see full workflow `here <https://github.com/wradlib/wradlib/wiki/dev.-notebook-workflow>`_)
* docs are directly created from notebooks (see full workflow `here <https://github.com/wradlib/wradlib/wiki/dev.-notebook-workflow>`__)
* structured notebooks with parent notebook, where appropriate
* documentation reviewed and adapted
- community.rst,
Expand Down Expand Up @@ -54,7 +75,7 @@ Version 0.8.0

* As of now :math:`\omega radlib` is python3 compatible.
* Docstrings, tests and examples as well as the documentation have been reviewed and fixed.
* main :math:`\omega radlib` repository is now hosted `here on github <https://github.com/wradlib/wradlib>`_.
* main :math:`\omega radlib` repository is now hosted `here on github <https://github.com/wradlib/wradlib>`__.
* :math:`\omega radlib` docs are now hosted `on github, but with custom domain <http://wradlib.org/wradlib-docs/>`_.

**New features**
Expand Down Expand Up @@ -86,7 +107,7 @@ Version 0.6.0

**Highlights**

:math:`\omega radlib` functions concerned with georeferencing will only use projection information based on OSR objects. This version will help you to adapt your code base to this change before next minor release: Using deprecated PROJ.4 strings in call to the following functions/classes: ``vis.plot_ppi``,``vis.plot_ppi_crosshair``, ``georef.projected_bincoords_from_radarspec``, ``verify.PolarNeighbours``, ``vpr.volcoords_from_polar``, ``vpr.volcoords_from_polar_irregular``, ``vpr.make_3D_grid`` will generate a DeprecationWarning and try to correct old calling method at runtime.
:math:`\omega radlib` functions concerned with georeferencing will only use projection information based on OSR objects. This version will help you to adapt your code base to this change before next minor release: Using deprecated PROJ.4 strings in call to the following functions/classes: ``vis.plot_ppi``, ``vis.plot_ppi_crosshair``, ``georef.projected_bincoords_from_radarspec``, ``verify.PolarNeighbours``, ``vpr.volcoords_from_polar``, ``vpr.volcoords_from_polar_irregular``, ``vpr.make_3D_grid`` will generate a DeprecationWarning and try to correct old calling method at runtime.

Added ability to handle georeferenced raster and vector data

Expand Down
Binary file added notebooks/match3d/fig2_schwaller_morris_2011.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added notebooks/match3d/fig3_schwaller_morris_2011.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit c2e05c5

Please sign in to comment.