Recent Releases of OpenQuake
OpenQuake - OpenQuake Engine 3.23.2
[Michele Simionato (@micheles)]
- Backported fix to taxonomy mapping with consequences
- Backported fix to 64 bit poes critical for multifault sources
- Backported fix to workerpool critical for zmq clusters
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq 11 days ago

OpenQuake - OpenQuake Engine 3.23.1
[Marco Pagani (@mmpagani)]
- Backported fix to Thingbaijam et al. (2017) scaling relation
[Michele Simionato (@micheles)]
- Backported fix to logs.dbcmd: querying the calculations caused the DbServer
to break in server installations - Backported fix to
oq plot hcurves
- Backported fix to Arteta (2021) missing the backarc parameter
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq about 1 month ago

OpenQuake - OpenQuake Engine 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
;
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq 2 months ago

OpenQuake - 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
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq 3 months ago

OpenQuake - 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
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq 7 months ago

OpenQuake - 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
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq 11 months ago

OpenQuake - 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
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq 11 months ago

OpenQuake - OpenQuake Engine 3.19.1
[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
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq 12 months ago

OpenQuake - 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
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq about 1 year ago

OpenQuake - 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
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 1 year ago

OpenQuake - 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
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 1 year ago

OpenQuake - OpenQuake Engine 3.17.1
[Michele Simionato (@micheles)]
- Fixed the associations event_id, rup_id, rlz_id
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq almost 2 years ago

OpenQuake - 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
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq almost 2 years ago

OpenQuake - OpenQuake Engine 3.16.5
[Kendra Johnson (@kejohnso)]
- Added
DEFINED_FOR_INTENSITY_MEASURE_COMPONENT = const.IMC.RotD50
to
the NGAEast and NSHMP2014 GMPEs
[Michele Simionato (@micheles)]
- Fixed the hanging of classical calculations due to large zmq packets
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq almost 2 years ago

OpenQuake - OpenQuake Engine 3.16.4
[Antonio Ettorre (@vot4anto)]
- Upgraded Django version to version 3.2.19 with some security fixes
[Claudio Schill (@claudio525)]
- Fixed sorting bug in the sigma_mu adjustment factor in
the Kuehn et al. (2020) GMM
[Graeme Weatherill (@g-weatherill)]
- Fixes to bchydro_2016_epistemic, eshm20_craton and lanzano_2019
[Marco Pagani (@mmpagani)]
- Fixed bug in get_profiles_from_simple_fault_data affecting KiteSurfaces
[Michele Simionato (@micheles)]
- Fixed tau-phi inversion in LanzanoLuzi2019
- Fixed shakemap calculations to take the risk IMTs and not the hazard IMTs
- 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 a subtle filtering bug breaking conditioned GMFs
- Fixed bug in
get_ry0_distance
breaking conditioned GMFs - Fixed the rupture exporter in presence of GMPETables
- Fixed severe bug affecting the classical tiling calculator
- Fixed rounding bug in disaggregation (in the line
[mag] = np.unique(np.round(ctx.mag, 6))
) - Fixed the error message for wrong weights in the gsim logic tree file
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq almost 2 years ago

OpenQuake - OpenQuake Engine 3.16.3
[Kendra Johnson (@kejohnso)]
- Fixed a bug in hazardlib.geo.surface.multi affecting the disaggregation
[Michele Simionato (@micheles)]
- Fixed the damage state header in the aggrisk outputs
- Fixed the realizations extractor for scenario calculations starting from
ruptures with multiple different tectonic region types - Fixed a subtle mutability bug affecting various GMPEs
- Fixed rupture sampling in the case of a same source appearing in multiple
logic tree branches - Fixed a bug in classical_damage causing a ValueError: could not broadcast
input array from shape (X,Y) into shape (X,) in some situations - Fixed the CSV importer so that it can import exported GMFs even in
the presence of acustom_site_id
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq almost 2 years ago

OpenQuake - OpenQuake Engine 3.16.2
[Michele Simionato (@micheles)]
- Fixed a bug in extract_agg_curves affecting the QGIS plugin
- Fixed a bug in scenario calculations causing a mysterious IndexError in the
line rctx.clon = c.lons[rctx.sids]
[Marco Pagani (@mmpagani), Michele Simionato (@micheles)]
- Fixed a bug in the source writer when writing NonParametricSources
- Removed the conditional spectrum calculator (it was experimental and
not working properly in many cases)
[Michele Simionato (@micheles)]
- Now we log only when the DB schema is really upgraded
- Fixed the documentation about extracting hazard curves and maps
- Fixed KeyError in calculations using the EasternCan15Mid with PGA
- The
minimum_magnitude
parameter was ignored for multiFault sources - Replaced hard-coded limit to 25 levels in the MRD postprocessor
with a simple warning - Fixed bug in
oq zip
: when starting from a directory different from the
job.ini directory, .hdf5 files for nonparametric ruptures were not included - Fixed a 32 bit / 64 bit bug in the hinge function of Kuehn et al. (2020)
- Forbidden source IDs with dots (".")
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq about 2 years ago

OpenQuake - OpenQuake Engine 3.16.1
[Michele Simionato (@micheles)]
- Fixed event based calculations running out of memory due to hazard curve
arrays being instantiated without need - Sampling the ruptures was raising a BlockingIOError sometimes
[Kendra Johnson (@kejohnso)]
- Fixed bug in extendModel with multiple branchsets
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq about 2 years ago

OpenQuake - OpenQuake Engine 3.16.0
[Matteo Nastasi (@nastasi-oq)]
- Bumped oq-libs to version 3.8.0
[Michele Simionato (@micheles), Paolo Tormene (@ptormene)]
- Fixed the
agg_curves
extractor to also extract individual curves, thus
fixing the QGIS plugin visualization
[Michele Simionato (@micheles)]
- Optimized the rupture sampling for MultiFaultSources
- Supported
collect_rlzs
together withdisagg_by_src
to avoid running
out of memory in models with many realizations and many sources
[Marco Pagani (@mmpagani)]
- Implemented the correction of Lanzano et al. (2019) as described in
Lanzano et al. (2022)
[Michele Simionato (@micheles)]
- Fixed disaggregation calculations when too few tasks were generated
[Anirudh Rao (@raoanirudh), Michele Simionato (@micheles)]
- Changed the algorithm used in classical_risk and classical_bcr
calculations to take into account the risk_investigation_time
[Michele Simionato (@micheles)]
- Added a warning for pointlike sources with magnitudes >= 8
- Optimized the disaggregation by using our own truncnorm_sf function and
not scipy
[Anirudh Rao (@raoanirudh)]
- Implemented Conditioned GMFs as defined in Engler et al. (2022)
[Matteo Nastasi (@nastasi-oq)]
- Removed python3-engine-master and python3-engine-worker ubuntu packages
[Michele Simionato (@micheles)]
- Internal: renamed rup_id -> seed in event based calculations to avoid
confusion - Parallelized the reinsurance calculation
[Marco Pagani (@mmpagani)]
- Completed implementation of
grp_probability
for SourceGroups with mutex
ruptures
[Michele Simionato (@micheles)]
- Huge improvement of the task distribution when using zmq; also, used
less memory on the master node - Fixed context collapsing in the multi-site case
- Optimised postclassical, both in terms of memory in the master node
and reading performance in the workers - Added
parallel.multispawn
facility inoq engine --multi --run
- Improved
oq engine --multi
to run at most 5 jobs at the time - Fixed bug introduced in engine 3.9 producing wrong numbers in the case of
mutex ruptures (i.e. the New Madrid cluster in the USA model) - Added
--venv
option to the universal installer to install in custom places - Bug fix: the
avg_losses-rlzs
output in classical risk was stored
incorrectly - Speed up preclassical calculations in presence of complex fault sources and
similar; for instance there is a 3x speedup for the SAM model
[Trevor Allen (@treviallen)]
- Added class Allen2012_SS14 to Allen (2012) GMM to incorporate Vs30 scaling
based on Seyhan & Stewart (2014) amplification factors - Added classes SomervilleEtAl2009NonCratonic_SS14 and
SomervilleEtAl2009YilgarnCraton_SS14 to Somerville et al (2009) GMM to
incorporate Vs30 scaling based on Seyhan & Stewart (2014) amplification
factors - Added Allen (2022) GMM for Banda Sea earthquakes observed in the North
Australian Craton
[Michele Simionato (@micheles)]
- Moved the
horiz_comp_to_geom_mean
functionality from the gsim logic tree
to the job.ini - Optimized the parsing of XML files (35x for the Alaska model)
- Bug fix: ModifiableGMPEs with underlying tables were not receiving a
single magnitude when calling thecompute
method - Rewritten ModifiableGMPE to avoid a subtle memory leak
[Matteo Nastasi (@nastasi-oq)]
- Add WEBUI_PATHPREFIX variable to add a prefix to usual webui web path
[Michele Simionato (@micheles)]
- Fixed the exporter of
avg_losses-stats
when usingcollect_rlzs=true
- Mitigate the issue of ultra-long planar ruptures affecting many models
- Forced the usage of
collect_rlzs
for large exposures when computing
avg_losses with many realizations - Bug fix: min_mag and max_mag were not honored when using a
magnitude-dependent maximum distance - Reduced the memory consumption when using the ps_grid_spacing approximation
[Marco Pagani (@mmpagani)]
- Added a method to compute the mean rate density of two IMTs
- Added the possibility to define the edges of disaggregation bins
- Added a couple of utility methods to the weichert module
[Michele Simionato (@micheles)]
- Introduced automatic tiling for extra-large calculations
- Added command
oq purge failed
- Fixed memory leak in the tiling calculator by resetting the ProcessPool
- Fixed an indexing error breaking the GMPE AtkinsonBoore2006 with
stress drop adjustment
[C. Bruce Worden]
- Extended the AbrahamsonEtAl2014 GMPE to extrapolate the vs30
[Michele Simionato (@micheles)]
- Reduced the number of warnings when the horizontal component is not
convertible into geometric mean in ModifiableGMPE
[Guillaume Daniel (@guyomd)]
- Added the highest magnitude bin to the Stepp (1972) completeness analysis
and improved the legend in the plot
[Manuela Villani (@mvillani)]
- Added the Wong et al. (2022) ground motion model
[Marco Pagani (@mmpagani)]
- Added a
constant_term
attribute to thefaultActivityData
uncertainty
model, with a default value of 9.1 for backward compatibility
[Michele Simionato (@micheles)]
- Removed support for Python < 3.8
[Prajakta Jadhav (@Prajakta-Jadhav-25), Dharma Wijewickreme (@Dharma-Wijewickreme)]
- Added GMPE for Zhang and Zhao(2005)
[Michele Simionato (@micheles)]
- Added conditional spectrum calculator in hazardlib
- Fixed the performance report that failed for NGAEast GMPEs
- Reduced the memory consumption in large classical calculations
(in make_contexts)
[Marco Pagani (@mmpagani), Michele Simionato (@micheles)]
- Fixed the calculation of conditional spectra
[Michele Simionato (@micheles)]
- Corner case bug: in the presence of parent site collection and a child
site model the engine was associating the site model to the parent - Strongly reduced the slow tasks and memory consumption in event_based_risk
calculations and removed the need to keep (a lot of) the gmf_data table
in memory - Fixed a performance issue in event based risk calculations, due to the same
aggregation IDs being computed for each task - Increased
sys.recursionlimit
to solve a rare pickling issue and made
the engine continue even if_csm
is not stored - Added a parameter
max_aggregations
with a default of 100,000 - Changed the risk calculators to reuse the hazard exposure (if any)
[Antonio Ettorre (@vot4anto)]
- Bumped h5py to version 3.7.0 and added fiona 1.8.21
[Marco Pagani (@mmpagani)]
- Added the get_dip and get_strike methods to the gridded surface
[Michele Simionato (@micheles)]
- Added calculation of
reinsurance-risk_by_event
andreinsurance-aggcurves
given areinsurance.xml
file - Supported absolute values for
deductible
andinsurance_limit
in insurance calculations (before we supported only fractions) - Reduced precision in the header of the UHS csv files
- Managed the case with CoVs = 0 for the beta distribution
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq about 2 years ago

OpenQuake - OpenQuake Engine 3.15.0
[Michele Simionato (@micheles)]
- Added a check on sum(srcs_weights) == 1 for mutex sources
[Kendra Johnson (@kejohnso)]
- Fixed disaggregation by lon, lat in presence of multiFaultSources
[Michele Simionato (@micheles)]
- Replaced command
oq download_shakemap
withoq shakemap2gmfs
- Raised an error for missing required IMTs in ShakeMap grid files
- Extended the
custom_site_id
to 8 characters - Restricted the accepted characters in risk IDs
- Extended
disagg_by_src
to mutually exclusive sources (i.e. Japan)
and managed "colon" sources specially
[Anne Hulsey (@annehulsey)]
- Contributed
Mag_Dist_TRT
andMag_Dist_TRT_Eps
disaggregations
[Michele Simionato (@micheles)]
- Internal: added a way to disable the DbServer from openquake.cfg or
by setting OQ_DATABASE=local - Implemented
total_losses
, even for insurance calculations - Optimized "computing risk" in the event_based_risk calculator (~30% faster)
- Changed the magnitude binning formula, thus fixing some disaggregation
calculations (for instance when there is a single magnitude for a TRT) - Changed the aggrisk/aggcurves exporters in presence of insurance losses
- Internal: changed how avg_losses, src_loss_table and agg_curves-stats are
stored to simplify the management of secondary losses - Internal: we have now repeatable rupture IDs in classical PSHA
[Pablo Iturrieta (@pabloitu)]
- Added support for negative binomial temporal occurrence models
[Marco Pagani (@mmpagani), Michele Simionato (@micheles)]
- Added support for disaggregation in case of mutually exclusive sources
[Michele Simionato (@micheles)]
- Fixed error message when trying to compute disagg_by_src with too many
sources: in some cases, it contained a misleading reference to point sources - Reorganized the Advanced Manual; changed the theme to be consistent with
the OpenQuake manual - Internal: added command
oq db engine_version
- Added a check for required site parameters not passed correctly
- Fixed
ps_grid_spacing
approximation when the grid is degenerate - Logging a warning when starting from an old hazard calculation
- The extra fields of the site collection were lost when using --hc
[Julián Santiago Montejo Espitia]
- Implemented the Arteta et al. (2021) subduction model for Colombia
[Michele Simionato (@micheles)]
- Added
host
field to thejob
table (dbserver restart required) --exports=csv
was not honored for the realizations output; now it is
[Paul Henshaw (@pslh), Sandra Giacomini]
- Ported the OpenQuake manual from latex to reStructuredText format
[Michele Simionato (@micheles)]
- Entered automatically in sequential mode if there is not enough memory
- Raised an early error for missing risk IDs in the vulnerability files
- Changed the definition of
aggrisk
again to ensure consistency with the
average losses
[Tom Son (@SnowNooDLe)]
- Added width and hypo_depth estimation to Campbell and Bozorgnia (2014)
[Michele Simionato (@micheles)]
- Improved the precision of the ps_grid_spacing approximation
- Added a check for missing mags when using GMPETables
- Fixed a bug in
upgrade_nrml -m
for point sources with different usd/lsd - Automatically discard irrelevant TRTs in disaggregation calculations
[Ashta Poudel, Anirudh Rao (@raoanirudh), Michele Simionato (@micheles)]
- Added the ability to run connectivity analysis in event_based_damage
and scenario_damage calculation with an appropriate exposure
[Tom Son (@SnowNooDLe), Michele Simionato (@micheles)]
- Added ztor estimation to Campbell and Bozorgnia (2014)
[Michele Simionato (@micheles)]
- Internal: removed REQUIRES_COMPUTED_PARAMETERS
- Using PointMSR when the reqv approximation is enabled
- Internal: changed the rupture storage for classical calculations
- Optimized rupture instantiation for point sources
- Optimized distance calculations for point sources
[Tom Son (@SnowNooDLe), Claudio Schill]
- Simple performance improvement of Kuehn et al. 2020 model
[Michele Simionato (@micheles)]
- Changed again the string representation of logic tree paths and added
an utilityhazardlib.lt.build
to build trees from literal lists - Fixed the field
source_info.trti
in the datastore to point to the
correct tectonic region type index and not to zero - Added a check for inconsistent IDs across different kinds of risk functions
(i.e. fragility and consequence) - Fixed a logging statement that could run out of memory in large calculations
- Optimized
iter_ruptures
for point sources by vectorizing the generation of
planar surfaces by magnitude, nodal plane and hypocenter
[Tom Son (@SnowNooDLe)]
- Implemented a missing piece in Chiou & Youngs (2014) model
Predicted PSA value at T ≤ 0.3s should be set equal to the value of PGA
when it falls below the predicted PGA
[Marco Pagani (@mmpagani)]
- Added the possibility of disaggregating in terms of epsilon*
- Added a method to compute the cross-correlation matrix
- Added Hassani & Atkinson (2018)
- Added Hassani & Atkinson (2020)
[Michele Simionato (@micheles)]
- Fixed disaggregation returning NaNs in some situations with
nonParametric/multiFaultSources - Bug fix: not storing far away ruptures coming from multiFaultSources
- Implemented CScalingMSR
- Optimized context collapsing in classical calculations
- Setting
ps_grid_spacing
now sets thepointsource_distance
too - Saving memory in preclassical calculations on machines with 8 cores or less
- Changed the magnitude-dependent
maximum_distance
feature to discard
ruptures belowminmag
and abovemaxmag
- Added the ability to estimate the runtime of a calculation by using
the--sample-sources
option - Fixed a wrong formula in
modifiable_gmpe.add_between_within_stds
- Reduced the stress on the memory in classical calculations, thus
improving the performance - Setting the truncation_level to the empty string is now forbidden;
some GMFs calculations not setting truncation_level can now give
different results since truncation_level=None is now replaced with
truncation_level=99
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 2 years ago

OpenQuake - OpenQuake Engine 3.14.0
Release 3.14.0
[Michele Simionato (@micheles)]
- Changed the definition of
aggrisk
: dividing by the effective time - Internal: removed flag
save_disk_space
since now it is always on - Slightly changed the collapsing of nodal planes and hypocenters in
presence of the equivalent distance approximation (reqv
) - Extended
oq reduce_sm
to multiFaultSources - Fixed the check on unique section IDs for multiFaultSources
- Implemented multi-aggregation with a syntax like
aggregate_by=taxonomy,region;taxonomy;region
- Removed the obsolete commands
oq to_shapefile
andoq from_shapefile
and turned pyshp into an optional dependency - Setting
num_rlzs_disagg=0
is now valid and it means considering
all realizations in a disaggregation calculation - Rounded the magnitudes in multiFaultSources to two digits
[Marco Pagani (@mmpagani)]
- Extended ModifiableGMPE to work with GMPETable and subclasses
[Michele Simionato (@micheles)]
- Upgraded shapely from version 1.7 to version 1.8: this causes slight
changes in the results for most calculations - Removed the not used (and not working) functionality
applyToSourceType
- Raised an error when the total standard deviation is zero, unless
truncation_level is set to zero
[Tom Son (@SnowNooDLe)]
- Fixed a typo and a few bugs within Kuehn et al. (2020) model to include
Z2.5 when the given region is JAPAN
[Michele Simionato (@micheles)]
- Changed /extract/events to return events sorted by ID
- Changed the default amplification method to "convolution"
- Fixed a bug with discard_trts sometimes discarding too much
- Raised a helpful error message when ensurepip is missing
- Fixed parentdir bug in event_based_damage
- Fixed sorting bug in the
/v1/calc/run
web API - Internal: introduced limited unique rupture IDs in classical calculations
with few sites
[Prajakta Jadhav (@Prajakta-Jadhav-25), Dharma Wijewickreme (@Dharma-Wijewickreme)]
- Added GMPE Youd et al. (2002) and the corresponding site parameters
[Michele Simionato (@micheles)]
- Fixed the exporter
aggrisk-stats
in the case of zero losses - Vectorized all GMPEs and forbidden non-vectorized GMPEs
- Raised the limit to 94 GMPEs per tectonic region type
- Optimized the NBCC2015_AA13 GMPEs
- Optimized the GMPETable and the derived NGAEast GMPEs
- Fixed a 32/64 bit bug in
oq export loss_maps-stats
[Marco Pagani (@mmpagani)]
- Added a more flexible version of the GC2 implementation
- Added caching of distances in multi fault ruptures
- Added the NRCan site term to the modifiable GMPE
[Michele Simionato (@micheles)]
- Optimized .get_bounding_box, .polygon and .mesh_size for MultiFaultSources
- Fixed bug in presence of mixed vectorized/nonvectorized GMPEs
- Extended
oq postzip
to multiple files andoq abort
to multiple jobs - Internal: changed install.py to install the venv in /opt/openquake/venv
- Fixed a BOM issue on Windows when reading job.ini files
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq about 3 years ago

OpenQuake - OpenQuake Engine 3.11.5
Release 3.11.5
[Michele Simionato (@micheles)]
- Fixed a 32/64 bit bug in
oq export loss_maps-stats
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq about 3 years ago

OpenQuake - OpenQuake Engine 3.13.0
[Michele Simionato (@micheles)]
- Improved the precision of the
pointsource_distance
approximation - Added command
oq show rlz:<no>
- Internal: added an environment variable OQ_DATABASE
[Manuela Villani (@mvillani)]
- Added a function in the modifiable GMPE to convert ground-motion assuming
different representations of the horizontal component.
[Kendra Johnson (@kejohnso)]
- Implemented possibility of assigning the parameters
floating_x_step
and
floating_y_step
for kite fault sources in the job configuration file
[Michele Simionato (@micheles)]
- The
branchID
is now autogenerated in the gsim logic tree files, thus
solving the issue of wrong branch paths for duplicated branchIDs - Added a check for missing gsim information in the job.ini file
- Fixed the case of continuous fragility functions with minIML=noDamageLimit
[Miguel Leonardo-Suárez (@mleonardos)]
- Added GMPE from Jaimes et al. (2020) for Mexican intraslab earthquakes
[Michele Simionato (@micheles)]
- Enforced ps_grid_spacing <= pointsource_distance
- Internal: added command
oq plot source_data?
- The engine is now splitting the MultiFaultSources, thus improving the task
distribution
[Claudia Mascandola (@mascandola)]
- Added a new class to the abrahamson_2015 gmm.
- Added a new class to the lanzano_luzi_2019 and skarlatoudis_2013 gmms
[Marco Pagani (@mmpagani), Shreyasvi Chandrasekhar (@Shreyasvi91)]
- Added GMM from Bora et al. (2019)
- Fixed bug in the multifault surface when defined using kite fault surfaces
[Giuseppina Tusa (@gtus23)]
- Added a new gsim file tusa_langer_azzaro_2019.py to implement the GMMs
from Tusa et al. (2020).
[Michele Simionato (@micheles)]
- Added command
oq compare uhs CALC_1 CALC_2
split_sources=false
is now honored in disaggregation calculations- Internal: rup/src_id now refers to the row in the source_info table
[Miguel Leonardo-Suárez (@mleonardos)]
- Added the GMPE Arroyo et al. (2010) for Mexican subduction interface events
[Marco Pagani (@mmpagani)]
- Added a new method to the modifiable GMPE with which is possible to
compute spatially correlated ground-motion fields even when the initial
GMM only provides the total standard deviation. - Fixed a bug in the
modify_recompute_mmax
- Added a
get_coeffs
method to the CoeffTable class - Added support for EAS, FAS, DRVT intensitity measure types
[Michele Simionato (@micheles)]
- Extended the mag-dependent filtering to the event based calculator
- The flag discrete_damage_distribution=true was incorrectly ignored when
computing the consequences - Implemented
reaggregate_by
feature - Supported the
custom_site_id
in the GMF exporters - Bug fix: the site collection of the child calculation was ignored when
using the --hazard-calculation-id option - Supported Python 3.9 and deprecated Python 3.6
- Extended
oq prepare_site_model
to support .csv.gz files - Solved the issue of "compute gmfs" slow tasks in event_based and used
the same approach in classical calculations too - Made sure
valid.gsim
instantiates the GSIM - ShakeMap calculations failing with a nonpositive definite correlation
matrix now point out to the manual for the solution of the problem - Introduced the GodaAtkinson2009 cross correlation between event model
- Specifying consequence files without fragility files now raises an error
- Fixed a bug in event_based_risk with nontrivial taxonomy mapping producing
NaNs in the event loss table - Internal: added kubernetes support from the WebUI
[Shreyasvi Chandrasekhar (@Shreyasvi91)]
- Added a new GMPE for significant duration proposed by Bahrampouri et al
(2021).
[Claudia Mascandola (@mascandola)]
- Added the computation of tau and phi stdevs to the sgobba_2020 GMPE
- Added a new class to the lanzano_2019 gmm.
[Michele Simionato (@micheles)]
- Changed completely the storage of the PoEs and reduced the memory
consumption in classical calculations (plus 4x speedup in "postclassical") - Changed the behavior of
sites_slice
- Changed
custom_site_id
to an ASCII string up to 6 characters - Fixed the error raised in presence of a mag-dep distance for a tectonic
region type and a scalar distance for another one
[Yen-Shin Chen (@vup1120)]
- Added the Thingbaijam et al. (2017) Magnitude Scaling Law for Strike-slip
[Michele Simionato (@micheles)]
- Changed the API of
ContextMaker.get_mean_stds
- Extended the WebUI to run sensitivity analysis calculations
- Changed the string representation of logic tree paths and enforced a
maximum of 64 branches per branchset - Added command
oq info disagg
- Accepted site models with missing parameters by using the global site
parameters instead - Supported the syntax
source_model_logic_tree_file = ${mosaic}/XXX/in/ssmLT.xml
- Fixed a performance bug with ignore_master_seed=true
- Added a command
oq info cfg
to show the configuration file paths - Added a check on the intensity measure levels with
--hc
is used - Bug fix: pointsource_distance = 0 was not honored
- Fixed a small bug of
oq zip job_haz.ini -r job_risk.ini
: now it works
even if the oqdata directory is empty - Optimized the aggregation of losses in event_based_risk and made it possible
to aggregate by site_id for more than 65,536 sites - Fixed the calculation of average insured losses with a nontrivial taxonomy
mapping: now the insured losses are computed before the average procedure,
not after - Unified scenario_risk with event_based_risk, changing the numbers
when producing discrete damage distributions - Added
aggrisk
output to event based damage calculation - Added parameter
discrete_damage_distribution
in scenario damage
calculations and changed the default behavior - Deprecated consequence models in XML format
- Event based damage calculations now explicitly require to specify
number_of_logic_tree_samples
(before it assumed a default of 1)
[Elena Manea (@manea), Laurentiu Danciu (@danciul)]
- Added the GMPE Manea (2021)
[Michele Simionato (@micheles)]
- Added a check against duplicated branchset IDs
- Improved error checking when reading the taxonomy mapping file
- Renamed conversion -> risk_id in the header of the taxonomy mapping file
[Antonio Ettorre (@vot4anto)]
- Bumped h5py to version 3.1.0
[Michele Simionato (@micheles)]
- Renamed the parameter
individual_curves
->individual_rlzs
- Reduced the number of disaggregation outputs and removed the long-time
deprecated XML exporters - Fixed the ShakeMap calculator failing with a TypeError:
get_array_usgs_id() got an unexpected keyword argument 'id' - Added
conseq_ratio
in the aggcurves exporter for event_based_damage - Added a
conditional_spectrum
calculator - Fixed an array<->scalar bug in abrahamson_gulerce_2020
- Restored the classical tiling calculator
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 3 years ago

OpenQuake - OpenQuake Engine 3.12.1
[Michele Simionato (@micheles)]
- Fixed a bug in event_based_risk with nontrivial taxonomy mapping producing
NaNs in the event loss table - Bug fix: pointsource_distance = 0 was not honored
- Improved the universal installer when installing over a previous
installation from packages - Fixed an error in
oq zip job_haz.ini -r job_risk.ini
- Fixed the disaggregation Mag_Lon_Lat exporter header mixup
- Fixed the ShakeMap calculator failing with a TypeError:
get_array_usgs_id() got an unexpected keyword argument 'id' - Fixed the Abrahamson Gulerce GMPE failing with a scalar<->array error
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 3 years ago

OpenQuake - OpenQuake Engine 3.11.4
[Michele Simionato (@micheles)]
- Fixed a bug in the adjustment term in NSHMP2014 breaking the USA model
- Fixed the sanity check in event_based_damage giving false warnings
- Fixed the corner case when there are zero events per realization in
scenario_damage
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 3 years ago

OpenQuake - OpenQuake Engine 3.12.0
[Marco Pagani (@mmpagani)]
- Updated verification tables for Abrahamson et al. (2014) and checked
values with other public resources.
[Michele Simionato (@micheles)]
- Added command
oq info consequences
- Improved error message for
area_source_discretization
too large - Improved command
oq info exports
- Internal: changed the signature of hazardlib.calc.hazard_curve.classical
- Extended the multi-rupture scenario calculator to multiple TRTs
- Removed the experimental feature
pointsource_distance=?
- Refactored the GMPE tests, with a speedup of 1-14 times
- Added a script
utils/build_vtable
to build verification tables oq info gsim_logic_tree.xml
now displays the logic tree- Fixed a bug in the adjustment term in NSHMP2014 breaking the USA model
[Graeme Weatherill (@g-weatherill)]
- Implements Abrahamson & Gulerce (2020) NGA Subduction GMPE
[Nico Kuehn (@nikuehn)/Graeme Weatherill (@g-weatherill)]
- Implements Kuehn et al. (2020) NGA Subduction GMPE
[Chung-Han Chan/Jia-Cian Gao]
- Implements Lin et al. (2011)
[Graeme Weatherill (@g-weatherill)/Nico Kuehn (@nikuehn)]
- Implements Si et al. (2020) NGA Subduction GMPE
[Michele Simionato (@micheles)]
- There is now a huge speedup when computing the hazard curve statistics
if numba is available - Made it possible to compute consequences in presence of a taxonomy mapping
- Fixed a bug in
get_available_gsims
: GSIM aliases were not considered - Optimized the single site case by splitting the sources less
- Restricted the acceptable methods in GMPE subclasses
[Claudia Mascandola (@mascandola)]
- Added the Lanzano et al. (2020) GMPE
[Stanley Sayson (@stansays)]
- Added the Stewart et al. (2016) GMPE for V/H
- Added the Bozorgnia and Campbell (2016) GMPE for V/H
- Added the Gulerce and Abrahamson (2011) GMPE
- Corrected Campbell and Bozorgnia (2014) GMPE
[Michele Simionato (@micheles)]
- Fixed a subtle bug: in presence of a nontrivial taxonomy mapping, loss
curves could be not computed due to duplicated event IDs in the event
loss table coming from a int->float conversion - Forced a name convention on the coefficient tables (must start with COEFFS)
- Replaced IMT classes with factory functions
- Changed the
minimum_distance
from a parameter of the GMPE to a
parameter in the job.ini - Supported consequences split in multiple files
[Claudia Mascandola (@mascandola)]
- Added the Sgobba et al. (2020) GMPE
[Michele Simionato (@micheles)]
- Improved the warning on non-contributing TRTs and made it visible
for all calculators - Fixed a bug in scenarios from CSV ruptures with wrong TRTs
- Added a limit of 12 characters to IMT names
- Forbidded multiple inheritance in GMPE hierarchies
- Added parameter
ignore_encoding_errors
to the job.ini - Extended the damage calculators to generic consequences
- Renamed cname -> consequence in the CSV input files
- Made sure the CSV writer writes in UTF-8
[Graeme Weatherill (@g-weatherill)]
- Updates Kotha et al. (2020) slope/geology model coefficients
[Michele Simionato (@micheles)]
- Improved
post_risk
to use all the cores in a cluster, since it
was using the master only - Improved the validation of the investigation_time in event_based_damage
- Renamed the
losses_by_event
CSV exporter torisk_by_event
and
made it work consistently for losses, damages and consequences; also
removed theno_damage
field
[Marco Pagani (@mmpagani), Michele Simionato (@micheles)]
- Implemented MultiFaultSources
- Added method for computing rjb to kite surfaces
- Added support for new epistemic uncertainties in the SSC LT
[Michele Simionato (@micheles)]
- Fixed newlines in the CSV exports on Windows
[Graeme Weatherill (@g-weatherill)]
- Added Ameri (2014) GMPE for the Rjb case
[Michele Simionato (@micheles)]
- Optimized the slow tasks in event_based calculations
- Added an early check for fragility functions in place of vulnerability
functions or viceversa
[Marco Pagani (@mmpagani)]
- Numeric fix to the amplification with the convolution method
- Implemented the BakerJayaram2008 cross correlation model
- Fixed the calculation of distances for kite surfaces with Nan values
[Michele Simionato (@micheles)]
- Fixed logic tree bug: MultiMFDs were not modified
- Internal: added a view composite_source_model to show the sources by group
[Nicolas Schmid (@schmidni)]
- Added possibility to use *.shp files instead of *.xml files when
doing risk calculations from shakemaps.
[Michele Simionato (@micheles)]
- Rewritten the event_based_damage calculation to support
aggregate_by
- Made it possible to run an event based risk calculation starting from a
parent ran by a different user
[Pablo Heresi (@pheresi)]
- Implemented Idini et al (2017) GSIM.
- Added dynamic site parameter 'soiltype'
[Michele Simionato (@micheles)]
- Added support for traditional disaggregation
- Removed the global site parameter
reference_siteclass
and turned
backarc
,z1pt0
andz2pt
into dynamic site parameters - Internal: storing the SiteCollection in a pandas-friendly way
- Added HDF5 exporter/importer for the GMFs
- Replaced XML exposures with CSV exposures in the demos
[Claudia Mascandola (@mascandola)]
- Fix to LanzanoEtAl2016 in presence of a "bas" term in the site model
[Nicolas Schmid (@schmidni)]
- Improve performance for ShakeMap calculations when spatialcorr and crosscorr
are both set to 'no' - Add feature to do ShakeMap calculations for vulnerability models using MMI.
[Michele Simionato (@micheles)]
- Added a flag
ignore_master_seed
(false by default) - Estimated the uncertainty on the losses due to the uncertainty in the
vulnerability functions in event_based_risk and scenario_risk calculations - Supported exposures with generic CSV fields thanks to the
exposureFields
mapping - Honored
custom_site_id
in the hazard curves and UHS CSV exporters - Added a check for the case of
aValue=-Inf
in the truncatedGR MFD - Extended the engine to read XML ShakeMaps from arbitrary sources (in
particular local path names and web sites different from the USGS site) - Fixed
readinput.get_ruptures
to be able to read ruptures in engine 3.11
format - scenario_risk calculations starting from ruptures in CSV format now
honor the parameter number_of_ground_motion_fields
[Nicolas Schmid (@schmidni)]
- Optimized spatial covariance calculations for ShakeMaps (more than 10x)
- Adjusted logic in cross correlation matrix for ShakeMaps; now calculations
are skipped for corr='no'
[Michele Simionato (@micheles)]
- Added a
cholesky_limit
to forbid large Cholesky decompositions in ShakeMap
calculations - Weighted the heavy sources in parallel in event based calculations
- Supported zero coefficient of variations with the beta distribution
- Internal: changed how the agg_loss_table is stored
- Fixed the avg_losses exporter when aggregate_by=id
- Fully merged the calculators scenario_risk, event_based_risk and ebrisk and
ensured independency from the number of tasks even for the "BT" and "PM"
distributions - Storing the agg_loss_table as 64 bit floats instead of 32 bit floats
- Changed the algorithm used to generate the epsilons to avoid storing the
epsilon matrix
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 3 years ago

OpenQuake - OpenQuake Engine 3.11.3
[Michele Simionato (@micheles)]
- Fixed hdf5.dumps that was generating invalid JSON for Windows pathnames,
thus breaking the QGIS plugin on Windows - Fix a bug when reusing a hazard calculation without
aggregate_by
for a
risk calculation withaggregate_by
- Fixed the aggregate curves exporter for
aggregate_by=id
: it was exporting
b'asset_id' instead of asset_id
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq about 4 years ago

OpenQuake - OpenQuake Engine 3.11.2
[Matteo Nastasi (@nastasi-oq)]
- Fixed setup.py 'pyproj' dependency
[Antonio Ettorre (@vot4anto)]
- Fixed docker builder
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq about 4 years ago

OpenQuake - OpenQuake Engine 3.11.1
[Michele Simionato (@micheles)]
- Fixed memory regression in ebrisk calculations
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq about 4 years ago

OpenQuake - OpenQuake Engine 3.11.0
[Michele Simionato (@micheles)]
- Extended the
collapse_logic_tree
feature to scenarios and event based
calculations - Extended the taxonomy mapping feature to multiple loss types
- The error was not stored in the database if the calculation failed
before starting - Made ground_motion_fields=true mandatory in event_based_risk
[Robin Gee (@rcgee)]
- Added a check for missing
soil_intensities
in classical calculations
with site amplification
[Michele Simionato (@micheles)]
- Documented all the parameters in a job.ini file, and removed some
obsolete ones - Added a CSV exporter for the output
avg_gmf
- Fixed reporting in case of
CorrelationButNoInterIntraStdDevs
errors - Better error message when the rupture is far away from the sitesa
- Made the calculation report exportable with
--exports rst
- The boolean fields
vs30measured
andbackarc
where not cast correctly
when read from a CSV field (the engine read them always as True) - Extended
oq plot
to draw more than 2 plots - Raised an early error for zero probabilities in the hypocenter distribution
or the nodal plane distribution - Extended the autostart zmq distribution logic to celery and dask
- Stored the _poes during the classical phase and not after, to save time
- Implemented a memory-saving logic in the classical calculator based on
thememory.limit
parameter in openquake.cfg;
[Richard Styron (@cossatot)]
- Added TaperedGRMFD to hazardlib
[Michele Simionato (@micheles)]
- Fixed a wrong check failing in the case of multi-exposures with multiple
cost types - Removed a check causing a false error "Missing vulnerability function
for taxonomy" - Consequence functions associated to a taxonomy missing in the exposure
are now simply discarded, instead of raising an error - Added a warning when there are zero losses for nonzero GMFs
- Added a command
oq plot avg_gmf?imt=IMT
- Internal: stored
avg_gmf
as a DataFrame - Honored the
individual_curves
parameter in avg_losses, agg_losses and
and agg_curves (i.e. by default only expose the statistical results) - Refactored the
oq commands
and removed the redundantoq help
since
there isoq --help
instead - Support for input URLs associated to an input archive
- Introduced
deformation_component
parameter in the secondary perils - Optimized the storage of the risk model with a speedup of 60x
for a calculation with ~50,000 fragility functions (2 minutes->2seconds)
and a 3x reduction on disk space - Accepted aggregate_by=id in scenario/event based calculations
- Accepted aggregate_by=site_id in scenario/event based calculations
- Removed the generation of asset loss maps from event_based_risk
- Made the "Aggregate Losses" output in scenario_risk consistent with
event_based_risk and scenario_risk and supportedaggregate_by
- Perform the disaggregation checks before starting the classical part
- Changed the "Aggregate Loss Curves" CSV exporter to generate a file for
each realization, for consistency with the other exporters - The ebrisk outputs "Total Losses" and "Total Loss Curves" are now included
in the outputs "Aggregate Losses" and "Aggregate Curves" - Introduced an
agg_loss_table
dataset and optimized the generation of
aggregate loss curves (up to 100x speedup) - Removed misleading zero losses in agg_losses.csv
- Fixed
oq recompute_losses
and renamed it tooq reaggregate
- Bug fix: ignore_covs=true now sets the coefficient of variations to zero
[Anirudh Rao (@raoanirudh)]
- Improved error handling of bad or zero coefficients of variation
for the Beta distribution for vulnerability
[Michele Simionato (@micheles)]
- Fixed 32 bit rounding issues in scenario_risk: now the total losses and
and the sum of the average losses are much closer - Internal: made the loss type
occupants
a bit less special - Documented
oq to_nrml
[Claudia Mascandola (@mascandola)]
- Added the Lanzano et al. (2019) GMPE
[Michele Simionato (@micheles)]
- Honored
minimum_asset_loss
also in the fully aggregated loss table,
not only in the partially aggregated loss tables and average losses - Bug fixed: the log was disappearing in presence of an unrecognized
variable in the job.ini - Implemented
minimum_asset_loss
in scenario_risk for consistency
with theebrisk
calculator - Added a command
oq plot gridded_sources?
- Fixed
oq recompute_losses
to expose the outputs to the database - Fixed
oq engine --run --params
that was not working for
thepointsource_distance
- Changed the meaning of the
pointsource_distance
approximation
[Marco Pagani (@mmpagani), Michele Simionato (@micheles), Thomas Chartier (@tomchartier)]
- Added experimental version of KiteSource and KiteSurface
[Michele Simionato (@micheles)]
- Changed the serialization of ruptures to support MultiSurfaces
- Fixed a small bug of logic in the WebUI: if the authentication is
turned off, everyone must be able to see all calculations - Fixed a bug in the calculation of averages losses in scenario_risk
calculations in presence of sites with zero hazard - Optimized the prefiltering by using a KDTree
- Experimental: implemented gridding of point sources
- Reduced slow tasks due to big complex fault sources
- Moved the parameter
num_cores
into openquake.cfg - Internal: introduced the environment variable OQ_REDUCE
- Using pandas to export the GMF in CSV format
- Internal: required h5py == 2.10.0
- Internal: made the classical ruptures pandas-friendly
- Internal: made the damage distributions pandas-friendly
[Marco Pagani (@mmpagani)]
- Added a new type of undertainty for the seismic source characterisation
logic tree calledTruncatedGRFromSlipAbsolute
- Added a get_fault_surface_area method to sources
[Michele Simionato (@micheles)]
- Changed the source seed algorithm in event based calculations
- Added an estimate of the portfolio damage error due to the seed dependency
- Stored the damage distributions in a pandas-friendly way and extended
DataStore.read_df
to accept multi-indices
[Viktor Polak (@viktor76525)]
- Added the Phung et al. (2020) GMPE
[Michele Simionato (@micheles)]
- Implemented
truncGutenbergRichterMFD
from slip rate and rigidity - Fixed bug when computing the damage distributions per asset and event
- Simplified/optimized the UCERF filtering
[Viktor Polak (@viktor76525)]
- Added the Chao et al. (2020) GMPE
[Michele Simionato (@micheles)]
- Introduced an early memory check in classical calculations
- Reduced the memory occupation in classical calculations
- Implemented AvgPoeGMPE
- Forbidded the usage of
aggregate_by
except in ebrisk calculations - Added a check on valid branch ID names: only letters, digits and
the characters "#:-_." are accepted - Huge performance improvement for very complex logic trees
- Shortened the logic tree paths when exporting the realizations
[Graeme Weatherill (@g-weatherill)]
- Refactor of the Kotha et al. (2020) GMM and its adjustments for ESHM20
[Michele Simionato (@micheles)]
- Huge speedup in models with src_multiplicity > 1
- Fixed bug in source model logic tree sampling with more than 2 branchsets
- Fixed hazard maps all zeros for individual_curves=true and more than 1 site
- Fixed a bug in
oq prepare_site_model
when sites.csv is
the same as the vs30.csv file and there is a grid spacing - Speeding up the preclassical calculator
- Added an entry point /extract/eids_by_gsim for the QGIS plugin
- Internal: automatically convert the source IDs into unique IDs
- Changed scenario calculations to depend on the
ses_seed
, not the
random_seed
- Added check on the versions of numpy, scipy and pandas between master and
workers - Added a check for large seed dependency in the GMFs and an estimate of the
portfolio error due to the seed dependency
[Viktor Polak (@viktor76525)]
- Added fpeak site parameter
- Added the Hassani and Atkinson (2020) GMPE
[Marco Pagani (@mmpagani)]
- Added a check on DEFINED_FOR_REFERENCE_VELOCITY when using amplification
- Added a method to create a TruncatedGRMFD from a value of scalar seismic
moment - Added a method to the modifiable GMPE to add (or subtract) a delta std
- Added a method to the modifiable GMPE to set the total std as the sum of
tau plus a delta
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq about 4 years ago

OpenQuake - OpenQuake Engine 3.10.1
[Matteo Nastasi (@nastasi-oq)]
- Add info to doc about OpenQuake manual path for linux and mac installers
[Laurentiu Danciu (@danciul) and Athanasios Papadopoulos]
- Implemented intensity prediction equations for use in the Swiss Risk Model.
The new IPEs refer to models obtained from the ECOS (2009), Faccioli and
Cauzzi (2006), Bindi et al. (2011), and Baumont et al. (2018) studies. - Added new float site parameter 'amplfactor'
- Extended the ModifiableGMPE class to allow amplification of the
intensity of the parent IPE based on the ‘amplfactor’ site parameter
[Anirudh Rao (@raoanirudh)]
- Fixed the glossary in the manual
[Michele Simionato (@micheles)]
- Avoided storing too much performance_data when pointsource_distance is on
- Fixed performance regression in classical_risk, classical_damage,
classical_bcr - Fixed
oq engine --run job.ini
for ShakeMap calculations
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 4 years ago

OpenQuake - OpenQuake Engine 3.10.0
[Richard Styron (@cossatot)]
- Added secondary perils ZhuLiquefactionGeneral and HazusLateralSpreading,
supplementing HazusLiquefaction and NewmarkDisplacement
[Michele Simionato (@micheles)]
- Fixed a bug with site models containing non-float parameters
- Raised the limit on the asset ID from 20 to 50 characters
- Changed the /extract/events API to extract only the relevant events
- Removed the GMF npz exporter
- Speed-up risk saving in scenario_risk and scenario_damage
[Antonio Ettorre (@vot4anto)]
- Bumped GDAL to version 3.1.2
[Michele Simionato (@micheles)]
- Optimized scenario_damage for the case of many sites
- Implemented secondary perils
- Fixed a 32 bit/64 bit bug in
oq prepare_site_model
when sites.csv is
the same as the vs30.csv file - Parallelized by GSIM when there is a single rupture
[Francis Bernales (@ftbernales)]
- Added the Stewart et al. (2016) GMPE
- Added the Bozorgnia & Campbell (2016) GMPE
- Added the Gulerce et al. (2017) GMPE
[Michele Simionato (@micheles)]
- Unified source model logic tree sampling with gsim logic tree sampling
- Added
early_latin
andlate_latin
sampling algorithms - Changed the logic tree sampling algorithm and made it possible to use
bothearly_weights
andlate_weights
- Restored magnitude-dependent maximum distance
- Displaying the hazard maps in the WebUI for debugging purposes
- Used the hazard map to get the disaggregation IML from the disaggregation
PoE and added a warning for zero hazard - Internal: implemented multi-run functionality (
oq engine --multi --run
) - Reduced tremendously the data transfer in disaggregation calculations
- Internal: introduced compress/decompress utilities
- Reduced the memory and disk space occupation in classical calculations with
few sites; also changed slightly the rupture collapsing mechanism - In disaggregation, force poes_disagg == poes
- Fixed multi-site disaggregation: ruptures far away were not discarded,
just considered distant 9999 km
[Marco Pagani (@mmpagani)]
- Added a prototype implementation of the kernel method
[Michele Simionato (@micheles)]
- Added zipcode site parameter
- Added command
oq renumber_sm ssmLT.xml
[Robin Gee (@rcgee)]
- Set DEFINED_FOR_REFERENCE_VELOCITY for GMPEs modified for Switzerland
[Michele Simionato (@micheles)]
- Added parameter
max_num_loss_curves
to the job.ini file - Changed
oq engine --reuse-hazard
to just reuse the source model, if
possible - Added command
oq recompute_losses <calc_id> <aggregate_by>
- Fixed
noDamageLimit
,minIML
,maxIML
not being honored in continuous
fragility functions - Unified the scenario calculator with the event based one, with
minor differences in the numbers akin to a change of seed - Fixed a bug in event based when a rupture occurs more than 65535 times
- Added a demo EventBasedDamage
- Fixed bug in event_based_damage: the number of buildings in no damage
state was incorrect - Added commands
oq nrml_to csv
andoq nrml_to gpkg
- Supported year and ses_id >= 65536 in event based
[Graeme Weatherill (@g-weatherill)]
- Implements a heteroskedastic standard deviation model for the Kotha et al.
(2020) GMPE
[Michele Simionato (@micheles)]
- Called
check_complex_fault
when serializing the source in XML - Restored scenario_damage with fractional asset number
- Added a view
oq extract disagg_by_src
- Fixed error with large ShakeMap calculations ('events' not found)
- Raised an error when using
disagg_by_src
with too many point sources - The
minimum_magnitude
parameter was incorrectly ignored in UCERF
[Iason Grigoratos (@jasongrig)]
- Implemented the Zalachoris & Rathje (2019) GMM
[Michele Simionato (@micheles)]
- Optimized the disaggregation outputs, saving storage time
[Graeme Weatherill (@g-weatherill)]
- Adds PGV coefficients to USGS CEUS GMPE tables (where applicable)
[Michele Simionato (@micheles)]
- Removed the
disagg_by_src
exporter - Internal: added filtering features to the datastore
- Calculations with a number of levels non-homogenous across IMTs are
now an error - Implemented rupture collapsing in disaggregation (off by default)
- Fixed a bug in the dmg_by_event exporter: the damage distributions could
be associated to the wrong GMPE in some cases - Solved a bug with nonparametric ruptures: due to rounding errors,
the disaggregation matrix could contain (small) negative probabilities - Extended the scenario calculators to compute the statistical outputs
if there is more than one GMPE - Fixed the formula used for the avg_damages-rlzs outputs in event based
damage calculations - Raised an error if
investigation_time
is set in scenario calculations
[Graeme Weatherill (@g-weatherill)]
- Fixed a bug in the mixture model application when running multiple GMPEs
[Michele Simionato (@micheles)]
- Replaced outputs
losses_by_asset
withavg_losses-rlzs
, and
dmg_by_asset
with ``avg_damages-rlzs`, for consistency with the
event based outputs - Extended the /extract/ API to manage JSON and removed the oqparam API
- Added a check on ebrisk to avoid generating too many loss curves
- Introduced an output "Source Loss Table" for event based risk calculations
- Raised an early error when
max_sites_disagg
is below the number of
sites in disaggregation calculations - Extended the amplification framework to use different intensity levels
for different amplification functions - Optimized the disaggregation in the case of multiple realizations
- Fixed bug in GMF amplification without intensity_measure_types_and_levels
- Optimized the computation of the disaggregation PMFs by orders of magnitude
by using numpy.prod - Changed the disaggregation calculator to distribute by magnitude bin,
thus reducing a lot the data transfer - Vectorized the disaggregation formula
- Do not perform the disaggregation by epsilon when not required
- Introduced management of uncertainty in the GMF amplifi
- Changed the disaggregation calculator to distribute by IMT, thus reducing
a lot the data transfer in calculations with many IMTs - Changed /extract/disagg_layer to produce a single big layer
- Changed the binning algorithm for lon, lat in disaggregation, to make
sure that the number of bins is homogeneous across sites
[Marco Pagani (@mmpagani)]
- Fixed a bug in the ParseNDKtoGCMT parser + updated tests.
- Ported the method serialise_to_hmtk_csv implemented in the corresponding
class of the catalogue toolkit + added a test into the GCMTCatalogue class. - Added a modifiable GMPE using the site term of CY14.
- Added a generalised modificable GMPE. This first version allows the
definition of the epsilon of the within event residual.
[Michele Simionato (@micheles)]
- Introduced a mixed XML+HDF5 format for gridded sources
- Internal: added a check on gridded sources: the arrays prob_occurs must
have homogeneous length across ruptures - Removed the dependency from PyYAML, replaced the .yml files in the HMTK with
.toml files and added an utilityutils/yaml2toml
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 4 years ago

OpenQuake - OpenQuake Engine 3.9.0
[Michele Simionato (@micheles)]
- Fixed a type error in the command
oq engine --run --params
- Restored the flag
split_sources
for testing purposes - Fixed a BOM bug in CSV exposures
- When exporting the loss curves per asset now we also export the loss ratio
and the inverse return period, for consistency with the other exporters - Fixed the exporter of the loss curves per asset: due to an ordering bug
in some cases it was exporting wrong losses - Added a flag save_disk_space to avoid storing the inputs
- Changed the logic underlying the pointsource_distance approximation and
added the syntax pointsource_distance=? - Logged a warning when the pointsource_distance is too small
[Graeme Weatherill (@g-weatherill)]
- Implemented Pitilakis et al. (2020) Site Amplification Model
[Michele Simionato (@micheles)]
- Fixed an export bug with modal_damage_state=true in scenario_damage
calculations - Fixed a bug in calc_hazard_curves with multiple TRTs
- Fixed how AvgGMPE was stored and made it applicable with correlation models
if all underlying GMPEs are such
[Paolo Tormene (@ptormene)]
- Added a second tectonic region type to the EventBasedPSHA demo
[Michele Simionato (@micheles)]
- Fixed an ordering bug in /extract/rupture_info affecting the QGIS plugin
- Fixed
oq engine --eo output_id output_dir
for the Full Report output - Added year and ses_id to the events table
- Removed NaNs in the low return period part of the loss curves
- Fixed the tot_curves and tot_losses exporters in ebrisk calculations
- Reduced the rupture storage in classical calculations by using compression
- Improved the task distribution in the classical calculator, avoiding
generating too few or too many tasks - Enhanced
oq check_input
to check complex fault geometries - Added a warning against magnitude-dependent maximum_distance
[Marco Pagani (@mmpagani)]
- Fixed a bug in the coeff table of YEA97
[Graeme Weatherill (@g-weatherill)]
- Implemented support for Gaussian Mixture Model approach to characterise
ground motion model uncertainty
[Michele Simionato (@micheles)]
- Enhanced
oq reduce_sm
to read the source models in parallel - Deprecated the usage of a different number of intensity levels per IMT
[Matteo Nastasi (@nastasi-oq)]
- Internal: added 'oq-taxonomy' to docker images
[Michele Simionato (@micheles)]
- Extended the
pointsource_distance
approximation to work on single site
calculations, with a spectacular performance benefit in most calculations - Added Bindi2011, Bindi2014 and Cauzzi2014 scaled GMPEs contributed by
the INGV - Added a check on classical calculations which are too large to run
- Added a parameter
collapse_level
and a new collapsing algorithm - Added a check for missing TRTs in the GSIM logic tree file
- Reduced the storage required for site specific calculations
with complex logic trees by removing duplicated ruptures - Restored the computation of the mean disaggregation when multiple
realizations are requested - Slightly changed the syntax of
oq info
(seeoq info --help
) and added
information about the available IMTs, MFDs and source classes - Optimized get_composite_source_model (in the case of a complex source
specific logic trees a speedup of 80x was measured) - Internal: fixed
oq info source_model_logic_tree.xml
- Avoided reading multiple times the source models in the case of complex
logic trees - Moved the check on invalid TRTs earlier, before processing the source models
- Removed the
ucerf_classical
calculator (just use theclassical
one)
[Paolo Tormene (@ptormene)]
- Added a warning in
oq reduce_sm
listing duplicate source IDs
[Michele Simionato (@micheles)]
- Improved
oq reduce_sm
to reduce also duplicated source IDs if they
belong to different source types - Removed the
ucerf_hazard
calculator (just use theevent_based
one) - Changed the seed algorithm in all event based calculators including UCERF
- Fixed the ShakeMap code to use the formula for the median and not the mean
- Added a check on excessive data transfer in disaggregation calculations
- Changed back the disaggregation calculator to read the rupture data from
the workers, thus saving a lot of memory and time - Fixed a bug that made it impossible to abort/remove a failed task
- Added
extendModel
feature to the source model logic tree parser
[Graeme Weatherill (@g-weatherill)]
- Fixed bug in the HMTK: the
bin_width
parameter was not passed to
mtkActiveFaultModel.build_fault_model
[Michele Simionato (@micheles)]
- Avoided submitting too many tasks in the disaggregation calculator
- Added a parameter
discard_trts
for manual reduction of GSIM logic tree - Fixed a bug in case of duplicated nodal planes affecting the Italy model
- Removed dynamic reduction of the GSIM logic tree (i.e. now the
logic tree is known upfront, before calculating the PoES)
[Paolo Tormene (@ptormene)]
- Fixed an encoding issue in reading configuration files on Windows
[Michele Simionato (@micheles)]
- Internal: started the zmq workers when the DbServer starts
- Fixed a bug when reading rupture.txt files
- Internal: added an option
--calc-id
tooq run
- Added a check against negative number of cores in openquake.cfg
- Raised a clear error message if the enlarged bounding box of the sources
does not contain any site or if it is larger than half the globe
[Kendra Johnson (@kejohnso)]
- Correction to catalogue plotting tool in hmtk to include the last bins
in density plots
[Paolo Tormene (@ptormene)]
- Added Classical PSHA Non-parametric sources Demo
[Robin Gee (@rcgee)]
- Change the header of the exported sigma_epsilon_XX.csv file to indicate
that values correspond to inter event sigma
[Graeme Weatherill (@g-weatherill)]
- Adds independent verification tables for the USGS CEUS models and revises
implementation for collapsed epistemic uncertainty on sigma and site
amplification - Enhances SERA adaptation of the Abrahamson et al. (2015)
BC Hydro
GMPE to
add in a configurable smoothed tapering term on the forearc/backarc scaling
[Michele Simionato (@micheles)]
- Added a check on the engine version between master and workers
[Paolo Tormene (@ptormene)]
- Removed the
multi_node
flag, that is not used anymore
[Michele Simionato (@micheles)]
- Added a command
oq postzip
to send small calculations to the WebUI - Added a limit of 1000 sources when disagg_by_src=true
- Internal: fixed
oq export input -e zip
that was flattening the tree
structure of the input files in the exported zip archive - Implemented GMFs amplification
- Introduced the flag
approx_ddd
to support the old algorithm in
scenario_damage calculations; it is automatically used for exposures
with fractional asset numbers
[Paolo Tormene (@ptormene)]
- Modified the server views in order to allow using
numpy.load(allow_pickle=False)
in the QGIS IRMT plugin - Internal: changed some copy.deepcopy calls into copy.copy in hazardlib
[Michele Simionato (@micheles)]
- Removed implicit intensity_measure_types_and_levels
- Added a check to forbid case-similar headers in the exposures
- Improved the error message in case of CSV exposures with wrong headers
- Reduced the slow tasks issue in event_based/ebrisk with many sites
- Enhanced
oq compare
to accept a file with the control sites - Improved the error message for duplicate sites
- Speedup of the ebrisk calculator
- Extended the
minimum_intensity
feature to the classical calculator - Solved a memory bug when using the nrcan site term: due to a deepcopy
the engine could run out of memory in the workers for large site collections - Added a check to forbid multiple
complexFaultGeometry
nodes - Internal: we are now shutting down the ProcessPool explicitly in order
to support Python 3.8 - Internal: removed the class hazardlib.gsim.base.IPE
- Changed the aggregate loss curves generation to not use the partial
asset loss table, with a huge memory reduction - Extended
oq check_input
to accept multiple files - Changed the scenario damage calculator to use discrete damage distributions
- Forced the "number" attribute in the exposure must be an integer in the
range 1..65535, extrema included
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq about 5 years ago

OpenQuake - OpenQuake Engine 3.8.1
[Michele Simionato (@micheles)]
- Fixed random HDF5 bug in disaggregation calculations
- Fixed memory issue in nrcan15_site_term.p
- Fixed get_duplicates check in the SiteCollection
- Fixed bug in case of MMI (log(imls) -> imls)
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq about 5 years ago

OpenQuake - OpenQuake Engine 3.8.0
[Graeme Weatherill (@g-weatherill)]
- Updates SERA Craton GMPE to incorporate NGA East site response and reflect
changes in CEUS USGS model
[Michele Simionato (@micheles)]
- The total loss curves in event_based_risk are now built with pandas
- Added an option
oq engine --param
to override the job.ini parameters - Internal: reduced the number of NGAEastUSGS classes from 39 to 1
- Internal: reduced the number of NGAEast classes from 44 to 2
- Internal: reduced the 15 NSHMP2014 classes to a single class
- Internal: reduced the 22 NBCC2015_AA13 classes to a single class
[Graeme Weatherill (@g-weatherill)]
-
Adds complete suite of GMPEs for the Central and Eastern US, as adopted
within the 2018 US National Seismic Hazard Map -
Implements NGA East site amplification model within NGA East Base class
-
Implemented site amplification by convolution
-
Improved the error message if the
event_id
does not start from zero in
the gmfs.csv files -
Changed the rupture exporter to export LINESTRINGs instead of degenerate
POLYGONs -
Introduced
minimum_loss_fraction
functionality in ebrisk -
Refined the rupture prefiltering mechanism, possibly changing the numbers
in calculations with nonzero coefficients of variations -
Optimized the generation of aggregate loss curves in ebrisk
-
Introduced an experimental AvgGMPE and used it to implement (optional)
reduction of the gsim logic tree
[Graeme Weatherill (@g-weatherill)]
- Implemented Abrahamson et al (2018) update of the BC Hydro GMPE
- Added configurable nonergodic sigma option to BC Hydro and SERA GMPEs
- Small refactoring and bug fix in average SA GMPE
[Michele Simionato (@micheles)]
- Avoided reading multiple times the GSIM logic tree
- Changed the GSIM logic tree sampling by ordering the branches by TRT
- Ignored IMT-dependent weights when using sampling to make such calculations
possible - Storing (partially) the asset loss table
[Robin Gee (@rcgee)]
- Set DEFINED_FOR_REFERENCE_VELOCITY in CampbellBozorgnia2003NSHMP2007
[Graeme Weatherill (@g-weatherill)]
- Re-adjustment of SERA Subduction model epistemic scaling factors
[Michele Simionato (@micheles)]
- Improved the task distribution in the ebrisk calculator
- Fixed a bug in ebrisk with aggregate_by when building the rup_loss_table
- Storing the asset loss table in scenario_risk, but only for assets and
events above over aloss_ratio_threshold
parameter - Storing the asset damage table in scenario_damage and event based damage,
but only for assets and events above acollapse_threshold
parameter - Avoided transferring the GMFs upfront in scenario_damage, scenario_risk
and event_based_damage
[Daniele Viganò (@daniviga)]
- Included pandas in the engine distribution
[Michele Simionato (@micheles)]
- Avoided reading multiple time the gsim logic tree file and relative files
- Added a check for duplicate sites in the site model file
- Implemented an event_based_damage calculator
- Added an API /v1/calc/ID/extract/gmf_data?event_id=XXX
- Added an API /v1/calc/ID/extract/num_events
- Fixed the /v1/calc/ID/status endpoint to return an error 404 when needed
- Removed the "sites are overdetermined" check, since it now unneeded
- Turned the calculation of consequences into a plugin architecture
[Matteo Nastasi (@nastasi-oq)]
- Add '/v1/ini_defaults' web api entry point to retrieve all default
values for ini attributes (attrs without a default are not returned)
[Michele Simionato (@micheles)]
- Renamed rlzi -> rlzi in the sigma-epsilon dataset and exporter
- Renamed id -> asset_id in all the relevant CSV exporters
- Renamed rlzi -> rlz_id in the dmg_by_event.csv output
- Renamed rupid -> rup_id in the ruptures.csv output
- Renamed id -> event_id in the events.csv output and gmfs.csv output
- Renamed sid -> site_id in the gmfs.csv output
- Renamed ordinal -> rlz_id in the realizations.csv output
[Alberto Chiusole (@bebosudo)]
- Changed the way how the available number of CPU cores is computed
[Kendra Johnson (@kejohnso), Robin Gee (@rcgee)]
- Added GMPEs for Rietbrock-Edwards (2019) and Yenier-Atkinson (2015)
[Michele Simionato (@micheles)]
- Added more check on the IMTs and made it possible to import a GMF.csv
file with more IMTs than needed - Enabled magnitude-dependent pointsource_distance
- Removed the syntax for magnitude-dependent maximum distance, since
now it can be automatically determined by the engine - Saving more information in the case of single-site classical hazard
- Extended
pointsource_distance
to generic sources - Removed the boundary information from the CSV rupture exporter
- Changed the /extract/rupture/XXX API to returns a TOML that can be
used by a scenario calculator - Added general support for file-reading GMPEs
- Made it possible to disaggregate on multiple realizations
with the parametersrlz_index
ornum_rlzs_disagg
- Fixed downloading the ShakeMaps (again)
- Better error message in case of too large maximum_distance
- Optimized the case of point sources with an hypocenter distribution and
GSIMs independent from it and in general the case of ruptures with
similar distances
[Graeme Weatherill (@g-weatherill)]
- Updates SERA craton GMPE to reflect updates to NGA East site response model
[Michele Simionato (@micheles)]
- Fixed and HDF5 SWMR issue in large disaggregation calculations
- Made
rrup
the unique acceptablefilter_distance
- Fixed disaggregation with a parent calculation
- Models with duplicated values in the hypocenter and/or nodal plane
distributions are now automatically optimized - Fixed an issue with missing noDamageLimit causing NaN values in
scenario_damage calculations - Added more validations for predefined hazard, like forbidding the site model
[Marco Pagani (@mmpagani)]
- Adding the shift_hypo option for distributed seismicity
[Michele Simionato (@micheles)]
- Raised an early error for extra-large GMF calculations
- Reduced the GMF storage by using 32 bit per event ID instead of 64 bit
- Raised an error in case of duplicated sites in the site model
- Fixed the case of implicit grid with a site model: sites could be
incorrectly discarded - Fixed the ShakeMap downloader to find also unzipped
uncertaintly.xml
files - Fixed the rupture exporters to export the rupture ID and not the
rupture serial - Removed the non-interesting
agg_maps
outputs - Changed the task distribution in the classical calculator and added
atask_multiplier
parameter
[Marco Pagani (@mmpagani)]
- Fixed a bug in the GenericGmpeAvgSA
[Michele Simionato (@micheles)]
- Added a
/v1/calc/validate_zip
endpoint to validate input archives - Deprecated inferring the intensity measure levels from the risk functions
- Fixed a too strict check on the minimum intensities of parent an child
calculations - Extended the ebrisk calculator to compute at the same time both the
aggregate curves by tag and the total curves
[Marco Pagani (@mmpagani)]
- Implemented Morikawa and Fujiwara (2013) GMM
[Michele Simionato (@micheles)]
- Changed the seed algorithm in sampling with more than one source model,
thus avoiding using more GMPEs than needed in some cases - If
ground_motion_fields=false
is set, the GMFs are not stored even
ifhazard_curves_from_gmfs=true
oq show job_info
now works while the calculation is running- Reduced the sent data transfer in ebrisk calculations
- Deprecated the old syntax for the
reqv
feature - Added short aliases for hazard statistics
mean
,max
andstd
- Reduced substantially the memory occupation in the task queue
- Added an API
/extract/sources
and an experimentaloq plot sources
- Added a check on valid input keys in the job.ini
- Fixed the check on dependent calculations
- Specifying at the same time both a grid and individual sites is an error
[Daniele Viganò (@daniviga)]
- Docker containers rebased on CentOS 8
- Fixed an issue causing zombie
ssh
processes
when usingzmq
as task distribution mechanism - Introduced support for RHEL/CentOS 8
[Michele Simionato (@micheles)]
- Added a check for no GMFs in event_based_risk
- Avoided transferring the site collection
- Storing the sources in TOML format
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 5 years ago

OpenQuake - OpenQuake Engine 3.7.1
[Michele Simionato (@micheles)]
- Fixed disaggregation with a parent calculation
- Fixed the case of implicit grid with a site model: sites could be
incorrectly discarded - Fixed the ShakeMap downloader to find also unzipped
uncertaintly.xml
files - Fixed the rupture exporters to export the rupture ID and not the
rupture serial
[Marco Pagani (@mmpagani)]
- Fixed a bug in the GenericGmpeAvgSA
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 5 years ago

OpenQuake - OpenQuake Engine 3.7.0
[Michele Simionato (@micheles)]
- Hiding calculations that fail before the pre-execute phase (for instance,
because of missing files); they already give a clear error - Added an early check on truncation_level in presence of correlation model
[Guillaume Daniel (@guyomd)]
- Implemented Ameri (2017) GMPE
[Michele Simionato (@micheles)]
- Changed the ruptures CSV exporter to use commas instead of tabs
- Added a check forbidding
aggregate_by
for non-ebrisk calculators - Introduced a task queue
- Removed the
cache_XXX.hdf5
files by using the SWMR mode of h5py
[Kris Vanneste (@krisvanneste)]
- Updated the coefficients table for the atkinson_2015 to the actual
values in the paper.
[Michele Simionato (@micheles)]
- Added an
/extract/agg_curves
API to extract both absolute and relative
loss curves from an ebrisk calculation - Changed
oq reset --yes
to remove oqdata/user only in single-user mode - Now the engine automatically sorts the user-provided intensity_measure_types
- Optimized the aggregation by tag
- Fixed a bug with the binning when disaggregating around the date line
- Fixed a prefiltering bug with complex fault sources: in some cases, blocks
ruptures were incorrectly discarded - Changed the sampling algorithm for the GMPE logic trees: now it does
not require building the full tree in memory - Raised clear errors for geometry files without quotes or with the wrong
header in the multi_risk calculator - Changed the realizations.csv exporter to export '[FromShakeMap]' instead
of '[FromFile]' when needed - Changed the agg_curves exporter to export all realizations in a single file
and all statistics in a single file - Added rlz_id, rup_id and year to the losses_by_event output for ebrisk
- Fixed a bug in the ruptures XML exporter: the multiplicity was multiplied
(incorrectly) by the number of realizations - Fixed the pre-header of the CSV outputs to get proper CSV files
- Replaced the 64 bit event IDs in event based and scenario calculations
with 32 bit integers, for the happiness of Excel users
[Daniele Viganò (@daniviga)]
- Numpy 1.16, Scipy 1.3 and h5py 2.9 are now required
[Michele Simionato (@micheles)]
- Changed the ebrisk calculator to read the CompositeRiskModel directly
from the datastore, which means 20x less data transfer for Canada
[Anirudh Rao (@raoanirudh)]
- Fixed a bug in the gmf CSV importer: the coordinates were being
sorted and new site_ids assigned even though the user input sites
csv file had site_ids defined
[Michele Simionato (@micheles)]
- Fixed a bug in the rupture CSV exporter: the boundaries of a GriddedRupture
were exported with lons and lats inverted - Added some metadata to the CSV risk outputs
- Changed the distribution mechanism in ebrisk to reduce the slow tasks
[Graeme Weatherill (@g-weatherill)]
- Updates Kotha et al. (2019) GMPE to July 2019 coefficients
- Adds subclasses to Kotha et al. (2019) to implement polynomial site
response models and geology+slope site response model - Adds QA test to exercise all of the SERA site response calculators
[Michele Simionato (@micheles)]
- Internal: there is not need to call
gsim.init()
anymore
[Graeme Weatherill (@g-weatherill)]
- Adds parametric GMPE for cratonic regions in Europe
[Michele Simionato (@micheles)]
- In the agglosses output of scenario_risk the losses were incorrectly
multiplied by the realization weight - Removed the output
sourcegroups
and added the outputevents
[Graeme Weatherill (@g-weatherill)]
- Adds new meta ground motion models to undertake PSHA using design code
based amplification coefficients (Eurocode 8, Pitilakis et al., 2018) - Adds site amplification model of Sandikkaya & Dinsever (2018)
[Marco Pagani (@mmpagani)]
- Added a new rupture-site metric: the azimuth to the closest point on the
rupture
[Michele Simionato (@micheles)]
- Fixed a regression in disaggregation with nonparametric sources, which
were effectively discarded - The site amplification has been disabled by default in the ShakeMap
calculator, since it is usually already taken into account by the USGS
[Daniele Viganò (@daniviga)]
- Deleted calculations are not removed from the database anymore
- Removed the 'oq dbserver restart' command since it was broken
[Richard Styron (@cossatot)]
- Fixed
YoungsCoppersmith1985MFD.from_total_moment_rate()
: due to numeric
errors it was producing incorrect seismicity rates
[Michele Simionato (@micheles)]
- Now we generate the output
disagg_by_src
during disaggregation even in the
case of multiple realizations - Changed the way the random seed is set for BT and PM distributions
- The filenames generated by disagg_by_src exporter now contains the site ID
and not longitude and latitude, consistently with the other exporters - Accepted again meanLRs greater than 1 in vulnerability functions of kind LN
- Fixed a bug in event based with correlation and a filtered site collection
- Fixed the CSV exporter for the realizations in the case of scenarios
with parametric GSIMs - Removed some misleading warnings for calculations with a site model
- Added a check for missing
risk_investigation_time
in ebrisk - Reduced drastically (I measured improvements over 40x) memory occupation,
data transfer and data storage for multi-sites disaggregation - Sites for which the disaggregation PoE cannot be reached are discarded
and a warning is printed, rather than killing the whole computation oq show performance
can be called in the middle of a computation again- Filtered out the far away distances and reduced the time spent in
saving the performance info by orders of magnitude in large disaggregations - Reduced the data transfer by reading the data directly from the
datastore in disaggregation calculations - Reduced the memory consumption sending disaggregation tasks incrementally
- Added an extract API disagg_layer
- Moved
max_sites_disagg
from openquake.cfg into the job.ini - Fixed a bug with the --config option: serialize_jobs could not be overridden
- Implemented insured losses
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 5 years ago

OpenQuake - OpenQuake Engine 3.6.0
[Michele Simionato (@micheles)]
- In some cases
applyToSources
was giving a fake error about the source
not being in the source model even if it actually was
[Chris Van Houtte (@cvanhoutte)]
- Adds the Van Houtte et al. (2018) significant duration model for New
Zealand
[Michele Simionato (@micheles)]
- Added a way to compute and plot the MFD coming from an event based
- Storing the MFDs in TOML format inside the datastore
[Robin Gee (@rcgee)]
- Moves b4 constant into COEFFS table for GMPE Sharma et al., 2009
[Graeme Weatherill (@g-weatherill)]
- Adds functionality to Cauzzi et al. (2014) and Derras et al. (2014)
calibrated GMPEs for Germany to use either finite or point source distances
[Michele Simionato (@micheles)]
- Restored the ability to associate site model parameters to a grid of sites
- Made it possible to set
hazard_curves_from_gmfs=true
with
ground_motion_fields=false
in the event based hazard calculator - Introduced a mechanism to split the tasks based on an estimated duration
- Integrated
oq plot_memory
intooq plot
- Removed
NaN
values for strike and dip when exporting griddedRuptures - Fixed
oq reset
to work in multi-user mode - Extended the source_id-filtering feature in the job.ini to multiple sources
- Supported WKT files for the binary perils in the multi_risk calculator
- Added an early check on the coefficients of variation and loss ratios of
vulnerability functions with the Beta distribution - Made sure that
oq engine --dc
removes the HDF5 cache file too - Removed the flag
optimize_same_id_sources
because it is useless now - Introduced a soft limit at 65,536 sites for event_based calculations
- Fixed a performance regression in ucerf_classical that was filtering
before splitting, thus becoming extra-slow - Improved the progress log, that was delayed for large classical calculations
- Exported the ruptures as 3D multi-polygons (instead of 2D ones)
- Changed the
aggregate_by
exports for consistency with the others - Changed the losses_by_event exporter for ebrisk, to make it more
consistent with scenario_risk and event_based_risk - Changed the agglosses and losses_by_event exporters in scenario_risk,
by adding a column with the realization index - Changed the generation of the hazard statistics to consume very little
memory - Fixed a bug with concurrent_tasks being inherited from the parent
calculation instead of using the standard default - Removed the dependency from mock, since it is included in unittest.mock
- For scenario, replaced the
branch_path
with the GSIM representation in
the realizations output - Added a check for suspiciously large source geometries
- Deprecated the XML disaggregation exporters in favor of the CSV exporters
- Turned the disaggregation calculator into a classical post-calculator
to use the precomputed distances and speedup the computation even more - Fixed the disaggregation calculator by discarding the ruptures outside
the integration distance - Optimized the speed of the disaggregation calculator by moving a statistical
functions outside of the inner loop - Changed the file names of the exported disaggregation outputs
- Fixed an export agg_curves issue with pre-imported exposures
- Fixed an export agg_curves issue when the hazard statistics are different
from the risk statistics - Removed the disaggregation statistics: now the engine disaggregates only on
a single realization (default: the closest to the mean) - Forbidden disaggregation matrices with more than 1 million elements
- Reduced the data transfer when computing the hazard curves
- Optimized the reading of large CSV exposures
- Fixed the --hc functionality across users
- Optimized the reduction of the site collection on the exposure sites
- Made more robust the gsim logic tree parser: lines like
<uncertaintyModel gmpe_table="../gm_tables/Woffshore_low_clC.hdf5">
are accepted again - Added a check against duplicated values in nodal plane distributions and
hypocenter depth distributions - Changed the support for zipped exposures and source models: now the
name of the archive must be written explicitly in the job.ini - Added support for numpy 1.16.3, scipy 1.3.0, h5py 2.9.0
- Removed the special case for event_based_risk running two calculations
[Graeme Weatherill (@g-weatherill)]
- Adds the Tromans et al. (2019) adjustable GMPE for application to PSHA
in the UK
[Michele Simionato (@micheles)]
- Optimized src.sample_ruptures for (multi)point sources and are sources
- Fixed a mutability bug in the DistancesContext and made all context
arrays read-only: the fix may affect calculations using the GMPEs
berge_thierry_2003, cauzzi_faccioli_2008 and zhao_2006; - Fixed a bug with the minimum_distance feature
- Fixed a bug in the exporter of the aggregate loss curves: now the loss
ratios are computed correctly even in presence of occupants - Removed the (long time deprecated) capability to read hazard curves and
ground motion fields from XML files: you must use CSV files instead
[Marco Pagani (@mmpagani)]
- Implemented a modified GMPE that add between and within std to GMPEs only
supporting total std
[Michele Simionato (@micheles)]
- Added the ability to use a taxonomy_mapping.csv file
- Fixed a bug in classical_damage from CSV: for hazard intensity measure
levels different from the fragility levels, the engine was giving incorrect
results - Serialized also the source model logic tree inside the datastore
- Added a check on missing intensity_measure_types in event based
- Fixed
oq prepare_site_model
in the case of an empty datadir - Added a comment line with useful metadata to the engine CSV outputs
- Removed the long time deprecated event loss table exporter for event based
risk and enhanced the losses_by_event exporter to export the realization ID - Removed the long time deprecated GMF XML exporter for scenario
- IMT-dependent weights in the gsim logic tree can be zero, to discard
contributions outside the range of validity of (some of the) GSIMs - Now it is possible to export individual hazard curves from an event
- Added a view gmvs_to_hazard
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq almost 6 years ago

OpenQuake - OpenQuake Engine 3.5.2
[Daniele Viganò (@daniviga)]
- Fixed packaging issue, the .hdf5 tables for Canada were missing
[Michele Simionato (@micheles)]
- Fixed regression in the gsim logic tree parser for the case
of .hdf5 tables
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq almost 6 years ago

OpenQuake - OpenQuake Engine 3.5.1
[Michele Simionato (@micheles)]
- Added a
rlzi
column to to sig_eps.csv output - Accepted GMF CSV files without a
rlzi
column - Accepted a list-like syntax like
return_periods=[30, 60, 120, 240, 480]
in the job.ini, as written in the manual - Fixed a bug in the asset_risk exporter for uppercase tags
[Paul Henshaw (@pslh)]
- Fixed an encoding bug while reading XML files on Windows
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq almost 6 years ago

OpenQuake - OpenQuake Engine 3.5.0
[Michele Simionato (@micheles)]
- Added a view gmvs_to_hazard
[Giovanni Lanzano (@giovannilanzanoINGV)]
- Lanzano and Luzi (2019) GMPE for volcanic zones in Italy
[Michele Simionato (@micheles)]
- Now it is possible to export individual hazard curves from an event
based calculation by settinghazard_curves_from_gmfs = true
and
`individual_curves = true (before only the statistics were saved)
[Graeme Weatherill (@g-weatherill)]
- Adds adaptation of Abrahamson et al. (2016) 'BC Hydro' GMPEs calibrated
to Mediterranean data and with epistemic adjustment factors
[Chris Van Houtte (@cvanhoutte)]
- Added new class to bradley_2013b.py for hazard maps
- Modified test case_37 to test multiple sites
[Marco Pagani (@mmpagani)]
- Fixed a bug in the logic tree parser and added a check to forbid logic
trees with applyToSources without applyToBranches, unless there is a
single source model branch
[Michele Simionato (@micheles)]
- Removed the experimental parameter
prefilter_sources
[Daniele Viganò (@daniviga)]
- Multiple DbServer ZMQ connections are restored to avoid errors under heavy
load and/or on slower machines
[Michele Simionato (@micheles)]
- Removed the ugly registration of custom signals at import time: now they
are registered only ifengine.run_calc
is called - Removed the dependency from rtree
- Removed all calls to ProcessPool.shutdown to speed up the tests and to
avoid non-deterministic errors in atexit._run_exitfuncs
[Marco Pagani (@mmpagani)]
- Added tabular GMPEs as provided by Michal Kolaj, Natural Resources Canada
[Michele Simionato (@micheles)]
- Extended the ebrisk calculator to support coefficients of variations
[Graeme Weatherill (@g-weatherill)]
- Adds Kotha et al (2019) shallow crustal GMPE for SERA
- Adds 'ExperimentalWarning' to possible GMPE warnings
- Adds kwargs to check_gsim function
[Michele Simionato (@micheles)]
- Fixed problems like SA(0.7) != SA(0.70) in iml_disagg
- Exposed the outputs of the classical calculation in event based
calculations withcompare_with_classical=true
- Made it possible to serialize together all kind of risk functions,
including consequence functions that before were not HDF5-serializable - Fixed a MemoryError when counting the number of bytes stored in large
HDF5 datasets - Extended
asset_hazard_distance
to a dictionary for usage with multi_risk - Extended oq prepare_site_model to work with sites.csv files
- Optimized the validation of the source model logic tree: now checking
the sources IDs is 5x faster - Went back to the old logic in sampling: the weights are used for the
sampling and the statistics are computed with identical weights - Avoided to transfer the epsilons by storing them in the cache file
and changed the event to epsilons associations - Reduced the data transfer in the computation of the hazard curves, causing
in some time huge speedups (over 100x) - Implemented a flag
modal_damage_state
to display only the most likely
damage state in the outputdmg_by_asset
of scenario damage calculations - Reduced substantially the memory occupation in classical calculations
by including the prefiltering phase in the calculation phase
[Daniele Viganò (@daniviga)]
- Added a 'serialize_jobs' setting to the openquake.cfg
which limits the maximum number of jobs that can be run in parallel
[Michele Simionato (@micheles)]
- Fixed two exporters for the ebrisk calculator (agg_curves-stats and
losses_by_event) - Fixed two subtle bugs when reading site_model.csv files
- Added /extract/exposure_metadata and /extract/asset_risk
- Introduced an experimental multi_risk calculator for volcanic risk
[Guillaume Daniel (@guyomd)]
- Updating of Berge-Thierry (2003) GSIM and addition of several alternatives
for use with Mw
[Michele Simionato (@micheles)]
- Changed the classical_risk calculator to use the same loss ratios for all
taxonomies and then optimized all risk calculators - Temporarily removed the
insured_losses
functionality - Extended
oq restore
to download from URLs - Removed the column 'gsims' from the output 'realizations'
- Better parallelized the source splitting in classical calculations
- Added a check for missing hazard in scenario_risk/scenario_damage
- Improved the GsimLogicTree parser to get the line number information, a
feature that was lost with the passage to Python 3.5 - Added a check against mispellings in the loss type in the risk keys
- Changed the aggregation WebAPI from
aggregate_by/taxonomy,occupancy/avg_losses?kind=mean&loss_type=structural to
aggregate/avg_losses?kind=mean&loss_type=structural&tag=taxonomy&tag=occupancy - Do not export the stddevs in scenario_damage in the case of 1 event
- Fixed export bug for GMFs imported from a file
- Fixed an encoding error when storing a GMPETable
- Fixed an error while exporting the hazard curves generated by a GMPETable
- Removed the deprecated feature aggregate_by/curves_by_tag
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq almost 6 years ago

OpenQuake - OpenQuake Engine 3.4.0
[Michele Simionato (@micheles)]
- Compatibility with 'decorator' version >= 4.2
[Giovanni Lanzano (@giovannilanzanoINGV)]
- Contributed a GMPE SkarlatoudisEtAlSSlab2013
[Michele Simionato (@micheles)]
- Changed the event loss table exporter to export also rup_id and year
- Extended the ebrisk calculator to compute loss curves and maps
[Rodolfo Puglia (@rodolfopuglia)]
- Spectral acceleration amplitudes at 2.5, 2.75 and 4 seconds added
[Marco Pagani (@mmpagani)]
- Improved the event based calculator to account for cluster-based models
[Michele Simionato (@micheles)]
- Removed the now redundant command
oq extract hazard/rlzs
[Daniele Viganò (@daniviga)]
- Fixed 'oq abort' and always mark killed jobs as 'aborted'
[Michele Simionato (@micheles)]
- Made it possible to use in the Starmap tasks without a monitor argument
- Stored the sigma and epsilon parameters for each event in event based
and scenario calculations and extended the gmf_data exporter consequently - Fixed the realizations CSV exporter which was truncating the names of the
GSIMs - Deprecated the XML exporters for hcurves, hmaps, uhs
- Introduced a
sap.script
decorator - Used the WebExtractor in
oq importcalc
- Restored validation of the source_model_logic_tree.xml file
- Raised an early error for missing occupants in the exposure
- Added a check to forbid duplicate file names in the
uncertaintyModel
tag - Made it possible to store the asset loss table in the ebrisk calculator
by specifyingasset_loss_table=true
in the job.ini - Added a flag
oq info --parameters
to show the job.ini parameters - Removed the
source_name
column from the disagg by source output
[Rao Anirudh]
- Fixed wrong investigation_time in the calculation of loss maps from
loss curves
[Robin Gee (@rcgee)]
- Added capability to optionally specify a
time_cutoff
parameter to
declustering time window
[Michele Simionato (@micheles)]
- Merged the commands
oq plot_hmaps
andoq plot_uhs
insideoq plot
- Changed the storage of hazard curves and hazard maps to make it consistent
with the risk outputs and Extractor-friendly
[Chris Van Houtte (@cvanhoutte)]
- Added necessary gsims to run the Canterbury Seismic Hazard Model
in Gerstenberger et al. (2014) - Added a new gsim file mcverry_2006_chch.py to have the Canterbury-
specific classes. - Added a new gsim file bradley_2013b.py to implement the
Christchurch-specific modifications to the Bradley2013 base model.
[Michele Simionato (@micheles)]
- Added a check on the intensity measure types and levels in the job.ini,
to make sure they are ordered by period - Reduced the number of client sockets to the DbServer that was causing
(sporadically) the hanging of calculations on Windows - Extended the WebAPI to be able to extract specific hazard curves, maps
and UHS (i.e. IMT-specific and site specific) - Removed the realization index from the event loss table export, since
is it redundant - Forced all lowercase Python files in the engine codebase
- Removed the dependency from nose
[Robin Gee (@rcgee)]
- Updated GMPE of Yu et al. (2013)
[Michele Simionato (@micheles)]
- Added an
Extractor
client class leveraging the WebAPI and enhanced
oq plot_hmaps
to display remote hazard maps - Added a check when disaggregation is attempted on a source model
with atomic source groups - Implemented serialization/deserialization of GSIM instances to TOML
- Added a check against mispelled rupture distance names and fixed
the drouet_alpes_2015 GSIMs - Changed the XML syntax used to define dictionaries IMT -> GSIM
- Now GSIM classes have an
.init()
method to manage notrivial
initializations, i.e. expensive initializations or initializations
requiring access to the filesystem - Fixed a bug in event based that made it impossible to use GMPETables
- Associated the events to the realizations even in scenario_risk: this
involved changing the generation of the epsilons in the case of asset
correlation. Now there is a single aggregate losses output for all
realizations - Removed the rlzi column from the GMF CSV export
- Introduced a new parameter
ebrisk_maxweight
in the job.ini - For classical calculations with few sites, store information about the
realization closest to the mean hazard curve for each site - Removed the max_num_sites limit on the event based calculator
[Valerio Poggi (@klunk386)]
- Added an AvgSA intensity measure type and a GenericGmpeAvgSA which is
able to use it
[Michele Simionato (@micheles)]
- Introduced the ability to launch subtasks from tasks
- Stored rupture information in classical calculations with few sites
[Chris Van Houtte (@cvanhoutte)]
- Adding conversion from geometric mean to larger horizontal component in
bradley_2013.py
[Michele Simionato (@micheles)]
- Fixed a bug in applyToSources for the case of multiple sources
- Moved the prefiltering on the workers to save memory
- Exported the aggregated loss ratios in avg losses and agg losses
- Removed the variables quantile_loss_curves and mean_loss_curves: they
were duplicating quantile_hazard_curves and mean_hazard_curves - Only ruptures boundingbox-close to the site collection are stored
[Marco Pagani (@mmpagani)]
- Added cluster model to classical PSHA calculator
[Michele Simionato (@micheles)]
- Fixed a bug in scenario_damage from ShakeMap with noDamageLimit=0
- Avoided the MemoryError in the controller node by speeding up the saving
of the information about the sources - Turned utils/reduce_sm into a proper command
- Fixed a wrong coefficient in the ShakeMap amplification
- Fixed a bug in the hazard curves export (the filename did not contain
the period of the IMT thus producing duplicated files) - Parallelized the reading of the exposure
[Marco Pagani (@mmpagani)]
- Fixed the implementation on mutex ruptures
[Michele Simionato (@micheles)]
- Changed the aggregated loss curves exporter
- Added an experimental calculator ebrisk
- Changed the ordering of the events (akin to a change of seed in the
asset correlation)
[Robin Gee (@rcgee)]
- Fixed bug in tusa_langer_2016.py BA08SE model - authors updated b2 coeff
- Fixed bug in tusa_langer_2016.py related to coeffs affecting Repi models
[Michele Simionato (@micheles)]
- Added a check to forbid to set
ses_per_logic_tree_path = 0
- Added an API
/extract/event_info/eidx
- Splitting the sources in classical calculators and not in event based
- Removed
max_site_model_distance
- Extended the logic used in event_based_risk - read the hazard sites
from the site model, not from the exposure - to all calculators - In classical_bcr calculations with a CSV exposure the retrofitted field
was not read. Now a missing retrofitted value is an error
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq about 6 years ago

OpenQuake - OpenQuake Engine 3.3.2
[Robin Gee (@rcgee)]
- Fixed bug in tusa_langer_2016.py BA08SE model - authors updated b2 coeff
[Michele Simionato (@micheles)]
- Fixed a bug in scenario_damage from ShakeMap with noDamageLimit=0
- Avoided the MemoryError in the controller node by speeding up the saving
of the information about the sources - Fixed a wrong coefficient in the ShakeMap amplification
- Fixed a bug in the hazard curves export (the filename did not contain
the period of the IMT thus producing duplicated files)
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 6 years ago

OpenQuake - OpenQuake Engine 3.3.1
[Michele Simionato (@micheles)]
- Fixed the GMF exporter to export the event IDs and not event indices
[Robin Gee (@rcgee)]
- Fixed bug in tusa_langer_2016.py related to coeffs affecting Repi models
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 6 years ago

OpenQuake - OpenQuake Engine 3.3.0
[Graeme Weatherill (@g-weatherill)]
- Adds GMPE suite for national PSHA for Germany
[Daniele Viganò (@daniviga)]
- Added a warning box when an unsupported browser is used to view the WebUI
- Updated Docker containers to support a multi-node deployment
with a shared directory - Moved the Docker containers source code from oq-builders
- Updated the documentation related to the shared directory
which is now mandatory for multi-node deployments
[Matteo Nastasi (@nastasi-oq)]
- Removed tests folders
[Stéphane Drouet (@stephane-on)]
- Added Drouet & Cotton (2015) GMPE including 2017 erratum
[Michele Simionato (@micheles)]
- Optimized the memory occupation in classical calculations (Context.poe_map)
- Fixed a wrong counting of the ruptures in split fault sources with
an hypo_list/slip_list causing the calculation to fail - Made the export of uniform hazard spectra fast
- Made the
std
hazard output properly exportable - Replaced the
~
in the header of the UHS csv files with a-
- Restored the
individual_curves
flag even for the hazard curves - Implemented dGMPE weights per intensity measure type
- Extended
--reuse-hazard
to all calculators - Fixed a bug in event_based_risk from GMFs with coefficients of variations
[Graeme Weatherill (@g-weatherill)]
- Adds magnitude scaling relation for Germany
[Michele Simionato (@micheles)]
- Used floats for the the GSIM realization weights, not Python Decimals
- Added a flag
fast_sampling
, by default False - Added an API
/extract/src_loss_table/<loss_type>
- Removed the rupture filtering from
sample_ruptures
and optimized it in
theRuptureGetter
by making use of the bounding box - Raised the limit on
ses_per_logic_tree_path
from 216 to 232; - Added a parameter
max_num_sites
to increase the number of sites accepted
by an event based calculation up to 2 ** 32 (the default is still 2 ** 16) - Added a command
oq compare
to compare hazard curves and maps within
calculations - Extended the engine to read transparently zipped source models and exposures
- Restored the check for invalid source IDs in applyToSources
- Extended the command
oq zip
to zip source models and exposures - Parallelized the associations event ID -> realization ID
- Improved the message when assets are discarded in scenario calculations
- Implemented aggregation by multiple tags, plus a special case for the
country code in event based risk
[Marco Pagani (@mmpagani)]
- Added two modified versions of the Bindi et al. (2011) to be used in a
backbone approach to compute hazard in Italy - Added a modified version of Berge-Thierry et al. 2003 supporting Mw
[Michele Simionato (@micheles)]
- Changed the way loss curves and loss maps are stored in order to unify
the aggregation logic with the one used for the average losses - Now it is possible to compute the ruptures without specifying the sites
- Added an early check for the case of missing intensity measure types
- Deprecated the case of exposure, site model and region_grid_spacing all
set at the same time - Implemented multi-exposure functionality in event based risk
- Changed the event based calculator to store the ruptures incrementally
without keeping them all in memory - Refactored the UCERF event based calculator to work as much as possible
the regular calculator - Optimized the management and storage of the aggregate losses in the event
based risk calculation; also, reduced the memory consumption - Changed the default for
individual_curves
to "false", which is the right
default for large calculations - Optimized the saving of the events
- Removed the
save_ruptures
flag in the job.ini since ruptures must be saved
always - Optimized the rupture generation in case of sampling and changed the
algorithm and seeds - Fixed a bug with the IMT
SA(1)
considered different fromSA(1.0)
- Removed the long-time deprecated GMF exporter in XML format for event_based
- Added a re-use hazard feature in event_based_risk in single-file mode
- Made the event ID unique also in scenario calculations with
multiple realizations - Removed the annoying hidden .zip archives littering the export directory
- Added an easy way to read the exposure header
- Added a way to run Python scripts using the engine libraries via
oq shell
- Improved the minimum_magnitude feature
- Fixed the check on missing hazard IMTs
- Reduced substantially the memory occupation in event based risk
- Added the option
spatial_correlation=no correlation
for risk calculations
from ShakeMaps - Removed the experimental calculator
ucerf_risk
- Optimized the sampling of time-independent sources for the case of
prefilter_sources=no
- Changed the algorithm associating events to SESs and made the event based
hazard calculator faster in the case of many SESs - Reduced substantially the memory consumption in event based risk
- Made it possible to read multiple site model files in the same calculation
- Implemented a smart single job.ini file mode for event based risk
- Now warnings for invalid parameters are logged in the database too
- Fixed
oq export avg_losses-stats
for the case of one realization - Added
oq export losses_by_tag
andoq export curves_by_tag
- Extended
oq export
to work in a multi-user situation - Forbidden event based calculations with more than
max_potential_paths
in the case of full enumeration - Saved a large amount of memory in event_based_risk calculations
- Added a command
oq export losses_by_tag/<tagname> <calc_id>
- Extended
oq zip
to zip the risk files together with the hazard files - Changed the building convention for the event IDs and made them unique
in the event loss table, even in the case of full enumeration - Optimized the splitting of complex fault sources
- Fixed the ShakeMap download procedure for
uncertainty.zip
archives
with an incorrect structure (for instance for ci3031111) - Disabled the spatial correlation in risk-from-ShakeMap by default
- Optimized the rupture sampling where there is a large number of SESs
- Extended the
reqv
feature to multiple tectonic region types and
removed the spinning/floating for the TRTs using the feature - Reduced the GMPE logic tree upfront for TRTs missing in the source model
- Fixed the ShakeMap downloader to use the USGS GeoJSON feed
- Improved the error message when there are more than 65536 distinct tags
in the exposure - Turned
vs30measured
into an optional parameter
[Chris Van Houtte (@cvanhoutte)]
- Added
siteclass
as a site parameter, andreference_site_class
as
a site parameter than can be specified by the user in the ini file - Added new classes to mcverry_2006.py to take siteclass as a predictor
- Updated comments in mcverry_2006.py
- Added new mcverry_2006 test tables to account for difference in site
parameter - Added qa_test_data classical case_32
[Michele Simionato (@micheles)]
- Fixed the rupture exporter for Canada
- Extended the
oq prepare_site_model
to optionally generate the
fields z1pt0, z2pt5 and vs30measured - It is now an error to specify both the sites and the site model in the
job.ini, to avoid confusion with the precedency - Implemented a reader for site models in CSV format
- Made the export_dir relative to the input directory
- Better error message for ShakeMaps with zero stddev
- Added a source_id-filtering feature in the job.ini
- Added a check on non-homogeneous tectonic region types in a source group
- Fixed the option
oq engine --config-file
that broke a few releases ago - Replaced
nodal_dist_collapsing_distance
and
hypo_dist_collapsing_distance
withpointsource_distance
and made
use of them in the classical and event based calculators
[Graeme Weatherill (@g-weatherill)]
- Fixes to hmtk completeness tables for consistent rates and addition of
more special methods to catalogue
[Michele Simionato (@micheles)]
- Restricted ChiouYoungs2008SWISS01 to StdDev.TOTAL to avoid a bug
when computing the GMFs with inter/intra stddevs - Raised an error if assets are discarded because too far from the hazard
sites (before it was just a warning) - Added an attribute .srcidx to every event based rupture and stored it
- Fixed an issue with the Byte Order Mark (BOM) for CSV exposures prepared
with Microsoft Excel - Reduced the site collection instead of just filtering it; this fixes
a source filtering bug and changes the numbers in case of GMF-correlation - Added a command
oq prepare_site_model
to prepare a sites.csv file
containing the vs30 and changed the engine to use it - Added a cutoff when storing a PoE=1 from a CSV file, thus avoiding NaNs
in classical_damage calculations - Reduced the data transfer in the risk model by only considering the
taxonomies relevant for the exposure - Extended
oq engine --run
to accept a list of files - Optimized the saving of the risk results in event based in the case of
many sites and changed the commandoq show portfolio_loss
to show
mean and standard deviation of the portfolio loss for each loss type
[Marco Pagani (@mmpagani)]
- Added a first and preliminary version of the GMM for the Canada model
represented in an analytical form. - Added a modified version of Atkinson and Macias to be used for the
calculation of hazard in NSHMP2014. - Added support for PGA to the Si and Midorikawa (1999).
[Michele Simionato (@micheles)]
- Made it possible to run the risk over an hazard calculation of another user
- Worked around the OverflowError: cannot serialize a bytes object larger
than 4 GiB in event based calculations - Started using Python 3.6 features
- Fixed the check on vulnerability function ID uniqueness for NRML 0.5
- Ruptures and GMFs are now computed concurrently, thus mitigating the
issue of slow tasks - Changed the name of the files containing the disaggregation outputs:
instead of longitude and latitude they contain the site ID now - If a worker runs close to out of memory, now a warning appears in the
main log - 'lons' and 'lats' are now spelled 'lon' and 'lat' in
the REQUIRES_SITES_PARAMETERS to be consistent with site_model.xml
[Daniele Viganò (@daniviga)]
- Fixed a bug about 'The openquake master lost its controlling terminal'
when running with 'nohup' from command line
[Michele Simionato (@micheles)]
- The
export_dir
is now created recursively, i.e. subdirectories are
automatically created if needed - Fixed a bug with the minimum_magnitude feature and extended it to be
tectonic region type dependent - Changed the rupture generation to yield bunches of ruptures, thus avoiding
the 4GB pickle limit - Parallelized the splitting of the sources, thus making the preprocessing
faster
[Marco Pagani (@mmpagani)]
- Implemented two additional versions of the Silva et al. 2002 GMPE
- Added the possibility of setting rake to 'undefined'
- Added first 'modified GMPE' implementing the site term for Canada 2015 model
- Fixed a bug in the disaggregation calculation due to wrong binning of magnitudes
[Michele Simionato (@micheles)]
- Now the combination uniform_hazard_spectra=true and mean_hazard_curves=false
is accepted again, as requested by Laurentiu Danciu (@danciul)
[Daniele Viganò (@daniviga)]
- Support for Ubuntu Trusty is removed
- Replaced supervisord with systemd in Ubuntu packages
[Michele Simionato (@micheles)]
- Changed the way the rupture geometries are stored to be consistent with
the source geometries - We are now saving information about the source geometries in the datastore
(experimentally) - Fixed a bug in event based with sampling causing incorrect GMFs
- Unified all distribution mechanisms to returns the outputs via zmq
- Added a check for inconsistent IMTs between hazard and risk
- Replaced the forking processpool with a spawning processpool
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 6 years ago

OpenQuake - OpenQuake Engine 3.2.0
[Matteo Nastasi (@nastasi-oq)]
- specified 'amd64' as the only architecture supported by ubuntu packages
[Michele Simionato (@micheles)]
- Changed the source writer: now the
srcs_weights
are written in the XML
file only if they are nontrivial - Changed the algorithm assigning the seeds: they are now generated before
the source splitting; also, a seed-related bug in the splitting was fixed - For event based, moved the rupture generation in the prefiltering phase
[Daniele Viganò (@daniviga)]
- Fixed a bug with CTRL-C when using the
processpool
distribution
[Robin Gee (@rcgee)]
- Raised the source ID length limit in the validation from 60 to 75 characters
to allow sources with longer IDs
[Michele Simionato (@micheles)]
- Introduced a
multi_node
flag inopenquake.cfg
and used it to
fully parallelize the prefiltering in a cluster - Used the rupture seed as rupture ID in event based calculations
- Changed the deprecation mechanism of GSIMs to use a class attribute
superseded_by=NewGsimClass
- Solved the pickling bug in event based hazard by using generator tasks
- Improved the distribution of the risk tasks by changing the weight
[Pablo Heresi (@pheresi)]
- Contributed the HM2018CorrelationModel
[Michele Simionato (@micheles)]
- Restored the
individual_curves
flag that for the moment is used for the
risk curves - Introduced two experimental new parameters
floating_distance
and
spinning_distance
to reduce hypocenter distributions and nodal plane
distributions of ruptures over the corresponding distances - Optimized the parsing of the logic tree when there is no "applyToSources"
- Made the IMT classes extensible in client code
- Reduced the hazard maps from 64 to 32 bit, to be consistent with the
hazard curves and to reduce by half the download time
[Graeme Weatherill (@g-weatherill)]
- Implements a fix of Montalva et al (2016) for new coefficients (now
Montalva et al. (2017))
[Michele Simionato (@micheles)]
- Parallelized the reading of the source models
- Optimized
oq info --report
by not splitting the sources in that case - Speedup the download of the hazard curves, maps and uhs
- Honored
concurrent_tasks
in the prefiltering phase too - It is now legal to compute uniform hazard spectra for a single period
- Added command
oq plot_memory
- Introduced a MultiGMPE concept
- Saved the size of the datastore in the database and used it in the WebUI
[Graeme Weatherill (@g-weatherill)]
- Adds geotechnical related IMTs
[Michele Simionato (@micheles)]
- Renamed /extract/agglosses -> /extract/agg_losses and same for aggdamages
- Supported equivalent epicentral distance with a
reqv_hdf5
file - Fixed the risk from ShakeMap feature in the case of missing IMTs
- Changed the way gmf_data/indices and ruptures are stored
- Added experimental support for dask
- Added 11 new site parameters for geotechnic hazard
- Changed the SiteCollection to store only the parameters required by the
GSIMs
[Robin Gee (@rcgee)]
- The number of sites is now an argument in the method _get_stddevs()
in the GMPE of Kanno, 2006
[Michele Simionato (@micheles)]
- Changed the serialization of ruptures to HDF5: the geometries are now
stored in a different dataset - Bug fix: the asset->site association was performed even when not needed
- Made it possible to serialize to .hdf5 multipoint sources and
nonparametric gridded sources - Added a check on source model logic tree files: the uncertaintyModel
values cannot be repeated in the same branchset - Added a flag
std_hazard_curves
; by setting it totrue
the user can
compute the standard deviation of the hazard curves across realizations
[Marco Pagani (@mmpagani)]
- Added Thingbaijam et al. (2017) magnitude-scaling relationship
[Michele Simionato (@micheles)]
- Added an /extract/ API for event_based_mfd
- Fixed a bug in the classical_damage calculators: multiple loss types
were not treated correctly
[Marco Pagani (@mmpagani)]
- Adding tests to the method computing decimal time
[Michele Simionato (@micheles)]
- Removed the event_based_rupture calculator and three others
- Added a field
size_mb
to theoutput
table in the database and made
it visible in the WebUI as a tooltip - Added a command
oq check_input job.ini
to check the input files - Made the loss curves and maps outputs from an event based risk calculation
visible to the engine and the WebUI (only the stats) - Added a check on duplicated branchIDs in GMPE logic trees
[Daniele Viganò (@daniviga)]
- Fixed a bug when reading exposure with utf8 names on systems with non-utf8
terminals (Windows) - Changed the openquake.cfg file and added a dbserver.listen parameter
- Added the hostname in the WebUI page. It can be customize by the user
via thelocal_settings.py
file
[Michele Simionato (@micheles)]
- Added a Content-Length to the outputs downloadable from the WebUI
- Fixed a bug when extracting gmf_data from a hazard calculation with a
filtered site collection - Stored an attributed
events.max_gmf_size
- Added a check on exposures with missing loss types
- Added a LargeExposureGrid error to protect the user by tricky exposures
(i.e. France with assets in the Antilles) - Changed the event_based_risk calculator to compute the loss curves and
maps directly; removed the asset_loss_table - Changed the event_based_risk calculator to distribute by GMFs always
- Optimized the memory consumption in the UCERF classical calculator
- Added a parameter
minimum_magnitude
in the job.ini - Added an utility
utils/combine_mean_curves.py
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 6 years ago

OpenQuake - OpenQuake Engine 3.1.0
[Marco Pagani (@mmpagani) and Changlong Li (@mstlgzfdh)]
- Added a version of the Yu et al. (2013) GMPE supporting Mw
[Michele Simionato (@micheles)]
- Reduced the data transfer in the UCERF calculators
- Stored the zipped input files in the datastore for reproducibility
- Fixed a regression when reading GMFs from an XML in absence of a sites.csv
file
[Robin Gee (@rcgee)]
- Extend
oq to_shapefile
method to also work withYoungsCoppersmithMFD
andarbitraryMFD
MFD typologies.
[Michele Simionato (@micheles)]
- Now the hazard statistics can be computed efficiently even in a single
calculation, i.e. without the--hc
option - Added a check on the Python version in the
oq
command - Reduced the data transfer when sending the site collection
- Changed the default
filter_distance
[Daniele Viganò (@daniviga)]
- Fixed a bug where the PID was not saved into the database
when using the command line interface - Made it impossible to fire multiple
CTRL-C
in sequence
to allow processes teardown and tasks revocation when Celery is used
[Michele Simionato (@micheles)]
- Used
scipy.spatial.distance.cdist
inMesh.get_min_distance
- Prefiltered sites and assets in scenario calculations
- Made it possible to specify the
filter_distance
in thejob.ini
- Made rtree optional again and disabled it in macOS
- Optimized the SiteCollection class and doubled the speed of distance
calculations in most continental scale calculations - Fixed an ordering bug in event based risk from GMFs when using a
vulnerability function with PMF - Replaced Rtree with KDtree except in the source filtering
- Parallelized the source prefiltering
- Removed the tiling feature from the classical calculator
- Undeprecated
hazardlib.calc.stochastic.stochastic_event_set
and
made its signature right - Removed the source typology from the ruptures and reduced the rupture
hierarchy - Removed the mesh spacing from PlanarSurfaces
- Optimized the instantiation of the rtree index
- Replaced the old prefiltering mechanism with the new one
[Daniele Viganò (@daniviga)]
- Managed the case of a dead controlling terminal (SIGHUP)
[Michele Simionato (@micheles)]
- Removed Decimal numbers from the PMF distribution in hazardlib
- Fixed another tricky bug with rtree filtering across the international
date line - Added a parameter
prefilter_sources
with valuesrtree|numpy|no
- Removed the prefiltering on the workers, resulting in a huge speedup
for gridded ruptures at the cost of a larger data transfer - Changed the
losses_by_event
output to export a single .csv file with
all realizations - Added a
cross_correlation
parameter used when working with shakemaps - Now sites and exposure can be set at the same time in the job.ini
- Introduced a
preclassical
calculator - Extended the scenario_damage calculator to export
dmg_by_event
outputs as well aslosses_by_event
outputs if there is a consequence
model - Unified
region
andregion_constraint
parameters in the job.ini - Added a check to forbid duplicated GSIMs in the logic tree
- Introduced some changes to the
realizations
exporter (renamed field
uid
->branch_path
and removed themodel
field) - Added a command
oq celery inspect
- Reduced the check on too many realizations to a warning, except for
event based calculations - Improved the hazard exporter to exports only data for the filtered
site collection and not the full site collection - Extended the BCR exporter to export the asset tags
[Catalina Yepes (@CatalinaYepes)]
- Revised/enhanced the risk demos
[Michele Simionato (@micheles)]
- Added a warning about the option
optimize_same_id_sources
when the user
should take advantage of it
[Daniele Viganò (@daniviga)]
celery-status
script converted intooq celery status
command- Removed Django < 1.10 backward compatibility
- Updated Python dependices (numpy 1.14, scipy 1.0.1,
Django 1.10+, Celery 4+)
[Michele Simionato (@micheles)]
- Implemented scenario_risk/scenario_damage from shakemap calculators
- Exported the asset tags in the asset based risk outputs
- Fixed a numeric issue for nonparametric sources causing the hazard curves
to saturate at high intensities - Added an utility to download shakemaps
- Added an XML exporter for the site model
- Slight change to the correlation module to fix a bug in the SMTK
- Added a distribution mechanism
threadpool
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq almost 7 years ago

OpenQuake - OpenQuake Engine 3.0.1
[Michele Simionato (@micheles)]
- Fixed a numeric bug affecting nonparametric sources and causing saturating
hazard curves at high intensity
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq about 7 years ago

OpenQuake - OpenQuake Engine 3.0.0
[Michele Simionato (@micheles)]
- Fixed a bug with newlines in the logic tree path breaking the CSV exporter
for the realizations output - When setting the event year, each stochastic event set is now considered
independent - Fixed a bug in the HMTK plotting libraries and added the ability to
customize the figure size - Fixed bug in the datastore: now we automatically look for the attributes
in the parent dataset, if the dataset is missing in the child datastore - Extended extract_losses_by_asset to the event based risk calculator
- Stored in source_info the number of events generated per source
- Added a script utils/reduce_sm to reduce the source model of a calculation
by removing all the sources not affecting the hazard - Deprecated
openquake.hazardlib.calc.stochastic.stochastic_event_set
- Fixed the export of ruptures with a GriddedSurface geometry
- Added a check for wrong or missing
<occupancyPeriods>
in the exposure - Fixed the issue of slow tasks in event_based_risk from precomputed GMFs
for sites without events - Now the engine automatically associates the exposure to a grid if
region_grid_spacing
is given and the sites are not specified otherwise - Extracting the site mesh from the exposure before looking at the site model
- Added a check on probs_occur summing up to 1 in the SourceWriter
oq show job_info
now shows the received data amount while the
calculation is progressing
[Daniele Viganò (@daniviga)]
- Removed support for Python 2 in
setup.py
- Removed files containing Python 2 dependencies
- Added support for WebUI groups/permissions on the
export outputs and datastore API endpoints
[Michele Simionato (@micheles)]
- Fixed
oq show
for multiuser with parent calculations - Fixed
get_spherical_bounding_box
for griddedSurfaces - Implemented disaggregation by source only for the case
of a single realization in the logic tree (experimental) - Replaced celery with celery_zmq as distribution mechanism
- Extended
oq info
to work on source model logic tree files - Added a check against duplicated fields in the exposure CSV
- Implemented event based with mutex sources (experimental)
- Add an utility to read XML shakemap files in hazardlib
- Added a check on IMTs for GMFs read from CSV
[Daniele Viganò (@daniviga)]
- Changed the default DbServer port in Linux packages from 1908 to 1907
[Michele Simionato (@micheles)]
- Logged rupture floating factor and rupture spinning factor
- Added an extract API for losses_by_asset
- Added a check against GMF csv files with more than one realization
- Fixed the algorithm setting the event year for event based with sampling
- Added a command
oq importcalc
to import a remote calculation in the
local database - Stored avg_losses-stats in event based risk if there are multiple
realizations - Better error message in case of overlapping sites in sites.csv
- Added a an investigation time attribute to source models with
nonparametric sources - Bug fix: in some cases the calculator
event_based_rupture
was generating
too few tasks and the same happened for classical calculation with
`optimize_same_id_sources=true - Changed the ordering of the epsilons in scenario_risk
- Added the ability to use a pre-imported risk model
- Very small result values in scenario_damage (< 1E-7) are clipped to zero,
to hide numerical artifacts - Removed an obsolete PickleableSequence class
- Fixed error in classical_risk when num_statistics > num_realizations
- Fixed a TypeError when reading CSV exposures with occupancy periods
- Extended the check on duplicated source IDs to models in format NRML 0.5
- Added a warning when reading the sources if .count_ruptures() is
suspiciously slow - Changed the splitting logic: now all sources are split upfront
- Improved the splitting of complex fault sources
- Added a script to renumber source models with non-unique source IDs
- Made the datastore of calculations using GMPETables relocatable; in
practice you can run the Canada model on a cluster, copy the .hdf5 on
a laptop and do the postprocessing there, a feat previously impossible.
[Valerio Poggi (@klunk386)]
- Included a method to export data directly from the Catalogue() object into
standard HMTK format.
[Michele Simionato (@micheles)]
- Now the parameter
disagg_outputs
is honored, i.e. only the specified
outputs are extracted from the disaggregation matrix and stored - Implemented statistical disaggregation outputs (experimental)
- Fixed a small bug: we were reading the source model twice in disaggregation
- Added a check to discard results coming from the wrong calculation
for the distribution modecelery_zmq
- Removed the long time deprecated commands
oq engine --run-hazard
andoq engine --run-risk
- Added a distribution mode
celery_zmq
- Added the ability to use a preimported exposure in risk calculations
- Substantial cleanup of the parallelization framework
- Fixed a bug with nonparametric sources producing negative probabilities
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq about 7 years ago

OpenQuake - OpenQuake Engine 2.9.0
[Michele Simionato (@micheles)]
- Deprecated the NRML format for the GMFs
[Matteo Nastasi (@nastasi-oq)]
- Debian package moved to Python 3.5
[Graeme Weatherill (@g-weatherill)]
- Small bug fix for Derras et al (2014) GMPE when Rjb = 0.0
[Michele Simionato (@micheles)]
- Improved the .rst reports for classical calculations with tiling
- Reduced the data transfer in the event based risk calculator by
reading the event IDs directly from the workers - Integrated the gmf_ebrisk calculator inside the event based calculator
- Improved the weighting algorithm for the sources in the event based
rupture calculator - Improved error message for source model files declared as nrml/0.5 when
they actually are nrml/0.4 - Optimized the classical_bcr calculator for the case of many realizations
- Extended the exposure CSV importer to manage the
retrofitted
field
[Marco Pagani (@mmpagani), Changlong Li]
- Adds the Yu et al. (2013) GMPEs
[Michele Simionato (@micheles)]
- Fixed a bug in the hazard outputs: they were displayed in the WebUI even
if they were missing - Implemented splitting of nonparametric sources
[Marco Pagani (@mmpagani)]
- Fixed the 'get_closest_points' method for the
openquake.hazardlib.geo.surface.gridded.GriddedSurface
class
[Michele Simionato (@micheles)]
- Now the source model paths are relative to the source model logic tree file
- Fixed an international date line bug when using rtree for prefiltering
- Deprecated
nrml.parse
, it is now callednrml.to_python
- Improved the task distribution by splitting the AreaSources upfront
and by improving the weighting algorithm
[Daniele Viganò (@daniviga)]
- TMPDIR can be customized via the
openquake.cfg
file - Updated dependencies compatibility in setup.py
[Michele Simionato (@micheles)]
- If the hazard is precomputed, setting the
site_model_file
,
gsim_logic_tree_file
orsource_model_logic_tree_file
gives a warning - Removed the obsolete API
/extract/qgis-
and addedextract/hcurves
,
extract/hmaps
,extract/uhs
for use with the QGIS plugin - Removed the deprecated GeoJSON exporters
- Fixed a bug with
oq engine --run job.ini --exports npz
- Fixed the ordering of the IMTs in hazardlib
oq engine --delete-calculation
now aborts the calculation first- Added some documentation about how to access the datastore
- Introduced a minimum_distance for the GSIMs
- Fixed several small issues with the UCERF calculators; now ucerf_hazard
can be used as a precalculator of gmf_ebrisk - Initial support for disaggregation by source
- Added the ability to import large exposures as CSV (experimental)
- Changed the source weights to be proportional to the number of GSIMs
relevant for the tectonic region type, thus improving the task distribution
[Daniele Viganò (@daniviga)]
- The RPM python3-oq-engine package replaced python-oq-engine
- RPM packages moved to Python 3.5
[Michele Simionato (@micheles)]
- Added the ability to dump a specific calculation
- Changed the signature of the extract command to
oq extract what calc_id
,
wherewhat
is a path info plus query string;
[Graeme Weatherill (@g-weatherill)]
- Implements significant duration GMPEs of Bommer et al. (2009) and Afshari &
Stewart (2016) - Adds significant duration IMT definitions to support IMTs
[Michele Simionato (@micheles)]
- Run the DbServer as a detached process
- Improved the test coverage for event based with GMF correlation
- Optimized the event based risk calculator from ruptures: now the ruptures
are instantiated in the workers and not in the controller if possible - Exported the parameter
ses_per_logic_tree_path
in the ruptures.csv file - Improved the display names for the risk outputs
- Added a /v1/:calc_id/abort route to the engine server and Abort buttons
to the WebUI - Fixed the seeds properly in the case of vulnerability functions with PMFs:
now even if the ground motion fields are all equal, the risk numbers
will be different since there is a different seed per each field - Stored a rupture loss table in event based risk calculations
- Made sure that the number of effective ruptures is stored in csm_info
- Fixed the HMTK tests to work with numpy from 1.11 to 1.14
- Added a command
oq shell
to open an embedded (I)Python shell - Turned the 'realizations' output into a dynamic output
[Matteo Nastasi (@nastasi-oq)]
- Split package from python-oq-engine to python-oq-engine,
python-oq-engine-master and python-oq-engine-worker - Implemented an API
/v1/on_same_fs
to check filesystem accessibility
between engine and a client application
[Michele Simionato (@micheles)]
- Reduced the data transfer when computing the hazard curves in postprocessing
- Removed the FilteredSiteCollection class
[Nick Ackerley (@nackerley)]
- Some improvements to the plotting routines of the HMTK
[Michele Simionato (@micheles)]
- Removed the ability to run
oq engine --run job_h.ini,job_r.ini
- Forbidden the site model in gmf_ebrisk calculations
- When the option
--hc
is given the ruptures can now be read directly
from the workers, thus saving some startup time - Optimized the storage of the ruptures: the site IDs are not saved anymore
- Added a check for missing
risk_investigation_time
- Reduced the data transfer in the gmf_ebrisk calculator
- Now the gmf_ebrisk calculator builds the aggregate loss curves too
- Extended the gmf_ebrisk calculator to use the GMFs produced by an event
based hazard calculation, both via CSV and via the --hc option - Fixed a performance bug in the computations of the aggregate loss curves
by reading the full event loss table at once - Fixed
oq zip
to work with gmf_ebrisk calculations - Fixed a serious bug in the gmf_ebrisk calculator: the results were in most
cases wrong and dependent on the number of spawned tasks - Now the
master_seed
controls the generation of the epsilons in all
situations (before in event_based_risk withoutasset_correlation
it was
managed byrandom_seed
) - Changed the management of the epsilons in the gmf_ebrisk calculator to
be the same as in the event_based_risk calculator - Added a check on the input files: the listed paths must be relative paths
- Fixed a bug when storing the disagg-bins in the case the lenghts of the
arrays are not the same for all sites - In the case of a single tile the prefiltering was applied twice: fixed the
problem and generally improved the filtering/weighting of the sources - Fixed the CSV exporter for disaggregation outputs when iml_disagg is set
[Graeme Weatherill (@g-weatherill)]
- Fixed ASK14 GMPE behaviour to remove ValueError
- Implements comprehensive suite of NGA East ground motion models for
central and eastern United States - Minor modification of check_gsim functions to permit instantiated classes
to be passed
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq about 7 years ago

OpenQuake - OpenQuake Engine 2.8.0
[Michele Simionato (@micheles)]
iml_disagg
andpoes_disagg
cannot coexist in the job.ini file- Added a check on
conditional_loss_poes
in the event_based_risk calculator:
now it requiresasset_loss_table
to be set
[Anirudh Rao (@raoanirudh)]
- Sorted taxonomies before comparison in the BCR calculator
[Michele Simionato (@micheles)]
- Optimized the disaggregation calculation by performing the PMF extraction
only once at the end of the calculation and not in the workers - Added an
oq zip
command - Avoided running an useless classical calculation if
iml_disagg
is given
[Valerio Poggi (@klunk386)]
- Implemented subclasses for ZhaoEtAl2006Asc and AtkinsonBoore2006 to account
for the distance filter used by SGS in their PSHA model for Saudi Arabia.
Distance threshold is hard coded to 5km in this implementation.
[Michele Simionato (@micheles)]
- Added a warning if the aggregated probability of exceedence (poe_agg) in
a disaggregation output is very dissimilar from poes_disagg - Removed the flag
split_sources
- Optimized the operation
arrange_data_in_bins
in the disaggregation
calculator and reduced the data transfer by the number of tectonic
region types - Improved the sending of the sources to the workers, especially for the
MultiPointSources - Better error message if the user sets a wrong site_id in the sites.csv file
- Now the distance and lon lat bins for disaggregation are built directly
from the integration distance - Used uniform bins for disaggregation (before they were potentially
different across realizations / source models) - Improved the error message if the user forgets both sites and sites.csv
in a calculation starting from predetermined GMFs - Improved the error message if the user specifies a non-existing file in
the job.ini - Change the ordering of the TRT bins in disaggregation: now they are
ordered lexicographically - Added more validity checks on the job.ini file for disaggregation
- Changed the .hdf5 format generated by
oq extract -1 hazard/rlzs
; you can
still produce the old format by usingoq extract -1 qgis-hazard/rlzs
- Optimized the disaggregation calculator by instantiating
scipy.stats.truncnorm
only once per task and not once per rupture - Optimized the disaggregation calculator when
iml_disagg
is specified,
by caching duplicated results - Made sure that
oq dbserver stop
also stops the zmq workers if the zmq
distribution is enabled - Added a check when disaggregating for a PoE too big for the source model
- If
iml_disagg
is given, forbidintensity_measure_types_and_levels
- Fixed the disaggregation outputs when
iml_disagg
is given: the PoE has
been removed by the name of the output and correct PoE is in the XML file - Fixed
oq export loss_curves/rlzs
for event_based_risk/case_master - Removed the obsolete parameter
loss_curve_resolution
- Fixed a Python 3 unicode error with
oq engine --run job.zip
- Added a command
oq abort <calc_id>
- Stored the avg_losses in classical risk in the same way as in
event_based_risk and made them exportable with the same format - Removed the outputs losses_by_tag from the event based risk calculators
and changed the default for the avg_losses flag to True - WebUI: now every job runs in its own process and has name oq-job-
- Refactored the WebUI tests to use the DbServer and django.test.Client
- Added an experimental feature
optimize_same_id_sources
- Fixed a bug in gmf_ebrisk when there are zero losses and added more
validity checks on the CSV file - The parameter
number_of_ground_motion_fields
is back to being optional in
scenario calculators reading the GMFs from a file, since it can be inferred - Removed the deprecated risk outputs dmg_by_tag, dmg_total,
losses_by_tag, losses_total - Deprecated the .geojson exporters for hazard curves and maps
- We now keep the realization weights in case of logic tree sampling (before
they were rescaled to 1 / R and considered all equals) - Optimized sampling for extra-large logic trees
- Added a check on missing
source_model_logic_tree
- Fix to the gmf_ebrisk calculator: the realization index in the event loss
table was incorrect and too many rows were saved - Added a way to restrict the source logic model tree by setting a sm_lt_path
variable in the job.ini (experimental) - Fixed the precedence order when reading openquake.cfd
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 7 years ago

OpenQuake - OpenQuake Engine 2.7.0
[Michele Simionato (@micheles)]
- Fixed the risk exporters for tags containing non-ASCII characters
[Valerio Poggi (@klunk386)]
- Implemented the Pankow and Pechmann 2004 GMPE (not verified)
[Graeme Weatherill (@g-weatherill)]
- Added Derras et al. (2014) GMPE
- Implemented the Zhao et al. (2016) GMPE for active shallow crustal,
subduction interface and subduction slab events - Adds 'rvolc' (volcanic path distance) to the distance context
[Michele Simionato (@micheles)]
- The outputs loss_curves-rlzs and loss_curves-stats are now visible again
as engine outputs (before they were hidden) - Added a debug command
oq plot_assets
and fixedoq plot_sites
- Added a flag
--multipoint
to the commandoq upgrade_nrml
- Deprecated several outputs: hcurves-rlzs, agg_loss_table, losses_total,
dmg_by_tag, dmg_total, losses_by_tag, losses_by_tag-rlzs - Extended the command
oq extract job_id
to check the database - Optimized the scenario damage calculator by vectorizing the calculation
of the damage states - Extended the FragilityFunctions to accept sequences/arrays of intensity
levels, as requested by Hyeuk Ryu
[Daniele Viganò (@daniviga)]
- Added support for groups in the WebUI/API server
[Michele Simionato (@micheles)]
- Added an experimental distribution mode of kind "zmq"
- Implemented an API
/extract/agglosses/loss_type?tagname1=tagvalue1&...
with the ability to select all tagvalues (*
) for a given tagname - Deprecated reading hazard curves from CSV, since it was an experimental
features and nobody is using it - Changed the exporter of the event loss table to export all realizations
into a single file
[Graeme Weatherill (@g-weatherill)]
- Adds the Bindi et al. (2017) GMPEs for Joyner-Boore and Hypocentral
Distance
[Michele Simionato (@micheles)]
- Made it mandatory to specify the sites for all calculators reading the
GMFs from a CSV file - Tested also the case of calculators requiring a shared_dir
- Improved the error checking when parsing vulnerability functions with PMF
[Daniele Viganò (@daniviga)]
- Fixed a bug in
oq reset
command which was not stopping
the DbServer properly
[Michele Simionato (@micheles)]
- Implemented an API
/extract/aggcurves/loss_type?tagname1=tagvalue1&...
- Implemented an API
/extract/aggdamages/loss_type?tagname1=tagvalue1&...
- Every time a new calculation starts, we check if there is a newer version
of the engine available on GitHub - Changed the search logic for the configuration file
openquake.cfg
- Implemented an API
/extract/agglosses/loss_type?tagname1=tagvalue1&...
- Fixed several bugs in the gmf_ebrisk calculator, in particular in presence
of asset correlation and missing values on some sites - Fixed a bug with logging configured a WARN level instead of INFO level
if rtree was missing (affecting onlyoq run
) - Changed the ScenarioDamage demo to use two GSIMs
- Added a node
<tagNames>
in the exposure - Added a web API to extract the attributes of a datastore object
- Fixed
oq to_shapefile
andoq from_shapefile
to work with NRML 0.5
(except MultiPointSources) - Added information about the loss units to the
agg_curve
outputs oq extract hazard/rlzs
now extracts one realization at the time- The rupture filtering is now applied during disaggregation
- Changed the /extract wen API to return a compressed .npz file
- Fixed a bug with multi-realization disaggregation, celery and no
shared_dir: now the calculation does not hang anymore
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 7 years ago

OpenQuake - OpenQuake Engine 2.6.0
[Michele Simionato (@micheles)]
- Fixed the GMF .npz export when the GMFs are extracted from a file
- Stored the number of nonzero losses per asset and realization in
event_based_risk calculations with asset_loss_table=True
[Daniele Viganò (@daniviga)]
- Fixed 'openquake' user creation in RPM when SELinux is in enforcing mode
- Changed the behaviour during RPM upgrades:
the old openquake.cfg configuration file is left untouched and the new one
installed as openquake.cfg.rpmnew
[Michele Simionato (@micheles)]
- Added a check on
number_of_ground_motion_fields
when the GMFs are
extracted from a NRML file - Added a command
oq extract
able to extract hazard outputs into HDF5 files - Fixed a bug when reading GMFs from a NRML file: the hazard sites were
read from the exposure (incorrectly) and not from the GMFs - Fixed a bug in MultiMFDs of kind
arbitraryMFD
[Valerio Poggi (@klunk386)]
- Implemented the Atkinson (2010) GMPE as subclass
Atkinson2010Hawaii
ofBooreAtkinson2008
[Michele Simionato (@micheles)]
- Used the new loss curves algorithm for the asset loss curves and loss maps
- Added a generic
extract
functionality to the web API - Fixed a bug when computing the rjb distances with multidimensional meshes
- Changed the GMF CSV exporter to export the sites too; unified it with the
event based one
[Daniele Viganò (@daniviga)]
- Changed the 'CTRL-C' behaviour to make sure that all children
processes are killed when a calculation in interrupted
[Michele Simionato (@micheles)]
- Fixed a bug in the statistical loss curves exporter for classical_risk
- Replaced the agg_curve outputs with losses by return period outputs
- Turned the DbServer into a multi-threaded server
- Used zmq in the DbServer
- Fixed correct_complex_sources.py
- Fixed
oq export hcurves-rlzs -e hdf5
- Changed the source weighting algorithm: now it is proportional to the
the number of affected sites - Added a command
oq show dupl_sources
and enhancesoq info job.ini
to display information about the duplicated sources - Added a flag
split_sources
in the job.ini (default False) - Updated the demos to the format NRML 0.5
[Valerio Poggi (@klunk386)]
- Implemented the Munson and Thurber 1997 (Volcanic) GMPE
[Graeme Weatherill (@g-weatherill)]
- Adapts CoeffsTable to be instantiated with dictionaries as well as strings
[Daniele Viganò (@daniviga)]
- Extended the 'oq reset' command to work on multi user installations
[Michele Simionato (@micheles)]
- Fixed a bug: if there are multiple realizations and no hazard stats,
it is an error to set hazard_maps=true or uniform_hazard_spectra=true - Implemented aggregation by asset tag in the risk calculators
- Fixed a small bug in the HMTK (in
get_depth_pmf
) - Extended the demo LogicTreeCase1ClassicalPSHA to two IMTs and points
- Added a documentation page
oq-commands.md
- Removed the automatic gunzip functionality and added an automatic
checksum functionality plus anoq checksum
command - Made the demo LogicTreeCase2ClassicalPSHA faster
- Fixed the export by realization of the hazard outputs
- Changed the generation of loss_maps in event based risk, without the option
--hc
: now it is done in parallel, except when reading the loss ratios - Renamed
--version-db
to--db-version
, to avoid
confusions betweenoq --version
andoq engine -version
- Fixed bug in the exported outputs: a calculation cannot export the results
of its parent - Extended the
sz
field in the rupture surface to 2 bytes, making it
possible to use a smaller mesh spacing - Changed the ordering of the fields in the loss curves and loss maps
generated by the event based risk calculator; now the insured fields
are at the end, before they were intermixed with each loss type - Changed the format of array
all_loss_ratios/indices
- The size in bytes of the GMFs was saved incorrectly
- Added an exporter gmf_scenario/rup-XXX working also for event based
- First version of the calculator gmf_ebrisk
- Implemented risk statistics for the classical_damage calculator
- Added a .csv importer for the ground motion fields
- Implemented risk statistics for the classical_bcr calculator
[Armando Scarpati (@hascar)]
- Show to the user the error message when deleting a calculation
in the WebUI fails
[Michele Simionato (@micheles)]
- Better error message when running a risk file in absence of hazard
calculation - Changed the sampling logic in event based calculators
- Imported GMFs from external file into the datastore
[Daniele Viganò (@daniviga)]
- Added the 'celery-status' script in 'utils' to check the
task distribution in a multi-node celery setup
[Michele Simionato (@micheles)]
- Removed an excessive check from the WebUI: now if an output exists,
it can be downloaded even if the calculation was not successful
[Armando Scarpati (@hascar)]
- Visualized the calculation_mode in the WebUI
[Michele Simionato (@micheles)]
- Made the upgrade_manager transactional again
- Changed the storage of the GMFs; as a consequence the exported .csv
has a different format
[Daniele Viganò (@daniviga)]
- Fixed a bug introduced by a change in Django 1.10 that was causing
the HTTP requests log to be caught by our logging system and
then saved in the DbServer - Updated requirements to allow installation of Django 1.11 (LTS)
[Michele Simionato (@micheles)]
- Added two commands
oq dump
andoq restore
- Added a check that on the number of intensity measure types when
generating uniform hazard spectra (must be > 1)
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 7 years ago

OpenQuake - OpenQuake Engine 2.5.0
[Armando Scarpati (@hascar)]
- Added a confirmation dialog when trying to remove a calculation via the
WebUI
[Michele Simionato (@micheles)]
- Hazard maps were not exposed to the engine in event based calculations
- Fixed the check on the DbServer instance: it was failing in presence
of symbolic links - Optimized MultiMFD objects for the case of homogeneous parameters
- Added an .npz exporter for the scenario_damage output
dmg_by_asset
- Removed the pickled CompositeSourceModel from the datastore
- Improved the error message when the rupture mesh spacing is too small
- Unified the versions of baselib, hazardlib and engine
- Raised a clear error if the user does not set the
calculation_mode
- Made it is possible to pass the hdf5 full path to the DataStore class
- Made it possible to use CELERY_RESULT_BACKEND != 'rpc://'
[Michele Simionato (@micheles), Daniele Viganò (@daniviga)]
- Merged the
oq-hazardlib
repository intooq-engine
.
Thepython-oq-hazardlib
package is now provided bypython-oq-engine
[Michele Simionato (@micheles)]
- Added CSV exports for the agg_curve outputs
- Fixed a bug in
oq export hcurves-rlzs --exports hdf5
- Restored the parameter sites_per_tile with a default of 20,000, i.e.
tiling starts automatically if there are more than 20,000 sites - Better error message for invalid exposures
- Removed the deprecated XML outputs of the risk calculators
- Added an end point
v1/calc/XXX/oqparam
to extract the calculation
parameters as a JSON dictionary - Fixed the excessive logic tree reduction in event based calculators
- Improved the command
oq db
- Fixed an encoding bug when logging a filename with a non-ASCII character
- Fixed a bug when exporting a GMF with
ruptureId=0
- Added a parameter
disagg_outputs
to specify the kind of disaggregation
outputs to export - Raised an early error if the consequence model is missing some taxonomies
- Restored the tiling functionality in the classical calculator; to enable
it, setnum_tiles
in the job.ini file - If there are no statistical hazard curves to compute, do not transfer
anything - Fixed a small bug in
oq plot
and added a test
[Daniele Viganò (@daniviga)]
- Added
collectstatic
andcreatesuperuser
subcommands to the
oq webui
command - Added a
local_settings.py.pam
template to use PAM as the authentication
provider for API and WebUI - Now the command
oq webui start
tries to open a browser tab
with the WebUI loaded
Climate Change - Natural Hazard and Storm
- Python
Published by daniviga almost 8 years ago

OpenQuake - OpenQuake Engine 2.4.0
[Michele Simionato (@micheles)]
- Now the command
oq export loss_curves/rlz-XXX
works both for the
classical_risk
calculator and theevent_based_risk
calculator
[Daniele Viganò (@daniviga)]
- Remove the default 30 day-old view limit in the WebUI calculation list
[Michele Simionato (@micheles)]
- Fixed a broken import affecting the command
oq upgrade_nrml
- Made it possible to specify multiple file names in
in the source_model_logic_tree file - Reduced the data transfer in the object
RlzsAssoc
and improved the
postprocessing of hazard curves when the option--hc
is given - Changed the
ruptures.xml
exporter to export unique ruptures - Fixed a bug when downloading the outputs from the WebUI on Windows
- Made
oq info --report
fast again by removing the rupture fine filtering - Improved the readibility of the CSV export
dmg_total
- Removed the column
eid
from the CSV exportruptures
; also
renamed the fieldserial
torup_id
and reordered the fields - Changed the event loss table exporter: now it exports an additional
column with therup_id
- Changed scenario npz export to export also the GMFs outside the maximum
distance - Fixed scenario npz export when there is a single event
- Replaced the event tags with numeric event IDs
- The mean hazard curves are now generated by default
- Improved the help message of the command
oq purge
- Added a
@reader
decorator to mark tasks reading directly from the
file system - Removed the .txt exporter for the GMFs, used internally in the tests
- Fixed a bug with relative costs which affected master for a long time,
but not the release 2.3. The insured losses were wrong in that case. - Added an .hdf5 exporter for the asset loss table
- Loss maps and aggregate losses are computed in parallel or sequentially
depending if the calculation is a postprocessing calculation or not - Deprecated the XML risk exporters
- Removed the .ext5 file
- Restored the parameter
asset_loss_table
in the event based calculators - Added a full .hdf5 exporter for
hcurves-rlzs
- Removed the
individual_curves
flag: now by default only the statistical
hazard outputs are exported - Saved a lot of memory in the computation of the hazard curves and stats
- Renamed the parameter
all_losses
toasset_loss_table
- Added an experimental version of the event based risk calculator which
is able to use GMFs imported from an external file - Added a
max_curve
functionality to compute the upper limit of the
hazard curves amongst realizations - Raised an error if the user specifies
quantile_loss_curves
orconditional_loss_poes
in a classical_damage calculation - Added a CSV exporter for the benefit-cost-ratio calculator
- The classical_risk calculator now reads directly the probability maps,
not the hazard curves - Turned the loss curves into on-demand outputs
for the event based risk calculator - The loss ratios are now stored in the datastore and not in an
external .ext5 file - The engine outputs are now streamed by the WebUI
- Used a temporary export directory in the tests, to avoid conflicts
in multiuser situations - Added an .npz exporter for the loss maps
- Raised an error early when using a complex logic tree in scenario
calculations - Changed the CSV exporter for the loss curves: now it exports all the
curves for a given site for the classical_risk calculator - Fixed the save_ruptures procedure when there are more than 256
surfaces in the MultiSurface - Renamed the
csq_
outputs of the scenario_damage tolosses_
- Changed the way scenario_damage are stored internally to be more
consistent with the other calculators - Removed the GSIM from the exported file name of the risk outputs
- New CSV exporter for GMFs generated by the event based calculator
- The event IDs are now unique and a constraint on the maximum
number of source groups (65,536) has been added - Added an output
losses_by_event
to the scenario_risk calculator - Changed the output
ruptures.csv
to avoid duplications - Added an output
losses_by_taxon
to the scenario_risk calculator - Fixed a performance bug in
get_gmfs
: now the scenario risk and damage
calculators are orders of magnitude faster for big arrays - Added an export test for the event loss table in the case of multiple TRTs
- Removed the experimental
rup_data
output - Added an .npz export for the output
losses_by_asset
- Exported the scenario_risk aggregate losses in a nicer format
[Daniele Viganò (@daniviga)]
- The 'oq webui' command now works on a multi-user installation
- Splitted RPM packages into python-oq-engine (single node) and
python-oq-engine-master/python-oq-engine-worker (multi-node)
[Paolo Tormene (@ptormene)]
- The 'Continue' button in the Web UI is now available also for risk
calculations
[Michele Simionato (@micheles)]
- Fixed a Python 3 bug in the WebUI when continuing a calculation: the
hazard_calculation_id was passed as a string and not as an integer - Changed to rupture storage to use variable length-arrays, with a speedup
of two orders of magnitude - Avoided storing twice the rupture events
- Optimized the serialization of ruptures on HDF5 by using a
sids
output - Changed the Web UI button from "Run Risk" to "Continue"
- The
avg
field in the loss curves is computed as the integral of the curve
again, and it is not extracted from the avg_losses output anymore - Made the
fullreport
exportable - Fixed the
rup_data
export, since the boundary field was broken - Restored the output
losses_by_taxon
in the event_based_risk calculator - Fixed the calculator event based UCERF so that average losses can
be stored
[Daniele Viganò (@daniviga)]
- Added a check to verify that an 'oq' client is talking to the
right DbServer instance - Introduced an optional argument for 'oq dbserver' command line
to be able to override its default interface binding behaviour
[Michele Simionato (@micheles)]
- Optimized the event based calculators by reducing the number of calls
to the GmfComputer and by using larger arrays - Added a check on missing vulnerability functions for some loss type
for some taxonomy - Now we save the GMFs on the .ext5 file, not the datastore
- Fixed bug in event_based_risk: it was impossible to use vulnerability
functions with "PM" distribution - Fixed bug in event_based_risk: the ebrisk calculator is required as
precalculator of event_based_risk, not others - Fixed bug in scenario_risk: the output
all_losses-rlzs
was aggregated
incorrectly - Now the ucerf_risk calculators transfer only the events, not the ruptures,
thus reducing the data transfer of several orders of magnitude - Added a view
get_available_gsims
to the WebUI and fixed the API docs - Introduced a configuration parameter
max_site_model_distance
with default
of 5 km - Implemented sampling in the UCERF event based hazard calculator
[Daniele Viganò (@daniviga)]
- Use threads instead of processes in DbServer because SQLite3
isn't fork-safe on macOS Sierra
[Michele Simionato (@micheles)]
- Fixed a TypeError when deleting a calculation from the WebUI
- Extended the command
oq to_hdf5
to manage source model files too - Improved significantly the performance of the event based calculator
when computing the GMFs and not the hazard curves - Stored information about the mean ground motion in the datastore
- Saved the rupture mesh with 32 floats instead of 64 bit floats
- Raised the limit on the event IDs from 2^16 to 2^32 per task
- Fixed classical_risk: there was an error when computing the statistics
in the case of multiple assets of the same taxonomy on the same site - Changed the UCERF event based calculators to parallelize by SES
- Fixed a site model bug: when the sites are extracted from the site model
there is no need to perform geospatial queries to get the parameters - Added a command
oq normalize
to produce goodsites.csv
files - Introduced a
ses_seed
parameter to specify the seed used to generate
the stochastic event sets;random_seed
is used for the sampling only - Changed the
build_rcurves
procedure to read the loss ratios directly from
the workers
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq almost 8 years ago

OpenQuake - OpenQuake Engine 2.3.0
[Michele Simionato (@micheles)]
oq info --report
now filters the ruptures and reports the correct
number of effective ruptures even for classical calculators- Stripped the TRT information from the event loss table CSV export
and optimized its performance - Fixed a bug when storing the GMPE logic tree file in the datastore
- Added a command
oq run_tiles
(experimental) - Fixed the event based calculator so that it can run UCERF ruptures
- Fixed a bug in the scenario_risk calculator in case of multiple assets
of the same taxonomy on the same site with no insurance losses - Now the event IDs are generated in the workers in the event based calculator
and there is a limit of 65536 tasks with 65536 ruptures each - Changed the UCERF classical calculators to compute one branch at the time
- Fixed the header
occupants:float32
in the CSV risk exports involving
occupants - Fixed the name of the zipped files downloaded by the Web UI: there
was a spurious dot - Fixed the UCERF classical calculator in the case of sampling
- Reduced the size of the event tags in the event based calculators, thus
saving GB of disk space in UCERF calculations - Fixed the name of the files downloaded by the Web UI: they must not
contain slashes - Now deleting a calculation from the Web UI really deletes it, before
if was only hiding it
[Daniele Viganò (@daniviga)]
- Moved the OpenQuake Engine manual sources inside doc/manual
[Michele Simionato (@micheles)]
- Introduced an experimental classical time dependent UCERF calculator
- Added a dynamic output for source group information
- Changed the UCERF rupture calculator to fully store the ruptures
- Fixed a bug in
combine_maps
: realizations with zero probability were
discarded, thus breaking the computation of the statistics - Added a command
oq reset
to reset database and datastores - Reduced the data transfer back and disk space occupation for UCERF
event based risk calculations - Tasks meant to be used with a shared directory are now marked with a
boolean attribute.shared_dir_on
- Added a warning when running event based risk calculations with sampling
- Made sure that the openquake.cfg file is read only once
[Daniele Viganò (@daniviga)]
- Moved the openquake.cfg config file inside the python package
under openquake/engine/openquake.cfg - Removed support to OQ_LOCAL_CFG_PATH and OQ_SITE_CFG_PATH vars;
only the OQ_CONFIG_FILE enviroment variable is read
[Michele Simionato (@micheles)]
- If there is a single realization, do not compute the statistics
- Changed the separator from comma to tab for the output
ruptures
- If there are no conditional_loss_poes, the engine does not try to
export the loss maps anymore - Fixed
oq engine --make-html-report
when using Python 3 - Fixed bug when running
oq info job.ini
with NRML 0.5 source models
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq about 8 years ago

OpenQuake - OpenQuake Engine 2.2.0
[Michele Simionato (@micheles)]
- Fixed an HDF5 bug by not using a
vstr
array for the asset references - Fixed a wrong error message generated by
oq purge
- Added information about the rupture in the event loss table exports
- Fixed a bug and added a test calculation with nonparametric sources
- Fixed the classical UCERF calculator when there is more than one branch
- Added .npz exporter for gmf_data for event based calculations
[Daniele Viganò (@daniviga)]
- Port WebUI/API server to Django 1.9 and 1.10
- Add dependencies to setup.py
- Update Copyright to 2017
[Michele Simionato (@micheles)]
- Increased the splitting of ComplexFaultSources
- Added a way to reuse the CompositeSourceModel from a previous computation
- Turned the loss maps into dynamically generated outputs
- Extended the source model writer to serialize the attributes
src_interdep, rup_interdep, srcs_weights - Fixed a bug when exporting the uniform hazard spectra in presence of
IMTs non spectral acceleration - Fixed a bug when computing the loss maps in presence of insurance,
temporarily introduced in master - Made the datastore for event based risk calculations much lighter
by computing the statistical outputs at export time - Now it is possible to post process event based risk outputs with the
--hc
option - Added a command
oq to_hdf5
to convert .npz files into .hdf5 files - Moved commonlib.parallel into baselib
- Merged the experimental calculator ebrisk into event_based_risk and
used correctly the random_seed for generating the GMFs (not the master_seed) - Added a flag
ignore_covs
to ignore the coefficients of variation - Changed the GMF scenario exporter to avoid generating composite arrays with
a large number of fields - Exporting in .npz format rather than HDF5
- Introduced a
shared_dir
parameter in openquake.cfg - Fixed a serialization bug for planar surfaces
- Removed the flag
asset_loss_table
: the loss ratios are
saved if and only if theloss_ratios
dictionary is non-empty - Added a CSV exporter for the GMFs in the event based calculator
- Added a CSV exporter for the rup_data output
- Added a CSV exporter for the disaggregation output
- Stored the disaggregation matrices directly (no pickle)
- Turned the CompositeRiskModel into a HDF5-serializable object
- Fixed all doctests for Python 3
[Daniele Viganò (@daniviga)]
- Removed the 'oq-engine' wrapper (command already deprecated)
[Michele Simionato (@micheles)]
- Assigned a year label to each seismic event in the event based calculator
- Now the ebrisk calculator supports the case of asset_correlation=1 too
- Made it possible to export the losses generated by a specific event
- Lowered the limit on the length of source IDs to 60 chars
- Fixed excessive strictness when validating
consequenceFunction.id
- Added an
ucerf_rupture
calculator able to store seismic events and
rupture data and reduced the data transfer
[Daniele Viganò (@daniviga)]
- MANIFEST now includes all files, with any extension located in the
tests folders. It is now possible to run tests from an installation
made with packages
[Michele Simionato (@micheles)]
- Improved error message when the user gives a source model file instead of
a source model logic tree file - Fixed the management of negative calculation IDs
- Relaxed the tolerance so that the tests pass on Mac OS X
- Implemented csv exporter for the ruptures
- Optimized the epsilon generation in the ebrisk calculator for
asset_correlation=0 - Improved the performance of the scenario risk calculators
- Now by default we do not save the ruptures anymore
- Fixed a memory leak recently introduced in parallel.py
- Simplified classical_risk (the numbers can be slightly different now)
- Serialized the ruptures in the HDF5 properly (no pickle)
- Introduced a parameter
iml_disagg
in the disaggregation calculator - Fixed
oq reduce
to preserve the NRML version - Fixed a bug when splitting the fault sources by magnitude
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 8 years ago

OpenQuake - OpenQuake Engine 2.1.1
[Michele Simionato (@micheles)]
- Fixed a bug when splitting the fault sources by magnitude
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 8 years ago

OpenQuake - OpenQuake Engine 2.1.0
[Michele Simionato (@micheles)]
- There is now a flag
save_ruptures
that can be turned off on demand;
by default the ruptures are always saved in the event based calculators - Optimized the memory consumption when using a ProcessPoolExecutor (i.e
fork before reading the source model) by means of awakeup
task - Reduced the splitting of the fault sources
- Added a view
task_slowest
displaying info about the slowest task
(only for classical calculations for the moment) - concurrent_tasks=0 disable the concurrency
- Optimized the saving time of the GMFs
- Changed the default number of concurrent tasks and increased the
relative weight of point sources and area sources - Fixed the UCERF event loss table export and added a test for it
- Optimized the computation of the event loss table
- Introduced two new calculators ucerf_risk and ucerf_risk_fast
[Paolo Tormene (@ptormene)]
- Added to the engine server the possibility to log in and out
programmatically by means of HTTP POST requests
[Michele Simionato (@micheles)]
- Optimized the memory consumption of the event based risk calculators
- Extended the
oq show
command to work in a multi-user environment - Improved the test coverage of the exports in the WebUI
- Removed the SourceManager: now the sources are filtered in the workers
and we do not split in tiles anymore - Made the full datastore downloadable from the WebUI
- Added a command "oq db" to send commands the engine database
(for internal usage) - By default the WebUI now displays only the last 100 calculations
- Added more validity checks to the disaggregation parameters; split the
sources even in the disaggregation phase - Added an optimized event based calculator computing the total losses by
taxonomy and nothing else - Filtered the sources up front when there are few sites (<= 10)
- Reduced the number of tasks generated when filter_sources is False
- Saved engine_version and hazardlib_version as attributes of the datastore
- Avoided saving the ruptures when ground_motion_fields is True
- Finalized the HDF5 export for hazard curves, hazard maps and uniform
hazard spectra - Restored a weight of 1 for each rupture in the event based calculator
- Removed the MultiHazardCurveXMLWriter
- Improved the saving of the ruptures in event based calculations
- Reduced the data transfer due to the
rlzs_by_gsim
parameter - Added an HDF5 export for scenario GMFs
- If
filter_sources
if false, the light sources are not filtered, but the
heavy sources are always filtered - Now the dbserver can be stopped correctly with CTRL-C
- Parallelized the splitting of heavy sources
- Changed the event loss table exporter: now a single file per realization
is exported, containing all the loss types - Removed the dependency from the Django ORM
- Now the WebUI restarts the ProcessPoolExecutor at the end of each job,
to conserve resources - Optimized the computation of hazard curves and statistics, especially
for the memory consumption - Reduced the data transfer due to the
rlzs_assoc
andoqparam
objects - Fixed a bug in the disaggregation calculator when a source group has
been filtered away by the maximum distance criterium - Fixed an encoding error in the reports when the description contains a
non-ASCII character - Changed the distribution framework: celery is supported in a way more
consistent with the other approaches; moreover, ipyparallel is supported - Hazard maps are now a fake output, dynamically generated at export time
- Made the number of produced tasks proportional to the number of tiles
- Raised an error for event_based_risk producing no GMFs
- Added a view for the slow sources
- Transmitted the attributes of a SourceGroup to the underlying sources
- Fixed the names of exported files for hazard maps in .geojson format
- Added an header with metadata to the exported hazard curves and maps
- Avoid storing filtered-away probability maps, thus fixing a bug
- Restored the precalculation consistency check that was disabled during the
transition to engine 2.0 - Fixed a bug with
oq engine --delete-calculation
- Hazard curves/maps/uniform spectra can now be recomputed
- Restored the early check on missing taxonomies
- Raise an early error if an user forget the
rupture_mesh_spacing
parameter - Fixed a bug while deleting jobs from the db in Ubuntu 12.04
- Ported the shapefile converter from the nrml_converters
- Added source model information in the file
realizations.csv
oq engine --run job.ini --exports csv
now also exports the realizations- Introduced the format NRML 0.5 for source models
- Added a check on the version in case of export errors
- Extended
oq purge
to remove calculations from the database too - Fixed
--make-html-report
: the view task_info was not registered - Stored several strings as HDF5-variable-length strings
- Fixed an export bug for the hazard curves in .geojson format
- Removed the array cost_types from the datastore
- Taxonomies with chars not in the range a-z0-9 were incorrectly rejected
- Improved the XML parsing utilities in speed, memory, portability and
easy of use - Forbidden the reuse of exposure because is was fragile and error prone
- Fixed a bug with the
realizations
array, which in hazard calculations
was empty in the datastore
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 8 years ago

OpenQuake - OpenQuake Engine 2.0.1
[Michele Simionato (@micheles)]
- Fixed a bug for tectonic region types filtered away
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 8 years ago

OpenQuake - OpenQuake Engine 2.0
[Michele Simionato (@micheles)]
- Quoted the taxonomies in the CSV exports
- Fixed a bug in classical_damage and added a master test for it
- Fixed the escaping of the taxonomies in the datastore
- Fixed the names of the exported risk files
- Fixed a segfault in the WebUI when exporting files with h5py >= 2.4
- Added a command
oq dbserver
to start/stop the database server - The engine exports the hazard curves one file per IMT
- Exported lon and lat with 5 digits after the decimal point
- Added a command
oq info --build-reports
- Introduced experimental support for exporting .hdf5 files
[Daniele Viganò (@daniviga)]
- Reworked substantially the engine documentation: removed obsolete pages,
updated to engine 2.0 and added instructions for Windows and Mac OS X - Remove oq_create_db script, db is created by the DbServer
- Move oq_reset_db into utils and clean old code
[Michele Simionato (@micheles)]
- Now the DbServer automatically upgrades the database if needed
- Renamed oq-lite -> oq and added a subcommand
oq engine
- Added a CSV reader for the hazard curves
- Having time_event=None in the hazard part of a calculation is now valid
- Added an exporter for the rupture data, including the occurrence rate
- Refactored the CSV exporters
- Moved celeryconfig.py; now celery must be started with
celery worker --config openquake.engine.celeryconfig
- Added a default location
~/oqdata/dbserver.log
for the DbServer log - Added an early check on the SA periods supported by the GSIMs
- Now the gsim_logic_tree file is parsed only once
- Added a document about the architecture of the engine
- The realizations are now exported as a CSV file
- Escaped taxonomies in the datastore
- The Web UI log tool is now escaping the HTML
- Moved openquake.commonlib.commands -> openquake.commands and
openquake.commonlib.valid -> openquake.risklib.valid to have a
linear tower of internal dependencies - Supported all versions of Django >= 1.5
- Provided a better error message in the absence of openquake.cfg
- Removed the check on the export_dir when using the WebUI
- Reduce the data transfer of the realization association object
- If uniform_hazard_spectra is true, the UHS curves are generated
even if hazard_maps is false; the hazard maps are not exported - Optimized the filtering of PointSources
- Initial work on the UCERF event based hazard calculator
- Added a test calculation crossing the International Date Line (Alaska)
[Daniele Viganò (@daniviga)]
- Remove the dependency from the python 'pwd' package which is not
available on Windows - Supervisord init scripts are now provided for the dbserver, celery
and the webui. Celery is not started by default, other two are.
[Michele Simionato (@micheles)]
- Another export fix: made sure it is run by the current user
- Fixed the export: if the export directory does not exists, it is created
- Introduced the configuration variable
multi_user
, false for source
installations and true for package installations - Fixed the WebUI export
- Removed the .txt outputs from the WebUI page engine/<output_id>/outputs
(they are useful only internally) - Fixed the export: first the xml exporter is tried and then the csv exporter;
if both are available, only the first is used, not both of them - Optimized the case when the epsilons are not required, i.e. all the
covariance coefficients are zero in the vulnerability functions - Added another test for event based risk (
case_miriam
) - Revisited the distribution mechanism and refined the weight of the
ruptures in the event based calculators to avoid generating slow tasks - Added an automatic help for the subcommands of oq-lite and managed
--version correctly - The event based risk calculator now use different seeds for different
realizations; also, the performance has been substantially improved - Improved the .rst reports with data transfer information
- Removed the RlzsAssoc object from the datastore
- Fixed the number of tasks generated by the risk calculators
- Refactored the serialization of CompositionInfo instances to HDF5
- Used exponential notation with 5 decimal digits in most exported XML files
- Refactored the sampling mechanics in the event based calculators
- The event_based_risk calculator infers the minimum intensity of the GMFs
from the vulnerability functions (if not specified in the job.ini) - Fixed the
avg_losses-stats
: they were not generated in absence of
loss curves - Added a command
oq-lite info --exports
- Added filtering on the mininum intensity also in the event based
hazard calculator; improved the performance and memory occupation - Added a view displaying the calculation times by source typology
- Fixed the test of GMPETable after the correction in hazardlib
- Optimized the saving of the asset loss table
- Optimized the case of multiple assets of the same taxonomy on the
same point and introduced a datastore viewassets_by_site
- Fixed HDF5 segmentation faults in the tests for Ubuntu 16.04
[Daniele Viganò (@daniviga)]
- Add support for Ubuntu 16.04 (xenial) packages
- Removed the openquake_worker.cfg file because it is not used anymore
[Michele Simionato (@micheles)]
- Replaced PostgreSQL with SQLite
- Introduced a dbserver to mediate the interaction with the database
- Restored the signal handler to manage properly
kill
signals so that
the workers are revoked when a process is killed manually - Fixed in a more robust way the duplicated log bug
- Made more robust the killing of processes by patching concurrent.futures
- Fixed a critical bug with celery not being used even when
use_celery
was true. - Improved the validation of NRML files
- Added a command
oq-engine --show-log <job_id>
[Daniele Viganò (@daniviga)]
- Use the 'postgresql' meta package as dependency of the .deb
package to support newer versions of Postgres; this makes
Trusty package installable on Ubuntu 16.04 and Debian 8
[Daniele Viganò (@daniviga), Michele Simionato (@micheles)]
- Fixed a bug in
oq-engine --export-outputs
[Daniele Viganò (@daniviga), Matteo Nastasi (@nastasi-oq)]
- Allow installation of the binary package on Ubuntu derivatives
[Matteo Nastasi (@nastasi-oq)]
- Backport of libhdf5 and h5py for ubuntu 'precise' serie
[Michele Simionato (@micheles)]
- Removed openquake/engine/settings.py
- Made the dependency on celery required only in cluster installations
- Integrated the authentication database in the engine server database
- Fixed the description in the Web UI (before it was temporarily set to
the string "A job"). - Introduced filtering on the minimum intensity of the ground shaking
- Solved the issue of serializing large SES collections, over the HDF5 limit
- The loss maps and curves XML exporters now export the coordinates
of the assets, not the coordinates of the closest hazard site - Stored the job.ini parameters into a table in the datastore
- Added a check on the IMTs coming from the risk models
- Changed the aggregate loss table exporter to export the event tags,
not the event IDs - Fixed a bug with the CSV export of the ground motion fields
- Fixed a bug with the export of UHS curves with
--exports=xml
- Reduced substantially the data transfer and the memory occupation
for event based calculations with a large number of assets: we
can run the California exposure with half million assets now - Fixed a bug in the SESCollection exporter
- Changed the asset<->epsilons association: before for a given taxonomy the
assets were ordered byasset_ref
, now they are ordered byid
. This
has a minor impact on the numbers sensitive to the epsilons, akin to a
change of seeds - Added a test on the ordering of the epsilons
- Accepted
.
and|
as valid characters for source IDs - Changed the GMF calculator to use a single seed per unique rupture
- Changed the SESCollection exporter: now a single file is exported, before
we were exporting one file per source model path per tectonic region model - Changed the event based calculators to avoid duplicating ruptures
occurring more than once - Changed the risk calculators to work in blocks of assets on the same site
- Made it possible to set different integration distances for different
tectonic region types - Optimized the aggregation by asset in the event based risk calculator
- Reporting the source_id when the filtering fails
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq almost 9 years ago

OpenQuake - OpenQuake Engine 1.9.1
[Michele Simionato (@micheles)]
- Fixed a bug in the Web UI when running a risk calculation starting
from a previous calculation
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq about 9 years ago

OpenQuake - OpenQuake Engine 1.9
[Michele Simionato (@micheles)]
- Fixed a bug such that in some circumstances the logging stream handler
was instantiated twice, resulting in duplicated logs - Changed the default job status to 'executing' (was 'pre_executing')
- Fixed the ordering of the logs in the Web UI
- Removed the dependency from PostGIS
- Restored the monitoring which was accidentally removed
- Removed the obsolete option
--hazard-output-id
- Printed the names of the files exported by the engine, even when there
are multiple files for a single output - Introduced four new tables job, output, log, performance: all the other
60+ database tables are not used anymore
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq about 9 years ago

OpenQuake - OpenQuake Engine 1.8
[Michele Simionato (@micheles)]
- Removed two
oq-engine
switches (--export-stats
and--list-inputs
)
and fixed--show-view
; unified--delete-hazard-calculation
and
--delete-risk-calculation
into a single--delete-calculation
- Updated
make_html_report.py
to extract the full report from the
datastore - If
use_celery
is true, use celery to determine a good default for
the parameterconcurrent_tasks
- Made celery required only in cluster situations
- Fixed the duplication of exported result in the classical_damage
calculator when there is more than one realization - Removed several obsolete or deprecated switches from the
oq-engine
command - Replaced all classical calculators with their lite counterparts
- Fixed the site-ordering in the UHS exporter (by lon-lat)
[Paolo Tormene (@ptormene)]
- Added API to validate NRML
[Michele Simionato (@micheles)]
- The engine can now zip files larger than 2 GB (used in the export)
- Now the loss maps and curves are exported with a fixed ordering: first
by lon-lat, then by asset ID - Replaced the old disaggregation calculator with the oq-lite one
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq about 9 years ago

OpenQuake - OpenQuake Engine 1.7
[Michele Simionato (@micheles)]
- Fixed an encoding bug in
--lhc
- Fixed an export bug: it is now possible to export the outputs generated
by another user, if the read permissions are set correctly
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 9 years ago

OpenQuake - OpenQuake Engine 1.6.0
[Daniele Viganò (@daniviga)]
- Added the oq_reset_db script. It removes and recreates the database and
the datastore
[Matteo Nastasi (@nastasi-oq)]
- Demos moved to /usr/share/openquake/risklib
[Michele Simionato (@micheles)]
- Removed the 'view' button from the Web UI
- Removed the epsilon_sampling configuration parameter
- Made customizable the display_name of datastore outputs (before it was
identical to the datastore key) - The zip files generated for internal use of the Web UI are now hidden
- Made visible to the engine only the exportable outputs of the datastore
- Closed explicitly the datastore after each calculation
- Replaced the old scenario calculators with the HDF5-based calculators
- Fixed a very subtle bug in the association queries: some sites outside
of the region constraint were not discarded in some situations - Removed the self-termination feature
terminate_job_when_celery_is_down
- Removed the epsilon sampling "feature" from the scenario_risk calculator
- Replaced the event based calculators based on Postgres with the new ones
based on the HDF5 technology
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 9 years ago

OpenQuake - OpenQuake Engine 1.5.1
[Michele Simionato (@micheles)]
- Fixed a bug affecting exposures with multiple assets on the same site
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 9 years ago

OpenQuake - OpenQuake Engine 1.5.0
[Michele Simionato (@micheles)]
- The event based calculators in the engine are now officially deprecated
and they raise a warning when used - Optimization: we do not generate the full epsilon matrix if all
coefficients of variation are zero - Fixed two subtle bugs in the management of the epsilons: it means that
all event based risk calculations with nonzero coefficients of variations
will produce slightly different numbers with respect to before - Removed excessive checking on the exposure attributes 'deductible' and
'insuredLimit' that made it impossible to run legitimate calculations - Changed the meaning of 'average_loss' for the aggregated curves: now it
is the sum of the aggregated losses in the event loss table,
before it was extracted from the aggregated loss curve - Changed the way the average losses (and insured average losses) are
computed by the event based risk calculator: now they are extracted
from the event loss table, before they were extracted from the loss curves - Set to NULL the stddev_losses and stddev_insured_losses for the event based
risk calculator, since they were computed incorrectly - Introduced a new experimental command
'oq-engine --show-view CALCULATION_ID VIEW_NAME'; the only view available
for the moment is 'mean_avg_losses' - Negative calculation IDs are interpreted in a Pythonic way, i.e. -1
means the last calculation, -2 the calculation before the last one, etc. - If a site parameter is more distant than 5 kilometers from its closest
site, a warning is logged - Changed the splitting of fault sources to reduce the number of generated
sources and avoid data transfer failures if rupture_mesh_spacing is too
small - Changed the event loss table export: now the CSV file does not contain
the magnitude and the rows are ordered by rupture tag first and loss second - Removed the calculator EventBasedBCR
- Longitude and latitude are now rounded to 5 digits
- Fixed a very subtle bug in the vulnerability functions, potentially
affecting calculations with nonzero coefficients of variation and nonzero
minIML; the numbers produced by the engine were incorrect; see
https://bugs.launchpad.net/oq-engine/+bug/1459926 - 'investigation_time' has been replaced by 'risk_investigation_time' in
risk configuration files - Initial support for Django 1.7
[Daniele Viganò (@daniviga)]
- Removed the bin/openquake wrapper: now only bin/oq-engine is
available
[Michele Simionato (@micheles)]
- Added parameter parallel_source_splitting in openquake.cfg
[Daniele Viganò (@daniviga)]
- setup.py improvements
- Added MANIFEST.in
- celeryconfig.py moved from /usr/openquake/engine to
/usr/share/openquake/engine
[Matteo Nastasi (@nastasi-oq)]
- Packaging system improvement
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq over 9 years ago

OpenQuake - OpenQuake Engine 1.4.0
[Daniele Viganò (@daniviga)]
- Fixed debian/control: add missing lsb-release to build deps
[Matteo Nastasi (@nastasi-oq), Daniele Viganò (@daniviga)]
- Fixed dependencies version management
[Matteo Nastasi (@nastasi-oq), Daniele Viganò (@daniviga)]
- Add binary package support for both Ubuntu 12.04 (Precise)
and Ubuntu 14.04 (Trusty)
[Michele Simionato (@micheles)]
- Removed the SiteModel table: now the association between the sites and the
site model is done by using hazardlib.geo.geodetic.min_distance
[Daniele Viganò (@daniviga)]
- added authentication support to the 'engineweb' and the 'engineserver'
[Michele Simionato (@micheles)]
- the aggregate loss curves can be exported in CSV format
[Matteo Nastasi (@nastasi-oq)]
- added 'outtypes' attribute with list of possible output types for
each output item in outputs list API command - added '/v1/calc//status' API command
- added 'engineweb' django application as local web client for oq-engine
[Michele Simionato (@micheles)]
- Renamed the maximum_distance parameter of the risk calculators to
asset_hazard_distance, to avoid confusion with the maximum_distance
parameter of the hazard calculators, which has a different meaning;
is it an error to set the maximum_distance in a job_risk.ini file - Added to the API an URL /v1/calc/:calc_id/remove to hide jobs
- A new key is_running is added to the list of dictionaries returned by
the URL /v1/calc/list - Replaced the mock tests for the engine server with real functional tests
- Added a resource /v1/calc/:calc_id/traceback to get the traceback of a
failed calculation - Now the logs are stored also in the database, both for the controller node
and the worker nodes - Bypassed Django when deleting calculations from the database: this avoids
running out of memory for large calculations - Fixed an issue in the scenario calculator: the GMFs were not filtered
according to the distance to the rupture - Now critical errors appear in the log file
- Added a --run command to run hazard and risk together
- Fixed bug in the event based calculator; in the case
number_of_logic_tree_samples > 0 it was generating incorrect hazard curves.
Also improved (a lot) the performance in this case. - Fixed a tricky bug happening when some tectonic region type are filtered
away. - The event based risk calculator now save only the non-zero losses in
the table event_loss_asset. - Added a CSV exporter for the Stochastic Event Sets, for debugging purposes.
- The GMF CSV exporter now sorts the output by rupture tag.
[Matteo Nastasi (@nastasi-oq)]
- Each pull request must be accompanied by an update of the debian
changelog now.
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq almost 10 years ago

OpenQuake - OpenQuake Engine 1.3.0
[Matteo Nastasi (@nastasi-oq)]
- gunzip xml demos files after copied into /usr/openquake/engine directory
[Michele Simionato (@micheles)]
- Updated python-django dependency >= 1.6.1, (our repository already
includes a backported version for Ubuntu 'precise' 12.04); this change
makes unnecessary "standard_conforming_strings" postgresql configuration
variable setting - The event based risk calculator is able to disaggregate the event loss
table per asset. To enable this feature, just list the assets you are
interested in in the job.ini file: "specific_assets = a1 a2 a3" - We have a new hazard calculator, which can be invoked by setting in the
job.ini file: "calculation_mode = classical_tiling"
This calculators is the same as the classical calculator (i.e. you will
get the same numbers) but instead of considering all the hazard sites at
once, it splits them in tiles and compute the hazard curves for each tile
sequentially. The intended usage is for very large calculations that
exceed the available memory. It is especially convenient when you have
very large logic trees and you are interested only in the statistics (i.e.
mean curves and quantile curves). In that case you should use it with the
option individual_curves=false. Notice that this calculator is still in
an experimental stage and at the moment is does not support UHS curves.
Hazard maps and hazard curves are supported. - We have a new risk calculator, which can be invoked by setting in the
job.ini file: "calculation_mode = classical_damage"
This calculator is able to compute the damage distribution for each asset
starting from the hazard curves produced by the classical
(or classical_tiling) calculator and a set of fragility functions. Also
this calculator should be considered in experimental stage. - A significant change has been made when the parameter
number_of_logic_tree_samples is set to a non-zero value. Now, if a branch
of the source model logic tree is sampled twice we will generate the
ruptures twice; before the ruptures were generated once and counted twice.
For the classical calculator there is no effect on the numbers (sampling
the same branch twice will produce two copies of identical ruptures);
however, for the event based calculator, sampling the same branch twice
will produce different ruptures. For instance, in the case of a simple
source model with a single tectonic region type, before we would have
generated a single file with the stochastic event sets, now we generate
number_of_logic_tree_samples files with different stochastic event sets.
The previous behavior was an optimization-induced bug. - Better validation of the input files (fragility models, job.ini)
- The ability to extract the sites from the site_model.xml file
- Several missing QA tests have been added
- The export mechanism has been enhanced and more outputs are being exported
in CSV format - New parameter complex_fault_mesh_spacing
- Some error messages have been improved
- A lot of functionality has been ported from the engine to oq-lite,
i.e. a lite version of the engine that does not depend on
PostgreSQL/PostGIS/Django nor from RabbitMQ/Celery. This version is
much easier to install than the regular engine and it is meant for
small/medium computation that do not require a cluster. The engine
demos, have been moved to the oq-risklib repository, so that they can
be run via the oq-lite command without installing the full engine. - Currently the following calculators have been ported (all are to be
intended as experimental): classical hazard, classical tiling, event
based hazard, scenario hazard, classical risk, scenario damage,
classical damage.
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq about 10 years ago

OpenQuake - OpenQuake Engine 1.3.1
[Michele Simionato (@micheles)]
- Fixed a tricky bug happening when some tectonic region types are filtered
away.
Climate Change - Natural Hazard and Storm
- Python
Published by nastasi-oq about 10 years ago

OpenQuake - OpenQuake Engine 1.2.2
The OpenQuake Engine release 1.2
See: https://github.com/gem/oq-engine/wiki#release-12-current-stable
Changes since 1.2.1
- Refined version management
Climate Change - Natural Hazard and Storm
- Python
Published by daniviga over 10 years ago

OpenQuake - OpenQuake Engine 1.0
The OpenQuake Engine release 1.0
Climate Change - Natural Hazard and Storm
- Python
Published by daniviga over 10 years ago
