Skip to content

Releases: gem/oq-engine

OpenQuake Engine 3.13.0

25 Jan 11:57
Compare
Choose a tag to compare

[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

10 Nov 09:15
Compare
Choose a tag to compare

[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

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