% rawm_all_scr; run_dir = '/Volumes/DATADRIVE/argo/AtlanticIndex/'; tmp = dir(run_dir); numfiles=length(tmp); name2=tmp(1).name; for ndo=1:numfiles name1=tmp(ndo).name; % Want to know if there's already a mat file. doneflag=0; if name2(1)=='a' if name2(end-1)=='a' if strcmp(name1(1:end-3),name2(1:end-3)) doneflag=1; end end end if doneflag==0 if name1(1)=='a' if name1(end-1)=='x' % Then it's a txt file starting with at [colname,data]=read_argotxt_write_mat(run_dir,name1(1:end-4),run_dir); % plot_argo(data); end end end name2=name1; end %% fid = fopen('plot_argo3.xyz','w+'); % updated to 3 in Sept 2011 sdo=0; for tdo=1:numfiles name1=tmp(tdo).name; if name1(1)=='a'&name1(end-1)=='a' % then is a mat-file eval(['load ',run_dir,name1]); for ndo=1:length(data) callsign1 = data(ndo).callSign; lat1 = num2str(data(ndo).latitude); lon1 = num2str(data(ndo).longitude); mydatestr=data(ndo).date; date = datenum(data(ndo).date,'yyyy-mm-dd'); yr = year(date); yday=myyearday(date); printstr = [lat1,' ',lon1,' ',mydatestr,' ',callsign1,'\n']; fprintf(fid,printstr); sdo=sdo+1; alldata(sdo).callsign=callsign1; alldata(sdo).lat=lat1; alldata(sdo).lon=lon1; alldata(sdo).date=date; end end end fclose(fid); %% Plot argo floats by month in a daterange dstart=datenum(2003,01,01); dend=datenum(2005,12,31); latlim=[54 70]; lonlim=[-65 -42]; qdo=0; SS=length(alldata); clear allcallsign alllat alllon alldate for sdo=1:SS date1=alldata(sdo).date; if date1>=dstart&date1<=dend lat1=str2num(alldata(sdo).lat); lon1=str2num(alldata(sdo).lon); isbetw=findbetw(lat1,latlim)*findbetw(lon1,lonlim); if length(isbetw) qdo=qdo+1; allcallsign(qdo)=str2num(alldata(sdo).callsign); alllat(qdo)=lat1; alllon(qdo)=lon1; alldate(qdo)=date1; end end end disp(['In the geographic region ',num2str(latlim),'N and ',num2str(lonlim),'E, ']) disp(['There are ',num2str(qdo),' profiles between ',datestr(dstart),' and ',datestr(dend),'.']) uniqCS=unique(allcallsign); disp(['There are ',num2str(length(uniqCS)),' unique floats ']); if ~exist('bathy') load /Users/eleanor/matlab/_bathy/etopo2/widesubp_bathy_struct.mat end figure(3) clf contour(bathy.lon,bathy.lat,bathy.depth,[-4000:1000:0],'k') hold on plot(alllon,alllat,'*') %% Plot profiles by month lonlim1=[minmin(alllon) maxmax(alllon)]; latlim1=[minmin(alllat) maxmax(alllat)]; for yr=2003:2005 figure(yr) clf for month=1:12 dstart1=datenum(yr,month,01); dend1=datenum(yr,month+1,0); ifind=findbetw(alldate,[dstart1 dend1]); nummo(month)=length(ifind); if 0 subplot(3,4,month) contour(bathy.lon,bathy.lat,bathy.depth,[-4000:1000:0],'k') hold on plot(alllon(ifind),alllat(ifind),'*') set(gca,'xlim',lonlim1,'ylim',latlim1); text(-48.5,latlim1(2)-1,datestr(datenum(0,month,1),'mmm')) if month==2 title([num2str(yr),': Argo profiles by month']) end end end disp(['For ',num2str(yr),' total: ',num2str(sum(nummo))]) num2str(nummo) if 0 packboth(3,4) fontsize('default') papersize('landscape') end end %% Load glider profiles if 0 load /Users/eleanor/matlab/glider/sg004b/labseaeven_sg004_200807.mat sg004.date=meanNaN(TI3/86400,2); sg004.lon=meanNaN(LON3,2); sg004.lat=meanNaN(LAT3,2); sg004.s = S3; sg004.t = T3; sg004.p = peven; load /Users/eleanor/matlab/glider/sg008b/labseaeven_sg008_200807.mat sg008.date=meanNaN(TI3/86400,2); sg008.lon=meanNaN(LON3,2); sg008.lat=meanNaN(LAT3,2); sg008.s = S3; sg008.t = T3; sg008.p = peven; load /Users/eleanor/matlab/glider/sg015b/labseaeven_sg015_200807.mat sg015.date=meanNaN(TI3/86400,2); sg015.lon=meanNaN(LON3,2); sg015.lat=meanNaN(LAT3,2); sg015.s = S3; sg015.t = T3; sg015.p = peven; load /Users/eleanor/matlab/glider/sg014b/process/labseagrid_sg014_200711.mat sg014.date=meanNaN(TI2/86400,2); sg014.lon=meanNaN(LON2,2); sg014.lat=meanNaN(LAT2,2); sg014.s = S2; sg014.t = T2; sg014.p = pgrid; load /Users/eleanor/matlab/glider/sg016b/labseaeven_sg016_200901ox.mat sg016.date=meanNaN(TI3/86400,2); sg016.lon=meanNaN(LON3,2); sg016.lat=meanNaN(LAT3,2); sg016.s = S3; sg016.t = T3; sg016.p = peven; %% Create a big list clear gliderdate gliderlon gliderlat MM=length(sg004.date); r1=1:MM; gliderdate(r1)=sg004.date; gliderlon(r1)=sg004.lon; gliderlat(r1)=sg004.lat; for rdo=1:MM glider(r1(rdo)).date=sg004.date(rdo); glider(r1(rdo)).s = sg004.s(rdo,:); glider(r1(rdo)).t = sg004.t(rdo,:); glider(r1(rdo)).p = sg004.p; end MM=length(sg008.date); r1=r1(end)+[1:MM]; gliderdate(r1)=sg008.date; gliderlon(r1)=sg008.lon; gliderlat(r1)=sg008.lat; for rdo=1:MM glider(r1(rdo)).date=sg008.date(rdo); glider(r1(rdo)).s = sg008.s(rdo,:); glider(r1(rdo)).t = sg008.t(rdo,:); glider(r1(rdo)).p = sg008.p; end MM=length(sg014.date); r1=r1(end)+[1:MM]; gliderdate(r1)=sg014.date; gliderlon(r1)=sg014.lon; gliderlat(r1)=sg014.lat; for rdo=1:MM glider(r1(rdo)).date=sg014.date(rdo); glider(r1(rdo)).s = sg014.s(rdo,:); glider(r1(rdo)).t = sg014.t(rdo,:); glider(r1(rdo)).p = sg014.p; end MM=length(sg015.date); r1=r1(end)+[1:MM]; gliderdate(r1)=sg015.date; gliderlon(r1)=sg015.lon; gliderlat(r1)=sg015.lat; for rdo=1:MM glider(r1(rdo)).date=sg015.date(rdo); glider(r1(rdo)).s = sg015.s(rdo,:); glider(r1(rdo)).t = sg015.t(rdo,:); glider(r1(rdo)).p = sg015.p; end MM=length(sg016.date); r1=r1(end)+[1:MM]; gliderdate(r1)=sg016.date; gliderlon(r1)=sg016.lon; gliderlat(r1)=sg016.lat; for rdo=1:MM glider(r1(rdo)).date=sg016.date(rdo); glider(r1(rdo)).s = sg016.s(rdo,:); glider(r1(rdo)).t = sg016.t(rdo,:); glider(r1(rdo)).p = sg016.p; end dt=30; [glidermld] = do_glider_mld(glider,dt); %% Plot glider and argo profiles by month plotflag=1; lonlim1=[minmin([alllon gliderlon]) maxmax([alllon gliderlon])]; latlim1=[minmin([alllat gliderlat]) maxmax([alllat gliderlat])]; for yr=2003:2005 if plotflag figure(yr) clf papersize('landscape') end for month=1:12 dstart1=datenum(yr,month,01); dend1=datenum(yr,month+1,0); ifind=findbetw(alldate,[dstart1 dend1]); ifind2=findbetw(gliderdate,[dstart1 dend1]); nummo(month)=length(ifind); nummo2(month)=length(ifind2); if plotflag subplot(3,4,month) contour(bathy.lon,bathy.lat,bathy.depth,[-4000:1000:0],'k') hold on plot(gliderlon(ifind2),gliderlat(ifind2),'r.') plot(alllon(ifind),alllat(ifind),'*') set(gca,'xlim',lonlim1,'ylim',latlim1); text(-48.5,latlim1(2)-1,datestr(datenum(0,month,1),'mmm')) if month==2 title([num2str(yr),': Glider+Argo profiles by month']) end end end disp(['For ',num2str(yr),' #Argo: ',num2str(sum(nummo)),', #glider: ',num2str(sum(nummo2))]) num2str(nummo) num2str(nummo2) if plotflag packboth(3,4) fontsize('default') end end end %% Gunzip and untar them % DO YOU REALLY DO THIS, OR READ OTHER DATA FILES? RNWM_ALL_SCR3.m?? % After downloading the float .tgz files cd /Volumes/DATADRIVE/argo/AtlanticData/tgz eval(['!gunzip *gz']) for sdo=1:length(uniqCS) eval(['!tar -xvf ',num2str(uniqCS(sdo)),'.tar']) end %% Find a particular argo float latrange = [50 68]; lonrange = [-70 -40]; latrange = [63 64]; lonrange = [-55 -65]; for ddo=1:length(dvec) ystr = num2str(dvec(ddo,1)); if dvec(ddo,2)<10 mstr = ['0' num2str(dvec(ddo,2))]; else mstr = num2str(dvec(ddo,2)); end filename = ['at',ystr,mstr,'_argoinv']; eval(['load ',output_dir,filename,'.mat']); for ndo=1:length(data) lat1 = data(ndo).latitude; if (lat1 > min(latrange))&(lat1<=max(latrange)) lon1 = data(ndo).longitude; if (lon1>min(lonrange))&(lon1<=max(lonrange)) disp(['Float ',data(ndo).callSign,' is at datacenter ',data(ndo).data_center,' at ',num2str(lat1),'N and ',num2str(lon1),' E']) data(ndo) end end end end %% allsign=[]; labsealat = [52 67]; labsealon = [-70 -45]; fid = fopen('plot_argo6900274.xyz','w+'); for ddo=1 ystr = num2str(dvec(ddo,1)); if dvec(ddo,2)<10 mstr = ['0' num2str(dvec(ddo,2))]; else mstr = num2str(dvec(ddo,2)); end filename = ['at',ystr,mstr,'_argoinv']; eval(['load ',output_dir,filename,'.mat']); [days]= plot_argo(data); for ndo=1:length(data) callsign1 = data(ndo).callSign; lat1 = str2num(data(ndo).latitude); lon1 = str2num(data(ndo).longitude); if (lat1>min(labsealat))&(lat1<=max(labsealat)) if (lon1>min(labsealon))&(lon1<=max(labsealon)) allsign = union(allsign,str2num(callsign1)); if str2num(callsign1) ==6900274 file1 = data(ndo).file; profnum =str2num(file1(end-5:end-3)); if sum(profnum==[11:22]) daynum = num2str(days(ndo)); yday = data(ndo).date; printstr = [num2str(lat1),' ',num2str(lon1),' ',yday,' ',daynum,' ',callsign1,'\n']; fprintf(fid,printstr); end end end end end end fclose(fid);