OpenQuake Engine Versions Save

OpenQuake's Engine for Seismic Hazard and Risk Analysis

v3.16.1

1 year ago

[Michele Simionato (@micheles)]

  • Fixed event based calculations running out of memory due to hazard curve arrays being instantiated without need
  • Sampling the ruptures was raising a BlockingIOError sometimes

[Kendra Johnson (@kejohnso)]

  • Fixed bug in extendModel with multiple branchsets

v3.16.0

1 year ago

[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 with disagg_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 in oq 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 the compute 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 using collect_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 the faultActivityData 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 and reinsurance-aggcurves given a reinsurance.xml file
  • Supported absolute values for deductible and insurance_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

v3.15.0

1 year ago

[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 with oq 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 and Mag_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 the job 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 utility hazardlib.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 the pointsource_distance too
  • Saving memory in preclassical calculations on machines with 8 cores or less
  • Changed the magnitude-dependent maximum_distance feature to discard ruptures below minmag and above maxmag
  • 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

v3.14.0

2 years ago

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 and oq 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 and oq 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

v3.11.5

2 years ago

Release 3.11.5

[Michele Simionato (@micheles)]

  • Fixed a 32/64 bit bug in oq export loss_maps-stats

v3.13.0

2 years ago

[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

v3.12.1

2 years ago

[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

v3.11.4

2 years ago

[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

v3.12.0

2 years ago

[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 to risk_by_event and made it work consistently for losses, damages and consequences; also removed the no_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 and z2pt 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

v3.11.3

3 years ago

[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 with aggregate_by
  • Fixed the aggregate curves exporter for aggregate_by=id: it was exporting b'asset_id' instead of asset_id