Skip to content

OpenQuake Engine 3.26.1

Choose a tag to compare

@nastasi-oq nastasi-oq released this 15 Jul 06:27
6b1bc29

Release 3.26.1

[Matteo Nastasi (@nastasi-oq), Antonio Ettorre (@antonioettorre)]

  • Fix and improve of post installation scripts

Release 3.26.0

[Amir Shahmohammadian (@Shahmohamadian)]

  • Fixed a bug in the treatment of PGV period in the Jayaram and Baker
    (2009) spatial correlation model resulting in a wrong coefficient
    b = 22.0 instead of b = 25.7

[Michele Simionato (@micheles)]

  • Optimized ebrisk calculations by using larger GMF arrays
  • Saving memory when running several jobs together with a pool
  • Fixed a bug with IMT-dependent weights being not normalized, breaking
    the CND model with use_rates=true

[Paolo Tormene (@ptormene)]

  • Fixed a unit-scaling bug in GMF calculations; acceleration IMTs are
    converted to g as before, while velocity measures (PGV) preserve their
    native cm/s units.

[Paolo Tormene (@ptormene)]

  • Added exporter for exposure_by_liquefaction_lse and
    exposure_by_landslide_lse (Exposure grouped by Region and by
    Liquefaction/Landslide LSE)

[Michele Simionato (@micheles)]

  • Parallelized the exports in workflow calculations
  • Fixed the exporters aggexp_tags and aggrisk_tags
  • Reduced the number of tasks and the memory consumption in event_based_risk
  • Optimized rupture sampling for sources with high multiplicity
  • Internal: storing occ_by_trt_smr in the SES.hdf5 file
  • Introduced strict flag to disable checks which are possibly too strict
  • Internal: storing the real occurrence_rate in the ruptures dataset,
    not multiplied by smweight
  • Fixed the slow tasks in AELO, due to accidental disabling of the filtering

[Savas Ceylan (@sceylan)]

  • Added EdwardsFah2013Foreland3Bars, BindiEtAl2011Rhypo,
    ECOS2009VariableDepth and ECOS2009FixedDepth GSIMs with
    verification tests.

[Michele Simionato (@micheles)]

  • ebrisk calculations with not enough GMFs now just log an error
    instead of failing
  • Cached the multifault sections, with a 6x speedup when sampling the
    ruptures of the NZL model
  • Avoided copying sources when building the CompositeSourceModel,
    thus reducing the memory occupation and time by 75% for NZL

[Paolo Tormene (@ptormene), Michele Simionato (@micheles)]

  • Implemented secondary perils for ShakeMap calculations

[Catarina Costa (@catarinaquintela)]

  • Fixed landcover coefficient assignment on Nowicki Jessee landslide model

[Michele Simionato (@micheles)]

  • Saving year and ses_id in the events dataset of SES.hdf5 files
  • Splitting multifault and multipoint sources with the colon convention
  • Fixed missing weight in AvgPoeGMPE breaking the realization exporter

[Christopher Brooks (@CB-quakemodel)]

  • Fix a bug observed in the Aki and Richard's convention check in
    complex faults.

[Michele Simionato (@micheles)]

  • Added --kfilter capability to oq run workflow.toml
  • Optimized reading and sampling multiFaultSources
  • Saved memory in classical calculations with large sources affecting many
    sites, by yieldings contexts
  • Changed the rupture sampling algorithm so that the source groups are
    consistent between event based and classical calculations; removed
    useless copies of the sources and improved the performance and memory usage

[Fahrettin Kuran (@kurannn)]

  • Added additional magnitude-scaling relationships to wc1994.py
  • Added additional magnitude-scaling relationships to thingbaijam2017.py

[Michele Simionato (@micheles)]

  • Added checks on MAX_NUM_RUPTURES and ps_grid_spacing
  • Added command oq info db to extract the path to the sqlite file
  • Implemented a workflow to run the 2026 Global Risk Model

[Thuany Costa de Lima (@thuanycostadelima)]

  • Fix Allen (2022) depth truncation bug: hypocentral depth is now
    clamped to [10, 500] km before evaluating the cubic log-depth
    scaling term, as recommended in the original paper (Eq. 4, p. 1049).
  • Updated test CSVs to reflect the corrected implementation.
  • Added Bayless and Somerville (2024) GMM for Australia:
    BaylessSomerville2024Cratonic and BaylessSomerville2024NonCratonic.

[Michele Simionato (@micheles)]

  • Changed postjobs.build_ses to store oqparam/{model}
  • Saved memory in the rupture sampling algorithm for fault sources
    (simple, complex, characteristic)
  • Extended use_rates to work also with IMT-dependent weights

[Christopher Brooks (@CB-quakemodel)]

  • Add ability to specify a down-dip fraction for hypocentre placement
    on the rupture surface within a hypoDepthDist for area, point and
    multi-point sources with a QA test in classical/case_31.
  • Fix exporting of ruptures with surfaces defined using a GriddedSurface

[Michele Simionato (@micheles)]

  • Storing also aggexp_by outputs if avg_losses_by is enabled
  • Extended the rupture exporter to also work with multi-model SES files
  • Keeping the correlation matrices at 32 bit to save memory and to double
    the speed

[Christopher Brooks (@CB-quakemodel)]

  • Modify MorikawaFujiwara2013 to compute the distance to volcanic
    front (xvf) on a ctx-by-ctx basis instead of requiring it as a
    site parameter for consistency with NIED's own implementation.
  • Expand GridAdjustedGMPE to provide raytracing capabilities for
    distance-based corrections and update the QA test (classical/case_11)
    to test this feature.
  • Add the 2025 NSHM variants of the anomalous intensity correction
    and the PH correction to the MorikawaFujiwara2013 and some QA
    tests to check the site location-specific component of these
    corrections (classical/case_30).
  • Added ability to specify a distribution of hypocenters within a
    simple fault source. Tested in classical/case_28 and unit tests.
  • Added the BCHydro adjusted versions of the original NGA GMMs (median
    scaling and single station sigma) and some unit tests.

[Marco Pagani (@mmpagani)]

  • Fixing the calculation of ruptures with clusters and mutually exclusive
    sources

[Michele Simionato (@micheles)]

  • Computing the GMFs with a single core in scenario calculations,
    changing a bit the numbers (akin to a change of seed), but saving a
    lot of memory, especially in conditioned computations
  • Changed the distribution in damage calculations to split in blocks
    of assets, with a huge performance benefit for large scenarios

[Christopher Brooks (@CB-quakemodel)]

  • Add ability to specify a magnitude-dependent aspect ratio which
    is evaluated using a predefined expression via a MagDepAratio
    class.
  • Add the magnitude-scaling relationship used in the Northern
    Volcanic Arc (NVA) source zone of the BC Hydro SSC logic tree.
  • Add the NIED 2025 sigma model to the MorikawaFujiwara2013 GSIM
    and some unit tests.
  • Add ability to specify sentinel (-999) z_ref values when using the
    prepare_site_model command.
  • Add a relative epistemic uncertainty for seismogenic depths in the
    source model logic tree. Some unit tests added and a QA test in
    logictree/case_33.
  • Add ability to specify reference z1pt4 (like for z1pt0, z2pt5 etc.) in
    the job file (QA test in classical/case_13 with MorikawaFujiwara2013).

[Michele Simionato (@micheles)]

  • Internal: added an utility hdf5.reduce_file to reduce HDF5 files
  • Added parameter rupture_id to be used with rupture_model_file
    to run scenarios starting from a SES.hdf5 file

[Christopher Brooks (@CB-quakemodel)]

  • Added new epistemic uncertainties in the source model logic tree
    for the rupture aspect ratio (setAspectRatioAbsolute and
    setAspectRatioRelative). Unit tests added and a QA test in
    logictree/case_32.

[Michele Simionato (@micheles), Paolo Tormene (@ptormene)]

  • Updated build_exposure_hdf5 to work with the 2026 Global Risk Model

[Amirhossein Mohammadi (@amirxdbx)]

  • Add Karimzadeh 2023 Azores Islands GSIM implementation with
    verification tests.

[Michele Simionato (@micheles)]

  • In event based calculations do not collect together sources following
    the colon convention to avoid duplicated rupture IDs

[Christopher Brooks (@CB-quakemodel)]

  • Add GridAdjustedGMPE - a utility GSIM class allowing the
    adjustment of a GMPE using h3-gridded adjustments already
    defined within a hdf5 file. Examples of the hdf5 file structure
    are available in classical/case_11 and the associated unit tests.
  • Introduce explicit handling of sentinel z_sed values (-999) within
    the Conterminous US 2023 NSHM's Coastal Plains site amplification
    adjustment model to turn off this correction for such sites.

[Michele Simionato (@micheles)]

  • Logging and storing the engine version and not the DbServer version

[Matteo Nastasi (@nastasi-oq)]

  • Integrate Christopher Brooks (@CB-quakemodel) PAPERS script to run calculation
    starting from hypothetical ruptures into engine as new API
    entry-point

[Michele Simionato (@micheles)]

  • Added variable keep_trt to select a branchset in the gsim logic tree
  • Filtering the sites around the rupture also in scenario_damage
  • Extended oq shakemap2gmfs to work without a site model file

[Christopher Brooks (@CB-quakemodel)]

  • Added the AlternativeCharacteristicMFD class (unit tests and also
    a QA test in classical/case_10)
  • Fix some unit conversion bugs in the MorikawaFujiwara2013 and
    also a bug where the xvf cap of 75 km was being applied incorrectly.
  • Modify openquake/hazardlib/tests/gsim/utils.py to support checking
    of JMA values too (supported IMT for MF13 GSIM).

[Paolo Tormene (@ptormene)]

  • If any station is farther than the site association distance,
    the job keeps running instead of raising a SiteAssociationError

[Michele Simionato (@micheles)]

  • Internal: added postproc.debug_rupture
  • Saved avg_gmf always in impact mode
  • Saved relevant_events always when using --hc

[Christopher Brooks (@CB-quakemodel)]

  • Refactored check_gsims to permit unsupported IMTs when a weight
    of zero is specified for them in an IMT-dependent weighted GMC LT.
    A test case (classical/case_39) is added which checks this behaviour
    (permit zero weight for unsupported IMT, and raise error if non-zero
    for same unsupported IMT).

[Michele Simionato (@micheles)]

  • Added maximum_depth dictionary (in km per tectonic region type)
    to the job.ini accepted parameters, used to discard deep ruptures
    in event based calculations

[Paolo Tormene (@ptormene), Michele Simionato (@micheles), Paul Henshaw (@pslh)]

  • If any worker dies before completion, the corresponding master and
    all its subprocesses are killed and the event causing the
    interruption is logged

[Christopher Brooks (@CB-quakemodel)]

  • Added capability to specify an IMT-dependent vector of deltas
    to apply to total sigma, tau and phi within ModifiableGMPE.
  • Fix a bug where ESHM20 subclasses of BCHydro without a FABA
    taper model incorrectly fellback to the original BCHydro backarc
    term, causing a missing attribute error for backarc. Updated
    classical/case_61 to now test this scenario.
  • Correct the _apply_subduction_trench_correction term in
    Si and Midorikawa (1999)'s NorthEastCorrection subclasses
    to use rhypo instead of rrup.

[Anirudh Rao (@raoanirudh)]

  • Support sampling from the truncated multivariate normal distribution
    using Paul Brunzema's implementation of the Botev (2017) algorithm
    (https://github.com/brunzema/truncated-mvn-sampler), permitting
    truncation in calculations employing a cross-IM correlation model
  • Introduce two new job parameters: truncation_level_between and
    truncation_level_within allowing the user to specify different
    truncation levels for between-event residuals and within-event
    residuals in a scenario or event-based calculation

[Christopher Brooks (@CB-quakemodel)]

  • Add ability to specify deltas for tau and phi within ModifiableGMPE.

[Michele Simionato (@micheles)]

  • Extended the cross checking between IMTs and GSIMs to ConditionalGMPEs
  • Extended export_job_zip to scenario calculations

[Anirudh Rao (@raoanirudh)]

  • Added the Holmgren et al. (2024) GMM for Southeastern Africa
  • Removed experimental liquefaction models and refactored
    the secondary perils test suite
  • Supported embodied carbon as a new loss category

[Michele Simionato (@micheles)]

  • Improved error message when all assets are filtered out
  • Fixed a bug when prefiltering sources around the poles
  • Made it possible to run risk calculations depending on AvgSA
  • Internal: inferring the slow tasks information from starmap_info
  • Removed numpy.random.seed in the engine code base
  • The NegativeBinomialTOM can now be applied to all parametric sources