Beispiel #1
0
def build_output_graph():
    from awrams.utils.nodegraph import nodes,graph

    from awrams.models import awral
    from awrams.models.awral import ffi_wrapper as fw
    from awrams.models.awral.template import DEFAULT_TEMPLATE

    output_map = awral.get_output_nodes(DEFAULT_TEMPLATE)
    print(output_map)

    outpath = '/data/cwd_awra_data/awra_test_outputs/sbaronha/sim_test_outputs/'
    output_map.mapping.update({
        's0_avg': nodes.transform(nodes.average,['s0_dr','s0_sr']),
        's0_avg_save': nodes.write_to_annual_ncfile(outpath,'s0_avg'),

        'ss_avg': nodes.transform(nodes.average,['ss_dr','ss_sr']),
        'ss_avg_save': nodes.write_to_annual_ncfile(outpath,'ss_avg'),

        # 'sd_avg': nodes.transform(nodes.average,['s0_dr','s0_sr']),
        # 'sd_avg_save': nodes.write_to_annual_ncfile('./','s0_avg'),
        #
        # 'qtot_avg_save': nodes.write_to_annual_ncfile('./','qtot'),
        # 'etot_avg_save': nodes.write_to_annual_ncfile('./','etot')
        })
    outputs = graph.OutputGraph(output_map.mapping)
    # print(outputs.get_dataspecs())
    # print(outputs.get_dataspecs(flat=True))
    return outputs
def setup():
    from os.path import join, dirname

    from awrams.utils import datetools as dt

    from awrams.utils.nodegraph import nodes, graph
    from awrams.models import awral
    from awrams.models.awral.template import DEFAULT_TEMPLATE
    from awrams.utils.mapping_types import period_to_tc

    global period
    period = dt.dates('dec 2010 - jan 2011')

    global input_map
    input_map = awral.get_default_mapping()
    change_path_to_forcing(input_map)

    global output_map
    output_map = awral.get_output_nodes(DEFAULT_TEMPLATE)

    global outpath
    outpath = join(dirname(__file__), '..', '..', 'test_data', 'simulation',
                   'outputs')

    output_map.mapping['s0_ncsave'] = nodes.write_to_annual_ncfile(
        outpath, 's0')
    outgraph = graph.OutputGraph(output_map.mapping)
Beispiel #3
0
def test_simple_outputs(period,extent,output_mapping=None):
    # from awrams.utils.nodegraph import nodes, graph
    # from awrams.models.awral import transforms
    # import numpy as np

    # from awrams.utils import extents
    from awrams.utils import mapping_types as mt
    from awrams.utils import datetools as dt

    # from awrams.utils.messaging import message

    from awrams.models import awral

    mapping = awral.get_default_mapping()

    if output_mapping is None:
        from awrams.models.awral.template import DEFAULT_TEMPLATE
        output_mapping = awral.get_output_nodes(DEFAULT_TEMPLATE)

    ### initialise output ncfiles
    # coords = [mt.period_to_tc(period)]
    # coords.extend(mt.extent_to_spatial_coords(extent))
    # o = graph.OutputGraph(output_mapping.mapping)
    # o.initialise(coords)

    max_dims = {'cell': 32*32,'time': 366}

    for k,v in mapping.dimensions.items():
        if v is not None:
            max_dims[k] = v

    # periods = dt.split_period(period,'a')

    #chunks = [extents.from_boundary_offset(400,400,431,431),\
    #      extents.from_boundary_offset(200,200,201,201)]

    # from awrams.utils.catchments import subdivide_extent
    # #e = extents.default()
    # e = extent #.from_boundary_offset(200,200,250,250)
    # chunks = subdivide_extent(e,32)

    import time

    start = time.time()

    test_sim(awral,max_dims,mapping,output_mapping,period,extent) #periods,chunks)

    end = time.time()

    print(end-start)
Beispiel #4
0
def build_output_graph():
    from awrams.utils.nodegraph import nodes, graph

    from awrams.models import awral
    from awrams.models.awral import ffi_wrapper as fw
    from awrams.models.awral.template import DEFAULT_TEMPLATE

    output_map = awral.get_output_nodes(DEFAULT_TEMPLATE)
    print(output_map)

    output_map.mapping.update({
        's0_avg':
        nodes.transform(nodes.average, ['s0_dr', 's0_sr']),
        's0_avg_save':
        nodes.write_to_annual_ncfile('./', 's0_avg')
    })
    outputs = graph.OutputGraph(output_map.mapping)
    print(outputs.get_dataspecs())
    print(outputs.get_dataspecs(flat=True))
    return outputs