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