예제 #1
0
                dists = [rcp + "-" + str(year) for year in years]

            for ii in range(len(dists)):
                if ii < len(values) and values[ii] is not None:
                    impacts.collect_in_dictionaries(
                        data, combine_years(values[ii]), dists[ii], region, collection, model
                    )

    if batches == "truehist":
        rcps = ["truehist"]
    else:
        rcps = results.rcps

    # Combine across all batch-realizations that have all models
    for rcp in rcps:
        model_weights = weights.get_weights(rcp)

        if do_yearsets:
            dists = [rcp + "-" + str(years[0]) for years in yearses]
        else:
            dists = [rcp + "-" + str(year) for year in years]

        for dist in dists:
            if dist not in data:
                continue

            with open(os.path.join(outdir, impact + "-" + dist + ".csv"), "w") as csvfp:
                writer = csv.writer(csvfp, quoting=csv.QUOTE_MINIMAL)
                if output_format == "edfcsv":
                    writer.writerow(["region"] + map(lambda q: "q" + str(q), evalpvals))
                elif output_format == "valuescsv":
예제 #2
0
    print "Creating file: " + str(filestuff)
    with open(configs.csv_makepath(filestuff, config), 'w') as fp:
        writer = csv.writer(fp, quoting=csv.QUOTE_MINIMAL)
        rownames = configs.csv_rownames(config)

        if output_format == 'edfcsv':
            writer.writerow(rownames +
                            map(lambda q: 'q' + str(int(q * 100)), evalqvals))
        elif output_format == 'valuescsv':
            writer.writerow(rownames +
                            ['batch', 'gcm', 'iam', 'value', 'weight'])

        for rowstuff in configs.csv_sorted(data[filestuff].keys(), config):
            print "Outputing row: " + str(rowstuff)
            if do_gcmweights:
                model_weights = weights.get_weights(
                    configs.csv_organized_rcp(filestuff, rowstuff, config))

            allvalues = []
            allweights = []
            allmontevales = []

            for batch, gcm, iam in data[filestuff][rowstuff]:
                value = data[filestuff][rowstuff][(batch, gcm, iam)]
                if do_gcmweights:
                    weight = model_weights[gcm]
                else:
                    weight = 1.

                allvalues.append(value)
                allweights.append(weight)
                allmontevales.append([batch, gcm, iam])
예제 #3
0
            for ii in range(len(dists)):
                if ii < len(values) and values[ii] is not None:
                    impacts.collect_in_dictionaries(data,
                                                    combine_years(values[ii]),
                                                    dists[ii], region,
                                                    collection, model)

    if batches == 'truehist':
        rcps = ['truehist']
    else:
        rcps = results.rcps

    # Combine across all batch-realizations that have all models
    for rcp in rcps:
        model_weights = weights.get_weights(rcp)

        if do_yearsets:
            dists = [rcp + '-' + str(years[0]) for years in yearses]
        else:
            dists = [rcp + '-' + str(year) for year in years]

        for dist in dists:
            if dist not in data:
                continue

            with open(os.path.join(outdir, impact + '-' + dist + '.csv'),
                      'w') as csvfp:
                writer = csv.writer(csvfp, quoting=csv.QUOTE_MINIMAL)
                if output_format == 'edfcsv':
                    writer.writerow(['region'] +