Skip to content

OpenQuake Engine 3.10.0

Compare
Choose a tag to compare
@nastasi-oq nastasi-oq released this 29 Sep 14:32
· 25322 commits to master since this release

[Richard Styron (@cossatot)]

  • Added secondary perils ZhuLiquefactionGeneral and HazusLateralSpreading,
    supplementing HazusLiquefaction and NewmarkDisplacement

[Michele Simionato (@micheles)]

  • Fixed a bug with site models containing non-float parameters
  • Raised the limit on the asset ID from 20 to 50 characters
  • Changed the /extract/events API to extract only the relevant events
  • Removed the GMF npz exporter
  • Speed-up risk saving in scenario_risk and scenario_damage

[Antonio Ettorre (@vot4anto)]

  • Bumped GDAL to version 3.1.2

[Michele Simionato (@micheles)]

  • Optimized scenario_damage for the case of many sites
  • Implemented secondary perils
  • Fixed a 32 bit/64 bit bug in oq prepare_site_model when sites.csv is
    the same as the vs30.csv file
  • Parallelized by GSIM when there is a single rupture

[Francis Bernales (@ftbernales)]

  • Added the Stewart et al. (2016) GMPE
  • Added the Bozorgnia & Campbell (2016) GMPE
  • Added the Gulerce et al. (2017) GMPE

[Michele Simionato (@micheles)]

  • Unified source model logic tree sampling with gsim logic tree sampling
  • Added early_latin and late_latin sampling algorithms
  • Changed the logic tree sampling algorithm and made it possible to use
    both early_weights and late_weights
  • Restored magnitude-dependent maximum distance
  • Displaying the hazard maps in the WebUI for debugging purposes
  • Used the hazard map to get the disaggregation IML from the disaggregation
    PoE and added a warning for zero hazard
  • Internal: implemented multi-run functionality (oq engine --multi --run)
  • Reduced tremendously the data transfer in disaggregation calculations
  • Internal: introduced compress/decompress utilities
  • Reduced the memory and disk space occupation in classical calculations with
    few sites; also changed slightly the rupture collapsing mechanism
  • In disaggregation, force poes_disagg == poes
  • Fixed multi-site disaggregation: ruptures far away were not discarded,
    just considered distant 9999 km

[Marco Pagani (@mmpagani)]

  • Added a prototype implementation of the kernel method

[Michele Simionato (@micheles)]

  • Added zipcode site parameter
  • Added command oq renumber_sm ssmLT.xml

[Robin Gee (@rcgee)]

  • Set DEFINED_FOR_REFERENCE_VELOCITY for GMPEs modified for Switzerland

[Michele Simionato (@micheles)]

  • Added parameter max_num_loss_curves to the job.ini file
  • Changed oq engine --reuse-hazard to just reuse the source model, if
    possible
  • Added command oq recompute_losses <calc_id> <aggregate_by>
  • Fixed noDamageLimit, minIML, maxIML not being honored in continuous
    fragility functions
  • Unified the scenario calculator with the event based one, with
    minor differences in the numbers akin to a change of seed
  • Fixed a bug in event based when a rupture occurs more than 65535 times
  • Added a demo EventBasedDamage
  • Fixed bug in event_based_damage: the number of buildings in no damage
    state was incorrect
  • Added commands oq nrml_to csv and oq nrml_to gpkg
  • Supported year and ses_id >= 65536 in event based

[Graeme Weatherill (@g-weatherill)]

  • Implements a heteroskedastic standard deviation model for the Kotha et al.
    (2020) GMPE

[Michele Simionato (@micheles)]

  • Called check_complex_fault when serializing the source in XML
  • Restored scenario_damage with fractional asset number
  • Added a view oq extract disagg_by_src
  • Fixed error with large ShakeMap calculations ('events' not found)
  • Raised an error when using disagg_by_src with too many point sources
  • The minimum_magnitude parameter was incorrectly ignored in UCERF

[Iason Grigoratos (@jasongrig)]

  • Implemented the Zalachoris & Rathje (2019) GMM

[Michele Simionato (@micheles)]

  • Optimized the disaggregation outputs, saving storage time

[Graeme Weatherill (@g-weatherill)]

  • Adds PGV coefficients to USGS CEUS GMPE tables (where applicable)

[Michele Simionato (@micheles)]

  • Removed the disagg_by_src exporter
  • Internal: added filtering features to the datastore
  • Calculations with a number of levels non-homogenous across IMTs are
    now an error
  • Implemented rupture collapsing in disaggregation (off by default)
  • Fixed a bug in the dmg_by_event exporter: the damage distributions could
    be associated to the wrong GMPE in some cases
  • Solved a bug with nonparametric ruptures: due to rounding errors,
    the disaggregation matrix could contain (small) negative probabilities
  • Extended the scenario calculators to compute the statistical outputs
    if there is more than one GMPE
  • Fixed the formula used for the avg_damages-rlzs outputs in event based
    damage calculations
  • Raised an error if investigation_time is set in scenario calculations

[Graeme Weatherill (@g-weatherill)]

  • Fixed a bug in the mixture model application when running multiple GMPEs

[Michele Simionato (@micheles)]

  • Replaced outputs losses_by_asset with avg_losses-rlzs, and
    dmg_by_asset with ``avg_damages-rlzs`, for consistency with the
    event based outputs
  • Extended the /extract/ API to manage JSON and removed the oqparam API
  • Added a check on ebrisk to avoid generating too many loss curves
  • Introduced an output "Source Loss Table" for event based risk calculations
  • Raised an early error when max_sites_disagg is below the number of
    sites in disaggregation calculations
  • Extended the amplification framework to use different intensity levels
    for different amplification functions
  • Optimized the disaggregation in the case of multiple realizations
  • Fixed bug in GMF amplification without intensity_measure_types_and_levels
  • Optimized the computation of the disaggregation PMFs by orders of magnitude
    by using numpy.prod
  • Changed the disaggregation calculator to distribute by magnitude bin,
    thus reducing a lot the data transfer
  • Vectorized the disaggregation formula
  • Do not perform the disaggregation by epsilon when not required
  • Introduced management of uncertainty in the GMF amplifi
  • Changed the disaggregation calculator to distribute by IMT, thus reducing
    a lot the data transfer in calculations with many IMTs
  • Changed /extract/disagg_layer to produce a single big layer
  • Changed the binning algorithm for lon, lat in disaggregation, to make
    sure that the number of bins is homogeneous across sites

[Marco Pagani (@mmpagani)]

  • Fixed a bug in the ParseNDKtoGCMT parser + updated tests.
  • Ported the method serialise_to_hmtk_csv implemented in the corresponding
    class of the catalogue toolkit + added a test into the GCMTCatalogue class.
  • Added a modifiable GMPE using the site term of CY14.
  • Added a generalised modificable GMPE. This first version allows the
    definition of the epsilon of the within event residual.

[Michele Simionato (@micheles)]

  • Introduced a mixed XML+HDF5 format for gridded sources
  • Internal: added a check on gridded sources: the arrays prob_occurs must
    have homogeneous length across ruptures
  • Removed the dependency from PyYAML, replaced the .yml files in the HMTK with
    .toml files and added an utility utils/yaml2toml