From d9803a997f287ca4133d67ba295e30a64bba9680 Mon Sep 17 00:00:00 2001
From: TP <27099400+thpap@users.noreply.github.com>
Date: Wed, 28 Jun 2023 11:10:38 +0200
Subject: [PATCH 1/4] Modified Switzerland-adapted GMPEs used for the
Earthquake Risk Model of Switzerland (ERM-CH23), so that they distinguish
into intra- and inter-event residuals. Moreover, an extension of the
ModifiableGMPE class was implemented for use in ERM-CH23. The latter allows
site-specific application of amplification and intra-event uncertainty
assignment for SA(0.3s) and SA(0.6s)
---
openquake/hazardlib/contexts.py | 7 +++++
openquake/hazardlib/gsim/akkar_bommer_2010.py | 13 +++++---
.../gsim/akkar_bommer_2010_swiss_coeffs.py | 5 ++-
.../gsim/cauzzi_faccioli_2008_swiss.py | 7 +++--
.../hazardlib/gsim/chiou_youngs_2008_swiss.py | 4 ++-
openquake/hazardlib/gsim/edwards_fah_2013a.py | 6 ++--
.../hazardlib/gsim/mgmpe/modifiable_gmpe.py | 23 +++++++++++++-
openquake/hazardlib/gsim/utils_swiss_gmpe.py | 7 +++--
openquake/hazardlib/gsim/zhao_2006_swiss.py | 8 +++--
openquake/hazardlib/site.py | 12 +++++--
.../tests/gsim/mgmpe/modifiable_gmpe_test.py | 31 ++++++++++++++++++-
11 files changed, 101 insertions(+), 22 deletions(-)
diff --git a/openquake/hazardlib/contexts.py b/openquake/hazardlib/contexts.py
index f34e5034a170..baa9e3965183 100644
--- a/openquake/hazardlib/contexts.py
+++ b/openquake/hazardlib/contexts.py
@@ -401,6 +401,13 @@ def __init__(self, trt, gsims, oq, monitor=Monitor(), extraparams=()):
reqset.update(gsim.gmpe.REQUIRES_SITES_PARAMETERS)
if 'apply_swiss_amplification' in gsim.params:
reqset.add('amplfactor')
+ if ('apply_swiss_amplification_sa' in gsim.params):
+ reqset.add('ch_ampl03')
+ reqset.add('ch_ampl06')
+ reqset.add('ch_phis2s03')
+ reqset.add('ch_phis2s06')
+ reqset.add('ch_phiss03')
+ reqset.add('ch_phiss06')
setattr(self, 'REQUIRES_' + req, reqset)
try:
self.min_iml = param['min_iml']
diff --git a/openquake/hazardlib/gsim/akkar_bommer_2010.py b/openquake/hazardlib/gsim/akkar_bommer_2010.py
index 17f806962cd1..fe8261f42a3f 100644
--- a/openquake/hazardlib/gsim/akkar_bommer_2010.py
+++ b/openquake/hazardlib/gsim/akkar_bommer_2010.py
@@ -287,7 +287,8 @@ class AkkarBommer2010SWISS01(AkkarBommer2010):
Model implemented by laurentiu.danciu@gmail.com
"""
- DEFINED_FOR_STANDARD_DEVIATION_TYPES = {const.StdDev.TOTAL}
+ DEFINED_FOR_STANDARD_DEVIATION_TYPES = {
+ const.StdDev.TOTAL, const.StdDev.INTER_EVENT, const.StdDev.INTRA_EVENT}
#: Vs30 value representing typical rock conditions in Switzerland.
#: confirmed by the Swiss GMPE group
@@ -309,8 +310,8 @@ def compute(self, ctx: np.recarray, imts, mean, sig, tau, phi):
AkkarBommer2010.COEFFS, self.COEFFS_FS_ROCK[imt], tau_ss,
mean[m], sig[m], tau[m], phi[m], ctx, ctx.rjb, imt, log_phi_ss)
sig[m] = np.log(10 ** sig[m])
- #tau[m] = np.log(10 ** tau[m])
- #phi[m] = np.log(10 ** phi[m])
+ tau[m] = np.log(10 ** tau[m])
+ phi[m] = np.log(10 ** phi[m])
COEFFS_FS_ROCK = COEFFS_FS_ROCK_SWISS01
@@ -320,7 +321,8 @@ class AkkarBommer2010SWISS04(AkkarBommer2010SWISS01):
This class extends :class:`AkkarBommer2010` following same strategy
as for :class:`AkkarBommer2010SWISS01`
"""
- DEFINED_FOR_STANDARD_DEVIATION_TYPES = {const.StdDev.TOTAL}
+ DEFINED_FOR_STANDARD_DEVIATION_TYPES = {
+ const.StdDev.TOTAL, const.StdDev.INTER_EVENT, const.StdDev.INTRA_EVENT}
COEFFS_FS_ROCK = COEFFS_FS_ROCK_SWISS04
@@ -331,6 +333,7 @@ class AkkarBommer2010SWISS08(AkkarBommer2010SWISS01):
as for :class:`AkkarBommer2010SWISS01` to be used for the
Swiss Hazard Model [2014].
"""
- DEFINED_FOR_STANDARD_DEVIATION_TYPES = {const.StdDev.TOTAL}
+ DEFINED_FOR_STANDARD_DEVIATION_TYPES = {
+ const.StdDev.TOTAL, const.StdDev.INTER_EVENT, const.StdDev.INTRA_EVENT}
COEFFS_FS_ROCK = COEFFS_FS_ROCK_SWISS08
diff --git a/openquake/hazardlib/gsim/akkar_bommer_2010_swiss_coeffs.py b/openquake/hazardlib/gsim/akkar_bommer_2010_swiss_coeffs.py
index 8af4b148c6a8..4e6c653bed68 100644
--- a/openquake/hazardlib/gsim/akkar_bommer_2010_swiss_coeffs.py
+++ b/openquake/hazardlib/gsim/akkar_bommer_2010_swiss_coeffs.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
# vim: tabstop=4 shiftwidth=4 softtabstop=4
#
-# Copyright (C) 2012-2023 GEM Foundation
+# Copyright (C) 2012-2022 GEM Foundation
#
# OpenQuake is free software: you can redistribute it and/or modify it
# under the terms of the GNU Affero General Public License as published
@@ -34,6 +34,7 @@
0.3000 0.7376 1.654794E+00 1.255398E+00 9.970978E-01 -2.863545E-01 6.506672E+02 0.64 0.5 0.37 5 7 11 34 0.48
0.3500 0.7447 1.855761E+00 1.322266E+00 9.964436E-01 -3.280135E-01 4.672187E+02 0.627929292 0.493964646 0.37 5 7 11 34 0.473964646
0.4000 0.7507 2.030328E+00 1.383505E+00 9.958719E-01 -3.642816E-01 3.078242E+02 0.617473168 0.488736584 0.37 5 7 11 34 0.468736584
+ 0.6000 0.7712 2.030328E+00 1.383505E+00 9.958719E-01 -3.642816E-01 3.078242E+02 0.584217936 0.472108968 0.377891032 5 7 11 34 0.459368292
1.0000 0.7916 -5.169560E+00 1.000000E+00 1.010650E+00 6.221898E-01 1.000000E+09 0.54 0.45 0.4 5 7 11 34 0.45
1.0500 0.7908 -6.821261E+00 1.000000E+00 1.016859E+00 8.337131E-01 1.000000E+09 0.539555893 0.447779464 0.4 5 7 11 34 0.448223571
1.1000 0.7912 -8.396109E+00 1.000000E+00 1.022780E+00 1.035395E+00 1.000000E+09 0.539132449 0.445662247 0.4 5 7 11 34 0.446529797
@@ -93,6 +94,7 @@
0.3000 0.8829 1.654794E+00 1.255398E+00 9.970978E-01 -2.863545E-01 6.506672E+02 0.64 0.5 0.37 5 7 11 34 0.48
0.3500 0.8696 1.855761E+00 1.322266E+00 9.964436E-01 -3.280135E-01 4.672187E+02 0.627929292 0.493964646 0.37 5 7 11 34 0.473964646
0.4000 0.8603 2.030328E+00 1.383505E+00 9.958719E-01 -3.642816E-01 3.078242E+02 0.617473168 0.488736584 0.37 5 7 11 34 0.468736584
+ 0.6000 0.8461 2.030328E+00 1.383505E+00 9.958719E-01 -3.642816E-01 3.078242E+02 0.584217936 0.472108968 0.377891032 5 7 11 34 0.459368292
1.0000 0.8376 -5.169560E+00 1.000000E+00 1.010650E+00 6.221898E-01 1.000000E+09 0.54 0.45 0.4 5 7 11 34 0.45
1.0500 0.8345 -6.821261E+00 1.000000E+00 1.016859E+00 8.337131E-01 1.000000E+09 0.539555893 0.447779464 0.4 5 7 11 34 0.448223571
1.1000 0.8329 -8.396109E+00 1.000000E+00 1.022780E+00 1.035395E+00 1.000000E+09 0.539132449 0.445662247 0.4 5 7 11 34 0.446529797
@@ -152,6 +154,7 @@
0.3000 0.9039 1.654794E+00 1.255398E+00 9.970978E-01 -2.863545E-01 6.506672E+02 0.64 0.5 0.37 5 7 11 34 0.48
0.3500 0.8790 1.855761E+00 1.322266E+00 9.964436E-01 -3.280135E-01 4.672187E+02 0.627929292 0.493964646 0.37 5 7 11 34 0.473964646
0.4000 0.8608 2.030328E+00 1.383505E+00 9.958719E-01 -3.642816E-01 3.078242E+02 0.617473168 0.488736584 0.37 5 7 11 34 0.468736584
+ 0.6000 0.8292 2.030328E+00 1.383505E+00 9.958719E-01 -3.642816E-01 3.078242E+02 0.584217936 0.472108968 0.377891032 5 7 11 34 0.459368292
1.0000 0.8312 -5.169560E+00 1.000000E+00 1.010650E+00 6.221898E-01 1.000000E+09 0.54 0.45 0.4 5 7 11 34 0.45
1.0500 0.8317 -6.821261E+00 1.000000E+00 1.016859E+00 8.337131E-01 1.000000E+09 0.539555893 0.447779464 0.4 5 7 11 34 0.448223571
1.1000 0.8341 -8.396109E+00 1.000000E+00 1.022780E+00 1.035395E+00 1.000000E+09 0.539132449 0.445662247 0.4 5 7 11 34 0.446529797
diff --git a/openquake/hazardlib/gsim/cauzzi_faccioli_2008_swiss.py b/openquake/hazardlib/gsim/cauzzi_faccioli_2008_swiss.py
index 653e7ad13849..9d939189c256 100644
--- a/openquake/hazardlib/gsim/cauzzi_faccioli_2008_swiss.py
+++ b/openquake/hazardlib/gsim/cauzzi_faccioli_2008_swiss.py
@@ -57,8 +57,9 @@ class CauzziFaccioli2008SWISS01(CauzziFaccioli2008):
Model implemented by laurentiu.danciu@gmail.com
"""
- #: Supported standard deviation type is only total
- DEFINED_FOR_STANDARD_DEVIATION_TYPES = {const.StdDev.TOTAL}
+ #: Supported standard deviation type is total, inter-event and intra-event
+ DEFINED_FOR_STANDARD_DEVIATION_TYPES = {
+ const.StdDev.TOTAL, const.StdDev.INTER_EVENT, const.StdDev.INTRA_EVENT}
#: Supported intensity measure types are spectral acceleration, peak
#: ground acceleration and peak ground velocity.
@@ -89,6 +90,8 @@ def compute(self, ctx: np.recarray, imts, mean, sig, tau, phi):
mean[m], sig[m], tau[m], phi[m], ctx, ctx.rhypo, imt,
log_phi_ss)
sig[m] = np.log(10 ** sig[m])
+ tau[m] = np.log(10 ** tau[m])
+ phi[m] = np.log(10 ** phi[m])
COEFFS_FS_ROCK = COEFFS_FS_ROCK_SWISS01
diff --git a/openquake/hazardlib/gsim/chiou_youngs_2008_swiss.py b/openquake/hazardlib/gsim/chiou_youngs_2008_swiss.py
index 4c50a88277b2..3d17555e2d21 100644
--- a/openquake/hazardlib/gsim/chiou_youngs_2008_swiss.py
+++ b/openquake/hazardlib/gsim/chiou_youngs_2008_swiss.py
@@ -74,7 +74,9 @@ class ChiouYoungs2008SWISS01(ChiouYoungs2008):
Model implemented by laurentiu.danciu@gmail.com
"""
- DEFINED_FOR_STANDARD_DEVIATION_TYPES = {const.StdDev.TOTAL}
+ #: Supported standard deviation type is total, inter-event and intra-event
+ DEFINED_FOR_STANDARD_DEVIATION_TYPES = {
+ const.StdDev.TOTAL, const.StdDev.INTER_EVENT, const.StdDev.INTRA_EVENT}
#: Vs30 value representing typical rock conditions in Switzerland.
#: confirmed by the Swiss GMPE group
diff --git a/openquake/hazardlib/gsim/edwards_fah_2013a.py b/openquake/hazardlib/gsim/edwards_fah_2013a.py
index 8e54dd9d9410..49d73cc0fb6a 100644
--- a/openquake/hazardlib/gsim/edwards_fah_2013a.py
+++ b/openquake/hazardlib/gsim/edwards_fah_2013a.py
@@ -157,9 +157,9 @@ class EdwardsFah2013Alpine10Bars(GMPE):
#: :attr:`~openquake.hazardlib.const.IMC.GEOMETRIC_MEAN`
DEFINED_FOR_INTENSITY_MEASURE_COMPONENT = const.IMC.GEOMETRIC_MEAN
- #: Supported standard deviation type is total,
- #: Carlo Cauzzi - Personal Communication
- DEFINED_FOR_STANDARD_DEVIATION_TYPES = {const.StdDev.TOTAL}
+ #: Supported standard deviation type is total, inter-event and intra-event
+ DEFINED_FOR_STANDARD_DEVIATION_TYPES = {
+ const.StdDev.TOTAL, const.StdDev.INTER_EVENT, const.StdDev.INTRA_EVENT}
#: Required site parameter is only Vs30 (used to distinguish rock
#: and deep soil).
diff --git a/openquake/hazardlib/gsim/mgmpe/modifiable_gmpe.py b/openquake/hazardlib/gsim/mgmpe/modifiable_gmpe.py
index f60a88eeb5c7..68fb5192b33e 100644
--- a/openquake/hazardlib/gsim/mgmpe/modifiable_gmpe.py
+++ b/openquake/hazardlib/gsim/mgmpe/modifiable_gmpe.py
@@ -85,6 +85,27 @@ def apply_swiss_amplification(ctx, imt, me, si, ta, ph):
me[:] += ctx.amplfactor
+def apply_swiss_amplification_sa(ctx, imt, me, si, ta, ph):
+ """
+ Adjust Swiss GMPEs to add amplification and correct intra-event residuals
+ """
+
+ if imt == from_string('SA(0.3)'):
+ phis2s = ctx.ch_phis2s03
+ phiss = ctx.ch_phiss03
+ me[:] += ctx.ch_ampl03
+ elif imt == from_string('SA(0.6)'):
+ phis2s = ctx.ch_phis2s06
+ phiss = ctx.ch_phiss06
+ me[:] += ctx.ch_ampl06
+
+ phi_star = np.sqrt(phis2s**2 + phiss**2)
+ total_stddev_star = np.sqrt(ta**2 + phi_star**2)
+
+ ph[:] = phi_star
+ si[:] = total_stddev_star
+
+
def set_between_epsilon(ctx, imt, me, si, ta, ph, epsilon_tau):
"""
:param epsilon_tau:
@@ -197,7 +218,7 @@ class ModifiableGMPE(GMPE):
def __init__(self, **kwargs):
super().__init__(**kwargs)
-
+
# Create the original GMPE
[(gmpe_name, kw)] = kwargs.pop('gmpe').items()
self.params = kwargs # non-gmpe parameters
diff --git a/openquake/hazardlib/gsim/utils_swiss_gmpe.py b/openquake/hazardlib/gsim/utils_swiss_gmpe.py
index 5c78b458de53..ed61b809d237 100644
--- a/openquake/hazardlib/gsim/utils_swiss_gmpe.py
+++ b/openquake/hazardlib/gsim/utils_swiss_gmpe.py
@@ -82,9 +82,11 @@ def _corr_sig(sig, C, tau_ss, phi_ss, NL=None, tau_value=None):
s = phi_ss ** 2
if tau_value is not None and NL is not None:
s += tau_value * tau_value * ((1 + NL) ** 2)
+ t = tau_value * tau_value * ((1 + NL) ** 2)
else:
s += C[tau_ss] * C[tau_ss]
- return np.sqrt(s)
+ t = C[tau_ss] * C[tau_ss]
+ return np.sqrt(s), np.sqrt(t), phi_ss
def _apply_adjustments(COEFFS, C_ADJ, tau_ss, mean, sig, tau, phi, ctx,
@@ -103,4 +105,5 @@ def _apply_adjustments(COEFFS, C_ADJ, tau_ss, mean, sig, tau, phi, ctx,
_compute_small_mag_correction_term(C_ADJ, ctx.mag, dist)
mean[:] = np.log(mean_corr)
- sig[:] = _corr_sig(sig, COEFFS[imt], tau_ss, phi_ss, NL, tau_value)
+ sig[:], tau[:], phi[:] = _corr_sig(sig, COEFFS[imt], tau_ss,
+ phi_ss, NL, tau_value)
diff --git a/openquake/hazardlib/gsim/zhao_2006_swiss.py b/openquake/hazardlib/gsim/zhao_2006_swiss.py
index b4574112a0c2..dd74bb2dc333 100644
--- a/openquake/hazardlib/gsim/zhao_2006_swiss.py
+++ b/openquake/hazardlib/gsim/zhao_2006_swiss.py
@@ -58,9 +58,11 @@ class ZhaoEtAl2006AscSWISS05(ZhaoEtAl2006Asc):
Model implemented by laurentiu.danciu@gmail.com
"""
- # Supported standard deviation type is only total, but reported as a
- # combination of mean and magnitude/distance single station sigma
- DEFINED_FOR_STANDARD_DEVIATION_TYPES = {const.StdDev.TOTAL}
+ # Supported standard deviation type originally only total, but reported as a
+ # combination of mean and magnitude/distance single station sigma.
+ # updated to return inter and intra event component of st.dev (June 2023)
+ DEFINED_FOR_STANDARD_DEVIATION_TYPES = {
+ const.StdDev.TOTAL, const.StdDev.INTER_EVENT, const.StdDev.INTRA_EVENT}
DEFINED_FOR_INTENSITY_MEASURE_TYPES = {PGA, SA}
diff --git a/openquake/hazardlib/site.py b/openquake/hazardlib/site.py
index 9bfa960a0aea..bd087e7c8b9c 100644
--- a/openquake/hazardlib/site.py
+++ b/openquake/hazardlib/site.py
@@ -173,6 +173,12 @@ def _extract(array_or_float, indices):
'h800': numpy.float64,
'geology': (numpy.string_, 20),
'amplfactor': numpy.float64,
+ 'ch_ampl03': numpy.float64,
+ 'ch_ampl06': numpy.float64,
+ 'ch_phis2s03': numpy.float64,
+ 'ch_phis2s06': numpy.float64,
+ 'ch_phiss03': numpy.float64,
+ 'ch_phiss06': numpy.float64,
'fpeak': numpy.float64,
# Fundamental period and and amplitude of HVRSR spectra
'THV': numpy.float64,
@@ -333,7 +339,7 @@ def set_global_params(
self._set('z2pt5', oq.reference_depth_to_2pt5km_per_sec)
if 'backarc' in req_site_params:
self._set('backarc', oq.reference_backarc)
-
+
def filtered(self, indices):
"""
:param indices:
@@ -573,8 +579,8 @@ def assoc(self, site_model, assoc_dist, ignore=()):
continue
dt = site_param_dt[param]
if dt is numpy.float64 and (self.array[param] == 0.).all():
- raise ValueError('The site parameter %s is always zero: please '
- 'check the site model' % param)
+ raise ValueError('The site parameter %s is always zero: please'
+ ' check the site model' % param)
return site_model
def within(self, region):
diff --git a/openquake/hazardlib/tests/gsim/mgmpe/modifiable_gmpe_test.py b/openquake/hazardlib/tests/gsim/mgmpe/modifiable_gmpe_test.py
index 6fbdc7180d02..60eb13359be2 100644
--- a/openquake/hazardlib/tests/gsim/mgmpe/modifiable_gmpe_test.py
+++ b/openquake/hazardlib/tests/gsim/mgmpe/modifiable_gmpe_test.py
@@ -27,6 +27,7 @@
ModifiableGMPE, _dict_to_coeffs_table)
from openquake.hazardlib.gsim.boore_atkinson_2008 import BooreAtkinson2008
from openquake.hazardlib.gsim.boore_2014 import BooreEtAl2014
+from openquake.hazardlib.imt import from_string
class ModifiableGMPEAlAtik2015SigmaTest(unittest.TestCase):
@@ -291,7 +292,10 @@ def setUp(self):
ctx.hypo_depth = 10.
ctx.occurrence_rate = .001
sites = Dummy.get_site_collection(
- 4, amplfactor=[-1.0, 1.5, 0.00, -1.99])
+ 4, amplfactor=[-1.0, 1.5, 0.00, -1.99],
+ ch_ampl03=[-0.2, 0.4, 0.6, 0],
+ ch_phis2s03=[0.3, 0.4, 0.5, 0.2],
+ ch_phiss03=[0.2, 0.1, 0.3, 0.4])
for name in sites.array.dtype.names:
setattr(ctx, name, sites[name])
ctx.rhypo = ctx.rrup = ctx.repi = np.array([1., 10., 30., 70.])
@@ -317,3 +321,28 @@ def test_get_mean_std(self):
# Check the computed mean + amplification
np.testing.assert_almost_equal(mean, exp_mean)
+
+ for gmpe_name in ['EdwardsFah2013Alpine10Bars',
+ 'EdwardsFah2013Foreland60Bars',
+ 'ChiouYoungs2008SWISS01']:
+
+ self.imt = from_string('SA(0.3)')
+ gmm = ModifiableGMPE(gmpe={gmpe_name: {}},
+ apply_swiss_amplification_sa={})
+ mean, intra_stdev = gmm.get_mean_and_stddevs(
+ self.ctx, self.ctx, self.ctx,
+ self.imt, [const.StdDev.INTRA_EVENT])
+
+ gmpe = registry[gmpe_name]()
+ emean = get_mean_stds(gmpe, self.ctx, [self.imt],
+ truncation_level=0)[0]
+
+ exp_mean = emean + np.array([-0.2, 0.4, 0.6, 0])
+ exp_stdev = np.sqrt(np.array([0.3, 0.4, 0.5, 0.2])**2 +
+ np.array([0.2, 0.1, 0.3, 0.4])**2)
+
+ # Check the computed mean + amplification
+ np.testing.assert_almost_equal(mean, exp_mean[0])
+
+ # Check the computed intra-event stdev
+ np.testing.assert_almost_equal(intra_stdev[0], exp_stdev)
From 286df56454c6b8394889ff63d85017e6ac3bd2ce Mon Sep 17 00:00:00 2001
From: TP <27099400+thpap@users.noreply.github.com>
Date: Wed, 28 Jun 2023 15:46:11 +0200
Subject: [PATCH 2/4] added changelog
---
debian/changelog | 13 +
debian/changelog.bak | 5633 +++++++++++++++++
.../gsim/akkar_bommer_2010_swiss_coeffs.py | 2 +-
3 files changed, 5647 insertions(+), 1 deletion(-)
create mode 100644 debian/changelog.bak
diff --git a/debian/changelog b/debian/changelog
index bdaa749af7b4..0202f6d85156 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,16 @@
+ [Athanasios Papadopoulos]
+ * Adjusted the Swiss-specific implementations of the GMPEs used
+ in the Swiss national seismic hazard (SUIhaz15) and risk (ERM-CH23) models.
+ The new implementation returns all of total, intra- and inter-event sigmas,
+ rather than just the total one.
+ * Extended the ModifiableGMPE class by adding an
+ apply_swiss_amplification_sa method that is used in ERM-CH23 to
+ apply site specific adjustments for site effects and intra-event
+ uncertainty.
+ * Added ch_ampl03, ch_ampl06, ch_phis2s03, ch_phis2s06,
+ ch_phisss03, ch_phis2s06 site parameters to the site.py file.
+ These parameters are required by the apply_swiss_amplification_sa method.
+
[Michele Simionato]
* Fixed another bug with conditioned GMFs appearing as the error
`array[m, n, bad] = exp(mean_covs[0, g, m, n], im)
diff --git a/debian/changelog.bak b/debian/changelog.bak
new file mode 100644
index 000000000000..785e78d7ef92
--- /dev/null
+++ b/debian/changelog.bak
@@ -0,0 +1,5633 @@
+ [Athanasios Papadopoulos]
+ * Adjusted the Swiss-specific implementations of the GMPEs used
+ in the Swiss national seismic hazard (SUIhaz15) and risk (ERM-CH23) models.
+ The new implementation returns all of total, intra- and inter-event sigmas,
+ rather than just the total one.
+ * Extended the ModifiableGMPE class by adding an
+ apply_swiss_amplification_sa method that is used in ERM-CH23 to
+ apply site specific adjustments for site effects and intra-event
+ uncertainty.
+ * Added ch_ampl03, ch_ampl06, ch_phis2s03, ch_phis2s06,
+ ch_phisss03, ch_phis2s06 site parameters to the site.py file.
+ These parameters are required by the apply_swiss_amplification_sa method.
+
+ [Michele Simionato]
+ * Fixed another bug with conditioned GMFs appearing as the error
+ `array[m, n, bad] = exp(mean_covs[0, g, m, n], im)
+ TypeError: list indices must be integers or slices, not tuple`
+
+ [Claudio Schill]
+ * Fixed sorting bug in the sigma_mu adjustment factor in
+ the Kuehn et al. (2020) GMM
+
+ [Michele Simionato]
+ * Fixed a subtle filtering bug in conditioned GMFs
+ * Fixed shakemap calculations to take the risk IMTs and not the hazard IMTs
+ * Extended shakemap2gmfs to amplify the GMFs based on user-provided vs30
+ values
+ * Removed sorting of the sections in the multiFaultSource reader to keep
+ the rup_idxs consistent with the order in the files
+ * GMFs too small to produce losses now give a warning rather than an error
+ * Fixed bug in `get_ry0_distance` breaking conditioned GMFs
+ * Made sure lon and lat are rounded to 5 digits in the site collection
+
+ [Graeme Wheaterill]
+ * Fixes to bchydro_2016_epistemic, eshm20_craton and lanzano_2019
+
+ [Michele Simionato]
+ * Extended sensitity analysis to file parameters
+ * Introduced new loss type `residents`
+
+ [Marco Pagani]
+ * Fixed bug in get_profiles_from_simple_fault_data affecting KiteSurfaces
+
+ [Michele Simionato]
+ * Fixed the rupture exporter in presence of GMPETables
+ * Optimized the postclassical phase
+ * Fixed a serious issue in the classical calculator with tiles
+ * Vectorized the association assets <-> hazard sites (up to 32x speedup)
+ * Fixed bug in disaggregation calculations associated to an error
+ in the line `[mag] = np.unique(np.round(ctx.mag, 6))`
+ * Optimized the calculation of geohashes by using numba
+
+ [Paolo Tormene]
+ * Extended total_losses to include business_interruption
+
+ [Michele Simionato]
+ * Recognized `occupants_avg` field in the exposure
+ * Optimized reading the exposure (both speed and memory)
+ * Optimized the rupture sampling for MultiFaultSources and improved
+ the parallelization for MultiFaultSources and MultiPointSources
+ * Made the parameter `truncation_level` mandatory
+ * Fixed the damage state header in the aggrisk outputs
+ * Changed the order of the IMTs to be by period and not lexicographic
+ * Fixed the realizations extractor for scenario calculations reading
+ ruptures with multiple different tectonic region types
+
+ [Kendra Johnson]
+ * Fixed a bug in disaggregation by Lon-Lat-TRT when there are multifault
+ ruptures and multiple sites
+
+ [Michele Simionato]
+ * Deprecated the conversion in the exposure
+ * Added new loss types "area" and "number" for usage in risk calculations
+ * Made the contexts immutable and fixed mutability bugs potentially
+ affecting the modules akkar_bommer_2010, bindi_2011_ipe, can_shm6_inslab,
+ lanzano_2019, youd_etal_2002, zhang_zhao_2005, cauzzi_faccioli_2008_swiss,
+ chiou_youngs_2008_swiss campbell_bozorgnia_2014
+ * Changed the disaggregation algorithm (see manual)
+ * Added a view `risk_by_rup`
+ * Internal: added command `oq compare med_gmv `
+ * Extended extract/ruptures to extract a single rupture given the `rup_id`
+ * Fixed a bug in classical_damage causing a ValueError: could not broadcast
+ input array from shape (X,Y) into shape (X,)
+ * Added check for missing site parameters
+
+ [Paolo Tormene]
+ * Internal: reduced the size of the gsim column in the view
+ required_params_per_trt in the .rst report
+
+ [Michele Simionato]
+ * Optimized the generation of events
+ * Fixed the GMFs CSV importer so that it can import exported GMFs even in
+ the presence of a `custom_site_id`
+ * Implemented sampling for mutex sources with grp_probability
+ * Introduced `extreme_gmv` parameter in the job.ini
+ * Introduced a new output "Annual Frequency of Events" and refined the command
+ `oq plot event_based_mfd?`
+ * Moved the minimum magnitude filtering after the rupture sampling
+ * Changed the internals of rupture sampling and fixed the generated MFD
+ in the case of a same source appearing in multiple logic tree branches
+ * Fixed a bug in scenario calculations causing a mysterious IndexError in the
+ line rctx.clon = c.lons[rctx.sids]
+ * Changed the disaggregation exporter to add a column with the IML
+ associated to the PoE for the mean disaggregation outputs
+ * Internal: added a parameter `override_vs30` in the job.ini
+
+ [Marco Pagani, Michele Simionato]
+ * Fixed a bug in the source writer when writing NonParametricSources
+
+ [Michele Simionato]
+ * Changed the conditional spectrum storage and fixed the exporter to export
+ all PoEs
+
+ [Marco Pagani]
+ * Fixed conditional spectrum with investigation time different from 1 year
+
+ [Michele Simionato]
+ * Fixed documentation of the Extractor for hazard curves and maps
+ * Fixed bug in `oq zip`: when starting from a directory different from the
+ job.ini directory, .hdf5 files for nonparametric ruptures were not included
+ * Honored `minimum_magnitude` for MultiFaultSources
+ * Overhauled the experimental postprocessing framework and fixed many
+ bugs in the `compute_mrd` postprocessor
+
+ [Anirudh Rao]
+ * Added a verification test suite for the Conditioned GMFs calculator
+
+ [Michele Simionato]
+ * Added output `rates_by_src`
+ * Fixed method '/v1/ini_defaults' returning NaNs for the site parameters
+ * Added output `mean_disagg_bysrc` for single site calculations with use_rates
+ * Added command `oq reduce_smlt`
+ * Fixed reinsurance calculations when there is a single loss type
+ * Changed the source seed generation to not depend on the source ID suffix
+ * Tracebacks were printed 3 times in the console: this is finally fixed
+ * Forbidden duplicate sources in atomic groups
+ * Forbidden duplicate mutually exclusive sources
+ * Fixed conditional spectrum calculator with multiple sites and implemented
+ parallelization
+ * Fixed the source ID generation for CollapsedPointSources
+ * Fixed the error message for wrong weights in the gsim logic tree file
+ * Fixed KeyError in calculations using the EasternCan15Mid with PGA
+ * Replaced hard-coded limit to 25 levels in the MRD postprocessor
+ with a simple warning
+
+ [Kendra Johnson]
+ * Added a job parameter 'reqv_ignore_sources', which indicates which
+ sources - specified as a list of thier source ids - should not be collapsed
+ using the equivalent distance
+
+ [Michele Simionato]
+ * Extended (re)insurance calculations to manage insurance deductibles at asset
+ level
+ * Internal: added a parameter `use_rates` to compute statistical hazard curves
+ in terms of rates, not probabilities
+ * Internal: changed `disagg_by_src` to work in terms of rates
+ * Added command `oq runsite ,` for mosaic PSHA calculations
+ * Enhanced --reuse-input to reuse preclassical calculations if possible
+ * Normalized IMTs in the `minimum_intensity` dictionary (i.e. SA(1.)=>SA(1.0))
+ * Fixed event based calculations running out of memory due to hazard curve
+ arrays being instantiated without need
+
+ [Julián Santiago Montejo Espitia]
+ * Contributed the GMPE Arteta et al. (2023) for crustal events on northern
+ South America
+
+ [Michele Simionato]
+ * Setting both `sites` and `site_model_file` now works also for models
+ with nonstandard site parameters, like EUR
+
+ [Paolo Tormene]
+ * Added AELO mode for the engine webui, providing a web form to insert input
+ values and launch a calculation. Input values are validated and the
+ progress of the calculation can be monitored through the webui. On
+ completion, the server sends an email to the job owner, providing feedback
+ about failure or completion, with a link to retrieve a traceback or to
+ browse the calculation outputs. Corresponding tests were added and the
+ existing tests for the webui were improved, cleaning up calculations after
+ they have been checked.
+
+ [Michele Simionato]
+ * Changed the default: now all realizations are consider in disaggregation
+ calculations, not only the one closest to the mean hazard curve
+ * Added feature `infer_occur_rates` for multiFault sources
+ * Sampling the ruptures was raising a BlockingIOError sometimes
+
+ [Kendra Johnson]
+ * Made it possible to use extendModel for multiple branchSets in the
+ source model logic tree
+
+ [Michele Simionato]
+ * Added an exporter for disagg_by_src
+ * Implemented mean disaggregation outputs, with the means computed in terms
+ of rates, not probabilities
+
+ [Kendra Johnson]
+ * Corrected a bug when using the `reqv` feature: all sources were
+ collapsed instead of the ones with the specified tectonic region types
+
+ [Michele Simionato]
+ * Changed the lon-lat binning algorithm to produce 4 times less bins
+ * Fixed install.py: it must not set the shared_dir
+ * Optimized disaggregation in performance, memory consumption and data
+ transfer; also changed the task distribution algorithm
+
+python3-oq-engine (3.16.0-2~xenial01) xenial; urgency=low
+
+ [Matteo Nastasi]
+ * Bumped oq-libs to version 3.8.0
+
+ [Michele Simionato, Paolo Tormene]
+ * Fixed the `agg_curves` extractor to also extract individual curves, thus
+ fixing the QGIS plugin visualization
+
+ [Michele Simionato]
+ * 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]
+ * Implemented the correction of Lanzano et al. (2019) as described in
+ Lanzano et al. (2022)
+
+ [Michele Simionato]
+ * Fixed disaggregation calculations when too few tasks were generated
+
+ [Anirudh Rao, Michele Simionato]
+ * Changed the algorithm used in classical_risk and classical_bcr
+ calculations to take into account the risk_investigation_time
+
+ [Michele Simionato]
+ * Added a warning for pointlike sources with magnitudes >= 8
+ * Optimized the disaggregation by using our own truncnorm_sf function and
+ not scipy
+
+ [Anirudh Rao]
+ * Implemented Conditioned GMFs as defined in Engler et al. (2022)
+
+ [Matteo Nastasi]
+ * Removed python3-engine-master and python3-engine-worker ubuntu packages
+
+ [Michele Simionato]
+ * Internal: renamed rup_id -> seed in event based calculations to avoid
+ confusion
+ * Parallelized the reinsurance calculation
+
+ [Marco Pagani]
+ * Completed implementation of `grp_probability` for SourceGroups with mutex
+ ruptures
+
+ [Michele Simionato]
+ * 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]
+ * 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]
+ * 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]
+ * Add WEBUI_PATHPREFIX variable to add a prefix to usual webui web path
+
+ [Michele Simionato]
+ * 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]
+ * 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]
+ * 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]
+ * Reduced the number of warnings when the horizontal component is not
+ convertible into geometric mean in ModifiableGMPE
+
+ [Guillaume Daniel]
+ * Added the highest magnitude bin to the Stepp (1972) completeness analysis
+ and improved the legend in the plot
+
+ [Manuela Villani]
+ * Added the Wong et al. (2022) ground motion model
+
+ [Marco Pagani]
+ * Added a `constant_term` attribute to the `faultActivityData` uncertainty
+ model, with a default value of 9.1 for backward compatibility
+
+ [Michele Simionato]
+ * Removed support for Python < 3.8
+
+ [Prajakta Jadhav, Dharma Wijewickreme]
+ * Added GMPE for Zhang and Zhao(2005)
+
+ [Michele Simionato]
+ * 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, Michele Simionato]
+ * Fixed the calculation of conditional spectra
+
+ [Michele Simionato]
+ * 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]
+ * Bumped h5py to version 3.7.0 and added fiona 1.8.21
+
+ [Marco Pagani]
+ * Added the get_dip and get_strike methods to the gridded surface
+
+ [Michele Simionato]
+ * 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
+
+ -- Matteo Nastasi (GEM Foundation) Thu, 09 Feb 2023 15:26:59 +0000
+
+python3-oq-engine (3.15.0-1~xenial01) xenial; urgency=low
+
+ [Michele Simionato]
+ * Added a check on sum(srcs_weights) == 1 for mutex sources
+
+ [Kendra Johnson]
+ * Fixed disaggregation by lon, lat in presence of multiFaultSources
+
+ [Michele Simionato]
+ * 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]
+ * Contributed `Mag_Dist_TRT` and `Mag_Dist_TRT_Eps` disaggregations
+
+ [Michele Simionato]
+ * 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]
+ * Added support for negative binomial temporal occurrence models
+
+ [Marco Pagani, Michele Simionato]
+ * Added support for disaggregation in case of mutually exclusive sources
+
+ [Michele Simionato]
+ * 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]
+ * Added `host` field to the `job` table (dbserver restart required)
+ * `--exports=csv` was not honored for the realizations output; now it is
+
+ [Paul Henshaw, Sandra Giacomini]
+ * Ported the OpenQuake manual from latex to reStructuredText format
+
+ [Michele Simionato]
+ * 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]
+ * Added width and hypo_depth estimation to Campbell and Bozorgnia (2014)
+
+ [Michele Simionato]
+ * 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
+
+ [Astha Poudel, Anirudh Rao, Michele Simionato]
+ * Added the ability to run connectivity analysis in event_based_damage
+ and scenario_damage calculation with an appropriate exposure
+
+ [Tom Son, Michele Simionato]
+ * Added ztor estimation to Campbell and Bozorgnia (2014)
+
+ [Michele Simionato]
+ * 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, Claudio Schill]
+ * Simple performance improvement of Kuehn et al. 2020 model
+
+ [Michele Simionato]
+ * 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]
+ * 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]
+ * 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]
+ * 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
+
+ -- Matteo Nastasi (GEM Foundation) Mon, 12 Sep 2022 07:57:27 +0000
+
+python3-oq-engine (3.14.0-1~xenial01) xenial; urgency=low
+
+ [Michele Simionato]
+ * 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]
+ * Extended ModifiableGMPE to work with GMPETable and subclasses
+
+ [Michele Simionato]
+ * 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]
+ * 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]
+ * 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, Dharma Wijewickreme]
+ * Added GMPE Youd et al. (2002) and the corresponding site parameters
+
+ [Michele Simionato]
+ * 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]
+ * 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]
+ * 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
+
+ -- Matteo Nastasi (GEM Foundation) Tue, 12 Apr 2022 12:27:58 +0000
+
+python3-oq-engine (3.13.0-1~xenial01) xenial; urgency=low
+
+ [Michele Simionato]
+ * Improved the precision of the `pointsource_distance` approximation
+ * Added command `oq show rlz:`
+ * Internal: added an environment variable OQ_DATABASE
+
+ [Manuela Villani]
+ * Added a function in the modifiable GMPE to convert ground-motion assuming
+ different representations of the horizontal component.
+
+ [Kendra Johnson]
+ * Implemented possibility of assigning the parameters `floating_x_step` and
+ `floating_y_step` for kite fault sources in the job configuration file
+
+ [Michele Simionato]
+ * 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]
+ * Added GMPE from Jaimes et al. (2020) for Mexican intraslab earthquakes
+
+ [Michele Simionato]
+ * 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]
+ * Added a new class to the abrahamson_2015 gmm.
+ * Added a new class to the lanzano_luzi_2019 and skarlatoudis_2013 gmms
+
+ [Marco Pagani, Shreyasvi]
+ * Added GMM from Bora et al. (2019)
+ * Fixed bug in the multifault surface when defined using kite fault surfaces
+
+ [Giuseppina Tusa]
+ * Added a new gsim file tusa_langer_azzaro_2019.py to implement the GMMs
+ from Tusa et al. (2020).
+
+ [Michele Simionato]
+ * 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]
+ * Added the GMPE Arroyo et al. (2010) for Mexican subduction interface events
+
+ [Marco Pagani]
+ * 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]
+ * 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]
+ * Added a new GMPE for significant duration proposed by Bahrampouri et al
+ (2021).
+
+ [Claudia 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]
+ * 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]
+ * Added the Thingbaijam et al. (2017) Magnitude Scaling Law for Strike-slip
+
+ [Michele Simionato]
+ * 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, Laurentiu Danciu]
+ * Added the GMPE Manea (2021)
+
+ [Michele Simionato]
+ * 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]
+ * Bumped h5py to version 3.1.0
+
+ [Michele Simionato]
+ * 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
+
+ -- Matteo Nastasi (GEM Foundation) Tue, 25 Jan 2022 08:49:25 +0000
+
+python3-oq-engine (3.12.0-1~xenial01) xenial; urgency=low
+
+ [Marco Pagani]
+ * Updated verification tables for Abrahamson et al. (2014) and checked
+ values with other public resources.
+
+ [Michele Simionato]
+ * 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]
+ * Implements Abrahamson & Gulerce (2020) NGA Subduction GMPE
+
+ [Nico Kuehn, Graeme Weatherill]
+ * Implements Kuehn et al. (2020) NGA Subduction GMPE
+
+ [Chung-Han Chan, Jia-Cian Gao]
+ * Implements Lin et al. (2011)
+
+ [Graeme Weatherill, Nico Kuehn]
+ * Implements Si et al. (2020) NGA Subduction GMPE
+
+ [Michele Simionato]
+ * 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]
+ * Added the Lanzano et al. (2020) GMPE
+
+ [Stanley Sayson]
+ * 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]
+ * 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]
+ * Added the Sgobba et al. (2020) GMPE
+
+ [Michele Simionato]
+ * 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]
+ * Updates Kotha et al. (2020) slope/geology model coefficients
+
+ [Michele Simionato]
+ * 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, Michele Simionato]
+ * Implemented MultiFaultSources
+ * Added method for computing rjb to kite surfaces
+ * Added support for new epistemic uncertainties in the SSC LT
+
+ [Michele Simionato]
+ * Fixed newlines in the CSV exports on Windows
+
+ [Graeme Weatherill]
+ * Added Ameri (2014) GMPE for the Rjb case
+
+ [Michele Simionato]
+ * Optimized the slow tasks in event_based calculations
+ * Added an early check for fragility functions in place of vulnerability
+ functions or viceversa
+
+ [Marco Pagani]
+ * 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]
+ * Fixed logic tree bug: MultiMFDs were not modified
+ * Internal: added a view composite_source_model to show the sources by group
+
+ [Nicolas Schmid]
+ * Added possibility to use *.shp files instead of *.xml files when
+ doing risk calculations from shakemaps.
+
+ [Michele Simionato]
+ * 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]
+ * Implemented Idini et al (2017) GSIM.
+ * Added dynamic site parameter 'soiltype'
+
+ [Michele Simionato]
+ * 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]
+ * Fix to LanzanoEtAl2016 in presence of a "bas" term in the site model
+
+ [Nicolas Schmid]
+ * 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]
+ * 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]
+ * 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]
+ * 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
+
+ -- Matteo Nastasi (GEM Foundation) Mon, 06 Sep 2021 08:17:53 +0000
+
+python3-oq-engine (3.11.3-1~xenial01) xenial; urgency=low
+
+ [Michele Simionato]
+ * 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
+
+ -- Matteo Nastasi (GEM Foundation) Mon, 22 Mar 2021 09:00:22 +0000
+
+python3-oq-engine (3.11.2-1~xenial01) xenial; urgency=low
+
+ [Matteo Nastasi]
+ * Fixed setup.py 'pyproj' dependency
+
+ [Antonio Ettorre]
+ * Fixed docker builder
+
+ -- Matteo Nastasi (GEM Foundation) Tue, 02 Mar 2021 09:22:59 +0000
+
+python3-oq-engine (3.11.1-1~xenial01) xenial; urgency=low
+
+ [Michele Simionato]
+ * Fixed memory regression in ebrisk calculations
+
+ -- Matteo Nastasi (GEM Foundation) Mon, 01 Mar 2021 09:30:46 +0000
+
+python3-oq-engine (3.11.0-1~xenial01) xenial; urgency=low
+
+ [Michele Simionato]
+ * 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]
+ * Added a check for missing `soil_intensities` in classical calculations
+ with site amplification
+
+ [Michele Simionato]
+ * 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]
+ * Added TaperedGRMFD to hazardlib
+
+ [Michele Simionato]
+ * 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]
+ * Improved error handling of bad or zero coefficients of variation
+ for the Beta distribution for vulnerability
+
+ [Michele Simionato]
+ * 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]
+ * Added the Lanzano et al. (2019) GMPE
+
+ [Michele Simionato]
+ * 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, Michele Simionato, Thomas Chartier]
+ * Added experimental version of KiteSource and KiteSurface
+
+ [Michele Simionato]
+ * 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]
+ * 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]
+ * 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]
+ * Added the Phung et al. (2020) GMPE
+
+ [Michele Simionato]
+ * 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]
+ * Added the Chao et al. (2020) GMPE
+
+ [Michele Simionato]
+ * 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]
+ * Refactor of the Kotha et al. (2020) GMM and its adjustments for ESHM20
+
+ [Michele Simionato]
+ * 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]
+ * Added fpeak site parameter
+ * Added the Hassani and Atkinson (2020) GMPE
+
+ [Marco Pagani]
+ * 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
+
+ -- Matteo Nastasi (GEM Foundation) Tue, 23 Feb 2021 13:54:18 +0000
+
+python3-oq-engine (3.10.1-1~xenial01) xenial; urgency=low
+
+ [Matteo Nastasi]
+ * Add info to doc about OpenQuake manual path for linux and mac installers
+
+ [Laurentiu Danciu 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
+
+ [Michele Simionato]
+ * Avoided warnings in classical_damage due to PoE == 1
+ * Changed the sourcewriter to not save the `area_source_discretization`
+ * Restored reading from the workers in classical_risk and classical_damage
+ * Implemented `sensitivity_analysis`
+ * Fixed an npz saving error in /extract/assets affecting the QGIS plugin
+ * Improved submitting calculations to the WebAPI: now they can be run on a zmq
+ cluster, serialize_jobs is honored and the log level is configurable
+
+ [Graeme Weatherill]
+ * Adds new methods to the modifiable GMPE to apply linear scaling factors
+ to the median and standard deviation (IMT-dependent and IMT-independent)
+
+ [Michele Simionato]
+ * Made it possible to control the log level of jobs spawned by the WebAPI
+ * Reduced memory occupation in post_ebrisk
+ * Optimized loss aggregation in ebrisk calculations
+ * Extended `oq engine --reuse-input` to the exposure
+ * Parallelized by `number_of_ground_motion_fields` in scenario calculations
+ with many sites
+ * Refactored ebrisk (with a 10x speedup in "aggregate risk" in at least one
+ calculation for Canada) and reduced data transfer in event based
+
+ [Viktor Polak]
+ * Added the Parker et al. (2020) GMPE
+
+ [Marco Pagani]
+ * Added 'closest_point' metric
+
+ [Michele Simionato]
+ * Changed event based full enumeration to be consistent with sampling
+ * Changed the GMF storage to be more pandas-friendly
+
+ -- Matteo Nastasi (GEM Foundation) Sun, 18 Oct 2020 19:55:40 +0000
+
+python3-oq-engine (3.10.0-1~xenial01) xenial; urgency=low
+
+ [Richard Styron]
+ * Added secondary perils ZhuLiquefactionGeneral and HazusLateralSpreading,
+ supplementing HazusLiquefaction and NewmarkDisplacement
+
+ [Michele Simionato]
+ * 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]
+ * Bumped GDAL to version 3.1.2
+
+ [Michele Simionato]
+ * 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]
+ * Added the Stewart et al. (2016) GMPE
+ * Added the Bozorgnia & Campbell (2016) GMPE
+ * Added the Gulerce et al. (2017) GMPE
+
+ [Michele Simionato]
+ * 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]
+ * Added a prototype implementation of the kernel method
+
+ [Michele Simionato]
+ * Added zipcode site parameter
+ * Added command `oq renumber_sm ssmLT.xml`
+
+ [Robin Gee]
+ * Set DEFINED_FOR_REFERENCE_VELOCITY for GMPEs modified for Switzerland
+
+ [Michele Simionato]
+ * 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 `
+ * 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]
+ * Implements a heteroskedastic standard deviation model for the Kotha et al.
+ (2020) GMPE
+
+ [Michele Simionato]
+ * 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]
+ * Implemented the Zalachoris & Rathje (2019) GMM
+
+ [Michele Simionato]
+ * Optimized the disaggregation outputs, saving storage time
+
+ [Graeme Weatherill]
+ * Adds PGV coefficients to USGS CEUS GMPE tables (where applicable)
+
+ [Michele Simionato]
+ * 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]
+ * Fixed a bug in the mixture model application when running multiple GMPEs
+
+ [Michele Simionato]
+ * 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]
+ * 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]
+ * 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`
+
+ -- Matteo Nastasi (GEM Foundation) Tue, 29 Sep 2020 11:53:24 +0000
+
+python3-oq-engine (3.9.0-1~xenial01) xenial; urgency=low
+
+ [Michele Simionato]
+ * 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]
+ * Implemented Pitilakis et al. (2020) Site Amplification Model
+
+ [Michele Simionato]
+ * 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]
+ * Added a second tectonic region type to the EventBasedPSHA demo
+
+ [Michele Simionato]
+ * 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]
+ * Fixed a bug in the coeff table of YEA97
+
+ [Graeme Weatherill]
+ * Implemented support for Gaussian Mixture Model approach to characterise
+ ground motion model uncertainty
+
+ [Michele Simionato]
+ * 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]
+ * Internal: added 'oq-taxonomy' to docker images
+
+ [Michele Simionato]
+ * 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]
+ * Added a warning in `oq reduce_sm` listing duplicate source IDs
+
+ [Michele Simionato]
+ * 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]
+ * Fixed bug in the HMTK: the `bin_width` parameter was not passed to
+ `mtkActiveFaultModel.build_fault_model`
+
+ [Michele Simionato]
+ * 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]
+ * Fixed an encoding issue in reading configuration files on Windows
+
+ [Michele Simionato]
+ * 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]
+ * Correction to catalogue plotting tool in hmtk to include the last bins
+ in density plots
+
+ [Paolo Tormene]
+ * Added Classical PSHA Non-parametric sources Demo
+
+ [Robin Gee]
+ * Change the header of the exported sigma_epsilon_XX.csv file to indicate
+ that values correspond to inter event sigma
+
+ [Graeme 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]
+ * Added a check on the engine version between master and workers
+
+ [Paolo Tormene]
+ * Removed the `multi_node` flag, that is not used anymore
+
+ [Michele Simionato]
+ * 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]
+ * 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]
+ * 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
+
+ -- Matteo Nastasi (GEM Foundation) Mon, 27 Apr 2020 14:22:48 +0000
+
+python3-oq-engine (3.8.1-1~xenial01) xenial; urgency=low
+
+ [Michele Simionato]
+ * 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)
+
+ -- Matteo Nastasi (GEM Foundation) Wed, 12 Feb 2020 10:23:22 +0000
+
+python3-oq-engine (3.8.0-1~xenial01) xenial; urgency=low
+
+ [Graeme Weatherill]
+ * Updates SERA Craton GMPE to incorporate NGA East site response and reflect
+ changes in CEUS USGS model
+
+ [Michele Simionato]
+ * The total loss curves in event_based_risk are now built with pandas
+ * Added an option `oq engine --param` to override the job.ini parameters
+ * Internal: reduced the number of NGAEastUSGS classes from 39 to 1
+ * Internal: reduced the number of NGAEast classes from 44 to 2
+ * Internal: reduced the 15 NSHMP2014 classes to a single class
+ * Internal: reduced the 22 NBCC2015_AA13 classes to a single class
+
+ [Graeme Weatherill]
+ * Added complete suite of GMPEs for the Central and Eastern US, as adopted
+ within the 2018 US National Seismic Hazard Map
+ * Implemented NGA East site amplification model within NGA East Base class
+
+ [Michele Simionato]
+ * Implemented hazard curves amplification by convolution
+ * Improved the error message if the `event_id` does not start from zero in
+ the gmfs.csv files
+ * Changed the rupture exporter to export LINESTRINGs instead of degenerate
+ POLYGONs
+ * Introduced `minimum_loss_fraction` functionality in ebrisk
+ * Refined the rupture prefiltering mechanism, possibly changing the numbers
+ in calculations with nonzero coefficients of variations
+ * Optimized the generation of aggregate loss curves in ebrisk
+ * Introduced an experimental AvgGMPE and used it to implement (optional)
+ reduction of the gsim logic tree
+
+ [Graeme Weatherill]
+ * Implemented Abrahamson et al (2018) update of the BC Hydro GMPE
+ * Added configurable nonergodic sigma option to BC Hydro and SERA GMPEs
+ * Small refactoring and bug fix in average SA GMPE
+
+ [Michele Simionato]
+ * Avoided reading multiple times the GSIM logic tree
+ * Changed the GSIM logic tree sampling by ordering the branches by TRT
+ * Ignored IMT-dependent weights when using sampling to make such calculations
+ possible
+ * Storing (partially) the asset loss table
+
+ [Robin Gee]
+ * Set DEFINED_FOR_REFERENCE_VELOCITY in CampbellBozorgnia2003NSHMP2007
+
+ [Graeme Weatherill]
+ * Re-adjustment of SERA Subduction model epistemic scaling factors
+
+ [Michele Simionato]
+ * Improved the task distribution in the ebrisk calculator
+ * Fixed a bug in ebrisk with aggregate_by when building the rup_loss_table
+ * Storing the asset loss table in scenario_risk, but only for assets and
+ events above over a `loss_ratio_threshold` parameter
+ * Storing the asset damage table in scenario_damage and event based damage,
+ but only for assets and events above a `collapse_threshold` parameter
+ * Avoided transferring the GMFs upfront in scenario_damage, scenario_risk
+ and event_based_damage
+
+ [Daniele Viganò]
+ * Included pandas in the engine distribution
+
+ [Michele Simionato]
+ * Avoided reading multiple time the gsim logic tree file and relative files
+ * Added a check for duplicate sites in the site model file
+ * Implemented an event_based_damage calculator
+ * Added an API /v1/calc/ID/extract/gmf_data?event_id=XXX
+ * Added an API /v1/calc/ID/extract/num_events
+ * Fixed the /v1/calc/ID/status endpoint to return an error 404 when needed
+ * Removed the "sites are overdetermined" check, since it now unneeded
+ * Turned the calculation of consequences into a plugin architecture
+
+ [Matteo Nastasi]
+ * Add '/v1/ini_defaults' web api entry point to retrieve all default
+ values for ini attributes (attrs without a default are not returned)
+
+ [Michele Simionato]
+ * Renamed rlzi -> rlzi in the sigma-epsilon dataset and exporter
+ * Renamed id -> asset_id in all the relevant CSV exporters
+ * Renamed rlzi -> rlz_id in the dmg_by_event.csv output
+ * Renamed rupid -> rup_id in the ruptures.csv output
+ * Renamed id -> event_id in the events.csv output and gmfs.csv output
+ * Renamed sid -> site_id in the gmfs.csv output
+ * Renamed ordinal -> rlz_id in the realizations.csv output
+
+ [Alberto Chiusole]
+ * Changed the way how the available number of CPU cores is computed
+
+ [Kendra Johnson, Robin Gee]
+ * Added GMPEs for Rietbrock-Edwards (2019) and Yenier-Atkinson (2015)
+
+ [Michele Simionato]
+ * Added more check on the IMTs and made it possible to import a GMF.csv
+ file with more IMTs than needed
+ * Enabled magnitude-dependent pointsource_distance
+ * Removed the syntax for magnitude-dependent maximum distance, since
+ now it can be automatically determined by the engine
+ * Saving more information in the case of single-site classical hazard
+ * Extended `pointsource_distance` to generic sources
+ * Removed the boundary information from the CSV rupture exporter
+ * Changed the /extract/rupture/XXX API to returns a TOML that can be
+ used by a scenario calculator
+ * Added general support for file-reading GMPEs
+ * Made it possible to disaggregate on multiple realizations
+ with the parameters `rlz_index` or `num_rlzs_disagg`
+ * Fixed downloading the ShakeMaps (again)
+ * Better error message in case of too large maximum_distance
+ * Optimized the case of point sources with an hypocenter distribution and
+ GSIMs independent from it and in general the case of ruptures with
+ similar distances
+
+ [Graeme Weatherill]
+ * Updates SERA craton GMPE to reflect updates to NGA East site response model
+
+ [Michele Simionato]
+ * Fixed and HDF5 SWMR issue in large disaggregation calculations
+ * Made `rrup` the unique acceptable `filter_distance`
+ * Fixed disaggregation with a parent calculation
+ * Models with duplicated values in the hypocenter and/or nodal plane
+ distributions are now automatically optimized
+ * Fixed an issue with missing noDamageLimit causing NaN values in
+ scenario_damage calculations
+ * Added more validations for predefined hazard, like forbidding the site model
+
+ [Marco Pagani]
+ * Adding the shift_hypo option for distributed seismicity
+
+ [Michele Simionato]
+ * Raised an early error for extra-large GMF calculations
+ * Reduced the GMF storage by using 32 bit per event ID instead of 64 bit
+ * Raised an error in case of duplicated sites in the site model
+ * Fixed the case of implicit grid with a site model: sites could be
+ incorrectly discarded
+ * Fixed the ShakeMap downloader to find also unzipped `uncertaintly.xml`
+ files
+ * Fixed the rupture exporters to export the rupture ID and not the
+ rupture serial
+ * Removed the non-interesting `agg_maps` outputs
+ * Changed the task distribution in the classical calculator and added
+ a `task_multiplier` parameter
+
+ [Marco Pagani]
+ * Fixed a bug in the GenericGmpeAvgSA
+
+ [Michele Simionato]
+ * Added a `/v1/calc/validate_zip` endpoint to validate input archives
+ * Deprecated inferring the intensity measure levels from the risk functions
+ * Fixed a too strict check on the minimum intensities of parent an child
+ calculations
+ * Extended the ebrisk calculator to compute at the same time both the
+ aggregate curves by tag and the total curves
+
+ [Marco Pagani]
+ * Implemented Morikawa and Fujiwara (2013) GMM
+
+ [Michele Simionato]
+ * Changed the seed algorithm in sampling with more than one source model,
+ thus avoiding using more GMPEs than needed in some cases
+ * If `ground_motion_fields=false` is set, the GMFs are not stored even
+ if `hazard_curves_from_gmfs=true`
+ * `oq show job_info` now works while the calculation is running
+ * Reduced the sent data transfer in ebrisk calculations
+ * Deprecated the old syntax for the `reqv` feature
+ * Added short aliases for hazard statistics `mean`, `max` and `std`
+ * Reduced substantially the memory occupation in the task queue
+ * Added an API `/extract/sources` and an experimental `oq plot sources`
+ * Added a check on valid input keys in the job.ini
+ * Fixed the check on dependent calculations
+ * Specifying at the same time both a grid and individual sites is an error
+
+ [Daniele Viganò]
+ * Docker containers rebased on CentOS 8
+ * Fixed an issue causing zombie `ssh` processes
+ when using `zmq` as task distribution mechanism
+ * Introduced support for RHEL/CentOS 8
+
+ [Michele Simionato]
+ * Added a check for no GMFs in event_based_risk
+ * Avoided transferring the site collection
+ * Storing the sources in TOML format
+
+ -- Matteo Nastasi (GEM Foundation) Mon, 20 Jan 2020 10:14:51 +0000
+
+python3-oq-engine (3.7.1-1~xenial01) xenial; urgency=low
+
+ [Michele Simionato]
+ * Fixed disaggregation with a parent calculation
+ * Fixed the case of implicit grid with a site model: sites could be
+ incorrectly discarded
+ * Fixed the ShakeMap downloader to find also unzipped `uncertaintly.xml`
+ files
+ * Fixed the rupture exporters to export the rupture ID and not the
+ rupture serial
+
+ [Marco Pagani]
+ * Fixed a bug in the GenericGmpeAvgSA
+
+ -- Matteo Nastasi (GEM Foundation) Fri, 25 Oct 2019 08:05:41 +0000
+
+python3-oq-engine (3.7.0-1~xenial01) xenial; urgency=low
+
+ [Michele Simionato]
+ * Hiding calculations that fail before the pre-execute phase (for instance,
+ because of missing files); they already give a clear error
+ * Added an early check on truncation_level in presence of correlation model
+
+ [Guillaume Daniel]
+ * Implemented Ameri (2017) GMPE
+
+ [Michele Simionato]
+ * Changed the ruptures CSV exporter to use commas instead of tabs
+ * Added a check forbidding `aggregate_by` for non-ebrisk calculators
+ * Introduced a task queue
+ * Removed the `cache_XXX.hdf5` files by using the SWMR mode of h5py
+
+ [Kris Vanneste]
+ * Updated the coefficients table for the atkinson_2015 to the actual
+ values in the paper.
+
+ [Michele Simionato]
+ * Added an `/extract/agg_curves` API to extract both absolute and relative
+ loss curves from an ebrisk calculation
+ * Changed `oq reset --yes` to remove oqdata/user only in single-user mode
+ * Now the engine automatically sorts the user-provided intensity_measure_types
+ * Optimized the aggregation by tag
+ * Fixed a bug with the binning when disaggregating around the date line
+ * Fixed a prefiltering bug with complex fault sources: in some cases, blocks
+ ruptures were incorrectly discarded
+ * Changed the sampling algorithm for the GMPE logic trees: now it does
+ not require building the full tree in memory
+ * Raised clear errors for geometry files without quotes or with the wrong
+ header in the multi_risk calculator
+ * Changed the realizations.csv exporter to export '[FromShakeMap]' instead
+ of '[FromFile]' when needed
+ * Changed the agg_curves exporter to export all realizations in a single file
+ and all statistics in a single file
+ * Added rlz_id, rup_id and year to the losses_by_event output for ebrisk
+ * Fixed a bug in the ruptures XML exporter: the multiplicity was multiplied
+ (incorrectly) by the number of realizations
+ * Fixed the pre-header of the CSV outputs to get proper CSV files
+ * Replaced the 64 bit event IDs in event based and scenario calculations
+ with 32 bit integers, for the happiness of Excel users
+
+ [Daniele Viganò]
+ * Numpy 1.16, Scipy 1.3 and h5py 2.9 are now required
+
+ [Michele Simionato]
+ * Changed the ebrisk calculator to read the CompositeRiskModel directly
+ from the datastore, which means 20x less data transfer for Canada
+
+ [Anirudh Rao]
+ * Fixed a bug in the gmf CSV importer: the coordinates were being
+ sorted and new site_ids assigned even though the user input sites
+ csv file had site_ids defined
+
+ [Michele Simionato]
+ * Fixed a bug in the rupture CSV exporter: the boundaries of a GriddedRupture
+ were exported with lons and lats inverted
+ * Added some metadata to the CSV risk outputs
+ * Changed the distribution mechanism in ebrisk to reduce the slow tasks
+
+ [Graeme Weatherill]
+ * Updates Kotha et al. (2019) GMPE to July 2019 coefficients
+ * Adds subclasses to Kotha et al. (2019) to implement polynomial site
+ response models and geology+slope site response model
+ * Adds QA test to exercise all of the SERA site response calculators
+
+ [Michele Simionato]
+ * Internal: there is not need to call ``gsim.init()`` anymore
+
+ [Graeme Weatherill]
+ * Adds parametric GMPE for cratonic regions in Europe
+
+ [Michele Simionato]
+ * In the agglosses output of scenario_risk the losses were incorrectly
+ multiplied by the realization weight
+ * Removed the output `sourcegroups` and added the output `events`
+
+ [Graeme Weatherill]
+ * Adds new meta ground motion models to undertake PSHA using design code
+ based amplification coefficients (Eurocode 8, Pitilakis et al., 2018)
+ * Adds site amplification model of Sandikkaya & Dinsever (2018)
+
+ [Marco Pagani]
+ * Added a new rupture-site metric: the azimuth to the closest point on the
+ rupture
+
+ [Michele Simionato]
+ * Fixed a regression in disaggregation with nonparametric sources, which
+ were effectively discarded
+ * The site amplification has been disabled by default in the ShakeMap
+ calculator, since it is usually already taken into account by the USGS
+
+ [Daniele Viganò]
+ * Deleted calculations are not removed from the database anymore
+ * Removed the 'oq dbserver restart' command since it was broken
+
+ [Richard Styron]
+ * Fixed `YoungsCoppersmith1985MFD.from_total_moment_rate()`: due to numeric
+ errors it was producing incorrect seismicity rates
+
+ [Michele Simionato]
+ * Now we generate the output `disagg_by_src` during disaggregation even in the
+ case of multiple realizations
+ * Changed the way the random seed is set for BT and PM distributions
+ * The filenames generated by `disagg_by_src` exporter now contains the site ID
+ and not longitude and latitude, consistently with the other exporters
+ * Accepted again meanLRs greater than 1 in vulnerability functions of kind LN
+ * Fixed a bug in event based with correlation and a filtered site collection
+ * Fixed the CSV exporter for the realizations in the case of scenarios
+ with parametric GSIMs
+ * Removed some misleading warnings for calculations with a site model
+ * Added a check for missing `risk_investigation_time` in ebrisk
+ * Reduced drastically (I measured improvements over 40x) memory occupation,
+ data transfer and data storage for multi-sites disaggregation
+ * Sites for which the disaggregation PoE cannot be reached are discarded
+ and a warning is printed, rather than killing the whole computation
+ * `oq show performance` can be called in the middle of a computation again
+ * Filtered out the far away distances and reduced the time spent in
+ saving the performance info by orders of magnitude in large disaggregations
+ * Reduced the data transfer by reading the data directly from the
+ datastore in disaggregation calculations
+ * Reduced the memory consumption sending disaggregation tasks incrementally
+ * Added an extract API disagg_layer
+ * Moved `max_sites_disagg` from openquake.cfg into the job.ini
+ * Fixed a bug with the --config option: serialize_jobs could not be overridden
+ * Implemented insured losses
+
+ -- Matteo Nastasi (GEM Foundation) Thu, 26 Sep 2019 08:51:44 +0000
+
+python3-oq-engine (3.6.0-1~xenial01) xenial; urgency=low
+
+ [Michele Simionato]
+ * In some cases `applyToSources` was giving a fake error about the source
+ not being in the source model even if it actually was
+
+ [Chris Van Houtte]
+ * Adds the Van Houtte et al. (2018) significant duration model for New
+ Zealand
+
+ [Michele Simionato]
+ * Added a way to compute and plot the MFD coming from an event based
+ * Storing the MFDs in TOML format inside the datastore
+
+ [Robin Gee]
+ * Moves b4 constant into COEFFS table for GMPE Sharma et al., 2009
+
+ [Graeme Weatherill]
+ * Adds functionality to Cauzzi et al. (2014) and Derras et al. (2014)
+ calibrated GMPEs for Germany to use either finite or point source distances
+
+ [Michele Simionato]
+ * Restored the ability to associate site model parameters to a grid of sites
+ * Made it possible to set `hazard_curves_from_gmfs=true` with
+ `ground_motion_fields=false` in the event based hazard calculator
+ * Introduced a mechanism to split the tasks based on an estimated duration
+ * Integrated `oq plot_memory` into `oq plot`
+ * Removed `NaN` values for strike and dip when exporting griddedRuptures
+ * Fixed `oq reset` to work in multi-user mode
+ * Extended the source_id-filtering feature in the job.ini to multiple sources
+ * Supported WKT files for the binary perils in the multi_risk calculator
+ * Added an early check on the coefficients of variation and loss ratios of
+ vulnerability functions with the Beta distribution
+ * Made sure that `oq engine --dc` removes the HDF5 cache file too
+ * Removed the flag `optimize_same_id_sources` because it is useless now
+ * Introduced a soft limit at 65,536 sites for event_based calculations
+ * Fixed a performance regression in ucerf_classical that was filtering
+ before splitting, thus becoming extra-slow
+ * Improved the progress log, that was delayed for large classical calculations
+ * Exported the ruptures as 3D multi-polygons (instead of 2D ones)
+ * Changed the `aggregate_by` exports for consistency with the others
+ * Changed the losses_by_event exporter for ebrisk, to make it more
+ consistent with scenario_risk and event_based_risk
+ * Changed the agglosses and losses_by_event exporters in scenario_risk,
+ by adding a column with the realization index
+ * Changed the generation of the hazard statistics to consume very little
+ memory
+ * Fixed a bug with concurrent_tasks being inherited from the parent
+ calculation instead of using the standard default
+ * Removed the dependency from mock, since it is included in unittest.mock
+ * For scenario, replaced the `branch_path` with the GSIM representation in
+ the realizations output
+ * Added a check for suspiciously large source geometries
+ * Deprecated the XML disaggregation exporters in favor of the CSV exporters
+ * Turned the disaggregation calculator into a classical post-calculator
+ to use the precomputed distances and speedup the computation even more
+ * Fixed the disaggregation calculator by discarding the ruptures outside
+ the integration distance
+ * Optimized the speed of the disaggregation calculator by moving a statistical
+ functions outside of the inner loop
+ * Changed the file names of the exported disaggregation outputs
+ * Fixed an export agg_curves issue with pre-imported exposures
+ * Fixed an export agg_curves issue when the hazard statistics are different
+ from the risk statistics
+ * Removed the disaggregation statistics: now the engine disaggregates only on
+ a single realization (default: the closest to the mean)
+ * Forbidden disaggregation matrices with more than 1 million elements
+ * Reduced the data transfer when computing the hazard curves
+ * Optimized the reading of large CSV exposures
+ * Fixed the --hc functionality across users
+ * Optimized the reduction of the site collection on the exposure sites
+ * Made more robust the gsim logic tree parser: lines like
+ ``
+ are accepted again
+ * Added a check against duplicated values in nodal plane distributions and
+ hypocenter depth distributions
+ * Changed the support for zipped exposures and source models: now the
+ name of the archive must be written explicitly in the job.ini
+ * Added support for numpy 1.16.3, scipy 1.3.0, h5py 2.9.0
+ * Removed the special case for event_based_risk running two calculations
+
+ [Graeme Weatherill]
+ * Adds the Tromans et al. (2019) adjustable GMPE for application to PSHA
+ in the UK
+
+ [Michele Simionato]
+ * Optimized src.sample_ruptures for (multi)point sources and are sources
+ * Fixed a mutability bug in the DistancesContext and made all context
+ arrays read-only: the fix may affect calculations using the GMPEs
+ berge_thierry_2003, cauzzi_faccioli_2008 and zhao_2006;
+ * Fixed a bug with the minimum_distance feature
+ * Fixed a bug in the exporter of the aggregate loss curves: now the loss
+ ratios are computed correctly even in presence of occupants
+ * Removed the (long time deprecated) capability to read hazard curves and
+ ground motion fields from XML files: you must use CSV files instead
+
+ [Marco Pagani]
+ * Implemented a modified GMPE that add between and within std to GMPEs only
+ supporting total std
+
+ [Michele Simionato]
+ * Added the ability to use a taxonomy_mapping.csv file
+ * Fixed a bug in classical_damage from CSV: for hazard intensity measure
+ levels different from the fragility levels, the engine was giving incorrect
+ results
+ * Serialized also the source model logic tree inside the datastore
+ * Added a check on missing intensity_measure_types in event based
+ * Fixed `oq prepare_site_model` in the case of an empty datadir
+ * Added a comment line with useful metadata to the engine CSV outputs
+ * Removed the long time deprecated event loss table exporter for event based
+ risk and enhanced the losses_by_event exporter to export the realization ID
+ * Removed the long time deprecated GMF XML exporter for scenario
+ * IMT-dependent weights in the gsim logic tree can be zero, to discard
+ contributions outside the range of validity of (some of the) GSIMs
+ * Now it is possible to export individual hazard curves from an event
+ * Added a view gmvs_to_hazard
+
+ -- Matteo Nastasi (GEM Foundation) Tue, 16 Jul 2019 08:42:10 +0000
+
+python3-oq-engine (3.5.2-1~xenial01) xenial; urgency=low
+
+ [Daniele Viganò]
+ * Fixed packaging issue, the .hdf5 tables for Canada were missing
+
+ [Michele Simionato]
+ * Fixed regression in the gsim logic tree parser for the case
+ of .hdf5 tables
+
+ -- Matteo Nastasi (GEM Foundation) Fri, 31 May 2019 08:01:08 +0000
+
+python3-oq-engine (3.5.1-1~xenial01) xenial; urgency=low
+
+ [Michele Simionato]
+ * Added a `rlzi` column to to sig_eps.csv output
+ * Accepted GMF CSV files without a `rlzi` column
+ * Accepted a list-like syntax like `return_periods=[30, 60, 120, 240, 480]`
+ in the job.ini, as written in the manual
+ * Fixed a bug in the asset_risk exporter for uppercase tags
+
+ [Paul Henshaw]
+ * Fixed an encoding bug while reading XML files on Windows
+
+ -- Matteo Nastasi (GEM Foundation) Mon, 20 May 2019 13:49:25 +0000
+
+python3-oq-engine (3.5.0-1~xenial01) xenial; urgency=low
+
+ [Giovanni Lanzano]
+ * Lanzano and Luzi (2019) GMPE for volcanic zones in Italy
+
+ [Michele Simionato]
+ * Now it is possible to export individual hazard curves from an event
+ based calculation by setting `hazard_curves_from_gmfs = true` and
+ `individual_curves = true (before only the statistics were saved)
+ * Made it possible to download remote source models
+ * Removed the branching level concept in the logic trees
+ * Made it possible to produce individual loss maps and curves with the
+ ebrisk calculator with a single line `aggregate_by=id`
+ * Added a limit of 2**32 events in event based calculations
+
+
+ [Michele Simionato]
+ * Now it is possible to export individual hazard curves from an event
+ based calculation by setting `hazard_curves_from_gmfs = true` and
+ `individual_curves = true (before only the statistics were saved)
+
+ [Graeme Weatherill]
+ * Adds adaptation of Abrahamson et al. (2016) 'BC Hydro' GMPEs calibrated
+ to Mediterranean data and with epistemic adjustment factors
+
+ [Chris Van Houtte]
+ * Added new class to bradley_2013b.py for hazard maps
+ * Modified test case_37 to test multiple sites
+
+ [Marco Pagani]
+ * Fixed a bug in the logic tree parser and added a check to forbid logic
+ trees with applyToSources without applyToBranches, unless there is a
+ single source model branch
+
+ [Michele Simionato]
+ * Removed the experimental parameter `prefilter_sources`
+
+ [Daniele Viganò]
+ * Multiple DbServer ZMQ connections are restored to avoid errors under heavy
+ load and/or on slower machines
+
+ [Michele Simionato]
+ * Removed the ugly registration of custom signals at import time: now they
+ are registered only if `engine.run_calc` is called
+ * Removed the dependency from rtree
+ * Removed all calls to ProcessPool.shutdown to speed up the tests and to
+ avoid non-deterministic errors in atexit._run_exitfuncs
+
+ [Marco Pagani]
+ * Added tabular GMPEs as provided by Michal Kolaj, Natural Resources Canada
+
+ [Michele Simionato]
+ * Extended the ebrisk calculator to support coefficients of variations
+
+ [Graeme Weatherill]
+ * Adds Kotha et al (2019) shallow crustal GMPE for SERA
+ * Adds 'ExperimentalWarning' to possible GMPE warnings
+ * Adds kwargs to check_gsim function
+
+ [Michele Simionato]
+ * Fixed problems like SA(0.7) != SA(0.70) in iml_disagg
+ * Exposed the outputs of the classical calculation in event based
+ calculations with `compare_with_classical=true`
+ * Made it possible to serialize together all kind of risk functions,
+ including consequence functions that before were not HDF5-serializable
+ * Fixed a MemoryError when counting the number of bytes stored in large
+ HDF5 datasets
+ * Extended `asset_hazard_distance` to a dictionary for usage with multi_risk
+ * Extended oq prepare_site_model to work with sites.csv files
+ * Optimized the validation of the source model logic tree: now checking
+ the sources IDs is 5x faster
+ * Went back to the old logic in sampling: the weights are used for the
+ sampling and the statistics are computed with identical weights
+ * Avoided to transfer the epsilons by storing them in the cache file
+ and changed the event to epsilons associations
+ * Reduced the data transfer in the computation of the hazard curves, causing
+ in some time huge speedups (over 100x)
+ * Implemented a flag `modal_damage_state` to display only the most likely
+ damage state in the output `dmg_by_asset` of scenario damage calculations
+ * Reduced substantially the memory occupation in classical calculations
+ by including the prefiltering phase in the calculation phase
+
+ [Daniele Viganò]
+ * Added a 'serialize_jobs' setting to the openquake.cfg
+ which limits the maximum number of jobs that can be run in parallel
+
+ [Michele Simionato]
+ * Fixed two exporters for the ebrisk calculator (agg_curves-stats and
+ losses_by_event)
+ * Fixed two subtle bugs when reading site_model.csv files
+ * Added /extract/exposure_metadata and /extract/asset_risk
+ * Introduced an experimental multi_risk calculator for volcanic risk
+
+ [Guillaume Daniel]
+ * Updating of Berge-Thierry (2003) GSIM and addition of several alternatives
+ for use with Mw
+
+ [Michele Simionato]
+ * Changed the classical_risk calculator to use the same loss ratios for all
+ taxonomies and then optimized all risk calculators
+ * Temporarily removed the `insured_losses` functionality
+ * Extended `oq restore` to download from URLs
+ * Removed the column 'gsims' from the output 'realizations'
+ * Better parallelized the source splitting in classical calculations
+ * Added a check for missing hazard in scenario_risk/scenario_damage
+ * Improved the GsimLogicTree parser to get the line number information, a
+ feature that was lost with the passage to Python 3.5
+ * Added a check against mispellings in the loss type in the risk keys
+ * Changed the aggregation WebAPI from
+ aggregate_by/taxonomy,occupancy/avg_losses?kind=mean&loss_type=structural to
+ aggregate/avg_losses?kind=mean&loss_type=structural&tag=taxonomy&tag=occupancy
+ * Do not export the stddevs in scenario_damage in the case of 1 event
+ * Fixed export bug for GMFs imported from a file
+ * Fixed an encoding error when storing a GMPETable
+ * Fixed an error while exporting the hazard curves generated by a GMPETable
+ * Removed the deprecated feature aggregate_by/curves_by_tag
+
+ -- Matteo Nastasi (GEM Foundation) Mon, 13 May 2019 09:27:18 +0000
+
+python3-oq-engine (3.4.0-2~xenial01) xenial; urgency=low
+
+ [Michele Simionato]
+ * Compatibility with 'decorator' version >= 4.2
+
+ [Giovanni Lanzano]
+ * Contributed a GMPE SkarlatoudisEtAlSSlab2013
+
+ [Michele Simionato]
+ * Changed the event loss table exporter to export also rup_id and year
+ * Extended the ebrisk calculator to compute loss curves and maps
+
+ [Rodolfo Puglia]
+ * Spectral acceleration amplitudes at 2.5, 2.75 and 4 seconds added
+
+ [Marco Pagani]
+ * Improved the event based calculator to account for cluster-based models
+
+ [Michele Simionato]
+ * Removed the now redundant command `oq extract hazard/rlzs`
+
+ [Daniele Viganò]
+ * Fixed 'oq abort' to always mark killed jobs as 'aborted'
+
+ [Michele Simionato]
+ * Made it possible to use in the Starmap tasks without a monitor argument
+ * Stored the sigma and epsilon parameters for each event in event based
+ and scenario calculations and extended the gmf_data exporter consequently
+ * Fixed the realizations CSV exporter which was truncating the names of the
+ GSIMs
+ * Deprecated the XML exporters for hcurves, hmaps, uhs
+ * Introduced a `sap.script` decorator
+ * Used the WebExtractor in `oq importcalc`
+ * Restored validation of the source_model_logic_tree.xml file
+ * Raised an early error for missing occupants in the exposure
+ * Added a check to forbid duplicate file names in the `uncertaintyModel` tag
+ * Made it possible to store the asset loss table in the ebrisk calculator
+ by specifying `asset_loss_table=true` in the job.ini
+ * Added a flag `oq info --parameters` to show the job.ini parameters
+ * Removed the `source_name` column from the disagg by source output
+
+ [Rao Anirudh]
+ * Fixed wrong investigation_time in the calculation of loss maps from
+ loss curves
+
+ [Robin Gee]
+ * Added capability to optionally specify a `time_cutoff` parameter to
+ declustering time window
+
+ [Michele Simionato]
+ * Merged the commands `oq plot_hmaps` and `oq plot_uhs` inside `oq plot`
+ * Changed the storage of hazard curves and hazard maps to make it consistent
+ with the risk outputs and Extractor-friendly
+
+ [Chris Van Houtte]
+ * Added necessary gsims to run the Canterbury Seismic Hazard Model
+ in Gerstenberger et al. (2014)
+ * Added a new gsim file mcverry_2006_chch.py to have the Canterbury-
+ specific classes.
+ * Added a new gsim file bradley_2013b.py to implement the
+ Christchurch-specific modifications to the Bradley2013 base model.
+
+ [Michele Simionato]
+ * Added a check on the intensity measure types and levels in the job.ini,
+ to make sure they are ordered by period
+ * Reduced the number of client sockets to the DbServer that was causing
+ (sporadically) the hanging of calculations on Windows
+ * Extended the WebAPI to be able to extract specific hazard curves, maps
+ and UHS (i.e. IMT-specific and site specific)
+ * Removed the realization index from the event loss table export, since
+ is it redundant
+ * Forced all lowercase Python files in the engine codebase
+ * Removed the dependency from nose
+
+ [Robin Gee]
+ * Updated GMPE of Yu et al. (2013)
+
+ [Michele Simionato]
+ * Added an `Extractor` client class leveraging the WebAPI and enhanced
+ `oq plot_hmaps` to display remote hazard maps
+ * Added a check when disaggregation is attempted on a source model
+ with atomic source groups
+ * Implemented serialization/deserialization of GSIM instances to TOML
+ * Added a check against mispelled rupture distance names and fixed
+ the drouet_alpes_2015 GSIMs
+ * Changed the XML syntax used to define dictionaries IMT -> GSIM
+ * Now GSIM classes have an `.init()` method to manage notrivial
+ initializations, i.e. expensive initializations or initializations
+ requiring access to the filesystem
+ * Fixed a bug in event based that made it impossible to use GMPETables
+ * Associated the events to the realizations even in scenario_risk: this
+ involved changing the generation of the epsilons in the case of asset
+ correlation. Now there is a single aggregate losses output for all
+ realizations
+ * Removed the rlzi column from the GMF CSV export
+ * Introduced a new parameter `ebrisk_maxweight` in the job.ini
+ * For classical calculations with few sites, store information about the
+ realization closest to the mean hazard curve for each site
+ * Removed the max_num_sites limit on the event based calculator
+
+ [Valerio Poggi]
+ * Added an AvgSA intensity measure type and a GenericGmpeAvgSA which is
+ able to use it
+
+ [Michele Simionato]
+ * Introduced the ability to launch subtasks from tasks
+ * Stored rupture information in classical calculations with few sites
+
+ [Chris Van Houtte]
+ * Adding conversion from geometric mean to larger horizontal component in
+ bradley_2013.py
+
+ [Michele Simionato]
+ * Fixed a bug in applyToSources for the case of multiple sources
+ * Moved the prefiltering on the workers to save memory
+ * Exported the aggregated loss ratios in avg losses and agg losses
+ * Removed the variables quantile_loss_curves and mean_loss_curves: they
+ were duplicating quantile_hazard_curves and mean_hazard_curves
+ * Only ruptures boundingbox-close to the site collection are stored
+
+ [Marco Pagani]
+ * Added cluster model to classical PSHA calculator
+
+ [Michele Simionato]
+ * Fixed a bug in scenario_damage from ShakeMap with noDamageLimit=0
+ * Avoided the MemoryError in the controller node by speeding up the saving
+ of the information about the sources
+ * Turned utils/reduce_sm into a proper command
+ * Fixed a wrong coefficient in the ShakeMap amplification
+ * Fixed a bug in the hazard curves export (the filename did not contain
+ the period of the IMT thus producing duplicated files)
+ * Parallelized the reading of the exposure
+
+ [Marco Pagani]
+ * Fixed the implementation on mutex ruptures
+
+ [Michele Simionato]
+ * Changed the aggregated loss curves exporter
+ * Added an experimental calculator ebrisk
+ * Changed the ordering of the events (akin to a change of seed in the
+ asset correlation)
+
+ [Robin Gee]
+ * Fixed bug in tusa_langer_2016.py BA08SE model - authors updated b2 coeff
+ * Fixed bug in tusa_langer_2016.py related to coeffs affecting Repi models
+
+ [Michele Simionato]
+ * Added a check to forbid to set `ses_per_logic_tree_path = 0`
+ * Added an API `/extract/event_info/eidx`
+ * Splitting the sources in classical calculators and not in event based
+ * Removed `max_site_model_distance`
+ * Extended the logic used in event_based_risk - read the hazard sites
+ from the site model, not from the exposure - to all calculators
+ * In classical_bcr calculations with a CSV exposure the retrofitted field
+ was not read. Now a missing retrofitted value is an error
+
+ -- Matteo Nastasi (GEM Foundation) Mon, 18 Mar 2019 10:32:00 +0000
+
+python3-oq-engine (3.3.0-1~xenial01) xenial; urgency=low
+
+ [Graeme Weatherill]
+ * Adds GMPE suite for national PSHA for Germany
+
+ [Daniele Viganò]
+ * Added a warning box when an unsupported browser is used to view the WebUI
+ * Updated Docker containers to support a multi-node deployment
+ with a shared directory
+ * Moved the Docker containers source code from oq-builders
+ * Updated the documentation related to the shared directory
+ which is now mandatory for multi-node deployments
+
+ [Matteo Nastasi]
+ * Removed tests folders
+
+ [Stéphane Drouet]
+ * Added Drouet & Cotton (2015) GMPE including 2017 erratum
+
+ [Michele Simionato]
+ * Optimized the memory occupation in classical calculations (Context.poe_map)
+ * Fixed a wrong counting of the ruptures in split fault sources with
+ an hypo_list/slip_list causing the calculation to fail
+ * Made the export of uniform hazard spectra fast
+ * Made the `std` hazard output properly exportable
+ * Replaced the `~` in the header of the UHS csv files with a `-`
+ * Restored the `individual_curves` flag even for the hazard curves
+ * Implemented dGMPE weights per intensity measure type
+ * Extended `--reuse-hazard` to all calculators
+ * Fixed a bug in event_based_risk from GMFs with coefficients of variations
+
+ [Graeme Weatherill]
+ * Adds magnitude scaling relation for Germany
+
+ [Michele Simionato]
+ * Used floats for the the GSIM realization weights, not Python Decimals
+ * Added a flag `fast_sampling`, by default False
+ * Added an API `/extract/src_loss_table/`
+ * Removed the rupture filtering from `sample_ruptures` and optimized it in
+ the `RuptureGetter` by making use of the bounding box
+ * Raised the limit on `ses_per_logic_tree_path` from 2**16 to 2**32;
+ * Added a parameter `max_num_sites` to increase the number of sites accepted
+ by an event based calculation up to 2 ** 32 (the default is still 2 ** 16)
+ * Added a command `oq compare` to compare hazard curves and maps within
+ calculations
+ * Extended the engine to read transparently zipped source models and exposures
+ * Restored the check for invalid source IDs in applyToSources
+ * Extended the command `oq zip` to zip source models and exposures
+ * Parallelized the associations event ID -> realization ID
+ * Improved the message when assets are discarded in scenario calculations
+ * Implemented aggregation by multiple tags, plus a special case for the
+ country code in event based risk
+
+ [Marco Pagani]
+ * Added two modified versions of the Bindi et al. (2011) to be used in a
+ backbone approach to compute hazard in Italy
+ * Added a modified version of Berge-Thierry et al. 2003 supporting Mw
+
+ [Michele Simionato]
+ * Changed the way loss curves and loss maps are stored in order to unify
+ the aggregation logic with the one used for the average losses
+ * Now it is possible to compute the ruptures without specifying the sites
+ * Added an early check for the case of missing intensity measure types
+ * Deprecated the case of exposure, site model and region_grid_spacing all
+ set at the same time
+ * Implemented multi-exposure functionality in event based risk
+ * Changed the event based calculator to store the ruptures incrementally
+ without keeping them all in memory
+ * Refactored the UCERF event based calculator to work as much as possible
+ the regular calculator
+ * Optimized the management and storage of the aggregate losses in the event
+ based risk calculation; also, reduced the memory consumption
+ * Changed the default for `individual_curves` to "false", which is the right
+ default for large calculations
+ * Optimized the saving of the events
+ * Removed the `save_ruptures` flag in the job.ini since ruptures must be saved
+ always
+ * Optimized the rupture generation in case of sampling and changed the
+ algorithm and seeds
+ * Fixed a bug with the IMT `SA(1)` considered different from `SA(1.0)`
+ * Removed the long-time deprecated GMF exporter in XML format for event_based
+ * Added a re-use hazard feature in event_based_risk in single-file mode
+ * Made the event ID unique also in scenario calculations with
+ multiple realizations
+ * Removed the annoying hidden .zip archives littering the export directory
+ * Added an easy way to read the exposure header
+ * Added a way to run Python scripts using the engine libraries via `oq shell`
+ * Improved the minimum_magnitude feature
+ * Fixed the check on missing hazard IMTs
+ * Reduced substantially the memory occupation in event based risk
+ * Added the option `spatial_correlation=no correlation` for risk calculations
+ from ShakeMaps
+ * Removed the experimental calculator `ucerf_risk`
+ * Optimized the sampling of time-independent sources for the case of
+ `prefilter_sources=no`
+ * Changed the algorithm associating events to SESs and made the event based
+ hazard calculator faster in the case of many SESs
+ * Reduced substantially the memory consumption in event based risk
+ * Made it possible to read multiple site model files in the same calculation
+ * Implemented a smart single job.ini file mode for event based risk
+ * Now warnings for invalid parameters are logged in the database too
+ * Fixed `oq export avg_losses-stats` for the case of one realization
+ * Added `oq export losses_by_tag` and `oq export curves_by_tag`
+ * Extended `oq export` to work in a multi-user situation
+ * Forbidden event based calculations with more than `max_potential_paths`
+ in the case of full enumeration
+ * Saved a large amount of memory in event_based_risk calculations
+ * Added a command `oq export losses_by_tag/ `
+ * Extended `oq zip` to zip the risk files together with the hazard files
+ * Changed the building convention for the event IDs and made them unique
+ in the event loss table, even in the case of full enumeration
+ * Optimized the splitting of complex fault sources
+ * Fixed the ShakeMap download procedure for `uncertainty.zip` archives
+ with an incorrect structure (for instance for ci3031111)
+ * Disabled the spatial correlation in risk-from-ShakeMap by default
+ * Optimized the rupture sampling where there is a large number of SESs
+ * Extended the `reqv` feature to multiple tectonic region types and
+ removed the spinning/floating for the TRTs using the feature
+ * Reduced the GMPE logic tree upfront for TRTs missing in the source model
+ * Fixed the ShakeMap downloader to use the USGS GeoJSON feed
+ * Improved the error message when there are more than 65536 distinct tags
+ in the exposure
+ * Turned `vs30measured` into an optional parameter
+
+ [Chris Van Houtte]
+ * Added `siteclass` as a site parameter, and `reference_site_class` as
+ a site parameter than can be specified by the user in the ini file
+ * Added new classes to mcverry_2006.py to take siteclass as a predictor
+ * Updated comments in mcverry_2006.py
+ * Added new mcverry_2006 test tables to account for difference in site
+ parameter
+ * Added qa_test_data classical case_32
+
+ [Michele Simionato]
+ * Fixed the rupture exporter for Canada
+ * Extended the `oq prepare_site_model` to optionally generate the
+ fields z1pt0, z2pt5 and vs30measured
+ * It is now an error to specify both the sites and the site model in the
+ job.ini, to avoid confusion with the precedency
+ * Implemented a reader for site models in CSV format
+ * Made the export_dir relative to the input directory
+ * Better error message for ShakeMaps with zero stddev
+ * Added a source_id-filtering feature in the job.ini
+ * Added a check on non-homogeneous tectonic region types in a source group
+ * Fixed the option `oq engine --config-file` that broke a few releases ago
+ * Replaced `nodal_dist_collapsing_distance` and
+ `hypo_dist_collapsing_distance` with `pointsource_distance` and made
+ use of them in the classical and event based calculators
+
+ [Graeme Weatherill]
+ * Fixes to hmtk completeness tables for consistent rates and addition of
+ more special methods to catalogue
+
+ [Michele Simionato]
+ * Restricted ChiouYoungs2008SWISS01 to StdDev.TOTAL to avoid a bug
+ when computing the GMFs with inter/intra stddevs
+ * Raised an error if assets are discarded because too far from the hazard
+ sites (before it was just a warning)
+ * Added an attribute .srcidx to every event based rupture and stored it
+ * Fixed an issue with the Byte Order Mark (BOM) for CSV exposures prepared
+ with Microsoft Excel
+ * Reduced the site collection instead of just filtering it; this fixes
+ a source filtering bug and changes the numbers in case of GMF-correlation
+ * Added a command `oq prepare_site_model` to prepare a sites.csv file
+ containing the vs30 and changed the engine to use it
+ * Added a cutoff when storing a PoE=1 from a CSV file, thus avoiding NaNs
+ in classical_damage calculations
+ * Reduced the data transfer in the risk model by only considering the
+ taxonomies relevant for the exposure
+ * Extended `oq engine --run` to accept a list of files
+ * Optimized the saving of the risk results in event based in the case of
+ many sites and changed the command `oq show portfolio_loss` to show
+ mean and standard deviation of the portfolio loss for each loss type
+
+ [Marco Pagani]
+ * Added a first and preliminary version of the GMM for the Canada model
+ represented in an analytical form.
+ * Added a modified version of Atkinson and Macias to be used for the
+ calculation of hazard in NSHMP2014.
+ * Added support for PGA to the Si and Midorikawa (1999).
+
+ [Michele Simionato]
+ * Made it possible to run the risk over an hazard calculation of another user
+ * Worked around the OverflowError: cannot serialize a bytes object larger
+ than 4 GiB in event based calculations
+ * Started using Python 3.6 features
+ * Fixed the check on vulnerability function ID uniqueness for NRML 0.5
+ * Ruptures and GMFs are now computed concurrently, thus mitigating the
+ issue of slow tasks
+ * Changed the name of the files containing the disaggregation outputs:
+ instead of longitude and latitude they contain the site ID now
+ * If a worker runs close to out of memory, now a warning appears in the
+ main log
+ * 'lons' and 'lats' are now spelled 'lon' and 'lat' in
+ the REQUIRES_SITES_PARAMETERS to be consistent with site_model.xml
+
+ [Daniele Viganò]
+ * Fixed a bug about 'The openquake master lost its controlling terminal'
+ when running with 'nohup' from command line
+
+ [Michele Simionato]
+ * The `export_dir` is now created recursively, i.e. subdirectories are
+ automatically created if needed
+ * Fixed a bug with the minimum_magnitude feature and extended it to be
+ tectonic region type dependent
+ * Changed the rupture generation to yield bunches of ruptures, thus avoiding
+ the 4GB pickle limit
+ * Parallelized the splitting of the sources, thus making the preprocessing
+ faster
+
+ [Marco Pagani]
+ * Implemented two additional versions of the Silva et al. 2002 GMPE
+ * Added the possibility of setting rake to 'undefined'
+ * Added first 'modified GMPE' implementing the site term for Canada 2015 model
+ * Fixed a bug in the disaggregation calculation due to wrong binning of magnitudes
+
+ [Michele Simionato]
+ * Now the combination uniform_hazard_spectra=true and mean_hazard_curves=false
+ is accepted again, as requested by Laurentiu Danciu
+
+ [Daniele Viganò]
+ * Support for Ubuntu Trusty is removed
+ * Replaced supervisord with systemd in Ubuntu packages
+
+ [Michele Simionato]
+ * Changed the way the rupture geometries are stored to be consistent with
+ the source geometries
+ * We are now saving information about the source geometries in the datastore
+ (experimentally)
+ * Fixed a bug in event based with sampling causing incorrect GMFs
+ * Unified all distribution mechanisms to returns the outputs via zmq
+ * Added a check for inconsistent IMTs between hazard and risk
+ * Replaced the forking processpool with a spawning processpool
+
+ -- Matteo Nastasi (GEM Foundation) Mon, 07 Jan 2019 13:51:24 +0000
+
+python3-oq-engine (3.2.0-1~xenial01) xenial; urgency=low
+
+ [Kendra Johnson]
+ * Implemented a version of Munson and Thurber (1997) for use with the
+ USGS Hawaii hazard model
+ * Implemented PGA for Campbell (1997)
+
+ [Matteo Nastasi]
+ * specified 'amd64' as the only architecture supported by ubuntu packages
+
+ [Michele Simionato]
+ * Changed the source writer: now the `srcs_weights` are written in the XML
+ file only if they are nontrivial
+ * Changed the algorithm assigning the seeds: they are now generated before
+ the source splitting; also, a seed-related bug in the splitting was fixed
+ * For event based, moved the rupture generation in the prefiltering phase
+
+ [Daniele Viganò]
+ * Fixed a bug with CTRL-C when using the `processpool` distribution
+
+ [Robin Gee]
+ * Raised the source ID length limit in the validation from 60 to 75 characters
+ to allow sources with longer IDs
+
+ [Michele Simionato]
+ * Introduced a `multi_node` flag in `openquake.cfg` and used it to
+ fully parallelize the prefiltering in a cluster
+ * Used the rupture seed as rupture ID in event based calculations
+ * Changed the deprecation mechanism of GSIMs to use a class attribute
+ `superseded_by=NewGsimClass`
+ * Solved the pickling bug in event based hazard by using generator tasks
+ * Improved the distribution of the risk tasks by changing the weight
+
+ [Pablo Heresi]
+ * Contributed the HM2018CorrelationModel
+
+ [Michele Simionato]
+ * Restored the `individual_curves` flag that for the moment is used for the
+ risk curves
+ * Introduced two experimental new parameters `floating_distance` and
+ `spinning_distance` to reduce hypocenter distributions and nodal plane
+ distributions of ruptures over the corresponding distances
+ * Optimized the parsing of the logic tree when there is no "applyToSources"
+ * Made the IMT classes extensible in client code
+ * Reduced the hazard maps from 64 to 32 bit, to be consistent with the
+ hazard curves and to reduce by half the download time
+
+ [Graeme Weatherill]
+ * Implements a fix of Montalva et al (2016) for new coefficients (now
+ Montalva et al. (2017))
+
+ [Michele Simionato]
+ * Parallelized the reading of the source models
+ * Optimized `oq info --report` by not splitting the sources in that case
+ * Speedup the download of the hazard curves, maps and uhs
+ * Honored `concurrent_tasks` in the prefiltering phase too
+ * It is now legal to compute uniform hazard spectra for a single period
+ * Added command `oq plot_memory`
+ * Introduced a MultiGMPE concept
+ * Saved the size of the datastore in the database and used it in the WebUI
+
+ [Graeme Weatherill]
+ * Adds geotechnical related IMTs
+
+ [Michele Simionato]
+ * Renamed /extract/agglosses -> /extract/agg_losses and same for aggdamages
+ * Supported equivalent epicentral distance with a `reqv_hdf5` file
+ * Fixed the risk from ShakeMap feature in the case of missing IMTs
+ * Changed the way gmf_data/indices and ruptures are stored
+ * Added experimental support for dask
+ * Added 11 new site parameters for geotechnic hazard
+ * Changed the SiteCollection to store only the parameters required by the
+ GSIMs
+
+ [Robin Gee]
+ * The number of sites is now an argument in the method _get_stddevs()
+ in the GMPE of Kanno, 2006
+
+ [Michele Simionato]
+ * Changed the serialization of ruptures to HDF5: the geometries are now
+ stored in a different dataset
+ * Bug fix: the asset->site association was performed even when not needed
+ * Made it possible to serialize to .hdf5 multipoint sources and
+ nonparametric gridded sources
+ * Added a check on source model logic tree files: the uncertaintyModel
+ values cannot be repeated in the same branchset
+ * Added a flag `std_hazard_curves`; by setting it to `true` the user can
+ compute the standard deviation of the hazard curves across realizations
+
+ [Marco Pagani]
+ * Added Thingbaijam et al. (2017) magnitude-scaling relationship
+
+ [Michele Simionato]
+ * Added an /extract/ API for event_based_mfd
+ * Fixed a bug in the classical_damage calculators: multiple loss types
+ were not treated correctly
+
+ [Marco Pagani]
+ * Adding tests to the method computing decimal time
+
+ [Michele Simionato]
+ * Removed the event_based_rupture calculator and three others
+ * Added a field `size_mb` to the `output` table in the database and made
+ it visible in the WebUI as a tooltip
+ * Added a command `oq check_input job.ini` to check the input files
+ * Made the loss curves and maps outputs from an event based risk calculation
+ visible to the engine and the WebUI (only the stats)
+ * Added a check on duplicated branchIDs in GMPE logic trees
+
+ [Daniele Viganò]
+ * Fixed a bug when reading exposure with utf8 names on systems with non-utf8
+ terminals (Windows)
+ * Changed the openquake.cfg file and added a dbserver.listen parameter
+ * Added the hostname in the WebUI page. It can be customize by the user
+ via the `local_settings.py` file
+
+ [Michele Simionato]
+ * Added a Content-Length to the outputs downloadable from the WebUI
+ * Fixed a bug when extracting gmf_data from a hazard calculation with a
+ filtered site collection
+ * Stored an attributed `events.max_gmf_size`
+ * Added a check on exposures with missing loss types
+ * Added a LargeExposureGrid error to protect the user by tricky exposures
+ (i.e. France with assets in the Antilles)
+ * Changed the event_based_risk calculator to compute the loss curves and
+ maps directly; removed the asset_loss_table
+ * Changed the event_based_risk calculator to distribute by GMFs always
+ * Optimized the memory consumption in the UCERF classical calculator
+ * Added a parameter `minimum_magnitude` in the job.ini
+ * Added an utility `utils/combine_mean_curves.py`
+
+ -- Matteo Nastasi (GEM Foundation) Thu, 06 Sep 2018 12:27:53 +0000
+
+python3-oq-engine (3.1.0-1~xenial01) xenial; urgency=low
+
+ [Marco Pagani and Changlong Li]
+ * Added a version of the Yu et al. (2013) GMPE supporting Mw
+
+ [Michele Simionato]
+ * Reduced the data transfer in the UCERF calculators
+ * Stored the zipped input files in the datastore for reproducibility
+ * Fixed a regression when reading GMFs from an XML in absence of a sites.csv
+ file
+
+ [Robin Gee]
+ * Extend `oq to_shapefile` method to also work with `YoungsCoppersmithMFD`
+ and `arbitraryMFD` MFD typologies.
+
+ [Michele Simionato]
+ * Now the hazard statistics can be computed efficiently even in a single
+ calculation, i.e. without the `--hc` option
+ * Added a check on the Python version in the `oq` command
+ * Reduced the data transfer when sending the site collection
+ * Changed the default `filter_distance`
+
+ [Daniele Viganò]
+ * Fixed a bug where the PID was not saved into the database
+ when using the command line interface
+ * Made it impossible to fire multiple `CTRL-C` in sequence
+ to allow processes teardown and tasks revocation when Celery is used
+
+ [Michele Simionato]
+ * Used `scipy.spatial.distance.cdist` in `Mesh.get_min_distance`
+ * Prefiltered sites and assets in scenario calculations
+ * Made it possible to specify the `filter_distance` in the `job.ini`
+ * Made rtree optional again and disabled it in macOS
+ * Optimized the SiteCollection class and doubled the speed of distance
+ calculations in most continental scale calculations
+ * Fixed an ordering bug in event based risk from GMFs when using a
+ vulnerability function with PMF
+ * Replaced Rtree with KDtree except in the source filtering
+ * Parallelized the source prefiltering
+ * Removed the tiling feature from the classical calculator
+ * Undeprecated `hazardlib.calc.stochastic.stochastic_event_set` and
+ made its signature right
+ * Removed the source typology from the ruptures and reduced the rupture
+ hierarchy
+ * Removed the mesh spacing from PlanarSurfaces
+ * Optimized the instantiation of the rtree index
+ * Replaced the old prefiltering mechanism with the new one
+
+ [Daniele Viganò]
+ * Managed the case of a dead controlling terminal (SIGHUP)
+
+ [Michele Simionato]
+ * Removed Decimal numbers from the PMF distribution in hazardlib
+ * Fixed another tricky bug with rtree filtering across the international
+ date line
+ * Added a parameter `prefilter_sources` with values `rtree|numpy|no`
+ * Removed the prefiltering on the workers, resulting in a huge speedup
+ for gridded ruptures at the cost of a larger data transfer
+ * Changed the `losses_by_event` output to export a single .csv file with
+ all realizations
+ * Added a `cross_correlation` parameter used when working with shakemaps
+ * Now sites and exposure can be set at the same time in the job.ini
+ * Introduced a `preclassical` calculator
+ * Extended the scenario_damage calculator to export `dmg_by_event`
+ outputs as well as `losses_by_event` outputs if there is a consequence
+ model
+ * Unified `region` and `region_constraint` parameters in the job.ini
+ * Added a check to forbid duplicated GSIMs in the logic tree
+ * Introduced some changes to the `realizations` exporter (renamed field
+ `uid` -> `branch_path` and removed the `model` field)
+ * Added a command `oq celery inspect`
+ * Reduced the check on too many realizations to a warning, except for
+ event based calculations
+ * Improved the hazard exporter to exports only data for the filtered
+ site collection and not the full site collection
+ * Extended the BCR exporter to export the asset tags
+
+ [Catalina Yepes]
+ * Revised/enhanced the risk demos
+
+ [Michele Simionato]
+ * Added a warning about the option `optimize_same_id_sources` when the user
+ should take advantage of it
+
+ [Daniele Viganò]
+ * `celery-status` script converted into `oq celery status` command
+ * Removed Django < 1.10 backward compatibility
+ * Updated Python dependices (numpy 1.14, scipy 1.0.1,
+ Django 1.10+, Celery 4+)
+
+ [Michele Simionato]
+ * Implemented scenario_risk/scenario_damage from shakemap calculators
+ * Exported the asset tags in the asset based risk outputs
+ * Fixed a numeric issue for nonparametric sources causing the hazard curves
+ to saturate at high intensities
+ * Added an utility to download shakemaps
+ * Added an XML exporter for the site model
+ * Slight change to the correlation module to fix a bug in the SMTK
+ * Added a distribution mechanism `threadpool`
+
+ -- Matteo Nastasi (GEM Foundation) Fri, 01 Jun 2018 09:02:01 +0000
+
+python3-oq-engine (3.0.0-1~precise01) precise; urgency=low
+
+ [Michele Simionato]
+ * Fixed a bug with newlines in the logic tree path breaking the CSV exporter
+ for the realizations output
+ * When setting the event year, each stochastic event set is now considered
+ independent
+ * Fixed a bug in the HMTK plotting libraries and added the ability to
+ customize the figure size
+ * Fixed bug in the datastore: now we automatically look for the attributes
+ in the parent dataset, if the dataset is missing in the child datastore
+ * Extended extract_losses_by_asset to the event based risk calculator
+ * Stored in source_info the number of events generated per source
+ * Added a script utils/reduce_sm to reduce the source model of a calculation
+ by removing all the sources not affecting the hazard
+ * Deprecated `openquake.hazardlib.calc.stochastic.stochastic_event_set`
+ * Fixed the export of ruptures with a GriddedSurface geometry
+ * Added a check for wrong or missing `` in the exposure
+ * Fixed the issue of slow tasks in event_based_risk from precomputed GMFs
+ for sites without events
+ * Now the engine automatically associates the exposure to a grid if
+ `region_grid_spacing` is given and the sites are not specified otherwise
+ * Extracting the site mesh from the exposure before looking at the site model
+ * Added a check on probs_occur summing up to 1 in the SourceWriter
+ * `oq show job_info` now shows the received data amount while the
+ calculation is progressing
+
+ [Daniele Viganò]
+ * Removed support for Python 2 in `setup.py`
+ * Removed files containing Python 2 dependencies
+ * Added support for WebUI groups/permissions on the
+ export outputs and datastore API endpoints
+
+ [Michele Simionato]
+ * Fixed `oq show` for multiuser with parent calculations
+ * Fixed `get_spherical_bounding_box` for griddedSurfaces
+ * Implemented disaggregation by source only for the case
+ of a single realization in the logic tree (experimental)
+ * Replaced celery with celery_zmq as distribution mechanism
+ * Extended `oq info` to work on source model logic tree files
+ * Added a check against duplicated fields in the exposure CSV
+ * Implemented event based with mutex sources (experimental)
+ * Add an utility to read XML shakemap files in hazardlib
+ * Added a check on IMTs for GMFs read from CSV
+
+ [Daniele Viganò]
+ * Changed the default DbServer port in Linux packages from 1908 to 1907
+
+ [Michele Simionato]
+ * Logged rupture floating factor and rupture spinning factor
+ * Added an extract API for losses_by_asset
+ * Added a check against GMF csv files with more than one realization
+ * Fixed the algorithm setting the event year for event based with sampling
+ * Added a command `oq importcalc` to import a remote calculation in the
+ local database
+ * Stored avg_losses-stats in event based risk if there are multiple
+ realizations
+ * Better error message in case of overlapping sites in sites.csv
+ * Added a an investigation time attribute to source models with
+ nonparametric sources
+ * Bug fix: in some cases the calculator `event_based_rupture` was generating
+ too few tasks and the same happened for classical calculation with
+ `optimize_same_id_sources=true
+ * Changed the ordering of the epsilons in scenario_risk
+ * Added the ability to use a pre-imported risk model
+ * Very small result values in scenario_damage (< 1E-7) are clipped to zero,
+ to hide numerical artifacts
+ * Removed an obsolete PickleableSequence class
+ * Fixed error in classical_risk when num_statistics > num_realizations
+ * Fixed a TypeError when reading CSV exposures with occupancy periods
+ * Extended the check on duplicated source IDs to models in format NRML 0.5
+ * Added a warning when reading the sources if .count_ruptures() is
+ suspiciously slow
+ * Changed the splitting logic: now all sources are split upfront
+ * Improved the splitting of complex fault sources
+ * Added a script to renumber source models with non-unique source IDs
+ * Made the datastore of calculations using GMPETables relocatable; in
+ practice you can run the Canada model on a cluster, copy the .hdf5 on
+ a laptop and do the postprocessing there, a feat previously impossible.
+
+ [Valerio Poggi]
+ * Included a method to export data directly from the Catalogue() object into
+ standard HMTK format.
+
+ [Michele Simionato]
+ * Now the parameter `disagg_outputs` is honored, i.e. only the specified
+ outputs are extracted from the disaggregation matrix and stored
+ * Implemented statistical disaggregation outputs (experimental)
+ * Fixed a small bug: we were reading the source model twice in disaggregation
+ * Added a check to discard results coming from the wrong calculation
+ for the distribution mode `celery_zmq`
+ * Removed the long time deprecated commands
+ `oq engine --run-hazard` and `oq engine --run-risk`
+ * Added a distribution mode `celery_zmq`
+ * Added the ability to use a preimported exposure in risk calculations
+ * Substantial cleanup of the parallelization framework
+ * Fixed a bug with nonparametric sources producing negative probabilities
+
+ -- Matteo Nastasi (GEM Foundation) Mon, 09 Apr 2018 09:52:32 +0200
+
+python3-oq-engine (2.9.0-1~precise01) precise; urgency=low
+
+ [Michele Simionato]
+ * Deprecated the NRML format for the GMFs
+
+ [Matteo Nastasi]
+ * Debian package moved to Python 3.5
+
+ [Graeme Weatherill]
+ * Small bug fix for Derras et al (2014) GMPE when Rjb = 0.0
+
+ [Michele Simionato]
+ * Improved the .rst reports for classical calculations with tiling
+ * Reduced the data transfer in the event based risk calculator by
+ reading the event IDs directly from the workers
+ * Integrated the gmf_ebrisk calculator inside the event based calculator
+ * Improved the weighting algorithm for the sources in the event based
+ rupture calculator
+ * Improved error message for source model files declared as nrml/0.5 when
+ they actually are nrml/0.4
+ * Optimized the classical_bcr calculator for the case of many realizations
+ * Extended the exposure CSV importer to manage the `retrofitted` field
+
+ [Marco Pagani, Changlong Li]
+ * Adds the Yu et al. (2013) GMPEs
+
+ [Michele Simionato]
+ * Fixed a bug in the hazard outputs: they were displayed in the WebUI even
+ if they were missing
+ * Implemented splitting of nonparametric sources
+
+ [Marco Pagani]
+ * Fixed the 'get_closest_points' method for the
+ `openquake.hazardlib.geo.surface.gridded.GriddedSurface` class
+
+ [Michele Simionato]
+ * Now the source model paths are relative to the source model logic tree file
+ * Fixed an international date line bug when using rtree for prefiltering
+ * Deprecated `nrml.parse`, it is now called `nrml.to_python`
+ * Improved the task distribution by splitting the AreaSources upfront
+ and by improving the weighting algorithm
+
+ [Daniele Viganò]
+ * TMPDIR can be customized via the `openquake.cfg` file
+ * Updated dependencies compatibility in setup.py
+
+ [Michele Simionato]
+ * If the hazard is precomputed, setting the `site_model_file`,
+ `gsim_logic_tree_file` or `source_model_logic_tree_file` gives a warning
+ * Removed the obsolete API `/extract/qgis-` and added `extract/hcurves`,
+ `extract/hmaps`, `extract/uhs` for use with the QGIS plugin
+ * Removed the deprecated GeoJSON exporters
+ * Fixed a bug with `oq engine --run job.ini --exports npz`
+ * Fixed the ordering of the IMTs in hazardlib
+ * `oq engine --delete-calculation` now aborts the calculation first
+ * Added some documentation about how to access the datastore
+ * Introduced a minimum_distance for the GSIMs
+ * Fixed several small issues with the UCERF calculators; now ucerf_hazard
+ can be used as a precalculator of gmf_ebrisk
+ * Initial support for disaggregation by source
+ * Added the ability to import large exposures as CSV (experimental)
+ * Changed the source weights to be proportional to the number of GSIMs
+ relevant for the tectonic region type, thus improving the task distribution
+
+ [Daniele Viganò]
+ * The RPM python3-oq-engine package replaced python-oq-engine
+ * RPM packages moved to Python 3.5
+
+ [Michele Simionato]
+ * Added the ability to dump a specific calculation
+ * Changed the signature of the extract command to `oq extract what calc_id`,
+ where `what` is a path info plus query string;
+
+ [Graeme Weatherill]
+ * Implements significant duration GMPEs of Bommer et al. (2009) and Afshari &
+ Stewart (2016)
+ * Adds significant duration IMT definitions to support IMTs
+
+ [Michele Simionato]
+ * Run the DbServer as a detached process
+ * Improved the test coverage for event based with GMF correlation
+ * Optimized the event based risk calculator from ruptures: now the ruptures
+ are instantiated in the workers and not in the controller if possible
+ * Exported the parameter `ses_per_logic_tree_path` in the ruptures.csv file
+ * Improved the display names for the risk outputs
+ * Added a /v1/:calc_id/abort route to the engine server and Abort buttons
+ to the WebUI
+ * Fixed the seeds properly in the case of vulnerability functions with PMFs:
+ now even if the ground motion fields are all equal, the risk numbers
+ will be different since there is a different seed per each field
+ * Stored a rupture loss table in event based risk calculations
+ * Made sure that the number of effective ruptures is stored in csm_info
+ * Fixed the HMTK tests to work with numpy from 1.11 to 1.14
+ * Added a command `oq shell` to open an embedded (I)Python shell
+ * Turned the 'realizations' output into a dynamic output
+
+ [Matteo Nastasi]
+ * Split package from python-oq-engine to python-oq-engine,
+ python-oq-engine-master and python-oq-engine-worker
+ * Implemented an API `/v1/on_same_fs` to check filesystem accessibility
+ between engine and a client application
+
+ [Michele Simionato]
+ * Reduced the data transfer when computing the hazard curves in postprocessing
+ * Removed the FilteredSiteCollection class
+
+ [Nick Ackerley]
+ * Some improvements to the plotting routines of the HMTK
+
+ [Michele Simionato]
+ * Removed the ability to run `oq engine --run job_h.ini,job_r.ini`
+ * Forbidden the site model in gmf_ebrisk calculations
+ * When the option `--hc` is given the ruptures can now be read directly
+ from the workers, thus saving some startup time
+ * Optimized the storage of the ruptures: the site IDs are not saved anymore
+ * Added a check for missing `risk_investigation_time`
+ * Reduced the data transfer in the gmf_ebrisk calculator
+ * Now the gmf_ebrisk calculator builds the aggregate loss curves too
+ * Extended the gmf_ebrisk calculator to use the GMFs produced by an event
+ based hazard calculation, both via CSV and via the --hc option
+ * Fixed a performance bug in the computations of the aggregate loss curves
+ by reading the full event loss table at once
+ * Fixed `oq zip` to work with gmf_ebrisk calculations
+ * Fixed a serious bug in the gmf_ebrisk calculator: the results were in most
+ cases wrong and dependent on the number of spawned tasks
+ * Now the `master_seed` controls the generation of the epsilons in all
+ situations (before in event_based_risk without `asset_correlation` it was
+ managed by `random_seed`)
+ * Changed the management of the epsilons in the gmf_ebrisk calculator to
+ be the same as in the event_based_risk calculator
+ * Added a check on the input files: the listed paths must be relative paths
+ * Fixed a bug when storing the disagg-bins in the case the lenghts of the
+ arrays are not the same for all sites
+ * In the case of a single tile the prefiltering was applied twice: fixed the
+ problem and generally improved the filtering/weighting of the sources
+ * Fixed the CSV exporter for disaggregation outputs when iml_disagg is set
+
+ [Graeme Weatherill]
+ * Fixed ASK14 GMPE behaviour to remove ValueError
+ * Implements comprehensive suite of NGA East ground motion models for
+ central and eastern United States
+ * Minor modification of check_gsim functions to permit instantiated classes
+ to be passed
+
+ -- Matteo Nastasi (GEM Foundation) Mon, 26 Feb 2018 08:53:58 +0100
+
+python3-oq-engine (2.8.0-0~precise01) precise; urgency=low
+
+ [Michele Simionato]
+ * `iml_disagg` and `poes_disagg` cannot coexist in the job.ini file
+ * Added a check on `conditional_loss_poes` in the event_based_risk calculator:
+ now it requires `asset_loss_table` to be set
+
+ [Anirudh Rao]
+ * Sorted taxonomies before comparison in the BCR calculator
+
+ [Michele Simionato]
+ * Optimized the disaggregation calculation by performing the PMF extraction
+ only once at the end of the calculation and not in the workers
+ * Added an `oq zip` command
+ * Avoided running an useless classical calculation if `iml_disagg` is given
+
+ [Valerio Poggi]
+ * Implemented subclasses for ZhaoEtAl2006Asc and AtkinsonBoore2006 to account
+ for the distance filter used by SGS in their PSHA model for Saudi Arabia.
+ Distance threshold is hard coded to 5km in this implementation.
+
+ [Michele Simionato]
+ * Added a warning if the aggregated probability of exceedence (poe_agg) in
+ a disaggregation output is very dissimilar from poes_disagg
+ * Removed the flag `split_sources`
+ * Optimized the operation `arrange_data_in_bins` in the disaggregation
+ calculator and reduced the data transfer by the number of tectonic
+ region types
+ * Improved the sending of the sources to the workers, especially for the
+ MultiPointSources
+ * Better error message if the user sets a wrong site_id in the sites.csv file
+ * Now the distance and lon lat bins for disaggregation are built directly
+ from the integration distance
+ * Used uniform bins for disaggregation (before they were potentially
+ different across realizations / source models)
+ * Improved the error message if the user forgets both sites and sites.csv
+ in a calculation starting from predetermined GMFs
+ * Improved the error message if the user specifies a non-existing file in
+ the job.ini
+ * Change the ordering of the TRT bins in disaggregation: now they are
+ ordered lexicographically
+ * Added more validity checks on the job.ini file for disaggregation
+ * Changed the .hdf5 format generated by `oq extract -1 hazard/rlzs`; you can
+ still produce the old format by using `oq extract -1 qgis-hazard/rlzs`
+ * Optimized the disaggregation calculator by instantiating
+ `scipy.stats.truncnorm` only once per task and not once per rupture
+ * Optimized the disaggregation calculator when `iml_disagg` is specified,
+ by caching duplicated results
+ * Made sure that `oq dbserver stop` also stops the zmq workers if the zmq
+ distribution is enabled
+ * Added a check when disaggregating for a PoE too big for the source model
+ * If `iml_disagg` is given, forbid `intensity_measure_types_and_levels`
+ * Fixed the disaggregation outputs when `iml_disagg` is given: the PoE has
+ been removed by the name of the output and correct PoE is in the XML file
+ * Fixed `oq export loss_curves/rlzs` for event_based_risk/case_master
+ * Removed the obsolete parameter `loss_curve_resolution`
+ * Fixed a Python 3 unicode error with `oq engine --run job.zip`
+ * Added a command `oq abort `
+ * Stored the avg_losses in classical risk in the same way as in
+ event_based_risk and made them exportable with the same format
+ * Removed the outputs losses_by_tag from the event based risk calculators
+ and changed the default for the avg_losses flag to True
+ * WebUI: now every job runs in its own process and has name oq-job-
+ * Refactored the WebUI tests to use the DbServer and django.test.Client
+ * Added an experimental feature `optimize_same_id_sources`
+ * Fixed a bug in gmf_ebrisk when there are zero losses and added more
+ validity checks on the CSV file
+ * The parameter `number_of_ground_motion_fields` is back to being optional in
+ scenario calculators reading the GMFs from a file, since it can be inferred
+ * Removed the deprecated risk outputs dmg_by_tag, dmg_total,
+ losses_by_tag, losses_total
+ * Deprecated the .geojson exporters for hazard curves and maps
+ * We now keep the realization weights in case of logic tree sampling (before
+ they were rescaled to 1 / R and considered all equals)
+ * Optimized sampling for extra-large logic trees
+ * Added a check on missing `source_model_logic_tree`
+ * Fix to the gmf_ebrisk calculator: the realization index in the event loss
+ table was incorrect and too many rows were saved
+ * Added a way to restrict the source logic model tree by setting a sm_lt_path
+ variable in the job.ini (experimental)
+ * Fixed the precedence order when reading openquake.cfd
+
+ -- Matteo Nastasi (GEM Foundation) Wed, 29 Nov 2017 14:33:05 +0100
+
+python-oq-engine (2.7.0-0~precise01) precise; urgency=low
+
+ [Michele Simionato]
+ * Fixed the risk exporters for tags containing non-ASCII characters
+
+ [Valerio Poggi]
+ * Implemented the Pankow and Pechmann 2004 GMPE (not verified)
+
+ [Graeme Weatherill]
+ * Added Derras et al. (2014) GMPE
+ * Implemented the Zhao et al. (2016) GMPE for active shallow crustal,
+ subduction interface and subduction slab events
+ * Adds 'rvolc' (volcanic path distance) to the distance context
+
+ [Michele Simionato]
+ * The outputs loss_curves-rlzs and loss_curves-stats are now visible again
+ as engine outputs (before they were hidden)
+ * Added a debug command `oq plot_assets` and fixed `oq plot_sites`
+ * Added a flag `--multipoint` to the command `oq upgrade_nrml`
+ * Deprecated several outputs: hcurves-rlzs, agg_loss_table, losses_total,
+ dmg_by_tag, dmg_total, losses_by_tag, losses_by_tag-rlzs
+ * Extended the command `oq extract job_id` to check the database
+ * Optimized the scenario damage calculator by vectorizing the calculation
+ of the damage states
+ * Extended the FragilityFunctions to accept sequences/arrays of intensity
+ levels, as requested by Hyeuk Ryu
+
+ [Daniele Viganò]
+ * Added support for groups in the WebUI/API server
+
+ [Michele Simionato]
+ * Added an experimental distribution mode of kind "zmq"
+ * Implemented an API `/extract/agglosses/loss_type?tagname1=tagvalue1&...`
+ with the ability to select all tagvalues (`*`) for a given tagname
+ * Deprecated reading hazard curves from CSV, since it was an experimental
+ features and nobody is using it
+ * Changed the exporter of the event loss table to export all realizations
+ into a single file
+
+ [Graeme Weatherill]
+ * Adds the Bindi et al. (2017) GMPEs for Joyner-Boore and Hypocentral
+ Distance
+
+ [Michele Simionato]
+ * Made it mandatory to specify the sites for all calculators reading the
+ GMFs from a CSV file
+ * Tested also the case of calculators requiring a shared_dir
+ * Improved the error checking when parsing vulnerability functions with PMF
+
+ [Daniele Viganò]
+ * Fixed a bug in `oq reset` command which was not stopping
+ the DbServer properly
+
+ [Michele Simionato]
+ * Implemented an API `/extract/aggcurves/loss_type?tagname1=tagvalue1&...`
+ * Implemented an API `/extract/aggdamages/loss_type?tagname1=tagvalue1&...`
+ * Every time a new calculation starts, we check if there is a newer version
+ of the engine available on GitHub
+ * Changed the search logic for the configuration file `openquake.cfg`
+ * Implemented an API `/extract/agglosses/loss_type?tagname1=tagvalue1&...`
+ * Fixed several bugs in the gmf_ebrisk calculator, in particular in presence
+ of asset correlation and missing values on some sites
+ * Fixed a bug with logging configured a WARN level instead of INFO level
+ if rtree was missing (affecting only `oq run`)
+ * Changed the ScenarioDamage demo to use two GSIMs
+ * Added a node `` in the exposure
+ * Added a web API to extract the attributes of a datastore object
+ * Fixed `oq to_shapefile` and `oq from_shapefile` to work with NRML 0.5
+ (except MultiPointSources)
+ * Added information about the loss units to the `agg_curve` outputs
+ * `oq extract hazard/rlzs` now extracts one realization at the time
+ * The rupture filtering is now applied during disaggregation
+ * Changed the /extract wen API to return a compressed .npz file
+ * Fixed a bug with multi-realization disaggregation, celery and no
+ shared_dir: now the calculation does not hang anymore
+
+ -- Matteo Nastasi (GEM Foundation) Thu, 19 Oct 2017 13:53:08 +0200
+
+python-oq-engine (2.6.0-0~precise01) precise; urgency=low
+
+ [Michele Simionato]
+ * Fixed the GMF .npz export when the GMFs are extracted from a file
+ * Stored the number of nonzero losses per asset and realization in
+ event_based_risk calculations with asset_loss_table=True
+
+ [Daniele Viganò]
+ * Fixed 'openquake' user creation in RPM when SELinux is in enforcing mode
+ * Changed the behaviour during RPM upgrades:
+ the old openquake.cfg configuration file is left untouched and the new one
+ installed as openquake.cfg.rpmnew
+
+ [Michele Simionato]
+ * Added a check on `number_of_ground_motion_fields` when the GMFs are
+ extracted from a NRML file
+ * Added a command `oq extract` able to extract hazard outputs into HDF5 files
+ * Fixed a bug when reading GMFs from a NRML file: the hazard sites were
+ read from the exposure (incorrectly) and not from the GMFs
+ * Fixed a bug in MultiMFDs of kind `arbitraryMFD`
+
+ [Valerio Poggi]
+ * Implemented the Atkinson (2010) GMPE as subclass `Atkinson2010Hawaii`
+ of `BooreAtkinson2008`
+
+ [Michele Simionato]
+ * Used the new loss curves algorithm for the asset loss curves and loss maps
+ * Added a generic `extract` functionality to the web API
+ * Fixed a bug when computing the rjb distances with multidimensional meshes
+ * Changed the GMF CSV exporter to export the sites too; unified it with the
+ event based one
+
+ [Daniele Viganò]
+ * Changed the 'CTRL-C' behaviour to make sure that all children
+ processes are killed when a calculation in interrupted
+
+ [Michele Simionato]
+ * Fixed a bug in the statistical loss curves exporter for classical_risk
+ * Replaced the agg_curve outputs with losses by return period outputs
+ * Turned the DbServer into a multi-threaded server
+ * Used zmq in the DbServer
+ * Fixed correct_complex_sources.py
+ * Fixed `oq export hcurves-rlzs -e hdf5`
+ * Changed the source weighting algorithm: now it is proportional to the
+ the number of affected sites
+ * Added a command `oq show dupl_sources` and enhances `oq info job.ini`
+ to display information about the duplicated sources
+ * Added a flag `split_sources` in the job.ini (default False)
+ * Updated the demos to the format NRML 0.5
+
+ [Valerio Poggi]
+ * Implemented the Munson and Thurber 1997 (Volcanic) GMPE
+
+ [Graeme Weatherill]
+ * Adapts CoeffsTable to be instantiated with dictionaries as well as strings
+
+ [Daniele Viganò]
+ * Extended the 'oq reset' command to work on multi user installations
+
+ [Michele Simionato]
+ * Fixed a bug: if there are multiple realizations and no hazard stats,
+ it is an error to set hazard_maps=true or uniform_hazard_spectra=true
+ * Implemented aggregation by asset tag in the risk calculators
+ * Fixed a small bug in the HMTK (in `get_depth_pmf`)
+ * Extended the demo LogicTreeCase1ClassicalPSHA to two IMTs and points
+ * Added a documentation page `oq-commands.md`
+ * Removed the automatic gunzip functionality and added an automatic
+ checksum functionality plus an `oq checksum` command
+ * Made the demo LogicTreeCase2ClassicalPSHA faster
+ * Fixed the export by realization of the hazard outputs
+ * Changed the generation of loss_maps in event based risk, without the option
+ `--hc`: now it is done in parallel, except when reading the loss ratios
+ * Renamed `--version-db` to `--db-version`, to avoid
+ confusions between `oq --version` and `oq engine -version`
+ * Fixed bug in the exported outputs: a calculation cannot export the results
+ of its parent
+ * Extended the `sz` field in the rupture surface to 2 bytes, making it
+ possible to use a smaller mesh spacing
+ * Changed the ordering of the fields in the loss curves and loss maps
+ generated by the event based risk calculator; now the insured fields
+ are at the end, before they were intermixed with each loss type
+ * Changed the format of array `all_loss_ratios/indices`
+ * The size in bytes of the GMFs was saved incorrectly
+ * Added an exporter gmf_scenario/rup-XXX working also for event based
+ * First version of the calculator gmf_ebrisk
+ * Implemented risk statistics for the classical_damage calculator
+ * Added a .csv importer for the ground motion fields
+ * Implemented risk statistics for the classical_bcr calculator
+
+ [Armando Scarpati]
+ * Show to the user the error message when deleting a calculation
+ in the WebUI fails
+
+ [Michele Simionato]
+ * Better error message when running a risk file in absence of hazard
+ calculation
+ * Changed the sampling logic in event based calculators
+ * Imported GMFs from external file into the datastore
+
+ [Daniele Viganò]
+ * Added the 'celery-status' script in 'utils' to check the
+ task distribution in a multi-node celery setup
+
+ [Michele Simionato]
+ * Removed an excessive check from the WebUI: now if an output exists,
+ it can be downloaded even if the calculation was not successful
+
+ [Armando Scarpati]
+ * Visualized the calculation_mode in the WebUI
+
+ [Michele Simionato]
+ * Made the upgrade_manager transactional again
+ * Changed the storage of the GMFs; as a consequence the exported .csv
+ has a different format
+
+ [Daniele Viganò]
+ * Fixed a bug introduced by a change in Django 1.10 that was causing
+ the HTTP requests log to be caught by our logging system and
+ then saved in the DbServer
+ * Updated requirements to allow installation of Django 1.11 (LTS)
+
+ [Michele Simionato]
+ * Added two commands `oq dump` and `oq restore`
+ * Added a check that on the number of intensity measure types when
+ generating uniform hazard spectra (must be > 1)
+
+ -- Matteo Nastasi (GEM Foundation) Mon, 25 Sep 2017 15:05:45 +0200
+
+python-oq-engine (2.5.0-0~precise01) precise; urgency=low
+
+ [Armando Scarpati]
+ * Added a confirmation dialog when trying to remove a calculation via the
+ WebUI
+
+ [Michele Simionato]
+ * Hazard maps were not exposed to the engine in event based calculations
+ * Fixed the check on the DbServer instance: it was failing in presence
+ of symbolic links
+ * Optimized MultiMFD objects for the case of homogeneous parameters
+ * Added an .npz exporter for the scenario_damage output `dmg_by_asset`
+ * Removed the pickled CompositeSourceModel from the datastore
+ * Improved the error message when the rupture mesh spacing is too small
+ * Unified the versions of baselib, hazardlib and engine
+ * Raised a clear error if the user does not set the `calculation_mode`
+ * Made it is possible to pass the hdf5 full path to the DataStore class
+ * Made it possible to use CELERY_RESULT_BACKEND != 'rpc://'
+
+ [Michele Simionato, Daniele Viganò]
+ * Merged the `oq-hazardlib` repository into `oq-engine`.
+ The `python-oq-hazardlib` package is now provided by `python-oq-engine`
+
+ [Michele Simionato]
+ * Added CSV exports for the agg_curve outputs
+ * Fixed a bug in `oq export hcurves-rlzs --exports hdf5`
+ * Restored the parameter sites_per_tile with a default of 20,000, i.e.
+ tiling starts automatically if there are more than 20,000 sites
+ * Better error message for invalid exposures
+ * Removed the deprecated XML outputs of the risk calculators
+ * Added an end point `v1/calc/XXX/oqparam` to extract the calculation
+ parameters as a JSON dictionary
+ * Fixed the excessive logic tree reduction in event based calculators
+ * Improved the command `oq db`
+ * Fixed an encoding bug when logging a filename with a non-ASCII character
+ * Fixed a bug when exporting a GMF with `ruptureId=0`
+ * Added a parameter `disagg_outputs` to specify the kind of disaggregation
+ outputs to export
+ * Raised an early error if the consequence model is missing some taxonomies
+ * Restored the tiling functionality in the classical calculator; to enable
+ it, set `num_tiles` in the job.ini file
+ * If there are no statistical hazard curves to compute, do not transfer
+ anything
+ * Fixed a small bug in `oq plot` and added a test
+
+ [Daniele Viganò]
+ * Added `collectstatic` and `createsuperuser` subcommands to the
+ `oq webui` command
+ * Added a `local_settings.py.pam` template to use PAM as the authentication
+ provider for API and WebUI
+ * Now the command `oq webui start` tries to open a browser tab
+ with the WebUI loaded
+
+ -- Daniele Viganò (GEM Foundation) Wed, 14 Jun 2017 10:32:28 +0200
+
+python-oq-engine (2.4.0-0~precise01) precise; urgency=low
+
+ [Michele Simionato]
+ * Now the command `oq export loss_curves/rlz-XXX` works both for the
+ `classical_risk` calculator and the `event_based_risk` calculator
+
+ [Daniele Viganò]
+ * Remove the default 30 day-old view limit in the WebUI calculation list
+
+ [Michele Simionato]
+ * Fixed a broken import affecting the command `oq upgrade_nrml`
+ * Made it possible to specify multiple file names in
+ in the source_model_logic_tree file
+ * Reduced the data transfer in the object `RlzsAssoc` and improved the
+ postprocessing of hazard curves when the option `--hc` is given
+ * Changed the `ruptures.xml` exporter to export unique ruptures
+ * Fixed a bug when downloading the outputs from the WebUI on Windows
+ * Made `oq info --report` fast again by removing the rupture fine filtering
+ * Improved the readibility of the CSV export `dmg_total`
+ * Removed the column `eid` from the CSV export `ruptures`; also
+ renamed the field `serial` to `rup_id` and reordered the fields
+ * Changed the event loss table exporter: now it exports an additional
+ column with the `rup_id`
+ * Changed scenario npz export to export also the GMFs outside the maximum
+ distance
+ * Fixed scenario npz export when there is a single event
+ * Replaced the event tags with numeric event IDs
+ * The mean hazard curves are now generated by default
+ * Improved the help message of the command `oq purge`
+ * Added a `@reader` decorator to mark tasks reading directly from the
+ file system
+ * Removed the .txt exporter for the GMFs, used internally in the tests
+ * Fixed a bug with relative costs which affected master for a long time,
+ but not the release 2.3. The insured losses were wrong in that case.
+ * Added an .hdf5 exporter for the asset loss table
+ * Loss maps and aggregate losses are computed in parallel or sequentially
+ depending if the calculation is a postprocessing calculation or not
+ * Deprecated the XML risk exporters
+ * Removed the .ext5 file
+ * Restored the parameter `asset_loss_table` in the event based calculators
+ * Added a full .hdf5 exporter for `hcurves-rlzs`
+ * Removed the `individual_curves` flag: now by default only the statistical
+ hazard outputs are exported
+ * Saved *a lot* of memory in the computation of the hazard curves and stats
+ * Renamed the parameter `all_losses` to `asset_loss_table`
+ * Added an experimental version of the event based risk calculator which
+ is able to use GMFs imported from an external file
+ * Added a `max_curve` functionality to compute the upper limit of the
+ hazard curves amongst realizations
+ * Raised an error if the user specifies `quantile_loss_curves`
+ or `conditional_loss_poes` in a classical_damage calculation
+ * Added a CSV exporter for the benefit-cost-ratio calculator
+ * The classical_risk calculator now reads directly the probability maps,
+ not the hazard curves
+ * Turned the loss curves into on-demand outputs
+ for the event based risk calculator
+ * The loss ratios are now stored in the datastore and not in an
+ external .ext5 file
+ * The engine outputs are now streamed by the WebUI
+ * Used a temporary export directory in the tests, to avoid conflicts
+ in multiuser situations
+ * Added an .npz exporter for the loss maps
+ * Raised an error early when using a complex logic tree in scenario
+ calculations
+ * Changed the CSV exporter for the loss curves: now it exports all the
+ curves for a given site for the classical_risk calculator
+ * Fixed the save_ruptures procedure when there are more than 256
+ surfaces in the MultiSurface
+ * Renamed the `csq_` outputs of the scenario_damage to `losses_`
+ * Changed the way scenario_damage are stored internally to be more
+ consistent with the other calculators
+ * Removed the GSIM from the exported file name of the risk outputs
+ * New CSV exporter for GMFs generated by the event based calculator
+ * The event IDs are now unique and a constraint on the maximum
+ number of source groups (65,536) has been added
+ * Added an output `losses_by_event` to the scenario_risk calculator
+ * Changed the output `ruptures.csv` to avoid duplications
+ * Added an output `losses_by_taxon` to the scenario_risk calculator
+ * Fixed a performance bug in `get_gmfs`: now the scenario risk and damage
+ calculators are orders of magnitude faster for big arrays
+ * Added an export test for the event loss table in the case of multiple TRTs
+ * Removed the experimental `rup_data` output
+ * Added an .npz export for the output `losses_by_asset`
+ * Exported the scenario_risk aggregate losses in a nicer format
+
+ [Daniele Viganò]
+ * The 'oq webui' command now works on a multi-user installation
+ * Splitted RPM packages into python-oq-engine (single node)and
+ python-oq-engine-master/python-oq-engine-worker (multi-node)
+
+ [Paolo Tormene]
+ * The 'Continue' button in the Web UI is now available also for risk
+ calculations
+
+ [Michele Simionato]
+ * Fixed a Python 3 bug in the WebUI when continuing a calculation: the
+ hazard_calculation_id was passed as a string and not as an integer
+ * Changed to rupture storage to use variable length-arrays, with a speedup
+ of two orders of magnitude
+ * Avoided storing twice the rupture events
+ * Optimized the serialization of ruptures on HDF5 by using a `sids` output
+ * Changed the Web UI button from "Run Risk" to "Continue"
+ * The `avg` field in the loss curves is computed as the integral of the curve
+ again, and it is not extracted from the avg_losses output anymore
+ * Made the `fullreport` exportable
+ * Fixed the `rup_data` export, since the boundary field was broken
+ * Restored the output `losses_by_taxon` in the event_based_risk calculator
+ * Fixed the calculator event based UCERF so that average losses can
+ be stored
+
+ [Daniele Viganò]
+ * Added a check to verify that an 'oq' client is talking to the
+ right DbServer instance
+ * Introduced an optional argument for 'oq dbserver' command line
+ to be able to override its default interface binding behaviour
+
+ [Michele Simionato]
+ * Optimized the event based calculators by reducing the number of calls
+ to the GmfComputer and by using larger arrays
+ * Added a check on missing vulnerability functions for some loss type
+ for some taxonomy
+ * Now we save the GMFs on the .ext5 file, not the datastore
+ * Fixed bug in event_based_risk: it was impossible to use vulnerability
+ functions with "PM" distribution
+ * Fixed bug in event_based_risk: the ebrisk calculator is required as
+ precalculator of event_based_risk, not others
+ * Fixed bug in scenario_risk: the output `all_losses-rlzs` was aggregated
+ incorrectly
+ * Now the ucerf_risk calculators transfer only the events, not the ruptures,
+ thus reducing the data transfer of several orders of magnitude
+ * Added a view `get_available_gsims` to the WebUI and fixed the API docs
+ * Introduced a configuration parameter `max_site_model_distance` with default
+ of 5 km
+ * Implemented sampling in the UCERF event based hazard calculator
+
+ [Daniele Viganò]
+ * Use threads instead of processes in DbServer because SQLite3
+ isn't fork-safe on macOS Sierra
+
+ [Michele Simionato]
+ * Fixed a TypeError when deleting a calculation from the WebUI
+ * Extended the command `oq to_hdf5` to manage source model files too
+ * Improved significantly the performance of the event based calculator
+ when computing the GMFs and not the hazard curves
+ * Stored information about the mean ground motion in the datastore
+ * Saved the rupture mesh with 32 floats instead of 64 bit floats
+ * Raised the limit on the event IDs from 2^16 to 2^32 per task
+ * Fixed classical_risk: there was an error when computing the statistics
+ in the case of multiple assets of the same taxonomy on the same site
+ * Changed the UCERF event based calculators to parallelize by SES
+ * Fixed a site model bug: when the sites are extracted from the site model
+ there is no need to perform geospatial queries to get the parameters
+ * Added a command `oq normalize` to produce good `sites.csv` files
+ * Introduced a `ses_seed` parameter to specify the seed used to generate
+ the stochastic event sets; `random_seed` is used for the sampling only
+ * Changed the `build_rcurves` procedure to read the loss ratios directly from
+ the workers
+
+ -- Matteo Nastasi (GEM Foundation) Tue, 23 May 2017 10:46:56 +0200
+
+python-oq-engine (2.3.0-0~precise01) precise; urgency=low
+
+ [Michele Simionato]
+ * `oq info --report` now filters the ruptures and reports the correct
+ number of effective ruptures even for classical calculators
+ * Stripped the TRT information from the event loss table CSV export
+ and optimized its performance
+ * Fixed a bug when storing the GMPE logic tree file in the datastore
+ * Added a command `oq run_tiles` (experimental)
+ * Fixed the event based calculator so that it can run UCERF ruptures
+ * Fixed a bug in the scenario_risk calculator in case of multiple assets
+ of the same taxonomy on the same site with no insurance losses
+ * Now the event IDs are generated in the workers in the event based calculator
+ and there is a limit of 65536 tasks with 65536 ruptures each
+ * Changed the UCERF classical calculators to compute one branch at the time
+ * Fixed the header `occupants:float32` in the CSV risk exports involving
+ occupants
+ * Fixed the name of the zipped files downloaded by the Web UI: there
+ was a spurious dot
+ * Fixed the UCERF classical calculator in the case of sampling
+ * Reduced the size of the event tags in the event based calculators, thus
+ saving GB of disk space in UCERF calculations
+ * Fixed the name of the files downloaded by the Web UI: they must not
+ contain slashes
+ * Now deleting a calculation from the Web UI really deletes it, before
+ if was only hiding it
+
+ [Daniele Viganò]
+ * Moved the OpenQuake Engine manual sources inside doc/manual
+
+ [Michele Simionato]
+ * Introduced an experimental classical time dependent UCERF calculator
+ * Added a dynamic output for source group information
+ * Changed the UCERF rupture calculator to fully store the ruptures
+ * Fixed a bug in `combine_maps`: realizations with zero probability were
+ discarded, thus breaking the computation of the statistics
+ * Added a command `oq reset` to reset database and datastores
+ * Reduced the data transfer back and disk space occupation for UCERF
+ event based risk calculations
+ * Tasks meant to be used with a shared directory are now marked with a
+ boolean attribute `.shared_dir_on`
+ * Added a warning when running event based risk calculations with sampling
+ * Made sure that the openquake.cfg file is read only once
+
+ [Daniele Viganò]
+ * Moved the openquake.cfg config file inside the python package
+ under openquake/engine/openquake.cfg
+ * Removed support to OQ_LOCAL_CFG_PATH and OQ_SITE_CFG_PATH vars;
+ only the OQ_CONFIG_FILE enviroment variable is read
+
+ [Michele Simionato]
+ * If there is a single realization, do not compute the statistics
+ * Changed the separator from comma to tab for the output `ruptures`
+ * If there are no conditional_loss_poes, the engine does not try to
+ export the loss maps anymore
+ * Fixed `oq engine --make-html-report` when using Python 3
+ * Fixed bug when running `oq info job.ini` with NRML 0.5 source models
+
+ -- Matteo Nastasi (GEM Foundation) Thu, 23 Feb 2017 14:37:44 +0100
+
+python-oq-engine (2.2.0-0~precise01) precise; urgency=low
+
+ [Michele Simionato]
+ * Fixed an HDF5 bug by not using a `vstr` array for the asset references
+ * Fixed a wrong error message generated by `oq purge`
+ * Added information about the rupture in the event loss table exports
+ * Fixed a bug and added a test calculation with nonparametric sources
+ * Fixed the classical UCERF calculator when there is more than one branch
+ * Added .npz exporter for gmf_data for event based calculations
+
+ [Daniele Viganò]
+ * Port WebUI/API server to Django 1.9 and 1.10
+ * Add dependencies to setup.py
+ * Update Copyright to 2017
+
+ [Michele Simionato]
+ * Increased the splitting of ComplexFaultSources
+ * Added a way to reuse the CompositeSourceModel from a previous computation
+ * Turned the loss maps into dynamically generated outputs
+ * Extended the source model writer to serialize the attributes
+ src_interdep, rup_interdep, srcs_weights
+ * Fixed a bug when exporting the uniform hazard spectra in presence of
+ IMTs non spectral acceleration
+ * Fixed a bug when computing the loss maps in presence of insurance,
+ temporarily introduced in master
+ * Made the datastore for event based risk calculations much lighter
+ by computing the statistical outputs at export time
+ * Now it is possible to post process event based risk outputs with the
+ `--hc` option
+ * Added a command `oq to_hdf5` to convert .npz files into .hdf5 files
+ * Moved commonlib.parallel into baselib
+ * Merged the experimental calculator ebrisk into event_based_risk and
+ used correctly the random_seed for generating the GMFs (not the master_seed)
+ * Added a flag `ignore_covs` to ignore the coefficients of variation
+ * Changed the GMF scenario exporter to avoid generating composite arrays with
+ a large number of fields
+ * Exporting in .npz format rather than HDF5
+ * Introduced a `shared_dir` parameter in openquake.cfg
+ * Fixed a serialization bug for planar surfaces
+ * Removed the flag `asset_loss_table`: the loss ratios are
+ saved if and only if the `loss_ratios` dictionary is non-empty
+ * Added a CSV exporter for the GMFs in the event based calculator
+ * Added a CSV exporter for the rup_data output
+ * Added a CSV exporter for the disaggregation output
+ * Stored the disaggregation matrices directly (no pickle)
+ * Turned the CompositeRiskModel into a HDF5-serializable object
+ * Fixed all doctests for Python 3
+
+ [Daniele Viganò]
+ * Removed the 'oq-engine' wrapper (command already deprecated)
+
+ [Michele Simionato]
+ * Assigned a year label to each seismic event in the event based calculator
+ * Now the ebrisk calculator supports the case of asset_correlation=1 too
+ * Made it possible to export the losses generated by a specific event
+ * Lowered the limit on the length of source IDs to 60 chars
+ * Fixed excessive strictness when validating `consequenceFunction.id`
+ * Added an `ucerf_rupture` calculator able to store seismic events and
+ rupture data and reduced the data transfer
+
+ [Daniele Viganò]
+ * MANIFEST now includes all files, with any extension located in the
+ tests folders. It is now possible to run tests from an installation
+ made with packages
+
+ [Michele Simionato]
+ * Improved error message when the user gives a source model file instead of
+ a source model logic tree file
+ * Fixed the management of negative calculation IDs
+ * Relaxed the tolerance so that the tests pass on Mac OS X
+ * Implemented csv exporter for the ruptures
+ * Optimized the epsilon generation in the ebrisk calculator for
+ asset_correlation=0
+ * Improved the performance of the scenario risk calculators
+ * Now by default we do not save the ruptures anymore
+ * Fixed a memory leak recently introduced in parallel.py
+ * Simplified classical_risk (the numbers can be slightly different now)
+ * Serialized the ruptures in the HDF5 properly (no pickle)
+ * Introduced a parameter `iml_disagg` in the disaggregation calculator
+ * Fixed `oq reduce` to preserve the NRML version
+ * Fixed a bug when splitting the fault sources by magnitude
+
+ -- Matteo Nastasi (GEM Foundation) Mon, 23 Jan 2017 14:36:48 +0100
+
+python-oq-engine (2.1.0-0~precise01) precise; urgency=low
+
+ [Michele Simionato]
+ * There is now a flag `save_ruptures` that can be turned off on demand;
+ by default the ruptures are always saved in the event based calculators
+ * Optimized the memory consumption when using a ProcessPoolExecutor (i.e
+ fork before reading the source model) by means of a `wakeup` task
+ * Reduced the splitting of the fault sources
+ * Added a view `task_slowest` displaying info about the slowest task
+ (only for classical calculations for the moment)
+ * concurrent_tasks=0 disable the concurrency
+ * Optimized the saving time of the GMFs
+ * Changed the default number of concurrent tasks and increased the
+ relative weight of point sources and area sources
+ * Fixed the UCERF event loss table export and added a test for it
+ * Optimized the computation of the event loss table
+ * Introduced two new calculators ucerf_risk and ucerf_risk_fast
+
+ [Paolo Tormene]
+ * Added to the engine server the possibility to log in and out
+ programmatically by means of HTTP POST requests
+
+ [Michele Simionato]
+ * Optimized the memory consumption of the event based risk calculators
+ * Extended the `oq show` command to work in a multi-user environment
+ * Improved the test coverage of the exports in the WebUI
+ * Removed the SourceManager: now the sources are filtered in the workers
+ and we do not split in tiles anymore
+ * Made the full datastore downloadable from the WebUI
+ * Added a command "oq db" to send commands the engine database
+ (for internal usage)
+ * By default the WebUI now displays only the last 100 calculations
+ * Added more validity checks to the disaggregation parameters; split the
+ sources even in the disaggregation phase
+ * Added an optimized event based calculator computing the total losses by
+ taxonomy and nothing else
+ * Filtered the sources up front when there are few sites (<= 10)
+ * Reduced the number of tasks generated when filter_sources is False
+ * Saved engine_version and hazardlib_version as attributes of the datastore
+ * Avoided saving the ruptures when ground_motion_fields is True
+ * Finalized the HDF5 export for hazard curves, hazard maps and uniform
+ hazard spectra
+ * Restored a weight of 1 for each rupture in the event based calculator
+ * Removed the MultiHazardCurveXMLWriter
+ * Improved the saving of the ruptures in event based calculations
+ * Reduced the data transfer due to the `rlzs_by_gsim` parameter
+ * Added an HDF5 export for scenario GMFs
+ * If `filter_sources` if false, the light sources are not filtered, but the
+ heavy sources are always filtered
+ * Now the dbserver can be stopped correctly with CTRL-C
+ * Parallelized the splitting of heavy sources
+ * Changed the event loss table exporter: now a single file per realization
+ is exported, containing all the loss types
+ * Removed the dependency from the Django ORM
+ * Now the WebUI restarts the ProcessPoolExecutor at the end of each job,
+ to conserve resources
+ * Optimized the computation of hazard curves and statistics, especially
+ for the memory consumption
+ * Reduced the data transfer due to the `rlzs_assoc` and `oqparam` objects
+ * Fixed a bug in the disaggregation calculator when a source group has
+ been filtered away by the maximum distance criterium
+ * Fixed an encoding error in the reports when the description contains a
+ non-ASCII character
+ * Changed the distribution framework: celery is supported in a way more
+ consistent with the other approaches; moreover, ipyparallel is supported
+ * Hazard maps are now a fake output, dynamically generated at export time
+ * Made the number of produced tasks proportional to the number of tiles
+ * Raised an error for event_based_risk producing no GMFs
+ * Added a view for the slow sources
+ * Transmitted the attributes of a SourceGroup to the underlying sources
+ * Fixed the names of exported files for hazard maps in .geojson format
+ * Added an header with metadata to the exported hazard curves and maps
+ * Avoid storing filtered-away probability maps, thus fixing a bug
+ * Restored the precalculation consistency check that was disabled during the
+ transition to engine 2.0
+ * Fixed a bug with `oq engine --delete-calculation`
+ * Hazard curves/maps/uniform spectra can now be recomputed
+ * Restored the early check on missing taxonomies
+ * Raise an early error if an user forget the `rupture_mesh_spacing` parameter
+ * Fixed a bug while deleting jobs from the db in Ubuntu 12.04
+ * Ported the shapefile converter from the nrml_converters
+ * Added source model information in the file `realizations.csv`
+ * `oq engine --run job.ini --exports csv` now also exports the realizations
+ * Introduced the format NRML 0.5 for source models
+ * Added a check on the version in case of export errors
+ * Extended `oq purge` to remove calculations from the database too
+ * Fixed `--make-html-report`: the view task_info was not registered
+ * Stored several strings as HDF5-variable-length strings
+ * Fixed an export bug for the hazard curves in .geojson format
+ * Removed the array cost_types from the datastore
+ * Taxonomies with chars not in the range a-z0-9 were incorrectly rejected
+ * Improved the XML parsing utilities in speed, memory, portability and
+ easy of use
+ * Forbidden the reuse of exposure because is was fragile and error prone
+ * Fixed a bug with the `realizations` array, which in hazard calculations
+ was empty in the datastore
+
+ -- Matteo Nastasi (GEM Foundation) Fri, 14 Oct 2016 11:07:26 +0200
+
+python-oq-engine (2.0.0-0~precise01) precise; urgency=low
+
+ [Michele Simionato]
+ * Quoted the taxonomies in the CSV exports
+ * Fixed a bug in classical_damage and added a master test for it
+ * Fixed the escaping of the taxonomies in the datastore
+ * Fixed the names of the exported risk files
+ * Fixed a segfault in the WebUI when exporting files with h5py >= 2.4
+ * Added a command `oq dbserver` to start/stop the database server
+ * The engine exports the hazard curves one file per IMT
+ * Exported lon and lat with 5 digits after the decimal point
+ * Added a command `oq info --build-reports`
+ * Introduced experimental support for exporting .hdf5 files
+
+ [Daniele Viganò]
+ * Reworked substantially the engine documentation: removed obsolete pages,
+ updated to engine 2.0 and added instructions for Windows and Mac OS X
+ * Remove oq_create_db script, db is created by the DbServer
+ * Move oq_reset_db into utils and clean old code
+
+ [Michele Simionato]
+ * Now the DbServer automatically upgrades the database if needed
+ * Renamed oq-lite -> oq and added a subcommand `oq engine`
+ * Added a CSV reader for the hazard curves
+ * Having time_event=None in the hazard part of a calculation is now valid
+ * Added an exporter for the rupture data, including the occurrence rate
+ * Refactored the CSV exporters
+ * Moved celeryconfig.py; now celery must be started with
+ `celery worker --config openquake.engine.celeryconfig`
+ * Added a default location `~/oqdata/dbserver.log` for the DbServer log
+ * Added an early check on the SA periods supported by the GSIMs
+ * Now the gsim_logic_tree file is parsed only once
+ * Added a document about the architecture of the engine
+ * The realizations are now exported as a CSV file
+ * Escaped taxonomies in the datastore
+ * The Web UI log tool is now escaping the HTML
+ * Moved openquake.commonlib.commands -> openquake.commands and
+ openquake.commonlib.valid -> openquake.risklib.valid to have a
+ linear tower of internal dependencies
+ * Supported all versions of Django >= 1.5
+ * Provided a better error message in the absence of openquake.cfg
+ * Removed the check on the export_dir when using the WebUI
+ * Reduce the data transfer of the realization association object
+ * If uniform_hazard_spectra is true, the UHS curves are generated
+ even if hazard_maps is false; the hazard maps are not exported
+ * Optimized the filtering of PointSources
+ * Initial work on the UCERF event based hazard calculator
+ * Added a test calculation crossing the International Date Line (Alaska)
+
+ [Daniele Viganò]
+ * Remove the dependency from the python 'pwd' package which is not
+ available on Windows
+ * Supervisord init scripts are now provided for the dbserver, celery
+ and the webui. Celery is not started by default, other two are.
+
+ [Michele Simionato]
+ * Another export fix: made sure it is run by the current user
+ * Fixed the export: if the export directory does not exist, it is created
+ * Introduced the configuration variable `multi_user`, false for source
+ installations and true for package installations
+ * Fixed the WebUI export
+ * Removed the .txt outputs from the WebUI page engine//outputs
+ (they are useful only internally)
+ * Fixed the export: first the xml exporter is tried and then the csv exporter;
+ if both are available, only the first is used, not both of them
+ * Optimized the case when the epsilons are not required, i.e. all the
+ covariance coefficients are zero in the vulnerability functions
+ * Added another test for event based risk (`case_miriam`)
+ * Revisited the distribution mechanism and refined the weight of the
+ ruptures in the event based calculators to avoid generating slow tasks
+ * Added an automatic help for the subcommands of oq-lite and managed
+ --version correctly
+ * The event based risk calculator now use different seeds for different
+ realizations; also, the performance has been substantially improved
+ * Improved the .rst reports with data transfer information
+ * Removed the RlzsAssoc object from the datastore
+ * Fixed the number of tasks generated by the risk calculators
+ * Refactored the serialization of CompositionInfo instances to HDF5
+ * Used exponential notation with 5 decimal digits in most exported XML files
+ * Refactored the sampling mechanics in the event based calculators
+ * The event_based_risk calculator infers the minimum intensity of the GMFs
+ from the vulnerability functions (if not specified in the job.ini)
+ * Fixed the `avg_losses-stats`: they were not generated in absence of
+ loss curves
+ * Added a command `oq-lite info --exports`
+ * Added filtering on the mininum intensity also in the event based
+ hazard calculator; improved the performance and memory occupation
+ * Added a view displaying the calculation times by source typology
+ * Fixed the test of GMPETable after the correction in hazardlib
+ * Optimized the saving of the asset loss table
+ * Optimized the case of multiple assets of the same taxonomy on the
+ same point and introduced a datastore view `assets_by_site`
+ * Fixed HDF5 segmentation faults in the tests for Ubuntu 16.04
+
+ [Daniele Viganò]
+ * Add support for Ubuntu 16.04 (xenial) packages
+ * Removed the openquake_worker.cfg file because it is not used anymore
+
+ [Michele Simionato]
+ * Replaced PostgreSQL with SQLite
+ * Introduced a dbserver to mediate the interaction with the database
+ * Restored the signal handler to manage properly `kill` signals so that
+ the workers are revoked when a process is killed manually
+ * Fixed in a more robust way the duplicated log bug
+ * Made more robust the killing of processes by patching concurrent.futures
+ * Fixed a critical bug with celery not being used even when `use_celery`
+ was true.
+ * Improved the validation of NRML files
+ * Added a command `oq-engine --show-log `
+
+ [Daniele Viganò]
+ * Use the 'postgresql' meta package as dependency of the .deb
+ package to support newer versions of Postgres; this makes
+ Trusty package installable on Ubuntu 16.04 and Debian 8
+
+ [Daniele Viganò, Michele Simionato]
+ * Fixed a bug in `oq-engine --export-outputs`
+
+ [Daniele Viganò, Matteo Nastasi]
+ * Allow installation of the binary package on Ubuntu derivatives
+
+ [Matteo Nastasi]
+ * Backport of libhdf5 and h5py for ubuntu 'precise' serie
+
+ [Michele Simionato]
+ * Removed openquake/engine/settings.py
+ * Made the dependency on celery required only in cluster installations
+ * Integrated the authentication database in the engine server database
+ * Fixed the description in the Web UI (before it was temporarily set to
+ the string "A job").
+ * Introduced filtering on the minimum intensity of the ground shaking
+ * Solved the issue of serializing large SES collections, over the HDF5 limit
+ * The loss maps and curves XML exporters now export the coordinates
+ of the assets, not the coordinates of the closest hazard site
+ * Stored the job.ini parameters into a table in the datastore
+ * Added a check on the IMTs coming from the risk models
+ * Changed the aggregate loss table exporter to export the event tags,
+ not the event IDs
+ * Fixed a bug with the CSV export of the ground motion fields
+ * Fixed a bug with the export of UHS curves with `--exports=xml`
+ * Reduced substantially the data transfer and the memory occupation
+ for event based calculations with a large number of assets: we
+ can run the California exposure with half million assets now
+ * Fixed a bug in the SESCollection exporter
+ * Changed the asset<->epsilons association: before for a given taxonomy the
+ assets were ordered by `asset_ref`, now they are ordered by `id`. This
+ has a minor impact on the numbers sensitive to the epsilons, akin to a
+ change of seeds
+ * Added a test on the ordering of the epsilons
+ * Accepted `.` and `|` as valid characters for source IDs
+ * Changed the GMF calculator to use a single seed per unique rupture
+ * Changed the SESCollection exporter: now a single file is exported, before
+ we were exporting one file per source model path per tectonic region model
+ * Changed the event based calculators to avoid duplicating ruptures
+ occurring more than once
+ * Changed the risk calculators to work in blocks of assets on the same site
+ * Made it possible to set different integration distances for different
+ tectonic region types
+ * Optimized the aggregation by asset in the event based risk calculator
+ * Reporting the source_id when the filtering fails
+
+ -- Matteo Nastasi (GEM Foundation) Tue, 21 Jun 2016 14:17:03 +0200
+
+python-oq-engine (1.9.1-0~precise01) precise; urgency=low
+
+ [Michele Simionato]
+ * Fixed a bug in the Web UI when running a risk calculation starting
+ from a previous calculation
+
+ -- Matteo Nastasi (GEM Foundation) Mon, 07 Mar 2016 11:11:59 +0100
+
+python-oq-engine (1.9.0-0~precise01) precise; urgency=low
+
+ [Michele Simionato]
+ * Fixed a bug such that in some circumstances the logging stream handler
+ was instantiated twice, resulting in duplicated logs
+ * Changed the default job status to 'executing' (was 'pre_executing')
+ * Fixed the ordering of the logs in the Web UI
+ * Removed the dependency from PostGIS
+ * Restored the monitoring which was accidentally removed
+ * Removed the obsolete option `--hazard-output-id`
+ * Printed the names of the files exported by the engine, even when there
+ are multiple files for a single output
+ * Introduced four new tables job, output, log, performance: all the other
+ 60+ database tables are not used anymore
+
+ -- Matteo Nastasi (GEM Foundation) Wed, 02 Mar 2016 14:33:38 +0100
+
+python-oq-engine (1.8.0-0~precise01) precise; urgency=low
+
+ [Michele Simionato]
+ * Removed two `oq-engine` switches (`--export-stats` and `--list-inputs`)
+ and fixed `--show-view`; unified `--delete-hazard-calculation` and
+ `--delete-risk-calculation` into a single `--delete-calculation`
+ * Updated `make_html_report.py` to extract the full report from the
+ datastore
+ * If `use_celery` is true, use celery to determine a good default for
+ the parameter `concurrent_tasks`
+ * Made celery required only in cluster situations
+ * Fixed the duplication of exported result in the classical_damage
+ calculator when there is more than one realization
+ * Removed several obsolete or deprecated switches from the `oq-engine` command
+ * Replaced all classical calculators with their lite counterparts
+ * Fixed the site-ordering in the UHS exporter (by lon-lat)
+
+ [Paolo Tormene]
+ * Added API to validate NRML
+
+ [Michele Simionato]
+ * The engine can now zip files larger than 2 GB (used in the export)
+ * Now the loss maps and curves are exported with a fixed ordering: first
+ by lon-lat, then by asset ID
+ * Replaced the old disaggregation calculator with the oq-lite one
+
+ -- Matteo Nastasi (GEM Foundation) Mon, 15 Feb 2016 12:06:54 +0100
+
+python-oq-engine (1.7.0-0~precise01) precise; urgency=low
+
+ [Michele Simionato]
+ * Fixed an encoding bug in --lhc
+ * Fixed an export bug: it is now possible to export the outputs generated
+ by another user, if the read permissions are set correctly
+
+ -- Matteo Nastasi (GEM Foundation) Mon, 14 Dec 2015 10:40:26 +0100
+
+python-oq-engine (1.6.0-0~precise01) precise; urgency=low
+
+ [Daniele Viganò]
+ * Added the oq_reset_db script. It removes and recreates the database and
+ the datastore
+
+ [Matteo Nastasi]
+ * Demos moved to /usr/share/openquake/risklib
+
+ [Michele Simionato]
+ * Removed the 'view' button from the Web UI
+ * Removed the epsilon_sampling configuration parameter
+ * Made customizable the display_name of datastore outputs (before it was
+ identical to the datastore key)
+ * The zip files generated for internal use of the Web UI are now hidden
+ * Made visible to the engine only the exportable outputs of the datastore
+ * Closed explicitly the datastore after each calculation
+ * Replaced the old scenario calculators with the HDF5-based calculators
+ * Fixed a very subtle bug in the association queries: some sites outside
+ of the region constraint were not discarded in some situations
+ * Removed the self-termination feature `terminate_job_when_celery_is_down`
+ * Removed the epsilon sampling "feature" from the scenario_risk calculator
+ * Replaced the event based calculators based on Postgres with the new ones
+ based on the HDF5 technology
+
+ -- Matteo Nastasi (GEM Foundation) Tue, 17 Nov 2015 11:29:47 +0100
+
+python-oq-engine (1.5.1-0~precise01) precise; urgency=low
+
+ [Michele Simionato]
+ * Fixed a bug affecting exposures with multiple assets on the same site
+
+ -- Matteo Nastasi (GEM Foundation) Fri, 25 Sep 2015 14:22:08 +0200
+
+python-oq-engine (1.5.0-0~precise01) precise; urgency=low
+
+ [Michele Simionato]
+ * The event based calculators in the engine are now officially deprecated
+ and they raise a warning when used
+ * Optimization: we do not generate the full epsilon matrix if all
+ coefficients of variation are zero
+ * Fixed two subtle bugs in the management of the epsilons: it means that
+ all event based risk calculations with nonzero coefficients of variations
+ will produce slightly different numbers with respect to before
+ * Removed excessive checking on the exposure attributes 'deductible' and
+ 'insuredLimit' that made it impossible to run legitimate calculations
+ * Changed the meaning of 'average_loss' for the aggregated curves: now it
+ is the sum of the aggregated losses in the event loss table,
+ before it was extracted from the aggregated loss curve
+ * Changed the way the average losses (and insured average losses) are
+ computed by the event based risk calculator: now they are extracted
+ from the event loss table, before they were extracted from the loss curves
+ * Set to NULL the stddev_losses and stddev_insured_losses for the event based
+ risk calculator, since they were computed incorrectly
+ * Introduced a new experimental command
+ 'oq-engine --show-view CALCULATION_ID VIEW_NAME'; the only view available
+ for the moment is 'mean_avg_losses'
+ * Negative calculation IDs are interpreted in a Pythonic way, i.e. -1
+ means the last calculation, -2 the calculation before the last one, etc.
+ * If a site parameter is more distant than 5 kilometers from its closest
+ site, a warning is logged
+ * Changed the splitting of fault sources to reduce the number of generated
+ sources and avoid data transfer failures if rupture_mesh_spacing is too
+ small
+ * Changed the event loss table export: now the CSV file does not contain
+ the magnitude and the rows are ordered by rupture tag first and loss second
+ * Removed the calculator EventBasedBCR
+ * Longitude and latitude are now rounded to 5 digits
+ * Fixed a very subtle bug in the vulnerability functions, potentially
+ affecting calculations with nonzero coefficients of variation and nonzero
+ minIML; the numbers produced by the engine were incorrect; see
+ https://bugs.launchpad.net/oq-engine/+bug/1459926
+ * 'investigation_time' has been replaced by 'risk_investigation_time' in
+ risk configuration files
+ * Initial support for Django 1.7
+
+ [Daniele Viganò]
+ * Removed the bin/openquake wrapper: now only bin/oq-engine is
+ available
+
+ [Michele Simionato]
+ * Added parameter parallel_source_splitting in openquake.cfg
+
+ [Daniele Viganò]
+ * setup.py improvements
+ * Added MANIFEST.in
+ * celeryconfig.py moved from /usr/openquake/engine to
+ /usr/share/openquake/engine
+
+ [Matteo Nastasi]
+ * Packaging system improvement
+
+ -- Matteo Nastasi (GEM Foundation) Wed, 23 Sep 2015 15:48:01 +0200
+
+python-oq-engine (1.4.1-0~precise01) precise; urgency=low
+
+ [Michele Simionato]
+ * Added a new 'ebr' hazard/risk calculator
+ * Fixed the engine core export: now it can export datastore outputs as
+ zip files
+ * Now the parameter concurrent_tasks is read from the .ini file
+ * Parallelized the source splitting procedure
+ * Fixed a bug in the hazard calculators which were not using the parameter
+ concurrent_tasks from the configuration file
+
+ -- Matteo Nastasi (GEM Foundation) Fri, 15 May 2015 10:06:26 +0200
+
+python-oq-engine (1.4.0-2~precise01) precise; urgency=low
+
+ [Daniele Viganò]
+ * Fixed debian/control: add missing lsb-release to build deps
+
+ -- Matteo Nastasi (GEM Foundation) Fri, 08 May 2015 14:33:26 +0200
+
+python-oq-engine (1.4.0-1~precise01) precise; urgency=low
+
+ [Matteo Nastasi, Daniele Viganò]
+ * Fixed dependencies version management
+
+ -- Matteo Nastasi (GEM Foundation) Thu, 07 May 2015 14:14:09 +0200
+
+python-oq-engine (1.4.0-0~precise01) precise; urgency=low
+
+ [Matteo Nastasi, Daniele Viganò]
+ * Add binary package support for both Ubuntu 12.04 (Precise)
+ and Ubuntu 14.04 (Trusty)
+
+ [Michele Simionato]
+ * Removed the SiteModel table: now the association between the sites and the
+ site model is done by using hazardlib.geo.geodetic.min_distance
+
+ [Daniele Viganò]
+ * added authentication support to the 'engineweb' and the 'engineserver'
+
+ [Michele Simionato]
+ * the aggregate loss curves can be exported in CSV format
+
+ [Matteo Nastasi]
+ * added 'outtypes' attribute with list of possible output types for
+ each output item in outputs list API command
+ * added '/v1/calc//status' API command
+ * added 'engineweb' django application as local web client for oq-engine
+
+ [Michele Simionato]
+ * Renamed the maximum_distance parameter of the risk calculators to
+ asset_hazard_distance, to avoid confusion with the maximum_distance
+ parameter of the hazard calculators, which has a different meaning;
+ is it an error to set the maximum_distance in a job_risk.ini file
+ * Added to the API an URL /v1/calc/:calc_id/remove to hide jobs
+ * A new key is_running is added to the list of dictionaries returned by
+ the URL /v1/calc/list
+ * Replaced the mock tests for the engine server with real functional tests
+ * Added a resource /v1/calc/:calc_id/traceback to get the traceback of a
+ failed calculation
+ * Now the logs are stored also in the database, both for the controller node
+ and the worker nodes
+ * Bypassed Django when deleting calculations from the database: this avoids
+ running out of memory for large calculations
+ * Fixed an issue in the scenario calculator: the GMFs were not filtered
+ according to the distance to the rupture
+ * Now critical errors appear in the log file
+ * Added a --run command to run hazard and risk together
+ * Fixed bug in the event based calculator; in the case
+ number_of_logic_tree_samples > 0 it was generating incorrect hazard curves.
+ Also improved (a lot) the performance in this case.
+ * Fixed a tricky bug happening when some tectonic region type are filtered
+ away.
+ * The event based risk calculator now save only the non-zero losses in
+ the table event_loss_asset.
+ * Added a CSV exporter for the Stochastic Event Sets, for debugging purposes.
+ * The GMF CSV exporter now sorts the output by rupture tag.
+
+ [Matteo Nastasi]
+ * Each pull request must be accompanied by an update of the debian
+ changelog now.
+
+ -- Matteo Nastasi (GEM Foundation) Thu, 07 May 2015 11:33:24 +0200
+
+python-oq-engine (1.3.0-1) precise; urgency=low
+
+ [Matteo Nastasi]
+ * gunzip xml demos files after copied into /usr/openquake/engine directory
+
+ -- Matteo Nastasi (GEM Foundation) Thu, 26 Feb 2015 16:35:20 +0100
+
+python-oq-engine (1.3.0-0) precise; urgency=low
+
+ [Michele Simionato]
+ * Updated python-django dependency >= 1.6.1, (our repository already
+ includes a backported version for Ubuntu 'precise' 12.04); this change
+ makes unnecessary "standard_conforming_strings" postgresql configuration
+ variable setting
+ * The event based risk calculator is able to disaggregate the event loss
+ table per asset. To enable this feature, just list the assets you are
+ interested in in the job.ini file: "specific_assets = a1 a2 a3"
+ * We have a new hazard calculator, which can be invoked by setting in the
+ job.ini file: "calculation_mode = classical_tiling"
+ This calculators is the same as the classical calculator (i.e. you will
+ get the same numbers) but instead of considering all the hazard sites at
+ once, it splits them in tiles and compute the hazard curves for each tile
+ sequentially. The intended usage is for very large calculations that
+ exceed the available memory. It is especially convenient when you have
+ very large logic trees and you are interested only in the statistics (i.e.
+ mean curves and quantile curves). In that case you should use it with the
+ option individual_curves=false. Notice that this calculator is still in
+ an experimental stage and at the moment is does not support UHS curves.
+ Hazard maps and hazard curves are supported.
+ * We have a new risk calculator, which can be invoked by setting in the
+ job.ini file: "calculation_mode = classical_damage"
+ This calculator is able to compute the damage distribution for each asset
+ starting from the hazard curves produced by the classical
+ (or classical_tiling) calculator and a set of fragility functions. Also
+ this calculator should be considered in experimental stage.
+ * A significant change has been made when the parameter
+ number_of_logic_tree_samples is set to a non-zero value. Now, if a branch
+ of the source model logic tree is sampled twice we will generate the
+ ruptures twice; before the ruptures were generated once and counted twice.
+ For the classical calculator there is no effect on the numbers (sampling
+ the same branch twice will produce two copies of identical ruptures);
+ however, for the event based calculator, sampling the same branch twice
+ will produce different ruptures. For instance, in the case of a simple
+ source model with a single tectonic region type, before we would have
+ generated a single file with the stochastic event sets, now we generate
+ number_of_logic_tree_samples files with different stochastic event sets.
+ The previous behavior was an optimization-induced bug.
+ * Better validation of the input files (fragility models, job.ini)
+ * The ability to extract the sites from the site_model.xml file
+ * Several missing QA tests have been added
+ * The export mechanism has been enhanced and more outputs are being exported
+ in CSV format
+ * New parameter complex_fault_mesh_spacing
+ * Some error messages have been improved
+ * A lot of functionality has been ported from the engine to oq-lite,
+ i.e. a lite version of the engine that does not depend on
+ PostgreSQL/PostGIS/Django nor from RabbitMQ/Celery. This version is
+ much easier to install than the regular engine and it is meant for
+ small/medium computation that do not require a cluster. The engine
+ demos, have been moved to the oq-risklib repository, so that they can
+ be run via the oq-lite command without installing the full engine.
+ * Currently the following calculators have been ported (all are to be
+ intended as experimental): classical hazard, classical tiling, event
+ based hazard, scenario hazard, classical risk, scenario damage,
+ classical damage.
+
+ -- Matteo Nastasi (GEM Foundation) Thu, 26 Feb 2015 10:44:03 +0100
+
+python-oq-engine (1.2.2-0) precise; urgency=low
+
+ * consistency in version management between debian/ubuntu package and
+ library from git sources
+
+ -- Matteo Nastasi (GEM Foundation) Thu, 18 Dec 2014 16:25:05 +0100
+
+python-oq-engine (1.2.1-2) precise; urgency=low
+
+ * Fixed custom dependencies versions (again)
+
+ -- Matteo Nastasi (GEM Foundation) Tue, 16 Dec 2014 10:48:19 +0100
+
+python-oq-engine (1.2.1-1) precise; urgency=low
+
+ * Fixed custom dependencies versions
+
+ -- Matteo Nastasi (GEM Foundation) Tue, 16 Dec 2014 09:48:19 +0100
+
+python-oq-engine (1.2.1-0) precise; urgency=low
+
+ * Fixed the logging handler
+
+ -- Matteo Nastasi (GEM Foundation) Mon, 15 Dec 2014 10:17:30 +0100
+
+python-oq-engine (1.2.0-3) precise; urgency=low
+
+ * Add constraint on python-django dependency version
+
+ -- Matteo Nastasi (GEM Foundation) Thu, 11 Dec 2014 10:04:45 +0100
+
+python-oq-engine (1.2.0-2) precise; urgency=low
+
+ * More precise exception message
+
+ -- Matteo Nastasi (GEM Foundation) Wed, 10 Dec 2014 16:21:06 +0100
+
+python-oq-engine (1.2.0-1) precise; urgency=low
+
+ * Bugs fixed in 1.2 release: http://goo.gl/GjbF2r
+ * Replace a reference to the 'openquake' command with 'oq-engine'
+ * Moved the expected outputs of the ScenarioDamage QA tests in qa_tests_data
+ * Moved the logic tree realizations into commonlib
+ * It is now possible to compute the uniform spectra even when
+ individual_curves is false
+ * Reduced the precision when exporting GMFs to XML
+ * Fixed test_job_from_file
+ * Delayed the OqParam validation
+ * Simplified the monitoring
+ * Extract the QA tests data from the engine
+ * Renamed commonlib.general -> baselib.general
+ * Removed the dependency from oq-commonlib
+ * Avoid warning no XML exporter for event_loss
+ * Update packager and postinst to use the openquake2 db (new default one)
+ * Use shallow-clone to improve CI builds speed
+ * Download calculation results as files
+ * Added an API to retrieve the engine version
+ * Unified the export framework for hazard and risk
+ * Fast export of the GMFs
+ * Fast scenario export
+ * Fixed test_is_readable_all_files_lack_permissions when run as root
+ * Now 'test_script_lower_than_current_version' does not require an Internet
+ connection
+ * Warn the user if she asks for statistical outputs but using a single hazard
+ output
+ * Move the calculation of input/output weights into commonlib
+ * Changed the export_dir in several tests
+ * Now the packagers makes a HTML report with the performances of the demos
+ * Remove hardcoded references to openquake2 in oq_create_db
+ * Move JobStats creation inside job_from_file
+ * Fixed precision
+ * Align openquake_worker.cfg with openquake.cfg
+ * Implement memory hard limit control
+ * Using commonlib.readinput.get_source_models
+ * Check that the hazard calculation mode is consistent with risk calculation
+ mode
+ * Rollback only if a transaction is on
+ * Fixed a bug in export_risk
+ * Daily html report
+ * Reflected the API change in commonlib.readinput.get_oqparam
+ * Updated the engine to cope with the changes in risklib and commonlib
+ * Fixed the name of the SES file
+ * Changed some hard-coded weights in general.py
+ * Changed the import of the calc module
+ * Drop risk calculation table
+ * Simplified the risk calculators
+ * Reflected the API change in hazardlib.calc.gmf.GmfComputer
+ * Added a test for duplicated tags in import_gmf_scenario.py
+ * Implemented losses per event per asset
+ * Dependency check
+ * Removed more risk unit tests
+ * Removed another couple of redundant tests
+ * Remove check on setup.py version since now it's taken from init
+ * Fixed _calc_to_response_data
+ * Fixed bug when running risk calculations from the platform
+ * openquake wrapper script
+ * Changed version number in setup.py too
+ * Updated version to 1.2
+ * Renamed nrml_version->commonlib_version
+ * Fixed a bug in the engine server (wrong calculation_id)
+ * Fix oq-engine command name in output list
+ * Removed the dependency from nrmllib
+ * Fixed two merge errors
+ * Important fixes pre-2.0 copied from the better-risk branch
+ * Renamed the command openquake->oq-engine
+ * Change ses collection
+ * Fixed the migration script 0007
+ * Fixed a bug with the quantile_hazard_curves attribute
+ * Removed EventBasedHazardCalculatorTestCase
+ * Remove the hazard_calculation table
+ * correct complex source for wrong order in edges points
+ * missing file open fixed
+ * Removed routing tests
+ * Added the script correct_complex_sources
+ * Complex surf validation
+ * Insert the IMT in the db, if not already there
+ * The intensity measure types are now sorted also in the scenario calculator
+ * Simplified the QA test scenario_damage/case_4
+ * Enable 'set -x' when $GEM_SET_DEBUG is true
+ * Remove a try finally in engine server task.py
+ * Simplification because now the maximum_distance is mandatory
+ * Fixed a wrong source model used in the Event Based export test
+ * Fixed the what_if_I_upgrade check
+ * Added a table imt_taxonomy
+ * Fixed the management of missing db upgrades
+ * Now the engine is using the new validation mechanism for the hazard sources
+ * Fixed the name of a field (risk_job_id->job_id)
+ * Special case when the hazard is known at the exact sites of the assets
+ * Moved the epsilons from the getters to the database
+ * Update the database name in openquake_worker.cfg
+ * Removed the old validation mechanism
+ * The parameter concurrent_tasks must be available to the workers too
+ * Solved the problem with UHS
+ * Fixed master https://ci.openquake.org/job/master_oq-engine/1208
+ * If individual_curves is set, multi-imt curves must not be generated
+ * --what-if-I-upgrade functionality
+ * Stats only
+ * Short output summary
+ * Removed task_no
+ * Hazard curves from gmfs
+ * Fixed a critical bug with --hazard-output-id
+ * Fix the test check_limits_event_based
+ * Changed the output_weight for the event based calculator
+ * Introduced --hazard-job-id and made it possible to reuse exposures imported
+ in the hazard part of the computation
+ * Replaced the ScenarioGetter with the GroundMotionFieldGetter
+ * Return loss matrix
+ * Removed --schema-path from oq_create_db
+ * Calculation limits
+ * Fixed a bug on tablespace permissions
+ * Make the event based calculator more debuggable
+ * Added the column uniq_ruptures to the table source_info
+ * Db migrations
+ * Db migrations 2
+ * Saved more sources in source_info
+ * Perform means and quantiles in memory
+ * Parallel filtering
+ * Reintroduce the 'terminate_job_when_celery_is_down' config option
+ * Fix risk disaggregation
+ * Ordering the sources after filtering-splitting
+ * Source ordering
+ * Gmf from ruptures
+ * Fixed a stupid bug with OQ_TERMINATE_JOB_WHEN_CELERY_IS_DOWN
+ * Introduced a variable OQ_TERMINATE_JOB_WHEN_CELERY_IS_DOWN
+ * The random seeds have now a default value of 42
+ * Added a check for invalid quantile computations
+ * Now hazard calculations can be deleted safely
+ * Add a file openquake_worker.cfg to be read in the workers
+ * Simplified the LOG_FORMAT by removing the name
+ * Avoid an ugly error when no tasks are spawned
+ * Added a view on the event loss table for convenience of analysis
+ * Epsilon sampling feature
+ * Distribute-by-rupture phase 2
+ * Restored distribution-by-rupture in the event based calculator
+ * Provide a good error message when a source model contains GSIMs not in the
+ file gsim_logic_tree
+ * Moved parse_config from the engine to commonlib
+ * Added a test checking the existence of the __init__.py files and fixed the
+ QA test classical/case_15
+ * Refactored initialize_realizations and added a warning when
+ num_samples > num_realizations
+ * Fixed a missing import
+ * Saving the rupture hypocenter fully into the database
+ * Removed an offending ALTER OWNER
+ * Source info table
+ * Added a test for sampling a large source model logic tree
+ * Hazard curves from gmfs
+ * Removed num_sites and num_sources from job_stats
+ * Removed redundant tests
+ * Retrieved the correct output directly, not via an order by
+ * Making use of commonlib.parallel in the engine
+ * Enhanced qatest_1, so that it subsumes regression_1 and regression_2
+ * Taking advantage of the new riskloaders in commonlib
+ * Added a missing integer cast
+ * Changed disagg/case_1 to use full enumeration
+ * Fixed the ordering of the ruptures in the event based calculator
+ * Fixed a bug in the GroundMotionValuesGetter
+ * Reflected the API change in refactor-risk-model
+ * Sent the tectonic region types with less sources first, and fixed
+ an ordering bug in a QA test
+ * Turn AMQPChannelExceptions into warnings
+ * Hide the SES output from a scenario calculator
+ * Add a debug flag to enable set -x in packager.sh
+ * Better task spawning
+ * Reflected the changes to the GmfComputer in hazardlib
+ * Fixed the bug in the risk event based calculator with multiple realizations
+ * Fix gmf duplication
+ * Removed the need for logictree.enumerate_paths
+ * Fixed a small bug
+ * Removed a commonlib dependency breaking the oqcreate script
+ * Now the indices of the filtered sites are stored in the
+ ProbabilisticRupture table
+ * Fixed another import
+ * Fixed a wrong import
+ * Moved logictree to commonlib and fixed all the tests
+ * Removed the obsolete table hzrdr.ses and small refactoring
+ * Tasks with fewer assets are submitted first
+ * Better parallelization of the risk calculators
+ * Reducing the celery timeout from 30s to 3s
+ * Fixed a tricky bug in the scenario calculator with duplicate imts
+ * Fixed the ScenarioExportTestCase by changing the position of the points
+ * The scenario calculator is now block-size independent
+ * Use only the relevant tectonic region types to build the GMPE logic tree
+ * Fixed a broadcasting in the classical calculator
+ * Saving memory on the controller node
+ * Restored the source model sampling feature
+ * Complex logic tree test
+ * Solved the block size dependence in the risk calculators
+ * Fixed a critical ordering bug
+ * Changed the _do_run_calc signature
+ * Avoid returning duplicated data in the classical calculator
+ * Changed the order of the statements in 01-remove-cnode_stats.sql
+ * Added a cache on the GSIMs for the probabilities of no exceedence in the
+ classical calculator
+ * Fix the export of GmfSets in the case of multiple source models
+ * Fixed underflow error in postgres
+ * Fixed a bug with celery ping
+ * Avoid errors on signals when the engine is run through the server
+ * Errors in a task are converted into a RuntimeError
+ * Remove calculation unit
+ * The IML must be extrapolated to zero for large poes
+ * Log a warning when more than 80% of the memory is used
+ * Refactored the hazard getters
+ * Removed the SES table
+ * Added a nice error message for far away sources
+ * Add support in the engine for a local_settings.py
+ * Send the site collection via rabbitmq, not via the database
+ * Improvements to the CeleryNodeMonitor
+ * Minimal tweaks to the risk calculators
+ * Save the number of sites in JobStats as soon as it is available
+ * Fix branch var to be compliant within the new CI git plugin
+ * Restored the lost fine monitoring on the hazard getters
+ * Cluster monitor
+ * Celery check
+ * Removed the obsolete table uiapi.cnode_stats
+ * Make use of the light site collection introduced in hazardlib
+ * Optimize the disaggregation calculator
+ * Fix a memory leak of celery
+ * Remove python-gdal and fix issue with postinst
+ * Manual pickling/unpickling
+ * Updates Copyright to 2014
+ * The rupture tag must be unique
+ * Turn SIGTERM into SIGINT
+ * Remove another engine-server test script from pylint
+ * Removed the dependency on the current working directory from
+ utils_config_test
+ * Replace README.txt with README.md in the packager script
+ * Increase the tolerance in the disaggregation test
+ * Readme merge
+ * Avoid storing copies of the ruptures
+ * Untrapped exceptions in oqtask give ugly error messages
+ * Support for posting zipfiles to the engine-server
+ * Using iter_native in celery
+ * Added test for the loss_fraction exporter
+ * Fixed a missing loss_type in export_loss_fraction_xml
+ * Merging the engine server inside the engine repository
+ * Removing ruptures phase 2
+ * Restored qatest 1
+ * Added tests for failing computations
+ * Removed the progress handler from the engine
+ * Better error and logging management
+ * Exclude tests folder from pylint check
+ * Fixing the build master_oq-engine #790
+ * Ruptures are not read from the database anymore, only written
+ * In development mode celery is automatically started/stopped together with
+ the engine server
+ * Remove common directory from risk demos
+ * Remove duplication hazard risk
+ * Removing the duplication run_hazard/run_risk in engine.py
+ * Renamed directories and packages to be consistent with GEM conventions
+ * Fixed test_initialize_sources
+ * Getting a more uniform distribution of the tasks
+ * Remove celery
+ * Remove time_span from disaggregation calculator
+ * Return the traceback from celery to the controller node
+ * If there are no GMVs within the maximum distance for the given assets, the
+ computation should not fail with an ugly error but print a warning
+ * Better error management
+ * Fixed a stupid error in compute_hazard_curves
+ * Support for non-parametric sources
+ * Fixed the issue of slow sources
+ * Fixed the two upgrade scripts breaking the migration from 1.0 to 1.1
+ * Add --export-hazard-outputs and --export-risk-outputs switches; also add
+ geojson export for hazard curves
+ * Light monitor
+ * Set CELERY_MAX_CACHED_RESULTS = 1
+ * Changed from relative path to full path
+ * Fix the feature "import gmf scenario data from file"
+ * version: remove warning for pkg install + git program installed case
+ * Remove block_size and point_source_block_size
+ * Move the unit tests inside the openquake.engine directory
+ * Version visualization improvement
+ * Added missing CASCADE on a DB migration script
+ * Raised the tolerance in ClassicalHazardCase13TestCase
+ * In the event based calculator split by ruptures, not by SES
+ * BROKER_POOL_LIMIT is causing problem so set it to none
+ * Split area sources
+ * Force BROKER_POOL_LIMIT to 10
+ * Fixed an upgrade script
+ * Prefiltering sources in all calculators
+ * Savaged the easy part of the work on the decouple-logic-trees branch
+ * Changed the way hazard map are interpolated
+ * Fixed a bug with static urls
+ * Remove database related code
+ * Removed hazard curve progress
+ * Improved the IMT management in the engine by leveraging the new
+ functionality in hazardlib
+ * Configuration file for storing oq-platform connection parameters
+ * Add loss type to risk outputs
+ * Remove parsed source
+ * Fix remove demos symlinks
+ * gmf.lt_realization_id can be NULL
+ * Fixed the _prep_geometry feature of Risk and Hazard calculations
+ * Remove a reference to the removed view hzrdr.gmf_family
+ * Engine-Server: support for multiple platform installations
+ * Removed the complete_logic_tree flags
+ * Fixed setup.py
+ * Removed the SourceProgress table
+ * New risk demos
+ * Run a risk calculation
+ * Remove validation on site models
+ * Removed the rest of the stuff related to the supervisor
+ * Removed the supervisor, redis, kombu and related stuff
+ * Removed a wrong import
+ * An import ordering issue is breaking Jenkins
+ * Various small fixes for oq_create_db script
+ * Do not register a progress handler if it is not passed
+ * Engine Unit test fix
+ * Geonode integration
+ * Progress Bar support
+ * Finally fixed the dependency from the blocksize in the event based
+ calculator
+ * A simple fix for engine_test.py
+ * Replace numpy arrays with postgres array fields in output tables
+ * Dump and restore Stochastic Event Set
+ * Removed the old distribution and used parallelize as default distribution
+ mechanism everywhere
+ * Change the distribution in the risk calculators
+ * Save in job_stats how much the database increased during the current
+ computation
+ * Removed calc_num task properly
+ * Change dist classical
+ * Improve the table job_stats
+ * Now the CacheImporter infers the fields from the database, in the right
+ order
+ * Removed parsed_rupture_model from the db
+ * The revoke command should not terminate the workers
+ * Remove JobCompletedError
+ * Override hazard investigation time in risk event based calculator
+ * Companion of https://github.com/gem/oq-engine/pull/1298/
+ * Companion of https://github.com/gem/oq-nrmllib/pull/116
+ * Simplify schema
+ * Filter the sources before storing them in the database
+ * Improve the parallelize distribution
+ * Fix disaggregation
+ * Changed the distance in hazardlib
+ * Improve memory consumption in the GMF calculation
+ * The file with the exported disagg matrix must contain the poe in the name
+ * The multiple sites QA test (classical/case_13) broke
+ * Solve the dependency from the parameter concurrent_tasks
+ * QA test for multiple sites
+ * Cross domain ajax fix for view methods [r=matley] [f=*1234765]
+ * Tweaks to make platform calcs work [r=matley] [f=*1234765]
+ * Create job and calculation objects in a transaction
+ * Make test fixtures optional
+ * Get the list of the available magnitude scaling relationships at runtime
+ * Save memory when exporting the GMF
+ * Fixed a typo in an ordering query
+ * Insured loss curves statistics
+ * When exporting the GMF, we need to export the rupture tags, not the ids
+ * Hazard Curve Parser import update [r=micheles] [f=*trivial]
+ * To save space in the db and to avoid running into the text field size
+ limit, change model_content.raw_content to store gzipped content
+ * Add a tag to the ruptures
+ * Change the dump/restore procedures to work with directories, not tarfiles
+ * Fix risk QA tests fixtures
+ * Documentation for the REST API
+ * Fix hazard_curve_multi export path
+ * Revise insured losses algorithm
+ * Post-calculation migration
+ * Correction of baseline DB revision
+ * Review Risk demos
+ * A couple of fixes to scenario tests
+ * Compute standard deviation of losses
+ * Validate time_event
+ * Add 404 responses in the case of non-existent artifacts
+ * Run calcs, part 2
+ * Minor loss map export fix
+ * Fix for installing source code via pip/git
+ * Remove cache from HazardCurveGetterPerAsset
+ * Changed an import from nrmllib
+ * Pyflakes fixes to the calculators and engine module
+ * Reading logic trees from DB - follow up (fix for a careless refactoring
+ error)
+ * Raise an error when no gmvs are available in a scenario computation
+ * Small fix in dump_hazards.py: the filenames list contained duplicates
+ * Add 'engine' functionality to disable the job supervisor
+ * Read logic trees from DB (instead of the filesystem)
+ * Extend forms.CharField to allow null values
+ * Small fixes to the script restore_hazards.py
+ * Update test fixtures used for risk scenario calculations
+ * Trivial: Some small tweaks/cleanups
+ * File parsing fix
+ * Risk BaseCalculator refactoring
+ * Run calculations via REST API (initial sketch)
+ * Better input loading (update to 'engine' API)
+ * Update Risk Event Based QA test
+ * Fixed a very subtle bug with the ordering of sites
+ * Added index to hzrdi.hazard_site
+ * Updated tests to the new interface
+ of 'openquake.engine.db.models.SiteCollection'
+ * Compute ground motion values from Stochastic Event Set
+ in a risk calculation
+ * "List calc results" views
+ * Misc. engine fixes to stabilize the build
+ * Record all OQ software versions in oq_job
+ * Export to path or file (not just path)
+ * Minor fix to risk QA test collection
+ * Engine API improvements
+ * Hazard map GeoJSON export
+ * Refactoring: moved risk calculation logic to risklib
+ * GeoJSON loss map support
+ * GeoJSON export prep
+ * Include API version in URLs
+ * 'calc info' views
+ * Rough sketch of the 'list calculations' views
+ * Export loss_fraction quantile fix
+ * Fix 'hazard_curve_multi' export
+ * Fix Risk QA test collection (nosetests)
+ * Remove site_collection column from the database
+ * Pack and risk demos LP: #1197737
+ * Added more monitoring to the hazard calculators
+
+ -- Matteo Nastasi (GEM Foundation) Wed, 10 Dec 2014 11:17:03 +0100
+
+python-oq-engine (1.0.0-1) precise; urgency=low
+
+ * 'occupants' is now a float
+ * Hazard curve import tool: updated NRML hazard curve parser
+ * Made sure that the task_ids are stored in the performance table soon enough
+ (LP: #1180271)
+ * Added fixtures for risk tests
+ * Some support to compute avg and std for the GMFs (LP: #1192413)
+ * Renamed the GMF tables (LP: #1192512)
+ * Kill running celery tasks on job failure (LP: #1180271)
+ * Removed 'patches' folder
+ * Event loss csv: fix delimiting character (LP: #1192179)
+ * Fixed restore_hazards_test.py (LP: #1189772)
+ * Fix restore hazards (LP: #1189772)
+ * Fix risk/classical/case_3 (LP: #1190569)
+ * Fix get_asset_chunk unit test
+ * Added dumping of ses_collection/ses/ses_rupture (LP: #1189750)
+ * Fixed the issue with sequences in restore_hazards.py (LP: #1189772)
+ * Risk Probabilistic Event Based Calculator - QA Test
+ * Fix the GMF export and tables (LP: #1169078,#1187413)
+ * Some work to fix qa_tests/risk/event_based_bcr (LP: #1188497)
+ * Run risk demos to test the package (LP: #1188117)
+ * Update risk demos
+ * renamed units -> number_of_units. Support for asset_category == "population"
+ (LP: #1188104)
+ * Fixed the z1pt0<->z2pt5 inversion problem (LP: #1186490)
+ * Removed the special case for gmf_scenario
+ * Exposure DB schema update (LP: #1185488)
+ * Fix the site_data table to store one site per row; change gmf_agg to point
+ to site_data (LP: #1184603)
+ * Fix export of Benefit Cost Ratio calculator outputs. (LP: #1181182)
+ * Inserted the GMFs with the CacheInserter instead of the BulkInserter
+ (LP: #1184624)
+ * Added better instrumentation to the hazard getters
+ * Make the engine smart enough to infer the right block size (LP: #1183329)
+ * New risk demos (LP: #1180698,#1181182)
+ * Time event validation fix (LP: #1181235)
+ * Unicode list cast fix
+ * Implement distribution by SES in the event based hazard calculator
+ (LP: #1040141)
+ * Remove gmf scenario (LP: #1170628)
+ * Purge gmf table (LP: #1170632)
+ * Parallelize the queries of kind "insert into gmf agg" by using the standard
+ mechanism (LP: #1178054)
+ * Skipped hazard/event_based/case_4/test.py (LP: #1181908)
+ * Remove the dependency from the gmf/gmf_set tables in the XML export
+ procedure (LP: #1169078)
+ * Saved memory in the hazard getters by returning only the distinct GMFs
+ (LP: #1175941)
+ * Fixed the case of no gmfcollections and cleaned up the post processing
+ mechanism (LP: #1176887)
+ * Filter the ruptures according to the maximum_distance criterium
+ (LP: #1178571)
+ * New hazard demos (LP: #1168756)
+ * Parallelize insert into gmf_agg table (LP: #1178054)
+ * Removed some verbose logs in debug mode (LP: #1170938)
+ * lxc sandbox - improved CI with sandboxed source tests (LP: #1177319)
+ * Report "calculation", not the job (LP: #1178583)
+ * Fix performance_monitor_test.py on Mac OS X (LP: #1177403)
+ * Remove config.gem files from demos
+ * Vulnerability functions for contents, occupants and non-structural damage
+ (LP: #1174231)
+ * Improved the memory profiling (LP: #1175941)
+ * Cleanup of the hazard getters and small improvements to help the performance
+ analysis of risk calculators (LP: #1175941)
+ * Add a facility to import hazard_curves from XML files (LP: #1175452)
+ * Refactoring of risk calculators (LP: #1175702)
+ * Added references to RiskCalculation model
+ * --config-file option (LP: #1174316)
+ * Update calls to risklib to the latest interface (LP: #1174301)
+ * Event-Based Hazard: Better hazard curve / GMF validation (LP: #1167302)
+ * Improved hazard doc
+ * CONTRIBUTORS.txt
+ * DB cleanup
+ * --optimize-source-model pre-processing option (LP: #1096867)
+ * Relax validation rules on interest rate for benefit-cost ratio analysis
+ (LP: #1172324)
+ * Support non-unique taxonomy -> IMT association across different
+ vulnerability files (LP: #1171782)
+ * Point source block size (LP: #1096867)
+ * Use "hazard curve multi imt" also when all the realizations are considered
+ (LP: #1171389)
+ * Fix aggregate loss curve computation (LP: #1171361)
+ * Add instrumentation via the EnginePerformanceMonitor to all the calculators
+ (LP: #1171060)
+ * Replaced run_job_sp with run_hazard_job (LP: #1153512)
+ * Cleanup input reuse
+ * Simplify hazard getter query
+ * Add a forgotten constrain ON DELETE CASCADE on the table gmf_agg
+ (LP: #1170637)
+ * Mean loss curve computation updated (LP: #1168454,#1169886,#1170630)
+ * Changed the generation of hazard_curves to use the gmf_agg table
+ (LP: #1169703)
+ * Add geospatial index on gmf_agg
+ * Fix hazard map and UHS export filenames (include PoE) (LP: #1169988)
+ * Lower the parameter ses_per_logic_tree_path in the event_based QA tests to
+ make them much faster (LP: #1169883)
+ * Fix Event based mean loss curve computation (LP: #1168454)
+ * An attempt to solve the memory occupation issue for the event_based risk
+ calculator (LP: #1169577)
+ * Update event based mean/quantile loss curve computation (LP: #1168454)
+ * Fix disagg export file name (LP: #1163276)
+ * Include 'investigation_time' in exported UHS XML (LP: #1169106)
+ * Raise warnings when invalid/unknown/unnecessary params are specified
+ (LP: #1164324)
+ * Fix characteristic fault rupture serialization (LP: #1169069)
+ * Fixed a bug in event_based/core_test.py due to the version of mock used
+ (LP: #1167310)
+ * Make sure the generated XML are valid according to NRML (LP: #1169106)
+ * Fix the tests of the event_based depending on random number details
+ (LP: #1167310)
+ * Scenario risk is using "default" connection on a cluster (LP: #1167969)
+ * Add a mechanism to populate the db from CSV files, without the need to run
+ a fake calculation (LP: #1167310,#1167693)
+ * Source model NRML to hazardlib conversion now throws useful error messages
+ (LP: #1154512)
+ * Organization of hazard exports (LP: #1163276)
+ * Some trivial optimizations in Risk Event Based calculator
+ * Do not use 'default' user on raw cursors. (LP: #1167776)
+ * Removed a bunch of old test fixtures
+ * release updated
+ * hazard curves in multiple imts (LP: #1160427)
+ * Critical fix to disaggregation interpolation (LP: #1167245)
+ * Fix setup.py version number
+ * Fix char source logic tree validation (LP: #1166756)
+ * Update version to 1.0
+ * Reflect latest interface changes in risklib (LP: #1166252)
+ * Event base performance (LP: #1168233)
+ * Fix a "reproducibility" issue when getting hazard sites from exposure
+ (LP: #1163818)
+ * Disaggregation in event based risk calculator (LP: #1160993)
+ * Read 'sites' from 'sites_csv' (LP: #1097618)
+ * add debconf tool to manage postgresql.conf file modification
+ * Issue 1160993 (LP: #1160993,#1160845)
+ * Importing GMF from XML: step 2 (LP: #1160398)
+ * Disaggregation of losses by taxonomy (LP: #1160845)
+ * Vulnerability model validation (LP: #1157072)
+ * Big docs cleanup
+ * Mean and quantile Loss map support (LP: #1159865)
+ * Event-Based Hazard: Save multi-surface ruptures (LP: #1144225)
+ * Fix loss curve export (LP: #1157072)
+ * Fix an incorrect parameter in event-based hazard QA tests, cases 2 and 4
+ * end-to-end qa tests for Scenario Risk and Scenario Damage
+ * Trivial fix for setup.py
+ * New E2E regression tests
+ * Updated QA tests due to change in risklib
+ * Engine cleanup
+ * Characteristic source logic tree support (LP: #1144225)
+ * Added a script to dump the hazard outputs needed for the risk (LP: #1156998)
+ * Remove complete logic tree flags when redundant (LP: #1155904)
+ * Do not read risk inputs from fylesystem but from ModelContent
+ * Remove --force-inputs feature (LP: #1154552)
+ * UHS Export (LP: #1082312)
+ * UHS post-processing (LP: #1082312)
+ * Fragility model using structure dependent IMT (LP: #1154549)
+ * Correct bin/openquake help string for --log-level
+ * Hazard post-processing code cleanup (LP: #1082312)
+ * Allow Event-Based hazard post-processing to run without celery
+ * More event-based hazard QA tests (LP: #1088864)
+ * Real errors are masked in the qa_test since the real computation runs in a
+ subprocess (LP: #1153512)
+ * Minor simplification of the hazard_getter query
+ * Correlation model qa tests (LP: #1097646)
+ * Vulnerability model using structure dependent intensity measure types
+ (LP: #1149270)
+ * Fix a broken scenario hazard export test
+ * Support for Characteristic Fault Sources (LP: #1144225)
+ * Added a missing KILOMETERS_TO_METERS conversion in the hazard_getters
+ * Average Losses (LP: #1152237)
+ * Improved the error message for unavailable gsims
+ * Companion changes to https://github.com/gem/oq-risklib/pull/38
+ * Fix 1144741 (LP: #1144741)
+ * Fix 1144388 (LP: #1144388)
+ * Fixed ordering bug in the XML export of gmf_scenario (LP: #1152172)
+ * Don't save hazard curves to the DB which are all zeros (LP: #1096926)
+ * Add hazard nose attribute to the hazard QA test
+ * Avoid fully qualified name in the XML tag (LP: #1116398)
+ * Fix Scenario Risk calculator
+ * New CLI functionality: delete old calculations (LP: #1117052)
+ * DB security cleanup (LP: #1117052)
+ * Event-Based Hazard Spatial Correlation QA tests (LP: #1099467)
+ * Correct OQ engine version in db script
+ * Preloaded exposure (LP: #1132902)
+ * 1132708 and 1132731 (LP: #1132731)
+ * Stabilize classical hazard QA test case 11
+ * DB schema bootstrap script now runs silently by default
+ * Fix aggregate loss export test
+ * Fix a broken disagg/core test
+ * Easy hazard getters optimization (LP: #1132708)
+ * Fix progress risk
+ * Event loss tables (LP: #1132699)
+ * Fix the memory occupation issue for the scenario_risk calculator
+ (LP: #1132018,#1132017)
+ * Performance monitor to measure times and memory occupation of bottleneck
+ code (LP: #1132017)
+ * Scenario insured losses
+ * Version fix (already present fix in master, add a test to verify it)
+ * Classical Hazard QA test, SA IMT case (LP: #1073591)
+ * Optimize hazard curve insertion (LP: #1100332)
+ * updates due to the latest risklib api changes
+ * Fixed the bug introduced by change the location field from Geometry to
+ Geography
+ * "openquake --version broked" fix
+ * Fixed bug in the distribution of the realizations logic
+ * Simplified the hazard getters so that they are pickleable without effort
+ * Update to disaggregation equation (LP: #1116262)
+ * Scenario Aggregated Loss
+ * Risk maximum distance (LP: #1095582)
+ * Add timestamps to calculation summary output (LP: #1129271)
+ * More efficient hazard curve update transactions. (LP: #1121825)
+ * Scenario risk tests
+ * Added parameter taxonomies_from_fragility_model (LP: #1122817)
+ * Add a check for missing taxonomies in the scenario_damage calculator
+ (LP: #1122817)
+ * Add '_update_progress' for clearer profiling (LP: #1121825)
+ * Removed many global dictionaries and adopted a convention-over-configuration
+ approach
+ * Generation of ground motion fields only within a certain distance from the
+ rupture (LP: #1121940)
+ * Link between Rupture / Stochastic Event Set and Ground motion field outputs
+ (LP: #1119553)
+ * Fixed the qa_test for scenario_damage
+ * Fix HazardCalculation.get_imts()
+ * Donot save absolute losses (LP: #1096881)
+ * Scenario hazard: fix a reference to the site collection
+ * Fixes scenario hazard correlation
+ * Scenario risk
+ * Changed DmgState to have a foreign key to OqJob, not to Output; also removed
+ the CollapseMap special treatment (LP: #1100371)
+ * Drop upload table
+ * Remove several global dictionaries from the engine
+ * Mean and quantile Loss curve computation (LP: #1101270)
+ * Cache the SiteCollection to avoid redundant recreation (LP: #1096915)
+ * Scenario hazard correlation model (LP: #1097646)
+
+ -- Matteo Nastasi (GEM Foundation) Mon, 24 Jun 2013 17:39:07 +0200
+
+python-oq-engine (0.9.1-1) precise; urgency=low
+
+ * upstream release
+
+ -- Matteo Nastasi (GEM Foundation) Mon, 11 Feb 2013 11:00:54 +0100
+
+python-oq-engine (0.8.3-3) precise; urgency=low
+
+ * Add missing monitor.py source
+
+ -- Muharem Hrnjadovic Tue, 23 Oct 2012 10:16:18 +0200
+
+python-oq-engine (0.8.3-2) precise; urgency=low
+
+ * Use arch-independent JAVA_HOME env. variable values (LP: #1069804)
+
+ -- Muharem Hrnjadovic Mon, 22 Oct 2012 15:30:39 +0200
+
+python-oq-engine (0.8.3-1) precise; urgency=low
+
+ * upstream release
+
+ -- Muharem Hrnjadovic Fri, 19 Oct 2012 19:53:00 +0200
+
+python-oq-engine (0.8.2-5) precise; urgency=low
+
+ * Make sure the vs30_type param is capitalized (LP: #1050792)
+
+ -- Muharem Hrnjadovic Fri, 21 Sep 2012 12:01:34 +0200
+
+python-oq-engine (0.8.2-4) precise; urgency=low
+
+ * fix JAVA_HOME value so it works in ubuntu 12.04 LTS (LP: #1051941)
+
+ -- Muharem Hrnjadovic Mon, 17 Sep 2012 14:52:12 +0200
+
+python-oq-engine (0.8.2-3) precise; urgency=low
+
+ * Insured loss probabilistic event based calculator (LP: #1045318)
+
+ -- Muharem Hrnjadovic Wed, 05 Sep 2012 09:22:36 +0200
+
+python-oq-engine (0.8.2-2) precise; urgency=low
+
+ * remove namespace/module ambiguity
+
+ -- Muharem Hrnjadovic Tue, 04 Sep 2012 17:08:17 +0200
+
+python-oq-engine (0.8.2-1) precise; urgency=low
+
+ * Upstream release (LP: #1045214)
+
+ -- Muharem Hrnjadovic Tue, 04 Sep 2012 08:52:53 +0200
+
+python-oq-engine (0.8.1-5) precise; urgency=low
+
+ * rm threaded serialization patch (since it increases overall run time)
+
+ -- Muharem Hrnjadovic Wed, 25 Jul 2012 17:01:32 +0200
+
+python-oq-engine (0.8.1-4) precise; urgency=low
+
+ * Try threaded serialization in order to fix performance regression
+ (LP: #1027874)
+
+ -- Muharem Hrnjadovic Mon, 23 Jul 2012 13:21:32 +0200
+
+python-oq-engine (0.8.1-3) precise; urgency=low
+
+ * Fix import exception when DJANGO_SETTINGS_MODULE is not set (LP: #1027776)
+
+ -- Muharem Hrnjadovic Mon, 23 Jul 2012 09:08:01 +0200
+
+python-oq-engine (0.8.1-2) precise; urgency=low
+
+ * Fix for region discretization bug (LP: #1027041)
+
+ -- Muharem Hrnjadovic Sun, 22 Jul 2012 10:12:25 +0200
+
+python-oq-engine (0.8.1-1) precise; urgency=low
+
+ * new upstream release (LP: #1027030)
+
+ -- Muharem Hrnjadovic Fri, 20 Jul 2012 15:06:18 +0200
+
+python-oq-engine (0.7.0-4) precise; urgency=low
+
+ * fix typo in oq_restart script (LP: #994565)
+
+ -- Muharem Hrnjadovic Fri, 04 May 2012 15:01:54 +0200
+
+python-oq-engine (0.7.0-3) precise; urgency=low
+
+ * Correct the version displayed by OpenQuake (on demand).
+
+ -- Muharem Hrnjadovic Fri, 04 May 2012 08:20:18 +0200
+
+python-oq-engine (0.7.0-2) oneiric; urgency=low
+
+ * Fix bug in the classical PSHA calculator (LP: #984055)
+
+ -- Muharem Hrnjadovic Wed, 02 May 2012 22:00:59 +0200
+
+python-oq-engine (0.7.0-1) oneiric; urgency=low
+
+ * Upstream release, rev. 0.7.0
+
+ -- Muharem Hrnjadovic Wed, 02 May 2012 21:34:03 +0200
+
+python-oq-engine (0.6.1-9) oneiric; urgency=low
+
+ * Fix db router config for the oqmif schema (LP: #993256)
+
+ -- Muharem Hrnjadovic Wed, 02 May 2012 15:23:40 +0200
+
+python-oq-engine (0.6.1-8) oneiric; urgency=low
+
+ * Re-apply fix for ERROR: role "oq_ged4gem" does not exist (LP: #968056)
+
+ -- Muharem Hrnjadovic Wed, 02 May 2012 10:23:40 +0200
+
+python-oq-engine (0.6.1-7) oneiric; urgency=low
+
+ * delete obsolete .pyc files in /usr/openquake (LP: #984912)
+
+ -- Muharem Hrnjadovic Thu, 19 Apr 2012 10:28:45 +0200
+
+python-oq-engine (0.6.1-6) oneiric; urgency=low
+
+ * Remove spurious 'oqmif' db user from settings.py (LP: #980769)
+
+ -- Muharem Hrnjadovic Fri, 13 Apr 2012 14:35:54 +0200
+
+python-oq-engine (0.6.1-5) oneiric; urgency=low
+
+ * Pass the postgres port to the 'createlang' command as well.
+
+ -- Muharem Hrnjadovic Fri, 13 Apr 2012 10:37:26 +0200
+
+python-oq-engine (0.6.1-4) oneiric; urgency=low
+
+ * Fix psql invocation.
+
+ -- Muharem Hrnjadovic Fri, 13 Apr 2012 06:01:12 +0200
+
+python-oq-engine (0.6.1-3) oneiric; urgency=low
+
+ * Support machines with multiple postgres versions (LP: #979881)
+
+ -- Muharem Hrnjadovic Fri, 13 Apr 2012 05:49:41 +0200
+
+python-oq-engine (0.6.1-2) oneiric; urgency=low
+
+ * Fix oq_restart_workers script so it uses the correct db table (oq_job)
+
+ -- Muharem Hrnjadovic Wed, 04 Apr 2012 11:29:36 +0200
+
+python-oq-engine (0.6.1-1) oneiric; urgency=low
+
+ * OpenQuake 0.6.1 upstream release (LP: #971541)
+
+ -- Muharem Hrnjadovic Tue, 03 Apr 2012 08:52:39 +0200
+
+python-oq-engine (0.6.0-15) oneiric; urgency=low
+
+ * Support machines with multiple postgres versions (LP: #979881)
+
+ -- Muharem Hrnjadovic Thu, 12 Apr 2012 18:56:58 +0200
+
+python-oq-engine (0.6.0-14) oneiric; urgency=low
+
+ * Improved version string, post-installation actions
+
+ -- Muharem Hrnjadovic Fri, 30 Mar 2012 17:21:40 +0200
+
+python-oq-engine (0.6.0-13) oneiric; urgency=low
+
+ * proper fix for GMF serialization problem (LP: #969014)
+
+ -- Muharem Hrnjadovic Fri, 30 Mar 2012 15:14:41 +0200
+
+python-oq-engine (0.6.0-12) oneiric; urgency=low
+
+ * Fix GMF serialization in the hazard event based calculator (LP: #969014)
+
+ -- Muharem Hrnjadovic Fri, 30 Mar 2012 12:15:44 +0200
+
+python-oq-engine (0.6.0-11) oneiric; urgency=low
+
+ * Fix ERROR: role "oq_ged4gem" does not exist (LP: #968056)
+
+ -- Muharem Hrnjadovic Thu, 29 Mar 2012 10:44:23 +0200
+
+python-oq-engine (0.6.0-10) oneiric; urgency=low
+
+ * Fix BaseHazardCalculator, so self.calc gets initialized.
+
+ -- Muharem Hrnjadovic Fri, 23 Mar 2012 07:20:47 +0100
+
+python-oq-engine (0.6.0-9) oneiric; urgency=low
+
+ * Turn off accidental worker-side logic tree processing (LP: #962788)
+
+ -- Muharem Hrnjadovic Fri, 23 Mar 2012 06:27:36 +0100
+
+python-oq-engine (0.6.0-8) oneiric; urgency=low
+
+ * Package tested and ready for deployment.
+
+ -- Muharem Hrnjadovic Tue, 20 Mar 2012 15:54:31 +0100
+
+python-oq-engine (0.6.0-7) oneiric; urgency=low
+
+ * All demos pass, rebuild this package
+
+ -- Muharem Hrnjadovic Wed, 07 Mar 2012 18:12:26 +0100
+
+python-oq-engine (0.6.0-6) oneiric; urgency=low
+
+ * Another db user fix
+
+ -- Muharem Hrnjadovic Wed, 07 Mar 2012 17:18:31 +0100
+
+python-oq-engine (0.6.0-5) oneiric; urgency=low
+
+ * Fix database users
+
+ -- Muharem Hrnjadovic Wed, 07 Mar 2012 16:39:49 +0100
+
+python-oq-engine (0.6.0-4) oneiric; urgency=low
+
+ * Fix distro series
+
+ -- Muharem Hrnjadovic Wed, 07 Mar 2012 09:25:57 +0100
+
+python-oq-engine (0.6.0-3) precise; urgency=low
+
+ * Added license file
+
+ -- Muharem Hrnjadovic Wed, 07 Mar 2012 08:35:12 +0100
+
+python-oq-engine (0.6.0-2) oneiric; urgency=low
+
+ * added sample celeryconfig.py file
+
+ -- Muharem Hrnjadovic Mon, 05 Mar 2012 20:07:23 +0100
+
+python-oq-engine (0.6.0-1) oneiric; urgency=low
+
+ * OpenQuake rev. 0.6.0 upstream release (LP: #946879)
+ * add postgresql-plpython-9.1 dependency (LP: #929429)
+
+ -- Muharem Hrnjadovic Mon, 05 Mar 2012 11:05:22 +0100
+
+python-oq-engine (0.5.1-2) oneiric; urgency=low
+
+ * add postrm script (LP: #906613)
+
+ -- Muharem Hrnjadovic Thu, 02 Feb 2012 13:00:06 +0100
+
+python-oq-engine (0.5.1-1) oneiric; urgency=low
+
+ * 0.5.1 upstream release (LP: #925339)
+
+ -- Muharem Hrnjadovic Thu, 02 Feb 2012 10:11:58 +0100
+
+python-oq-engine (0.5.0-9) oneiric; urgency=low
+
+ * Fix error resulting from backporting code.
+
+ -- Muharem Hrnjadovic Wed, 25 Jan 2012 16:27:49 +0100
+
+python-oq-engine (0.5.0-8) oneiric; urgency=low
+
+ * Fix hazard map serialization failure (LP: #921604)
+
+ -- Muharem Hrnjadovic Wed, 25 Jan 2012 16:06:54 +0100
+
+python-oq-engine (0.5.0-7) oneiric; urgency=low
+
+ * Remove one last 'sudo' from db setup script
+
+ -- Muharem Hrnjadovic Wed, 25 Jan 2012 12:17:35 +0100
+
+python-oq-engine (0.5.0-6) oneiric; urgency=low
+
+ * NRML files are written only once (LP: #914614)
+ * optimize parallel results collection (LP: #914613)
+ * fix "current realization" progress counter value (LP: #914477)
+
+ -- Muharem Hrnjadovic Thu, 19 Jan 2012 15:16:51 +0100
+
+python-oq-engine (0.5.0-5) oneiric; urgency=low
+
+ * Revert to the usual database user names.
+
+ -- Muharem Hrnjadovic Tue, 10 Jan 2012 10:49:49 +0100
+
+python-oq-engine (0.5.0-4) oneiric; urgency=low
+
+ * Remove "sudo" from db setup script (LP: #914139)
+
+ -- Muharem Hrnjadovic Tue, 10 Jan 2012 08:18:14 +0100
+
+python-oq-engine (0.5.0-3) oneiric; urgency=low
+
+ * Fix demo files.
+
+ -- Muharem Hrnjadovic Mon, 09 Jan 2012 21:10:08 +0100
+
+python-oq-engine (0.5.0-2) oneiric; urgency=low
+
+ * Calculation and serialization are to be carried out in parallel
+ (LP: #910985)
+
+ -- Muharem Hrnjadovic Mon, 09 Jan 2012 15:53:05 +0100
+
+python-oq-engine (0.5.0-1) oneiric; urgency=low
+
+ * Prepare rel. 0.5.0 of python-oq-engine (LP: #913540)
+ * set JAVA_HOME for celeryd (LP: #911697)
+
+ -- Muharem Hrnjadovic Mon, 09 Jan 2012 07:15:31 +0100
+
+python-oq-engine (0.4.6-11) oneiric; urgency=low
+
+ * Facilitate java-side kvs connection caching
+ (LP: #894261, #907760, #907993).
+
+ -- Muharem Hrnjadovic Mon, 02 Jan 2012 13:42:42 +0100
+
+python-oq-engine (0.4.6-10) oneiric; urgency=low
+
+ * Only use one amqp log handler per celery worker (LP: #907360).
+
+ -- Muharem Hrnjadovic Mon, 02 Jan 2012 13:10:50 +0100
+
+python-oq-engine (0.4.6-9) oneiric; urgency=low
+
+ * add a debian/preinst script that makes sure we have no garbage
+ from previous package installation lying around (LP: #906613).
+
+ -- Muharem Hrnjadovic Tue, 20 Dec 2011 10:43:12 +0100
+
+python-oq-engine (0.4.6-8) oneiric; urgency=low
+
+ * Repackage 0.4.6-6 (no asynchronous classical PSHA code)
+ for oneiric (also fix the postgres-9.1 issues).
+
+ -- Muharem Hrnjadovic Fri, 16 Dec 2011 11:34:47 +0100
+
+python-oq-engine (0.4.6-6) oneiric; urgency=low
+
+ * Make sure /var/lib/openquake/disagg-results exists and has an
+ appropriate owner and permissions (LP: #904659)
+
+ -- Muharem Hrnjadovic Thu, 15 Dec 2011 12:26:28 +0100
+
+python-oq-engine (0.4.6-5) natty; urgency=low
+
+ * Make sure the demos that were broken in 0.4.6 are not installed
+ (LP: #901112)
+
+ -- Muharem Hrnjadovic Fri, 09 Dec 2011 16:40:50 +0100
+
+python-oq-engine (0.4.6-4) natty; urgency=low
+
+ * Tolerate the failure of chown and/or chmod on /var/lib/openquake
+ (LP: #902083)
+
+ -- Muharem Hrnjadovic Fri, 09 Dec 2011 10:38:46 +0100
+
+python-oq-engine (0.4.6-3) natty; urgency=low
+
+ * Remove UHS changes in order to fix python-java-bridge failures
+ (LP: #900617)
+
+ -- Muharem Hrnjadovic Fri, 09 Dec 2011 07:51:19 +0100
+
+python-oq-engine (0.4.6-2) oneiric; urgency=low
+
+ * Add missing dependency, python-h5py (LP: #900300)
+
+ -- Muharem Hrnjadovic Mon, 05 Dec 2011 15:09:37 +0100
+
+python-oq-engine (0.4.6-1) oneiric; urgency=low
+
+ * Upstream release (LP: #898634)
+ * Make postgres dependencies less version dependent (LP: #898622)
+
+ -- Muharem Hrnjadovic Mon, 05 Dec 2011 10:51:46 +0100
+
+python-oq-engine (0.4.4-19) oneiric; urgency=low
+
+ * Functions called from celery tasks should not make use of logic trees
+ (LP: #880743)
+
+ -- Muharem Hrnjadovic Mon, 24 Oct 2011 14:37:41 +0200
+
+python-oq-engine (0.4.4-18) oneiric; urgency=low
+
+ * Add python-setuptools as a python-oq-engine dependency (LP: #877915)
+
+ -- Muharem Hrnjadovic Sun, 23 Oct 2011 18:29:41 +0200
+
+python-oq-engine (0.4.4-17) oneiric; urgency=low
+
+ * Refresh the demos and make sure the newest ones are always installed
+ under /usr/openquake/demos
+
+ -- Muharem Hrnjadovic Sun, 23 Oct 2011 18:12:59 +0200
+
+python-oq-engine (0.4.4-16) oneiric; urgency=low
+
+ * Remove superfluous OPENQUAKE_ROOT import.
+
+ -- Muharem Hrnjadovic Sun, 23 Oct 2011 16:42:17 +0200
+
+python-oq-engine (0.4.4-15) oneiric; urgency=low
+
+ * Added the python code needed for the new logic tree implementation
+ (LP: #879451)
+
+ -- Muharem Hrnjadovic Sun, 23 Oct 2011 12:27:15 +0200
+
+python-oq-engine (0.4.4-14) oneiric; urgency=low
+
+ * leave exceptions raised by celery tasks alone (LP: #878736)
+
+ -- Muharem Hrnjadovic Thu, 20 Oct 2011 12:30:50 +0200
+
+python-oq-engine (0.4.4-13) oneiric; urgency=low
+
+ * Avoid failures while reraising exceptions (LP: #877992)
+
+ -- Muharem Hrnjadovic Wed, 19 Oct 2011 15:03:58 +0200
+
+python-oq-engine (0.4.4-12) natty; urgency=low
+
+ * Impose upper limit on JVM memory usage (LP: #821002)
+
+ -- Muharem Hrnjadovic Mon, 17 Oct 2011 17:35:40 +0200
+
+python-oq-engine (0.4.4-11) oneiric; urgency=low
+
+ * add python-oq-engine_0.4.4.orig.tar.gz to upload
+
+ -- Muharem Hrnjadovic Fri, 14 Oct 2011 11:57:11 +0200
+
+python-oq-engine (0.4.4-10) oneiric; urgency=low
+
+ * Ubuntu 11.10 upload.
+
+ -- Muharem Hrnjadovic Fri, 14 Oct 2011 11:37:17 +0200
+
+python-oq-engine (0.4.4-9) natty; urgency=low
+
+ * 'new_in_this_release' files apply to latest upgrade (LP: #873205)
+
+ -- Muharem Hrnjadovic Thu, 13 Oct 2011 10:36:04 +0200
+
+python-oq-engine (0.4.4-8) natty; urgency=low
+
+ * Make sure all demo files are unzipped (LP: #872816)
+
+ -- Muharem Hrnjadovic Thu, 13 Oct 2011 10:17:08 +0200
+
+python-oq-engine (0.4.4-7) natty; urgency=low
+
+ * More robust detection of the 'openquake' system group (LP #872814)
+
+ -- Muharem Hrnjadovic Wed, 12 Oct 2011 14:37:40 +0200
+
+python-oq-engine (0.4.4-6) natty; urgency=low
+
+ * make the demo files writable by owner *and* group.
+
+ -- Muharem Hrnjadovic Tue, 11 Oct 2011 16:09:51 +0200
+
+python-oq-engine (0.4.4-5) natty; urgency=low
+
+ * Remove unneeded database users (LP #872277)
+ * fix smoketests (add DEPTHTO1PT0KMPERSEC, VS30_TYPE parameter defaults)
+
+ -- Muharem Hrnjadovic Tue, 11 Oct 2011 15:48:20 +0200
+
+python-oq-engine (0.4.4-4) natty; urgency=low
+
+ * turn off -x flag in debian/postinst
+ * unzip the example files in /usr/openquake/demos
+
+ -- Muharem Hrnjadovic Tue, 11 Oct 2011 14:55:30 +0200
+
+python-oq-engine (0.4.4-3) natty; urgency=low
+
+ * fix lintian warning
+
+ -- Muharem Hrnjadovic Tue, 11 Oct 2011 14:26:25 +0200
+
+python-oq-engine (0.4.4-2) natty; urgency=low
+
+ * Use dh_installexamples to include the smoketests in the package.
+
+ -- Muharem Hrnjadovic Tue, 11 Oct 2011 12:23:06 +0200
+
+python-oq-engine (0.4.4-1) natty; urgency=low
+
+ * fix permissions for config files in /etc/openquake (LP #850766)
+ * be more intelligent about pg_hba.conf files (LP #848579)
+ * add smoke tests to the package (LP #810982)
+
+ -- Muharem Hrnjadovic Tue, 11 Oct 2011 11:47:30 +0200
+
+python-oq-engine (0.4.3-21) natty; urgency=low
+
+ * Remove unneeded dependency on fabric (LP: #852004)
+
+ -- Muharem Hrnjadovic Fri, 16 Sep 2011 20:47:49 +0000
+
+python-oq-engine (0.4.3-20) natty; urgency=low
+
+ * Shut down celery prior to restarting postgres and setting up the database
+ (LP: #846388)
+
+ -- Muharem Hrnjadovic Sat, 10 Sep 2011 19:47:56 +0200
+
+python-oq-engine (0.4.3-19) natty; urgency=low
+
+ * Close all db connections in order to prevent package upgrade failures
+ (LP: 846279)
+
+ -- Muharem Hrnjadovic Sat, 10 Sep 2011 09:37:34 +0200
+
+python-oq-engine (0.4.3-18) natty; urgency=low
+
+ * declare the "include_defaults" flag in the openquake script (LP: #845994)
+
+ -- Muharem Hrnjadovic Fri, 09 Sep 2011 22:38:40 +0200
+
+python-oq-engine (0.4.3-17) natty; urgency=low
+
+ * package the correct software revision (LP: #845583)
+
+ -- Muharem Hrnjadovic Fri, 09 Sep 2011 15:00:05 +0200
+
+python-oq-engine (0.4.3-16) natty; urgency=low
+
+ * Add all required db users to pg_hba.conf (LP: #845461)
+
+ -- Muharem Hrnjadovic Fri, 09 Sep 2011 11:25:41 +0200
+
+python-oq-engine (0.4.3-15) natty; urgency=low
+
+ * Remove obsolete dependency on python-geoalchemy (LP: #845439)
+
+ -- Muharem Hrnjadovic Fri, 09 Sep 2011 10:25:25 +0200
+
+python-oq-engine (0.4.3-14) natty; urgency=low
+
+ * turn off 'set -x' in debian/postinst
+
+ -- Muharem Hrnjadovic Fri, 09 Sep 2011 07:18:34 +0200
+
+python-oq-engine (0.4.3-13) natty; urgency=low
+
+ * Better detection of postgresql-8.4
+
+ -- Muharem Hrnjadovic Fri, 09 Sep 2011 07:16:11 +0200
+
+python-oq-engine (0.4.3-12) natty; urgency=low
+
+ * detect the absence of the rabbitmq and postgres services and refrain
+ from the corresponding initialization actions (LP: #845344)
+
+ -- Muharem Hrnjadovic Fri, 09 Sep 2011 06:47:32 +0200
+
+python-oq-engine (0.4.3-11) natty; urgency=low
+
+ * Fix logging sink configuration file and location.
+
+ -- Muharem Hrnjadovic Wed, 07 Sep 2011 14:31:51 +0200
+
+python-oq-engine (0.4.3-10) natty; urgency=low
+
+ * Fix database user/permissions for admin schema.
+
+ -- Muharem Hrnjadovic Wed, 07 Sep 2011 14:07:30 +0200
+
+python-oq-engine (0.4.3-9) natty; urgency=low
+
+ * turn off 'set -x' in debian/postinst
+
+ -- Muharem Hrnjadovic Tue, 06 Sep 2011 17:44:37 +0200
+
+python-oq-engine (0.4.3-8) natty; urgency=low
+
+ * Fixed database (user) setup and general breakage (LP: #842472)
+
+ -- Muharem Hrnjadovic Tue, 06 Sep 2011 17:42:51 +0200
+
+python-oq-engine (0.4.3-7) natty; urgency=low
+
+ * Fix database (user) setup (LP: #842472)
+ * Copy configuration file to /etc/openquake (LP: #842468)
+
+ -- Muharem Hrnjadovic Tue, 06 Sep 2011 15:34:17 +0200
+
+python-oq-engine (0.4.3-6) natty; urgency=low
+
+ * Delay the import of openquake.engine.job to allow the user to see the version
+ and/or help without errors (LP: #842604)
+
+ -- Muharem Hrnjadovic Tue, 06 Sep 2011 14:37:06 +0200
+
+python-oq-engine (0.4.3-5) natty; urgency=low
+
+ * Copy configuration file to /usr/openquake (LP: #842468)
+
+ -- Muharem Hrnjadovic Tue, 06 Sep 2011 11:45:55 +0200
+
+python-oq-engine (0.4.3-4) natty; urgency=low
+
+ * Fix 'Architecture' field in debian/control.
+
+ -- Muharem Hrnjadovic Mon, 05 Sep 2011 21:35:10 +0200
+
+python-oq-engine (0.4.3-3) natty; urgency=low
+
+ * Add Django as a dependency (LP: #830974)
+
+ -- Muharem Hrnjadovic Mon, 05 Sep 2011 21:33:01 +0200
+
+python-oq-engine (0.4.3-2) natty; urgency=low
+
+ * Make db error detection smarter (LP: #819710)
+
+ -- Muharem Hrnjadovic Mon, 05 Sep 2011 21:30:16 +0200
+
+python-oq-engine (0.4.3-1) natty; urgency=low
+
+ * Upstream release (LP: #839424)
+
+ -- Muharem Hrnjadovic Mon, 05 Sep 2011 18:13:42 +0200
+
+python-oq-engine (0.4.1-12) natty; urgency=low
+
+ * Better error detection for schema creation output (LP #819710)
+ * Remove unneeded python-guppy dependency (LP #826487)
+
+ -- Muharem Hrnjadovic Mon, 15 Aug 2011 03:16:43 +0200
+
+python-oq-engine (0.4.1-11) natty; urgency=low
+
+ * Add the cache garbage collector script (LP #817541)
+
+ -- Muharem Hrnjadovic Thu, 28 Jul 2011 16:56:33 +0200
+
+python-oq-engine (0.4.1-10) natty; urgency=low
+
+ * The name of the default db should be 'openquake'
+
+ -- Muharem Hrnjadovic Tue, 26 Jul 2011 15:47:18 +0200
+
+python-oq-engine (0.4.1-9) natty; urgency=low
+
+ * postgresql reload after pg_hba.conf modification was missing
+
+ -- Muharem Hrnjadovic Tue, 26 Jul 2011 15:28:52 +0200
+
+python-oq-engine (0.4.1-8) natty; urgency=low
+
+ * log4j.properties needs to live in the openquake source code tree
+ (LP #816397)
+
+ -- Muharem Hrnjadovic Tue, 26 Jul 2011 14:52:20 +0200
+
+python-oq-engine (0.4.1-7) natty; urgency=low
+
+ * Fix obsolete celeryconfig.py file.
+
+ -- Muharem Hrnjadovic Tue, 26 Jul 2011 14:24:25 +0200
+
+python-oq-engine (0.4.1-6) natty; urgency=low
+
+ * Move xml schemas to the openquake source code tree (LP #816375)
+
+ -- Muharem Hrnjadovic Tue, 26 Jul 2011 13:52:56 +0200
+
+python-oq-engine (0.4.1-5) natty; urgency=low
+
+ * Fix mistake in postinst (db init output in now redirected correctly)
+
+ -- Muharem Hrnjadovic Tue, 26 Jul 2011 12:16:20 +0200
+
+python-oq-engine (0.4.1-4) natty; urgency=low
+
+ * database initialisation is now checked for errors
+
+ -- Muharem Hrnjadovic Tue, 26 Jul 2011 11:25:18 +0200
+
+python-oq-engine (0.4.1-3) natty; urgency=low
+
+ * when invoked from postinst the sudo commands in the create_oq_schema
+ script break it (since the latter is run by the postgres user)
+
+ -- Muharem Hrnjadovic Tue, 26 Jul 2011 07:58:31 +0200
+
+python-oq-engine (0.4.1-2) natty; urgency=low
+
+ * get_uiapi_writer_session() has defaults (LP #815912)
+ * moved the db-rooted source code tree under openquake (LP #816232)
+
+ -- Muharem Hrnjadovic Tue, 26 Jul 2011 06:35:03 +0200
+
+python-oq-engine (0.4.1-1) natty; urgency=low
+
+ * OpenQuake 0.4.1 release
+ * add postgresql-8.4 as a recommended package (LP #810953)
+ * configure the OpenQuake database if postgres is installed (LP #810955)
+ * add dependencies (LP #813961)
+ * add the sticky bit to /usr/openquake (LP #810985)
+
+ -- Muharem Hrnjadovic Thu, 21 Jul 2011 11:48:36 +0200
+
+python-oq-engine (0.3.9-6) natty; urgency=low
+
+ * The rabbitmq-server and redis-server packages should be merely recommended
+ since we may want to install the openquake package on worker machines but
+ deploy the two daemons in question elsewhere.
+
+ -- Muharem Hrnjadovic Tue, 14 Jun 2011 20:12:50 +0200
+
+python-oq-engine (0.3.9-5) natty; urgency=low
+
+ * The number of celery tasks is based on the number of CPUs/cores
+ (when the HAZARD_TASKS parameter is not set).
+
+ -- Muharem Hrnjadovic Thu, 09 Jun 2011 15:15:54 +0200
+
+python-oq-engine (0.3.9-4) natty; urgency=low
+
+ * Create /usr/openquake in postinst
+
+ -- Muharem Hrnjadovic Tue, 07 Jun 2011 16:43:24 +0200
+
+python-oq-engine (0.3.9-3) natty; urgency=low
+
+ * Added java-oq dependency
+
+ -- Muharem Hrnjadovic Tue, 07 Jun 2011 14:58:44 +0200
+
+python-oq-engine (0.3.9-2) natty; urgency=low
+
+ * Added the python-geoalchemy dependency.
+
+ -- Muharem Hrnjadovic Tue, 07 Jun 2011 10:30:02 +0200
+
+python-oq-engine (0.3.9-1) natty; urgency=low
+
+ * Upstream OpenQuake python sources.
+
+ -- Muharem Hrnjadovic Mon, 06 Jun 2011 11:42:24 +0200
diff --git a/openquake/hazardlib/gsim/akkar_bommer_2010_swiss_coeffs.py b/openquake/hazardlib/gsim/akkar_bommer_2010_swiss_coeffs.py
index 4e6c653bed68..b10d4f023b7a 100644
--- a/openquake/hazardlib/gsim/akkar_bommer_2010_swiss_coeffs.py
+++ b/openquake/hazardlib/gsim/akkar_bommer_2010_swiss_coeffs.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
# vim: tabstop=4 shiftwidth=4 softtabstop=4
#
-# Copyright (C) 2012-2022 GEM Foundation
+# Copyright (C) 2012-2023 GEM Foundation
#
# OpenQuake is free software: you can redistribute it and/or modify it
# under the terms of the GNU Affero General Public License as published
From aabdf5efad437d5e249e0d0de4e3fecf479fdf54 Mon Sep 17 00:00:00 2001
From: TP <27099400+thpap@users.noreply.github.com>
Date: Thu, 29 Jun 2023 13:44:59 +0200
Subject: [PATCH 3/4] minor changes
---
openquake/hazardlib/gsim/mgmpe/modifiable_gmpe.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/openquake/hazardlib/gsim/mgmpe/modifiable_gmpe.py b/openquake/hazardlib/gsim/mgmpe/modifiable_gmpe.py
index 68fb5192b33e..800d4bb29273 100644
--- a/openquake/hazardlib/gsim/mgmpe/modifiable_gmpe.py
+++ b/openquake/hazardlib/gsim/mgmpe/modifiable_gmpe.py
@@ -90,11 +90,11 @@ def apply_swiss_amplification_sa(ctx, imt, me, si, ta, ph):
Adjust Swiss GMPEs to add amplification and correct intra-event residuals
"""
- if imt == from_string('SA(0.3)'):
+ if imt.period == 0.3:
phis2s = ctx.ch_phis2s03
phiss = ctx.ch_phiss03
me[:] += ctx.ch_ampl03
- elif imt == from_string('SA(0.6)'):
+ elif imt.period == 0.6:
phis2s = ctx.ch_phis2s06
phiss = ctx.ch_phiss06
me[:] += ctx.ch_ampl06
From a7e0a88f976ab942b6eae91af701f6ff28511980 Mon Sep 17 00:00:00 2001
From: Athanasios Papadopoulos
Date: Thu, 21 Sep 2023 14:52:47 +0200
Subject: [PATCH 4/4] Delete debian/changelog.bak
---
debian/changelog.bak | 5633 ------------------------------------------
1 file changed, 5633 deletions(-)
delete mode 100644 debian/changelog.bak
diff --git a/debian/changelog.bak b/debian/changelog.bak
deleted file mode 100644
index 785e78d7ef92..000000000000
--- a/debian/changelog.bak
+++ /dev/null
@@ -1,5633 +0,0 @@
- [Athanasios Papadopoulos]
- * Adjusted the Swiss-specific implementations of the GMPEs used
- in the Swiss national seismic hazard (SUIhaz15) and risk (ERM-CH23) models.
- The new implementation returns all of total, intra- and inter-event sigmas,
- rather than just the total one.
- * Extended the ModifiableGMPE class by adding an
- apply_swiss_amplification_sa method that is used in ERM-CH23 to
- apply site specific adjustments for site effects and intra-event
- uncertainty.
- * Added ch_ampl03, ch_ampl06, ch_phis2s03, ch_phis2s06,
- ch_phisss03, ch_phis2s06 site parameters to the site.py file.
- These parameters are required by the apply_swiss_amplification_sa method.
-
- [Michele Simionato]
- * Fixed another bug with conditioned GMFs appearing as the error
- `array[m, n, bad] = exp(mean_covs[0, g, m, n], im)
- TypeError: list indices must be integers or slices, not tuple`
-
- [Claudio Schill]
- * Fixed sorting bug in the sigma_mu adjustment factor in
- the Kuehn et al. (2020) GMM
-
- [Michele Simionato]
- * Fixed a subtle filtering bug in conditioned GMFs
- * Fixed shakemap calculations to take the risk IMTs and not the hazard IMTs
- * Extended shakemap2gmfs to amplify the GMFs based on user-provided vs30
- values
- * Removed sorting of the sections in the multiFaultSource reader to keep
- the rup_idxs consistent with the order in the files
- * GMFs too small to produce losses now give a warning rather than an error
- * Fixed bug in `get_ry0_distance` breaking conditioned GMFs
- * Made sure lon and lat are rounded to 5 digits in the site collection
-
- [Graeme Wheaterill]
- * Fixes to bchydro_2016_epistemic, eshm20_craton and lanzano_2019
-
- [Michele Simionato]
- * Extended sensitity analysis to file parameters
- * Introduced new loss type `residents`
-
- [Marco Pagani]
- * Fixed bug in get_profiles_from_simple_fault_data affecting KiteSurfaces
-
- [Michele Simionato]
- * Fixed the rupture exporter in presence of GMPETables
- * Optimized the postclassical phase
- * Fixed a serious issue in the classical calculator with tiles
- * Vectorized the association assets <-> hazard sites (up to 32x speedup)
- * Fixed bug in disaggregation calculations associated to an error
- in the line `[mag] = np.unique(np.round(ctx.mag, 6))`
- * Optimized the calculation of geohashes by using numba
-
- [Paolo Tormene]
- * Extended total_losses to include business_interruption
-
- [Michele Simionato]
- * Recognized `occupants_avg` field in the exposure
- * Optimized reading the exposure (both speed and memory)
- * Optimized the rupture sampling for MultiFaultSources and improved
- the parallelization for MultiFaultSources and MultiPointSources
- * Made the parameter `truncation_level` mandatory
- * Fixed the damage state header in the aggrisk outputs
- * Changed the order of the IMTs to be by period and not lexicographic
- * Fixed the realizations extractor for scenario calculations reading
- ruptures with multiple different tectonic region types
-
- [Kendra Johnson]
- * Fixed a bug in disaggregation by Lon-Lat-TRT when there are multifault
- ruptures and multiple sites
-
- [Michele Simionato]
- * Deprecated the conversion in the exposure
- * Added new loss types "area" and "number" for usage in risk calculations
- * Made the contexts immutable and fixed mutability bugs potentially
- affecting the modules akkar_bommer_2010, bindi_2011_ipe, can_shm6_inslab,
- lanzano_2019, youd_etal_2002, zhang_zhao_2005, cauzzi_faccioli_2008_swiss,
- chiou_youngs_2008_swiss campbell_bozorgnia_2014
- * Changed the disaggregation algorithm (see manual)
- * Added a view `risk_by_rup`
- * Internal: added command `oq compare med_gmv `
- * Extended extract/ruptures to extract a single rupture given the `rup_id`
- * Fixed a bug in classical_damage causing a ValueError: could not broadcast
- input array from shape (X,Y) into shape (X,)
- * Added check for missing site parameters
-
- [Paolo Tormene]
- * Internal: reduced the size of the gsim column in the view
- required_params_per_trt in the .rst report
-
- [Michele Simionato]
- * Optimized the generation of events
- * Fixed the GMFs CSV importer so that it can import exported GMFs even in
- the presence of a `custom_site_id`
- * Implemented sampling for mutex sources with grp_probability
- * Introduced `extreme_gmv` parameter in the job.ini
- * Introduced a new output "Annual Frequency of Events" and refined the command
- `oq plot event_based_mfd?`
- * Moved the minimum magnitude filtering after the rupture sampling
- * Changed the internals of rupture sampling and fixed the generated MFD
- in the case of a same source appearing in multiple logic tree branches
- * Fixed a bug in scenario calculations causing a mysterious IndexError in the
- line rctx.clon = c.lons[rctx.sids]
- * Changed the disaggregation exporter to add a column with the IML
- associated to the PoE for the mean disaggregation outputs
- * Internal: added a parameter `override_vs30` in the job.ini
-
- [Marco Pagani, Michele Simionato]
- * Fixed a bug in the source writer when writing NonParametricSources
-
- [Michele Simionato]
- * Changed the conditional spectrum storage and fixed the exporter to export
- all PoEs
-
- [Marco Pagani]
- * Fixed conditional spectrum with investigation time different from 1 year
-
- [Michele Simionato]
- * Fixed documentation of the Extractor for hazard curves and maps
- * Fixed bug in `oq zip`: when starting from a directory different from the
- job.ini directory, .hdf5 files for nonparametric ruptures were not included
- * Honored `minimum_magnitude` for MultiFaultSources
- * Overhauled the experimental postprocessing framework and fixed many
- bugs in the `compute_mrd` postprocessor
-
- [Anirudh Rao]
- * Added a verification test suite for the Conditioned GMFs calculator
-
- [Michele Simionato]
- * Added output `rates_by_src`
- * Fixed method '/v1/ini_defaults' returning NaNs for the site parameters
- * Added output `mean_disagg_bysrc` for single site calculations with use_rates
- * Added command `oq reduce_smlt`
- * Fixed reinsurance calculations when there is a single loss type
- * Changed the source seed generation to not depend on the source ID suffix
- * Tracebacks were printed 3 times in the console: this is finally fixed
- * Forbidden duplicate sources in atomic groups
- * Forbidden duplicate mutually exclusive sources
- * Fixed conditional spectrum calculator with multiple sites and implemented
- parallelization
- * Fixed the source ID generation for CollapsedPointSources
- * Fixed the error message for wrong weights in the gsim logic tree file
- * Fixed KeyError in calculations using the EasternCan15Mid with PGA
- * Replaced hard-coded limit to 25 levels in the MRD postprocessor
- with a simple warning
-
- [Kendra Johnson]
- * Added a job parameter 'reqv_ignore_sources', which indicates which
- sources - specified as a list of thier source ids - should not be collapsed
- using the equivalent distance
-
- [Michele Simionato]
- * Extended (re)insurance calculations to manage insurance deductibles at asset
- level
- * Internal: added a parameter `use_rates` to compute statistical hazard curves
- in terms of rates, not probabilities
- * Internal: changed `disagg_by_src` to work in terms of rates
- * Added command `oq runsite ,` for mosaic PSHA calculations
- * Enhanced --reuse-input to reuse preclassical calculations if possible
- * Normalized IMTs in the `minimum_intensity` dictionary (i.e. SA(1.)=>SA(1.0))
- * Fixed event based calculations running out of memory due to hazard curve
- arrays being instantiated without need
-
- [Julián Santiago Montejo Espitia]
- * Contributed the GMPE Arteta et al. (2023) for crustal events on northern
- South America
-
- [Michele Simionato]
- * Setting both `sites` and `site_model_file` now works also for models
- with nonstandard site parameters, like EUR
-
- [Paolo Tormene]
- * Added AELO mode for the engine webui, providing a web form to insert input
- values and launch a calculation. Input values are validated and the
- progress of the calculation can be monitored through the webui. On
- completion, the server sends an email to the job owner, providing feedback
- about failure or completion, with a link to retrieve a traceback or to
- browse the calculation outputs. Corresponding tests were added and the
- existing tests for the webui were improved, cleaning up calculations after
- they have been checked.
-
- [Michele Simionato]
- * Changed the default: now all realizations are consider in disaggregation
- calculations, not only the one closest to the mean hazard curve
- * Added feature `infer_occur_rates` for multiFault sources
- * Sampling the ruptures was raising a BlockingIOError sometimes
-
- [Kendra Johnson]
- * Made it possible to use extendModel for multiple branchSets in the
- source model logic tree
-
- [Michele Simionato]
- * Added an exporter for disagg_by_src
- * Implemented mean disaggregation outputs, with the means computed in terms
- of rates, not probabilities
-
- [Kendra Johnson]
- * Corrected a bug when using the `reqv` feature: all sources were
- collapsed instead of the ones with the specified tectonic region types
-
- [Michele Simionato]
- * Changed the lon-lat binning algorithm to produce 4 times less bins
- * Fixed install.py: it must not set the shared_dir
- * Optimized disaggregation in performance, memory consumption and data
- transfer; also changed the task distribution algorithm
-
-python3-oq-engine (3.16.0-2~xenial01) xenial; urgency=low
-
- [Matteo Nastasi]
- * Bumped oq-libs to version 3.8.0
-
- [Michele Simionato, Paolo Tormene]
- * Fixed the `agg_curves` extractor to also extract individual curves, thus
- fixing the QGIS plugin visualization
-
- [Michele Simionato]
- * 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]
- * Implemented the correction of Lanzano et al. (2019) as described in
- Lanzano et al. (2022)
-
- [Michele Simionato]
- * Fixed disaggregation calculations when too few tasks were generated
-
- [Anirudh Rao, Michele Simionato]
- * Changed the algorithm used in classical_risk and classical_bcr
- calculations to take into account the risk_investigation_time
-
- [Michele Simionato]
- * Added a warning for pointlike sources with magnitudes >= 8
- * Optimized the disaggregation by using our own truncnorm_sf function and
- not scipy
-
- [Anirudh Rao]
- * Implemented Conditioned GMFs as defined in Engler et al. (2022)
-
- [Matteo Nastasi]
- * Removed python3-engine-master and python3-engine-worker ubuntu packages
-
- [Michele Simionato]
- * Internal: renamed rup_id -> seed in event based calculations to avoid
- confusion
- * Parallelized the reinsurance calculation
-
- [Marco Pagani]
- * Completed implementation of `grp_probability` for SourceGroups with mutex
- ruptures
-
- [Michele Simionato]
- * 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]
- * 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]
- * 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]
- * Add WEBUI_PATHPREFIX variable to add a prefix to usual webui web path
-
- [Michele Simionato]
- * 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]
- * 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]
- * 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]
- * Reduced the number of warnings when the horizontal component is not
- convertible into geometric mean in ModifiableGMPE
-
- [Guillaume Daniel]
- * Added the highest magnitude bin to the Stepp (1972) completeness analysis
- and improved the legend in the plot
-
- [Manuela Villani]
- * Added the Wong et al. (2022) ground motion model
-
- [Marco Pagani]
- * Added a `constant_term` attribute to the `faultActivityData` uncertainty
- model, with a default value of 9.1 for backward compatibility
-
- [Michele Simionato]
- * Removed support for Python < 3.8
-
- [Prajakta Jadhav, Dharma Wijewickreme]
- * Added GMPE for Zhang and Zhao(2005)
-
- [Michele Simionato]
- * 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, Michele Simionato]
- * Fixed the calculation of conditional spectra
-
- [Michele Simionato]
- * 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]
- * Bumped h5py to version 3.7.0 and added fiona 1.8.21
-
- [Marco Pagani]
- * Added the get_dip and get_strike methods to the gridded surface
-
- [Michele Simionato]
- * 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
-
- -- Matteo Nastasi (GEM Foundation) Thu, 09 Feb 2023 15:26:59 +0000
-
-python3-oq-engine (3.15.0-1~xenial01) xenial; urgency=low
-
- [Michele Simionato]
- * Added a check on sum(srcs_weights) == 1 for mutex sources
-
- [Kendra Johnson]
- * Fixed disaggregation by lon, lat in presence of multiFaultSources
-
- [Michele Simionato]
- * 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]
- * Contributed `Mag_Dist_TRT` and `Mag_Dist_TRT_Eps` disaggregations
-
- [Michele Simionato]
- * 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]
- * Added support for negative binomial temporal occurrence models
-
- [Marco Pagani, Michele Simionato]
- * Added support for disaggregation in case of mutually exclusive sources
-
- [Michele Simionato]
- * 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]
- * Added `host` field to the `job` table (dbserver restart required)
- * `--exports=csv` was not honored for the realizations output; now it is
-
- [Paul Henshaw, Sandra Giacomini]
- * Ported the OpenQuake manual from latex to reStructuredText format
-
- [Michele Simionato]
- * 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]
- * Added width and hypo_depth estimation to Campbell and Bozorgnia (2014)
-
- [Michele Simionato]
- * 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
-
- [Astha Poudel, Anirudh Rao, Michele Simionato]
- * Added the ability to run connectivity analysis in event_based_damage
- and scenario_damage calculation with an appropriate exposure
-
- [Tom Son, Michele Simionato]
- * Added ztor estimation to Campbell and Bozorgnia (2014)
-
- [Michele Simionato]
- * 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, Claudio Schill]
- * Simple performance improvement of Kuehn et al. 2020 model
-
- [Michele Simionato]
- * 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]
- * 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]
- * 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]
- * 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
-
- -- Matteo Nastasi (GEM Foundation) Mon, 12 Sep 2022 07:57:27 +0000
-
-python3-oq-engine (3.14.0-1~xenial01) xenial; urgency=low
-
- [Michele Simionato]
- * 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]
- * Extended ModifiableGMPE to work with GMPETable and subclasses
-
- [Michele Simionato]
- * 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]
- * 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]
- * 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, Dharma Wijewickreme]
- * Added GMPE Youd et al. (2002) and the corresponding site parameters
-
- [Michele Simionato]
- * 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]
- * 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]
- * 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
-
- -- Matteo Nastasi (GEM Foundation) Tue, 12 Apr 2022 12:27:58 +0000
-
-python3-oq-engine (3.13.0-1~xenial01) xenial; urgency=low
-
- [Michele Simionato]
- * Improved the precision of the `pointsource_distance` approximation
- * Added command `oq show rlz:`
- * Internal: added an environment variable OQ_DATABASE
-
- [Manuela Villani]
- * Added a function in the modifiable GMPE to convert ground-motion assuming
- different representations of the horizontal component.
-
- [Kendra Johnson]
- * Implemented possibility of assigning the parameters `floating_x_step` and
- `floating_y_step` for kite fault sources in the job configuration file
-
- [Michele Simionato]
- * 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]
- * Added GMPE from Jaimes et al. (2020) for Mexican intraslab earthquakes
-
- [Michele Simionato]
- * 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]
- * Added a new class to the abrahamson_2015 gmm.
- * Added a new class to the lanzano_luzi_2019 and skarlatoudis_2013 gmms
-
- [Marco Pagani, Shreyasvi]
- * Added GMM from Bora et al. (2019)
- * Fixed bug in the multifault surface when defined using kite fault surfaces
-
- [Giuseppina Tusa]
- * Added a new gsim file tusa_langer_azzaro_2019.py to implement the GMMs
- from Tusa et al. (2020).
-
- [Michele Simionato]
- * 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]
- * Added the GMPE Arroyo et al. (2010) for Mexican subduction interface events
-
- [Marco Pagani]
- * 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]
- * 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]
- * Added a new GMPE for significant duration proposed by Bahrampouri et al
- (2021).
-
- [Claudia 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]
- * 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]
- * Added the Thingbaijam et al. (2017) Magnitude Scaling Law for Strike-slip
-
- [Michele Simionato]
- * 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, Laurentiu Danciu]
- * Added the GMPE Manea (2021)
-
- [Michele Simionato]
- * 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]
- * Bumped h5py to version 3.1.0
-
- [Michele Simionato]
- * 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
-
- -- Matteo Nastasi (GEM Foundation) Tue, 25 Jan 2022 08:49:25 +0000
-
-python3-oq-engine (3.12.0-1~xenial01) xenial; urgency=low
-
- [Marco Pagani]
- * Updated verification tables for Abrahamson et al. (2014) and checked
- values with other public resources.
-
- [Michele Simionato]
- * 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]
- * Implements Abrahamson & Gulerce (2020) NGA Subduction GMPE
-
- [Nico Kuehn, Graeme Weatherill]
- * Implements Kuehn et al. (2020) NGA Subduction GMPE
-
- [Chung-Han Chan, Jia-Cian Gao]
- * Implements Lin et al. (2011)
-
- [Graeme Weatherill, Nico Kuehn]
- * Implements Si et al. (2020) NGA Subduction GMPE
-
- [Michele Simionato]
- * 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]
- * Added the Lanzano et al. (2020) GMPE
-
- [Stanley Sayson]
- * 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]
- * 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]
- * Added the Sgobba et al. (2020) GMPE
-
- [Michele Simionato]
- * 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]
- * Updates Kotha et al. (2020) slope/geology model coefficients
-
- [Michele Simionato]
- * 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, Michele Simionato]
- * Implemented MultiFaultSources
- * Added method for computing rjb to kite surfaces
- * Added support for new epistemic uncertainties in the SSC LT
-
- [Michele Simionato]
- * Fixed newlines in the CSV exports on Windows
-
- [Graeme Weatherill]
- * Added Ameri (2014) GMPE for the Rjb case
-
- [Michele Simionato]
- * Optimized the slow tasks in event_based calculations
- * Added an early check for fragility functions in place of vulnerability
- functions or viceversa
-
- [Marco Pagani]
- * 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]
- * Fixed logic tree bug: MultiMFDs were not modified
- * Internal: added a view composite_source_model to show the sources by group
-
- [Nicolas Schmid]
- * Added possibility to use *.shp files instead of *.xml files when
- doing risk calculations from shakemaps.
-
- [Michele Simionato]
- * 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]
- * Implemented Idini et al (2017) GSIM.
- * Added dynamic site parameter 'soiltype'
-
- [Michele Simionato]
- * 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]
- * Fix to LanzanoEtAl2016 in presence of a "bas" term in the site model
-
- [Nicolas Schmid]
- * 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]
- * 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]
- * 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]
- * 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
-
- -- Matteo Nastasi (GEM Foundation) Mon, 06 Sep 2021 08:17:53 +0000
-
-python3-oq-engine (3.11.3-1~xenial01) xenial; urgency=low
-
- [Michele Simionato]
- * 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
-
- -- Matteo Nastasi (GEM Foundation) Mon, 22 Mar 2021 09:00:22 +0000
-
-python3-oq-engine (3.11.2-1~xenial01) xenial; urgency=low
-
- [Matteo Nastasi]
- * Fixed setup.py 'pyproj' dependency
-
- [Antonio Ettorre]
- * Fixed docker builder
-
- -- Matteo Nastasi (GEM Foundation) Tue, 02 Mar 2021 09:22:59 +0000
-
-python3-oq-engine (3.11.1-1~xenial01) xenial; urgency=low
-
- [Michele Simionato]
- * Fixed memory regression in ebrisk calculations
-
- -- Matteo Nastasi (GEM Foundation) Mon, 01 Mar 2021 09:30:46 +0000
-
-python3-oq-engine (3.11.0-1~xenial01) xenial; urgency=low
-
- [Michele Simionato]
- * 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]
- * Added a check for missing `soil_intensities` in classical calculations
- with site amplification
-
- [Michele Simionato]
- * 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]
- * Added TaperedGRMFD to hazardlib
-
- [Michele Simionato]
- * 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]
- * Improved error handling of bad or zero coefficients of variation
- for the Beta distribution for vulnerability
-
- [Michele Simionato]
- * 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]
- * Added the Lanzano et al. (2019) GMPE
-
- [Michele Simionato]
- * 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, Michele Simionato, Thomas Chartier]
- * Added experimental version of KiteSource and KiteSurface
-
- [Michele Simionato]
- * 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]
- * 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]
- * 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]
- * Added the Phung et al. (2020) GMPE
-
- [Michele Simionato]
- * 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]
- * Added the Chao et al. (2020) GMPE
-
- [Michele Simionato]
- * 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]
- * Refactor of the Kotha et al. (2020) GMM and its adjustments for ESHM20
-
- [Michele Simionato]
- * 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]
- * Added fpeak site parameter
- * Added the Hassani and Atkinson (2020) GMPE
-
- [Marco Pagani]
- * 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
-
- -- Matteo Nastasi (GEM Foundation) Tue, 23 Feb 2021 13:54:18 +0000
-
-python3-oq-engine (3.10.1-1~xenial01) xenial; urgency=low
-
- [Matteo Nastasi]
- * Add info to doc about OpenQuake manual path for linux and mac installers
-
- [Laurentiu Danciu 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
-
- [Michele Simionato]
- * Avoided warnings in classical_damage due to PoE == 1
- * Changed the sourcewriter to not save the `area_source_discretization`
- * Restored reading from the workers in classical_risk and classical_damage
- * Implemented `sensitivity_analysis`
- * Fixed an npz saving error in /extract/assets affecting the QGIS plugin
- * Improved submitting calculations to the WebAPI: now they can be run on a zmq
- cluster, serialize_jobs is honored and the log level is configurable
-
- [Graeme Weatherill]
- * Adds new methods to the modifiable GMPE to apply linear scaling factors
- to the median and standard deviation (IMT-dependent and IMT-independent)
-
- [Michele Simionato]
- * Made it possible to control the log level of jobs spawned by the WebAPI
- * Reduced memory occupation in post_ebrisk
- * Optimized loss aggregation in ebrisk calculations
- * Extended `oq engine --reuse-input` to the exposure
- * Parallelized by `number_of_ground_motion_fields` in scenario calculations
- with many sites
- * Refactored ebrisk (with a 10x speedup in "aggregate risk" in at least one
- calculation for Canada) and reduced data transfer in event based
-
- [Viktor Polak]
- * Added the Parker et al. (2020) GMPE
-
- [Marco Pagani]
- * Added 'closest_point' metric
-
- [Michele Simionato]
- * Changed event based full enumeration to be consistent with sampling
- * Changed the GMF storage to be more pandas-friendly
-
- -- Matteo Nastasi (GEM Foundation) Sun, 18 Oct 2020 19:55:40 +0000
-
-python3-oq-engine (3.10.0-1~xenial01) xenial; urgency=low
-
- [Richard Styron]
- * Added secondary perils ZhuLiquefactionGeneral and HazusLateralSpreading,
- supplementing HazusLiquefaction and NewmarkDisplacement
-
- [Michele Simionato]
- * 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]
- * Bumped GDAL to version 3.1.2
-
- [Michele Simionato]
- * 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]
- * Added the Stewart et al. (2016) GMPE
- * Added the Bozorgnia & Campbell (2016) GMPE
- * Added the Gulerce et al. (2017) GMPE
-
- [Michele Simionato]
- * 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]
- * Added a prototype implementation of the kernel method
-
- [Michele Simionato]
- * Added zipcode site parameter
- * Added command `oq renumber_sm ssmLT.xml`
-
- [Robin Gee]
- * Set DEFINED_FOR_REFERENCE_VELOCITY for GMPEs modified for Switzerland
-
- [Michele Simionato]
- * 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 `
- * 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]
- * Implements a heteroskedastic standard deviation model for the Kotha et al.
- (2020) GMPE
-
- [Michele Simionato]
- * 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]
- * Implemented the Zalachoris & Rathje (2019) GMM
-
- [Michele Simionato]
- * Optimized the disaggregation outputs, saving storage time
-
- [Graeme Weatherill]
- * Adds PGV coefficients to USGS CEUS GMPE tables (where applicable)
-
- [Michele Simionato]
- * 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]
- * Fixed a bug in the mixture model application when running multiple GMPEs
-
- [Michele Simionato]
- * 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]
- * 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]
- * 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`
-
- -- Matteo Nastasi (GEM Foundation) Tue, 29 Sep 2020 11:53:24 +0000
-
-python3-oq-engine (3.9.0-1~xenial01) xenial; urgency=low
-
- [Michele Simionato]
- * 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]
- * Implemented Pitilakis et al. (2020) Site Amplification Model
-
- [Michele Simionato]
- * 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]
- * Added a second tectonic region type to the EventBasedPSHA demo
-
- [Michele Simionato]
- * 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]
- * Fixed a bug in the coeff table of YEA97
-
- [Graeme Weatherill]
- * Implemented support for Gaussian Mixture Model approach to characterise
- ground motion model uncertainty
-
- [Michele Simionato]
- * 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]
- * Internal: added 'oq-taxonomy' to docker images
-
- [Michele Simionato]
- * 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]
- * Added a warning in `oq reduce_sm` listing duplicate source IDs
-
- [Michele Simionato]
- * 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]
- * Fixed bug in the HMTK: the `bin_width` parameter was not passed to
- `mtkActiveFaultModel.build_fault_model`
-
- [Michele Simionato]
- * 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]
- * Fixed an encoding issue in reading configuration files on Windows
-
- [Michele Simionato]
- * 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]
- * Correction to catalogue plotting tool in hmtk to include the last bins
- in density plots
-
- [Paolo Tormene]
- * Added Classical PSHA Non-parametric sources Demo
-
- [Robin Gee]
- * Change the header of the exported sigma_epsilon_XX.csv file to indicate
- that values correspond to inter event sigma
-
- [Graeme 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]
- * Added a check on the engine version between master and workers
-
- [Paolo Tormene]
- * Removed the `multi_node` flag, that is not used anymore
-
- [Michele Simionato]
- * 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]
- * 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]
- * 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
-
- -- Matteo Nastasi (GEM Foundation) Mon, 27 Apr 2020 14:22:48 +0000
-
-python3-oq-engine (3.8.1-1~xenial01) xenial; urgency=low
-
- [Michele Simionato]
- * 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)
-
- -- Matteo Nastasi (GEM Foundation) Wed, 12 Feb 2020 10:23:22 +0000
-
-python3-oq-engine (3.8.0-1~xenial01) xenial; urgency=low
-
- [Graeme Weatherill]
- * Updates SERA Craton GMPE to incorporate NGA East site response and reflect
- changes in CEUS USGS model
-
- [Michele Simionato]
- * The total loss curves in event_based_risk are now built with pandas
- * Added an option `oq engine --param` to override the job.ini parameters
- * Internal: reduced the number of NGAEastUSGS classes from 39 to 1
- * Internal: reduced the number of NGAEast classes from 44 to 2
- * Internal: reduced the 15 NSHMP2014 classes to a single class
- * Internal: reduced the 22 NBCC2015_AA13 classes to a single class
-
- [Graeme Weatherill]
- * Added complete suite of GMPEs for the Central and Eastern US, as adopted
- within the 2018 US National Seismic Hazard Map
- * Implemented NGA East site amplification model within NGA East Base class
-
- [Michele Simionato]
- * Implemented hazard curves amplification by convolution
- * Improved the error message if the `event_id` does not start from zero in
- the gmfs.csv files
- * Changed the rupture exporter to export LINESTRINGs instead of degenerate
- POLYGONs
- * Introduced `minimum_loss_fraction` functionality in ebrisk
- * Refined the rupture prefiltering mechanism, possibly changing the numbers
- in calculations with nonzero coefficients of variations
- * Optimized the generation of aggregate loss curves in ebrisk
- * Introduced an experimental AvgGMPE and used it to implement (optional)
- reduction of the gsim logic tree
-
- [Graeme Weatherill]
- * Implemented Abrahamson et al (2018) update of the BC Hydro GMPE
- * Added configurable nonergodic sigma option to BC Hydro and SERA GMPEs
- * Small refactoring and bug fix in average SA GMPE
-
- [Michele Simionato]
- * Avoided reading multiple times the GSIM logic tree
- * Changed the GSIM logic tree sampling by ordering the branches by TRT
- * Ignored IMT-dependent weights when using sampling to make such calculations
- possible
- * Storing (partially) the asset loss table
-
- [Robin Gee]
- * Set DEFINED_FOR_REFERENCE_VELOCITY in CampbellBozorgnia2003NSHMP2007
-
- [Graeme Weatherill]
- * Re-adjustment of SERA Subduction model epistemic scaling factors
-
- [Michele Simionato]
- * Improved the task distribution in the ebrisk calculator
- * Fixed a bug in ebrisk with aggregate_by when building the rup_loss_table
- * Storing the asset loss table in scenario_risk, but only for assets and
- events above over a `loss_ratio_threshold` parameter
- * Storing the asset damage table in scenario_damage and event based damage,
- but only for assets and events above a `collapse_threshold` parameter
- * Avoided transferring the GMFs upfront in scenario_damage, scenario_risk
- and event_based_damage
-
- [Daniele Viganò]
- * Included pandas in the engine distribution
-
- [Michele Simionato]
- * Avoided reading multiple time the gsim logic tree file and relative files
- * Added a check for duplicate sites in the site model file
- * Implemented an event_based_damage calculator
- * Added an API /v1/calc/ID/extract/gmf_data?event_id=XXX
- * Added an API /v1/calc/ID/extract/num_events
- * Fixed the /v1/calc/ID/status endpoint to return an error 404 when needed
- * Removed the "sites are overdetermined" check, since it now unneeded
- * Turned the calculation of consequences into a plugin architecture
-
- [Matteo Nastasi]
- * Add '/v1/ini_defaults' web api entry point to retrieve all default
- values for ini attributes (attrs without a default are not returned)
-
- [Michele Simionato]
- * Renamed rlzi -> rlzi in the sigma-epsilon dataset and exporter
- * Renamed id -> asset_id in all the relevant CSV exporters
- * Renamed rlzi -> rlz_id in the dmg_by_event.csv output
- * Renamed rupid -> rup_id in the ruptures.csv output
- * Renamed id -> event_id in the events.csv output and gmfs.csv output
- * Renamed sid -> site_id in the gmfs.csv output
- * Renamed ordinal -> rlz_id in the realizations.csv output
-
- [Alberto Chiusole]
- * Changed the way how the available number of CPU cores is computed
-
- [Kendra Johnson, Robin Gee]
- * Added GMPEs for Rietbrock-Edwards (2019) and Yenier-Atkinson (2015)
-
- [Michele Simionato]
- * Added more check on the IMTs and made it possible to import a GMF.csv
- file with more IMTs than needed
- * Enabled magnitude-dependent pointsource_distance
- * Removed the syntax for magnitude-dependent maximum distance, since
- now it can be automatically determined by the engine
- * Saving more information in the case of single-site classical hazard
- * Extended `pointsource_distance` to generic sources
- * Removed the boundary information from the CSV rupture exporter
- * Changed the /extract/rupture/XXX API to returns a TOML that can be
- used by a scenario calculator
- * Added general support for file-reading GMPEs
- * Made it possible to disaggregate on multiple realizations
- with the parameters `rlz_index` or `num_rlzs_disagg`
- * Fixed downloading the ShakeMaps (again)
- * Better error message in case of too large maximum_distance
- * Optimized the case of point sources with an hypocenter distribution and
- GSIMs independent from it and in general the case of ruptures with
- similar distances
-
- [Graeme Weatherill]
- * Updates SERA craton GMPE to reflect updates to NGA East site response model
-
- [Michele Simionato]
- * Fixed and HDF5 SWMR issue in large disaggregation calculations
- * Made `rrup` the unique acceptable `filter_distance`
- * Fixed disaggregation with a parent calculation
- * Models with duplicated values in the hypocenter and/or nodal plane
- distributions are now automatically optimized
- * Fixed an issue with missing noDamageLimit causing NaN values in
- scenario_damage calculations
- * Added more validations for predefined hazard, like forbidding the site model
-
- [Marco Pagani]
- * Adding the shift_hypo option for distributed seismicity
-
- [Michele Simionato]
- * Raised an early error for extra-large GMF calculations
- * Reduced the GMF storage by using 32 bit per event ID instead of 64 bit
- * Raised an error in case of duplicated sites in the site model
- * Fixed the case of implicit grid with a site model: sites could be
- incorrectly discarded
- * Fixed the ShakeMap downloader to find also unzipped `uncertaintly.xml`
- files
- * Fixed the rupture exporters to export the rupture ID and not the
- rupture serial
- * Removed the non-interesting `agg_maps` outputs
- * Changed the task distribution in the classical calculator and added
- a `task_multiplier` parameter
-
- [Marco Pagani]
- * Fixed a bug in the GenericGmpeAvgSA
-
- [Michele Simionato]
- * Added a `/v1/calc/validate_zip` endpoint to validate input archives
- * Deprecated inferring the intensity measure levels from the risk functions
- * Fixed a too strict check on the minimum intensities of parent an child
- calculations
- * Extended the ebrisk calculator to compute at the same time both the
- aggregate curves by tag and the total curves
-
- [Marco Pagani]
- * Implemented Morikawa and Fujiwara (2013) GMM
-
- [Michele Simionato]
- * Changed the seed algorithm in sampling with more than one source model,
- thus avoiding using more GMPEs than needed in some cases
- * If `ground_motion_fields=false` is set, the GMFs are not stored even
- if `hazard_curves_from_gmfs=true`
- * `oq show job_info` now works while the calculation is running
- * Reduced the sent data transfer in ebrisk calculations
- * Deprecated the old syntax for the `reqv` feature
- * Added short aliases for hazard statistics `mean`, `max` and `std`
- * Reduced substantially the memory occupation in the task queue
- * Added an API `/extract/sources` and an experimental `oq plot sources`
- * Added a check on valid input keys in the job.ini
- * Fixed the check on dependent calculations
- * Specifying at the same time both a grid and individual sites is an error
-
- [Daniele Viganò]
- * Docker containers rebased on CentOS 8
- * Fixed an issue causing zombie `ssh` processes
- when using `zmq` as task distribution mechanism
- * Introduced support for RHEL/CentOS 8
-
- [Michele Simionato]
- * Added a check for no GMFs in event_based_risk
- * Avoided transferring the site collection
- * Storing the sources in TOML format
-
- -- Matteo Nastasi (GEM Foundation) Mon, 20 Jan 2020 10:14:51 +0000
-
-python3-oq-engine (3.7.1-1~xenial01) xenial; urgency=low
-
- [Michele Simionato]
- * Fixed disaggregation with a parent calculation
- * Fixed the case of implicit grid with a site model: sites could be
- incorrectly discarded
- * Fixed the ShakeMap downloader to find also unzipped `uncertaintly.xml`
- files
- * Fixed the rupture exporters to export the rupture ID and not the
- rupture serial
-
- [Marco Pagani]
- * Fixed a bug in the GenericGmpeAvgSA
-
- -- Matteo Nastasi (GEM Foundation) Fri, 25 Oct 2019 08:05:41 +0000
-
-python3-oq-engine (3.7.0-1~xenial01) xenial; urgency=low
-
- [Michele Simionato]
- * Hiding calculations that fail before the pre-execute phase (for instance,
- because of missing files); they already give a clear error
- * Added an early check on truncation_level in presence of correlation model
-
- [Guillaume Daniel]
- * Implemented Ameri (2017) GMPE
-
- [Michele Simionato]
- * Changed the ruptures CSV exporter to use commas instead of tabs
- * Added a check forbidding `aggregate_by` for non-ebrisk calculators
- * Introduced a task queue
- * Removed the `cache_XXX.hdf5` files by using the SWMR mode of h5py
-
- [Kris Vanneste]
- * Updated the coefficients table for the atkinson_2015 to the actual
- values in the paper.
-
- [Michele Simionato]
- * Added an `/extract/agg_curves` API to extract both absolute and relative
- loss curves from an ebrisk calculation
- * Changed `oq reset --yes` to remove oqdata/user only in single-user mode
- * Now the engine automatically sorts the user-provided intensity_measure_types
- * Optimized the aggregation by tag
- * Fixed a bug with the binning when disaggregating around the date line
- * Fixed a prefiltering bug with complex fault sources: in some cases, blocks
- ruptures were incorrectly discarded
- * Changed the sampling algorithm for the GMPE logic trees: now it does
- not require building the full tree in memory
- * Raised clear errors for geometry files without quotes or with the wrong
- header in the multi_risk calculator
- * Changed the realizations.csv exporter to export '[FromShakeMap]' instead
- of '[FromFile]' when needed
- * Changed the agg_curves exporter to export all realizations in a single file
- and all statistics in a single file
- * Added rlz_id, rup_id and year to the losses_by_event output for ebrisk
- * Fixed a bug in the ruptures XML exporter: the multiplicity was multiplied
- (incorrectly) by the number of realizations
- * Fixed the pre-header of the CSV outputs to get proper CSV files
- * Replaced the 64 bit event IDs in event based and scenario calculations
- with 32 bit integers, for the happiness of Excel users
-
- [Daniele Viganò]
- * Numpy 1.16, Scipy 1.3 and h5py 2.9 are now required
-
- [Michele Simionato]
- * Changed the ebrisk calculator to read the CompositeRiskModel directly
- from the datastore, which means 20x less data transfer for Canada
-
- [Anirudh Rao]
- * Fixed a bug in the gmf CSV importer: the coordinates were being
- sorted and new site_ids assigned even though the user input sites
- csv file had site_ids defined
-
- [Michele Simionato]
- * Fixed a bug in the rupture CSV exporter: the boundaries of a GriddedRupture
- were exported with lons and lats inverted
- * Added some metadata to the CSV risk outputs
- * Changed the distribution mechanism in ebrisk to reduce the slow tasks
-
- [Graeme Weatherill]
- * Updates Kotha et al. (2019) GMPE to July 2019 coefficients
- * Adds subclasses to Kotha et al. (2019) to implement polynomial site
- response models and geology+slope site response model
- * Adds QA test to exercise all of the SERA site response calculators
-
- [Michele Simionato]
- * Internal: there is not need to call ``gsim.init()`` anymore
-
- [Graeme Weatherill]
- * Adds parametric GMPE for cratonic regions in Europe
-
- [Michele Simionato]
- * In the agglosses output of scenario_risk the losses were incorrectly
- multiplied by the realization weight
- * Removed the output `sourcegroups` and added the output `events`
-
- [Graeme Weatherill]
- * Adds new meta ground motion models to undertake PSHA using design code
- based amplification coefficients (Eurocode 8, Pitilakis et al., 2018)
- * Adds site amplification model of Sandikkaya & Dinsever (2018)
-
- [Marco Pagani]
- * Added a new rupture-site metric: the azimuth to the closest point on the
- rupture
-
- [Michele Simionato]
- * Fixed a regression in disaggregation with nonparametric sources, which
- were effectively discarded
- * The site amplification has been disabled by default in the ShakeMap
- calculator, since it is usually already taken into account by the USGS
-
- [Daniele Viganò]
- * Deleted calculations are not removed from the database anymore
- * Removed the 'oq dbserver restart' command since it was broken
-
- [Richard Styron]
- * Fixed `YoungsCoppersmith1985MFD.from_total_moment_rate()`: due to numeric
- errors it was producing incorrect seismicity rates
-
- [Michele Simionato]
- * Now we generate the output `disagg_by_src` during disaggregation even in the
- case of multiple realizations
- * Changed the way the random seed is set for BT and PM distributions
- * The filenames generated by `disagg_by_src` exporter now contains the site ID
- and not longitude and latitude, consistently with the other exporters
- * Accepted again meanLRs greater than 1 in vulnerability functions of kind LN
- * Fixed a bug in event based with correlation and a filtered site collection
- * Fixed the CSV exporter for the realizations in the case of scenarios
- with parametric GSIMs
- * Removed some misleading warnings for calculations with a site model
- * Added a check for missing `risk_investigation_time` in ebrisk
- * Reduced drastically (I measured improvements over 40x) memory occupation,
- data transfer and data storage for multi-sites disaggregation
- * Sites for which the disaggregation PoE cannot be reached are discarded
- and a warning is printed, rather than killing the whole computation
- * `oq show performance` can be called in the middle of a computation again
- * Filtered out the far away distances and reduced the time spent in
- saving the performance info by orders of magnitude in large disaggregations
- * Reduced the data transfer by reading the data directly from the
- datastore in disaggregation calculations
- * Reduced the memory consumption sending disaggregation tasks incrementally
- * Added an extract API disagg_layer
- * Moved `max_sites_disagg` from openquake.cfg into the job.ini
- * Fixed a bug with the --config option: serialize_jobs could not be overridden
- * Implemented insured losses
-
- -- Matteo Nastasi (GEM Foundation) Thu, 26 Sep 2019 08:51:44 +0000
-
-python3-oq-engine (3.6.0-1~xenial01) xenial; urgency=low
-
- [Michele Simionato]
- * In some cases `applyToSources` was giving a fake error about the source
- not being in the source model even if it actually was
-
- [Chris Van Houtte]
- * Adds the Van Houtte et al. (2018) significant duration model for New
- Zealand
-
- [Michele Simionato]
- * Added a way to compute and plot the MFD coming from an event based
- * Storing the MFDs in TOML format inside the datastore
-
- [Robin Gee]
- * Moves b4 constant into COEFFS table for GMPE Sharma et al., 2009
-
- [Graeme Weatherill]
- * Adds functionality to Cauzzi et al. (2014) and Derras et al. (2014)
- calibrated GMPEs for Germany to use either finite or point source distances
-
- [Michele Simionato]
- * Restored the ability to associate site model parameters to a grid of sites
- * Made it possible to set `hazard_curves_from_gmfs=true` with
- `ground_motion_fields=false` in the event based hazard calculator
- * Introduced a mechanism to split the tasks based on an estimated duration
- * Integrated `oq plot_memory` into `oq plot`
- * Removed `NaN` values for strike and dip when exporting griddedRuptures
- * Fixed `oq reset` to work in multi-user mode
- * Extended the source_id-filtering feature in the job.ini to multiple sources
- * Supported WKT files for the binary perils in the multi_risk calculator
- * Added an early check on the coefficients of variation and loss ratios of
- vulnerability functions with the Beta distribution
- * Made sure that `oq engine --dc` removes the HDF5 cache file too
- * Removed the flag `optimize_same_id_sources` because it is useless now
- * Introduced a soft limit at 65,536 sites for event_based calculations
- * Fixed a performance regression in ucerf_classical that was filtering
- before splitting, thus becoming extra-slow
- * Improved the progress log, that was delayed for large classical calculations
- * Exported the ruptures as 3D multi-polygons (instead of 2D ones)
- * Changed the `aggregate_by` exports for consistency with the others
- * Changed the losses_by_event exporter for ebrisk, to make it more
- consistent with scenario_risk and event_based_risk
- * Changed the agglosses and losses_by_event exporters in scenario_risk,
- by adding a column with the realization index
- * Changed the generation of the hazard statistics to consume very little
- memory
- * Fixed a bug with concurrent_tasks being inherited from the parent
- calculation instead of using the standard default
- * Removed the dependency from mock, since it is included in unittest.mock
- * For scenario, replaced the `branch_path` with the GSIM representation in
- the realizations output
- * Added a check for suspiciously large source geometries
- * Deprecated the XML disaggregation exporters in favor of the CSV exporters
- * Turned the disaggregation calculator into a classical post-calculator
- to use the precomputed distances and speedup the computation even more
- * Fixed the disaggregation calculator by discarding the ruptures outside
- the integration distance
- * Optimized the speed of the disaggregation calculator by moving a statistical
- functions outside of the inner loop
- * Changed the file names of the exported disaggregation outputs
- * Fixed an export agg_curves issue with pre-imported exposures
- * Fixed an export agg_curves issue when the hazard statistics are different
- from the risk statistics
- * Removed the disaggregation statistics: now the engine disaggregates only on
- a single realization (default: the closest to the mean)
- * Forbidden disaggregation matrices with more than 1 million elements
- * Reduced the data transfer when computing the hazard curves
- * Optimized the reading of large CSV exposures
- * Fixed the --hc functionality across users
- * Optimized the reduction of the site collection on the exposure sites
- * Made more robust the gsim logic tree parser: lines like
- ``
- are accepted again
- * Added a check against duplicated values in nodal plane distributions and
- hypocenter depth distributions
- * Changed the support for zipped exposures and source models: now the
- name of the archive must be written explicitly in the job.ini
- * Added support for numpy 1.16.3, scipy 1.3.0, h5py 2.9.0
- * Removed the special case for event_based_risk running two calculations
-
- [Graeme Weatherill]
- * Adds the Tromans et al. (2019) adjustable GMPE for application to PSHA
- in the UK
-
- [Michele Simionato]
- * Optimized src.sample_ruptures for (multi)point sources and are sources
- * Fixed a mutability bug in the DistancesContext and made all context
- arrays read-only: the fix may affect calculations using the GMPEs
- berge_thierry_2003, cauzzi_faccioli_2008 and zhao_2006;
- * Fixed a bug with the minimum_distance feature
- * Fixed a bug in the exporter of the aggregate loss curves: now the loss
- ratios are computed correctly even in presence of occupants
- * Removed the (long time deprecated) capability to read hazard curves and
- ground motion fields from XML files: you must use CSV files instead
-
- [Marco Pagani]
- * Implemented a modified GMPE that add between and within std to GMPEs only
- supporting total std
-
- [Michele Simionato]
- * Added the ability to use a taxonomy_mapping.csv file
- * Fixed a bug in classical_damage from CSV: for hazard intensity measure
- levels different from the fragility levels, the engine was giving incorrect
- results
- * Serialized also the source model logic tree inside the datastore
- * Added a check on missing intensity_measure_types in event based
- * Fixed `oq prepare_site_model` in the case of an empty datadir
- * Added a comment line with useful metadata to the engine CSV outputs
- * Removed the long time deprecated event loss table exporter for event based
- risk and enhanced the losses_by_event exporter to export the realization ID
- * Removed the long time deprecated GMF XML exporter for scenario
- * IMT-dependent weights in the gsim logic tree can be zero, to discard
- contributions outside the range of validity of (some of the) GSIMs
- * Now it is possible to export individual hazard curves from an event
- * Added a view gmvs_to_hazard
-
- -- Matteo Nastasi (GEM Foundation) Tue, 16 Jul 2019 08:42:10 +0000
-
-python3-oq-engine (3.5.2-1~xenial01) xenial; urgency=low
-
- [Daniele Viganò]
- * Fixed packaging issue, the .hdf5 tables for Canada were missing
-
- [Michele Simionato]
- * Fixed regression in the gsim logic tree parser for the case
- of .hdf5 tables
-
- -- Matteo Nastasi (GEM Foundation) Fri, 31 May 2019 08:01:08 +0000
-
-python3-oq-engine (3.5.1-1~xenial01) xenial; urgency=low
-
- [Michele Simionato]
- * Added a `rlzi` column to to sig_eps.csv output
- * Accepted GMF CSV files without a `rlzi` column
- * Accepted a list-like syntax like `return_periods=[30, 60, 120, 240, 480]`
- in the job.ini, as written in the manual
- * Fixed a bug in the asset_risk exporter for uppercase tags
-
- [Paul Henshaw]
- * Fixed an encoding bug while reading XML files on Windows
-
- -- Matteo Nastasi (GEM Foundation) Mon, 20 May 2019 13:49:25 +0000
-
-python3-oq-engine (3.5.0-1~xenial01) xenial; urgency=low
-
- [Giovanni Lanzano]
- * Lanzano and Luzi (2019) GMPE for volcanic zones in Italy
-
- [Michele Simionato]
- * Now it is possible to export individual hazard curves from an event
- based calculation by setting `hazard_curves_from_gmfs = true` and
- `individual_curves = true (before only the statistics were saved)
- * Made it possible to download remote source models
- * Removed the branching level concept in the logic trees
- * Made it possible to produce individual loss maps and curves with the
- ebrisk calculator with a single line `aggregate_by=id`
- * Added a limit of 2**32 events in event based calculations
-
-
- [Michele Simionato]
- * Now it is possible to export individual hazard curves from an event
- based calculation by setting `hazard_curves_from_gmfs = true` and
- `individual_curves = true (before only the statistics were saved)
-
- [Graeme Weatherill]
- * Adds adaptation of Abrahamson et al. (2016) 'BC Hydro' GMPEs calibrated
- to Mediterranean data and with epistemic adjustment factors
-
- [Chris Van Houtte]
- * Added new class to bradley_2013b.py for hazard maps
- * Modified test case_37 to test multiple sites
-
- [Marco Pagani]
- * Fixed a bug in the logic tree parser and added a check to forbid logic
- trees with applyToSources without applyToBranches, unless there is a
- single source model branch
-
- [Michele Simionato]
- * Removed the experimental parameter `prefilter_sources`
-
- [Daniele Viganò]
- * Multiple DbServer ZMQ connections are restored to avoid errors under heavy
- load and/or on slower machines
-
- [Michele Simionato]
- * Removed the ugly registration of custom signals at import time: now they
- are registered only if `engine.run_calc` is called
- * Removed the dependency from rtree
- * Removed all calls to ProcessPool.shutdown to speed up the tests and to
- avoid non-deterministic errors in atexit._run_exitfuncs
-
- [Marco Pagani]
- * Added tabular GMPEs as provided by Michal Kolaj, Natural Resources Canada
-
- [Michele Simionato]
- * Extended the ebrisk calculator to support coefficients of variations
-
- [Graeme Weatherill]
- * Adds Kotha et al (2019) shallow crustal GMPE for SERA
- * Adds 'ExperimentalWarning' to possible GMPE warnings
- * Adds kwargs to check_gsim function
-
- [Michele Simionato]
- * Fixed problems like SA(0.7) != SA(0.70) in iml_disagg
- * Exposed the outputs of the classical calculation in event based
- calculations with `compare_with_classical=true`
- * Made it possible to serialize together all kind of risk functions,
- including consequence functions that before were not HDF5-serializable
- * Fixed a MemoryError when counting the number of bytes stored in large
- HDF5 datasets
- * Extended `asset_hazard_distance` to a dictionary for usage with multi_risk
- * Extended oq prepare_site_model to work with sites.csv files
- * Optimized the validation of the source model logic tree: now checking
- the sources IDs is 5x faster
- * Went back to the old logic in sampling: the weights are used for the
- sampling and the statistics are computed with identical weights
- * Avoided to transfer the epsilons by storing them in the cache file
- and changed the event to epsilons associations
- * Reduced the data transfer in the computation of the hazard curves, causing
- in some time huge speedups (over 100x)
- * Implemented a flag `modal_damage_state` to display only the most likely
- damage state in the output `dmg_by_asset` of scenario damage calculations
- * Reduced substantially the memory occupation in classical calculations
- by including the prefiltering phase in the calculation phase
-
- [Daniele Viganò]
- * Added a 'serialize_jobs' setting to the openquake.cfg
- which limits the maximum number of jobs that can be run in parallel
-
- [Michele Simionato]
- * Fixed two exporters for the ebrisk calculator (agg_curves-stats and
- losses_by_event)
- * Fixed two subtle bugs when reading site_model.csv files
- * Added /extract/exposure_metadata and /extract/asset_risk
- * Introduced an experimental multi_risk calculator for volcanic risk
-
- [Guillaume Daniel]
- * Updating of Berge-Thierry (2003) GSIM and addition of several alternatives
- for use with Mw
-
- [Michele Simionato]
- * Changed the classical_risk calculator to use the same loss ratios for all
- taxonomies and then optimized all risk calculators
- * Temporarily removed the `insured_losses` functionality
- * Extended `oq restore` to download from URLs
- * Removed the column 'gsims' from the output 'realizations'
- * Better parallelized the source splitting in classical calculations
- * Added a check for missing hazard in scenario_risk/scenario_damage
- * Improved the GsimLogicTree parser to get the line number information, a
- feature that was lost with the passage to Python 3.5
- * Added a check against mispellings in the loss type in the risk keys
- * Changed the aggregation WebAPI from
- aggregate_by/taxonomy,occupancy/avg_losses?kind=mean&loss_type=structural to
- aggregate/avg_losses?kind=mean&loss_type=structural&tag=taxonomy&tag=occupancy
- * Do not export the stddevs in scenario_damage in the case of 1 event
- * Fixed export bug for GMFs imported from a file
- * Fixed an encoding error when storing a GMPETable
- * Fixed an error while exporting the hazard curves generated by a GMPETable
- * Removed the deprecated feature aggregate_by/curves_by_tag
-
- -- Matteo Nastasi (GEM Foundation) Mon, 13 May 2019 09:27:18 +0000
-
-python3-oq-engine (3.4.0-2~xenial01) xenial; urgency=low
-
- [Michele Simionato]
- * Compatibility with 'decorator' version >= 4.2
-
- [Giovanni Lanzano]
- * Contributed a GMPE SkarlatoudisEtAlSSlab2013
-
- [Michele Simionato]
- * Changed the event loss table exporter to export also rup_id and year
- * Extended the ebrisk calculator to compute loss curves and maps
-
- [Rodolfo Puglia]
- * Spectral acceleration amplitudes at 2.5, 2.75 and 4 seconds added
-
- [Marco Pagani]
- * Improved the event based calculator to account for cluster-based models
-
- [Michele Simionato]
- * Removed the now redundant command `oq extract hazard/rlzs`
-
- [Daniele Viganò]
- * Fixed 'oq abort' to always mark killed jobs as 'aborted'
-
- [Michele Simionato]
- * Made it possible to use in the Starmap tasks without a monitor argument
- * Stored the sigma and epsilon parameters for each event in event based
- and scenario calculations and extended the gmf_data exporter consequently
- * Fixed the realizations CSV exporter which was truncating the names of the
- GSIMs
- * Deprecated the XML exporters for hcurves, hmaps, uhs
- * Introduced a `sap.script` decorator
- * Used the WebExtractor in `oq importcalc`
- * Restored validation of the source_model_logic_tree.xml file
- * Raised an early error for missing occupants in the exposure
- * Added a check to forbid duplicate file names in the `uncertaintyModel` tag
- * Made it possible to store the asset loss table in the ebrisk calculator
- by specifying `asset_loss_table=true` in the job.ini
- * Added a flag `oq info --parameters` to show the job.ini parameters
- * Removed the `source_name` column from the disagg by source output
-
- [Rao Anirudh]
- * Fixed wrong investigation_time in the calculation of loss maps from
- loss curves
-
- [Robin Gee]
- * Added capability to optionally specify a `time_cutoff` parameter to
- declustering time window
-
- [Michele Simionato]
- * Merged the commands `oq plot_hmaps` and `oq plot_uhs` inside `oq plot`
- * Changed the storage of hazard curves and hazard maps to make it consistent
- with the risk outputs and Extractor-friendly
-
- [Chris Van Houtte]
- * Added necessary gsims to run the Canterbury Seismic Hazard Model
- in Gerstenberger et al. (2014)
- * Added a new gsim file mcverry_2006_chch.py to have the Canterbury-
- specific classes.
- * Added a new gsim file bradley_2013b.py to implement the
- Christchurch-specific modifications to the Bradley2013 base model.
-
- [Michele Simionato]
- * Added a check on the intensity measure types and levels in the job.ini,
- to make sure they are ordered by period
- * Reduced the number of client sockets to the DbServer that was causing
- (sporadically) the hanging of calculations on Windows
- * Extended the WebAPI to be able to extract specific hazard curves, maps
- and UHS (i.e. IMT-specific and site specific)
- * Removed the realization index from the event loss table export, since
- is it redundant
- * Forced all lowercase Python files in the engine codebase
- * Removed the dependency from nose
-
- [Robin Gee]
- * Updated GMPE of Yu et al. (2013)
-
- [Michele Simionato]
- * Added an `Extractor` client class leveraging the WebAPI and enhanced
- `oq plot_hmaps` to display remote hazard maps
- * Added a check when disaggregation is attempted on a source model
- with atomic source groups
- * Implemented serialization/deserialization of GSIM instances to TOML
- * Added a check against mispelled rupture distance names and fixed
- the drouet_alpes_2015 GSIMs
- * Changed the XML syntax used to define dictionaries IMT -> GSIM
- * Now GSIM classes have an `.init()` method to manage notrivial
- initializations, i.e. expensive initializations or initializations
- requiring access to the filesystem
- * Fixed a bug in event based that made it impossible to use GMPETables
- * Associated the events to the realizations even in scenario_risk: this
- involved changing the generation of the epsilons in the case of asset
- correlation. Now there is a single aggregate losses output for all
- realizations
- * Removed the rlzi column from the GMF CSV export
- * Introduced a new parameter `ebrisk_maxweight` in the job.ini
- * For classical calculations with few sites, store information about the
- realization closest to the mean hazard curve for each site
- * Removed the max_num_sites limit on the event based calculator
-
- [Valerio Poggi]
- * Added an AvgSA intensity measure type and a GenericGmpeAvgSA which is
- able to use it
-
- [Michele Simionato]
- * Introduced the ability to launch subtasks from tasks
- * Stored rupture information in classical calculations with few sites
-
- [Chris Van Houtte]
- * Adding conversion from geometric mean to larger horizontal component in
- bradley_2013.py
-
- [Michele Simionato]
- * Fixed a bug in applyToSources for the case of multiple sources
- * Moved the prefiltering on the workers to save memory
- * Exported the aggregated loss ratios in avg losses and agg losses
- * Removed the variables quantile_loss_curves and mean_loss_curves: they
- were duplicating quantile_hazard_curves and mean_hazard_curves
- * Only ruptures boundingbox-close to the site collection are stored
-
- [Marco Pagani]
- * Added cluster model to classical PSHA calculator
-
- [Michele Simionato]
- * Fixed a bug in scenario_damage from ShakeMap with noDamageLimit=0
- * Avoided the MemoryError in the controller node by speeding up the saving
- of the information about the sources
- * Turned utils/reduce_sm into a proper command
- * Fixed a wrong coefficient in the ShakeMap amplification
- * Fixed a bug in the hazard curves export (the filename did not contain
- the period of the IMT thus producing duplicated files)
- * Parallelized the reading of the exposure
-
- [Marco Pagani]
- * Fixed the implementation on mutex ruptures
-
- [Michele Simionato]
- * Changed the aggregated loss curves exporter
- * Added an experimental calculator ebrisk
- * Changed the ordering of the events (akin to a change of seed in the
- asset correlation)
-
- [Robin Gee]
- * Fixed bug in tusa_langer_2016.py BA08SE model - authors updated b2 coeff
- * Fixed bug in tusa_langer_2016.py related to coeffs affecting Repi models
-
- [Michele Simionato]
- * Added a check to forbid to set `ses_per_logic_tree_path = 0`
- * Added an API `/extract/event_info/eidx`
- * Splitting the sources in classical calculators and not in event based
- * Removed `max_site_model_distance`
- * Extended the logic used in event_based_risk - read the hazard sites
- from the site model, not from the exposure - to all calculators
- * In classical_bcr calculations with a CSV exposure the retrofitted field
- was not read. Now a missing retrofitted value is an error
-
- -- Matteo Nastasi (GEM Foundation) Mon, 18 Mar 2019 10:32:00 +0000
-
-python3-oq-engine (3.3.0-1~xenial01) xenial; urgency=low
-
- [Graeme Weatherill]
- * Adds GMPE suite for national PSHA for Germany
-
- [Daniele Viganò]
- * Added a warning box when an unsupported browser is used to view the WebUI
- * Updated Docker containers to support a multi-node deployment
- with a shared directory
- * Moved the Docker containers source code from oq-builders
- * Updated the documentation related to the shared directory
- which is now mandatory for multi-node deployments
-
- [Matteo Nastasi]
- * Removed tests folders
-
- [Stéphane Drouet]
- * Added Drouet & Cotton (2015) GMPE including 2017 erratum
-
- [Michele Simionato]
- * Optimized the memory occupation in classical calculations (Context.poe_map)
- * Fixed a wrong counting of the ruptures in split fault sources with
- an hypo_list/slip_list causing the calculation to fail
- * Made the export of uniform hazard spectra fast
- * Made the `std` hazard output properly exportable
- * Replaced the `~` in the header of the UHS csv files with a `-`
- * Restored the `individual_curves` flag even for the hazard curves
- * Implemented dGMPE weights per intensity measure type
- * Extended `--reuse-hazard` to all calculators
- * Fixed a bug in event_based_risk from GMFs with coefficients of variations
-
- [Graeme Weatherill]
- * Adds magnitude scaling relation for Germany
-
- [Michele Simionato]
- * Used floats for the the GSIM realization weights, not Python Decimals
- * Added a flag `fast_sampling`, by default False
- * Added an API `/extract/src_loss_table/`
- * Removed the rupture filtering from `sample_ruptures` and optimized it in
- the `RuptureGetter` by making use of the bounding box
- * Raised the limit on `ses_per_logic_tree_path` from 2**16 to 2**32;
- * Added a parameter `max_num_sites` to increase the number of sites accepted
- by an event based calculation up to 2 ** 32 (the default is still 2 ** 16)
- * Added a command `oq compare` to compare hazard curves and maps within
- calculations
- * Extended the engine to read transparently zipped source models and exposures
- * Restored the check for invalid source IDs in applyToSources
- * Extended the command `oq zip` to zip source models and exposures
- * Parallelized the associations event ID -> realization ID
- * Improved the message when assets are discarded in scenario calculations
- * Implemented aggregation by multiple tags, plus a special case for the
- country code in event based risk
-
- [Marco Pagani]
- * Added two modified versions of the Bindi et al. (2011) to be used in a
- backbone approach to compute hazard in Italy
- * Added a modified version of Berge-Thierry et al. 2003 supporting Mw
-
- [Michele Simionato]
- * Changed the way loss curves and loss maps are stored in order to unify
- the aggregation logic with the one used for the average losses
- * Now it is possible to compute the ruptures without specifying the sites
- * Added an early check for the case of missing intensity measure types
- * Deprecated the case of exposure, site model and region_grid_spacing all
- set at the same time
- * Implemented multi-exposure functionality in event based risk
- * Changed the event based calculator to store the ruptures incrementally
- without keeping them all in memory
- * Refactored the UCERF event based calculator to work as much as possible
- the regular calculator
- * Optimized the management and storage of the aggregate losses in the event
- based risk calculation; also, reduced the memory consumption
- * Changed the default for `individual_curves` to "false", which is the right
- default for large calculations
- * Optimized the saving of the events
- * Removed the `save_ruptures` flag in the job.ini since ruptures must be saved
- always
- * Optimized the rupture generation in case of sampling and changed the
- algorithm and seeds
- * Fixed a bug with the IMT `SA(1)` considered different from `SA(1.0)`
- * Removed the long-time deprecated GMF exporter in XML format for event_based
- * Added a re-use hazard feature in event_based_risk in single-file mode
- * Made the event ID unique also in scenario calculations with
- multiple realizations
- * Removed the annoying hidden .zip archives littering the export directory
- * Added an easy way to read the exposure header
- * Added a way to run Python scripts using the engine libraries via `oq shell`
- * Improved the minimum_magnitude feature
- * Fixed the check on missing hazard IMTs
- * Reduced substantially the memory occupation in event based risk
- * Added the option `spatial_correlation=no correlation` for risk calculations
- from ShakeMaps
- * Removed the experimental calculator `ucerf_risk`
- * Optimized the sampling of time-independent sources for the case of
- `prefilter_sources=no`
- * Changed the algorithm associating events to SESs and made the event based
- hazard calculator faster in the case of many SESs
- * Reduced substantially the memory consumption in event based risk
- * Made it possible to read multiple site model files in the same calculation
- * Implemented a smart single job.ini file mode for event based risk
- * Now warnings for invalid parameters are logged in the database too
- * Fixed `oq export avg_losses-stats` for the case of one realization
- * Added `oq export losses_by_tag` and `oq export curves_by_tag`
- * Extended `oq export` to work in a multi-user situation
- * Forbidden event based calculations with more than `max_potential_paths`
- in the case of full enumeration
- * Saved a large amount of memory in event_based_risk calculations
- * Added a command `oq export losses_by_tag/ `
- * Extended `oq zip` to zip the risk files together with the hazard files
- * Changed the building convention for the event IDs and made them unique
- in the event loss table, even in the case of full enumeration
- * Optimized the splitting of complex fault sources
- * Fixed the ShakeMap download procedure for `uncertainty.zip` archives
- with an incorrect structure (for instance for ci3031111)
- * Disabled the spatial correlation in risk-from-ShakeMap by default
- * Optimized the rupture sampling where there is a large number of SESs
- * Extended the `reqv` feature to multiple tectonic region types and
- removed the spinning/floating for the TRTs using the feature
- * Reduced the GMPE logic tree upfront for TRTs missing in the source model
- * Fixed the ShakeMap downloader to use the USGS GeoJSON feed
- * Improved the error message when there are more than 65536 distinct tags
- in the exposure
- * Turned `vs30measured` into an optional parameter
-
- [Chris Van Houtte]
- * Added `siteclass` as a site parameter, and `reference_site_class` as
- a site parameter than can be specified by the user in the ini file
- * Added new classes to mcverry_2006.py to take siteclass as a predictor
- * Updated comments in mcverry_2006.py
- * Added new mcverry_2006 test tables to account for difference in site
- parameter
- * Added qa_test_data classical case_32
-
- [Michele Simionato]
- * Fixed the rupture exporter for Canada
- * Extended the `oq prepare_site_model` to optionally generate the
- fields z1pt0, z2pt5 and vs30measured
- * It is now an error to specify both the sites and the site model in the
- job.ini, to avoid confusion with the precedency
- * Implemented a reader for site models in CSV format
- * Made the export_dir relative to the input directory
- * Better error message for ShakeMaps with zero stddev
- * Added a source_id-filtering feature in the job.ini
- * Added a check on non-homogeneous tectonic region types in a source group
- * Fixed the option `oq engine --config-file` that broke a few releases ago
- * Replaced `nodal_dist_collapsing_distance` and
- `hypo_dist_collapsing_distance` with `pointsource_distance` and made
- use of them in the classical and event based calculators
-
- [Graeme Weatherill]
- * Fixes to hmtk completeness tables for consistent rates and addition of
- more special methods to catalogue
-
- [Michele Simionato]
- * Restricted ChiouYoungs2008SWISS01 to StdDev.TOTAL to avoid a bug
- when computing the GMFs with inter/intra stddevs
- * Raised an error if assets are discarded because too far from the hazard
- sites (before it was just a warning)
- * Added an attribute .srcidx to every event based rupture and stored it
- * Fixed an issue with the Byte Order Mark (BOM) for CSV exposures prepared
- with Microsoft Excel
- * Reduced the site collection instead of just filtering it; this fixes
- a source filtering bug and changes the numbers in case of GMF-correlation
- * Added a command `oq prepare_site_model` to prepare a sites.csv file
- containing the vs30 and changed the engine to use it
- * Added a cutoff when storing a PoE=1 from a CSV file, thus avoiding NaNs
- in classical_damage calculations
- * Reduced the data transfer in the risk model by only considering the
- taxonomies relevant for the exposure
- * Extended `oq engine --run` to accept a list of files
- * Optimized the saving of the risk results in event based in the case of
- many sites and changed the command `oq show portfolio_loss` to show
- mean and standard deviation of the portfolio loss for each loss type
-
- [Marco Pagani]
- * Added a first and preliminary version of the GMM for the Canada model
- represented in an analytical form.
- * Added a modified version of Atkinson and Macias to be used for the
- calculation of hazard in NSHMP2014.
- * Added support for PGA to the Si and Midorikawa (1999).
-
- [Michele Simionato]
- * Made it possible to run the risk over an hazard calculation of another user
- * Worked around the OverflowError: cannot serialize a bytes object larger
- than 4 GiB in event based calculations
- * Started using Python 3.6 features
- * Fixed the check on vulnerability function ID uniqueness for NRML 0.5
- * Ruptures and GMFs are now computed concurrently, thus mitigating the
- issue of slow tasks
- * Changed the name of the files containing the disaggregation outputs:
- instead of longitude and latitude they contain the site ID now
- * If a worker runs close to out of memory, now a warning appears in the
- main log
- * 'lons' and 'lats' are now spelled 'lon' and 'lat' in
- the REQUIRES_SITES_PARAMETERS to be consistent with site_model.xml
-
- [Daniele Viganò]
- * Fixed a bug about 'The openquake master lost its controlling terminal'
- when running with 'nohup' from command line
-
- [Michele Simionato]
- * The `export_dir` is now created recursively, i.e. subdirectories are
- automatically created if needed
- * Fixed a bug with the minimum_magnitude feature and extended it to be
- tectonic region type dependent
- * Changed the rupture generation to yield bunches of ruptures, thus avoiding
- the 4GB pickle limit
- * Parallelized the splitting of the sources, thus making the preprocessing
- faster
-
- [Marco Pagani]
- * Implemented two additional versions of the Silva et al. 2002 GMPE
- * Added the possibility of setting rake to 'undefined'
- * Added first 'modified GMPE' implementing the site term for Canada 2015 model
- * Fixed a bug in the disaggregation calculation due to wrong binning of magnitudes
-
- [Michele Simionato]
- * Now the combination uniform_hazard_spectra=true and mean_hazard_curves=false
- is accepted again, as requested by Laurentiu Danciu
-
- [Daniele Viganò]
- * Support for Ubuntu Trusty is removed
- * Replaced supervisord with systemd in Ubuntu packages
-
- [Michele Simionato]
- * Changed the way the rupture geometries are stored to be consistent with
- the source geometries
- * We are now saving information about the source geometries in the datastore
- (experimentally)
- * Fixed a bug in event based with sampling causing incorrect GMFs
- * Unified all distribution mechanisms to returns the outputs via zmq
- * Added a check for inconsistent IMTs between hazard and risk
- * Replaced the forking processpool with a spawning processpool
-
- -- Matteo Nastasi (GEM Foundation) Mon, 07 Jan 2019 13:51:24 +0000
-
-python3-oq-engine (3.2.0-1~xenial01) xenial; urgency=low
-
- [Kendra Johnson]
- * Implemented a version of Munson and Thurber (1997) for use with the
- USGS Hawaii hazard model
- * Implemented PGA for Campbell (1997)
-
- [Matteo Nastasi]
- * specified 'amd64' as the only architecture supported by ubuntu packages
-
- [Michele Simionato]
- * Changed the source writer: now the `srcs_weights` are written in the XML
- file only if they are nontrivial
- * Changed the algorithm assigning the seeds: they are now generated before
- the source splitting; also, a seed-related bug in the splitting was fixed
- * For event based, moved the rupture generation in the prefiltering phase
-
- [Daniele Viganò]
- * Fixed a bug with CTRL-C when using the `processpool` distribution
-
- [Robin Gee]
- * Raised the source ID length limit in the validation from 60 to 75 characters
- to allow sources with longer IDs
-
- [Michele Simionato]
- * Introduced a `multi_node` flag in `openquake.cfg` and used it to
- fully parallelize the prefiltering in a cluster
- * Used the rupture seed as rupture ID in event based calculations
- * Changed the deprecation mechanism of GSIMs to use a class attribute
- `superseded_by=NewGsimClass`
- * Solved the pickling bug in event based hazard by using generator tasks
- * Improved the distribution of the risk tasks by changing the weight
-
- [Pablo Heresi]
- * Contributed the HM2018CorrelationModel
-
- [Michele Simionato]
- * Restored the `individual_curves` flag that for the moment is used for the
- risk curves
- * Introduced two experimental new parameters `floating_distance` and
- `spinning_distance` to reduce hypocenter distributions and nodal plane
- distributions of ruptures over the corresponding distances
- * Optimized the parsing of the logic tree when there is no "applyToSources"
- * Made the IMT classes extensible in client code
- * Reduced the hazard maps from 64 to 32 bit, to be consistent with the
- hazard curves and to reduce by half the download time
-
- [Graeme Weatherill]
- * Implements a fix of Montalva et al (2016) for new coefficients (now
- Montalva et al. (2017))
-
- [Michele Simionato]
- * Parallelized the reading of the source models
- * Optimized `oq info --report` by not splitting the sources in that case
- * Speedup the download of the hazard curves, maps and uhs
- * Honored `concurrent_tasks` in the prefiltering phase too
- * It is now legal to compute uniform hazard spectra for a single period
- * Added command `oq plot_memory`
- * Introduced a MultiGMPE concept
- * Saved the size of the datastore in the database and used it in the WebUI
-
- [Graeme Weatherill]
- * Adds geotechnical related IMTs
-
- [Michele Simionato]
- * Renamed /extract/agglosses -> /extract/agg_losses and same for aggdamages
- * Supported equivalent epicentral distance with a `reqv_hdf5` file
- * Fixed the risk from ShakeMap feature in the case of missing IMTs
- * Changed the way gmf_data/indices and ruptures are stored
- * Added experimental support for dask
- * Added 11 new site parameters for geotechnic hazard
- * Changed the SiteCollection to store only the parameters required by the
- GSIMs
-
- [Robin Gee]
- * The number of sites is now an argument in the method _get_stddevs()
- in the GMPE of Kanno, 2006
-
- [Michele Simionato]
- * Changed the serialization of ruptures to HDF5: the geometries are now
- stored in a different dataset
- * Bug fix: the asset->site association was performed even when not needed
- * Made it possible to serialize to .hdf5 multipoint sources and
- nonparametric gridded sources
- * Added a check on source model logic tree files: the uncertaintyModel
- values cannot be repeated in the same branchset
- * Added a flag `std_hazard_curves`; by setting it to `true` the user can
- compute the standard deviation of the hazard curves across realizations
-
- [Marco Pagani]
- * Added Thingbaijam et al. (2017) magnitude-scaling relationship
-
- [Michele Simionato]
- * Added an /extract/ API for event_based_mfd
- * Fixed a bug in the classical_damage calculators: multiple loss types
- were not treated correctly
-
- [Marco Pagani]
- * Adding tests to the method computing decimal time
-
- [Michele Simionato]
- * Removed the event_based_rupture calculator and three others
- * Added a field `size_mb` to the `output` table in the database and made
- it visible in the WebUI as a tooltip
- * Added a command `oq check_input job.ini` to check the input files
- * Made the loss curves and maps outputs from an event based risk calculation
- visible to the engine and the WebUI (only the stats)
- * Added a check on duplicated branchIDs in GMPE logic trees
-
- [Daniele Viganò]
- * Fixed a bug when reading exposure with utf8 names on systems with non-utf8
- terminals (Windows)
- * Changed the openquake.cfg file and added a dbserver.listen parameter
- * Added the hostname in the WebUI page. It can be customize by the user
- via the `local_settings.py` file
-
- [Michele Simionato]
- * Added a Content-Length to the outputs downloadable from the WebUI
- * Fixed a bug when extracting gmf_data from a hazard calculation with a
- filtered site collection
- * Stored an attributed `events.max_gmf_size`
- * Added a check on exposures with missing loss types
- * Added a LargeExposureGrid error to protect the user by tricky exposures
- (i.e. France with assets in the Antilles)
- * Changed the event_based_risk calculator to compute the loss curves and
- maps directly; removed the asset_loss_table
- * Changed the event_based_risk calculator to distribute by GMFs always
- * Optimized the memory consumption in the UCERF classical calculator
- * Added a parameter `minimum_magnitude` in the job.ini
- * Added an utility `utils/combine_mean_curves.py`
-
- -- Matteo Nastasi (GEM Foundation) Thu, 06 Sep 2018 12:27:53 +0000
-
-python3-oq-engine (3.1.0-1~xenial01) xenial; urgency=low
-
- [Marco Pagani and Changlong Li]
- * Added a version of the Yu et al. (2013) GMPE supporting Mw
-
- [Michele Simionato]
- * Reduced the data transfer in the UCERF calculators
- * Stored the zipped input files in the datastore for reproducibility
- * Fixed a regression when reading GMFs from an XML in absence of a sites.csv
- file
-
- [Robin Gee]
- * Extend `oq to_shapefile` method to also work with `YoungsCoppersmithMFD`
- and `arbitraryMFD` MFD typologies.
-
- [Michele Simionato]
- * Now the hazard statistics can be computed efficiently even in a single
- calculation, i.e. without the `--hc` option
- * Added a check on the Python version in the `oq` command
- * Reduced the data transfer when sending the site collection
- * Changed the default `filter_distance`
-
- [Daniele Viganò]
- * Fixed a bug where the PID was not saved into the database
- when using the command line interface
- * Made it impossible to fire multiple `CTRL-C` in sequence
- to allow processes teardown and tasks revocation when Celery is used
-
- [Michele Simionato]
- * Used `scipy.spatial.distance.cdist` in `Mesh.get_min_distance`
- * Prefiltered sites and assets in scenario calculations
- * Made it possible to specify the `filter_distance` in the `job.ini`
- * Made rtree optional again and disabled it in macOS
- * Optimized the SiteCollection class and doubled the speed of distance
- calculations in most continental scale calculations
- * Fixed an ordering bug in event based risk from GMFs when using a
- vulnerability function with PMF
- * Replaced Rtree with KDtree except in the source filtering
- * Parallelized the source prefiltering
- * Removed the tiling feature from the classical calculator
- * Undeprecated `hazardlib.calc.stochastic.stochastic_event_set` and
- made its signature right
- * Removed the source typology from the ruptures and reduced the rupture
- hierarchy
- * Removed the mesh spacing from PlanarSurfaces
- * Optimized the instantiation of the rtree index
- * Replaced the old prefiltering mechanism with the new one
-
- [Daniele Viganò]
- * Managed the case of a dead controlling terminal (SIGHUP)
-
- [Michele Simionato]
- * Removed Decimal numbers from the PMF distribution in hazardlib
- * Fixed another tricky bug with rtree filtering across the international
- date line
- * Added a parameter `prefilter_sources` with values `rtree|numpy|no`
- * Removed the prefiltering on the workers, resulting in a huge speedup
- for gridded ruptures at the cost of a larger data transfer
- * Changed the `losses_by_event` output to export a single .csv file with
- all realizations
- * Added a `cross_correlation` parameter used when working with shakemaps
- * Now sites and exposure can be set at the same time in the job.ini
- * Introduced a `preclassical` calculator
- * Extended the scenario_damage calculator to export `dmg_by_event`
- outputs as well as `losses_by_event` outputs if there is a consequence
- model
- * Unified `region` and `region_constraint` parameters in the job.ini
- * Added a check to forbid duplicated GSIMs in the logic tree
- * Introduced some changes to the `realizations` exporter (renamed field
- `uid` -> `branch_path` and removed the `model` field)
- * Added a command `oq celery inspect`
- * Reduced the check on too many realizations to a warning, except for
- event based calculations
- * Improved the hazard exporter to exports only data for the filtered
- site collection and not the full site collection
- * Extended the BCR exporter to export the asset tags
-
- [Catalina Yepes]
- * Revised/enhanced the risk demos
-
- [Michele Simionato]
- * Added a warning about the option `optimize_same_id_sources` when the user
- should take advantage of it
-
- [Daniele Viganò]
- * `celery-status` script converted into `oq celery status` command
- * Removed Django < 1.10 backward compatibility
- * Updated Python dependices (numpy 1.14, scipy 1.0.1,
- Django 1.10+, Celery 4+)
-
- [Michele Simionato]
- * Implemented scenario_risk/scenario_damage from shakemap calculators
- * Exported the asset tags in the asset based risk outputs
- * Fixed a numeric issue for nonparametric sources causing the hazard curves
- to saturate at high intensities
- * Added an utility to download shakemaps
- * Added an XML exporter for the site model
- * Slight change to the correlation module to fix a bug in the SMTK
- * Added a distribution mechanism `threadpool`
-
- -- Matteo Nastasi (GEM Foundation) Fri, 01 Jun 2018 09:02:01 +0000
-
-python3-oq-engine (3.0.0-1~precise01) precise; urgency=low
-
- [Michele Simionato]
- * Fixed a bug with newlines in the logic tree path breaking the CSV exporter
- for the realizations output
- * When setting the event year, each stochastic event set is now considered
- independent
- * Fixed a bug in the HMTK plotting libraries and added the ability to
- customize the figure size
- * Fixed bug in the datastore: now we automatically look for the attributes
- in the parent dataset, if the dataset is missing in the child datastore
- * Extended extract_losses_by_asset to the event based risk calculator
- * Stored in source_info the number of events generated per source
- * Added a script utils/reduce_sm to reduce the source model of a calculation
- by removing all the sources not affecting the hazard
- * Deprecated `openquake.hazardlib.calc.stochastic.stochastic_event_set`
- * Fixed the export of ruptures with a GriddedSurface geometry
- * Added a check for wrong or missing `` in the exposure
- * Fixed the issue of slow tasks in event_based_risk from precomputed GMFs
- for sites without events
- * Now the engine automatically associates the exposure to a grid if
- `region_grid_spacing` is given and the sites are not specified otherwise
- * Extracting the site mesh from the exposure before looking at the site model
- * Added a check on probs_occur summing up to 1 in the SourceWriter
- * `oq show job_info` now shows the received data amount while the
- calculation is progressing
-
- [Daniele Viganò]
- * Removed support for Python 2 in `setup.py`
- * Removed files containing Python 2 dependencies
- * Added support for WebUI groups/permissions on the
- export outputs and datastore API endpoints
-
- [Michele Simionato]
- * Fixed `oq show` for multiuser with parent calculations
- * Fixed `get_spherical_bounding_box` for griddedSurfaces
- * Implemented disaggregation by source only for the case
- of a single realization in the logic tree (experimental)
- * Replaced celery with celery_zmq as distribution mechanism
- * Extended `oq info` to work on source model logic tree files
- * Added a check against duplicated fields in the exposure CSV
- * Implemented event based with mutex sources (experimental)
- * Add an utility to read XML shakemap files in hazardlib
- * Added a check on IMTs for GMFs read from CSV
-
- [Daniele Viganò]
- * Changed the default DbServer port in Linux packages from 1908 to 1907
-
- [Michele Simionato]
- * Logged rupture floating factor and rupture spinning factor
- * Added an extract API for losses_by_asset
- * Added a check against GMF csv files with more than one realization
- * Fixed the algorithm setting the event year for event based with sampling
- * Added a command `oq importcalc` to import a remote calculation in the
- local database
- * Stored avg_losses-stats in event based risk if there are multiple
- realizations
- * Better error message in case of overlapping sites in sites.csv
- * Added a an investigation time attribute to source models with
- nonparametric sources
- * Bug fix: in some cases the calculator `event_based_rupture` was generating
- too few tasks and the same happened for classical calculation with
- `optimize_same_id_sources=true
- * Changed the ordering of the epsilons in scenario_risk
- * Added the ability to use a pre-imported risk model
- * Very small result values in scenario_damage (< 1E-7) are clipped to zero,
- to hide numerical artifacts
- * Removed an obsolete PickleableSequence class
- * Fixed error in classical_risk when num_statistics > num_realizations
- * Fixed a TypeError when reading CSV exposures with occupancy periods
- * Extended the check on duplicated source IDs to models in format NRML 0.5
- * Added a warning when reading the sources if .count_ruptures() is
- suspiciously slow
- * Changed the splitting logic: now all sources are split upfront
- * Improved the splitting of complex fault sources
- * Added a script to renumber source models with non-unique source IDs
- * Made the datastore of calculations using GMPETables relocatable; in
- practice you can run the Canada model on a cluster, copy the .hdf5 on
- a laptop and do the postprocessing there, a feat previously impossible.
-
- [Valerio Poggi]
- * Included a method to export data directly from the Catalogue() object into
- standard HMTK format.
-
- [Michele Simionato]
- * Now the parameter `disagg_outputs` is honored, i.e. only the specified
- outputs are extracted from the disaggregation matrix and stored
- * Implemented statistical disaggregation outputs (experimental)
- * Fixed a small bug: we were reading the source model twice in disaggregation
- * Added a check to discard results coming from the wrong calculation
- for the distribution mode `celery_zmq`
- * Removed the long time deprecated commands
- `oq engine --run-hazard` and `oq engine --run-risk`
- * Added a distribution mode `celery_zmq`
- * Added the ability to use a preimported exposure in risk calculations
- * Substantial cleanup of the parallelization framework
- * Fixed a bug with nonparametric sources producing negative probabilities
-
- -- Matteo Nastasi (GEM Foundation) Mon, 09 Apr 2018 09:52:32 +0200
-
-python3-oq-engine (2.9.0-1~precise01) precise; urgency=low
-
- [Michele Simionato]
- * Deprecated the NRML format for the GMFs
-
- [Matteo Nastasi]
- * Debian package moved to Python 3.5
-
- [Graeme Weatherill]
- * Small bug fix for Derras et al (2014) GMPE when Rjb = 0.0
-
- [Michele Simionato]
- * Improved the .rst reports for classical calculations with tiling
- * Reduced the data transfer in the event based risk calculator by
- reading the event IDs directly from the workers
- * Integrated the gmf_ebrisk calculator inside the event based calculator
- * Improved the weighting algorithm for the sources in the event based
- rupture calculator
- * Improved error message for source model files declared as nrml/0.5 when
- they actually are nrml/0.4
- * Optimized the classical_bcr calculator for the case of many realizations
- * Extended the exposure CSV importer to manage the `retrofitted` field
-
- [Marco Pagani, Changlong Li]
- * Adds the Yu et al. (2013) GMPEs
-
- [Michele Simionato]
- * Fixed a bug in the hazard outputs: they were displayed in the WebUI even
- if they were missing
- * Implemented splitting of nonparametric sources
-
- [Marco Pagani]
- * Fixed the 'get_closest_points' method for the
- `openquake.hazardlib.geo.surface.gridded.GriddedSurface` class
-
- [Michele Simionato]
- * Now the source model paths are relative to the source model logic tree file
- * Fixed an international date line bug when using rtree for prefiltering
- * Deprecated `nrml.parse`, it is now called `nrml.to_python`
- * Improved the task distribution by splitting the AreaSources upfront
- and by improving the weighting algorithm
-
- [Daniele Viganò]
- * TMPDIR can be customized via the `openquake.cfg` file
- * Updated dependencies compatibility in setup.py
-
- [Michele Simionato]
- * If the hazard is precomputed, setting the `site_model_file`,
- `gsim_logic_tree_file` or `source_model_logic_tree_file` gives a warning
- * Removed the obsolete API `/extract/qgis-` and added `extract/hcurves`,
- `extract/hmaps`, `extract/uhs` for use with the QGIS plugin
- * Removed the deprecated GeoJSON exporters
- * Fixed a bug with `oq engine --run job.ini --exports npz`
- * Fixed the ordering of the IMTs in hazardlib
- * `oq engine --delete-calculation` now aborts the calculation first
- * Added some documentation about how to access the datastore
- * Introduced a minimum_distance for the GSIMs
- * Fixed several small issues with the UCERF calculators; now ucerf_hazard
- can be used as a precalculator of gmf_ebrisk
- * Initial support for disaggregation by source
- * Added the ability to import large exposures as CSV (experimental)
- * Changed the source weights to be proportional to the number of GSIMs
- relevant for the tectonic region type, thus improving the task distribution
-
- [Daniele Viganò]
- * The RPM python3-oq-engine package replaced python-oq-engine
- * RPM packages moved to Python 3.5
-
- [Michele Simionato]
- * Added the ability to dump a specific calculation
- * Changed the signature of the extract command to `oq extract what calc_id`,
- where `what` is a path info plus query string;
-
- [Graeme Weatherill]
- * Implements significant duration GMPEs of Bommer et al. (2009) and Afshari &
- Stewart (2016)
- * Adds significant duration IMT definitions to support IMTs
-
- [Michele Simionato]
- * Run the DbServer as a detached process
- * Improved the test coverage for event based with GMF correlation
- * Optimized the event based risk calculator from ruptures: now the ruptures
- are instantiated in the workers and not in the controller if possible
- * Exported the parameter `ses_per_logic_tree_path` in the ruptures.csv file
- * Improved the display names for the risk outputs
- * Added a /v1/:calc_id/abort route to the engine server and Abort buttons
- to the WebUI
- * Fixed the seeds properly in the case of vulnerability functions with PMFs:
- now even if the ground motion fields are all equal, the risk numbers
- will be different since there is a different seed per each field
- * Stored a rupture loss table in event based risk calculations
- * Made sure that the number of effective ruptures is stored in csm_info
- * Fixed the HMTK tests to work with numpy from 1.11 to 1.14
- * Added a command `oq shell` to open an embedded (I)Python shell
- * Turned the 'realizations' output into a dynamic output
-
- [Matteo Nastasi]
- * Split package from python-oq-engine to python-oq-engine,
- python-oq-engine-master and python-oq-engine-worker
- * Implemented an API `/v1/on_same_fs` to check filesystem accessibility
- between engine and a client application
-
- [Michele Simionato]
- * Reduced the data transfer when computing the hazard curves in postprocessing
- * Removed the FilteredSiteCollection class
-
- [Nick Ackerley]
- * Some improvements to the plotting routines of the HMTK
-
- [Michele Simionato]
- * Removed the ability to run `oq engine --run job_h.ini,job_r.ini`
- * Forbidden the site model in gmf_ebrisk calculations
- * When the option `--hc` is given the ruptures can now be read directly
- from the workers, thus saving some startup time
- * Optimized the storage of the ruptures: the site IDs are not saved anymore
- * Added a check for missing `risk_investigation_time`
- * Reduced the data transfer in the gmf_ebrisk calculator
- * Now the gmf_ebrisk calculator builds the aggregate loss curves too
- * Extended the gmf_ebrisk calculator to use the GMFs produced by an event
- based hazard calculation, both via CSV and via the --hc option
- * Fixed a performance bug in the computations of the aggregate loss curves
- by reading the full event loss table at once
- * Fixed `oq zip` to work with gmf_ebrisk calculations
- * Fixed a serious bug in the gmf_ebrisk calculator: the results were in most
- cases wrong and dependent on the number of spawned tasks
- * Now the `master_seed` controls the generation of the epsilons in all
- situations (before in event_based_risk without `asset_correlation` it was
- managed by `random_seed`)
- * Changed the management of the epsilons in the gmf_ebrisk calculator to
- be the same as in the event_based_risk calculator
- * Added a check on the input files: the listed paths must be relative paths
- * Fixed a bug when storing the disagg-bins in the case the lenghts of the
- arrays are not the same for all sites
- * In the case of a single tile the prefiltering was applied twice: fixed the
- problem and generally improved the filtering/weighting of the sources
- * Fixed the CSV exporter for disaggregation outputs when iml_disagg is set
-
- [Graeme Weatherill]
- * Fixed ASK14 GMPE behaviour to remove ValueError
- * Implements comprehensive suite of NGA East ground motion models for
- central and eastern United States
- * Minor modification of check_gsim functions to permit instantiated classes
- to be passed
-
- -- Matteo Nastasi (GEM Foundation) Mon, 26 Feb 2018 08:53:58 +0100
-
-python3-oq-engine (2.8.0-0~precise01) precise; urgency=low
-
- [Michele Simionato]
- * `iml_disagg` and `poes_disagg` cannot coexist in the job.ini file
- * Added a check on `conditional_loss_poes` in the event_based_risk calculator:
- now it requires `asset_loss_table` to be set
-
- [Anirudh Rao]
- * Sorted taxonomies before comparison in the BCR calculator
-
- [Michele Simionato]
- * Optimized the disaggregation calculation by performing the PMF extraction
- only once at the end of the calculation and not in the workers
- * Added an `oq zip` command
- * Avoided running an useless classical calculation if `iml_disagg` is given
-
- [Valerio Poggi]
- * Implemented subclasses for ZhaoEtAl2006Asc and AtkinsonBoore2006 to account
- for the distance filter used by SGS in their PSHA model for Saudi Arabia.
- Distance threshold is hard coded to 5km in this implementation.
-
- [Michele Simionato]
- * Added a warning if the aggregated probability of exceedence (poe_agg) in
- a disaggregation output is very dissimilar from poes_disagg
- * Removed the flag `split_sources`
- * Optimized the operation `arrange_data_in_bins` in the disaggregation
- calculator and reduced the data transfer by the number of tectonic
- region types
- * Improved the sending of the sources to the workers, especially for the
- MultiPointSources
- * Better error message if the user sets a wrong site_id in the sites.csv file
- * Now the distance and lon lat bins for disaggregation are built directly
- from the integration distance
- * Used uniform bins for disaggregation (before they were potentially
- different across realizations / source models)
- * Improved the error message if the user forgets both sites and sites.csv
- in a calculation starting from predetermined GMFs
- * Improved the error message if the user specifies a non-existing file in
- the job.ini
- * Change the ordering of the TRT bins in disaggregation: now they are
- ordered lexicographically
- * Added more validity checks on the job.ini file for disaggregation
- * Changed the .hdf5 format generated by `oq extract -1 hazard/rlzs`; you can
- still produce the old format by using `oq extract -1 qgis-hazard/rlzs`
- * Optimized the disaggregation calculator by instantiating
- `scipy.stats.truncnorm` only once per task and not once per rupture
- * Optimized the disaggregation calculator when `iml_disagg` is specified,
- by caching duplicated results
- * Made sure that `oq dbserver stop` also stops the zmq workers if the zmq
- distribution is enabled
- * Added a check when disaggregating for a PoE too big for the source model
- * If `iml_disagg` is given, forbid `intensity_measure_types_and_levels`
- * Fixed the disaggregation outputs when `iml_disagg` is given: the PoE has
- been removed by the name of the output and correct PoE is in the XML file
- * Fixed `oq export loss_curves/rlzs` for event_based_risk/case_master
- * Removed the obsolete parameter `loss_curve_resolution`
- * Fixed a Python 3 unicode error with `oq engine --run job.zip`
- * Added a command `oq abort `
- * Stored the avg_losses in classical risk in the same way as in
- event_based_risk and made them exportable with the same format
- * Removed the outputs losses_by_tag from the event based risk calculators
- and changed the default for the avg_losses flag to True
- * WebUI: now every job runs in its own process and has name oq-job-
- * Refactored the WebUI tests to use the DbServer and django.test.Client
- * Added an experimental feature `optimize_same_id_sources`
- * Fixed a bug in gmf_ebrisk when there are zero losses and added more
- validity checks on the CSV file
- * The parameter `number_of_ground_motion_fields` is back to being optional in
- scenario calculators reading the GMFs from a file, since it can be inferred
- * Removed the deprecated risk outputs dmg_by_tag, dmg_total,
- losses_by_tag, losses_total
- * Deprecated the .geojson exporters for hazard curves and maps
- * We now keep the realization weights in case of logic tree sampling (before
- they were rescaled to 1 / R and considered all equals)
- * Optimized sampling for extra-large logic trees
- * Added a check on missing `source_model_logic_tree`
- * Fix to the gmf_ebrisk calculator: the realization index in the event loss
- table was incorrect and too many rows were saved
- * Added a way to restrict the source logic model tree by setting a sm_lt_path
- variable in the job.ini (experimental)
- * Fixed the precedence order when reading openquake.cfd
-
- -- Matteo Nastasi (GEM Foundation) Wed, 29 Nov 2017 14:33:05 +0100
-
-python-oq-engine (2.7.0-0~precise01) precise; urgency=low
-
- [Michele Simionato]
- * Fixed the risk exporters for tags containing non-ASCII characters
-
- [Valerio Poggi]
- * Implemented the Pankow and Pechmann 2004 GMPE (not verified)
-
- [Graeme Weatherill]
- * Added Derras et al. (2014) GMPE
- * Implemented the Zhao et al. (2016) GMPE for active shallow crustal,
- subduction interface and subduction slab events
- * Adds 'rvolc' (volcanic path distance) to the distance context
-
- [Michele Simionato]
- * The outputs loss_curves-rlzs and loss_curves-stats are now visible again
- as engine outputs (before they were hidden)
- * Added a debug command `oq plot_assets` and fixed `oq plot_sites`
- * Added a flag `--multipoint` to the command `oq upgrade_nrml`
- * Deprecated several outputs: hcurves-rlzs, agg_loss_table, losses_total,
- dmg_by_tag, dmg_total, losses_by_tag, losses_by_tag-rlzs
- * Extended the command `oq extract job_id` to check the database
- * Optimized the scenario damage calculator by vectorizing the calculation
- of the damage states
- * Extended the FragilityFunctions to accept sequences/arrays of intensity
- levels, as requested by Hyeuk Ryu
-
- [Daniele Viganò]
- * Added support for groups in the WebUI/API server
-
- [Michele Simionato]
- * Added an experimental distribution mode of kind "zmq"
- * Implemented an API `/extract/agglosses/loss_type?tagname1=tagvalue1&...`
- with the ability to select all tagvalues (`*`) for a given tagname
- * Deprecated reading hazard curves from CSV, since it was an experimental
- features and nobody is using it
- * Changed the exporter of the event loss table to export all realizations
- into a single file
-
- [Graeme Weatherill]
- * Adds the Bindi et al. (2017) GMPEs for Joyner-Boore and Hypocentral
- Distance
-
- [Michele Simionato]
- * Made it mandatory to specify the sites for all calculators reading the
- GMFs from a CSV file
- * Tested also the case of calculators requiring a shared_dir
- * Improved the error checking when parsing vulnerability functions with PMF
-
- [Daniele Viganò]
- * Fixed a bug in `oq reset` command which was not stopping
- the DbServer properly
-
- [Michele Simionato]
- * Implemented an API `/extract/aggcurves/loss_type?tagname1=tagvalue1&...`
- * Implemented an API `/extract/aggdamages/loss_type?tagname1=tagvalue1&...`
- * Every time a new calculation starts, we check if there is a newer version
- of the engine available on GitHub
- * Changed the search logic for the configuration file `openquake.cfg`
- * Implemented an API `/extract/agglosses/loss_type?tagname1=tagvalue1&...`
- * Fixed several bugs in the gmf_ebrisk calculator, in particular in presence
- of asset correlation and missing values on some sites
- * Fixed a bug with logging configured a WARN level instead of INFO level
- if rtree was missing (affecting only `oq run`)
- * Changed the ScenarioDamage demo to use two GSIMs
- * Added a node `` in the exposure
- * Added a web API to extract the attributes of a datastore object
- * Fixed `oq to_shapefile` and `oq from_shapefile` to work with NRML 0.5
- (except MultiPointSources)
- * Added information about the loss units to the `agg_curve` outputs
- * `oq extract hazard/rlzs` now extracts one realization at the time
- * The rupture filtering is now applied during disaggregation
- * Changed the /extract wen API to return a compressed .npz file
- * Fixed a bug with multi-realization disaggregation, celery and no
- shared_dir: now the calculation does not hang anymore
-
- -- Matteo Nastasi (GEM Foundation) Thu, 19 Oct 2017 13:53:08 +0200
-
-python-oq-engine (2.6.0-0~precise01) precise; urgency=low
-
- [Michele Simionato]
- * Fixed the GMF .npz export when the GMFs are extracted from a file
- * Stored the number of nonzero losses per asset and realization in
- event_based_risk calculations with asset_loss_table=True
-
- [Daniele Viganò]
- * Fixed 'openquake' user creation in RPM when SELinux is in enforcing mode
- * Changed the behaviour during RPM upgrades:
- the old openquake.cfg configuration file is left untouched and the new one
- installed as openquake.cfg.rpmnew
-
- [Michele Simionato]
- * Added a check on `number_of_ground_motion_fields` when the GMFs are
- extracted from a NRML file
- * Added a command `oq extract` able to extract hazard outputs into HDF5 files
- * Fixed a bug when reading GMFs from a NRML file: the hazard sites were
- read from the exposure (incorrectly) and not from the GMFs
- * Fixed a bug in MultiMFDs of kind `arbitraryMFD`
-
- [Valerio Poggi]
- * Implemented the Atkinson (2010) GMPE as subclass `Atkinson2010Hawaii`
- of `BooreAtkinson2008`
-
- [Michele Simionato]
- * Used the new loss curves algorithm for the asset loss curves and loss maps
- * Added a generic `extract` functionality to the web API
- * Fixed a bug when computing the rjb distances with multidimensional meshes
- * Changed the GMF CSV exporter to export the sites too; unified it with the
- event based one
-
- [Daniele Viganò]
- * Changed the 'CTRL-C' behaviour to make sure that all children
- processes are killed when a calculation in interrupted
-
- [Michele Simionato]
- * Fixed a bug in the statistical loss curves exporter for classical_risk
- * Replaced the agg_curve outputs with losses by return period outputs
- * Turned the DbServer into a multi-threaded server
- * Used zmq in the DbServer
- * Fixed correct_complex_sources.py
- * Fixed `oq export hcurves-rlzs -e hdf5`
- * Changed the source weighting algorithm: now it is proportional to the
- the number of affected sites
- * Added a command `oq show dupl_sources` and enhances `oq info job.ini`
- to display information about the duplicated sources
- * Added a flag `split_sources` in the job.ini (default False)
- * Updated the demos to the format NRML 0.5
-
- [Valerio Poggi]
- * Implemented the Munson and Thurber 1997 (Volcanic) GMPE
-
- [Graeme Weatherill]
- * Adapts CoeffsTable to be instantiated with dictionaries as well as strings
-
- [Daniele Viganò]
- * Extended the 'oq reset' command to work on multi user installations
-
- [Michele Simionato]
- * Fixed a bug: if there are multiple realizations and no hazard stats,
- it is an error to set hazard_maps=true or uniform_hazard_spectra=true
- * Implemented aggregation by asset tag in the risk calculators
- * Fixed a small bug in the HMTK (in `get_depth_pmf`)
- * Extended the demo LogicTreeCase1ClassicalPSHA to two IMTs and points
- * Added a documentation page `oq-commands.md`
- * Removed the automatic gunzip functionality and added an automatic
- checksum functionality plus an `oq checksum` command
- * Made the demo LogicTreeCase2ClassicalPSHA faster
- * Fixed the export by realization of the hazard outputs
- * Changed the generation of loss_maps in event based risk, without the option
- `--hc`: now it is done in parallel, except when reading the loss ratios
- * Renamed `--version-db` to `--db-version`, to avoid
- confusions between `oq --version` and `oq engine -version`
- * Fixed bug in the exported outputs: a calculation cannot export the results
- of its parent
- * Extended the `sz` field in the rupture surface to 2 bytes, making it
- possible to use a smaller mesh spacing
- * Changed the ordering of the fields in the loss curves and loss maps
- generated by the event based risk calculator; now the insured fields
- are at the end, before they were intermixed with each loss type
- * Changed the format of array `all_loss_ratios/indices`
- * The size in bytes of the GMFs was saved incorrectly
- * Added an exporter gmf_scenario/rup-XXX working also for event based
- * First version of the calculator gmf_ebrisk
- * Implemented risk statistics for the classical_damage calculator
- * Added a .csv importer for the ground motion fields
- * Implemented risk statistics for the classical_bcr calculator
-
- [Armando Scarpati]
- * Show to the user the error message when deleting a calculation
- in the WebUI fails
-
- [Michele Simionato]
- * Better error message when running a risk file in absence of hazard
- calculation
- * Changed the sampling logic in event based calculators
- * Imported GMFs from external file into the datastore
-
- [Daniele Viganò]
- * Added the 'celery-status' script in 'utils' to check the
- task distribution in a multi-node celery setup
-
- [Michele Simionato]
- * Removed an excessive check from the WebUI: now if an output exists,
- it can be downloaded even if the calculation was not successful
-
- [Armando Scarpati]
- * Visualized the calculation_mode in the WebUI
-
- [Michele Simionato]
- * Made the upgrade_manager transactional again
- * Changed the storage of the GMFs; as a consequence the exported .csv
- has a different format
-
- [Daniele Viganò]
- * Fixed a bug introduced by a change in Django 1.10 that was causing
- the HTTP requests log to be caught by our logging system and
- then saved in the DbServer
- * Updated requirements to allow installation of Django 1.11 (LTS)
-
- [Michele Simionato]
- * Added two commands `oq dump` and `oq restore`
- * Added a check that on the number of intensity measure types when
- generating uniform hazard spectra (must be > 1)
-
- -- Matteo Nastasi (GEM Foundation) Mon, 25 Sep 2017 15:05:45 +0200
-
-python-oq-engine (2.5.0-0~precise01) precise; urgency=low
-
- [Armando Scarpati]
- * Added a confirmation dialog when trying to remove a calculation via the
- WebUI
-
- [Michele Simionato]
- * Hazard maps were not exposed to the engine in event based calculations
- * Fixed the check on the DbServer instance: it was failing in presence
- of symbolic links
- * Optimized MultiMFD objects for the case of homogeneous parameters
- * Added an .npz exporter for the scenario_damage output `dmg_by_asset`
- * Removed the pickled CompositeSourceModel from the datastore
- * Improved the error message when the rupture mesh spacing is too small
- * Unified the versions of baselib, hazardlib and engine
- * Raised a clear error if the user does not set the `calculation_mode`
- * Made it is possible to pass the hdf5 full path to the DataStore class
- * Made it possible to use CELERY_RESULT_BACKEND != 'rpc://'
-
- [Michele Simionato, Daniele Viganò]
- * Merged the `oq-hazardlib` repository into `oq-engine`.
- The `python-oq-hazardlib` package is now provided by `python-oq-engine`
-
- [Michele Simionato]
- * Added CSV exports for the agg_curve outputs
- * Fixed a bug in `oq export hcurves-rlzs --exports hdf5`
- * Restored the parameter sites_per_tile with a default of 20,000, i.e.
- tiling starts automatically if there are more than 20,000 sites
- * Better error message for invalid exposures
- * Removed the deprecated XML outputs of the risk calculators
- * Added an end point `v1/calc/XXX/oqparam` to extract the calculation
- parameters as a JSON dictionary
- * Fixed the excessive logic tree reduction in event based calculators
- * Improved the command `oq db`
- * Fixed an encoding bug when logging a filename with a non-ASCII character
- * Fixed a bug when exporting a GMF with `ruptureId=0`
- * Added a parameter `disagg_outputs` to specify the kind of disaggregation
- outputs to export
- * Raised an early error if the consequence model is missing some taxonomies
- * Restored the tiling functionality in the classical calculator; to enable
- it, set `num_tiles` in the job.ini file
- * If there are no statistical hazard curves to compute, do not transfer
- anything
- * Fixed a small bug in `oq plot` and added a test
-
- [Daniele Viganò]
- * Added `collectstatic` and `createsuperuser` subcommands to the
- `oq webui` command
- * Added a `local_settings.py.pam` template to use PAM as the authentication
- provider for API and WebUI
- * Now the command `oq webui start` tries to open a browser tab
- with the WebUI loaded
-
- -- Daniele Viganò (GEM Foundation) Wed, 14 Jun 2017 10:32:28 +0200
-
-python-oq-engine (2.4.0-0~precise01) precise; urgency=low
-
- [Michele Simionato]
- * Now the command `oq export loss_curves/rlz-XXX` works both for the
- `classical_risk` calculator and the `event_based_risk` calculator
-
- [Daniele Viganò]
- * Remove the default 30 day-old view limit in the WebUI calculation list
-
- [Michele Simionato]
- * Fixed a broken import affecting the command `oq upgrade_nrml`
- * Made it possible to specify multiple file names in
- in the source_model_logic_tree file
- * Reduced the data transfer in the object `RlzsAssoc` and improved the
- postprocessing of hazard curves when the option `--hc` is given
- * Changed the `ruptures.xml` exporter to export unique ruptures
- * Fixed a bug when downloading the outputs from the WebUI on Windows
- * Made `oq info --report` fast again by removing the rupture fine filtering
- * Improved the readibility of the CSV export `dmg_total`
- * Removed the column `eid` from the CSV export `ruptures`; also
- renamed the field `serial` to `rup_id` and reordered the fields
- * Changed the event loss table exporter: now it exports an additional
- column with the `rup_id`
- * Changed scenario npz export to export also the GMFs outside the maximum
- distance
- * Fixed scenario npz export when there is a single event
- * Replaced the event tags with numeric event IDs
- * The mean hazard curves are now generated by default
- * Improved the help message of the command `oq purge`
- * Added a `@reader` decorator to mark tasks reading directly from the
- file system
- * Removed the .txt exporter for the GMFs, used internally in the tests
- * Fixed a bug with relative costs which affected master for a long time,
- but not the release 2.3. The insured losses were wrong in that case.
- * Added an .hdf5 exporter for the asset loss table
- * Loss maps and aggregate losses are computed in parallel or sequentially
- depending if the calculation is a postprocessing calculation or not
- * Deprecated the XML risk exporters
- * Removed the .ext5 file
- * Restored the parameter `asset_loss_table` in the event based calculators
- * Added a full .hdf5 exporter for `hcurves-rlzs`
- * Removed the `individual_curves` flag: now by default only the statistical
- hazard outputs are exported
- * Saved *a lot* of memory in the computation of the hazard curves and stats
- * Renamed the parameter `all_losses` to `asset_loss_table`
- * Added an experimental version of the event based risk calculator which
- is able to use GMFs imported from an external file
- * Added a `max_curve` functionality to compute the upper limit of the
- hazard curves amongst realizations
- * Raised an error if the user specifies `quantile_loss_curves`
- or `conditional_loss_poes` in a classical_damage calculation
- * Added a CSV exporter for the benefit-cost-ratio calculator
- * The classical_risk calculator now reads directly the probability maps,
- not the hazard curves
- * Turned the loss curves into on-demand outputs
- for the event based risk calculator
- * The loss ratios are now stored in the datastore and not in an
- external .ext5 file
- * The engine outputs are now streamed by the WebUI
- * Used a temporary export directory in the tests, to avoid conflicts
- in multiuser situations
- * Added an .npz exporter for the loss maps
- * Raised an error early when using a complex logic tree in scenario
- calculations
- * Changed the CSV exporter for the loss curves: now it exports all the
- curves for a given site for the classical_risk calculator
- * Fixed the save_ruptures procedure when there are more than 256
- surfaces in the MultiSurface
- * Renamed the `csq_` outputs of the scenario_damage to `losses_`
- * Changed the way scenario_damage are stored internally to be more
- consistent with the other calculators
- * Removed the GSIM from the exported file name of the risk outputs
- * New CSV exporter for GMFs generated by the event based calculator
- * The event IDs are now unique and a constraint on the maximum
- number of source groups (65,536) has been added
- * Added an output `losses_by_event` to the scenario_risk calculator
- * Changed the output `ruptures.csv` to avoid duplications
- * Added an output `losses_by_taxon` to the scenario_risk calculator
- * Fixed a performance bug in `get_gmfs`: now the scenario risk and damage
- calculators are orders of magnitude faster for big arrays
- * Added an export test for the event loss table in the case of multiple TRTs
- * Removed the experimental `rup_data` output
- * Added an .npz export for the output `losses_by_asset`
- * Exported the scenario_risk aggregate losses in a nicer format
-
- [Daniele Viganò]
- * The 'oq webui' command now works on a multi-user installation
- * Splitted RPM packages into python-oq-engine (single node)and
- python-oq-engine-master/python-oq-engine-worker (multi-node)
-
- [Paolo Tormene]
- * The 'Continue' button in the Web UI is now available also for risk
- calculations
-
- [Michele Simionato]
- * Fixed a Python 3 bug in the WebUI when continuing a calculation: the
- hazard_calculation_id was passed as a string and not as an integer
- * Changed to rupture storage to use variable length-arrays, with a speedup
- of two orders of magnitude
- * Avoided storing twice the rupture events
- * Optimized the serialization of ruptures on HDF5 by using a `sids` output
- * Changed the Web UI button from "Run Risk" to "Continue"
- * The `avg` field in the loss curves is computed as the integral of the curve
- again, and it is not extracted from the avg_losses output anymore
- * Made the `fullreport` exportable
- * Fixed the `rup_data` export, since the boundary field was broken
- * Restored the output `losses_by_taxon` in the event_based_risk calculator
- * Fixed the calculator event based UCERF so that average losses can
- be stored
-
- [Daniele Viganò]
- * Added a check to verify that an 'oq' client is talking to the
- right DbServer instance
- * Introduced an optional argument for 'oq dbserver' command line
- to be able to override its default interface binding behaviour
-
- [Michele Simionato]
- * Optimized the event based calculators by reducing the number of calls
- to the GmfComputer and by using larger arrays
- * Added a check on missing vulnerability functions for some loss type
- for some taxonomy
- * Now we save the GMFs on the .ext5 file, not the datastore
- * Fixed bug in event_based_risk: it was impossible to use vulnerability
- functions with "PM" distribution
- * Fixed bug in event_based_risk: the ebrisk calculator is required as
- precalculator of event_based_risk, not others
- * Fixed bug in scenario_risk: the output `all_losses-rlzs` was aggregated
- incorrectly
- * Now the ucerf_risk calculators transfer only the events, not the ruptures,
- thus reducing the data transfer of several orders of magnitude
- * Added a view `get_available_gsims` to the WebUI and fixed the API docs
- * Introduced a configuration parameter `max_site_model_distance` with default
- of 5 km
- * Implemented sampling in the UCERF event based hazard calculator
-
- [Daniele Viganò]
- * Use threads instead of processes in DbServer because SQLite3
- isn't fork-safe on macOS Sierra
-
- [Michele Simionato]
- * Fixed a TypeError when deleting a calculation from the WebUI
- * Extended the command `oq to_hdf5` to manage source model files too
- * Improved significantly the performance of the event based calculator
- when computing the GMFs and not the hazard curves
- * Stored information about the mean ground motion in the datastore
- * Saved the rupture mesh with 32 floats instead of 64 bit floats
- * Raised the limit on the event IDs from 2^16 to 2^32 per task
- * Fixed classical_risk: there was an error when computing the statistics
- in the case of multiple assets of the same taxonomy on the same site
- * Changed the UCERF event based calculators to parallelize by SES
- * Fixed a site model bug: when the sites are extracted from the site model
- there is no need to perform geospatial queries to get the parameters
- * Added a command `oq normalize` to produce good `sites.csv` files
- * Introduced a `ses_seed` parameter to specify the seed used to generate
- the stochastic event sets; `random_seed` is used for the sampling only
- * Changed the `build_rcurves` procedure to read the loss ratios directly from
- the workers
-
- -- Matteo Nastasi (GEM Foundation) Tue, 23 May 2017 10:46:56 +0200
-
-python-oq-engine (2.3.0-0~precise01) precise; urgency=low
-
- [Michele Simionato]
- * `oq info --report` now filters the ruptures and reports the correct
- number of effective ruptures even for classical calculators
- * Stripped the TRT information from the event loss table CSV export
- and optimized its performance
- * Fixed a bug when storing the GMPE logic tree file in the datastore
- * Added a command `oq run_tiles` (experimental)
- * Fixed the event based calculator so that it can run UCERF ruptures
- * Fixed a bug in the scenario_risk calculator in case of multiple assets
- of the same taxonomy on the same site with no insurance losses
- * Now the event IDs are generated in the workers in the event based calculator
- and there is a limit of 65536 tasks with 65536 ruptures each
- * Changed the UCERF classical calculators to compute one branch at the time
- * Fixed the header `occupants:float32` in the CSV risk exports involving
- occupants
- * Fixed the name of the zipped files downloaded by the Web UI: there
- was a spurious dot
- * Fixed the UCERF classical calculator in the case of sampling
- * Reduced the size of the event tags in the event based calculators, thus
- saving GB of disk space in UCERF calculations
- * Fixed the name of the files downloaded by the Web UI: they must not
- contain slashes
- * Now deleting a calculation from the Web UI really deletes it, before
- if was only hiding it
-
- [Daniele Viganò]
- * Moved the OpenQuake Engine manual sources inside doc/manual
-
- [Michele Simionato]
- * Introduced an experimental classical time dependent UCERF calculator
- * Added a dynamic output for source group information
- * Changed the UCERF rupture calculator to fully store the ruptures
- * Fixed a bug in `combine_maps`: realizations with zero probability were
- discarded, thus breaking the computation of the statistics
- * Added a command `oq reset` to reset database and datastores
- * Reduced the data transfer back and disk space occupation for UCERF
- event based risk calculations
- * Tasks meant to be used with a shared directory are now marked with a
- boolean attribute `.shared_dir_on`
- * Added a warning when running event based risk calculations with sampling
- * Made sure that the openquake.cfg file is read only once
-
- [Daniele Viganò]
- * Moved the openquake.cfg config file inside the python package
- under openquake/engine/openquake.cfg
- * Removed support to OQ_LOCAL_CFG_PATH and OQ_SITE_CFG_PATH vars;
- only the OQ_CONFIG_FILE enviroment variable is read
-
- [Michele Simionato]
- * If there is a single realization, do not compute the statistics
- * Changed the separator from comma to tab for the output `ruptures`
- * If there are no conditional_loss_poes, the engine does not try to
- export the loss maps anymore
- * Fixed `oq engine --make-html-report` when using Python 3
- * Fixed bug when running `oq info job.ini` with NRML 0.5 source models
-
- -- Matteo Nastasi (GEM Foundation) Thu, 23 Feb 2017 14:37:44 +0100
-
-python-oq-engine (2.2.0-0~precise01) precise; urgency=low
-
- [Michele Simionato]
- * Fixed an HDF5 bug by not using a `vstr` array for the asset references
- * Fixed a wrong error message generated by `oq purge`
- * Added information about the rupture in the event loss table exports
- * Fixed a bug and added a test calculation with nonparametric sources
- * Fixed the classical UCERF calculator when there is more than one branch
- * Added .npz exporter for gmf_data for event based calculations
-
- [Daniele Viganò]
- * Port WebUI/API server to Django 1.9 and 1.10
- * Add dependencies to setup.py
- * Update Copyright to 2017
-
- [Michele Simionato]
- * Increased the splitting of ComplexFaultSources
- * Added a way to reuse the CompositeSourceModel from a previous computation
- * Turned the loss maps into dynamically generated outputs
- * Extended the source model writer to serialize the attributes
- src_interdep, rup_interdep, srcs_weights
- * Fixed a bug when exporting the uniform hazard spectra in presence of
- IMTs non spectral acceleration
- * Fixed a bug when computing the loss maps in presence of insurance,
- temporarily introduced in master
- * Made the datastore for event based risk calculations much lighter
- by computing the statistical outputs at export time
- * Now it is possible to post process event based risk outputs with the
- `--hc` option
- * Added a command `oq to_hdf5` to convert .npz files into .hdf5 files
- * Moved commonlib.parallel into baselib
- * Merged the experimental calculator ebrisk into event_based_risk and
- used correctly the random_seed for generating the GMFs (not the master_seed)
- * Added a flag `ignore_covs` to ignore the coefficients of variation
- * Changed the GMF scenario exporter to avoid generating composite arrays with
- a large number of fields
- * Exporting in .npz format rather than HDF5
- * Introduced a `shared_dir` parameter in openquake.cfg
- * Fixed a serialization bug for planar surfaces
- * Removed the flag `asset_loss_table`: the loss ratios are
- saved if and only if the `loss_ratios` dictionary is non-empty
- * Added a CSV exporter for the GMFs in the event based calculator
- * Added a CSV exporter for the rup_data output
- * Added a CSV exporter for the disaggregation output
- * Stored the disaggregation matrices directly (no pickle)
- * Turned the CompositeRiskModel into a HDF5-serializable object
- * Fixed all doctests for Python 3
-
- [Daniele Viganò]
- * Removed the 'oq-engine' wrapper (command already deprecated)
-
- [Michele Simionato]
- * Assigned a year label to each seismic event in the event based calculator
- * Now the ebrisk calculator supports the case of asset_correlation=1 too
- * Made it possible to export the losses generated by a specific event
- * Lowered the limit on the length of source IDs to 60 chars
- * Fixed excessive strictness when validating `consequenceFunction.id`
- * Added an `ucerf_rupture` calculator able to store seismic events and
- rupture data and reduced the data transfer
-
- [Daniele Viganò]
- * MANIFEST now includes all files, with any extension located in the
- tests folders. It is now possible to run tests from an installation
- made with packages
-
- [Michele Simionato]
- * Improved error message when the user gives a source model file instead of
- a source model logic tree file
- * Fixed the management of negative calculation IDs
- * Relaxed the tolerance so that the tests pass on Mac OS X
- * Implemented csv exporter for the ruptures
- * Optimized the epsilon generation in the ebrisk calculator for
- asset_correlation=0
- * Improved the performance of the scenario risk calculators
- * Now by default we do not save the ruptures anymore
- * Fixed a memory leak recently introduced in parallel.py
- * Simplified classical_risk (the numbers can be slightly different now)
- * Serialized the ruptures in the HDF5 properly (no pickle)
- * Introduced a parameter `iml_disagg` in the disaggregation calculator
- * Fixed `oq reduce` to preserve the NRML version
- * Fixed a bug when splitting the fault sources by magnitude
-
- -- Matteo Nastasi (GEM Foundation) Mon, 23 Jan 2017 14:36:48 +0100
-
-python-oq-engine (2.1.0-0~precise01) precise; urgency=low
-
- [Michele Simionato]
- * There is now a flag `save_ruptures` that can be turned off on demand;
- by default the ruptures are always saved in the event based calculators
- * Optimized the memory consumption when using a ProcessPoolExecutor (i.e
- fork before reading the source model) by means of a `wakeup` task
- * Reduced the splitting of the fault sources
- * Added a view `task_slowest` displaying info about the slowest task
- (only for classical calculations for the moment)
- * concurrent_tasks=0 disable the concurrency
- * Optimized the saving time of the GMFs
- * Changed the default number of concurrent tasks and increased the
- relative weight of point sources and area sources
- * Fixed the UCERF event loss table export and added a test for it
- * Optimized the computation of the event loss table
- * Introduced two new calculators ucerf_risk and ucerf_risk_fast
-
- [Paolo Tormene]
- * Added to the engine server the possibility to log in and out
- programmatically by means of HTTP POST requests
-
- [Michele Simionato]
- * Optimized the memory consumption of the event based risk calculators
- * Extended the `oq show` command to work in a multi-user environment
- * Improved the test coverage of the exports in the WebUI
- * Removed the SourceManager: now the sources are filtered in the workers
- and we do not split in tiles anymore
- * Made the full datastore downloadable from the WebUI
- * Added a command "oq db" to send commands the engine database
- (for internal usage)
- * By default the WebUI now displays only the last 100 calculations
- * Added more validity checks to the disaggregation parameters; split the
- sources even in the disaggregation phase
- * Added an optimized event based calculator computing the total losses by
- taxonomy and nothing else
- * Filtered the sources up front when there are few sites (<= 10)
- * Reduced the number of tasks generated when filter_sources is False
- * Saved engine_version and hazardlib_version as attributes of the datastore
- * Avoided saving the ruptures when ground_motion_fields is True
- * Finalized the HDF5 export for hazard curves, hazard maps and uniform
- hazard spectra
- * Restored a weight of 1 for each rupture in the event based calculator
- * Removed the MultiHazardCurveXMLWriter
- * Improved the saving of the ruptures in event based calculations
- * Reduced the data transfer due to the `rlzs_by_gsim` parameter
- * Added an HDF5 export for scenario GMFs
- * If `filter_sources` if false, the light sources are not filtered, but the
- heavy sources are always filtered
- * Now the dbserver can be stopped correctly with CTRL-C
- * Parallelized the splitting of heavy sources
- * Changed the event loss table exporter: now a single file per realization
- is exported, containing all the loss types
- * Removed the dependency from the Django ORM
- * Now the WebUI restarts the ProcessPoolExecutor at the end of each job,
- to conserve resources
- * Optimized the computation of hazard curves and statistics, especially
- for the memory consumption
- * Reduced the data transfer due to the `rlzs_assoc` and `oqparam` objects
- * Fixed a bug in the disaggregation calculator when a source group has
- been filtered away by the maximum distance criterium
- * Fixed an encoding error in the reports when the description contains a
- non-ASCII character
- * Changed the distribution framework: celery is supported in a way more
- consistent with the other approaches; moreover, ipyparallel is supported
- * Hazard maps are now a fake output, dynamically generated at export time
- * Made the number of produced tasks proportional to the number of tiles
- * Raised an error for event_based_risk producing no GMFs
- * Added a view for the slow sources
- * Transmitted the attributes of a SourceGroup to the underlying sources
- * Fixed the names of exported files for hazard maps in .geojson format
- * Added an header with metadata to the exported hazard curves and maps
- * Avoid storing filtered-away probability maps, thus fixing a bug
- * Restored the precalculation consistency check that was disabled during the
- transition to engine 2.0
- * Fixed a bug with `oq engine --delete-calculation`
- * Hazard curves/maps/uniform spectra can now be recomputed
- * Restored the early check on missing taxonomies
- * Raise an early error if an user forget the `rupture_mesh_spacing` parameter
- * Fixed a bug while deleting jobs from the db in Ubuntu 12.04
- * Ported the shapefile converter from the nrml_converters
- * Added source model information in the file `realizations.csv`
- * `oq engine --run job.ini --exports csv` now also exports the realizations
- * Introduced the format NRML 0.5 for source models
- * Added a check on the version in case of export errors
- * Extended `oq purge` to remove calculations from the database too
- * Fixed `--make-html-report`: the view task_info was not registered
- * Stored several strings as HDF5-variable-length strings
- * Fixed an export bug for the hazard curves in .geojson format
- * Removed the array cost_types from the datastore
- * Taxonomies with chars not in the range a-z0-9 were incorrectly rejected
- * Improved the XML parsing utilities in speed, memory, portability and
- easy of use
- * Forbidden the reuse of exposure because is was fragile and error prone
- * Fixed a bug with the `realizations` array, which in hazard calculations
- was empty in the datastore
-
- -- Matteo Nastasi (GEM Foundation) Fri, 14 Oct 2016 11:07:26 +0200
-
-python-oq-engine (2.0.0-0~precise01) precise; urgency=low
-
- [Michele Simionato]
- * Quoted the taxonomies in the CSV exports
- * Fixed a bug in classical_damage and added a master test for it
- * Fixed the escaping of the taxonomies in the datastore
- * Fixed the names of the exported risk files
- * Fixed a segfault in the WebUI when exporting files with h5py >= 2.4
- * Added a command `oq dbserver` to start/stop the database server
- * The engine exports the hazard curves one file per IMT
- * Exported lon and lat with 5 digits after the decimal point
- * Added a command `oq info --build-reports`
- * Introduced experimental support for exporting .hdf5 files
-
- [Daniele Viganò]
- * Reworked substantially the engine documentation: removed obsolete pages,
- updated to engine 2.0 and added instructions for Windows and Mac OS X
- * Remove oq_create_db script, db is created by the DbServer
- * Move oq_reset_db into utils and clean old code
-
- [Michele Simionato]
- * Now the DbServer automatically upgrades the database if needed
- * Renamed oq-lite -> oq and added a subcommand `oq engine`
- * Added a CSV reader for the hazard curves
- * Having time_event=None in the hazard part of a calculation is now valid
- * Added an exporter for the rupture data, including the occurrence rate
- * Refactored the CSV exporters
- * Moved celeryconfig.py; now celery must be started with
- `celery worker --config openquake.engine.celeryconfig`
- * Added a default location `~/oqdata/dbserver.log` for the DbServer log
- * Added an early check on the SA periods supported by the GSIMs
- * Now the gsim_logic_tree file is parsed only once
- * Added a document about the architecture of the engine
- * The realizations are now exported as a CSV file
- * Escaped taxonomies in the datastore
- * The Web UI log tool is now escaping the HTML
- * Moved openquake.commonlib.commands -> openquake.commands and
- openquake.commonlib.valid -> openquake.risklib.valid to have a
- linear tower of internal dependencies
- * Supported all versions of Django >= 1.5
- * Provided a better error message in the absence of openquake.cfg
- * Removed the check on the export_dir when using the WebUI
- * Reduce the data transfer of the realization association object
- * If uniform_hazard_spectra is true, the UHS curves are generated
- even if hazard_maps is false; the hazard maps are not exported
- * Optimized the filtering of PointSources
- * Initial work on the UCERF event based hazard calculator
- * Added a test calculation crossing the International Date Line (Alaska)
-
- [Daniele Viganò]
- * Remove the dependency from the python 'pwd' package which is not
- available on Windows
- * Supervisord init scripts are now provided for the dbserver, celery
- and the webui. Celery is not started by default, other two are.
-
- [Michele Simionato]
- * Another export fix: made sure it is run by the current user
- * Fixed the export: if the export directory does not exist, it is created
- * Introduced the configuration variable `multi_user`, false for source
- installations and true for package installations
- * Fixed the WebUI export
- * Removed the .txt outputs from the WebUI page engine//outputs
- (they are useful only internally)
- * Fixed the export: first the xml exporter is tried and then the csv exporter;
- if both are available, only the first is used, not both of them
- * Optimized the case when the epsilons are not required, i.e. all the
- covariance coefficients are zero in the vulnerability functions
- * Added another test for event based risk (`case_miriam`)
- * Revisited the distribution mechanism and refined the weight of the
- ruptures in the event based calculators to avoid generating slow tasks
- * Added an automatic help for the subcommands of oq-lite and managed
- --version correctly
- * The event based risk calculator now use different seeds for different
- realizations; also, the performance has been substantially improved
- * Improved the .rst reports with data transfer information
- * Removed the RlzsAssoc object from the datastore
- * Fixed the number of tasks generated by the risk calculators
- * Refactored the serialization of CompositionInfo instances to HDF5
- * Used exponential notation with 5 decimal digits in most exported XML files
- * Refactored the sampling mechanics in the event based calculators
- * The event_based_risk calculator infers the minimum intensity of the GMFs
- from the vulnerability functions (if not specified in the job.ini)
- * Fixed the `avg_losses-stats`: they were not generated in absence of
- loss curves
- * Added a command `oq-lite info --exports`
- * Added filtering on the mininum intensity also in the event based
- hazard calculator; improved the performance and memory occupation
- * Added a view displaying the calculation times by source typology
- * Fixed the test of GMPETable after the correction in hazardlib
- * Optimized the saving of the asset loss table
- * Optimized the case of multiple assets of the same taxonomy on the
- same point and introduced a datastore view `assets_by_site`
- * Fixed HDF5 segmentation faults in the tests for Ubuntu 16.04
-
- [Daniele Viganò]
- * Add support for Ubuntu 16.04 (xenial) packages
- * Removed the openquake_worker.cfg file because it is not used anymore
-
- [Michele Simionato]
- * Replaced PostgreSQL with SQLite
- * Introduced a dbserver to mediate the interaction with the database
- * Restored the signal handler to manage properly `kill` signals so that
- the workers are revoked when a process is killed manually
- * Fixed in a more robust way the duplicated log bug
- * Made more robust the killing of processes by patching concurrent.futures
- * Fixed a critical bug with celery not being used even when `use_celery`
- was true.
- * Improved the validation of NRML files
- * Added a command `oq-engine --show-log `
-
- [Daniele Viganò]
- * Use the 'postgresql' meta package as dependency of the .deb
- package to support newer versions of Postgres; this makes
- Trusty package installable on Ubuntu 16.04 and Debian 8
-
- [Daniele Viganò, Michele Simionato]
- * Fixed a bug in `oq-engine --export-outputs`
-
- [Daniele Viganò, Matteo Nastasi]
- * Allow installation of the binary package on Ubuntu derivatives
-
- [Matteo Nastasi]
- * Backport of libhdf5 and h5py for ubuntu 'precise' serie
-
- [Michele Simionato]
- * Removed openquake/engine/settings.py
- * Made the dependency on celery required only in cluster installations
- * Integrated the authentication database in the engine server database
- * Fixed the description in the Web UI (before it was temporarily set to
- the string "A job").
- * Introduced filtering on the minimum intensity of the ground shaking
- * Solved the issue of serializing large SES collections, over the HDF5 limit
- * The loss maps and curves XML exporters now export the coordinates
- of the assets, not the coordinates of the closest hazard site
- * Stored the job.ini parameters into a table in the datastore
- * Added a check on the IMTs coming from the risk models
- * Changed the aggregate loss table exporter to export the event tags,
- not the event IDs
- * Fixed a bug with the CSV export of the ground motion fields
- * Fixed a bug with the export of UHS curves with `--exports=xml`
- * Reduced substantially the data transfer and the memory occupation
- for event based calculations with a large number of assets: we
- can run the California exposure with half million assets now
- * Fixed a bug in the SESCollection exporter
- * Changed the asset<->epsilons association: before for a given taxonomy the
- assets were ordered by `asset_ref`, now they are ordered by `id`. This
- has a minor impact on the numbers sensitive to the epsilons, akin to a
- change of seeds
- * Added a test on the ordering of the epsilons
- * Accepted `.` and `|` as valid characters for source IDs
- * Changed the GMF calculator to use a single seed per unique rupture
- * Changed the SESCollection exporter: now a single file is exported, before
- we were exporting one file per source model path per tectonic region model
- * Changed the event based calculators to avoid duplicating ruptures
- occurring more than once
- * Changed the risk calculators to work in blocks of assets on the same site
- * Made it possible to set different integration distances for different
- tectonic region types
- * Optimized the aggregation by asset in the event based risk calculator
- * Reporting the source_id when the filtering fails
-
- -- Matteo Nastasi (GEM Foundation) Tue, 21 Jun 2016 14:17:03 +0200
-
-python-oq-engine (1.9.1-0~precise01) precise; urgency=low
-
- [Michele Simionato]
- * Fixed a bug in the Web UI when running a risk calculation starting
- from a previous calculation
-
- -- Matteo Nastasi (GEM Foundation) Mon, 07 Mar 2016 11:11:59 +0100
-
-python-oq-engine (1.9.0-0~precise01) precise; urgency=low
-
- [Michele Simionato]
- * Fixed a bug such that in some circumstances the logging stream handler
- was instantiated twice, resulting in duplicated logs
- * Changed the default job status to 'executing' (was 'pre_executing')
- * Fixed the ordering of the logs in the Web UI
- * Removed the dependency from PostGIS
- * Restored the monitoring which was accidentally removed
- * Removed the obsolete option `--hazard-output-id`
- * Printed the names of the files exported by the engine, even when there
- are multiple files for a single output
- * Introduced four new tables job, output, log, performance: all the other
- 60+ database tables are not used anymore
-
- -- Matteo Nastasi (GEM Foundation) Wed, 02 Mar 2016 14:33:38 +0100
-
-python-oq-engine (1.8.0-0~precise01) precise; urgency=low
-
- [Michele Simionato]
- * Removed two `oq-engine` switches (`--export-stats` and `--list-inputs`)
- and fixed `--show-view`; unified `--delete-hazard-calculation` and
- `--delete-risk-calculation` into a single `--delete-calculation`
- * Updated `make_html_report.py` to extract the full report from the
- datastore
- * If `use_celery` is true, use celery to determine a good default for
- the parameter `concurrent_tasks`
- * Made celery required only in cluster situations
- * Fixed the duplication of exported result in the classical_damage
- calculator when there is more than one realization
- * Removed several obsolete or deprecated switches from the `oq-engine` command
- * Replaced all classical calculators with their lite counterparts
- * Fixed the site-ordering in the UHS exporter (by lon-lat)
-
- [Paolo Tormene]
- * Added API to validate NRML
-
- [Michele Simionato]
- * The engine can now zip files larger than 2 GB (used in the export)
- * Now the loss maps and curves are exported with a fixed ordering: first
- by lon-lat, then by asset ID
- * Replaced the old disaggregation calculator with the oq-lite one
-
- -- Matteo Nastasi (GEM Foundation) Mon, 15 Feb 2016 12:06:54 +0100
-
-python-oq-engine (1.7.0-0~precise01) precise; urgency=low
-
- [Michele Simionato]
- * Fixed an encoding bug in --lhc
- * Fixed an export bug: it is now possible to export the outputs generated
- by another user, if the read permissions are set correctly
-
- -- Matteo Nastasi (GEM Foundation) Mon, 14 Dec 2015 10:40:26 +0100
-
-python-oq-engine (1.6.0-0~precise01) precise; urgency=low
-
- [Daniele Viganò]
- * Added the oq_reset_db script. It removes and recreates the database and
- the datastore
-
- [Matteo Nastasi]
- * Demos moved to /usr/share/openquake/risklib
-
- [Michele Simionato]
- * Removed the 'view' button from the Web UI
- * Removed the epsilon_sampling configuration parameter
- * Made customizable the display_name of datastore outputs (before it was
- identical to the datastore key)
- * The zip files generated for internal use of the Web UI are now hidden
- * Made visible to the engine only the exportable outputs of the datastore
- * Closed explicitly the datastore after each calculation
- * Replaced the old scenario calculators with the HDF5-based calculators
- * Fixed a very subtle bug in the association queries: some sites outside
- of the region constraint were not discarded in some situations
- * Removed the self-termination feature `terminate_job_when_celery_is_down`
- * Removed the epsilon sampling "feature" from the scenario_risk calculator
- * Replaced the event based calculators based on Postgres with the new ones
- based on the HDF5 technology
-
- -- Matteo Nastasi (GEM Foundation) Tue, 17 Nov 2015 11:29:47 +0100
-
-python-oq-engine (1.5.1-0~precise01) precise; urgency=low
-
- [Michele Simionato]
- * Fixed a bug affecting exposures with multiple assets on the same site
-
- -- Matteo Nastasi (GEM Foundation) Fri, 25 Sep 2015 14:22:08 +0200
-
-python-oq-engine (1.5.0-0~precise01) precise; urgency=low
-
- [Michele Simionato]
- * The event based calculators in the engine are now officially deprecated
- and they raise a warning when used
- * Optimization: we do not generate the full epsilon matrix if all
- coefficients of variation are zero
- * Fixed two subtle bugs in the management of the epsilons: it means that
- all event based risk calculations with nonzero coefficients of variations
- will produce slightly different numbers with respect to before
- * Removed excessive checking on the exposure attributes 'deductible' and
- 'insuredLimit' that made it impossible to run legitimate calculations
- * Changed the meaning of 'average_loss' for the aggregated curves: now it
- is the sum of the aggregated losses in the event loss table,
- before it was extracted from the aggregated loss curve
- * Changed the way the average losses (and insured average losses) are
- computed by the event based risk calculator: now they are extracted
- from the event loss table, before they were extracted from the loss curves
- * Set to NULL the stddev_losses and stddev_insured_losses for the event based
- risk calculator, since they were computed incorrectly
- * Introduced a new experimental command
- 'oq-engine --show-view CALCULATION_ID VIEW_NAME'; the only view available
- for the moment is 'mean_avg_losses'
- * Negative calculation IDs are interpreted in a Pythonic way, i.e. -1
- means the last calculation, -2 the calculation before the last one, etc.
- * If a site parameter is more distant than 5 kilometers from its closest
- site, a warning is logged
- * Changed the splitting of fault sources to reduce the number of generated
- sources and avoid data transfer failures if rupture_mesh_spacing is too
- small
- * Changed the event loss table export: now the CSV file does not contain
- the magnitude and the rows are ordered by rupture tag first and loss second
- * Removed the calculator EventBasedBCR
- * Longitude and latitude are now rounded to 5 digits
- * Fixed a very subtle bug in the vulnerability functions, potentially
- affecting calculations with nonzero coefficients of variation and nonzero
- minIML; the numbers produced by the engine were incorrect; see
- https://bugs.launchpad.net/oq-engine/+bug/1459926
- * 'investigation_time' has been replaced by 'risk_investigation_time' in
- risk configuration files
- * Initial support for Django 1.7
-
- [Daniele Viganò]
- * Removed the bin/openquake wrapper: now only bin/oq-engine is
- available
-
- [Michele Simionato]
- * Added parameter parallel_source_splitting in openquake.cfg
-
- [Daniele Viganò]
- * setup.py improvements
- * Added MANIFEST.in
- * celeryconfig.py moved from /usr/openquake/engine to
- /usr/share/openquake/engine
-
- [Matteo Nastasi]
- * Packaging system improvement
-
- -- Matteo Nastasi (GEM Foundation) Wed, 23 Sep 2015 15:48:01 +0200
-
-python-oq-engine (1.4.1-0~precise01) precise; urgency=low
-
- [Michele Simionato]
- * Added a new 'ebr' hazard/risk calculator
- * Fixed the engine core export: now it can export datastore outputs as
- zip files
- * Now the parameter concurrent_tasks is read from the .ini file
- * Parallelized the source splitting procedure
- * Fixed a bug in the hazard calculators which were not using the parameter
- concurrent_tasks from the configuration file
-
- -- Matteo Nastasi (GEM Foundation)