Sites - projecthorus/sondehub-infra GitHub Wiki

SondeHub maintains a database of radiosonde launch sites, including information on radiosonde types used, frequencies, launch times, and other useful information. This information is used to show launch site information on the sondehub.org map, and allow flight path predictions for future launches to be generated.

Finding Site Information

Probably the easiest way to look for sites that we know about is to look on the https://sondehub.org/ map. Sites can be clicked on to bring up details:

The entire site database is available in JSON format via this API: https://api.v2.sondehub.org/sites

Suggesting updates or additions to the Site database

To suggest a new site be added, please use the Google Form here: https://forms.gle/GserZmFAif5z9QXH9

To suggest updates to an existing site, please use the 'Contribute here' link on the site popup on sondehub.org, which will pre-fill a lot of the site information for you.

Site suggestions are manually reviewed and added into our database. This requires a lot of verification of submitted data, and it can take a few weeks for suggestions to be actioned.

When you submit a suggestion via our form, it will be added as a comment to this issue: https://github.com/projecthorus/sondehub-tracker/issues/114

Once processed, the comment will be hidden with a reason:

  • Resolved - Suggestion actioned.
  • Duplicate - Suggestion was a duplicate, or very similar to a previous suggestion.
  • Spam / Off-Topic - Suggestion included obviously incorrect or invalid data.

Please take note of the following points when requesting updates or additions:

  • We record site launch times as their 'nominal' sampling time (e.g. 00Z, 12Z). This usually means that the sonde is actually launches up to an hour before this. Please do not request a change from this nominal launch time to the actual launch time.
  • The descent rate that we record is the descent rate on landing.
  • Please be patient and do not submit site suggestions more than once! If there is some reason that a site should be added urgently, then contact us at [email protected]

SondeHub-Specific Sites

For site which we can't find (or don't know) a WMO ID for, we allocate a negative number, working backwards from 0.

Our current list of non-WMO sites is below:

-1: Melbourne BoM Training Annex (Training and Ozonesondes) (Australia)
-2: METEOMODEM Headquarters (France)
-3: DGA Essais de missiles (France)
-4: Woomera Rangehead (Australia)
-6: Zahorie (Slovakia)
-9: Alcantara Launch Center (Brazil)
-10: Karlskoga (Sweden)
-11: Porkkala (Finland)
-12: Houston AMF1 (United States)
-13: Vaisala Head Office (Finland)
-15: Kem Syed Sirajuddin (Malaysia)
-16: St Michel l'Observatoire (France)
-17: Pinneberg (Germany)
-18: Arahal / Moron (Spain)
-19: AMF2 Crested Butte (United States)
-20: Garrison Petawawa (Canada)
-21: Nikinci (Serbia)
-22: Gelibolu/Lefkosa (Cyprus)
-23: Aire Sur Adour (France)
-24: University of Reims (France)
-25: Humenné (Slovakia)
-26: Pabrade (Lithuania)
-27: Leipzig (Germany)
-28: Saint-Jean-d'Illac (France)
-29: Calw (Germany)
-30: Hohenlockstedt (Germany)
-31: Bracciano (Italy)
-32: Stera Oy (Finland)
-33: Lohtaja (Finland)
-34: Katajaluoto (Finland)
-35: Niinisalo (Finland)
-36: San Nicolas (United States)
-37: University of L'Aquila (Italy)
-38: Nowa Deba (Poland)
-39: Marshall Field Site (United States)
-40: Swidwin (Poland)
-41: Suippes (France)
-42: Trainou (France)
-43: Port Wakefield Proof and Experimental Establishment (Australia)
-44: Canjuers (France)
-45: Thun (Switzerland)
-46: Adazi (Latvia)
-47: Elsenborn (Belgium)
-48: Frauenfeld (Switzerland)
-49: North Utah Test and Training Range (United States)
-50: Howard University (United States)
-51: SIRTA/Palaiseau (France)
-52: Ås University NMBU (Norway)
-53: University of Helsinki, Faculty of Science (Helsinki, Finland)
-54: Whalers Way (Southern Launch)
-55: CNRS-LPC2E Orleans(France)
-57: Table Mountain Facility - Jet Propulsion Lab (United States)
-58: Scripps Institute, La Jolla (United States)
-59: "Aeródrome Virgen de La Estrella/ ICAO LEVE/ Spain (Spain)"
-60: Plymouth Municipal Airport (Plymouth State University Launches)
-61: White Sands Missile Range (United States)
-62: White Sands Missile Range Stallion Airfield (United States)
-63: Central Michigan University (United States)
-64: Intermet Systems HQ, Grand Rapids, Mi. (United States)
-65: Valparaiso University (United States)
-66: Barreira do Inferno Launch Center (Brazil)
-67: Institute of Hydrology, Meteorology and Environmental Studies (Colombia)
-68: National Typhoon Center (South Korea)
-69: Northern Tropical Atmospheric Research Station (Barbados)
-70: Jorge Newbery Airfield (Argentina)
-71: Nha Be Weather Radar Station (Vietnam)
-72: White Sands Missile Range Rhode Canyon Range Center (United States)
-73: StarBase, Texas (SpaceX)
-74: Birdlings Flat (New Zealand)
-75: McMillin Reservoir (United States)
-76: Groom Lake (United States)
-77: Severe Weather Institute, University of Alabama (United States)
-78: Catalina Island, Centre for Western Weather and Water Extremes (United States)
-79: Cape Grim Baseline Air Pollution Station (Australia)
-80: Millersville University (United States)
-81: Eskmeals (United Kingdom)
-82: älvdalen skjutfält (Sweden)
-83: Andoya space center (Norway)
-84: Midway Research Center - Naval Research Lab (NRL) (United States, Virginia)
-85: Dahlgren Naval Support Facility (United States, Virginia)
-86: Meteo-Radiy HQ, Kasli (Russia)
-87: Alcantarilla Air Base (Spain)
-88: Atmospheric Turbulence and Diffusion Division - Oak Ridge, TN, (United States)
-89: Jülich (Germany)
-90: ARM Bankhead National Forest (United States)
-91: Timmins/Victor M Power (Canada)
-92: Reading University (United Kingdom)
-93: Beecroft Weapons Range (Australia)
-94: University of Virginia (United States)
-95: Esrange (Sweden)
-96: Saxavord (United Kingdom)
-97: Graw Radiosondes GmbH & Co. KG (Germany)
-98: UVA Mountain Lake Biological Station (United States)
-99: Morgan State University - Lake Clifton Extension (Maryland, United States)
-100: Al Wathba (United Arab Emirates)
-101: Bogeda Bay (CW3E: USBOD, United States)
-102: Lüneburg AP (Germany)
-103: Karlsruher Institut für Technologie (Germany)
-104: Tooele Army Depot, South (United States)
-105: Mayen (Germany)
-106: University of Illinois Urbana-Champaign (United States)
-107: Bolzano TEAMx Campaign Site (Italy)
-108: Bowen Orbital Spaceport (Australia)
-109: Kolsaa TEAMx Campaign Site (Austria)
-110: Gracefield (Canada) (NOTE 2025-10-08: This site should have a WMO code, we just don't know what it is yet.)
-111: Denver / Urban Sky (United States) (Note 2025-11-17: This site should probably also have a WMO Code.)
-112: Pasir Laba (Singapore)
-113: Wfo Marana, Az. (United States)
-114: Atmospheric Sciences Program, UNC Asheville (USA)
-115: Texas A&M University (United States)
-116: Monte Romano (Italy)
-117: Val Cristallina (Switzerland)
-118: Hinterrhein (Switzerland)
-119: Redland Bay (Australia). (NOTE 2026-03-07: This site is awaiting WMO code assignment)
-120: Gawler (Australia). (NOTE 2026-03-11: This site is awaiting WMO code assignment)

Site Suggestion Process

Google Form for Submissions

Google forms link: https://forms.gle/GserZmFAif5z9QXH9

The Google Forms responses are all saved in a Google Sheets document and an Apps Script function runs for each new response which formats the data and posts it as a new comment to the GitHub issue.

Some detail from Luke on this here: https://lukeprior.github.io/blog/posts/sondehub-suggestions/

The suggestion is added to this Github Issue: https://github.com/projecthorus/sondehub-tracker/issues/114

Notes on the issues raised:

  • Suggestions can be for modifications to existing sites, or for a new launch site.
  • A 'difference' between existing and suggested site information is provided, but it sometimes can miss things! If the difference area only shows the datetime as being different, then sometimes all that's happened is the user has added something to the 'Further Information' field (e.g. this example ), which isn't part of what ends up in the DB.
  • A map is provided showing the site location.
  • The code block produced in the 'suggested' section is usually close to being suitable for adding into the DB (more details further below)

Once a suggestion has been either accepted or rejected, we hide the comment either 'Resolved' or some other reason if it's been rejected.

An example site info block

Here's a fairly typical info block for a launch site with a known WMO code:

{
    "station": "41024",
    "station_name": "King Abdul Aziz International Airport (Saudi Arabia)",
    "position": [
      39.185389,
      21.658057
    ],
    "alt": 17,
    "ascent_rate": 5.2,
    "burst_altitude": 33000,
    "descent_rate": 7.3,
    "datetime": "2026-02-16T09:30:13.106Z",
    "times": [
      "0:12:00",
      "0:00:00"
    ],
    "rs_types": [
      [
        "41",
        401
      ]
    ]
  }

Launch Times

We use synoptic launch times, e.g. the normalised time that the sonde launch is helping provide information for, usually 00/06/12/18Z.

We do not accept suggestions where the 'actual' launch time (e.g. 23:15Z) is provided.

We use the following format for launch times:

day:hour:minute 
Daily 00Z -> 0:00:00 
Monday 18Z -> 1:18:00 
Sunday 12Z -> 7:12:00

Common issues we find with launch time suggestions:

  • Users suggesting actual launch times, not synoptic times.
  • Users putting in something like 'Daily 11Z' (probably an 'actual' launch time) into the field, instead of using the 00/06/12/18Z options.

Radiosonde Types & Frequencies

Radiosonde types are converted into a numerical (WMO list based) designation via the google form.

e.g.

    "rs_types": [
      "41"
    ],

Currently the form does not provide a way of adding in frequency information for the radiosonde types, so users often just add this information into the station notes, or the 'further information' field when they submit.

We can manually add frequency information for a radiosonde type by converting the rs_types list into a 'list of lists', e.g.:

    "rs_types": [
      ["41", 401.0]
    ]

New Launch Sites

If a new launch site is suggested, ideally we want to use its known WMO code when making the new entry. Sometimes it can be very difficult finding the WMO code for a location, or sometimes the location might not have a WMO code at all.

If we can't find a WMO code, e.g. the site is military or a university site, then we use our own internal list, which is further up this page, and we use increasingly negative numbers for each new site.

Updating the entry in OpenSearch

We manually add entries into the DB using the OpenSearch Dev Tools Console: https://es.v2.sondehub.org/_dashboards/app/dev_tools#/console

NOTE: Access to this tool requires a user to have a login, and have permissions added to their account.

In the entry area on the left of the screen, we ensure POST sites/_doc is on the first line, and then paste in the 'inner' section of the suggestion (with any manual modifications required). E.g. for a suggested output of:

{
  "-96": {
    "station": "-96",
    "station_name": "Saxavord (United Kingdom)",
    "position": [
      -0.8406944,
      60.8260556
    ],
    "alt": 240,
    "rs_types": [
      "41"
    ],
    "notes": "Spaceport, sondes launched from here often appear to stop transmitting mid-flight.",
    "datetime": "2026-02-12T21:55:25.461Z"
  }
}

We would use:

POST sites/_doc
{
    "station": "-96",
    "station_name": "Saxavord (United Kingdom)",
    "position": [
      -0.8406944,
      60.8260556
    ],
    "alt": 240,
    "rs_types": [
      "41"
    ],
    "notes": "Spaceport, sondes launched from here often appear to stop transmitting mid-flight.",
    "datetime": "2026-02-12T21:55:25.461Z"
  }

This can be submitted by clicking the little play button at the top-right of the input area.

The entry with the newest datetime field is what will be served to clients. If you mess up a submission, you can bump the time a little bit into the future and re-submit to ensure it's what is served up.

Radiosonde Frequencies

Radiosonde frequencies can be included in the rs_types entry as follows:

    "rs_types": [
      ["54", 403.610]
    ],