Releases: gem/oq-engine
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)
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
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
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
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
OpenQuake Engine 3.5.2
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