Releases: gem/oq-engine
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
OpenQuake Engine 3.17.0
[Michele Simionato (@micheles)]
- Raise an early error if the user disable both realizations and statistics
- Internal: added dbserver.user in openquake.cfg
- Solved the hanging of classical calculations due to large zmq packets
and reduced memory occupation
[Marco Pagani (@mmpagani), Michele Simionato (@micheles)]
- Added support for the "direct" method in MRD calculations
[Michele Simionato (@micheles)]
- Reimplemented the conditional_spectrum calculator as a post-processor
[Paolo Tormene (@ptormene), Michele Simionato (@micheles)]
- Raise an error when the same parameter is set in different sections
of the job.ini file
[Michele Simionato (@micheles)]
- Fixed tau-phi inversion in LanzanoLuzi2019
- Fixed another bug with conditioned GMFs appearing as the error
array[m, n, bad] = exp(mean_covs[0, g, m, n], im) TypeError: list indices must be integers or slices, not tuple
[Claudio Schill (@claudio525)]
- Fixed sorting bug in the sigma_mu adjustment factor in
the Kuehn et al. (2020) GMM
[Michele Simionato (@micheles)]
- Fixed a subtle filtering bug in conditioned GMFs
- Fixed shakemap calculations to take the risk IMTs and not the hazard IMTs
- Extended shakemap2gmfs to amplify the GMFs based on user-provided vs30
values - Removed sorting of the sections in the multiFaultSource reader to keep
the rup_idxs consistent with the order in the files - GMFs too small to produce losses now give a warning rather than an error
- Fixed bug in
get_ry0_distance
breaking conditioned GMFs - Made sure lon and lat are rounded to 5 digits in the site collection
[Graeme Wheaterill]
- Fixes to bchydro_2016_epistemic, eshm20_craton and lanzano_2019
[Michele Simionato (@micheles)]
- Extended sensitity analysis to file parameters
- Introduced new loss type
residents
[Marco Pagani (@mmpagani)]
- Fixed bug in get_profiles_from_simple_fault_data affecting KiteSurfaces
[Michele Simionato (@micheles)]
- Fixed the rupture exporter in presence of GMPETables
- Optimized the postclassical phase
- Fixed a serious issue in the classical calculator with tiles
- Vectorized the association assets <-> hazard sites (up to 32x speedup)
- Fixed bug in disaggregation calculations associated to an error
in the line[mag] = np.unique(np.round(ctx.mag, 6))
- Optimized the calculation of geohashes by using numba
[Paolo Tormene (@ptormene)]
- Extended total_losses to include business_interruption
[Michele Simionato (@micheles)]
- Recognized
occupants_avg
field in the exposure - Optimized reading the exposure (both speed and memory)
- Optimized the rupture sampling for MultiFaultSources and improved
the parallelization for MultiFaultSources and MultiPointSources - Made the parameter
truncation_level
mandatory - Fixed the damage state header in the aggrisk outputs
- Changed the order of the IMTs to be by period and not lexicographic
- Fixed the realizations extractor for scenario calculations reading
ruptures with multiple different tectonic region types
[Kendra Johnson (@kejohnso)]
- Fixed a bug in disaggregation by Lon-Lat-TRT when there are multifault
ruptures and multiple sites
[Michele Simionato (@micheles)]
- Deprecated the conversion in the exposure
- Added new loss types "area" and "number" for usage in risk calculations
- Made the contexts immutable and fixed mutability bugs potentially
affecting the modules akkar_bommer_2010, bindi_2011_ipe, can_shm6_inslab,
lanzano_2019, youd_etal_2002, zhang_zhao_2005, cauzzi_faccioli_2008_swiss,
chiou_youngs_2008_swiss campbell_bozorgnia_2014 - Changed the disaggregation algorithm (see manual)
- Added a view
risk_by_rup
- Internal: added command
oq compare med_gmv <imt>
- Extended extract/ruptures to extract a single rupture given the
rup_id
- Fixed a bug in classical_damage causing a ValueError: could not broadcast
input array from shape (X,Y) into shape (X,) - Added check for missing site parameters
[Paolo Tormene (@ptormene)]
- Internal: reduced the size of the gsim column in the view
required_params_per_trt in the .rst report
[Michele Simionato (@micheles)]
- Optimized the generation of events
- Fixed the GMFs CSV importer so that it can import exported GMFs even in
the presence of acustom_site_id
- Implemented sampling for mutex sources with grp_probability
- Introduced
extreme_gmv
parameter in the job.ini - Introduced a new output "Annual Frequency of Events" and refined the command
oq plot event_based_mfd?
- Moved the minimum magnitude filtering after the rupture sampling
- Changed the internals of rupture sampling and fixed the generated MFD
in the case of a same source appearing in multiple logic tree branches - Fixed a bug in scenario calculations causing a mysterious IndexError in the
line rctx.clon = c.lons[rctx.sids] - Changed the disaggregation exporter to add a column with the IML
associated to the PoE for the mean disaggregation outputs - Internal: added a parameter
override_vs30
in the job.ini
[Marco Pagani (@mmpagani), Michele Simionato (@micheles)]
- Fixed a bug in the source writer when writing NonParametricSources
[Michele Simionato (@micheles)]
- Changed the conditional spectrum storage and fixed the exporter to export
all PoEs
[Marco Pagani (@mmpagani)]
- Fixed conditional spectrum with investigation time different from 1 year
[Michele Simionato (@micheles)]
- Fixed documentation of the Extractor for hazard curves and maps
- Fixed bug in
oq zip
: when starting from a directory different from the
job.ini directory, .hdf5 files for nonparametric ruptures were not included - Honored
minimum_magnitude
for MultiFaultSources - Overhauled the experimental postprocessing framework and fixed many
bugs in thecompute_mrd
postprocessor
[Anirudh Rao (@raoanirudh)]
- Added a verification test suite for the Conditioned GMFs calculator
[Michele Simionato (@micheles)]
- Added output
rates_by_src
- Fixed method '/v1/ini_defaults' returning NaNs for the site parameters
- Added output
mean_disagg_bysrc
for single site calculations with use_rates - Added command
oq reduce_smlt
- Fixed reinsurance calculations when there is a single loss type
- Changed the source seed generation to not depend on the source ID suffix
- Tracebacks were printed 3 times in the console: this is finally fixed
- Forbidden duplicate sources in atomic groups
- Forbidden duplicate mutually exclusive sources
- Fixed conditional spectrum calculator with multiple sites and implemented
parallelization - Fixed the source ID generation for CollapsedPointSources
- Fixed the error message for wrong weights in the gsim logic tree file
- Fixed KeyError in calculations using the EasternCan15Mid with PGA
- Replaced hard-coded limit to 25 levels in the MRD postprocessor
with a simple warning
[Kendra Johnson (@kejohnso)]
- Added a job parameter 'reqv_ignore_sources', which indicates which
sources - specified as a list of thier source ids - should not be collapsed
using the equivalent distance
[Michele Simionato (@micheles)]
- Extended (re)insurance calculations to manage insurance deductibles at asset
level - Internal: added a parameter
use_rates
to compute statistical hazard curves
in terms of rates, not probabilities - Internal: changed
disagg_by_src
to work in terms of rates - Added command
oq runsite <lon>,<lat>
for mosaic PSHA calculations - Enhanced --reuse-input to reuse preclassical calculations if possible
- Normalized IMTs in the
minimum_intensity
dictionary (i.e. SA(1.)=>SA(1.0)) - Fixed event based calculations running out of memory due to hazard curve
arrays being instantiated without need
[Julián Santiago Montejo Espitia (@SantiMon1417)]
- Contributed the GMPE Arteta et al. (2023) for crustal events on northern
South America
[Michele Simionato (@micheles)]
- Setting both
sites
andsite_model_file
now works also for models
with nonstandard site parameters, like EUR
[Paolo Tormene (@ptormene)]
- Added AELO mode for the engine webui, providing a web form to insert input
values and launch a calculation. Input values are validated and the
progress of the calculation can be monitored through the webui. On
completion, the server sends an email to the job owner, providing feedback
about failure or completion, with a link to retrieve a traceback or to
browse the calculation outputs. Corresponding tests were added and the
existing tests for the webui were improved, cleaning up calculations after
they have been checked.
[Michele Simionato (@micheles)]
- Changed the default: now all realizations are consider in disaggregation
calculations, not only the one closest to the mean hazard curve - Added feature
infer_occur_rates
for multiFault sources - Sampling the ruptures was raising a BlockingIOError sometimes
[Kendra Johnson (@kejohnso)]
- Made it possible to use extendModel for multiple branchSets in the
source model logic tree
[Michele Simionato (@micheles)]
- Added an exporter for disagg_by_src
- Implemented mean disaggregation outputs, with the means computed in terms
of rates, not probabilities
[Kendra Johnson (@kejohnso)]
- Corrected a bug when using the
reqv
feature: all sources were
collapsed instead of the ones with the specified tectonic region types
[Michele Simionato (@micheles)]
- Changed the lon-lat binning algorithm to produce 4 times less bins
- Fixed install.py: it must not set the shared_dir
- Optimized disaggregation in performance, memory consumption and data
transfer; also changed the task distribution algorithm