|
| 1 | +# Met Office Exeter and Portsmouth Demo Site Check |
| 2 | + |
| 3 | +Date: 2026-05-26 |
| 4 | + |
| 5 | +## Purpose |
| 6 | + |
| 7 | +Determine whether Met Office Weather DataHub Land Observations has useful live locations in or near Exeter and Portsmouth for the CSAPI demo publisher set. |
| 8 | + |
| 9 | +## Method |
| 10 | + |
| 11 | +Used the existing Oracle host-local Met Office Land Observations key through `/etc/os4csapi/publisher-secrets.env` and its configured key file. The key was not printed, changed, rotated, or committed. |
| 12 | + |
| 13 | +Queried the access-gated Land Observations `nearest` endpoint for: |
| 14 | + |
| 15 | +- Exeter city |
| 16 | +- Exeter Airport |
| 17 | +- Portsmouth city |
| 18 | +- Lee-on-Solent |
| 19 | +- Southampton Airport |
| 20 | + |
| 21 | +Then queried each returned geohash observation endpoint to confirm data availability. |
| 22 | + |
| 23 | +## Findings |
| 24 | + |
| 25 | +### Exeter |
| 26 | + |
| 27 | +Recommended demo location: `Exeter Airport Area` |
| 28 | + |
| 29 | +- Query points: Exeter city and Exeter Airport |
| 30 | +- Returned Met Office geohash: `gcj8ds` |
| 31 | +- Decoded geohash center: approximately `50.73761, -3.40027` |
| 32 | +- Distance from Exeter city query: about `9.6 km` |
| 33 | +- Distance from Exeter Airport query: about `1.0 km` |
| 34 | +- Observation endpoint returned `48` records |
| 35 | +- Sample fields: `datetime`, `humidity`, `mslp`, `pressure_tendency`, `temperature`, `visibility`, `weather_code`, `wind_direction`, `wind_gust`, `wind_speed` |
| 36 | + |
| 37 | +Assessment: strong demo candidate. The resolved point is very close to Exeter Airport and gives the demo a southwest England weather reference. |
| 38 | + |
| 39 | +### Portsmouth / East Solent |
| 40 | + |
| 41 | +Recommended demo location: `Portsmouth / Thorney Island Area` |
| 42 | + |
| 43 | +- Query points: Portsmouth city and Lee-on-Solent |
| 44 | +- Returned Met Office geohash: `gcp34f` |
| 45 | +- Decoded geohash center: approximately `50.81451, -0.92834` |
| 46 | +- Distance from Portsmouth city query: about `11.2 km` |
| 47 | +- Distance from Lee-on-Solent query: about `19.6 km` |
| 48 | +- Observation endpoint returned `48` records |
| 49 | +- Sample fields: `datetime`, `humidity`, `mslp`, `pressure_tendency`, `temperature`, `visibility`, `weather_code`, `wind_direction`, `wind_gust`, `wind_speed` |
| 50 | + |
| 51 | +Assessment: useful south coast candidate, but it should not be labeled as a Portsmouth city-centre station. Use Portsmouth-adjacent or Thorney Island / east Solent language. |
| 52 | + |
| 53 | +### Southampton Airport |
| 54 | + |
| 55 | +- Query point: Southampton Airport |
| 56 | +- Returned Met Office geohash: `gcnfur` |
| 57 | +- Decoded geohash center: approximately `51.14960, -1.56555` |
| 58 | +- Distance from Southampton Airport query: about `26.5 km` |
| 59 | +- Observation endpoint returned `48` records |
| 60 | + |
| 61 | +Assessment: valid data, but less compelling for this request than Exeter Airport and Portsmouth / Thorney Island. |
| 62 | + |
| 63 | +## Changes Made |
| 64 | + |
| 65 | +Added both recommended locations to: |
| 66 | + |
| 67 | +- `publishers/met_office_datahub/stations.json` |
| 68 | +- `publishers/met_office_global_spot/forecast_points.json` |
| 69 | + |
| 70 | +For Land Observations, the resolved geohashes are stored in config to avoid repeated nearest lookups: |
| 71 | + |
| 72 | +- `exeter-airport-area` -> `gcj8ds` |
| 73 | +- `portsmouth-thorney-island-area` -> `gcp34f` |
| 74 | + |
| 75 | +For Global Spot, the same curated point labels and coordinates are added as virtual forecast points so the future forecast card work can align observed and forecast demos without implying the forecast point is a physical sensor. |
| 76 | + |
| 77 | +## Operational Notes |
| 78 | + |
| 79 | +Adding two Land Observations locations increases the default Met Office Land Observations cycle from 3 to 5 locations. With geohashes cached in config, the publisher should make one observation endpoint request per location per cycle, still far below the documented 360 calls/day free-plan limit at hourly cadence. |
| 80 | + |
| 81 | +The Global Spot default set also increases from 3 to 5 locations. At one hourly forecast API request per location per hour, the default operational cadence is about 120 calls/day, still below the documented 360 calls/day free-plan allowance. |
0 commit comments