<filename>src/pynwm/constants.py
SINCE_DATE = '1970-01-01 00:00:00 UTC'

V1_1_DATE = '20170508t12-00'
V2_0_DATE = '20190619t12-00'

SCHEMAv1_0 = {'id_dim': 'station',
              'id_var': 'station_id',
              'flow_dtype': 'f'}

SCHEMAv1_1 = {'id_dim': 'feature_id',
              'id_var': 'feature_id',
              'flow_dtype': 'i',
              'flow_attrs': [('long_name', 'River Flow'),
                             ('units', 'm3 s-1'),
                             ('scale_factor', 0.01),
                             ('add_offset', 0.0),
                             ('missing_value', -999900)],
              'time_attrs': [('long_name', 'valid output time'),
                             ('standard_name', 'time')],
              'id_attrs': [('long_name', 'Reach ID'),
                           ('comment', 'NHDPlusv2 ComIDs within CONUS, arbitrary Reach IDs outside of CONUS')],
              'fill_val_int': -999900,
              'fill_val_float': -9999.0}  # fill_val_int * scale_factor

PRODUCTSv1_0 = {'analysis_assim': {'channel': 'analysis_assim.channel_rt',
                                   'max_time_step': 'tm00',
                                   'step_hrs': 1,
                                   'steps': 1,
                                   'offset_hrs': 3},
                'short_range': {'channel': 'short_range.channel_rt',
                                'max_time_step': 'f015',
                                'step_hrs': 1,
                                'steps': 15,
                                'offset_hrs': 1},
                'medium_range': {'channel': 'medium_range.channel_rt',
                                 'max_time_step': 'f240',
                                 'step_hrs': 3,
                                 'steps': 80,
                                 'offset_hrs': 3},
                'long_range_mem1': {'channel': 'long_range.channel_rt_1',
                                    'max_time_step': 'f720',
                                    'step_hrs': 6,
                                    'steps': 120,
                                    'offset_hrs': 6},
                'long_range_mem2': {'channel': 'long_range.channel_rt_2',
                                    'max_time_step': 'f720',
                                    'step_hrs': 6,
                                    'steps': 120,
                                    'offset_hrs': 6},
                'long_range_mem3': {'channel': 'long_range.channel_rt_3',
                                    'max_time_step': 'f720',
                                    'step_hrs': 6,
                                    'steps': 120,
                                    'offset_hrs': 6},
                'long_range_mem4': {'channel': 'long_range.channel_rt_4',
                                    'max_time_step': 'f720',
                                    'step_hrs': 6,
                                    'steps': 120,
                                    'offset_hrs': 6}}

PRODUCTSv1_1 = {'analysis_assim': {'channel': 'analysis_assim.channel_rt',
                                   'max_time_step': 'tm02',
                                   'step_hrs': 1,
                                   'steps': 3,
                                   'offset_hrs': 3},
                'short_range': {'channel': 'short_range.channel_rt',
                                'max_time_step': 'f018',
                                'step_hrs': 1,
                                'steps': 18,
                                'offset_hrs': 1},
                'medium_range': {'channel': 'medium_range.channel_rt',
                                 'max_time_step': 'f240',
                                 'step_hrs': 3,
                                 'steps': 80,
                                 'offset_hrs': 3},
                'long_range_mem1': {'channel': 'long_range.channel_rt_1',
                                    'max_time_step': 'f720',
                                    'step_hrs': 6,
                                    'steps': 120,
                                    'offset_hrs': 6},
                'long_range_mem2': {'channel': 'long_range.channel_rt_2',
                                    'max_time_step': 'f720',
                                    'step_hrs': 6,
                                    'steps': 120,
                                    'offset_hrs': 6},
                'long_range_mem3': {'channel': 'long_range.channel_rt_3',
                                    'max_time_step': 'f720',
                                    'step_hrs': 6,
                                    'steps': 120,
                                    'offset_hrs': 6},
                'long_range_mem4': {'channel': 'long_range.channel_rt_4',
                                    'max_time_step': 'f720',
                                    'step_hrs': 6,
                                    'steps': 120,
                                    'offset_hrs': 6}}

PRODUCTSv2_0 = {'analysis_assim': {'channel': 'analysis_assim.channel_rt',
                                   'max_time_step': 'tm02',
                                   'step_hrs': 1,
                                   'steps': 3,
                                   'offset_hrs': 3},
                'short_range': {'channel': 'short_range.channel_rt',
                                'max_time_step': 'f018',
                                'step_hrs': 1,
                                'steps': 18,
                                'offset_hrs': 1},
                'medium_range': {'channel': 'medium_range.channel_rt',
                                 'max_time_step': 'f240',
                                 'step_hrs': 3,
                                 'steps': 80,
                                 'offset_hrs': 3},
                'medium_range_mem1': {'channel': 'medium_range.channel_rt_1',
                                      'max_time_step': 'f240',
                                      'step_hrs': 3,
                                      'steps': 80,
                                      'offset_hrs': 3},
                'medium_range_mem2': {'channel': 'medium_range.channel_rt_2',
                                      'max_time_step': 'f240',
                                      'step_hrs': 3,
                                      'steps': 68,
                                      'offset_hrs': 3},
                'medium_range_mem3': {'channel': 'medium_range.channel_rt_3',
                                      'max_time_step': 'f240',
                                      'step_hrs': 3,
                                      'steps': 68,
                                      'offset_hrs': 3},
                'medium_range_mem4': {'channel': 'medium_range.channel_rt_4',
                                      'max_time_step': 'f240',
                                      'step_hrs': 3,
                                      'steps': 68,
                                      'offset_hrs': 3},
                'medium_range_mem5': {'channel': 'medium_range.channel_rt_5',
                                      'max_time_step': 'f240',
                                      'step_hrs': 3,
                                      'steps': 68,
                                      'offset_hrs': 3},
                'medium_range_mem6': {'channel': 'medium_range.channel_rt_6',
                                      'max_time_step': 'f240',
                                      'step_hrs': 3,
                                      'steps': 68,
                                      'offset_hrs': 3},
                'medium_range_mem7': {'channel': 'medium_range.channel_rt_7',
                                      'max_time_step': 'f240',
                                      'step_hrs': 3,
                                      'steps': 68,
                                      'offset_hrs': 3},
                'long_range_mem1': {'channel': 'long_range.channel_rt_1',
                                    'max_time_step': 'f720',
                                    'step_hrs': 6,
                                    'steps': 120,
                                    'offset_hrs': 6},
                'long_range_mem2': {'channel': 'long_range.channel_rt_2',
                                    'max_time_step': 'f720',
                                    'step_hrs': 6,
                                    'steps': 120,
                                    'offset_hrs': 6},
                'long_range_mem3': {'channel': 'long_range.channel_rt_3',
                                    'max_time_step': 'f720',
                                    'step_hrs': 6,
                                    'steps': 120,
                                    'offset_hrs': 6},
                'long_range_mem4': {'channel': 'long_range.channel_rt_4',
                                    'max_time_step': 'f720',
                                    'step_hrs': 6,
                                    'steps': 120,
                                    'offset_hrs': 6}}

<filename>src/pynwm/constants.py
SINCE_DATE = '1970-01-01 00:00:00 UTC'

V1_1_DATE = '20170508t12-00'
V2_0_DATE = '20190619t12-00'

SCHEMAv1_0 = {'id_dim': 'station',
              'id_var': 'station_id',
              'flow_dtype': 'f'}

SCHEMAv1_1 = {'id_dim': 'feature_id',
              'id_var': 'feature_id',
              'flow_dtype': 'i',
              'flow_attrs': [('long_name', 'River Flow'),
                             ('units', 'm3 s-1'),
                             ('scale_factor', 0.01),
                             ('add_offset', 0.0),
                             ('missing_value', -999900)],
              'time_attrs': [('long_name', 'valid output time'),
                             ('standard_name', 'time')],
              'id_attrs': [('long_name', 'Reach ID'),
                           ('comment', 'NHDPlusv2 ComIDs within CONUS, arbitrary Reach IDs outside of CONUS')],
              'fill_val_int': -999900,
              'fill_val_float': -9999.0}  # fill_val_int * scale_factor

PRODUCTSv1_0 = {'analysis_assim': {'channel': 'analysis_assim.channel_rt',
                                   'max_time_step': 'tm00',
                                   'step_hrs': 1,
                                   'steps': 1,
                                   'offset_hrs': 3},
                'short_range': {'channel': 'short_range.channel_rt',
                                'max_time_step': 'f015',
                                'step_hrs': 1,
                                'steps': 15,
                                'offset_hrs': 1},
                'medium_range': {'channel': 'medium_range.channel_rt',
                                 'max_time_step': 'f240',
                                 'step_hrs': 3,
                                 'steps': 80,
                                 'offset_hrs': 3},
                'long_range_mem1': {'channel': 'long_range.channel_rt_1',
                                    'max_time_step': 'f720',
                                    'step_hrs': 6,
                                    'steps': 120,
                                    'offset_hrs': 6},
                'long_range_mem2': {'channel': 'long_range.channel_rt_2',
                                    'max_time_step': 'f720',
                                    'step_hrs': 6,
                                    'steps': 120,
                                    'offset_hrs': 6},
                'long_range_mem3': {'channel': 'long_range.channel_rt_3',
                                    'max_time_step': 'f720',
                                    'step_hrs': 6,
                                    'steps': 120,
                                    'offset_hrs': 6},
                'long_range_mem4': {'channel': 'long_range.channel_rt_4',
                                    'max_time_step': 'f720',
                                    'step_hrs': 6,
                                    'steps': 120,
                                    'offset_hrs': 6}}

PRODUCTSv1_1 = {'analysis_assim': {'channel': 'analysis_assim.channel_rt',
                                   'max_time_step': 'tm02',
                                   'step_hrs': 1,
                                   'steps': 3,
                                   'offset_hrs': 3},
                'short_range': {'channel': 'short_range.channel_rt',
                                'max_time_step': 'f018',
                                'step_hrs': 1,
                                'steps': 18,
                                'offset_hrs': 1},
                'medium_range': {'channel': 'medium_range.channel_rt',
                                 'max_time_step': 'f240',
                                 'step_hrs': 3,
                                 'steps': 80,
                                 'offset_hrs': 3},
                'long_range_mem1': {'channel': 'long_range.channel_rt_1',
                                    'max_time_step': 'f720',
                                    'step_hrs': 6,
                                    'steps': 120,
                                    'offset_hrs': 6},
                'long_range_mem2': {'channel': 'long_range.channel_rt_2',
                                    'max_time_step': 'f720',
                                    'step_hrs': 6,
                                    'steps': 120,
                                    'offset_hrs': 6},
                'long_range_mem3': {'channel': 'long_range.channel_rt_3',
                                    'max_time_step': 'f720',
                                    'step_hrs': 6,
                                    'steps': 120,
                                    'offset_hrs': 6},
                'long_range_mem4': {'channel': 'long_range.channel_rt_4',
                                    'max_time_step': 'f720',
                                    'step_hrs': 6,
                                    'steps': 120,
                                    'offset_hrs': 6}}

PRODUCTSv2_0 = {'analysis_assim': {'channel': 'analysis_assim.channel_rt',
                                   'max_time_step': 'tm02',
                                   'step_hrs': 1,
                                   'steps': 3,
                                   'offset_hrs': 3},
                'short_range': {'channel': 'short_range.channel_rt',
                                'max_time_step': 'f018',
                                'step_hrs': 1,
                                'steps': 18,
                                'offset_hrs': 1},
                'medium_range': {'channel': 'medium_range.channel_rt',
                                 'max_time_step': 'f240',
                                 'step_hrs': 3,
                                 'steps': 80,
                                 'offset_hrs': 3},
                'medium_range_mem1': {'channel': 'medium_range.channel_rt_1',
                                      'max_time_step': 'f240',
                                      'step_hrs': 3,
                                      'steps': 80,
                                      'offset_hrs': 3},
                'medium_range_mem2': {'channel': 'medium_range.channel_rt_2',
                                      'max_time_step': 'f240',
                                      'step_hrs': 3,
                                      'steps': 68,
                                      'offset_hrs': 3},
                'medium_range_mem3': {'channel': 'medium_range.channel_rt_3',
                                      'max_time_step': 'f240',
                                      'step_hrs': 3,
                                      'steps': 68,
                                      'offset_hrs': 3},
                'medium_range_mem4': {'channel': 'medium_range.channel_rt_4',
                                      'max_time_step': 'f240',
                                      'step_hrs': 3,
                                      'steps': 68,
                                      'offset_hrs': 3},
                'medium_range_mem5': {'channel': 'medium_range.channel_rt_5',
                                      'max_time_step': 'f240',
                                      'step_hrs': 3,
                                      'steps': 68,
                                      'offset_hrs': 3},
                'medium_range_mem6': {'channel': 'medium_range.channel_rt_6',
                                      'max_time_step': 'f240',
                                      'step_hrs': 3,
                                      'steps': 68,
                                      'offset_hrs': 3},
                'medium_range_mem7': {'channel': 'medium_range.channel_rt_7',
                                      'max_time_step': 'f240',
                                      'step_hrs': 3,
                                      'steps': 68,
                                      'offset_hrs': 3},
                'long_range_mem1': {'channel': 'long_range.channel_rt_1',
                                    'max_time_step': 'f720',
                                    'step_hrs': 6,
                                    'steps': 120,
                                    'offset_hrs': 6},
                'long_range_mem2': {'channel': 'long_range.channel_rt_2',
                                    'max_time_step': 'f720',
                                    'step_hrs': 6,
                                    'steps': 120,
                                    'offset_hrs': 6},
                'long_range_mem3': {'channel': 'long_range.channel_rt_3',
                                    'max_time_step': 'f720',
                                    'step_hrs': 6,
                                    'steps': 120,
                                    'offset_hrs': 6},
                'long_range_mem4': {'channel': 'long_range.channel_rt_4',
                                    'max_time_step': 'f720',
                                    'step_hrs': 6,
                                    'steps': 120,
                                    'offset_hrs': 6}}

# fill_val_int * scale_factor