diff --git a/utils/fix_consequences b/utils/fix_consequences index 8d14683309d..0a15bb53575 100755 --- a/utils/fix_consequences +++ b/utils/fix_consequences @@ -21,25 +21,21 @@ import pandas from openquake.baselib import sap +# fix old consequence functions before engine version 3.23 def main(taxonomy_mapping: str, consequences: str): """ Use the taxonomy mapping to upgrade risk_id-based consequence functions to taxonomy-based consequence functions """ tmap = pandas.read_csv(taxonomy_mapping).set_index('conversion') - for conseq in consequences: - cons = pandas.read_csv(conseq).set_index('taxonomy') - cols = ['taxonomy'] + list(cons.columns) - df = cons.join(tmap, how='inner')[cols] - df.index.names = ['risk_id'] - dfs = [] - for _, grp in df.groupby(['taxonomy', 'consequence', 'loss_type']): - dfs.append(grp[0:1]) # take the first row - df = pandas.concat(dfs) - df.to_csv(conseq) - -main.taxonomy_mapping = 'filename' -main.consequences = dict(help='files', nargs='+') + cons = pandas.read_csv(consequences).set_index('taxonomy') + cols = ['taxonomy'] + list(cons.columns) + df = cons.join(tmap, how='inner')[cols] + df.index.names = ['risk_id'] + dfs = [] + for _, grp in df.groupby(['taxonomy', 'consequence', 'loss_type']): + dfs.append(grp[0:1]) # take the first row + pandas.concat(dfs).to_csv(consequences) if __name__ == '__main__':