-
Notifications
You must be signed in to change notification settings - Fork 286
/
Copy pathchangelog
6474 lines (5331 loc) · 284 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
[Matteo Nastasi]
* Allow free mapping between standlone apps and their url path prefix
(regardless of their name)
[Claudia Mascandola]
* Added GMPEs of ambraseys_1996 and sabetta_pugliese_1996
[Graeme Weatherill, Michele Simionato]
* Implemented the MacedoEtAl2019SInter and MacedoEtAl2019SSlab conditional
GMMs
[Anirudh Rao]
* In the stations parser, make sure to skip all "vertical" ('z' or 'Z') or
"up" ('u' or 'U') components when extracting the max horizontal component
[Manuela Villani]
* Implementation of ASCE design parameters Sd, Sm in the AELO engine
[Paolo Tormene]
* Added to oq-impact the possibility to upload a rupture in csv format
* Added to oq-impact the possibility to choose between different ShakeMap
versions for the given USGS identifier
* Added to oq-impact the possibility to edit the preset job description
[Michele Simionato]
* Internal: added utility `get_ruptures(file_csv)`
* Optimized memory consumption in conditioned GMFs calculations
[Anirudh Rao]
* Sort observed imtls and imts and ensure all of the target imts go
into the context maker for the target sites in the conditioned gmfs
calculator - helps in debugging mode to prevent accidental
reordering of the imts
[Michele Simionato]
* Managed better the low hazard case in AELO calculations
* Optimized get_taxidx, thus making reading the USA exposure 10x faster
* Internal: restored the view portfolio_damage
* Too many post_classical tasks were generated with an artificially large
parameter `max_sites_disagg`
* Internal: added a flag --wfp to the script `utils/build_global_exposure`
[Paolo Tormene]
* Added `oq plot "sites?"` and added to the AELO advanced outputs page a
button to visualize the site of interest
[Michele Simionato]
* Implemented `gsim_aliases` as thunks
* Forced the consequence files to contain risk IDs and removed
utils/fix_consequences, now useless
* OQImpact: now aggregating by ID_2 and not ID_1
* Removed the --config-file option from the oq engine command
* Fixed numeric error in high intensity hazard curves produced by
multifault source by using 64 bit PoEs
* Removed the dependency from pyshp
* Improved the task distribution
* Exposed the output `avg_gmf`
* Internal: enhanced `build_global_exposure` to work at admin level 2
* Do not store the `backarc` parameter when not needed
* Fixed call to `v1/calc/list` breaking the DbServer
* Extended the exposure reader to accept .csv.gz files
* Fixed `oq info calculators` that was still displaying the obsolete and now
removed ucerf calculators
* Fixed `oq show rlz:` when the gsim logic tree was not properly reduced
* Internal: turned multi_fault.BLOCKSIZE into a configurable parameter
`config.memory.max_multi_fault_ruptures`
* Added command `oq info apply_uncertainty`
* Added an extractor `losses_by_site`
* Improved `oq info sources` and `oq show relevant_sources:<IMT>`
* Internal: accepted `source_model_file` in place of
`source_model_logic_tree_file`
* Extended `source_model.serialise_to_nrml` to accept a `mesh_spacing`
parameter
[Marco Pagani]
* Added a module to the modifiable GMPE computing site response according
to Stewart et al. (2020) and Hashash et al. (2020).
* Added a model for AUS23 that replaces the fixed Vs30 ones currently in
the engine
[Marco Pagani, Valeria Cascone]
* Added an get_width and get_length methods to Strasser et al. (2010) MSR
* Fixed a bug in the Thingbaijam et al. (2017) MSR
[Michele Simionato]
* Added an input `mmi_shapes_file` for use in OQ Impact and then
a JSON output /v1/calc/:ID/mmi_tags
[Christopher Brooks]
* Added Boore and Atkinson (2008) site term to the ModifiableGMPE
capabilities and as an input arg for the Atkinson and Macias (2009)
GMM as required for the US 2023 model + added unit tests.
[Michele Simionato]
* Extended `avg_gmf` to the secondary perils
[Kendra Johnson, Michele Simionato]
* Implemented splitting of multifault sources into faults when using
disagg_by_src=true and use_rates=true
[Mara Mita, Catarina Costa]
* Added new landslide models and replaced NewmarkDisplacement,
GrantEtAl2016RockSlopeFailure, NowickiJessee2018Landslides
[Michele Simionato]
* Extended the output loss types to `affected` and `injured`
* Fixed `oq plot?hcurves`: the disaggregation PoEs were plotted in linear
scale and not in logarithmic scale
* Internal: introduced parameter `config.memory.gmf_data_rows`
[Marco Pagani, Michele Simionato]
* Fixed ArtetaEtAl2021SlabVs30 by adding backarc to the site parameters
[Manuela Villani, Michele Simionato]
* Extended the global_ses script to override several input parameters;
extended `oq show_attrs` to work with any HDF5 file
[Christopher Brooks]
* Fixed modified_gsim (valid.py) to work with more complex
GMMs (e.g. NGAEast GMPE Tables) + added a unit test
python3-oq-engine (3.23.0-1~xenial01) xenial; urgency=low
[Michele Simionato]
* Fixed contexts.py: we were incorrectly discarding ruptures with magnitude equal
to the minimum magnitude
* Hiding spurious "divide by zero" warnings generated by shapely in
get_joyner_boore_distance
[Fatemeh Alishahiha]
* Added GMM Campbell-Bozorgnia (2003)
[Christopher Brooks]
* Another small bug fix for NZ 2022 inslab variants of the Kuehn et
al. (2020) GMM - the sigma_mu_model and sigma_mu_epsilon params
were sometimes missing from GSIM object + added a sensitivity test
[Marco Pagani, Michele Simionato]
* Added an `occurrence_rate` column in median_spectrum_disagg and fixed
the exporter to order the ruptures by ID
[Michele Simionato]
* Fixed a bug in classical_damage with sampling reported by Evi Riga
* Added utils/fix_consequences to fix consequence.csv files
containing risk_ids rather than taxonomies, now invalid
* Implemented quantiles in scenario_risk, visible in aggrisk_tags
* Added checks on the consequence functions across taxonomies and perils
* Fixed the taxonomy field in consequences.csv to be the exposure
taxonomy and not a fragility function ID
* Internal: renamed aristotle -> impact
* Changed the sourcewriter to save the rupture_idxs as compressed datasets,
thus reducing the size of some models a lot (i.e. from 400M to 17M)
[Christopher Brooks]
* Small bug fix for NZ 2022 inslab variants of the Kuehn et al. (2020)
and Parker et al. (2020) GMMs - backarc param was not always in the
req. site params but is needed given included in NZ 2022 site model
[Savvinos Aristeidou]
* Added new ANN-based GMM in the gsim library, named `aristeidou_2024`
* Added new IMs, that is the FIV3, Sa_avg2, and Sa_avg3
[Michele Simionato]
* Extended rupture_dict to the `msr` and `aspect_ratio` parameters
* Fixed the instantiation of file-dependent GMPEs from the datastore
* Optimized slow tasks both in the preclassical and the classical phase
* Reading the site model in calculations with ruptures.hdf5 and making
`minimum_intensity` mandatory
* Added parameter `minimum_engine_version`
[Paolo Tormene, Michele Simionato]
* Storing the reduced asset collection and fixing a bug when exporting
the average losses
[Richard Styron, Michele Simionato]
* Extended the preclassical calculator to work in absence of a site collection
[Michele Simionato]
* Added a new output "Aggregated Exposure Values" (`aggexp_tags`) and a new extractor
`aggrisk_tags`;
-- Matteo Nastasi (GEM Foundation) <[email protected]> Mon, 17 Feb 2025 10:13:32 +0000
python3-oq-engine (3.22.0-1~xenial01) xenial; urgency=low
[Michele Simionato]
* Fixed HDF5 bug when storing the avg_losses, visible on MacOS with a large
number of assets (say over a million). Fixed the same bug for damages too.
[Christopher Brooks]
* Added ability to specify period-dependent bias adjustment for USGS
classes of NGAEast GMMs (US 2023 NSHMP). Unit tests also added.
* Added ability to specify Chapman and Guo (2021) Coastal Plains site
amplification adjustment for USGS classes of NGAEast GMMs (US 2023
NSHMP). Unit tests also added.
* Added sediment depth site param (z_sed) to sites module as required
for Chapman and Guo (2021) Coastal Plains site amp. adjustment. QA
is provided through unit tests and qa_tests_data/classical/case_87.
[Michele Simionato]
* Removed the deprecated function `openquake.commonlib.datastore.hdf5new`
and changed `build_dstore_log` into `create_job_dstore`;
* Extended the ShakeMap parser to read the intensities associated to SA(0.6)
* Fixed a bug while exporting realizations.csv for scenario calculations
* Added `webapi.calc_timeout` configuration parameter
* Reduced `conditioned_gmfs_gb` to 8 GB by default
* Parallelized `get_mean_covs` when conditioning the GMFs
[Christopher Brooks]
* Added Seattle Basin classes of Kuehn et al. (2020) NGASUB GMM (uses
Cascadia coeffs except for basin term).
* Added USGS basin scaling and CyberShake adjustments to the NGAWest2
GMMs + ability to pass base gsim arguments within the NSHMP2014 gsim class.
[Michele Simionato]
* Saving the rupture geometries as 32 bit floats to save memory
* Internal: added a command `oq filter_around lon lat csvfile`
* Added a command `oq plot ebruptures?min_mag=XXX`
* Added a script `utils/build_global_ses`
* Removed the ability to read GMFs generated with engine <= 3.11
* Fixed the filtering of the site collection in event_based with --hc
* Internal: writeability check for datadir and scratch_dir (if any)
[Christopher Brooks]
* Added instantiation-level arguments for contextually applying
the M9 basin term, the CB14 basin term and the USGS basin scaling
model to the AbrahamsonGulerce2020, KuehnEtAl2020, ParkerEtAl2020,
ZhaoEtAl2006 and AtkinsonMacias2009 GMMs as required for the 2023
US NSHM model's subduction interface GMC. Unit tests are also
provided for these GMM adjustments
[Michele Simionato]
* Internal: forcing the signature (C, ctx, region, ...) for _get_basin_term
in hazardlib
* Extended `gmfs_file` to multiple .hdf5 files, assuming they correspond to
disjoint sites and events
[Paolo Tormene]
* Added a `duplicates_strategy` argument to `read_df` and changed the
approach used while reading station data, to calculate the average values
of stations having the same coordinates instead of raising an error
[Christopher Brooks]
* Added epistemic uncertainty scaling capabilities to
the Parker et al. (2020) NGASUB GMM.
* Added M9 basin term and associated tests to ModifiableGMPE
* Added CB14 basin term and associated tests to ModifiableGMPE
[Michele Simionato]
* Added parameter `with_betw_ratio`
* Added command `oq info peril`
* Extended consequences to perils
* Replaced taxonomy mapping by loss type with taxonomy mapping by peril
* Internal: changed the ordering in the composite risk model from
(loss_type, riskid) -> (riskid, loss_type)
* Added an exporter for trt_gsim
* Internal: added utility function readinput.read_source_models
[Manuela Villani]
* Improved the "Governing MCE" plot
[Michele Simionato]
* Raised an error in case of non-invertible hazard curves, affecting
disaggregation and site-specific hazard spectrum calculations
* Changed the ruptures.csv exporter to also export the source IDs
* Added support for consequence=losses for liquefaction and landslides
* Added a check for missing secondary perils
* Added loss types liquefaction and landslide
* Removed support for XML consequences, after 3 years of deprecation
* Fixed the stored calculation_mode in `oq sensitivity_analysis`
* Added command `oq info loss_types`
[Paolo Tormene]
* Added the possibility to export the asset collection via command line,
keeping it private from the webui
[Michele Simionato]
* Fixed median_spectrum with multiple sites
* Extended Aristotle calculation to manage multiple countries at once
* Extended taxonomy_mapping.csv with a loss_type field
* Modernized the regionalization of Chiou Youngs (2014)
* Modernized the regionalization of Campbell Bozorgnia (2014)
* Internal: made it possible to override CoeffsTable
* Added a memory check in disaggregation calculations
* Made `scientific_format` resilient against encoding errors
[Ilaria Oliveti]
* Fixed the GMPE Tusa-Langer-Azzaro (2019) table of coefficients, the
IMTs were incorrectly using Hz instead of seconds
[Michele Simionato]
* Fixed the `assert(losses)` error in the view delta_loss in the case of few events
-- Matteo Nastasi (GEM Foundation) <[email protected]> Thu, 16 Jan 2025 15:15:22 +0000
python3-oq-engine (3.21.0-1~xenial01) xenial; urgency=low
[Paolo Tormene]
* Added commands `oq plot "rupture?"` and `oq plot "rupture_3d?"`
[Michele Simionato]
* Extended `oq reset` to also remove the `custom_tmp` directory, if any
* Added classes CampbellBozorgnia2019, CampbellBozorgnia2019HighQ, CampbellBozorgnia2019LowQ
* Reduced the size of the large CSV files in hazardlib and added a check
to forbid files larger than 600k
* Added a check on the signatures of `get_std_dev_mag` and `get_median_area`
and fixed the signature of `StrasserIntraslab.get_std_dev_mag`
[Enrico Abcede, Francis Bernales]
* Implemented Campbell and Bozorgnia (2019) IA and CAV to campbell_bozorgnia_2014
[Michele Simionato]
* Fixed scenario_risk from GMFs when the intensity measure types were
incorrectly identified
[Marco Pagani, Michele Simionato]
* Added a median spectrum post-processor
[Michele Simionato]
* Added a parameter `mea_tau_phi` in the job.ini to save mean, tau and phi
for each rupture, site, gsim and imt in a GMF calculation
* Internal: changed `oq run` to automatically generate the db when possible
* Added a check on missing risk files
* Reduced the space used by the CollapsedPointSources (2.7x)
* Fixed the site model association procedure to work in conditioned
scenario calculations
* Used `oq engine --run` to submit asynchronous jobs to SLURM and
`oq run` to submit interactive jobs
[Christopher Brooks]
* Added the Japan region versions of the NGAWest2 relations used to obtain
z1pt0 and z2pt5 from vs30 in prepare sites command
[Michele Simionato]
* Fixed `oq reduce_sm` for calculations with nonparametric sources
* Fixed logging the classical time with --sample-sources
* Improved the progress log in classical calculations
[Kendra Johnson]
* Fixed an error `invalid literal for int() with base 10` affecting
event based calculations using mutex sources and a nontrivial logic tree
[Michele Simionato]
* Optimized the --sample-sources feature
* Honored the custom_tmp in classical calculations and saved data transfer
by using TileGetters, then parallelized the saving of the rates
[Lana Todorovic]
* Implemented Nowicki Jessee et al. (2018) landslide geospatial model that
computes the areal coverage by landslide occurrence.
[Paolo Tormene]
* Updated extractor for gmf_data for a single event id (used by the IRMT
QGIS plugin), including data for secondary perils
[Michele Simionato]
* Refined the tiling calculator (partial tiling, task weighting, saving memory)
* Optimized "computing pnes" in classical calculations (3x in the common case)
and fully switched to 32 bit rates, thus saving memory and improving performance
[Nicolas Schmid]
* Fixed a regression in the ShakeMap to_gmfs code, a forgotten sigma^2/2 term
[Marco Pagani]
* Fixed aliases for Kuehn2020 GMPEs (signalled by Eric Thompson)
[Michele Simionato]
* Internal: splitting in groups with homogeneous temporal occurrence model
* Optimized the calculation of mean and stdevs in event based calculations, with
a speedup of 13x for the EUR model
[Chris di Caprio]
* Allowed extrapolation in the Kuehn (2020) GMPEs to solve numeric issues
[Michele Simionato]
* Fixed an encoding error when exporting the realizations
* Fixed a bug with multifault sources raising a cryptic error
"object has no attribute msparams"
* Fixed a critical memory bug causing over 80 GB per core to be needed for
event based calculations with ~6 million sites
* Made `minimum_intensity` mandatory in event based calculations
* Reduced the memory consumption in event_based calculations: now even calculations
with 5 million sites can be run with ~2 GB per core
* Reduced the memory occupation in `gen_poes`
* Using half the memory in postclassical by using 32 bit arrays
* Using half the memory on Windows by using half the threads by default
* Fixed a bug in conditional spectrum calculations with a non-contributing TRT
[Savvinos Aristeidou]
* Added new GMM in the gsim library, named `aristeidou_2023`
* Added new IM, that is the inelastic spectral displacement, SDi,
which takes as input one additional parameter (i.e., strength ratio, R)
[Fatemeh Alishahiha]
* Added a new gsim module named `zafarani_2018`
* Added a new gsim module named `ambraseys_2005`
[Kyle Smith]
* Added a new gsim file sandikkaya_akkar_2017.py to implement the
Arias Intensity and Cumulative Absolute Velocity ground motion
models from Sandikkaya and Akkar (2017)
[Michele Simionato]
* Making sure that the tiles contains at least 100 sites in classical tiling
calculations
* Rewritten the SLURM algorithm to work around the submission limit
* Added uniqueness check for the station coordinates
* Internal: removed parameter [dbserver]listen in openquake.cfg
* Added command `oq submit n job_ini` for usage in supercomputers
* Reimplemented the sensitivity analysis in a supercomputer-friendly way
* Fixed export realizations which was truncating the branch_path
* Extended logic tree filtering via `smlt_branch`
* Worked on disaggregation by multifault source
[Michele Simionato, Christopher Brooks]
* Internal: added a function for filtering sites around a rupture
[Michele Simionato]
* Internal: added method GsimLogicTree.to_node
* Internal: added commands `oq compare oqparam` and `oq plot_sites csvfiles`
* Fixed exporting the ruptures when imported from a CSV
* Fixed the issue of small negative eigenvalues in conditioned GMFs
calculations by adding a correlation_cutoff
* Internal: extended `Starmap.apply` to split DataFrames
* Fixed the avg_gmf exporter in presence of a filtered site collection
[Lana Todorovic]
* Improved secondary perils documentation
[Michele Simionato]
* Fixed the ordering of the realizations to depend on the source model
branch path also in the case of full enumeration: this is crucial to
get consistent results with the two approaches
* Saved data transfer in the context makers in classical calculations
* Internal: added utility `oq info geohash:<lon>,<lat>`
* Changed the scenario calculators to discard the sites far away from
the rupture, with the effect of generating different GMFs
* Cached `get_realizations` and optimized the memory occupation; now
302_990_625 realizations (i.e. EUR) require only 90 GB
[Anna Rood]
* Updates to the AELO workflow: added additional spectral periods ranging
from 0.02 to 10 s and added option to use ASCE7-22. NB: minor changes in
the results of year 1 are expected
[Michele Simionato]
* Changed the GMF-based calculators to always set a `custom_site_id`
* Internal: added variable OQ_SITE_DEBUG
-- Matteo Nastasi (GEM Foundation) <[email protected]> Tue, 01 Oct 2024 15:20:20 +0000
python3-oq-engine (3.20.1-1~xenial01) xenial; urgency=low
[Paolo Tormene, Antonio Ettorre, Armando Scarpati]
* Improved installation documentation
-- Matteo Nastasi (GEM Foundation) <[email protected]> Fri, 07 Jun 2024 09:13:03 +0000
python3-oq-engine (3.20.0-1~xenial01) xenial; urgency=low
[Paolo Tormene, Michele Simionato]
* Internal: added commands `oq compare assetcol` and `oq compare sitecol`
[Michele Simionato]
* Added another check for missing gsim in scenario calculations
* Using custom `hcurves` and `uhs` exporters in AELO mode
[Fatemeh Alishahiha]
* Added a new gsim library named `ghasemi_2009` developed for Iran.
[Marco Pagani]
* Added a new epistemic uncertainty for modelling relative uncertainty on
MMax
[Michele Simionato]
* Added a check to forbid `individual_rlzs=true` and `collect_rlzs=true`
* Fixed a bug in `oq extract "ruptures?rup_id=XXX`
* Raising an early error if the user forgets to specify a site_model_file
when needed (i.e. for parameters region and xvf)
[Marco Pagani, Christopher Brooks]
* Refactored Chiou and Youngs (2014) GMM to be adjustable using methodology
of the Boore et al (2022) paper
[Michele Simionato]
* Discarded the stations (if any) from the avg_gmf plot
* Added an early check for homeless consequences
* Improved the check for missing site parameters
* Internal: fixed the serialization of logic trees using
simpleFaultGeometryAbsolute, complexFaultGeometryAbsolute or
characteristicFaultGeometryAbsolute
* Added a check when importing hazard_curves.csv files: the values must be
probabilities
* Internal: functions must be shorter than 100 lines and have less than
16 arguments to enter in the engine codebase
* Fixed scenarios with CanadaSHM6 GMPEs and ModifiableGMPE
* Fixed `avg_losses-stats` exporter in the case of a single realization
* Managed duplicated multi fault sources in event based for the New
Zealand model
* Forbidden characters .:; in the branchID
[Michal Kolaj]
* Fixed a couple bugs in the Canadians GMPEs (can_shm6_inslab) causing wrong
means
[Michele Simionato, Paolo Tormene]
* Extended the engine and the WebUI to accept a rupture_file
in the contexts of the Aristotle project
* Extended the engine and the WebUI to run scenario_risk calculations
from USGS ruptures in the contexts of the Aristotle project
[Michele Simionato]
* Raised a clear error for GMF-conditioned calculations with too many sites
* Rounding lon, lat with numpy in oqparam.sites
* Reduced by half the data transfer in classical by using 32 bit rates
* Fixed a bug in `oq zip` which was missing the exposure.csv files
* Introduced a parameter `config.memory.avg_losses_max`
* Changed `import_gmfs_hdf5` to not use ExternalLinks
* Added `oq show usgs_rupture:<usgs_id>` printing the rupture parameters
[Matteo Nastasi]
* Add helper to check consistency between debian/changelog and
CONTRIBUTORS.txt
[Michele Simionato]
* Added an optional flag `config.distribution.compress` to reduce the
data transfer by compressing pickles larger than 1 MB
* Optimized postclassical both for regular and tiling calculations
* Saving disk space in classical calculations (~4x) by gzipping the rates
* Removed Python version checks in install.py
python3-oq-engine (3.19.0-1~xenial01) xenial; urgency=low
[Graeme Weatherill]
* Contributed new GMPEs Weatherill2024ESHM20AvgSA,
Weatherill2024ESHM20SlopeGeologyAvgSA, Weatherill2024ESHM20Homokedastic
and GmpeIndirectAvgSA
[Paolo Tormene, Michele Simionato]
* Added geometry_file to discard ruptures
[Michele Simionato]
* Fixed exporting from calculations with a grand parent
* Added an uniqueness check to source IDs in the same branch
* Extended the command `oq sample` to multi fault sources
* Fixed the reading of ruptures with a multisurface with meshes
of different lengths
* Fixed `oq compare`: the tolerance parameters were ignored
* Fixed a numerical precision error affecting the hazard curves at
very high intensities
* Optimized multi fault sources by moving surface calculations in the
preclassical phase
* Fixed disaggregation in case of mutex sources
[Paolo Tormene]
* Added the possibility to display/hide announcements on top of all WebUI
pages, setting them up via the Django admin interface
[Michele Simionato]
* Fixed ZalachorisRathje2019 (mag > Mb_ -> mag >= Mb_)
* Reduced memory consumption in multiFaultSources
* Implemented batch processing for AELO calculations
[Anirudh Rao]
* Improved the performance of non-parametric liquefaction models
[Michele Simionato]
* Renamed 'fpeak' as 'f0' in the HassaniAtkinson2020 GMPE so that the
Manea2021 GMPE can work
* Internal: extended the command `oq mosaic sample_rups` to multiple models
* After 3 years of deprecation, forbidden custom methods in GMPE classes
* Changed the universal installer to recreate the venv
* Reduced the number of tasks generated by `disagg_by_src` and added
more checks on the naming conventions for the source IDs
* Fixed the gmf_data exporter with a filtered site collection
* Added missing validation on duplicate source IDs for source models
in format nrml/0.5
* The calculation_mode=ebrisk was not honored when starting from GMFs
* Fixed an ordering bug in the IMTs causing two peaks in the UHS in
some situations
* Fixed bug in the WongEtAl2022 GMPEs, reported by Thomas Bornstein
* Added a job.ini parameter `smlt_branch` to reduce the logic tree to
a specific branch
* Internal: extended `oq info` to shapefiles
[Anirudh Rao]
* Fixed the conditioned GMFs calculator in the case all the
stations are filtered away
[Marco Pagani]
* Fixed the algorithm used to generate kite surfaces
[Michele Simionato]
* Changed the weighted quantile algorithm to not depend on numpy.argsort
(since numpy 1.25 argsort produces a different sorting on machines with
AVX-512 enabled processors, causing different quantiles when the weights
are not all equal)
* Improved error message for missing fields in the exposure CSV files
* Internal: removed dbserver.user in openquake.cfg
* Fixed `extract_from_zip` when managing zip files coming from MACOSX
[Paolo Tormene]
* Internal: extended the MosaicGetter to a GlobalModelGetter class with
the ability to associate points to countries
[Michele Simionato]
* Removed the obsolete `by_country` hack when managing the global exposures
* Changed `oq sample` to use pandas for reading/writing CSVs, thus fixing
the issue of quoted newlines
* Fixed `oq check_input exposure.xml`
* Added `rupture_dict` parameter to be used in scenarios
[Marco Pagani]
* Fixed a bug in the calculation of Rjb for gridded surfaces and added a
dependency from alpha_shapes
[Chris di Caprio]
* Contributed many new GMPEs for the New Zealand model
[Michele Simionato]
* Fixed wrong `mean_rates_by_src` in presence of the colon convention
* If there are no sources close to the (single) site, do not raise an error
* Fixed a bug with --hc taking the parent site collection instead of
the child site collection
* Extended the exposure field mapping functionality to map the same
input field to multiple columns in the asset collection
* Removed the experimental aftershock calculator; aftershocks can
be computed by simply including a file delta_rates.csv
[Anirudh Rao]
* Limited the cross-correlation coefficient of GodaAtkinson2009
to have an upper bound of 1.0
[Paolo Tormene]
* Added commands `oq plot mean_hcurves_rtgm,governing_mce,disagg_by_src`
[Michele Simionato]
* Raised the limit on the product `num_assets * num_rlzs` when using
full enumeration by a factor of 10
* Fixed exporting-reimporting GMFs in hdf5 format
* Fixed a bug causing the insured losses to be larger than the
ground losses in some cases
* Added command `oq info executing`
* Added `extract/relevant_gmfs?threshold=` functionality
* Added `extract/ruptures?threshold=` functionality
* Disabling the DbServer with dbserver.host = local
* Fixed `disagg_source` for same ID sources
* Disambiguated same ID sources by appending the branch ID after
the exclamation mark and fixed disagg_by_src accordingly
* Fixed another bug in disaggregation for mutex sources
* Fixed a bug in `disagg_source` for mutex sources: src_mutex
was not passed
* Internal: forced the colon convention on mutex sources
* Fixed a bug in the disaggregation with mutex sources incorrectly
averaging over the rates and not the poes
-- Matteo Nastasi (GEM Foundation) <[email protected]> Mon, 04 Mar 2024 08:47:34 +0000
python3-oq-engine (3.18.0-1~xenial01) xenial; urgency=low
[Michele Simionato]
* Fixed the command `oq extract ruptures` producing wrong newlines on
Windows
[Paolo Tormene, Michele Simionato]
* Fixed an ordering bug in the tagnames in `extract_agg_curves` breaking
the QGIS plugin
[Michele Simionato]
* Fixed the function `get_mean_stddevs_cy14` to recover the same results
for the Canada SHM6 model as in engine 3.11
* Required at least Python 3.10.6 on mac and windows
[Claudio Schill]
* Optimized the Kuehn sigma_mu_adjustment calculation by replacing the
multi-step interpolation with a single 2D/3D space interpolation
[Michele Simionato]
* Fixed a bug in calculations with a filtered site collection using the
HM2018CorrelationModel
* Internal: raised a clear error message when get_composite_source_model is
called without passing a datastore in presence of multifault sources
[Christopher Brooks]
* Added non-ergodic implementation of Zhao et al. (2016) GMM (ray-tracing
of travel paths through anelastically attenuating volcanic regions and
subsequent adjustment of the path term based on this distance to reduce
the predicted ground-motion).
[Michele Simionato]
* Optimized (2x) the generation of ground motion fields
* Internal: using a single random number generator inside the GmfComputer
and not one for each gsim, causing an artificial correlation between gsims
* Implemented `maximum_distance_stations` and fixed another site
collection filtering bug in conditioned GMFs
* Extended conditioned GMFs to number_of_ground_motion_fields > 1
* Disabled SLOW MODE on macOS, since the amount of free memory returned by
psutil cannot be trusted
* Speeding up `count_ruptures` for multifault sources, which gives a *huge*
in some calculations (like event_based for Dominican Republic)
[Marco Pagani]
* Fixed a bug in the code that resamples a line, with a small effect
on the hazard of models containing simple fault sources
[Michele Simionato]
* Optimized the calculation of quantile hazard maps (7x)
* Internal: stored `_rates` instead of `_poes` in classical calculations
[Lana Todorovic, Anirudh Rao]
* Added several regional liquefaction models to the secondary perils module,
including:
ZhuEtAl2017LiquefactionCoastal and ZhuEtAl2017LiquefactionGeneral,
RashidianBaise2020Liquefaction, AllstadtEtAl2022Liquefaction,
AkhlagiEtAl2021LiquefactionA and AkhlagiEtAl2021LiquefactionB
(experimental),
Bozzoni2021LiquefactionEurope, TodorovicSilva2022NonParametric
* Added new site parameters required by some of these new models to site.py
* Added LiqOccur as a valid IMT, referring to the occurrence or
non-occurrence of liquefaction at a site
* Added basic documentation for the secondary perils module
(originally written by @cossatot and extended by @LanaTodorovic93)
* Added rock-slope co-seismic failure computation of Grant et al. (2016)
[Michele Simionato]
* Fixed sanity check on avg_losses and aggrisk breaking for event_based_damage
calculations following event_based_risk calculations
* Fixed a bug in avg_gmf causing the average to be computed incorrectly
* Removed the XML exporters for hazard curves, maps and uniform hazard spectra
after nearly 5 years of deprecation
[Paolo Tormene]
* In the WebUI users are not allowed to see other users outputs by default
(the old default can be obtained setting ACL_ON = False)
[Manuela Villani, Michele Simionato, Paolo Tormene]
* Produced ASCE-7 and ASCE-41 outputs for the AELO project and hidden
a few internal outputs
[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
[Paolo Tormene]
* Upgraded requirements: Shapely to version 2.0.1 and Pandas to version 2.0.3
[Michele Simionato, Paolo Tormene]
* Implemented AEP, OEP curves
[Michele Simionato]
* Internal: changed events.year to be in the range 1..eff_time
* Enhanced `oq engine --delete-calculation` to remove calculation files
even if the DbServer is on a remote machine
* Fixed another site collection filtering bug in conditioned GMFs
* Fixed a regression in `oq reaggregate`
* Better error message for logic trees with branchsets exceeding the limit
* Fixed a bug with mutex sources and disagg_by_src
[Manuela Villani, Kendra Johnson, Michele Simionato]
* Implemented Risk Targeted Ground motion for the AELO project
[Paolo Tormene]
* Fixed consequence calculations for 'homeless', 'fatality' and 'injury'
with/without a specified 'time_event'
* Raise an early error if any station data has zero intensity value
[Michele Simionato, Paolo Tormene]
* Internal: checking encoding and newlines of all CSV files in the repository
[Christopher Brooks]
* Implemented the Atkinson (2015) GMPE with the alt. eff. depth model
[Michele Simionato]
* Fixed a bug in event based risk calculations with
aggregate_by(parent) != aggregate_by(child)
* Fixed a bug when exporting `risk_by_event` in absence of ruptures
* Fixed a bug by not exporting `event_based_mfd` in absence of ruptures
* Enabled the pointsource_distance approximation by default at 100 km
* Fixed an error with sources below the minimum_magnitude
* Introduced support for SLURM (experimental)
* Fixed bug in conditioned GMFs, due to the station sites being excluded
from the complete site collection
* Reduced slow tasks and memory consumption
in the event_based_risk calculator (3x for Chile)
[Paolo Tormene]
* Raise an error if files specified in site_model_file do not have the same
headers
* Give a better error message for risk calculations where the aggregate_by
tag is specified but it doesn't exist in the exposure model
[Michele Simionato]
* Improved error message when quantiles are not supported in event based risk
* Reduced memory consumption in the master node in post_risk
* Reduced slow tasks in the ebrisk calculator and memory consumption
in the master node
[Paolo Tormene]
* Fixed bug #8907: unable to run ClassicalDamage demo on Windows
[Astha Poudel, Anirudh Rao, Paolo Tormene]
* Updates to the infrastructure risk assessment and connectivity analysis
module to incorporate additional performance metrics including Complete
Connectivity Loss (CCL), Partial Connectivity Loss (PCL), Weighted
Connectivity Loss (WCL), and Efficiency Loss (EL) based on
Poudel et al. (2023).
* Implemented the possibility of including both weighted and unweighted
graphs for infrastructure risk.
* Implemented the possibility of including simple undirected graphs, simple
directed graphs, multigraphs and multi-directed graphs.
* Implemented the Bradley (2012) cross-correlation equations between peak
ground velocity (PGV), peak ground acceleration (PGA), and 5% damped
pseudo-spectral acceleration (SA)
[Michele Simionato]
* Moved the generation of the hazard curves from the GMFs in post_execute
* Fixed the error "You must supply a list of magnitudes as 2-digit strings"
when starting from ruptures in a model with GMPETables (i.e. Canada)
* Replaced sequential tiling with parallel tiling in large classical
calculations
* Huge reduction of the memory usage in the event_based calculator; also,
reduced the slow tasks
-- Matteo Nastasi (GEM Foundation) <[email protected]> Wed, 25 Oct 2023 12:34:09 +0000
python3-oq-engine (3.17.0-2~xenial01) xenial; urgency=low
[Michele Simionato]
* Raise an early error if the user disable both realizations and statistics
* Internal: added dbserver.user in openquake.cfg
* Solved the hanging of classical calculations due to large zmq packets
and reduced memory occupation
[Marco Pagani, Michele Simionato]
* Added support for the "direct" method in MRD calculations
[Michele Simionato]
* Reimplemented the conditional_spectrum calculator as a post-processor
[Paolo Tormene, Michele Simionato]
* Raise an error when the same parameter is set in different sections
of the job.ini file
[Michele Simionato]
* Fixed tau-phi inversion in LanzanoLuzi2019
* 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 <area> 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 <imt>`
* 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 <lon>,<lat>` 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