Releases: gem/oq-engine
OpenQuake Engine 3.25.1
[Michele Simionato (@micheles)]
- Disabled prefiltering across the International Date Line
- Listed h3 as a dependency in setup.py
- Making sure
save_ratesuses the processpool distribution - Listed AvgSA as primary IMT
OpenQuake Engine 3.25.0
[Michele Simionato (@micheles)]
- Reduced the memory consumption with multifault sources by splitting
in more tiles
[Christopher Brooks (@CB-quakemodel)]
- Make source/path adjustment coeff files used in modifications of CY14
as described in Boore et al. (2022) more flexible to avoid need for
dummy values for IMTs with unknown coeffs for source scaling but known
for path scaling or vice versa.
[Michele Simionato (@micheles)]
- Fixed
avg_losses_byin case of a single realization - Optimized the saving of the rates in large classical calculations
- Fixed the rup_id <-> event_id associations in openquake.engine.global_ses
[Yen-Shin Chen (@vup1120)]
- FDHA: added primary surface displacement package (base, Youngs et al. 2003
AD/MD, tests) - FDHA: added primary surface rupture package (base, Youngs et al. 2003
ExC/GB/nBR, tests)
[Michele Simionato (@micheles)]
- Changed the task distribution in classical calculations and reduced the
slow tasks, resulting in huge speedups in same cases (like 2.5x for USA) - Bug fix: using
sites=lon1 lat1, ...with a parent calculation
did not result in the specified sites to be used
[Yen-Shin Chen (@vup1120)]
- Added get_x_l_ratio() method to BaseSurface for computing normalized
along-strike position (x/L) for PFDHA applications - Vectorized get_x_l_ratio() implementation using NumPy broadcasting
for improved performance with large site meshes - Added _get_tor() helper method to extract the top rupture
trace with NaN handling for KiteSurface compatibility
[Christopher Brooks (@CB-quakemodel)]
- Added the EMME24 site model to the existing OQ implementation of the
EMME backbone model for ASCR (files describing the site model were
provided by Abdullah Sandıkkaya).
[Michele Simionato (@micheles)]
- Changed large classical calculations to store the rates in
ds_calc_dir;
removed the need to specifycustom_tmpfor the SLURM distribution - Internal: instantiating a GSIM automagically generates a ._toml
attribute from the GSIM name and arguments, associated to the GSIM hash
[Christopher Brooks (@CB-quakemodel)]
- Fix small bug in Hashash et al. (2020) site term implementation within the
NGA East models and regenerate the test tables (very small differences are
observed and only for SA(0.4)).
[Michele Simionato (@micheles)]
- Removed the long time deprecated method
get_mean_and_stddevsfrom the
GSIMs; you can use the helper functioncontexts.mean_stdsinstead - Internal: changed
cmaker.from_srcsto return a context array and not a
list with a single context array - Fixed AssertionError on len(mags) for GenericGmpeAvgSA with table-based
GMPEs - complex_fault_mesh_spacing is now mandatory in the job.ini file if
the model contains complex fault sources
[Nicholas Clemett (@nc-hsu)]
- Refactored the BaseAvgSACorrelationModel to make avg_periods an optional
argument - Added EmpiricalAvgSACorrelationModel
- Added classes for the Clemett correlation models for active shallow crust,
subduction interface, subduction slab and vrancea regions in europe based
on the ESHM20 GMMs.
[Michele Simionato (@micheles)]
- Internal: introduced subtasks in classical calculations
- Added endpoint
validate_inito validate local files - Optimized preclassical by gridding the point sources in parallel
[Christopher Brooks (@CB-quakemodel)]
- Added support for GMPE tables to be specifiable as the underlying
GSIMs within conditional GMPEs.
[Paolo Tormene (@ptormene)]
- Refactored the WebUI, separating its logic into multiple files
- Added Playwright tests to test the WebUI frontend in different
application modes - Added an extractor
exposure_by_location
[Michele Simionato (@micheles)]
- Turned tiling into an explicit parameter (i.e. you must pass it to
enable the full tiling algorithm, before it was automagic) - Optimized the management of the RateMap in the classical calculator
- Optimized the reading of the rates by vectorizing on the sites
- Bug fix:
use_rateswas not overridden by the child calculation - Extended
install.py develto infer the version from the branch name
[Christopher Brooks (@CB-quakemodel)]
- Added the option of using a modified form of the Campbell and Bozorgnia
(2014) GMM's sigma model within the Kuehn et al. (2020) GMMs as required
for the 2023 USGS Alaska model. - Refactored the indirect AvgSA GMPEs capabilities to permit the
calculation of non-AvgSA IMTs using the underlying GMPE (added
new unit test of classical/case_91 for checking this works within
GmpeIndirectAvgSA and updated classical/case34 for checking this
works within GenericGmpeAvgSA).
[Michele Simionato (@micheles)]
- Internal: removed configuration parameter
pmap_max_gb - Implemented the "ilabel" feature i.e. region-dependent gsim logic trees
- Reduced the number of chunks generated in classical calculations, which
has a huge effect on performance if you have 192 cores or more
[Christopher Brooks (@CB-quakemodel)]
- Fixing class inheritances in MorikawaFujiwara2013 GMMs.
[Amirhossein Mohammadi (@amirxdbx)]
- Added Mohammadi2023Turkiye ML-based GSIM for Turkey.
[Christopher Brooks (@CB-quakemodel)]
- Added the Alaska bias adjustments for the NGASUB GMMs
as required for the USGS 2023 Alaska model.
[Antonio Scala (@antonio-scala)]
- Added Scala et al (2025) GMM
[Michele Simionato (@micheles)]
- Show the GSIM class warnings only once
- Extended
oq engine --lhcandoq engine --lrcto show the
calculation_mode
[Christopher Brooks (@CB-quakemodel)]
- Refactored conditional GMPEs to be specifiable within ModifiableGMPE
on a per-IMT basis (safer handling, more flexibility). - Added documentation for the implementation of conditional GMPEs within
the OpenQuake Engine.
[Michele Simionato (@micheles)]
- Added a consistency check on the effective time when starting from SES
- Added a new exporter hmaps-stats producing one file per IMT,
associated to the display name "Hazard Maps Statistics"
[Maoxin Wang (@MaoxinWang)]
- Added a new gsim file wang_2025_turkey.py to implement the Turkey-specific
ground motion models for Arias Intensity (IA), Cumulative Absolute Velocity
(CAV), 5-75% Significant Duration (RSD575), and 5-95% Significant Duration
(RSD595) developed by Wang et al. (2025)
[Michele Simionato (@micheles)]
- For scenario_risk calculations expose the
aggrisk-statsoutput even if
there is a single gsim; the stats are associated to the simulations - Use PYTHONUTF8 mode, i.e. assume the default encoding to be
UTF8 also on Windows - Internal: extended
oq purge - Included .onnx and .onnx.gz files in MANIFEST.in
- Added command
oq db keep <workflow_id> - Added command
oq checkout workflow.toml - Extended
oq check_inputto accept workflow files - Added an output "Average Losses By Taxonomy"
- Extended
oq runto accept .toml files and to use the job cache - Replaced
dbserver.cacheparameter in openquake.cfg with a cache
parameter in job.ini - If the site parameters are more distant than ASSOC_DIST raise an error
and not a warning - Added parameter
siteidin job.ini to specify thecustom_site_id - Internal: extended baselib.sap to manage command classes
- Saved memory in ebrisk, now most calculations can be run with 2 GB
of RAM per core
[Paolo Tormene (@ptormene)]
- Fixed the management and layout/styling of navigation buttons in the
WebUI, with and without authentication - Improved the default configuration of the TOOLS_ONLY application mode
[Michele Simionato (@micheles)]
- Supported site-specific gsim logic trees via
site_labels - Added
source_infoto the global SES file - Optimized
_save_eventsfor large calculations over 100,000 events - Parallelized the rupture prefiltering
- Fixed
count_rupturesproducing more than 32768 tasks - Removed the distance filtering when sampling the ruptures; removed also the
mosaic model filtering
[Paul Henshaw (@pslh), Paolo Tormene (@ptormene)]
- Force use of utf8 encoding when writing non-binary files.
- Update AreaSource demo to use UTF8 chars that are obviously not ASCII.
- Use utf-8-sig when reading so as to handle BOM
[Anirudh Rao (@raoanirudh)]
- Add missing axis argument in recent bugfix in classical_risk
with nontrivial weights in the taxonomy mapping
[Michele Simionato (@micheles)]
- Extended the global_ses script to accept job.ini files
- Implemented
oq engine --run job1.ini .. jobN.ini --hc parent.hdf5 - Extended
--hcto accept paths to datastore files and removed the
experimental featurerupture_model_file = rups.hdf5 - Using the filtered site collection, thus changing numbers in OQImpact
- Implemented rupture prefiltering for scenario and event based calculators
[Paolo Tormene (@ptormene)]
- Added the possibility to assign tags to jobs and to set a job as the
"preferred" one for a tag
[Michele Simionato (@micheles)]
- Internal: extended
oq reduce_smto accept a source model directory - Implemented event_based_risk from ses.hdf5
- Raised an early error if the vulnerability functions are not
strictly increasing - Fixed a bug in classical_risk with nontrivial weights in the
taxonomy mapping - Removed the ebrisk calculation mode, since it can be replaced
with event_based_risk with ground_motion_fields = false - Turned LSD into a primary IMT, so that the Youd and ZhangZhao GMPE
can be used
[Lana Todorovic (@LanaTodorovic93)]
- Added Abrahamson and Bhasin (2020) GMPE
- Fixed the Macedo2019 GMPE with underlying GMPEs requiring extra parameters
(like the KuehnEtAl2020SInter requiring ztor)
[Michele Simionato (@micheles)]
- Filtering GMFs associated to low secondary intensities to make
secondary peril calculations ...
OpenQuake Engine 3.23.4
[Paul Henshaw (@pslh), Paolo Tormene (@ptormene)]
- Force use of utf8 encoding when writing non-binary files.
- Update AreaSource demo to use UTF8 chars that are obviously not ASCII.
- Use utf-8-sig when reading so as to handle BOM
[Michele Simionato (@micheles)]
- Backported the fix for small negative damages (#10772)
- Fixed the documentation about the installation directories
OpenQuake Engine 3.24.1
[Paul Henshaw (@pslh), Paolo Tormene (@ptormene)]
- Force use of utf8 encoding when writing non-binary files.
- Update AreaSource demo to use UTF8 chars that are obviously not ASCII.
- Use utf-8-sig when reading so as to handle BOM
[Michele Simionato (@micheles)]
- Removed the BASE33489 hack and made the first branch of the source
model logic tree regular, with a single letter abbreviation
[Paolo Tormene (@ptormene)]
- When running a job via the WebUI it is possible to select multiple input
files or a single .zip file - Added a whitelist of resources that can be extracted from the datastore
via the '/v1/calc/<calc_id>/extract/' and the
'/v1/calc/<calc_id>/extract_html_table/' API endpoints. All
resources can still be extracted if the WebUI authentication is disabled
or if the current user has a high profile level (>1) or has the permission
'auth.can_view_'
[Michele Simionato (@micheles)]
- Reduced the number of tiles
- Optimized the management of cluster of sources (the array loop)
- Changed the ps_grid_spacing approximation to use average occurrence rates
[Claudia Mascandola (@mascandola)]
- Added class "LanzanoEtAl2019_RJB_OMO_NESS2" to lanzano_2019 gsim
[Michele Simionato (@micheles)]
- Reduced the memory consumption of multifault sources for the USA model
- Improved the parallelization of disagg_source in AELO calculations
- Fixed the OverflowError: Python integer out of bounds for uint32
happening for extra-large calculations when saving source_info
[Guillermo Aldama-Bustos (@aldabus)]
- Fixed the unit of measure in the Douglas et al (2024) GMM and updated
coefficients for the 3- and 5-branch models to fix an error
[Michele Simionato (@micheles), Kendra Johnson (@kejohnso)]
- Internal: parallelized the AELO mosaic tests and made it possible to pass
the asce_version and vs30 parameters
[Michele Simionato (@micheles)]
- Extended the source_id-filtering feature to use .startswith
- Added a flag "aggregate_exposure" (false by default) to aggregate
the assets with the same taxonomy on the same hazard site - Optimized "building cmakers" and the RateMap in the case of clusters
of sources (260x for the latest USA model)
[Christopher Brooks (@CB-quakemodel)]
- Added BSSA14 site term capability to Modifiable GMPE + unit tests
[Richard Styron (@cossatot)]
- Added method
from_momentto theTaperedGRMFDclass - Fixed
KiteSurface.get_middle_pointto manage NaNs
[Michele Simionato (@micheles)]
- Doing the check on the
export_dironly if--exportsis passed - Fixed a
NameError: Missing liquefaction:LiqProb in gmf_data
when using the TodorovicSilva2022NonParametric model - gzipping the avg_losses reducing the disk space by half or so
- Added an extractor
losses_by_location - Filtering the assets around the rupture according to the maximum distance
in scenario calculations
[Claudia Mascandola (@mascandola)]
- Added a Ramadan et al (2023) gsim
[Michele Simionato (@micheles)]
- Disabled the threads in PicklableInferenceSession, making it possible
to use the TodorovicSilva2022NonParametric model in high concurrency
situations - Made it possible to merge pre_job.ini and job.ini in ShakeMap calculations
- Internal: changed
Exposure.read_aroundto work in terms of h3 hexagons;
changed the exposure.hdf5 accordingly - Added a private endpoint
/v1/calc/run_inito run remote calculations - Added a private endpoint
/v1/calc/jobs_from_inis
[Myles Turner (@mylesturner99), Guillermo Aldama-Bustos (@aldabus)]
- Added GMM of Douglas et al. (2024)
[Michele Simionato (@micheles)]
- Added a parameter config.dbserver.cache to avoid repeating calculations
- Removed the --reuse-input flag, since it was not used (use --hc instead)
- Changed install.py to exit if any of the tools is not installed
- Fixed small negative damages due to numeric errors
- Fixed the MIMETYPE to application/x-zip when needed in the WebUI
- Removed the parameter
site_effectssince it is useless - Changed num_cores to be equal to the pool size when explicit
- On Windows use as default num_cores
num_threads/2 if num_threads > 8 else num_threads - Extended the aggregation by
site_idto multiple tags - Fixed an extract bug in disagg-traditional with realizations
- Fixed a bug with the quantiles in event_based_damage
- Improved loggin the progress in event based risk
- Reduced slow tasks in the USA model
- Added output
mce_defaultin AELO calculations - Extended
oq export_mean_disagg_by_srcto multiple sites - Extended
oq export_mag_dst_eps_sigto multiple sites - Extended aggexp_tags and aggrisk_tags to multi-tags
[Paolo Tormene (@ptormene)]
- The OQ-Impact workflow option 'Use finite rupture from the USGS' was
replaced by two options 'Use ShakeMap fault rupture from the USGS'
and 'Use finite-fault model from the USGS', making it possible to convert
a wider set of ruptures from the USGS data - A sanity check was added to make sure that the hypocenter is inside the
surface of the rupture. Otherwise, it is relocated to the middle point of
the surface and a warning indicates the original and translated
coordinates.
[Christopher Brooks (@CB-quakemodel)]
- Fixed bug in ParkerEtAl2020 epistemic uncertainty scaling factors.
[Michele Simionato (@micheles)]
- Fixed indentation errors in nearly all secondary peril classes
- Reduced the data transfer in avg_losses (20x for Philippines),
thus solving an out-of-memory error; also improved the performance
(25% for Philippines) and reduced the memory occupation on the workers - Print a warning if there are vs30 values distant more than 10% from
DEFINED_FOR_REFERENCE_VELOCITY
[Anirudh Rao (@raoanirudh)]
- Fixed a bug when generating the aggregate curves for
affectedpopand
injuredloss types, due to missing units
[Michele Simionato (@micheles)]
- Extended
override_vs30to multiple values - Forbidden GMF correlation with more then
max_sites_correl=1000 - Made
minimum_intensityandminimum_magnitudemandatory with event based
calculations with many sites
[Paolo Tormene (@ptormene)]
- When a job is deleted, also the corresponding calc_CALCID_tmp.hdf5 file is
removed, if present
[Astha Poudel (@asthapoudel), Catarina Costa (@catarinaquintela)]
- Modified infrastructure risk to avoid calculating efficiency loss for
large networks
[Paolo Tormene (@ptormene)]
- AELO: the management of warnings was made more robust
[Michele Simionato (@micheles)]
- OQImpact: reading the sites around the rupture and not around the hypocenter
- Raised an error if the ShakeMap does not contain SA(0.6) when required
- Fixed the multi-peril implementation (imt_by_lt)
- Raised an error for risk IMTs not covered by the secondary IMTs
- Optimized build_global_exposure
[Michele Simionato (@micheles), Paolo Tormene (@ptormene)]
- OQ-Impact: fixed aggregation by ID_2, which was using indices instead
of strings
[Marco Pagani (@mmpagani)]
- Storing also
tauin the mean spectrum calculator
[Christopher Brooks (@CB-quakemodel)]
- Added ability to specify z1pt0 and z2pt5 as -999 within site model
to inform (basin term considering) GMMs to use their own vs30 to
z1pt0 or z2pt5 relationship to estimate these site parameters, in
effect preventing additional adjustment to GMM basin terms based
on unknown site information. QA tests (classical case_89) + unit
tests (utils_infer_basin_params_test.py) added - Added validation checks for core site params (lon, lat, vs30, z1pt0
and z2pt5) when building the site collection within a calculation
[Paolo Tormene (@ptormene)]
- In the API endpoint listing the outputs for a job, the first available
export_type is specified in each output url
[Michele Simionato (@micheles)]
- Added a new uncertainty
abMaxMagAbsoluteto the logic tree - Internal: refactored lt.Branch, lt.BranchSet and lt.CompositeLogicTree
- Avoided out of memory in calculations starting from the global SES
[Lana Todorovic (@LanaTodorovic93)]
- Updated units of slope (in m/m) in site model.
[Michele Simionato (@micheles)]
- Improved the validation of area source polygons
- Internal: added method
CompositeLogicTree.apply_all - Fixed downloading of uncertainty.xml in OQImpact calculations
[Michele Simionato (@micheles), Paolo Tormene (@ptormene)]
- Added a route /v1/calc/XXX/job_zip and a button to download the archive
from the WebUI, visible only in OQImpact for level 2 users - Fixed an error in
oq plot examples
[Baran Güryuva (@BaranGuryuva), Christopher Brooks (@CB-quakemodel)]
- Implemented the EMME24 backbone GMC for crustal
earthquakes (emme24.py)
[Marco Pagani (@mmpagani), Michele Simionato (@micheles)]
- Added uncertainties for area geometry and seismogenic depths
[Michele Simionato (@micheles)]
- Added a check on duplicate branches in the source model logic tree
- Internal: added methods
CompositeLogicTree.to_nodeand
CompositeLogicTree.to_nrml
[Paolo Tormene (@ptormene), Michele Simionato (@micheles)]
- Added extractor for 'damages-stats'
[Kendra Johnson (@kejohnso)]
- Updated the mosaic geometries for AELO year 4
[Matteo Nastasi (@nastasi-oq)]
- Allow free mapping between standalone apps and their url path prefix
(regardless of their name)
[Claudia Mascandola (@mascandola)]
- Added GMPEs of ambraseys_1996 and sabetta_pugliese_1996
[Graeme Weatherill (@g-weatherill), Michele Simionato (@micheles)]
- Implemented the MacedoEtAl2019SInter and MacedoEtAl2019SSlab conditional
GMMs
[Anirudh Rao (@raoanirudh)]
- In the stations parser, make sure to skip all "vertical" ('z' or 'Z') or
"up" ('u' or 'U') components when extracting the max horizontal component
_[Manuela ...
OpenQuake Engine 3.23.3
[Michele Simionato (@micheles)]
- Disabled the low level threads in TodorovicSilva2022NonParametric model
[Christopher Brooks (@CB-quakemodel), Michele Simionato (@micheles)]
- Improved error management for missing tools in install.py
- Backported fix to Parker (2020)
OpenQuake Engine 3.23.2
[Michele Simionato (@micheles)]
- Backported fix to taxonomy mapping with consequences
- Backported fix to 64 bit poes critical for multifault sources
- Backported fix to workerpool critical for zmq clusters
OpenQuake Engine 3.23.1
[Marco Pagani (@mmpagani)]
- Backported fix to Thingbaijam et al. (2017) scaling relation
[Michele Simionato (@micheles)]
- Backported fix to logs.dbcmd: querying the calculations caused the DbServer
to break in server installations - Backported fix to
oq plot hcurves - Backported fix to Arteta (2021) missing the backarc parameter
OpenQuake Engine 3.23.0
[Michele Simionato (@micheles)]
- Fixed contexts.py: we were incorrectly discarding ruptures with magnitude equal
to the minimum magnitude - Hiding spurious "divide by zero" warnings generated by shapely in
get_joyner_boore_distance
[Fatemeh Alishahiha (@FatemehAlsh)]
- Added GMM Campbell-Bozorgnia (2003)
[Christopher Brooks (@CB-quakemodel)]
- Another small bug fix for NZ 2022 inslab variants of the Kuehn et
al. (2020) GMM - the sigma_mu_model and sigma_mu_epsilon params
were sometimes missing from GSIM object + added a sensitivity test
[Marco Pagani (@mmpagani), Michele Simionato (@micheles)]
- Added an
occurrence_ratecolumn in median_spectrum_disagg and fixed
the exporter to order the ruptures by ID
[Michele Simionato (@micheles)]
- Fixed a bug in classical_damage with sampling reported by Evi Riga
- Added utils/fix_consequences to fix consequence.csv files
containing risk_ids rather than taxonomies, now invalid - Implemented quantiles in scenario_risk, visible in aggrisk_tags
- Added checks on the consequence functions across taxonomies and perils
- Fixed the taxonomy field in consequences.csv to be the exposure
taxonomy and not a fragility function ID - Internal: renamed aristotle -> impact
- Changed the sourcewriter to save the rupture_idxs as compressed datasets,
thus reducing the size of some models a lot (i.e. from 400M to 17M)
[Christopher Brooks (@CB-quakemodel)]
- Small bug fix for NZ 2022 inslab variants of the Kuehn et al. (2020)
and Parker et al. (2020) GMMs - backarc param was not always in the
req. site params but is needed given included in NZ 2022 site model
[Savvinos Aristeidou (@Savvinos-Aristeidou)]
- Added new ANN-based GMM in the gsim library, named
aristeidou_2024 - Added new IMs, that is the FIV3, Sa_avg2, and Sa_avg3
[Michele Simionato (@micheles)]
- Extended rupture_dict to the
msrandaspect_ratioparameters - Fixed the instantiation of file-dependent GMPEs from the datastore
- Optimized slow tasks both in the preclassical and the classical phase
- Reading the site model in calculations with ruptures.hdf5 and making
minimum_intensitymandatory - Added parameter
minimum_engine_version
[Paolo Tormene (@ptormene), Michele Simionato (@micheles)]
- Storing the reduced asset collection and fixing a bug when exporting
the average losses
[Richard Styron (@cossatot), Michele Simionato (@micheles)]
- Extended the preclassical calculator to work in absence of a site collection
[Michele Simionato (@micheles)]
- Added a new output "Aggregated Exposure Values" (
aggexp_tags) and a new extractor
aggrisk_tags;
OpenQuake Engine 3.22.1
[Michele Simionato (@micheles)]
- Fixed HDF5 bug when storing the avg_losses, visible on MacOS with a large
number of assets (say over a million). Fixed the same bug for damages too.
[Christopher Brooks (@CB-quakemodel)]
- Added ability to specify period-dependent bias adjustment for USGS
classes of NGAEast GMMs (US 2023 NSHMP). Unit tests also added. - Added ability to specify Chapman and Guo (2021) Coastal Plains site
amplification adjustment for USGS classes of NGAEast GMMs (US 2023
NSHMP). Unit tests also added. - Added sediment depth site param (z_sed) to sites module as required
for Chapman and Guo (2021) Coastal Plains site amp. adjustment. QA
is provided through unit tests and qa_tests_data/classical/case_87.
[Michele Simionato (@micheles)]
- Removed the deprecated function
openquake.commonlib.datastore.hdf5new
and changedbuild_dstore_logintocreate_job_dstore; - Extended the ShakeMap parser to read the intensities associated to SA(0.6)
- Fixed a bug while exporting realizations.csv for scenario calculations
- Added
webapi.calc_timeoutconfiguration parameter - Reduced
conditioned_gmfs_gbto 8 GB by default - Parallelized
get_mean_covswhen conditioning the GMFs
[Christopher Brooks (@CB-quakemodel)]
- Added Seattle Basin classes of Kuehn et al. (2020) NGASUB GMM (uses
Cascadia coeffs except for basin term). - Added USGS basin scaling and CyberShake adjustments to the NGAWest2
GMMs + ability to pass base gsim arguments within the NSHMP2014 gsim class.
[Michele Simionato (@micheles)]
- Saving the rupture geometries as 32 bit floats to save memory
- Internal: added a command
oq filter_around lon lat csvfile - Added a command
oq plot ebruptures?min_mag=XXX - Added a script
utils/build_global_ses - Removed the ability to read GMFs generated with engine <= 3.11
- Fixed the filtering of the site collection in event_based with --hc
- Internal: writeability check for datadir and scratch_dir (if any)
[Christopher Brooks (@CB-quakemodel)]
- Added instantiation-level arguments for contextually applying
the M9 basin term, the CB14 basin term and the USGS basin scaling
model to the AbrahamsonGulerce2020, KuehnEtAl2020, ParkerEtAl2020,
ZhaoEtAl2006 and AtkinsonMacias2009 GMMs as required for the 2023
US NSHM model's subduction interface GMC. Unit tests are also
provided for these GMM adjustments
[Michele Simionato (@micheles)]
- Internal: forcing the signature (C, ctx, region, ...) for _get_basin_term
in hazardlib - Extended
gmfs_fileto multiple .hdf5 files, assuming they correspond to
disjoint sites and events
[Paolo Tormene (@ptormene)]
- Added a
duplicates_strategyargument toread_dfand changed the
approach used while reading station data, to calculate the average values
of stations having the same coordinates instead of raising an error
[Christopher Brooks (@CB-quakemodel)]
- Added epistemic uncertainty scaling capabilities to
the Parker et al. (2020) NGASUB GMM. - Added M9 basin term and associated tests to ModifiableGMPE
- Added CB14 basin term and associated tests to ModifiableGMPE
[Michele Simionato (@micheles)]
- Added parameter
with_betw_ratio - Added command
oq info peril - Extended consequences to perils
- Replaced taxonomy mapping by loss type with taxonomy mapping by peril
- Internal: changed the ordering in the composite risk model from
(loss_type, riskid) -> (riskid, loss_type) - Added an exporter for trt_gsim
- Internal: added utility function readinput.read_source_models
[Manuela Villani (@ManuelaVillani)]
- Improved the "Governing MCE" plot
[Michele Simionato (@micheles)]
- Raised an error in case of non-invertible hazard curves, affecting
disaggregation and site-specific hazard spectrum calculations - Changed the ruptures.csv exporter to also export the source IDs
- Added support for consequence=losses for liquefaction and landslides
- Added a check for missing secondary perils
- Added loss types liquefaction and landslide
- Removed support for XML consequences, after 3 years of deprecation
- Fixed the stored calculation_mode in
oq sensitivity_analysis - Added command
oq info loss_types
[Paolo Tormene (@ptormene)]
- Added the possibility to export the asset collection via command line,
keeping it private from the webui
[Michele Simionato (@micheles)]
- Fixed median_spectrum with multiple sites
- Extended Aristotle calculation to manage multiple countries at once
- Extended taxonomy_mapping.csv with a loss_type field
- Modernized the regionalization of Chiou Youngs (2014)
- Modernized the regionalization of Campbell Bozorgnia (2014)
- Internal: made it possible to override CoeffsTable
- Added a memory check in disaggregation calculations
- Made
scientific_formatresilient against encoding errors
[Ilaria Oliveti (@IlariaOliveti)]
- Fixed the GMPE Tusa-Langer-Azzaro (2019) table of coefficients, the
IMTs were incorrectly using Hz instead of seconds
[Michele Simionato (@micheles)]
- Fixed the
assert(losses)error in the view delta_loss in the case of few events
OpenQuake Engine 3.21.0
[Paolo Tormene (@ptormene)]
- Added commands
oq plot "rupture?"andoq plot "rupture_3d?"
[Michele Simionato (@micheles)]
- Extended
oq resetto also remove thecustom_tmpdirectory, if any - Added classes CampbellBozorgnia2019, CampbellBozorgnia2019HighQ, CampbellBozorgnia2019LowQ
- Reduced the size of the large CSV files in hazardlib and added a check
to forbid files larger than 600k - Added a check on the signatures of
get_std_dev_magandget_median_area
and fixed the signature ofStrasserIntraslab.get_std_dev_mag
[Enrico Abcede (@emabcede30), Francis Bernales (@ftbernales)]
- Implemented Campbell and Bozorgnia (2019) IA and CAV to campbell_bozorgnia_2014
[Michele Simionato (@micheles)]
- Fixed scenario_risk from GMFs when the intensity measure types were
incorrectly identified
[Marco Pagani (@mmpagani), Michele Simionato (@micheles)]
- Added a median spectrum post-processor
[Michele Simionato (@micheles)]
- Added a parameter
mea_tau_phiin the job.ini to save mean, tau and phi
for each rupture, site, gsim and imt in a GMF calculation - Internal: changed
oq runto automatically generate the db when possible - Added a check on missing risk files
- Reduced the space used by the CollapsedPointSources (2.7x)
- Fixed the site model association procedure to work in conditioned
scenario calculations - Used
oq engine --runto submit asynchronous jobs to SLURM and
oq runto submit interactive jobs
[Christopher Brooks (@CB-quakemodel)]
- Added the Japan region versions of the NGAWest2 relations used to obtain
z1pt0 and z2pt5 from vs30 in prepare sites command
[Michele Simionato (@micheles)]
- Fixed
oq reduce_smfor calculations with nonparametric sources - Fixed logging the classical time with --sample-sources
- Improved the progress log in classical calculations
[Kendra Johnson (@kejohnso)]
- Fixed an error
invalid literal for int() with base 10affecting
event based calculations using mutex sources and a nontrivial logic tree
[Michele Simionato (@micheles)]
- Optimized the --sample-sources feature
- Honored the custom_tmp in classical calculations and saved data transfer
by using TileGetters, then parallelized the saving of the rates
[Lana Todorovic (@LanaTodorovic93)]
- Implemented Nowicki Jessee et al. (2018) landslide geospatial model that
computes the areal coverage by landslide occurrence.
[Paolo Tormene (@ptormene)]
- Updated extractor for gmf_data for a single event id (used by the IRMT
QGIS plugin), including data for secondary perils
[Michele Simionato (@micheles)]
- Refined the tiling calculator (partial tiling, task weighting, saving memory)
- Optimized "computing pnes" in classical calculations (3x in the common case)
and fully switched to 32 bit rates, thus saving memory and improving performance
[Nicolas Schmid (@schmidni)]
- Fixed a regression in the ShakeMap to_gmfs code, a forgotten sigma^2/2 term
[Marco Pagani (@mmpagani)]
- Fixed aliases for Kuehn2020 GMPEs (signalled by Eric Thompson)
[Michele Simionato (@micheles)]
- Internal: splitting in groups with homogeneous temporal occurrence model
- Optimized the calculation of mean and stdevs in event based calculations, with
a speedup of 13x for the EUR model
[Chris di Caprio (@chrisdicaprio)]
- Allowed extrapolation in the Kuehn (2020) GMPEs to solve numeric issues
[Michele Simionato (@micheles)]
- Fixed an encoding error when exporting the realizations
- Fixed a bug with multifault sources raising a cryptic error
"object has no attribute msparams" - Fixed a critical memory bug causing over 80 GB per core to be needed for
event based calculations with ~6 million sites - Made
minimum_intensitymandatory in event based calculations - Reduced the memory consumption in event_based calculations: now even calculations
with 5 million sites can be run with ~2 GB per core - Reduced the memory occupation in
gen_poes - Using half the memory in postclassical by using 32 bit arrays
- Using half the memory on Windows by using half the threads by default
- Fixed a bug in conditional spectrum calculations with a non-contributing TRT
[Savvinos Aristeidou (@Savvinos-Aristeidou)]
- Added new GMM in the gsim library, named
aristeidou_2023 - Added new IM, that is the inelastic spectral displacement, SDi,
which takes as input one additional parameter (i.e., strength ratio, R)
[Fatemeh Alishahiha (@FatemehAlsh)]
- Added a new gsim module named
zafarani_2018. - Added a new gsim module named
ambraseys_2005.
[Kyle Smith (@kslytherin)]
- Added a new gsim file sandikkaya_akkar_2017.py to implement the
Arias Intensity and Cumulative Absolute Velocity ground motion
models from Sandikkaya and Akkar (2017).
[Michele Simionato (@micheles)]
- Making sure that the tiles contains at least 100 sites in classical tiling
calculations - Rewritten the SLURM algorithm to work around the submission limit
- Added uniqueness check for the station coordinates
- Internal: removed parameter [dbserver]listen in openquake.cfg
- Added command
oq submit n job_inifor usage in supercomputers - Reimplemented the sensitivity analysis in a supercomputer-friendly way
- Fixed export realizations which was truncating the branch_path
- Extended logic tree filtering via
smlt_branch - Worked on disaggregation by multifault source
[Michele Simionato (@micheles), Christopher Brooks (@CB-quakemodel)]
- Internal: added a function for filtering sites around a rupture
[Michele Simionato (@micheles)]
- Internal: added method GsimLogicTree.to_node
- Internal: added commands
oq compare oqparamandoq plot_sites csvfiles - Fixed exporting the ruptures when imported from a CSV
- Fixed the issue of small negative eigenvalues in conditioned GMFs
calculations by adding a correlation_cutoff - Internal: extended
Starmap.applyto split DataFrames - Fixed the avg_gmf exporter in presence of a filtered site collection
[Lana Todorovic (@LanaTodorovic93)]
- Improved secondary perils documentation
[Michele Simionato (@micheles)]
- Fixed the ordering of the realizations to depend on the source model
branch path also in the case of full enumeration: this is crucial to
get consistent results with the two approaches - Saved data transfer in the context makers in classical calculations
- Internal: added utility
oq info geohash:<lon>,<lat> - Changed the scenario calculators to discard the sites far away from
the rupture, with the effect of generating different GMFs - Cached
get_realizationsand optimized the memory occupation; now
302_990_625 realizations (i.e. EUR) require only 90 GB
[Anna Rood (@AnnaRood)]
- Updates to the AELO workflow: added additional spectral periods ranging
from 0.02 to 10 s and added option to use ASCE7-22. NB: minor changes in
the results of year 1 are expected
[Michele Simionato (@micheles)]
- Changed the GMF-based calculators to always set a
custom_site_id - Internal: added variable OQ_SITE_DEBUG