Skip to content

Releases: gem/oq-engine

OpenQuake Engine 3.11.4

08 Sep 10:50
Compare
Choose a tag to compare

[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

06 Sep 09:25
Compare
Choose a tag to compare

[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

OpenQuake Engine 3.11.3

22 Mar 10:07
Compare
Choose a tag to compare

[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

OpenQuake Engine 3.11.2

02 Mar 09:52
Compare
Choose a tag to compare

[Matteo Nastasi (@nastasi-oq)]

  • Fixed setup.py 'pyproj' dependency

[Antonio Ettorre (@vot4anto)]

  • Fixed docker builder

OpenQuake Engine 3.11.1

01 Mar 10:19
Compare
Choose a tag to compare

[Michele Simionato (@micheles)]

  • Fixed memory regression in ebrisk calculations

OpenQuake Engine 3.11.0

23 Feb 14:59
Compare
Choose a tag to compare

[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 and backarc 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
    the memory.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 redundant oq help since
    there is oq --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 supported aggregate_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 to oq 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 the ebrisk 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
    the pointsource_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 called TruncatedGRFromSlipAbsolute
  • 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

18 Oct 21:09
Compare
Choose a tag to compare

[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

29 Sep 14:32
Compare
Choose a tag to compare

[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 and late_latin sampling algorithms
  • Changed the logic tree sampling algorithm and made it possible to use
    both early_weights and late_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 and oq 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 with avg_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 utility utils/yaml2toml

OpenQuake Engine 3.9.0

27 Apr 15:44
Compare
Choose a tag to compare

[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 (see oq 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 the classical 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 the event_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 to oq 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

12 Feb 13:19
Compare
Choose a tag to compare

[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)