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' },
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
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)