Skip to content

Commit 089bec1

Browse files
committed
Removed zeros in agg_keys
1 parent c087012 commit 089bec1

7 files changed

Lines changed: 13 additions & 9 deletions

File tree

openquake/calculators/export/risk.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -595,12 +595,12 @@ def _fix(col):
595595

596596

597597
@export.add(('agg_keys', 'csv'))
598-
def export_agg_values_csv(ekey, dstore):
598+
def export_agg_keys_csv(ekey, dstore):
599599
"""
600600
:param ekey: export key, i.e. a pair (datastore key, fmt)
601601
:param dstore: datastore object
602602
"""
603-
df = extract(dstore, 'agg_keys?')
603+
df = extract(dstore, ekey[0] + '?')
604604
writer = writers.CsvWriter(fmt=writers.FIVEDIGITS)
605605
fname = dstore.export_path('%s.%s' % ekey)
606606
writer.save(df, fname, comment=dstore.metadata)

openquake/calculators/extract.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -819,20 +819,22 @@ def extract_agg_curves(dstore, what):
819819
def extract_agg_keys(dstore, what):
820820
"""
821821
Aggregate the exposure values (one for each loss type) by tag. Use it as
822-
/extract/agg_values?
822+
/extract/agg_keys?
823823
"""
824824
aggby = dstore['oqparam'].aggregate_by[0]
825825
keys = numpy.array([line.decode('utf8').split('\t')
826826
for line in dstore['agg_keys'][:]])
827827
values = dstore['agg_values'][:-1] # discard the total aggregation
828+
ok = values['structural'] > 0
829+
okvalues = values[ok]
828830
dic = {}
829831
for i, tag in enumerate(aggby):
830-
dic[tag] = keys[:, i]
832+
dic[tag] = keys[ok, i]
831833
for name in values.dtype.names:
832-
dic[name] = values[name]
834+
dic[name] = okvalues[name]
833835
return pandas.DataFrame(dic)
834836

835-
837+
836838
@extract.add('agg_losses')
837839
def extract_agg_losses(dstore, what):
838840
"""

openquake/engine/tests/aristotle1/job.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@ maximum_distance = 600
1010
number_of_ground_motion_fields = 10
1111
asset_hazard_distance = 50
1212
tectonic_region_type = Active Shallow Crust
13+
aggregate_by = ID_1,OCCUPANCY

openquake/engine/tests/aristotle2/job.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@ maximum_distance = 400
1010
number_of_ground_motion_fields = 10
1111
asset_hazard_distance = 50
1212
tectonic_region_type = Tectonic_Type_A
13+
aggregate_by = ID_1,OCCUPANCY

openquake/engine/tests/aristotle3/job.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@ maximum_distance = 600
1010
number_of_ground_motion_fields = 10
1111
asset_hazard_distance = 50
1212
tectonic_region_type = Shallow Default
13+
aggregate_by = ID_1,OCCUPANCY

openquake/engine/tests/aristotle4/job.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@ maximum_distance = 600
1010
number_of_ground_motion_fields = 10
1111
asset_hazard_distance = 15
1212
tectonic_region_type = Active Shallow Crust
13+
aggregate_by = ID_1,OCCUPANCY
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
#,,,,,"generated_by='OpenQuake engine 3.22.0-gitda13fd23a5', start_date='2025-01-16T06:28:17', checksum=1040388326"
1+
#,,,,,"generated_by='OpenQuake engine 3.22.0-gitc08701244a', start_date='2025-01-17T06:03:23', checksum=1040388326"
22
policy,taxonomy,number,nonstructural,structural,area
33
A,RC,5.00000E+02,1.00000E+03,2.00000E+03,1.00000E+01
44
A,RM,3.00000E+00,1.50000E+03,3.00000E+03,1.00000E+01
5-
A,W,0.00000E+00,0.00000E+00,0.00000E+00,0.00000E+00
6-
B,RC,0.00000E+00,0.00000E+00,0.00000E+00,0.00000E+00
75
B,RM,1.00000E+01,2.50000E+03,5.00000E+03,1.00000E+00
86
B,W,1.00000E+03,5.00000E+02,1.00000E+03,1.00000E+01

0 commit comments

Comments
 (0)