# Nexrad Level 3 processing

**URL:** <https://openradar.discourse.group/t/nexrad-level-3-processing/192>\
**Category:** General\
**Created:** [March 1, 2023, 7:52pm UTC](https://openradar.discourse.group/t/nexrad-level-3-processing/192 "2023-03-01T19:52:01Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![nick.guy](https://avatars.discourse-cdn.com/v4/letter/n/6de8d8/32.png) [@nick.guy](https://openradar.discourse.group/u/nick.guy)\
**Post date:** [March 1, 2023, 7:52pm UTC](https://openradar.discourse.group/t/nexrad-level-3-processing/192/1 "2023-03-01T19:52:01Z")

</div>

Hi there community,

I was wondering if anyone knows a good resource for documentation on what algorithms are used to process NEXRAD level 3 data. There is obviously the mapping of data to a standard polar grid, but it also appears that some smoothing and filtering is applied as well. I’m assuming all of the data is built from the ray messages like Level 2 data are, but I could be wrong about that too! 🙂

I have been unable to locate and documention that details these processes. Have searched through the RPG/RDA docs and ROC website without luck. But maybe I’m looking in the wrong place.

Any help would be greatly appreciated.

---

<div class="post-metadata">

**Author:** ![mgrover1](https://yyz2.discourse-cdn.com/free1/user_avatar/openradar.discourse.group/mgrover1/32/7_2.png) [@mgrover1](https://openradar.discourse.group/u/mgrover1)\
**Post date:** [March 1, 2023, 8:38pm UTC](https://openradar.discourse.group/t/nexrad-level-3-processing/192/2 "2023-03-01T20:38:22Z")

</div>

For the NEXRAD Level 3 Volume Azimuth Display (VAD) product, we have a thread going in an issue on Py-ART issue tracker

> <https://github.com/ARM-DOE/pyart/issues/992#issuecomment-1442018567>
>
> PyART VAD winds speeds appear much too low when reading Level 2 data. When I loo…k at the wind speeds with height from a Level 3 VAD table I get:
> 
> \`array(\[12., 14., 16., 19., ..., 89., 58., 82.\])\`
> 
> These data are in kts. Using PyART on the Level 2 data from IEM and conversion to kts I get:
> 
> \`array(\[6.09 , 6.31, 6.22, ..., 0.33, 0.12, 0.072\])\`
> 
> The altitudes that I am requesting are the same as those present in the Level 3 data and are as follows:
> 
> \`array(\[487.68, 548.64, 609.6, 670.56, 883.92, 914.4, 1127.76, 1219.2, 1341.12, 1524.0, 1676.4, 1828.8, 2042.16, 2133.6, 2438.4, 2499.36, 2743.2, 3048.0, 3078.48, 3352.8, 3657.6, 3749.04, 3962.4, 4267.2, 4572.0, 4572.0, 4876.8, 5181.6, 5486.4, 5608.32, 5791.2, 6096.0, 6705.6, 7315.2, 7620.0, 9144.0\])\`
> 
> The differences become much more exaggerated with height. I have attached a Level 2 (KTLX\_\\\*) and Level 3 (sn.\\\*) files from the same time in order to help reproduce the issue.
> 
> \[ktlx\_042821\_2218.zip\](https://github.com/ARM-DOE/pyart/files/6510675/ktlx\_042821\_2218.zip)

I am interested in hearing from others where to find some of this documentation!

---

<div class="post-metadata">

**Author:** ![scollis](https://yyz2.discourse-cdn.com/free1/user_avatar/openradar.discourse.group/scollis/32/21_2.png) [@scollis](https://openradar.discourse.group/u/scollis)\
**Post date:** [March 2, 2023, 9:32pm UTC](https://openradar.discourse.group/t/nexrad-level-3-processing/192/3 "2023-03-02T21:32:05Z")

</div>

I’ll forward to some friends at the ROC (and cc @dopplershift )

---

<div class="post-metadata">

**Author:** ![nick.guy](https://avatars.discourse-cdn.com/v4/letter/n/6de8d8/32.png) [@nick.guy](https://openradar.discourse.group/u/nick.guy)\
**Post date:** [March 3, 2023, 5:03pm UTC](https://openradar.discourse.group/t/nexrad-level-3-processing/192/4 "2023-03-03T17:03:04Z")

</div>

I reached out to @jmkurdzo (thank you!) and he supplied me with a doc. With NOAA ROCs blessing I’ll post if others might find this useful. BUT, I can’t find a way to attach a file here?

---

<div class="post-metadata">

**Author:** ![jmkurdzo](https://yyz2.discourse-cdn.com/free1/user_avatar/openradar.discourse.group/jmkurdzo/32/124_2.png) [@jmkurdzo](https://openradar.discourse.group/u/jmkurdzo)\
**Post date:** [March 4, 2023, 1:02am UTC](https://openradar.discourse.group/t/nexrad-level-3-processing/192/5 "2023-03-04T01:02:41Z")

</div>

The files are the Algorithm Enunciation Language (AEL) documents from the ROC on the recombination (super-res to legacy res) algorithm and the dual-pol pre-processing algorithm. In ORPG land, these go by recomb and dpprep. The AEL documents use pseudo code to step through the entire process of the algorithm, including all of the filter settings and lengths. Our ROC contacts informed me that given recomb and dpprep are part of the public CODE repo ([WSR-88D CODE](https://www.weather.gov/code88d/)), the AEL documents are public knowledge. I’m not entirely sure why they aren’t more public facing, but as far as I can tell, we’ve got clearance to post them here, so let’s be trend setters!

These documents are incredibly useful for determining exactly how Level-II data translate to Level-III products. We use them for algorithm development that is destined for the ORPG (specifically new classes for the HCA recently), as well as studies that compare Level-II and Level-III data or use Level-III algorithms like QPE.

@mgrover1 could you host the two pdf files on the website somewhere that we could link to here? It would be good to avoid a non-permanent, say, Dropbox link. The recomb is a little over 11 mb, the dpprep is tiny.

I hope this will end up helping many!

---

<div class="post-metadata">

**Author:** ![kmuehlbauer](https://yyz2.discourse-cdn.com/free1/user_avatar/openradar.discourse.group/kmuehlbauer/32/439_2.png) [@kmuehlbauer](https://openradar.discourse.group/u/kmuehlbauer)\
**Post date:** [March 4, 2023, 11:17am UTC](https://openradar.discourse.group/t/nexrad-level-3-processing/192/6 "2023-03-04T11:17:56Z")

</div>

@jmkurdzo Thanks for the details.

@mgrover1 @jmkurdzo What if we add a page regarding data formats to the [openradarscience.org](http://openradarscience.org) site? We could host docs there permanently and also provide links to relevant sites.

---

<div class="post-metadata">

**Author:** ![nick.guy](https://avatars.discourse-cdn.com/v4/letter/n/6de8d8/32.png) [@nick.guy](https://openradar.discourse.group/u/nick.guy)\
**Post date:** [March 5, 2023, 3:19pm UTC](https://openradar.discourse.group/t/nexrad-level-3-processing/192/7 "2023-03-05T15:19:40Z")

</div>

Thanks for this additional information Jim. This information is essential for private industry developing alternative products to those served by NOAA as well (think industry specific) as there can be advantages and disadvantages to use of Level 2 or 3 products.

@kmuehlbauer I like the idea of a page with these docs. If possible, I’d just make sure to note versions of docs as things change and users can be aware of the date of validity or request posting of updated docs they can provide.

I think another example of this is format description of cfradial that @mgrover1 pointed towards in a previous thread (I am sensing I’m an instigator in these, haha).

---

<div class="post-metadata">

**Author:** ![mgrover1](https://yyz2.discourse-cdn.com/free1/user_avatar/openradar.discourse.group/mgrover1/32/7_2.png) [@mgrover1](https://openradar.discourse.group/u/mgrover1)\
**Post date:** [March 7, 2023, 3:05pm UTC](https://openradar.discourse.group/t/nexrad-level-3-processing/192/8 "2023-03-07T15:05:15Z")

</div>

@kmuehlbauer @nick.guy - do you think it would make sense here to store these in the main site repository [GitHub - openradar/openradar.github.io: openradarscience.org landing page](https://github.com/openradar/openradar.github.io) ? Under some docs page? That way we can **version** the docs, and keep them in an **open and accessible place**.

What do you think?

I think it will also be **critical** to add additional code snippets/example workflows in the [Radar Cookbook](https://projectpythia.org/radar-cookbook)

---

<div class="post-metadata">

**Author:** ![kmuehlbauer](https://yyz2.discourse-cdn.com/free1/user_avatar/openradar.discourse.group/kmuehlbauer/32/439_2.png) [@kmuehlbauer](https://openradar.discourse.group/u/kmuehlbauer)\
**Post date:** [March 7, 2023, 7:33pm UTC](https://openradar.discourse.group/t/nexrad-level-3-processing/192/9 "2023-03-07T19:33:28Z")

</div>

@mgrover1 Yes, great idea! We could think about dedicating it’s own repo to format descriptions. This could then live under [https://docs.openradarscience.org](https://docs.openradarscience.org) like the xradar package.

---

<div class="post-metadata">

**Author:** ![mgrover1](https://yyz2.discourse-cdn.com/free1/user_avatar/openradar.discourse.group/mgrover1/32/7_2.png) [@mgrover1](https://openradar.discourse.group/u/mgrover1)\
**Post date:** [March 8, 2023, 2:47pm UTC](https://openradar.discourse.group/t/nexrad-level-3-processing/192/10 "2023-03-08T14:47:04Z")

</div>

@jmkurdzo - can you email those files to me ([mgroverwx@gmail.com](mailto:mgroverwx@gmail.com)) or provide a link to them, and we can commit them to a Github Repository?

---

<div class="post-metadata">

**Author:** ![kmuehlbauer](https://yyz2.discourse-cdn.com/free1/user_avatar/openradar.discourse.group/kmuehlbauer/32/439_2.png) [@kmuehlbauer](https://openradar.discourse.group/u/kmuehlbauer)\
**Post date:** [March 17, 2023, 6:50am UTC](https://openradar.discourse.group/t/nexrad-level-3-processing/192/11 "2023-03-17T06:50:49Z")

</div>

Just a heads-up, this is now available on our main-page under the new `references`-menuitem:

[https://openradarscience.org/pages/reference/](https://openradarscience.org/pages/reference/)

Thanks @mgrover1 and @jmkurdzo!
