Esempio n. 1
0
import sys
import time
import logging
import pprint

from modules.utilities import wpsLog
from kernels.cdtime.timeseries_analysis import TimeseriesAnalytics

if __name__ == "__main__":
    wpsLog.addHandler( logging.StreamHandler(sys.stdout) ) #logging.FileHandler( os.path.abspath( os.path.join(os.path.dirname(__file__), '..', 'logs', 'wps.log') ) ) )
    wpsLog.setLevel(logging.DEBUG)
    pp = pprint.PrettyPrinter(indent=4)

    variables = [ { 'collection': 'MERRA/mon/atmos', 'id': 'clt' },
                  { 'url': 'file://usr/local/web/data/MERRA/u750/merra_u750.xml', 'id': 'u' },
                  { 'url': 'file://usr/local/web/data/MERRA/MERRA100.xml', 'id': 't' },
                  { 'url': 'file://usr/local/web/data/MERRA/u750/merra_u750.nc', 'id': 'u' },
                  { 'url': 'file://usr/local/web/data/MERRA/u750/merra_u750_1979_1982.nc', 'id': 'u' },
                  { 'url': 'file://usr/local/web/WPCDAS/data/TestData.nc', 'id': 't' },
                  { 'url': 'file://usr/local/web/WPCDAS/data/atmos_ua.nc', 'id': 'ua' } ]
    var_index = 0
    region1    = { "longitude":-24.20, "latitude":58.45 }
    region2    = { "longitude":-30.20, "latitude":67.45 }
    cache_region    = { "longitude": [ -60.0, 0.0 ], "latitude": [ 30.0, 90.0 ] }

    operations = [ '{"kernel":"time", "type":"climatology", "bounds":"annualcycle"}',
                   '{"kernel":"time", "type":"departures",  "bounds":"np"}',
                   { 'type': 'climatology', 'bounds': 'annualcycle' },
                   { 'type': 'departures', 'bounds': '' },
                   { 'type': 'climatology', 'bounds': '' },
                   { 'type': 'departures', 'bounds': 'np' },
Esempio n. 2
0
import unittest, cdms2, logging, sys
from modules.utilities import wpsLog
verbose = False

if verbose:
    wpsLog.addHandler( logging.StreamHandler(sys.stdout) )
    wpsLog.setLevel(logging.DEBUG)

def getVariable( ivar, cache_level ):
    from modules.configuration import MERRA_TEST_VARIABLES
    from datacache.data_collections import CollectionManager
    collection = MERRA_TEST_VARIABLES["collection"]
    id = MERRA_TEST_VARIABLES["vars"][ivar]
    cm = CollectionManager.getInstance('CreateV')
    url = cm.getURL( collection, id )
    dset = cdms2.open( url )
    return dset( id, level=cache_level )  #, latitude=[self.cache_lat,self.cache_lat,'cob'] )

CacheLevel = 10000.0

class PersistenceTests(unittest.TestCase):

    def setUp(self):
        pass

    def tearDown(self):
        pass

    # def test01_persist_mgr_cache(self):
    #     from datacache.persistence.manager import persistenceManager
    #     data_chunk = TestVariable.data
Esempio n. 3
0
def run_test():
    import pprint, time, logging, sys
    from modules.utilities import wpsLog
    from engines.legacy.celeryEngine.tasks import CeleryEngine
    from request.manager import TaskRequest

    wpsLog.addHandler(
        logging.StreamHandler(sys.stdout)
    )  # logging.FileHandler( os.path.abspath( os.path.join(os.path.dirname(__file__), '..', 'logs', 'wps.log') ) ) )
    wpsLog.setLevel(logging.DEBUG)
    pp = pprint.PrettyPrinter(indent=4)
    test_cache = False

    variable = {"collection": "MERRA/mon/atmos", "id": "clt"}

    region1 = {"longitude": -24.20, "latitude": 58.45, "level": 10000.0}
    region2 = {"longitude": -30.20, "latitude": 67.45, "level": 8500.0}
    op_annual_cycle = {"kernel": "time", "type": "climatology", "bounds": "annualcycle"}
    op_departures = {"kernel": "time", "type": "departures", "bounds": "np"}

    engine = CeleryEngine("celery")

    if test_cache:
        request = TaskRequest(task={"data": variable})
        task = engine.execute(request, async=True)
        result = task.result()
        print "\n ---------- Result(cache): ---------- "
        pp.pprint(result)
    else:
        run_async = True
        if run_async:
            t0 = time.time()
            request = TaskRequest(task={"data": variable, "region": region1, "operation": op_departures})
            task1 = engine.execute(request, async=True)

            #            request = TaskRequest( task={ 'data': variable, 'region':region2, 'operation': op_annual_cycle } )
            #            task2 = engine.execute( request, async=True )

            t1 = time.time()

            result1 = task1.result() if task1 else None
            print "\n ---------- Result (departures): ---------- "
            pp.pprint(result1) if result1 else "<NONE>"
            t2 = time.time()

        #            print "\n ---------- Result (annual cycle): ---------- "
        #            result2 = task2.result() if task2 else None
        #            pp.pprint(result2) if result2 else "<NONE>"
        #            t3 = time.time()
        #            print "\n Operations Complete, dt0 = %.2f, dt1 = %.2f, , dt2 = %.2f, dt = %.2f  " % ( t1-t0, t2-t1, t3-t2, t3-t0 )
        else:
            t0 = time.time()
            request = TaskRequest(task={"data": variable, "region": region1, "operation": op_departures})
            result1 = engine.execute(request)

            print "\n ---------- Result (departures): ---------- "
            pp.pprint(result1)
            t1 = time.time()

            request = TaskRequest(task={"data": variable, "region": region1, "operation": op_annual_cycle})
            result2 = engine.execute(request)

            print "\n ---------- Result(annual cycle): ---------- "
            pp.pprint(result2)
            t2 = time.time()
            print "\n Operations Complete, dt0 = %.2f, dt1 = %.2f, dt = %.2f  " % (t1 - t0, t2 - t1, t2 - t0)