Changelog¶
All notable changes to this project are documented here. The format follows Keep a Changelog and the project uses Semantic Versioning.
[Unreleased]¶
[0.2.0] - 2026-11-04¶
Added¶
ShakeGrid.sampleandShakeGrid.sample_g: values at many positions in one NumPy call,nearest(the same values asvalue_at, ties to even likeround) orbilinear;NaNoutside the grid. On 100,000 points of a real grid: 10 ms against 280 ms for a loop, identical to Limen's parser.IngvClient.info/parse_info→ShakeMapInfo: the map'sinfo.json(version, status, history of runs, GMPE, stations, peaks), a few kB to tell whether the 12 MB grid changed.IngvClient.stations/parse_stations→Station: the stations ofstationlist.json, PGA in g, with the model's prediction. The string"null"INGV writes for a missing value is read asNone.IngvClient.uncertainty:uncertainty.xmlas aShakeGrid(STDPGAin ln g).IngvClient.productandshakemap_product_url: any file of the map's products.updated_afteroneventsandevent_query(FDSNupdatedafter).
[0.1.0] - 2026-11-04¶
Added¶
IngvClient: INGV FDSN events and ShakeMap grids, async, with an injectablehttpx.AsyncClient,retriesand asendhook. A 204 is no events, a 404 is no ShakeMap, any other failure raisesIngvError.parse_grid/ShakeGrid: every column of a ShakeMap 4grid.xml, values at a point (pga_gin g,pgv_cm_s,mmi,value_at), arrays, the event and the map's status. The row order is checked, not assumed.parse_events/Event,event_query,shakemap_grid_url: the FDSN side, as pure functions.- Extracted from Limen (
src/limen/integrations/ingv/). On three real grids the PGA matches Limen's parser value for value.