Exemplo n.º 1
0
def handle(infiles, tables, user_input_path, **kwargs):
    """
    Parameters
    ----------
        infiles (List): a list of strings of file names for the raw input data
        tables (str): path to CMOR tables
        user_input_path (str): path to user input json file
    Returns
    -------
        var name (str): the name of the processed variable after processing is complete
    """
    return handle_variables(metadata_path=user_input_path,
                            tables=tables,
                            table=TABLE,
                            infiles=infiles,
                            raw_variables=RAW_VARIABLES,
                            write_data=write_data,
                            outvar_name=VAR_NAME,
                            outvar_units=VAR_UNITS,
                            serial=kwargs.get('serial'),
                            levels=LEVELS,
                            logdir=kwargs.get('logdir'))


# ------------------------------------------------------------------
Exemplo n.º 2
0
def handle(infiles, tables, user_input_path, **kwargs):
    """
    Transform E3SM.TS into CMIP.ts
    Parameters
    ----------
        infiles (List): a list of strings of file names for the raw input data
        tables (str): path to CMOR tables
        user_input_path (str): path to user input json file
    Returns
    -------
        var name (str): the name of the processed variable after processing is complete
    """
    return handle_variables(
        metadata_path=user_input_path,
        tables=tables,
        table=kwargs.get('table', TABLE),
        infiles=infiles,
        raw_variables=RAW_VARIABLES,
        write_data=write_data,
        outvar_name=VAR_NAME,
        outvar_units=VAR_UNITS,
        serial=kwargs.get('serial'),
        positive=POSITIVE,
        logdir=kwargs.get('logdir'),
        simple=kwargs.get('simple'),
        outpath=kwargs.get('outpath'))
Exemplo n.º 3
0
def handle(infiles, tables, user_input_path, **kwargs):
    return handle_variables(metadata_path=user_input_path,
                            tables=tables,
                            table=TABLE,
                            infiles=infiles,
                            raw_variables=RAW_VARIABLES,
                            write_data=write_data,
                            outvar_name=VAR_NAME,
                            outvar_units=VAR_UNITS,
                            serial=kwargs.get('serial'),
                            logdir=kwargs.get('logdir'))
Exemplo n.º 4
0
def handle(infiles, tables, user_input_path, **kwargs):

    return handle_variables(metadata_path=user_input_path,
                            tables=tables,
                            table=kwargs.get('table', TABLE),
                            infiles=infiles,
                            raw_variables=RAW_VARIABLES,
                            write_data=write_data,
                            outvar_name=VAR_NAME,
                            outvar_units=VAR_UNITS,
                            serial=kwargs.get('serial'),
                            positive=POSITIVE,
                            logdir=kwargs.get('logdir'),
                            simple=kwargs.get('simple'),
                            outpath=kwargs.get('outpath'))
Exemplo n.º 5
0
def default_handler(infiles, tables, user_input_path, **kwargs):
    RAW_VARIABLES = kwargs['raw_variables']

    def write_data(varid, data, timeval, timebnds, index, **kwargs):
        cmor.write(
            varid,
            data[ RAW_VARIABLES[0] ][index, :],
            time_vals=timeval,
            time_bnds=timebnds)
            
    return handle_variables(
        metadata_path=user_input_path,
        tables=tables,
        table=kwargs['table'],
        infiles=infiles,
        raw_variables=RAW_VARIABLES,
        write_data=write_data,
        outvar_name=kwargs['name'],
        outvar_units=kwargs['units'],
        serial=kwargs.get('serial'),
        positive=kwargs.get('positive'),
        logdir=kwargs.get('logdir'))
# ------------------------------------------------------------------
Exemplo n.º 6
0
def default_handler(infiles, tables, user_input_path, **kwargs):
    
    RAW_VARIABLES = kwargs['raw_variables']
    unit_conversion = kwargs.get('unit_conversion')
    
    def write_data(varid, data, timeval=None, timebnds=None, index=None, **kwargs):
        
        if timeval is not None:
            if unit_conversion is not None:
                if unit_conversion == 'g-to-kg':
                    outdata =  data[RAW_VARIABLES[0] ][index, :] / 1000.0
                elif unit_conversion == '1-to-%':
                    outdata =  data[RAW_VARIABLES[0] ][index, :] * 100.0
                elif unit_conversion == 'm/s-to-kg/ms':
                    outdata = data[RAW_VARIABLES[0] ][index, :] * 1000
                elif unit_conversion == '-1':
                    outdata =  data[RAW_VARIABLES[0] ][index, :] * -1
                else:
                    raise ValueError(f"{unit_conversion} isnt a supported unit conversion for default variables")
            else:
                outdata = data[ RAW_VARIABLES[0] ][index, :]
        else:
            if unit_conversion is not None:
                if unit_conversion == 'g-to-kg':
                    outdata =  data[RAW_VARIABLES[0] ] / 1000.0
                elif unit_conversion == '1-to-%':
                    outdata =  data[RAW_VARIABLES[0] ] * 100.0
                elif unit_conversion == 'm/s-to-kg/ms':
                    outdata = data[RAW_VARIABLES[0] ] * 1000
                elif unit_conversion == '-1':
                    outdata =  data[RAW_VARIABLES[0] ] * -1
                else:
                    raise ValueError(f"{unit_conversion} isnt a supported unit conversion for default variables")
            else:
                outdata = data[ RAW_VARIABLES[0] ]

        if kwargs.get('simple'):
            return outdata

        if timeval:
            cmor.write(
                varid,
                outdata,
                time_vals=timeval,
                time_bnds=timebnds)
        else:
            cmor.write(varid, outdata)
        return outdata
            
    return handle_variables(
        metadata_path=user_input_path,
        tables=tables,
        table=kwargs['table'],
        infiles=infiles,
        raw_variables=RAW_VARIABLES,
        write_data=write_data,
        outvar_name=kwargs['name'],
        outvar_units=kwargs['units'],
        serial=kwargs.get('serial'),
        positive=kwargs.get('positive'),
        logdir=kwargs.get('logdir'),
        simple=kwargs.get('simple'),
        outpath=kwargs.get('outpath'))
# ------------------------------------------------------------------