Releases: gem/oq-engine
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
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
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
OpenQuake Engine 3.11.2
[Matteo Nastasi (@nastasi-oq)]
- Fixed setup.py 'pyproj' dependency
[Antonio Ettorre (@vot4anto)]
- Fixed docker builder
OpenQuake Engine 3.11.1
[Michele Simionato (@micheles)]
- Fixed memory regression in ebrisk calculations
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
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
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
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
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)