Beispiel #1
0
        ts = []
        for i in range(len(times)):
            ts.append(calendar.timegm(times[i].timetuple()))
        ctd_data = ah.split_csv_profiles(
            press, [longitude, latitude, temperature, salinity, ts])

        #tehdän se perus aikajana
        timesx = ctd_data[:, 0, 5]
        times = []
        for i in range(len(timesx)):
            times.append(dt.datetime.utcfromtimestamp(timesx[i]))
#        d=np.ma.masked_where(d==invalid_val,d)
#create mask, for values close to main point:
        distance_mask = [False] * len(times_s)
        for i in range(len(times_s)):
            if (target_rad > ah.distance((target_lat, target_lon),
                                         (latitude[i], longitude[i]))):
                distance_mask[i] = True
        #Ja perus paikkajanatkin
        pressure = ctd_data[:, :, 0]
        latitude = ctd_data[:, 0, 2]
        longitude = ctd_data[:, 0, 1]
        temperature = ctd_data[:, :, 3]
        salinity = ctd_data[:, :, 4]
        if (draw_images):
            for i in range(ctd_data.shape[0]):
                plt.plot(temperature[i, :] + 0.5 * i, pressure[i, :])
    else:
        print("wrong fieltype,", filetype, " aborting!")
        filetype = 'exitnow'

if (filetype != 'exitnow'):
Beispiel #2
0
         for i in range(len(times_s)):
             times.append(dt.datetime.strptime(times_s[i],'%Y-%m-%dT%H:%M'))
         ts=[]
         for i in range(len(times)):
             ts.append(calendar.timegm(times[i].timetuple()))
         ctd_data=ah.split_csv_profiles(press,[longitude,latitude,temperature,salinity,ts,oxygen])
        #tehdän se perus aikajana
         timesx=ctd_data[:,0,5]
         times=[]
         for i in range(len(timesx)):
             times.append(dt.datetime.utcfromtimestamp(timesx[i]))  
 #        d=np.ma.masked_where(d==invalid_val,d)
         #create mask, for values close to main point:
         distance_mask=[False]*len(times_s)
         for i in range(len(times_s)):
             if(target_rad>ah.distance((target_lat,target_lon),(latitude[i],longitude[i]))):
                 distance_mask[i]=True
         #Ja perus paikkajanatkin
         pressure=ctd_data[:,:,0]
         latitude=ctd_data[:,0,2]
         longitude=ctd_data[:,0,1]
         temperature=ctd_data[:,:,3]
         salinity=ctd_data[:,:,4]
         oxygen=ctd_data[:,:,6]
     else:
         print "wrong fieltype,",filetype," aborting!"
         filetype='exitnow'
 
 
 if(filetype!='exitnow'):
     #
Beispiel #3
0
files=[]
for f in all_files:
    if(re.match(".*log",f) is not None):
        files.append(f)
for i in range(len(files)-1):
    alku="".join(open(datadirectory+files[i],'r').readlines())
    loppu="".join(open(datadirectory+files[i+1],'r').readlines())
    try:
        t1=dt.datetime.strptime(re.search("\d\d/../.... ......",alku).group(0),"%m/%d/%Y %H%M%S")
        t2=dt.datetime.strptime(re.search("\d\d/../.... ......",loppu).group(0),"%m/%d/%Y %H%M%S")
        
        lat1=float(re.search("Fix:[\s]*(-*\d*\.\d*)\s*(-*\d*\.\d*)",alku).group(2))
        lon1=float(re.search("Fix:[\s]*(-*\d*\.\d*)\s*(-*\d*\.\d*)",alku).group(1))
        
        aika=(t2-t1).total_seconds()
        lat2=float(re.search("Fix:[\s]*(-*\d*\.\d*)\s*(-*\d*\.\d*)",loppu).group(2))
        lon2=float(re.search("Fix:[\s]*(-*\d*\.\d*)\s*(-*\d*\.\d*)",loppu).group(1))
        dist=ah.distance((lat1,lon1),(lat2,lon2))
        
#        print aika/60., 'min'
#        print '{:.2f} km'.format(dist)
#        print '{:.2} m/s'.format(1000.*dist/aika) 
        print("Move: {:04.2f} km in \t{:02.2f} min.\tSpeed {:02.2f} cm/s\t({},{}) to ({},{}) ".format(
                dist, aika/60, 100000.*dist/aika, lat1,lon1,lat2,lon2
                ))       
#        print lat1,lon1,lat2,lon2
        if(plotting):
            x,y=bmap([lon1,lon2],[lat1,lat2])
            bmap.plot(x,y,'-*r')
    except AttributeError:
        print("broken file")
Beispiel #4
0
            times.append(dt.datetime.strptime(times_s[i], '%Y-%m-%dT%H:%M'))
        ts = []
        for i in range(len(times)):
            ts.append(calendar.timegm(times[i].timetuple()))
        ctd_data = ah.split_csv_profiles(
            press, [longitude, latitude, temperature, salinity, ts, oxygen])
        #tehdän se perus aikajana
        timesx = ctd_data[:, 0, 5]
        times = []
        for i in range(len(timesx)):
            times.append(dt.datetime.utcfromtimestamp(timesx[i]))
#        d=np.ma.masked_where(d==invalid_val,d)
#create mask, for values close to main point:
        distance_mask = [False] * len(times_s)
        for i in range(len(times_s)):
            if (target_rad > ah.distance((target_lat, target_lon),
                                         (latitude[i], longitude[i]))):
                distance_mask[i] = True
        #Ja perus paikkajanatkin
        pressure = ctd_data[:, :, 0]
        latitude = ctd_data[:, 0, 2]
        longitude = ctd_data[:, 0, 1]
        temperature = ctd_data[:, :, 3]
        salinity = ctd_data[:, :, 4]
        oxygen = ctd_data[:, :, 6]
    else:
        print "wrong fieltype,", filetype, " aborting!"
        filetype = 'exitnow'

if (filetype != 'exitnow'):
    #
    #
#        distance_mask[i]=True

#Ja perus paikkajanatkin
pressure = ctd_data[:, :, 0]
latitude = ctd_data[:, 0, 2]
longitude = ctd_data[:, 0, 1]
temperature = ctd_data[:, :, 3]
salinity = ctd_data[:, :, 4]
oxygen = ctd_data[:, :, 6]
print "CTD's masked, time T+{}".format(time.time() - last_time)
last_time = time.time()

#create mask, for values close to main point:
distance_mask = [False] * len(times)
for i in range(len(times)):
    if (target_rad > ah.distance((target_lat, target_lon),
                                 (latitude[i], longitude[i]))):
        distance_mask[i] = True

files = ah.file_names_converted
timesteps = []
last_accepted = True
a_time_all = []
a_distance_mask_all = []
for file_n in files:
    fmk = netcdf.netcdf_file(file_n, 'r')
    temp = fmk.variables['TEMP_ADJUSTED'][:].copy()
    salt = fmk.variables['PSAL_ADJUSTED'][:].copy()
    press = fmk.variables['PRES_ADJUSTED'][:].copy()
    oxyg = fmk.variables['DOXY'][:].copy()
    scat = fmk.variables['SCATTERING'][:].copy()
    apetime = np.array(