Skip to content
Snippets Groups Projects
schema.py 5.14 KiB
from numpy import float32
from collections import namedtuple


Var = namedtuple('Var', ['type', 'standard_name', 'name', 'description', 'units', 'valid_min', 'valid_max', 'valid_delta'])


database = dict(
    box_temp=Var(
        float32,
        'air_temperature',
        'box_temp',
        'Auxillary Temperature',
        'degC',
        None,
        None,
        None,
        ),
    box_pressure=Var(
        float32,
        'air_pressure',
        'box_pressure',
        'Pressure inside the data logger enclosure',
        'hPa',
        '850',
        '1100',
        None,
    ),
    paro_air_temp_period=Var(
        float32,
        None,
        'paro_air_temp_period',
        None,
        '1',
        None,
        None,
        None,
        ),
    paro_pressure_period=Var(
        float32,
        None,
        'paro_pressure_period',
        None,
        '1',
        None,
        None,
        None,
    ),
    paro_air_temp=Var(
        float32,
        'air_temperature',
        'paro_air_temp',
        None,
        'degC',
        '-50', 
        '50',
        None,
        ),
    pressure=Var(
        float32,
        'air_pressure',
        'pressure',
        'Air pressure as measured from the PAROSCI pressure sensor',
        'hPa',
        '850',
        '1100',
        None,
        ),
    paro_cal_sig=Var(
        float32,
        None,
        'paro_cal_sig',
        None,
        None,
        None,
        None,
        None,
        ),
    box_rh=Var(
        float32,
        'relative_humidity',
        'box_rh',
        'Relative humidity inside the data logger enclosure',
        '%',
        '0',
        '100',
        None,
        ),
    box_air_temp=Var(
        float32,
        'air_temperature',
        'box_air_temp',
        'Air temperature inside the data logger enclosure',
        'degC',
        '-50',
        '50',
        None,
        ),
    air_temp_2=Var(
        float32,
        'air_temperature',
        'air_temp_2',
        'Auxillary air temperature',
        'degC',
        '-50',
        '50',
        None,
        ),
    air_temp_3=Var(
        float32,
        'air_temperature',
        'air_temp_3',
        'Auxillary air temperature',
        'degC',
        '-50',
        '50',
        None,
        ),
    air_temp_4=Var(
        float32,
        'air_temperature',
        'air_temp_4',
        'Auxillary air temperature',
        'degC',
        '-50',
        '50',
        None,
        ),
    air_temp_5=Var(
        float32,
        'air_temperature',
        'air_temp_5',
        'Auxillary air temperature',
        'degC',
        '-50',
        '50',
        None,
        ),
    wind_speed=Var(
        float32,
        'wind_speed',
        'wind_speed',
        'Wind speed',
        'm*s^-1',
        '0',
        '50',
        None,
        ),
    wind_dir=Var(
        float32,
        'wind_from_direction',
        'wind_dir',
        'Wind direction',
        'degrees',
        '0',
        '360',
        None,
        ),
    rh_shield_freq=Var(
        float32,
        None,
        'rh_shield_freq',
        None,
        'hz',
        None,
        None,
        None,
        ),
    rh=Var(
        float32,
        'relative_humidity',
        'rh',
        'Relative humidity',
        '%',
        '0',
        '100',
        None,
        ),
    air_temp_6_3m=Var(
        float32,
        'air_temperature',
        'air_temp_6_3m',
        'Air temperature 6.3m from tower base',
        'degC',
        '-50',
        '50',
        None,
        ),
    dewpoint=Var(
        float32,
        'dew_point_temperature',
        'dewpoint',
        'Calculated dewpoint temperature',
        'degC',
        '-50',
        '50',
        None,
    ),
    rtd_shield_freq=Var(
        float32,
        None,
        'rtd_shied_freq',
        None,
        None,
        None,
        None,
        None,
        ),
    air_temp=Var(
        float32,
        'air_temperature',
        'air_temp',
        'Air temperature',
        'degC',
        '-50',
        '50',
        None,
        ),
    solar_flux=Var(
        float32,
        'solar_flux',
        'solar_flux',
        'Solar flux',
        'w*m^-2',
        '0',
        '3000',
        None,
    ),
    precip=Var(
        float32,
        None,
        'precip',
        'Precipitation',
        'mm',
        '0',
        '254',
        None,
        ),
    accum_precip=Var(
        float32,
        'accumulated_precipitation',
        'accum_precip',
        'Precipitation accumulated since 0Z',
        'mm',
        '0',
        '254',
        None,
        ),
    altimeter=Var(
        float32,
        None,
        'altimeter',
        None,
        'inHg',
        None,
        None,
        None,
        ),
    gust=Var(
        float32,
        'wind_speed_of_gust',
        'gust',
        'Wind gust over the previous 2 minutes',
        'm/s',
        '0',
        '50',
        None,
    )
)

database_dict = {k: v._asdict() for k, v in database.items()}

met_vars = {'air_temp', 'dewpoint', 'rh', 'solar_flux', 'pressure', 'precip', 'accum_precip',
            'wind_speed', 'wind_dir', 'gust'}
engr_vars = set(database.keys()) - met_vars