Source code for pysatNASA.instruments.timed_see

# -*- coding: utf-8 -*-
"""Supports the SEE instrument on TIMED.

Downloads data from the NASA Coordinated Data
Analysis Web (CDAWeb).

Supports two options for loading that may be
specified at instantiation.

Properties
----------
platform
    'timed'
name
    'see'
tag
    None
inst_id
    None supported
flatten_twod
    If True, then two dimensional data is flattened across
    columns. Name mangling is used to group data, first column
    is 'name', last column is 'name_end'. In between numbers are
    appended 'name_1', 'name_2', etc. All data for a given 2D array
    may be accessed via, data.loc[:, 'item':'item_end']
    If False, then 2D data is stored as a series of DataFrames,
    indexed by Epoch. data.loc[0, 'item']
    (default=True)

Note
----
- no tag required

Warnings
--------
- Currently no cleaning routine.

"""

import datetime as dt
import functools
import pandas as pds
import warnings

from pysat.instruments.methods import general as mm_gen
from pysat import logger

from pysatNASA.instruments.methods import cdaweb as cdw

# ----------------------------------------------------------------------------
# Instrument attributes

platform = 'timed'
name = 'see'
tags = {'': ''}
inst_ids = {'': [tag for tag in tags.keys()]}

# ----------------------------------------------------------------------------
# Instrument test attributes

_test_dates = {'': {'': dt.datetime(2009, 1, 1)}}

# ----------------------------------------------------------------------------
# Instrument methods


[docs]def init(self): """Initialize the Instrument object with instrument specific values. Runs once upon instantiation. """ rules_url = 'https://www.timed.jhuapl.edu/WWW/scripts/mdc_rules.pl' ackn_str = ' '.join(('Please see the Rules of the Road at', rules_url)) logger.info(ackn_str) self.acknowledgements = ackn_str self.references = ' '.join(('Woods, T. N., Eparvier, F. G., Bailey,', 'S. M., Chamberlin, P. C., Lean, J.,', 'Rottman, G. J., Solomon, S. C., Tobiska,', 'W. K., and Woodraska, D. L. (2005),', 'Solar EUV Experiment (SEE): Mission', 'overview and first results, J. Geophys.', 'Res., 110, A01312,', 'doi:10.1029/2004JA010765.')) return
[docs]def clean(self): """Clean TIMED SEE data to the specified level. Note ---- No cleaning currently available. """ warnings.warn('no cleaning routines available for TIMED SEE data') return
# ---------------------------------------------------------------------------- # Instrument functions # # Use the default CDAWeb and pysat methods # Set the list_files routine fname = 'timed_l3a_see_{year:04d}{month:02d}{day:02d}_v{version:02d}.cdf' supported_tags = {'': {'': fname}} list_files = functools.partial(mm_gen.list_files, supported_tags=supported_tags, file_cadence=pds.DateOffset(months=1)) # Set the load routine load = functools.partial(cdw.load, file_cadence=pds.DateOffset(months=1)) # Set the download routine basic_tag = {'remote_dir': ''.join(('/pub/data/timed/see/data/level3a_cdf', '/{year:4d}/{month:02d}/')), 'fname': fname} download_tags = {'': {'': basic_tag}} download = functools.partial(cdw.download, supported_tags=download_tags) # Set the list_remote_files routine list_remote_files = functools.partial(cdw.list_remote_files, supported_tags=download_tags)