ShakeMap products¶
ingv_shakemap.products ¶
The other products of a ShakeMap: info.json and stationlist.json.
Pure: nothing here does I/O.
info.json weighs a few kB against the 10-12 MB of grid.xml and says
everything you need to decide whether to download the grid again: the map's
version, its status, the history of its runs, the ground-motion model and how
many stations constrained it. The maps of the 23 October 2026 sequence went
through four versions in forty hours, the last one two days after the
earthquake (checked on 4 November 2026).
stationlist.json is the stations behind the map: what each one recorded
and what the model predicted there. Two habits of the INGV file:
- a missing amplitude is the string
"null", not JSONnull: 263 of 469 stations of event 47606532 have"pga": "null"; - the station's
pgais in percent of g, like the grid's, even though the property itself carries no unit (its channels say%g).
uncertainty.xml needs no parser of its own: it is a grid.xml whose
columns are STDPGA (in ln g), STDPGV, STDMMI... so
:func:ingv_shakemap.parse_grid reads it.
MapRun
dataclass
¶
One run of a ShakeMap, from info.json's map_data_history.
GroundMotionSummary
dataclass
¶
The peak of one intensity measure, as info.json summarises it.
ShakeMapInfo
dataclass
¶
What info.json says about a map: enough to tell whether it changed.
Station
dataclass
¶
One station of stationlist.json, with what it recorded.
parse_info ¶
parse_info(payload: dict[str, Any]) -> ShakeMapInfo
info.json as a :class:ShakeMapInfo; raises :class:IngvError if it is not one.
parse_station ¶
parse_station(feature: dict[str, Any]) -> Station | None
One feature of stationlist.json; None without an id or a position.
parse_stations ¶
parse_stations(payload: dict[str, Any]) -> list[Station]
The stations of stationlist.json, skipping features that cannot be read.