npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

windy-plugin-radiosonde

v0.2.0

Published

radiosonde plugin for Windy

Downloads

82

Readme

windy-plugin-radiosonde

Introduction

We are happy to announce the release of windy-plugin-radiosonde: extending windy.com to display weather balloon upper air sounding data.

What does our plugin do?

  • Radiosonde (weather balloon) ascents from all over the world, for the last 2 weeks, are indicated on the map.
  • Click on a station and the most recent ascent will be plotted on the skew-t chart.
  • A white line attached to the marker, indicates the trajectory of the radiosonde. You can drag the black dot along the trajectory and the tooltip will follow, or drag the tooltip on the skewt chart and the black dot will follow.
  • The Syn Time (synoptic time) slider allows you to select a previous ascent.
  • If the ascent occurred within the last 6-12 hours, historical forecast data may be available. These will be indicated under Available forecast model to compare. The ecmwf data will be displayed by default if available. The forecast data is then superimposed on the sonde data, so that you can compare the accuracy of the different models. Todo: Interpolate the forecast data to match the sondedata point timestamps.
  • You can highlight either the Radiosonde or Forecast data with the highlight selector.
  • The chart tooltip will display the data of the highlighted plot.
  • If you click on the map (not on a marker), the picker opens and the forecast data for that location is shown on the chart. (Same as the better sounding plugin). If you change models or time, the plot will update.

More about the chart:

  • Plots data on a skew-t chart.
  • The background gridlines are: temperature (skew), pressure (horisontal), isohume, dry adiabat and moist adiabat lines. Each of these gridlines can be highlighted with the buttons beneath the chart.
  • The red line indicates the temperature at different levels, the blue line the dewpoint at the different levels, the green line indicates a rising air parcel from the surface. Wind barbs are displayed on the right, and clouds displayed on the left, dependent on rh (or the rh calculated from dewpnt). For this chart: Sonde data clouds and windbarbs are left and forecast data on the right.
  • You can pan the chart left and right.
  • The following can be set with ranges:
    • The surface parcel temperature, by default this is 2 degrees more than surface temp.
    • The top pressure of the chart, by default this is 50 hPa, by setting this to a higher pressure, you can zoom in.
    • Parcel temp shift: By default the surface parcel is shifted 2 deg higher, the default can be increased or decreased. If you click new marker or spot on the map, the surface parcel temp is reset to surface temperature plus parcel temp shift.
    • The gradient of the chart, default is 46 deg, for this chart equivalent to the vertical ELR. (This is probably not really useful just cool to play with).
  • The following information is calculated and displayed below the chart:
    • Surface elevation, obtained from Windy.
    • LCL: Intersection of the isohume line (dewpoint lapse rate) and the dry adiabatic lapse rate.
    • TCON: (Convective temperature, Release temperature or Auslösetemperatur): The surface temperature that must be reached to start the formation of convective clouds by surface heating.
    • CCL: Should the TCON be reached, the CCL indicates the cloud base of convective clouds. This is the intersection of the isohume line form the surface dewpoint and the temperature line.
    • Thermal top: The top of the thermal reached, for the selected parcel temperature. This is indicated by the top of the green line, following the dry adiabat lapse rate.
    • Should convective clouds form (thus the isohume line from dewpoint and dry adiabat line from surface parcel intersect, the lapse rate will follow the moist adiabat line), the Thermal top then equals the cloudbase. The CLD top will then indicate where the evaporating parcel stops rising.

Other features:

  • You can view the detail of the ascent.
  • You can download the ascent data in different formats. (Note this is NOT forecast data from Windy, but historical data).
  • You can zoom into a selected marker.
  • If you move the time bar at the bottom of Windy, the markers within 90 minutes of the timestamp will grow larger.
  • The < at the top collapses the left pane, you can reopen it from the button on the bottom left.
  • The X closes the plugin completely and removes everything from the map. You can then reopen it from the context menu, the marker summary data will then be redownloaded.
  • The plugin pane on the left can be resized, on desktop and tablet.
  • You can open the meteogram/airgram plugin (down-arrow of the picker), and the radiosonde plugin will remain open.

Backend service

  • The backend collects data from several “official” meteo sources around the world, among them:
  • Currently we see about 730 active stations providing on average data for 2 ascents per day. We keep a history of 14 days of recent ascents, as well as the underlying source files as provided by the organisations above (see the Detail button in the chart).
  • Ascents are distributed in two different formats and that shows in the radiosonde plugin:
    • The ancient telex-oriented FM-35 TEMP format
    • The more recent FM-94 BUFR TEMP format
    • About a third of the ascents are in the high-resolution FM94 format. The rest is FM-35.
    • Ascents available in FM-94 format are indicated by a fat ring marker, a thin ring around the marker indicates an FM-35 format.
  • Ascent data can be downloaded via the Download dropdown in either CSV or GeoJSON format. See here for a usage example.
  • The backend currently runs on Michael’s private server and should be able to provide decent service for a while. Michael gives a support promise of 2 years to keep this service running, and is happy to find adopters to pick up this service in a more professional context.
  • The backend consists of mostly Python code and a few shell scripts. It is just plain files in a hierarchy. The overall design principle is “1957 Chevrolet” – no service or database which can break, idempotent operations, and nginx serving files.
  • While easy to replicate the setup, getting the data feeds is decidedly nontrivial. You have been warned.
  • Some notes on the backend can be found here.

Extension ideas

Final comments:

  • Work in progress, there are still some bugs.
  • Chris has tried to use native Windy UI classes etc and styles as far as possible.
  • We are not meteorologists (except Heidi), and would appreciate input.
  • It works well with the new Windy Thermal layer.
  • Enjoy.

Team and contributors

  • Chris wrote the plugin and adapted the skew-t chart from https://github.com/dfelix/skewt-js.

  • Heidi Schmid provided meteorological advice and adult supervision.

  • Michael Haberler created the backend: an aggregation of radiosonde ascent data from different sources all over the world.

  • Victor Berchet allowed us to use the better-sounding formulas for plotting some of the background and parcel trajectory. Chris added some functionality.

  • John Kealy provided the original inspiration with his skewt plugin.

  • Guillermo Ballester Valor – who runs the venerable ogimet.com service - provided key advice on NOAA data handling and we use his bufr2synop package.

  • Many people have provided help and advice navigating the abyss of public meteo data.

  • In particular we would like to thank:

    • Larry Oolman of University of Wyoming
    • Michael Pichler of Austrocontrol
    • Elena Averyanova of GISC Moscow
    • Reto Stauffer of University Innsbruck
    • Piero Serra of Italian Air Force Met Service
    • Nadja Schneider of DWD Offenbach