-
Notifications
You must be signed in to change notification settings - Fork 272
/
changelog
3691 lines (3012 loc) · 161 KB
/
changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
python3-oq-engine (3.5.3-1~xenial01) xenial; urgency=low
[Michele Simionato]
* Internal: fixed the ordering of BaseRupture._code
-- Matteo Nastasi (GEM Foundation) <nastasi@openquake.org> Mon, 10 Jun 2019 10:06:35 +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) <nastasi@openquake.org> 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) <nastasi@openquake.org> Mon, 20 May 2019 13:49:25 +0000
python3-oq-engine (3.5.0-1~xenial01) xenial; urgency=low
[Michele Simionato]
* Added a view gmvs_to_hazard
[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)
[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) <nastasi@openquake.org> 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) <nastasi@openquake.org> 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/<loss_type>`
* 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/<tagname> <calc_id>`
* 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) <nastasi@openquake.org> 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) <nastasi@openquake.org> 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) <nastasi@openquake.org> 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 `<occupancyPeriods>` 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) <nastasi@openquake.org> 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`)