Jump to content

SimTX API v24/Packets/WeatherMapResponse

From SimTX Wiki
This page documents protocol v24, which current servers no longer accept. See SimTX API for v25.
WeatherMapResponse
Packet ID 14(0x0E)
Direction Server → client
Session Control
Body size Variable
Permission None
Answered by
Answers WeatherMapRequest

WeatherMapResponse returns the raster requested by a WeatherMapRequest, together with a summary of the weather at the centre of the area.

Layout[edit | edit source]

Field Type Description
packetId u8 Always 14.
validTimeEpochMillis i64 Simulated time the data is valid for, Unix milliseconds.
type UTF Map type, as requested.
southLatitudeDeg f64 Southern edge.
northLatitudeDeg f64 Northern edge.
westLongitudeDeg f64 Western edge, normalised to (−180, 180].
eastLongitudeDeg f64 Eastern edge, normalised to (−180, 180].
width i32 Raster columns.
height i32 Raster rows.
valueCount i32 Always width × height.
values valueCount × f32 Values in the unit of the map type, row by row.
surfaceTemperatureCelsius f32 At the centre: surface temperature.
surfacePressureHpa f32 At the centre: surface pressure.
surfaceRelativeHumidityPercent f32 At the centre: relative humidity.
surfaceWindMetersPerSecond f32 At the centre: wind speed.
maximumRainRateMillimetersPerHour f32 At the centre: highest rain rate in the column.
maximumCloudWaterGramsPerCubicMeter f32 At the centre: highest cloud water content in the column.
capeJoulesPerKilogram f32 At the centre: convective available potential energy.
lightningFlashesPerMinute f32 At the centre: lightning rate.
ductType UTF Type of the strongest duct at the centre, or NONE.
ductBaseMeters f32 Duct base height. NaN when there is no duct.
ductTopMeters f32 Duct top height. NaN when there is no duct.
ductStrengthMUnits f32 Duct strength. 0 when there is no duct.
ductGradientMUnitsPerKilometer f32 Steepest modified-refractivity gradient in the duct. NaN when there is no duct.

Raster layout[edit | edit source]

Values are stored row-major (index = row × width + column). Unlike the coverage map, they are sampled at grid nodes that include the edges of the area:

latitude  = north − (north − south) × row    / (height − 1)
longitude = west  + (east  − west ) × column / (width  − 1)

Row 0 is the northern edge and the last row the southern edge; columns run west to east. North and south are clamped to ±90°. When the area crosses the antimeridian, westLongitudeDeg is greater than eastLongitudeDeg; add 360° to the eastern edge before interpolating. For a 360° span the two edges are equal.

Raster values are always finite. The summary fields may contain NaN as described above.

SimTX API v24 reference (protocol v24, archived)
Start OverviewQuick startData typesLimits and errorsPacket list
Account service OverviewDevice loginServer directoryGame ticketsPermissionsPublic endpoints
Game protocol Connection and handshakeReceiver sessionTransmitter sessionControl sessionCatalogModeration
Handshake HandshakeHandshakeResult
Receiver ReceiverSessionRequestReceiverRetuneForwardedClientAddressIqStreamDescriptorIqBlockTimedIqBlock
Transmitter TransmitterSessionRequestSampleBlockTxModeInfoTxUpdateTxQueueTxAcceptTxRejectTxKickTxTelemetryTxUpdateAck
Control ControlAckBannerListStationsStationListServerHealthRequestServerHealthReportCoverageMapRequestCoverageMapResponseWeatherMapRequestWeatherMapResponseStartMonitorStopMonitorMonitorBlockMonitorEnd
Catalog CatalogListRequestCatalogListCatalogFetchCatalogEntryCatalogUploadCatalogUploadResultCatalogDeleteCatalogDeleteResult
Moderation KickRequestKickResultIpModerationRequestIpModerationResultBroadcastBannerModerationErrorStationImpactList
Current Protocol v25 reference