Exemple #1
0
import os
import unittest

from pyaxiom.netcdf.dataset import EnhancedDataset

import logging
from pyaxiom import logger
logger.level = logging.INFO
logger.addHandler(logging.StreamHandler())


class TestUtils(unittest.TestCase):

    def setUp(self):
        self.input_file = os.path.join(os.path.dirname(__file__), "resources/coamps/cencoos_4km/wnd_tru/10m/coamps_cencoos_4km_wnd_tru_10m_2014-06-20-00_2014.171.00.nc")

    def test_single_attr_filter(self):
        nc = EnhancedDataset(self.input_file)
        grid_spacing_vars = nc.get_variables_by_attributes(grid_spacing='4.0 km')

        x = nc.variables.get('x')
        y = nc.variables.get('y')

        self.assertEquals(len(grid_spacing_vars), 2)
        assert x in grid_spacing_vars
        assert y in grid_spacing_vars

    def test_multiple_attr_filter(self):
        nc = EnhancedDataset(self.input_file)
        grid_spacing_vars = nc.get_variables_by_attributes(grid_spacing='4.0 km', standard_name='projection_y_coordinate')
Exemple #2
0
from pyaxiom.netcdf.grids import Collection

import pytz

# Log to stdout
import logging

ch = logging.StreamHandler(sys.stdout)
ch.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s - %(message)s')
ch.setFormatter(formatter)

from pyaxiom import logger as pyaxiomlogger

pyaxiomlogger.setLevel(logging.INFO)
pyaxiomlogger.addHandler(ch)

logger = logging.getLogger("pyncml")
logger.setLevel(logging.INFO)
logger.addHandler(ch)


def main(output_path,
         delta,
         ncml_file=None,
         glob_string=None,
         apply_to_members=None,
         hard_start=None,
         hard_end=None):
    if glob_string is not None:
        collection = Collection.from_glob(glob_string, ncml=ncml_file)
Exemple #3
0
from dateutil.relativedelta import relativedelta

from pyaxiom.netcdf.grids import Collection

import pytz

# Log to stdout
import logging
ch = logging.StreamHandler(sys.stdout)
ch.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s - %(message)s')
ch.setFormatter(formatter)

from pyaxiom import logger as pyaxiomlogger
pyaxiomlogger.setLevel(logging.INFO)
pyaxiomlogger.addHandler(ch)

logger = logging.getLogger("pyncml")
logger.setLevel(logging.INFO)
logger.addHandler(ch)


def main(output_path, delta, ncml_file=None, glob_string=None, apply_to_members=None, hard_start=None, hard_end=None):
    if glob_string is not None:
        collection = Collection.from_glob(glob_string, ncml=ncml_file)
    elif ncml_file is not None:
        collection = Collection.from_ncml_file(ncml_file, apply_to_members=apply_to_members)

    if delta.years > 0:
        starting = collection.aggregation.starting.replace(microsecond=0, second=0, minute=0, hour=0, day=1, month=1)
    elif delta.months > 0:
Exemple #4
0
#!python
# coding=utf-8

import os
import unittest

from pyaxiom.urn import IoosUrn
from pyaxiom.utils import urnify, dictify_urn
from pyaxiom.netcdf.sensors import TimeSeries

import logging
from pyaxiom import logger
logger.level = logging.INFO
logger.addHandler(logging.StreamHandler())


class IoosUrnTests(unittest.TestCase):
    def test_args(self):
        u = IoosUrn(asset_type='sensor', authority='me', label='mysupersensor')
        assert u.urn == 'urn:ioos:sensor:me:mysupersensor'

    def test_setattr(self):
        u = IoosUrn()
        u.asset_type = 'sensor'
        u.authority = 'me'
        u.label = 'mysupersensor'
        assert u.urn == 'urn:ioos:sensor:me:mysupersensor'

        u.version = 'abc'
        assert u.urn == 'urn:ioos:sensor:me:mysupersensor:abc'