def main(argv=None): if argv is None: argv = sys.argv if len(argv)<=5: print 'Usage %s s_yy,s_mm,s_dd,e_yy,e_mm,e_dd, cur_noise'%(argv[0]) sys.exit(-1) s_yy,s_mm,s_dd,e_yy,e_mm,e_dd = int(argv[1]),int(argv[2]),int(argv[3]),int(argv[4]),int(argv[5]),int(argv[6]) dr = gpplib.Utils.DateRange( s_yy,s_mm,s_dd,e_yy,e_mm,e_dd ) print 'Finding Transition models from %04d-%02d-%02d to %04d-%02d-%02d.'%(s_yy,s_mm,s_dd,e_yy,e_mm,e_dd) numDays = 1 posNoise = 0.01 #curNoiseVals = [0.01, 0.025, 0.05, 0.1, 0.15, 0.2, 0.32, 0.5] rtc = RomsTimeConversion() s_indx = rtc.GetRomsIndexNhoursFromNow(s_yy,s_mm,s_dd,2) e_indx = s_indx + 12 curNoiseVals = [0.01, 0.03, 0.1, 0.3] conf = gpplib.Utils.GppConfig() ptg = ProduceGPTransitionGraph(conf.riskMapDir+'RiskMap3.shelf',conf.romsDataDir) ptg.UseRomsNoise = True for (yy,mm,dd) in dr.DateList: t_start = time.time() #transModel = ptg.CreateTransitionModelFromProxemicGraph(yy,mm,dd,numDays,1.5,curNoiseSigma,posNoise) transModel = ptg.CreateTransitionModelFromProxemicGraphAndGPBetweenHours(yy,mm,dd,s_indx,e_indx,1.5,posNoise) t_end = time.time() print 'Time taken to generate model=%f'%(t_end-t_start)
def main(argv=None): if argv is None: argv = sys.argv if len(argv) <= 5: print 'Usage %s s_yy,s_mm,s_dd,e_yy,e_mm,e_dd, [useCurrentTime=1/not-supplied, useCurrentTime=0]' % ( argv[0]) sys.exit(-1) s_yy, s_mm, s_dd, e_yy, e_mm, e_dd = int(argv[1]), int(argv[2]), int( argv[3]), int(argv[4]), int(argv[5]), int(argv[6]) if len(argv) == 7: useCurrentTime = int(argv[6]) if datetime.date( s_yy, s_mm, s_dd) == datetime.datetime.today().date and useCurrentTime == True: useCurrentTime = True else: useCurrentTime = False dr = gpplib.Utils.DateRange(s_yy, s_mm, s_dd, e_yy, e_mm, e_dd) print 'Finding Transition models from %04d-%02d-%02d to %04d-%02d-%02d.' % ( s_yy, s_mm, s_dd, e_yy, e_mm, e_dd) numDays = 1 posNoise = 0.01 stepHrs = 6 numSteps = 8 conf = gpplib.Utils.GppConfig() ptg = ProduceTransitionGraph(conf.riskMapDir + 'RiskMap7.shelf', conf.romsDataDir) ptg.UseRomsNoise = True curNoiseVals = [0.01, 0.03, 0.1, 0.3] if useCurrentTime: for curNoiseSigma in curNoiseVals: rtc = RomsTimeConversion() numHrsFromNow = 1 s_indx = rtc.GetRomsIndexNhoursFromNow(s_yy, s_mm, s_dd, numHrsFromNow) e_indx = s_indx + stepHrs t_start = time.time() transModel = ptg.CreateTransitionModelFromProxemicGraphBetweenHours2( yy, mm, dd, s_indx, e_indx, 1.5, curNoiseSigma, posNoise) t_end = time.time() print 'Time taken to generate model=%f' % (t_end - t_start) else: s_indx = 0 for (yy, mm, dd) in dr.DateList: for curNoiseSigma in curNoiseVals: for startStep in range(0, numSteps): s_indx = startStep * (48 / numSteps) e_indx = s_indx + stepHrs t_start = time.time() #transModel = ptg.CreateTransitionModelFromProxemicGraph(yy,mm,dd,numDays,1.5,curNoiseSigma,posNoise) transModel = ptg.CreateTransitionModelFromProxemicGraphBetweenHours2( yy, mm, dd, s_indx, e_indx, 1.5, curNoiseSigma, posNoise) t_end = time.time() print 'Time taken to generate model=%f' % (t_end - t_start)
def PlotCurrentsForDayAndHour(yy, mm, dd, hr): conf = gpplib.Utils.GppConfig() rtc = RomsTimeConversion() gm1 = GliderModel(conf.myDataDir + 'RiskMap3.shelf', conf.myDataDir + 'roms/') gm1.gVel = 0.18 gm1.depth = 90. gm2 = GliderModel(conf.myDataDir + 'RiskMap3.shelf', conf.myDataDir + 'roms/') gm2.gVel = 0.18 gm2.depth = 90. gm3 = GliderModel(conf.myDataDir + 'RiskMap3.shelf', conf.myDataDir + 'roms/') gm3.gVel = 0.18 gm3.depth = 90. dt1 = datetime.datetime(yy, mm, dd, hr, 0) - datetime.timedelta(hours=48) yy1, mm1, dd1, hr1 = dt1.year, dt1.month, dt1.day, dt1.hour dt2 = datetime.datetime(yy, mm, dd, hr, 0) - datetime.timedelta(hours=24) yy2, mm2, dd2, hr2 = dt2.year, dt2.month, dt2.day, dt2.hour dt3 = datetime.datetime(yy, mm, dd, hr, 0) plt.figure() gm1.PlotNewRiskMapFig() u, v, time1, depth, lat, lon = gm1.GetRomsData(yy1, mm1, dd1, 3, True, True) u, v, time1, depth, lat, lon = gm2.GetRomsData(yy2, mm2, dd2, 3, True, True) u, v, time1, depth, lat, lon = gm3.GetRomsData(yy, mm, dd, 3, True, True) # Find the same time in all three data files and index into it. gm1.PlotCurrentField(rtc.GetRomsIndexFromDateTime(yy1, mm1, dd1, dt3), arrow_color='y') gm2.PlotCurrentField(rtc.GetRomsIndexFromDateTime(yy2, mm2, dd2, dt3), arrow_color='r') gm3.PlotCurrentField(rtc.GetRomsIndexFromDateTime(yy, mm, dd, dt3), arrow_color='k')
import sys import gpplib from gpplib.Replanner import * from gpplib.Utils import RomsTimeConversion import datetime conf = gpplib.Utils.GppConfig() rtc = RomsTimeConversion() yy, mm, dd, numDays = 2013, 7, 21, 1 nHrsHence = 0.0 # How many hours ahead or behind we want to plot these currents. rp = Replanner(conf.myDataDir + 'RiskMap.shelf', conf.myDataDir + 'roms5/') rp.gm.gVel = 0.3 #u,v,time1,depth,lat,lon = rp.gm.GetRomsData(yy,mm,dd,numDays,True,True) u, v, time1, depth, lat, lon = rp.gm.GetRomsData(yy, mm, dd, numDays, True) #plt.figure(); rp.gm.PlotNewRiskMapFig(); rp.gm.PlotCurrentField( 0, min_depth=30, max_depth=50 ) #rp.gm.PlotCurrentField(rtc.GetRomsIndexNhoursFromNow(yy,mm,dd, nHrsHence)) #timeOfPlottedCurrents=datetime.datetime.today()+datetime.timedelta(hours=nHrsHence) #plt.title('Roms currents %s PST'%(timeOfPlottedCurrents.strftime('%A %d/%m/%y %H:%M:%S')))