예제 #1
0
def reftag_from_defstring(ref, in_group, ref_type):
    # Build a reftag from a definition string component
    names = split_noempties(ref, '=')
    if len(names) == 1:
        role_name, ref_name = None, names[0]
    else:
        # Note: if we had a=b=c=...=y=z, discard all but first + last
        role_name, ref_name = names[0], names[-1]
    ref = ncg.find_named_definition(in_group, ref_name, ref_type)
    return _RefTag(role_name, ref)
예제 #2
0
파일: nc_dataset.py 프로젝트: pp-mo/ncobj
def _make_variable(ds, var_name, group):
    var = ds.variables[var_name]
    dims = []
    for dim_name in var.dimensions:
        dim = ncg.find_named_definition(group, dim_name, nco.Dimension)
        if dim is None:
            # TODO: this error could use a group-path-string adding.
            raise ValueError('Dimension "{}" of variable "{}" not found in '
                             'input file.'.format(dim_name, var_name))
        dims.append(dim)

    attrs = [nco.Attribute(attr_name, value=var.getncattr(attr_name))
             for attr_name in var.ncattrs()]

    new_var = nco.Variable(name=var_name,
                           attributes=attrs,
                           data=var,
                           dtype=None)  # N.B. for now, types are not working..
    for dim in dims:
        new_var.dimensions.append(dim)

    return new_var