Releases: gem/oq-engine
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
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
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 (".")
OpenQuake Engine 3.16.1
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
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
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
OpenQuake Engine 3.11.5
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
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