Extracts ocean profile data from World Ocean Atlas (WOA).
The World Ocean Atlas defines worldwide physical characteristics, like temperature and salinity for monthly, seasonal, and annual averages. All of these products uses a standard set of depths:
This class is a specialization of the netcdf_profile class that allows monthly average to be constructed over the entire range from 0 to 5500 by splicing shallow monthly averages into either the deep seasonal average or the deep yearly average. Seasonal average are recommended over yearly averages for this splicing process.
WOA dates are given in terms of days since the start of the year for the middle of each month. The date closest to the desired date is considered the best match. In WOA09, the exact dates used for each of the products are:
WOA latitude and longitudes are given relative to the center of the cell in which they apply. Latitudes are gridded at a 1 degree spacing from -89.5 to 89.5 degrees. Longitudes are gridded at a 1 degree spacing from 0.5 to 359.5 degrees.
Successfully tested using objectively analyzed climatologies for the World Ocean Atlas 2009 and 2005 data sets. The WOA09 filenames for the 1 degree version of each of these products take the form:
where xxx = "salinity" or "temperature", and the analyzed climatologies are the first 4-D grid (s_an or t_an). The WOA05 filenames for each of the analyzed climatologies take the form:
where x = "s" for salinity or "t" for temperature.
netcdf_woa | ( | const char * | deep, | |
const char * | shallow, | |||
int | month, | |||
double | south, | |||
double | north, | |||
double | west, | |||
double | east, | |||
double | earth_radius = wposition::earth_radius | |||
) |
Load deep and shallow parts of WOA ocean profile from disk.
Uses netcdf_profile.fill_missing() to automatically replace missing (NaN) values with average data at each depth. The interpolation features of the data_grid superclass are setup to use linear interpolation for latitude and longitude, but PCHIP interpolation for the depth axis.
Western hemisphere longitude can be expressed either as negative values or values above 180 degrees. Output longitudes use the same western hemisphere convention as input values. Exceptions to this logic happen in areas that span longitudes 0 or 180. Areas that span longitude 0 should use negative values for west and positive values for east. Areas that span longitude 180 should use positive values for both east and west.
deep | Name of the WOA file to use below 1500m. | |
shallow | Name of the WOA file to use above (or at) 1500m. | |
month | Month of the year (1=January, 12=December). | |
south | Lower limit for the latitude axis (degrees). | |
north | Upper limit for the latitude axis (degrees). | |
west | Lower limit for the longitude axis (degrees). | |
east | Upper limit for the longitude axis (degrees). | |
earth_radius | Depth correction term (meters). Set to zero if you want to avoid transforming profile into spherical earth coordinates. |