Module cvtool.TABLES.test_functions

Expand source code
ACCEPTED_VARS = ['branded_variable_name', 'cell_measures', 'cell_methods', 'comment', 
                        'dimensions', 'frequency', 'long_name', 'modeling_realm', 
                        'out_name', 'positive', 'provenance', 'standard_name', 
                        'type', 'units']

tests = {
    'branded_variable_name': lambda x: isinstance(x, str),
    'cell_measures': lambda x: isinstance(x, str),
    'cell_methods': lambda x: isinstance(x, str),
    'comment': lambda x: isinstance(x, str),
    'dimensions': lambda x: isinstance(x, str),
    'frequency': lambda x: isinstance(x, str),
    'long_name': lambda x: isinstance(x, str),
    'modeling_realm': lambda x: isinstance(x, str),
    'ok_max_mean_abs': lambda x: isinstance(x, str) or isinstance(x, float),
    'ok_min_mean_abs': lambda x: isinstance(x, str) or isinstance(x, float),
    'out_name': lambda x: isinstance(x, str),
    'positive': lambda x: isinstance(x, str),
    'provenance': lambda x: isinstance(x, dict),
    'standard_name': lambda x: isinstance(x, str),
    'type': lambda x: isinstance(x, str),
    'units': lambda x: isinstance(x, str),
    'valid_max': lambda x: isinstance(x, str) or isinstance(x, float),
    'valid_min': lambda x: isinstance(x, str) or isinstance(x, float)
}

template = {
    "branded_variable_name": "new_variable_name",
    "cell_measures": "area: areacella",
    "cell_methods": "area: mean time: point",
    "comment": "This is a new variable.",
    "dimensions": "longitude latitude time1",
    "frequency": "3hrPt",
    "long_name": "New Variable",
    "modeling_realm": "atmosphere",
    "ok_max_mean_abs": "",
    "ok_min_mean_abs": "",
    "out_name": "new_var",
    "positive": "up",
    "provenance": {
        "CMIP6": {
            "dreq_uid": "new_uid",
            "mip_table": "E3hrPt",
            "variable_name": "new_variable_name"
        }
    },
    "standard_name": "new_standard_name",
    "type": "real",
    "units": "W m-2",
    "valid_max": "",
    "valid_min": ""
}