Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Paper: PyDDA: A New Pythonic Multiple Doppler Retrieval Package #474

Merged
merged 20 commits into from Jul 3, 2019
Merged
Changes from 1 commit
Commits
File filter...
Filter file types
Jump to…
Jump to file or symbol
Failed to load files and symbols.

Always

Just for now

ADD: 2 figures, more text to paper

  • Loading branch information...
rcjackson committed May 6, 2019
commit ebf288908b6fd0634dd1186ad5e3c8cb1f2a8fe0
Binary file not shown.
Binary file not shown.
@@ -190,6 +190,9 @@ and can be reduced to a few Numpy calls:
Since NumPy takes advantage of open source mathematics libraries that

This comment has been minimized.

Copy link
@ocefpaf

ocefpaf Jun 7, 2019

I'm not that is true. (I may be mistaken but as far as I know you would have to write a cython version or wrap that with numba to get parallelization, no?)

parallelize the calculation, this also extends the capability of the retrieval
to use the available cores on the machine in addition to simplifying the code.
Each cost function and its gradient can be expressable in an analytical form
using variational calculus, so the addition of more cost functions is possible due to
the modular nature of each constraint.

These calculations are then done in order to find the :math:`\vec{\textbf{V}}`
that minimizes :math:`\vec{J(\textbf{V})}`. A commonly used technique to
@@ -431,7 +434,6 @@ radars and both models is as simple as
radars, the HRRR and the ERA-Interim. Contours are as in Figure
:ref:`small_hurricane`. :label:`big_hurricane`


Given that hurricanes can span hundreds of kilometers and yet have kilometer
scale variations in wind speed, having the ability to create such high resolution
retrievals is important for those using high resolution wind data for forecast
@@ -443,28 +445,50 @@ to occur simply because they are outside of the primary region of damaging winds
This therefore shows the importance of having a high resolution, three dimensional
wind retrieval when examining the effects of storm wind damage.


Tornado in Sydney, Australia using 4 radars
-------------------------------------------

In addition to
(More information about the radar network - Figure with location
of 4 radars)
In addition to retrieving winds in hurricanes PyDDA can also integrate
data from radar networks in order to retrieve the winds inside tornadoes.
For example, a network of four scanning radars in the vicinity of Sydney,
Australia captured a supercell within the vicinity of Sydney. Figure
:ref:`tornado` shows the winds retrieved by PyDDA inside this supercell.
Using data from the radars, PyDDA is able to provide a complete picture of
the rotation inside the supercell and even resolves the updraft in the
vicinty of the mesocyclone. Such datasets can be of use for estimating the
winds inside a tornado at altitudes as low as 500 m above ground level. This
therefore is capable of providing wind datasets that can be used to both provide
an estimated wind speed for wind damage assessments as well as for verification
of supercell simulations from weather forecasting models.

.. figure:: Sydney_tornado.png
:align: center

A quiver plot inside a supercell that spawned a tornado in the vicinity of
Sydney, Australia. The contours represent vertical velocity. :label:`tornado`

Combining winds from 3 scanning radars with HRRR in Oklahoma
-------------------------------------------------------------

A final example here shows how easily data from multiple radars and models
(Figure providing a map of the 3 XSAPR's and KVNX)

A final example shows how easily data from multiple radars and models
can be combined together. In this example, the XSAPR radars are at X-band
and therefore have lower coverage but greater resolution than the S-band
KVNX radar. Figure :ref:`so_many_radars` shows the resulting wind field
of such a retrieval during a case in stratiform rain. Generally, weaker winds
and fewer variations are seen compared to the past two cases which would
generally be expected in such conditions.
generally be expected in such conditions. However, this also demonstrates
the success in integrating radar data from 3 radars and a high resolution
reanalysis to provide the most complete wind retrieval possible.

.. figure::`Figure_3radar_hrrr.png`
:align: center

A wind barb plot of a wind retrieval from 2 XSAPR radars and the KVNX
NEXRAD radar in Oklahoma. In addition, the HRRR was used as a constaint.
NEXRAD radar in Oklahoma. In addition, the HRRR was used as a constraint.
The wind barbs are plotted over the reflectivity derived from the maximum
of the reflectivity from the 3 radars. :label:`so_many_radars`

This comment has been minimized.

Copy link
@nicholasmalaya

nicholasmalaya Jun 11, 2019

I recommend you add a new section here. It would be 'verification' and discuss what regression testing, correctness checks, etc. exist in PyDDA. After all, how can users know if this library is functioning correctly? This is important for reproducibility of the work.

This comment has been minimized.

Copy link
@rcjackson

rcjackson Jun 24, 2019

Author Contributor

We run a suite of 27 tests on PyDDA using pytest. Every time a pull request to the master branch of PyDDA is requested, Travis CI will run this suite of tests to ensure that PyDDA is functioning correctly. We have added a section on verification that both states that we run this suite of tests and gives a few examples of the unit tests that are performed on PyDD. Examples of such unit tests check to see if the mass continuity cost function is nonzero in a converging wind field, the smoothness cost function is nonzero in a discontinuous wind field, and if the variational technique converges to the model input if only the model field and constraint are used. This helps to ensure that the variational technique is working as intended.

This comment has been minimized.

Copy link
@nicholasmalaya

nicholasmalaya Jun 25, 2019

This is very good and a useful addition to the paper. I have one minor quibble: the section is now labelled 'Validation' but the section is actually more broad. For example, you note '27 unit tests' (verification). I would change the section title to 'Verification and Validation' or something sufficiently broad, such as 'software correctness testing', etc.

Thank you again for adding this portion.

ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.