Skip to content

Releases: gem/oq-engine

OpenQuake Engine 3.23.0

19 Feb 13:11
38b747e
Compare
Choose a tag to compare

Release 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_rate column 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 msr and aspect_ratio parameters
  • 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_intensity mandatory
  • 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

17 Jan 09:06
d44e688
Compare
Choose a tag to compare

[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 changed build_dstore_log into create_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_timeout configuration parameter
  • Reduced conditioned_gmfs_gb to 8 GB by default
  • Parallelized get_mean_covs when 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_file to multiple .hdf5 files, assuming they correspond to
    disjoint sites and events

[Paolo Tormene (@ptormene)]

  • Added a duplicates_strategy argument to read_df and 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_format resilient 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

02 Oct 08:14
94b797e
Compare
Choose a tag to compare

[Paolo Tormene (@ptormene)]

  • Added commands oq plot "rupture?" and oq plot "rupture_3d?"

[Michele Simionato (@micheles)]

  • Extended oq reset to also remove the custom_tmp directory, 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_mag and get_median_area
    and fixed the signature of StrasserIntraslab.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_phi in the job.ini to save mean, tau and phi
    for each rupture, site, gsim and imt in a GMF calculation
  • Internal: changed oq run to 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 --run to submit asynchronous jobs to SLURM and
    oq run to 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_sm for 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 10 affecting
    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_intensity mandatory 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_ini for 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 oqparam and oq 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.apply to 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_realizations and 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

OpenQuake Engine 3.20.1

07 Jun 09:44
17381ef
Compare
Choose a tag to compare

[Paolo Tormene (@ptormene), Antonio Ettorre (@antonioettorre), , Armando Scarpati (@hascar)]

  • Improved installation documentation

from previous OpenQuake Engine 3.20.0 version:

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

  • Internal: added commands oq compare assetcol and oq compare sitecol

[Michele Simionato (@micheles)]

  • Internal: added a command oq reducexp exposure_xml site_model_csv

[Paul Henshaw (@pslh), Antonio Ettorre (@antonioettorre), Michele Simionato (@micheles)]

  • Updated the documentation about installing the engine

[Michele Simionato (@micheles)]

  • Raised the default max_potential_paths to 1,000,000
  • Optimized the calculation of mean hazard curves when use_rates=true;
    now it is possible to compute exactly mean curves even with millions
    of realizations

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

  • Added command oq plot 'gmf_scenario?imt=PGA&kind=rlz-0'

[Fatemeh Alishahiha (@FatemehAlsh)]

  • Added vertical component to abrahamson_silva_1997 gsim library

[Michele Simionato (@micheles)]

  • Internal: removed ProbabilityCurve and rename ProbabilityMap->MapArray
  • Optimized building the CompositeSourceModel for complex logic trees
  • Optimized "reading rates" in postclassical
  • Extended the delta_loss warning to scenario_risk calculations
    and documented it

[Michele Simionato (@micheles), Marco Pagani (@mmpagani)]

  • Fixed the multifault rupture indices and the MultiLine class so
    that the New Zealand model can run

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

  • Added a new parameter asce_version for AELO calculations

[Michele Simionato (@micheles)]

  • Saving memory and disk space in conditioned GMFs scenarios, improving
    also the performance in many cases
  • Fixed the passing of parameters to the underlying GMPE in NRCan15SiteTerm
  • Added another check for missing gsim in scenario calculations
  • Using custom hcurves and uhs exporters in AELO mode

[Fatemeh Alishahiha (@FatemehAlsh)]

  • Added a new gsim library named ghasemi_2009 developed for Iran.

[Marco Pagani (@mmpagani)]

  • Added a new epistemic uncertainty for modelling relative uncertainty on
    MMax

[Michele Simionato (@micheles)]

  • Added a check to forbid individual_rlzs=true and collect_rlzs=true
  • Fixed a bug in oq extract "ruptures?rup_id=XXX
  • Raising an early error if the user forgets to specify a site_model_file
    when needed (i.e. for parameters region and xvf)

[Marco Pagani (@mmpagani), Christopher Brooks (@CB-quakemodel)]

  • Refactored Chiou and Youngs (2014) GMM to be adjustable using methodology
    of the Boore et al (2022) paper

[Michele Simionato (@micheles)]

  • Discarded the stations (if any) from the avg_gmf plot
  • Added an early check for homeless consequences
  • Improved the check for missing site parameters
  • Internal: fixed the serialization of logic trees using
    simpleFaultGeometryAbsolute, complexFaultGeometryAbsolute or
    characteristicFaultGeometryAbsolute
  • Added a check when importing hazard_curves.csv files: the values must be
    probabilities
  • Internal: functions must be shorter than 100 lines and have less than
    16 arguments to enter in the engine codebase
  • Fixed scenarios with CanadaSHM6 GMPEs and ModifiableGMPE
  • Fixed avg_losses-stats exporter in the case of a single realization
  • Managed duplicated multi fault sources in event based for the New
    Zealand model
  • Forbidden characters .:; in the branchID

[Michal Kolaj (@MichalKolaj)]

  • Fixed a couple bugs in the Canadians GMPEs (can_shm6_inslab) causing wrong
    means

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

  • Extended the engine and the WebUI to accept a rupture_file
    in the contexts of the Aristotle project
  • Extended the engine and the WebUI to run scenario_risk calculations
    from USGS ruptures in the contexts of the Aristotle project

[Michele Simionato (@micheles)]

  • Raised a clear error for GMF-conditioned calculations with too many sites
  • Rounding lon, lat with numpy in oqparam.sites
  • Reduced by half the data transfer in classical by using 32 bit rates
  • Fixed a bug in oq zip which was missing the exposure.csv files
  • Introduced a parameter config.memory.avg_losses_max
  • Changed import_gmfs_hdf5 to not use ExternalLinks
  • Added oq show usgs_rupture:<usgs_id> printing the rupture parameters

[Matteo Nastasi (@nastasi-oq)]

  • Add helper to check consistency between debian/changelog and
    CONTRIBUTORS.txt

[Michele Simionato (@micheles)]

  • Added an optional flag config.distribution.compress to reduce the
    data transfer by compressing pickles larger than 1 MB
  • Optimized postclassical both for regular and tiling calculations
  • Saving disk space in classical calculations (~4x) by gzipping the rates
  • Removed Python version checks in install.py

OpenQuake Engine 3.20.0

03 Jun 13:08
574d834
Compare
Choose a tag to compare

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

  • Internal: added commands oq compare assetcol and oq compare sitecol

[Michele Simionato (@micheles)]

  • Internal: added a command oq reducexp exposure_xml site_model_csv

[Paul Henshaw (@pslh), Antonio Ettorre (@antonioettorre), Michele Simionato (@micheles)]

  • Updated the documentation about installing the engine

[Michele Simionato (@micheles)]

  • Raised the default max_potential_paths to 1,000,000
  • Optimized the calculation of mean hazard curves when use_rates=true;
    now it is possible to compute exactly mean curves even with millions
    of realizations

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

  • Added command oq plot 'gmf_scenario?imt=PGA&kind=rlz-0'

[Fatemeh Alishahiha (@FatemehAlsh)]

  • Added vertical component to abrahamson_silva_1997 gsim library

[Michele Simionato (@micheles)]

  • Internal: removed ProbabilityCurve and rename ProbabilityMap->MapArray
  • Optimized building the CompositeSourceModel for complex logic trees
  • Optimized "reading rates" in postclassical
  • Extended the delta_loss warning to scenario_risk calculations
    and documented it

[Michele Simionato (@micheles), Marco Pagani (@mmpagani)]

  • Fixed the multifault rupture indices and the MultiLine class so
    that the New Zealand model can run

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

  • Added a new parameter asce_version for AELO calculations

[Michele Simionato (@micheles)]

  • Saving memory and disk space in conditioned GMFs scenarios, improving
    also the performance in many cases
  • Fixed the passing of parameters to the underlying GMPE in NRCan15SiteTerm
  • Added another check for missing gsim in scenario calculations
  • Using custom hcurves and uhs exporters in AELO mode

[Fatemeh Alishahiha (@FatemehAlsh)]

  • Added a new gsim library named ghasemi_2009 developed for Iran.

[Marco Pagani (@mmpagani)]

  • Added a new epistemic uncertainty for modelling relative uncertainty on
    MMax

[Michele Simionato (@micheles)]

  • Added a check to forbid individual_rlzs=true and collect_rlzs=true
  • Fixed a bug in oq extract "ruptures?rup_id=XXX
  • Raising an early error if the user forgets to specify a site_model_file
    when needed (i.e. for parameters region and xvf)

[Marco Pagani (@mmpagani), Christopher Brooks (@CB-quakemodel)]

  • Refactored Chiou and Youngs (2014) GMM to be adjustable using methodology
    of the Boore et al (2022) paper

[Michele Simionato (@micheles)]

  • Discarded the stations (if any) from the avg_gmf plot
  • Added an early check for homeless consequences
  • Improved the check for missing site parameters
  • Internal: fixed the serialization of logic trees using
    simpleFaultGeometryAbsolute, complexFaultGeometryAbsolute or
    characteristicFaultGeometryAbsolute
  • Added a check when importing hazard_curves.csv files: the values must be
    probabilities
  • Internal: functions must be shorter than 100 lines and have less than
    16 arguments to enter in the engine codebase
  • Fixed scenarios with CanadaSHM6 GMPEs and ModifiableGMPE
  • Fixed avg_losses-stats exporter in the case of a single realization
  • Managed duplicated multi fault sources in event based for the New
    Zealand model
  • Forbidden characters .:; in the branchID

[Michal Kolaj (@MichalKolaj)]

  • Fixed a couple bugs in the Canadians GMPEs (can_shm6_inslab) causing wrong
    means

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

  • Extended the engine and the WebUI to accept a rupture_file
    in the contexts of the Aristotle project
  • Extended the engine and the WebUI to run scenario_risk calculations
    from USGS ruptures in the contexts of the Aristotle project

[Michele Simionato (@micheles)]

  • Raised a clear error for GMF-conditioned calculations with too many sites
  • Rounding lon, lat with numpy in oqparam.sites
  • Reduced by half the data transfer in classical by using 32 bit rates
  • Fixed a bug in oq zip which was missing the exposure.csv files
  • Introduced a parameter config.memory.avg_losses_max
  • Changed import_gmfs_hdf5 to not use ExternalLinks
  • Added oq show usgs_rupture:<usgs_id> printing the rupture parameters

[Matteo Nastasi (@nastasi-oq)]

  • Add helper to check consistency between debian/changelog and
    CONTRIBUTORS.txt

[Michele Simionato (@micheles)]

  • Added an optional flag config.distribution.compress to reduce the
    data transfer by compressing pickles larger than 1 MB
  • Optimized postclassical both for regular and tiling calculations
  • Saving disk space in classical calculations (~4x) by gzipping the rates
  • Removed Python version checks in install.py

OpenQuake Engine 3.19.1

14 May 08:42
4ba9c42
Compare
Choose a tag to compare

[Antonio Ettorre (@vot4anto)]

  • Upgrade pyzmq to 26.0.3

[Michele Simionato (@micheles)]

  • Backported fix to oq extract ruptures?rup_id=XXX
  • Backported fix to a fake error in case of a nontrivial
    maximum_distance together with a minimum_magnitude
  • Backported fixes to the Canada SHM6 GMPEs

OpenQuake Engine 3.19.0

04 Mar 16:35
532424b
Compare
Choose a tag to compare

[Graeme Weatherill (@g-weatherill)]

  • Contributed new GMPEs Weatherill2024ESHM20AvgSA,
    Weatherill2024ESHM20SlopeGeologyAvgSA, Weatherill2024ESHM20Homokedastic
    and GmpeIndirectAvgSA

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

  • Added geometry_file to discard ruptures

[Michele Simionato (@micheles)]

  • Fixed exporting from calculations with a grand parent
  • Added an uniqueness check to source IDs in the same branch
  • Extended the command oq sample to multi fault sources
  • Fixed the reading of ruptures with a multisurface with meshes
    of different lengths
  • Fixed oq compare: the tolerance parameters were ignored
  • Fixed a numerical precision error affecting the hazard curves at
    very high intensities
  • Optimized multi fault sources by moving surface calculations in the
    preclassical phase
  • Fixed disaggregation in case of mutex sources

[Paolo Tormene (@ptormene)]

  • Added the possibility to display/hide announcements on top of all WebUI
    pages, setting them up via the Django admin interface

[Michele Simionato (@micheles)]

  • Fixed ZalachorisRathje2019 (mag > Mb_ -> mag >= Mb_)
  • Reduced memory consumption in multiFaultSources
  • Implemented batch processing for AELO calculations

[Anirudh Rao (@raoanirudh)]

  • Improved the performance of non-parametric liquefaction models

[Michele Simionato (@micheles)]

  • Renamed 'fpeak' as 'f0' in the HassaniAtkinson2020 GMPE so that the
    Manea2021 GMPE can work
  • Internal: extended the command oq mosaic sample_rups to multiple models
  • After 3 years of deprecation, forbidden custom methods in GMPE classes
  • Changed the universal installer to recreate the venv
  • Reduced the number of tasks generated by disagg_by_src and added
    more checks on the naming conventions for the source IDs
  • Fixed the gmf_data exporter with a filtered site collection
  • Added missing validation on duplicate source IDs for source models
    in format nrml/0.5
  • The calculation_mode=ebrisk was not honored when starting from GMFs
  • Fixed an ordering bug in the IMTs causing two peaks in the UHS in
    some situations
  • Fixed bug in the WongEtAl2022 GMPEs, reported by Thomas Bornstein
  • Added a job.ini parameter smlt_branch to reduce the logic tree to
    a specific branch
  • Internal: extended oq info to shapefiles

[Anirudh Rao (@raoanirudh)]

  • Fixed the conditioned GMFs calculator in the case all the
    stations are filtered away

[Marco Pagani (@mmpagani)]

  • Fixed the algorithm used to generate kite surfaces

[Michele Simionato (@micheles)]

  • Changed the weighted quantile algorithm to not depend on numpy.argsort
    (since numpy 1.25 argsort produces a different sorting on machines with
    AVX-512 enabled processors, causing different quantiles when the weights
    are not all equal)
  • Improved error message for missing fields in the exposure CSV files
  • Internal: removed dbserver.user in openquake.cfg
  • Fixed extract_from_zip when managing zip files coming from MACOSX

[Paolo Tormene (@ptormene)]

  • Internal: extended the MosaicGetter to a GlobalModelGetter class with
    the ability to associate points to countries

[Michele Simionato (@micheles)]

  • Removed the obsolete by_country hack when managing the global exposures
  • Changed oq sample to use pandas for reading/writing CSVs, thus fixing
    the issue of quoted newlines
  • Fixed oq check_input exposure.xml
  • Added rupture_dict parameter to be used in scenarios

[Marco Pagani (@mmpagani)]

  • Fixed a bug in the calculation of Rjb for gridded surfaces and added a
    dependency from alpha_shapes

[Chris di Caprio (@chrisdicaprio)]

  • Contributed many new GMPEs for the New Zealand model

[Michele Simionato (@micheles)]

  • Fixed wrong mean_rates_by_src in presence of the colon convention
  • If there are no sources close to the (single) site, do not raise an error
  • Fixed a bug with --hc taking the parent site collection instead of
    the child site collection
  • Extended the exposure field mapping functionality to map the same
    input field to multiple columns in the asset collection
  • Removed the experimental aftershock calculator; aftershocks can
    be computed by simply including a file delta_rates.csv

[Anirudh Rao (@raoanirudh)]

  • Limited the cross-correlation coefficient of GodaAtkinson2009
    to have an upper bound of 1.0

[Paolo Tormene (@ptormene)]

  • Added commands oq plot mean_hcurves_rtgm,governing_mce,disagg_by_src

[Michele Simionato (@micheles)]

  • Raised the limit on the product num_assets * num_rlzs when using
    full enumeration by a factor of 10
  • Fixed exporting-reimporting GMFs in hdf5 format
  • Fixed a bug causing the insured losses to be larger than the
    ground losses in some cases
  • Added command oq info executing
  • Added extract/relevant_gmfs?threshold= functionality
  • Added extract/ruptures?threshold= functionality
  • Disabling the DbServer with dbserver.host = local
  • Fixed disagg_source for same ID sources
  • Disambiguated same ID sources by appending the branch ID after
    the exclamation mark and fixed disagg_by_src accordingly
  • Fixed another bug in disaggregation for mutex sources
  • Fixed a bug in disagg_source for mutex sources: src_mutex
    was not passed
  • Internal: forced the colon convention on mutex sources
  • Fixed a bug in the disaggregation with mutex sources incorrectly
    averaging over the rates and not the poes

OpenQuake Engine 3.16.7

26 Oct 14:31
e0a08fc
Compare
Choose a tag to compare

[Antonio Ettorre (@vot4anto)]

  • Upgraded Django version to version 3.2.21 with a security fix

[Michele Simionato (@micheles)]

  • In case of a well known IndexError in disaggregation calculations, solved in
    newer versions of the engine, a helpful message is printed
  • Backported fix on sanity check for avg_losses and aggrisk
  • Backported fix to avg_gmf
  • Backported a fix to oq reaggregate
  • Backported fix to event based risk calculations with
    aggregate_by(parent) != aggregate_by(child)
  • Backported fix to the risk_by_event exporter for some calculations
    starting from GMFs on a CSV file
  • Backported fix to import_gmfs_csv, which was breaking sometimes with a
    filtered site collection

OpenQuake Engine 3.18.0

25 Oct 13:11
988aba4
Compare
Choose a tag to compare

[Michele Simionato (@micheles)]

  • Fixed the command oq extract ruptures producing wrong newlines on
    Windows

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

  • Fixed an ordering bug in the tagnames in extract_agg_curves breaking
    the QGIS plugin

[Michele Simionato (@micheles)]

  • Fixed the function get_mean_stddevs_cy14 to recover the same results
    for the Canada SHM6 model as in engine 3.11
  • Required at least Python 3.10.6 on mac and windows

[Claudio Schill (@claudio525)]

  • Optimized the Kuehn sigma_mu_adjustment calculation by replacing the
    multi-step interpolation with a single 2D/3D space interpolation

[Michele Simionato (@micheles)]

  • Fixed a bug in calculations with a filtered site collection using the
    HM2018CorrelationModel
  • Internal: raised a clear error message when get_composite_source_model is
    called without passing a datastore in presence of multifault sources

[Christopher Brooks (@CB-quakemodel)]

  • Added non-ergodic implementation of Zhao et al. (2016) GMM (ray-tracing
    of travel paths through anelastically attenuating volcanic regions and
    subsequent adjustment of the path term based on this distance to reduce
    the predicted ground-motion).

[Michele Simionato (@micheles)]

  • Optimized (2x) the generation of ground motion fields
  • Internal: using a single random number generator inside the GmfComputer
    and not one for each gsim, causing an artificial correlation between gsims
  • Implemented maximum_distance_stations and fixed another site
    collection filtering bug in conditioned GMFs
  • Extended conditioned GMFs to number_of_ground_motion_fields > 1
  • Disabled SLOW MODE on macOS, since the amount of free memory returned by
    psutil cannot be trusted
  • Speeding up count_ruptures for multifault sources, which gives a huge
    in some calculations (like event_based for Dominican Republic)

[Marco Pagani (@mmpagani)]

  • Fixed a bug in the code that resamples a line, with a small effect
    on the hazard of models containing simple fault sources

[Michele Simionato (@micheles)]

  • Optimized the calculation of quantile hazard maps (7x)
  • Internal: stored _rates instead of _poes in classical calculations

[Lana Todorovic (@LanaTodorovic93), Anirudh Rao (@raoanirudh)]

  • Added several regional liquefaction models to the secondary perils module,
    including:
    ZhuEtAl2017LiquefactionCoastal and ZhuEtAl2017LiquefactionGeneral,
    RashidianBaise2020Liquefaction, AllstadtEtAl2022Liquefaction,
    AkhlagiEtAl2021LiquefactionA and AkhlagiEtAl2021LiquefactionB
    (experimental),
    Bozzoni2021LiquefactionEurope, TodorovicSilva2022NonParametric
  • Added new site parameters required by some of these new models to site.py
  • Added LiqOccur as a valid IMT, referring to the occurrence or
    non-occurrence of liquefaction at a site
  • Added basic documentation for the secondary perils module
    (originally written by @cossatot and extended by @LanaTodorovic93)
  • Added rock-slope co-seismic failure computation of Grant et al. (2016)

[Michele Simionato (@micheles)]

  • Fixed sanity check on avg_losses and aggrisk breaking for event_based_damage
    calculations following event_based_risk calculations
  • Fixed a bug in avg_gmf causing the average to be computed incorrectly
  • Removed the XML exporters for hazard curves, maps and uniform hazard spectra
    after nearly 5 years of deprecation

[Paolo Tormene (@ptormene)]

  • In the WebUI users are not allowed to see other users outputs by default
    (the old default can be obtained setting ACL_ON = False)

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

  • Produced ASCE-7 and ASCE-41 outputs for the AELO project and hidden
    a few internal outputs

[Athanasios Papadopoulos (@thpap)]

  • Adjusted the Swiss-specific implementations of the GMPEs used
    in the Swiss national seismic hazard (SUIhaz15) and risk (ERM-CH23) models.
    The new implementation returns all of total, intra- and inter-event sigmas,
    rather than just the total one

  • Extended the ModifiableGMPE class by adding an
    apply_swiss_amplification_sa method that is used in ERM-CH23 to
    apply site specific adjustments for site effects and intra-event
    uncertainty

  • Added ch_ampl03, ch_ampl06, ch_phis2s03, ch_phis2s06,
    ch_phisss03, ch_phis2s06 site parameters to the site.py file

[Paolo Tormene (@ptormene)]

  • Upgraded requirements: Shapely to version 2.0.1 and Pandas to version 2.0.3

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

  • Implemented AEP, OEP curves

[Michele Simionato (@micheles)]

  • Internal: changed events.year to be in the range 1..eff_time
  • Enhanced oq engine --delete-calculation to remove calculation files
    even if the DbServer is on a remote machine
  • Fixed another site collection filtering bug in conditioned GMFs
  • Fixed a regression in oq reaggregate
  • Better error message for logic trees with branchsets exceeding the limit
  • Fixed a bug with mutex sources and disagg_by_src

[Manuela Villani (@mvillani), Kendra Johnson (@kejohnso), Michele Simionato (@micheles)]

  • Implemented Risk Targeted Ground motion for the AELO project

[Paolo Tormene (@ptormene)]

  • Fixed consequence calculations for 'homeless', 'fatality' and 'injury'
    with/without a specified 'time_event'
  • Raise an early error if any station data has zero intensity value

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

  • Internal: checking encoding and newlines of all CSV files in the repository

[Christopher Brooks (@CB-quakemodel)]

  • Implemented the Atkinson (2015) GMPE with the alt. eff. depth model

[Michele Simionato (@micheles)]

  • Fixed a bug in event based risk calculations with
    aggregate_by(parent) != aggregate_by(child)
  • Fixed a bug when exporting risk_by_event in absence of ruptures
  • Fixed a bug by not exporting event_based_mfd in absence of ruptures
  • Enabled the pointsource_distance approximation by default at 100 km
  • Fixed an error with sources below the minimum_magnitude
  • Introduced support for SLURM (experimental)
  • Fixed bug in conditioned GMFs, due to the station sites being excluded
    from the complete site collection
  • Reduced slow tasks and memory consumption
    in the event_based_risk calculator (3x for Chile)

[Paolo Tormene (@ptormene)]

  • Raise an error if files specified in site_model_file do not have the same
    headers
  • Give a better error message for risk calculations where the aggregate_by
    tag is specified but it doesn't exist in the exposure model

[Michele Simionato (@micheles)]

  • Improved error message when quantiles are not supported in event based risk
  • Reduced memory consumption in the master node in post_risk
  • Reduced slow tasks in the ebrisk calculator and memory consumption
    in the master node

[Paolo Tormene (@ptormene)]

  • Fixed bug #8907: unable to run ClassicalDamage demo on Windows

[Astha Poudel (@asthapoudel), Anirudh Rao (@raoanirudh), Paolo Tormene (@ptormene)]

  • Updates to the infrastructure risk assessment and connectivity analysis
    module to incorporate additional performance metrics including Complete
    Connectivity Loss (CCL), Partial Connectivity Loss (PCL), Weighted
    Connectivity Loss (WCL), and Efficiency Loss (EL) based on
    Poudel et al. (2023).
  • Implemented the possibility of including both weighted and unweighted
    graphs for infrastructure risk.
  • Implemented the possibility of including simple undirected graphs, simple
    directed graphs, multigraphs and multi-directed graphs.
  • Implemented the Bradley (2012) cross-correlation equations between peak
    ground velocity (PGV), peak ground acceleration (PGA), and 5% damped
    pseudo-spectral acceleration (SA)

[Michele Simionato (@micheles)]

  • Moved the generation of the hazard curves from the GMFs in post_execute
  • Fixed the error "You must supply a list of magnitudes as 2-digit strings"
    when starting from ruptures in a model with GMPETables (i.e. Canada)
  • Replaced sequential tiling with parallel tiling in large classical
    calculations
  • Huge reduction of the memory usage in the event_based calculator; also,
    reduced the slow tasks

OpenQuake Engine 3.17.1

14 Jul 10:02
bca99a7
Compare
Choose a tag to compare

[Michele Simionato (@micheles)]

  • Fixed the associations event_id, rup_id, rlz_id