MATLAB Examples

argofiles documentation

The argofiles returns urls of ARGO NetCDF files within specified geographic and temporal limits. This function is intended for use with the argodata function.

Contents

Syntax

ncfiles = argodata(latlim,lonlim,tlim,basin)
[ncfiles,lat,lon,t] = argodata(...)

Description

ncfiles = argodata(latlim,lonlim,tlim,basin) searches the internet for ARGO profiles that start within the geographic confines latlim,lonlim and temporal range tlim. latlim and lonlim can be two-element arrays to specify limits or a polygon of three or more points if you only want floats within an arbitrary shape. Times tlim can be a single date or a starting and ending date and can be in any format recognized by Matlab's datenum function. Due to the way files are structured on the NODC you must also specify a basin as 'pacific', 'atlantic', or 'indian'. Output ncfiles is a cell array of urls.

[ncfiles,lat,lon,t] = argodata(...) also returns arrays of lat, lon, and times t for each .nc file.

Usage Notes

  • This function requires an internet connection with friendly firewall settings.
  • Processing time is not affected by geographic limits, but a wide temporal range will slow things down. Expect roughly a few seconds per month in your specified tlim.

Example 1: In the Nino 3.4 box given a range of days

The Nino 3.4 box is defined by the range 5°S to 5°N and 170°W to 120°W. Find all ARGO profiles in that box from Christmas Day 2005 to New Years Day 2006:

latlim = [-5 5];
lonlim = [-170 -120];
t = [datenum('dec 25, 2005') datenum('jan 1, 2006')];
f = argofiles(latlim,lonlim,t,'pacific');

Now f should be a cell array of strings that looks something like this. Here are the first five urls:

f(1:5)
ans = 
    'http://data.nodc.noaa.gov/argo/data/pacific/2005/12/nodc_D5900539_056.nc'
    'http://data.nodc.noaa.gov/argo/data/pacific/2005/12/nodc_D5900646_044.nc'
    'http://data.nodc.noaa.gov/argo/data/pacific/2005/12/nodc_D5900667_045.nc'
    'http://data.nodc.noaa.gov/argo/data/pacific/2005/12/nodc_D5900668_040.nc'
    'http://data.nodc.noaa.gov/argo/data/pacific/2005/12/nodc_D5900745_024.nc'

Example 2: In an arbitrary polygon on a specific day

Perhaps you're interested in all the ARGO floats within some polygon on a specific day. Below I'll use my borders function to give a little bit of context, then I'll plot the polygon in red.

lats = [32;33;35;36;35;33;30;28;25;23;21;23;25;27;30;33;35;36;35;33];
lons = [-47;-50;-53;-56;-61;-63;-63;-59;-54;-50;-48;-45;-39;-36;-33;-32;-33;-37;-41;-45];

borders('countries','facecolor',[0.82 0.7 0.44],'nomap')
set(gca,'color',[0.01 0.44 0.61])

plot(lons,lats,'ro-')
axis([-93 5 2 58])

Suppose you want to find all the ARGO profiles inside that polygon on a specific day, maybe Valentines Day 2009?

[ncfiles,lat,lon] = argofiles(lats,lons,'feb. 14, 2009','atlantic');

There were only seven ARGO profiles in the heart-shaped polygon on Valentine's Day 2009:

plot(lon,lat,'gp')

Example 3: Anywhere in the world on a given day

Where were all the ARGO floats on Flag Day, 2000? We'll have to query each ocean basin separately to answer this question:

[nca,lata,lona] = argofiles([-90 90],[-180 180],'June 14, 2010','atlantic');
[nci,lati,loni] = argofiles([-90 90],[-180 180],'June 14, 2010','indian');
[ncp,latp,lonp] = argofiles([-90 90],[-180 180],'June 14, 2010','pacific');

As in Example 2 I'm using my borders function to give a little context and this time I'm specifying color RGB values with my rgb function.

figure
hold on

borders('countries','facecolor',rgb('tan'),'nomap')

plot(lona,lata,'b.','markersize',10)
plot(loni,lati,'k.','markersize',10)
plot(lonp,latp,'r.','markersize',10)
set(gca,'color',rgb('ocean blue'))
axis tight

Author Info:

The argofiles function was written by Chad A. Greene of the University of Texas at Austin's Institute for Geophysics (UTIG), December 2015.