Skip to content

The mountain the model sees

Two elevations describe the same place, and they live in different documents on purpose. The site context document carries the measured launch elevation, its elevation pick, sampled from ground observations at the catalogued coordinates. Every profile carries site.modelElevationM, the elevation of the model’s own terrain at that grid point. At catalogued launches the two routinely disagree by tens to hundreds of metres. That disagreement is a fact to read rather than an error to fix. This page covers where the gap comes from and what the context document adds about the real mountain, meaning the relief the launch sits in and the ground its thermals feed on.

Why the model’s mountain is smoother than yours

A weather model does not know your launch. It knows one terrain height per grid cell, and a 2.5–10 km cell averages the ridge into the valleys beside it, so a launch on a summit almost always sits above the model’s terrain. The effect comes from resolution rather than model quality. Elevation datasets show the same smoothing. The 90 m Copernicus DEM already reads ridge-top launches lower than its 30 m sibling, and a weather grid a hundred times coarser smooths far harder. The reference page’s source facts give the measured sizes of those effects.

The real mountain is known within metres. For each catalogued launch, independent measurements land on a scale where a few metres are visible. They are site-context.json’s elevation pick from bare-earth lidar or the national DTM, and the 30 m Copernicus surface model.

Measured answers within metres, and one far away

The catalogue's measured elevation pick and the GLO-30 surface model agree within metres; a weather model's terrain does not.

Per-site elevation ladder on a fine metre scale. Test Hill: catalogue · lidarbc · 1 m 1,225.1 m; GLO-30 surface 1,237.5 m (+12.4 m). Test Ridge: catalogue · mrdem30 · 30 m 2,177.8 m; GLO-30 surface 2,175.5 m (−2.3 m). Test Valley: catalogue · lidarbc · 1 m 495.5 m; GLO-30 surface 495 m (−0.5 m). Each profile's site.modelElevationM (the weather model's smoothed terrain) is live data and typically sits tens to hundreds of metres off these scales.

Catalogue elevation pick and GLO-30 surface elevation per site on a fine metre scale Test Hill: catalogue · lidarbc · 1 m 1,225.1 m; GLO-30 surface 1,237.5 m (+12.4 m). Test Ridge: catalogue · mrdem30 · 30 m 2,177.8 m; GLO-30 surface 2,175.5 m (−2.3 m). Test Valley: catalogue · lidarbc · 1 m 495.5 m; GLO-30 surface 495 m (−0.5 m).Test Hilltest-hill1220123012401250catalogue · lidarbc · 1 msite-context.json elevation1,225.1 mGLO-30 surfacecanopy included1,237.5 m (+12.4 m)Test Ridgetest-ridge2160217021802190catalogue · mrdem30 · 30 msite-context.json elevation2,177.8 mGLO-30 surfacecanopy included2,175.5 m (−2.3 m)Test Valleytest-valley480490500510catalogue · lidarbc · 1 msite-context.json elevation495.5 mGLO-30 surfacecanopy included495 m (−0.5 m)

Generated from site-context.json and sites.json. produced using Copernicus WorldDEM-30 © DLR e.V. 2010-2014 and © Airbus Defence and Space GmbH 2014-2018 provided under COPERNICUS by the European Union and ESA; all rights reserved. Contains information licensed under the Open Government Licence – British Columbia. Contains information licensed under the Open Government Licence – Canada.

catalogue elevation pick GLO-30 surface (DSM)model terrain (site.modelElevationM): live per profile, off these scales
Elevations are read from site-context.json: the catalogue lane is the measured elevation pick (lidarbc → mrdem30 → glo30 by priority): the launch elevation consumers render with. The weather model's own terrain is deliberately absent: it is live data; read site.modelElevationM from any profile and place it against this ladder yourself.Units elevation m MSL · deltas vs the catalogue pick

The model’s number is missing from that ladder. site.modelElevationM is live data that changes with the model you pick, so it stays in the profiles. Open any current profile document and compare its site.modelElevationM with the ladder. That distance is the smoothing for that model at your launch.

What the gap means on a Meteogram

A Meteogram draws the measured launch and the model’s ground on one altitude axis, and the gap sits between them.

The launch marker is the measured launch, which is the ladder’s diamond and site-context’s elevation pick. The renderer draws it from the consumer-supplied MeteogramOptions.launch. The profile document itself carries no launch, because one grid sample serves every launch its cell covers.

“Surface” means the model’s ground. Surface temperature, heat fluxes, w*, surface wind, and gusts are all referenced to the model’s smoothed terrain at site.modelElevationM, which can be hundreds of metres below the marker. The forecast engine also uses model elevation instead of launch elevation for pressure-level filtering and the model-column derivations (why).

So “usable lift reaches the launch marker” is a statement that crosses the gap. The model’s thermal column starts at model ground and must grow tall enough to pass a launch the model cannot see. Reading a Meteogram builds the full checklist on that basis.

Relief percentile: trigger and topology

The launch’s elevation does not tell you what the launch sits on. The context document’s relief discs rank the launch against all terrain within 1, 3, and 10 km. Read together, the percentiles give a compact description of the topology.

Where the launch sits in its terrain

Read the relief percentiles together across radii: 100 at 1 km is a local summit; high near, low far is a foothill in front of bigger terrain.

Per-site relief discs from site-context.json. Test Hill: the launch at 1237.5 m is the 73rd percentile of terrain within 1 km (994–1335 m), the 60th percentile of terrain within 3 km (531–1725 m), the 52nd percentile of terrain within 10 km (448–2237 m). Test Ridge: the launch at 2175.5 m is the 64th percentile of terrain within 1 km (1964–2676 m), the 52nd percentile of terrain within 3 km (1546–2784 m), the 75th percentile of terrain within 10 km (1053–2796 m). Test Valley: the launch at 495 m is the 60th percentile of terrain within 1 km (416–587 m), the 43rd percentile of terrain within 3 km (416–1269 m), the 12th percentile of terrain within 10 km (412–2061 m).

Terrain relief ranges at 1, 3, and 10 km per site with the launch's percentile rank Test Hill: the launch at 1237.5 m is the 73rd percentile of terrain within 1 km (994–1335 m), the 60th percentile of terrain within 3 km (531–1725 m), the 52nd percentile of terrain within 10 km (448–2237 m). Test Ridge: the launch at 2175.5 m is the 64th percentile of terrain within 1 km (1964–2676 m), the 52nd percentile of terrain within 3 km (1546–2784 m), the 75th percentile of terrain within 10 km (1053–2796 m). Test Valley: the launch at 495 m is the 60th percentile of terrain within 1 km (416–587 m), the 43rd percentile of terrain within 3 km (416–1269 m), the 12th percentile of terrain within 10 km (412–2061 m).Test Hilllaunch 1,237.5 m5001,0001,5002,0001 kmpctl 733 kmpctl 6010 kmpctl 52Test Ridgelaunch 2,175.5 m1,0001,5002,0002,5001 kmpctl 643 kmpctl 5210 kmpctl 75Test Valleylaunch 495 m5007501,0001,2501,5001,7502,0001 kmpctl 603 kmpctl 4310 kmpctl 12

Generated from site-context.json. produced using Copernicus WorldDEM-30 © DLR e.V. 2010-2014 and © Airbus Defence and Space GmbH 2014-2018 provided under COPERNICUS by the European Union and ESA; all rights reserved.

terrain min–max within the disc launch elevation (GLO-30)pctl 100 = the launch is the disc's summit
Each bar is the min–max terrain elevation within that radius of the launch; the vertical line is the launch's GLO-30 elevation, and the percentile is its rank among the disc's terrain: 100 means the launch is the local summit.Units elevation m MSL · disc radii km · percentile rank

The three catalogued sites show the range of readings.

  • test-hill (73 / 60 / 52) is a local high point inside bigger country. It ranks high within its own kilometre and ordinary against everything within 10 km. Its top is gentle (2.7° of slope), so its recorded aspectDeg of 14° is low-confidence, because ground that barely falls away barely has a downslope direction. The reference caveats measure how ambiguous it is.
  • test-ridge (64 / 52 / 75) reads the other way round. It is mid-pack against its own ridgeline at 1 and 3 km, yet above three quarters of the terrain within 10 km, which makes it an alpine shoulder on a massif that stands over its region. Here the downslope bearing is trustworthy, because a real 9.9° slope falls away west-southwest (251°). The trigger is the heated slope below the launch rather than the launch itself.
  • test-valley (60 / 43 / 12) is the valley floor. It is a modest rise inside its own flat kilometre, and nearly everything within 10 km stands higher. Nothing about the site itself triggers, and the walls around it organize the day.

Land cover: what the thermal catchment is made of

The ground sets how readily a catchment produces thermals. Forest canopies hold heat back; clearcut, rock, and grass release it readily; and water kills it. The context document measures that character as class fractions of the 1 and 3 km discs around each launch.

What the thermal catchment is made of

Forest holds heat back; clearcut, rock, and grass release it; water kills it. The disc fractions carry that character; the single launch pixel does not.

Per-site land-cover composition from site-context.json. Test Hill (launch pixel tree cover): within 1 km: tree cover 95.1%, grassland 4.9%; within 3 km: tree cover 93.2%, shrubland 0.1%, grassland 6.6%, built-up 0.1%, water 0.1%. Test Ridge (launch pixel moss / lichen): within 1 km: tree cover 25.5%, grassland 23.7%, bare / sparse 26.9%, snow / ice 3.3%, water 1.5%, moss / lichen 19%; within 3 km: tree cover 30.5%, grassland 11.9%, bare / sparse 33.9%, snow / ice 9.2%, water 1.9%, moss / lichen 12.7%. Test Valley (launch pixel built-up): within 1 km: tree cover 28.5%, grassland 46.8%, cropland 0.2%, built-up 16.2%, bare / sparse 1.8%, water 6.5%; within 3 km: tree cover 62.1%, grassland 21.2%, built-up 8.8%, bare / sparse 1.2%, water 6.7%.

Test Hilllaunch pixel: tree cover
1 km
3 km
Test Ridgelaunch pixel: moss / lichen
1 km
3 km
Test Valleylaunch pixel: built-up
1 km
3 km

Generated from site-context.json. © ESA WorldCover project 2021 / Contains modified Copernicus Sentinel data (2021) processed by ESA WorldCover consortium.

tree covershrublandgrasslandcroplandbuilt-upbare / sparsesnow / icewatermoss / lichen
Fractions are the share of each disc under a class, from ESA WorldCover 10 m (2021). A class absent from a bar is genuinely zero there; the map is wall-to-wall. The launch-pixel class is one 10 m pixel and is fragile: read it beside the 1 km bar, never alone.Units fraction of disc area % · disc radii km

test-valley is the clearest example in the catalogue. Its launch pixel reads built-up, while the 1 km disc around it is nearly half grassland, with forest behind and 6.5% water crossing the catchment. That water is a cold surface that suppresses whatever tries to build over it, at a scale no 2.5 km wind profile resolves. This is why the disc fractions outrank the single launch pixel. One 10 m pixel tells you what is under the ramp, and the fractions tell you what feeds the climb. The other two sites bracket the range of catchment character. test-hill’s 1 km disc is 95% tree cover, a canopy that holds the morning’s heat back, while test-ridge’s alpine mosaic of bare ground, forest, grass, and moss releases it readily.

Known limits

The context is static geography from open data, and each source has its licence and its measured error. The surface model includes canopy, the land-cover map is 76.7% accurate globally, vertical datums differ by decimetres, and summit aspects are ambiguous. The site context reference states all of it with dated verification stamps, along with the document’s shape and the code to join it to a profile by slug. The context cannot change with the weather. It describes the mountain, and the Meteogram shows what today’s atmosphere does with it.