Releases: gem/oq-engine
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
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