def loadMissions(baseUrl, fileList, activityName, campaignName, pName, pColor, pTypeName, aTypeName, parmList, dbName, stride=1): '''Load missions from OPeNDAP url from either a list of files from a base or a single URL with a given activityName ''' if fileList: for (aName, file) in zip([a + ' (stride=%d)' % stride for a in files], fileList): url = baseUrl + file print "loadMissions(): Calling runLoader() with parmList = %s" % parmList DAPloaders.runTrajectoryLoader(url, campaignName, aName, pName, pColor, pTypeName, aTypeName, parmList, dbName, stride) elif activityName: url = baseUrl DAPloaders.runTrajectoryLoader(url, campaignName, activityName, pName, pColor, pTypeName, aTypeName, parmList, dbName, stride) else: print "loadMissions(): Must specify either a fileList or an activityName"
def loadCastaway(self): ''' Sparus specific load functions ''' for (aName, file) in zip([ a + ' (stride=%d)' % self.stride for a in self.castaway_files], self.castaway_files): url = self.castaway_base + file DAPloaders.runTrajectoryLoader(url, self.campaignName, aName, 'castaway', self.colors['castaway'], 'mooring', 'CTD Profile', self.castaway_parms, self.dbAlias, self.stride)
def loadSparus(self): ''' Sparus specific load functions ''' for (aName, file) in zip([ a + ' (stride=%d)' % self.stride for a in self.sparus_files], self.sparus_files): url = self.sparus_base + file DAPloaders.runTrajectoryLoader(url, self.campaignName, aName, 'sparus', self.colors['sparus'], 'auv', 'AUV mission', self.sparus_parms, self.dbAlias, self.stride)
def loadFulmar(self, stride=None): ''' Fulmar specific load functions ''' stride = stride or self.stride for (aName, file) in zip([ a + getStrideText(stride) for a in self.fulmar_files], self.fulmar_files): url = self.fulmar_base + file DAPloaders.runTrajectoryLoader(url, self.campaignName, self.campaignDescription, aName, 'fulmar', self.colors['fulmar'], 'ship', 'cruise', self.fulmar_parms, self.dbAlias, stride, grdTerrain=self.grdTerrain)
def loadESPbruce(self, stride=None): ''' ESPbruce specific load functions ''' stride = stride or self.stride for (aName, file) in zip([ a + getStrideText(stride) for a in self.espbruce_files], self.espbruce_files): url = self.espbruce_base + file DAPloaders.runTrajectoryLoader(url, self.campaignName, self.campaignDescription, aName, 'espbruce', self.colors['espbruce'], 'espbruce', 'ESP bruce Mission', self.espbruce_parms, self.dbAlias, stride, grdTerrain=self.grdTerrain)
def loadJMuctd(self, stride=None): ''' Martin specific underway load functions ''' stride = stride or self.stride for (aName, file) in zip([ a + getStrideText(stride) for a in self.JMuctd_files], self.JMuctd_files): url = self.JMuctd_base + file DAPloaders.runTrajectoryLoader(url, self.campaignName, self.campaignDescription, aName, 'John_Martin_UCTD', self.colors['martin'], 'ship', 'cruise', self.JMuctd_parms, self.dbAlias, stride, grdTerrain=self.grdTerrain)
def loadRCuctd(self, stride=None, platformName='RachelCarson_UCTD', activitytypeName='Rachel Carson Underway CTD Data'): ''' RC uctd specific load functions ''' stride = stride or self.stride for (aName, file) in zip([ a + getStrideText(stride) for a in self.rcuctd_files], self.rcuctd_files): url = self.rcuctd_base + file DAPloaders.runTrajectoryLoader(url, self.campaignName, self.campaignDescription, aName, platformName, self.colors['carson'], 'ship', activitytypeName, self.rcuctd_parms, self.dbAlias, stride, grdTerrain=self.grdTerrain)
def loadESPmack(self, stride=None): ''' ESPmack specific load functions ''' stride = stride or self.stride for (aName, file) in zip([ a + getStrideText(stride) for a in self.espmack_files], self.espmack_files): url = self.espmack_base + file print "url = %s" % url DAPloaders.runTrajectoryLoader(url, self.campaignName, self.campaignDescription, aName, 'ESP_Mack_Drifter', self.colors['espmack'], 'espmack', 'ESP mack Mission', self.espmack_parms, self.dbAlias, stride, grdTerrain=self.grdTerrain)
def loadStella(self, stride=None): ''' Stella drift specific load functions ''' stride = stride or self.stride for (aName, file) in zip([ a + getStrideText(stride) for a in self.stella_files], self.stella_files): url = self.stella_base + file dname='Stella' + aName[6:9] DAPloaders.runTrajectoryLoader(url, self.campaignName, self.campaignDescription, aName, dname, self.colors[dname], 'drifter', 'Stella drifter Mission', self.stella_parms, self.dbAlias, stride, grdTerrain=self.grdTerrain)
def loadWFuctd(self, stride=None, platformName='WesternFlyer_UCTD', activitytypeName='Western Flyer Underway CTD Data'): ''' WF uctd specific load functions. Override defaults for @platformName and activitytypeName if it's desired to consider uctd and pctd coming from the same platform. You may want to do this to use the data visualization capabilities in STOQS. ''' stride = stride or self.stride for (aName, file) in zip([ a + getStrideText(stride) for a in self.wfuctd_files], self.wfuctd_files): url = self.wfuctd_base + file print "url = %s" % url DAPloaders.runTrajectoryLoader(url, self.campaignName, self.campaignDescription, aName, platformName, self.colors['flyer'], 'ship', activitytypeName, self.wfuctd_parms, self.dbAlias, stride, grdTerrain=self.grdTerrain)
def loadCastaway(self): ''' Sparus specific load functions ''' for (aName, file) in zip( [a + ' (stride=%d)' % self.stride for a in self.castaway_files], self.castaway_files): url = self.castaway_base + file DAPloaders.runTrajectoryLoader(url, self.campaignName, aName, 'castaway', self.colors['castaway'], 'mooring', 'CTD Profile', self.castaway_parms, self.dbAlias, self.stride)
def loadMissions(baseUrl, fileList, activityName, campaignName, pName, pColor, pTypeName, aTypeName, parmList, dbName, stride = 1): '''Load missions from OPeNDAP url from either a list of files from a base or a single URL with a given activityName ''' c_desc = 'Mar Menor In Situ (AUV and Castaway) data loads' if fileList: for (aName, f) in zip([ a + ' (stride=%d)' % stride for a in files], fileList): url = baseUrl + f print "loadMissions(): Calling runLoader() with parmList = %s" % parmList DAPloaders.runTrajectoryLoader(url, campaignName, c_desc, aName, pName, pColor, pTypeName, aTypeName, parmList, dbName, stride) elif activityName: url = baseUrl DAPloaders.runTrajectoryLoader(url, campaignName, c_desc, activityName, pName, pColor, pTypeName, aTypeName, parmList, dbName, stride) else: print "loadMissions(): Must specify either a fileList or an activityName"
def loadSparus(self): ''' Sparus specific load functions ''' for (aName, file) in zip( [a + ' (stride=%d)' % self.stride for a in self.sparus_files], self.sparus_files): url = self.sparus_base + file DAPloaders.runTrajectoryLoader(url, self.campaignName, aName, 'sparus', self.colors['sparus'], 'auv', 'AUV mission', self.sparus_parms, self.dbAlias, self.stride)
def loadJMpctd(self, stride=None, platformName='John_Martin_PCTD', activitytypeName='John Martin Profile CTD Data'): ''' Martin specific underway load functions ''' stride = stride or self.stride for (aName, file) in zip([ a + getStrideText(stride) for a in self.JMpctd_files], self.JMpctd_files): url = self.JMpctd_base + file DAPloaders.runTrajectoryLoader(url, self.campaignName, self.campaignDescription, aName, platformName, self.colors['martin'], 'ship', activitytypeName, self.JMpctd_parms, self.dbAlias, stride, grdTerrain=self.grdTerrain) # load all the bottles sl = SeabirdLoader(aName[:5], platformName, dbAlias=self.dbAlias, campaignName=self.campaignName, platformColor=self.colors['martin'], platformTypeName='ship', dodsBase=self.JMpctd_base) if self.args.verbose: sl.logger.setLevel(logging.DEBUG) sl.tdsBase= self.tdsBase sl.process_btl_files(self.JMpctd_files)
def loadRCpctd(self, stride=None, platformName='RachelCarson_PCTD', activitytypeName='Rachel Carson Profile CTD Data'): ''' RC pctd specific load functions ''' stride = stride or self.stride #platformName = 'rc_pctd' for (aName, file) in zip([ a.split('.')[0] + getStrideText(stride) for a in self.rcpctd_files], self.rcpctd_files): url = self.rcpctd_base + file DAPloaders.runTrajectoryLoader(url, self.campaignName, self.campaignDescription, aName, platformName, self.colors['carson'], 'ship', activitytypeName, self.rcpctd_parms, self.dbAlias, stride, grdTerrain=self.grdTerrain) # load all the bottles sl = SeabirdLoader(aName[:5], platformName, dbAlias=self.dbAlias, campaignName=self.campaignName, platformColor=self.colors['carson'], platformTypeName='ship', dodsBase=self.rcpctd_base) if self.args.verbose: sl.logger.setLevel(logging.DEBUG) sl.tdsBase= self.tdsBase sl.process_btl_files(self.rcpctd_files)
def loadWFpctd(self, stride=None, platformName='WesternFlyer_PCTD', activitytypeName='Western Flyer Profile CTD Data'): ''' WF pctd specific load functions. Override defaults for @platformName and activitytypeName if it's desired to consider uctd and pctd coming from the same platform. You may want to do this to use the data visualization capabilities in STOQS. ''' stride = stride or self.stride for (aName, file) in zip([ a.split('.')[0] + getStrideText(stride) for a in self.wfpctd_files], self.wfpctd_files): url = self.wfpctd_base + file DAPloaders.runTrajectoryLoader(url, self.campaignName, self.campaignDescription, aName, platformName, self.colors['flyer'], 'ship', activitytypeName, self.wfpctd_parms, self.dbAlias, stride, grdTerrain=self.grdTerrain) # Now load all the bottles sl = SeabirdLoader('activity name', platformName, dbAlias=self.dbAlias, campaignName=self.campaignName, platformColor=self.colors['flyer'], dodsBase=self.wfpctd_base) if self.args.verbose: sl.logger.setLevel(logging.DEBUG) sl.tdsBase= self.tdsBase sl.process_btl_files(self.wfpctd_files)
def loadBEDS(self, stride=None, featureType='trajectory'): ''' BEDS specific load functions; featureType can be 'trajectory' or 'timeSeries'. Use 'trajectory' for events that we've fudged into a trajectory netCDF file using the canyon's thalweg. Use 'timeSeries' for events for which the BED does not significantly translate. ''' stride = stride or self.stride for (aName, pName, file, plotTimeSeriesDepth) in zip( [ a + ' (stride=%d)' % stride for a in self.bed_files], self.bed_platforms, self.bed_files, self.bed_depths): url = self.bed_base + file if featureType == 'trajectory': # To get timeSeries plotting for trajectories (in the Parameter tab of the UI) assign a plotTimeSeriesDepth value of the starting depth in meters. DAPloaders.runTrajectoryLoader(url, self.campaignName, self.campaignDescription, aName, pName, self.colors[pName.lower()], 'bed', 'deployment', self.bed_parms, self.dbAlias, stride, plotTimeSeriesDepth=plotTimeSeriesDepth, grdTerrain=self.grdTerrain) elif featureType == 'timeSeries': DAPloaders.runTimeSeriesLoader(url, self.campaignName, self.campaignDescription, aName, pName, self.colors[pName.lower()], 'bed', 'deployment', self.bed_parms, self.dbAlias, stride) # Leave commented out to indicate how this would be used (X3DOM can't handle old style timestamp routing that we used to do in VRML) ##self.addPlaybackResources(x3dplaybackurl, aName) self.addPlatformResources('http://dods.mbari.org/data/beds/x3d/beds_housing_with_axes.x3d', pName)