Releases: gem/oq-engine
OpenQuake Engine 3.23.0
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
andaspect_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
[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_log
intocreate_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 toread_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
[Paolo Tormene (@ptormene)]
- Added commands
oq plot "rupture?"
andoq plot "rupture_3d?"
[Michele Simionato (@micheles)]
- Extended
oq reset
to also remove thecustom_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
andget_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_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
andoq 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
[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
andoq 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
anduhs
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
andcollect_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
[Paolo Tormene (@ptormene), Michele Simionato (@micheles)]
- Internal: added commands
oq compare assetcol
andoq 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
anduhs
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
andcollect_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
OpenQuake Engine 3.19.0
[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
[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
[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
[Michele Simionato (@micheles)]
- Fixed the associations event_id, rup_id, rlz_id