Device-level and sensor-level cast scalar profile data products are time or cast delimited scalar products for profile data. Cast-delimited options include up casts, down casts, stationary periods, step casts (VPS only), and all casts (up, down, and stationary). Individual casts are grouped daily for plotting purposes only. The cast options, plots and file products are available on cabled profilers (Vertical Profiler System (VPS) in Barkley Canyon and the Buoy Profiler System (BPS) in Saanich Inlet). For other casting / profiling deployments such as from ships or through the ice, only plots are available with the daily option (breaks at midnight PST or 0800 UTC), an example of this case are the Pacific Salmon Foundation (PSF) profiling CTDs, Oxygen Sensors and Fluorometers. This data is acquired in partnership with PSF for their Salish Sea Marine Survival program where community based fishers go out regularly to collect CTD casts at various locations. Here is an example in Data Search: https://data.oceannetworks.ca/DataSearch?location=SSMSP
Please note, the plotting products here are distinct from the Time Series Scalar Profile Plot, as they does not have a time axis. Both sets of plots aim to visualize vertical profile data.
Please consult individual instruments' documentation for more information.
Oceans 2.0 API filter: dataProductCode=CSPPD
Oceans 2.0 API filter: extension={png,pdf}
Cast Scalar Profile plots are plots of depth versus the variable or sensor being plotted and are available as PNG or PDF format plots. These are the standard CTD cast-type plots. Multiple sensors maybe plotted on multiple x-axes for device-level plots.
For device level plots, particularly for CTDs, we put density, sigma-t, and conductivity vs depth in the first plot, with specific colours while the remaining sensors are plotted in subsequent plots. The second plot contains practical salinity, temperature, sigma-theta, and sound speed vs depth. Each plot is colour coded to improve readability. The second plot will have “_2” added on the end of the filename. Here is an example of a device level plot search for down casts on the BPS, resulting in two plots:
Here is an example of single sensor plot for up casts on the VPS:
This data is available as MAT or netCDF data products.
Oceans 2.0 API filter: extension={mat,nc}
MAT files (v7) can be opened using MathWorks MATLAB 7.0 or later. The file contains two structures: ProfileData and metadata.
ProfileData: structured as an 1 x N structure with M fields where M includes the sensor data fields (conductivity, temperature, salinity, etc.) and cast details (cast start date, end data, duration, depth, direction, etc.), and N is the cast number:
Sensor data is stored in a structure identical to its original data structure (the original being the standard scalar data structure defined in Time Series Scalar Data).
sensorName: Name of sensor.
sensorCode: Unique string for the sensor.
sensorDescription: Description of sensor.
sensorType: Type of sensor as classified in the ONC data model.
sensorTypeID: ONC ID given to sensor type.
units: Unit of measure for the sensor data.
isEngineeringSensor: boolean (flag) to determine if sensor is an engineering sensor.
sensorDerivation: String describing the source of the sensor data: derived from calibration formula (dmas-derived), calculated on the device (instrument-derived), calculated by an external process (externally-derived), or direct from the instrument.
propertyCode: Unique string for the sensor using only lowercase letters and no unique characters
isMobilePositionSensor: boolean (flag) to determine if sensor is a mobile sensor. Note, this will only be flagged true if this data was added in addition to the requested data. For example, if the user requests a device-level mat product from a GPS device, then the latitude sensor is not flagged. Conversely, if the user requests temperature data from a mobile platform like a ship, then the latitude data from the GPS is added and interpolated to match the time stamps of the temperature sensor. See Positioning and Attitude for Mobile Devices for more information.
deviceID: Unique identifier number for the parent device.
searchDateNumFrom: Start date of the specific search in MATLAB datenum format - searches are truncated by availability and deployment dates.
searchDateNumTo: End date of the specific search MATLAB datenum format - searches are truncated by availability and deployment dates.
samplePeriod: Vector of sample periods in seconds.
samplePeriodDateFrom: Vector of the start date of each sample period (MATLAB datenum format).
samplePeriodDateTo: Vector of the end date of each of sample period (MATLAB datenum format).
sampleSize: The size of the data sample.
resampleType: Type of resampling used.
resampleDescription: Description of the resampleing used.
resamplePeriod_sec: Resample period in seconds.
resampleTypeID: Unique identifier of the subsample type used: 0/NaN - none, 1 - average, 2 - decimated (not offered), 3 - min/max, 4 - linear interpolation (VPS pressure only).
dataProductOptions: A string describing the data product options selected for this data product. This information is reflected in the file name.
qaqcFlagDescription: A string describing the flags. See the QAQC page for more information.
time: A vector of data timestamps in MATLAB datenum format.
dat: A vector of sensor values corresponding to each timestamp. When resampling by averaging, this becomes the average value. (May make a separate field for this in the future, especially if users prefer that option).
qaqcFlags: A vector indicating the quality of the data, matching the time and dat vectors. See the QAQC page for more information.
dataDateNumFrom: First time-stamp of the time series.
dataDateNumTo: Last time-stamp of the time series.
samplesExpected: The number of valid samples expected from the minimum returned data to the maximum returned data, accounting for variations in sample period.
samplesReceived: The number of raw samples received, maybe less than length(data.time) when data gaps are being filled with the NaN option.
Calibration: Structure containing information on the calibration formula applied to the data, as a it appears on the sensor listing page, in the JEP langauage. Fields include: dateFrom, dateTo, sensorID, name, formula.
Oceans 2.0 API filter: extension=nc
NetCDF is a machine-independent data format offered by numerous institutions, particularly within the earth and ocean science communities. Additional resources are noted here.
Two NetCDF files are created with this Data Product: TimeSeriesNetCDF and BinnedNetCDF. The NetCDF files are extracted from the data contained in the above MAT file.
The TimeSeriesNetCDF file contains the following variables:
* these will be labelled using the sensor's propertyCode (ie depth, depth_qaqcFlags)
Example text file to display contents: InshoreProfilingSystem_ProfilingInstrumentPackage_CTD_Temperature_20160821T000000Z_20160822T000000Z-clean_Profile_DownCasts_TimeSeries.txt
Example NetCDF file: InshoreProfilingSystem_ProfilingInstrumentPackage_CTD_Temperature_20160821T000000Z_20160822T000000Z-clean_Profile_DownCasts_TimeSeries.nc
The BinnedNetCDF file contains the following variables:
* these will be labelled using the sensor's propertyCode (i.e. depth, depth_qaqcFlags)
Unfortunately, our NetCDF files are not CF-Compliant due to the use of ONC variable names, but this will change in the future.
Example text file to display contents: InshoreProfilingSystem_ProfilingInstrumentPackage_CTD_Temperature_20160821T030720Z_20160821T212313Z-clean_Binned.txt
Example NetCDF file: InshoreProfilingSystem_ProfilingInstrumentPackage_CTD_Temperature_20160821T030720Z_20160821T212313Z-clean_Binned.nc
A temporal lag between temperature and conductivity sensors can arise from the difference in physical location, response time, and flow rate of the sensors. Another source of T-C lag is due to heat stored in the conductivity sensor material. If users choose this product or Time Series Scalar Profile Plot and Gridded Data and request data that includes temperature and conductivity sensors, they will receive estimated T-C correction terms. These values are used to calculate newly aligned sensors designated with ‘_aligned’ after the sensors name.
T-C lag values are calculated using an FFT process originally written by Jody Klymak. T-C profiles undergo spectral analysis and cases where coherence > 90% are used to calculate a lag correction term that is applied to the temperature sensor, and subsequently applied to the derived sensors (salinity, density, sigma-t, sigma-theta, and sound speed) by re-calculating them with the newly aligned temperature data. These lag correction terms are stored in the data structure under the field ‘TClag’. The TClag values are smoothed over 6 casts. If there are less than 6 values to average over, the user will get a warning that ‘TClag determined from small sample size’. Lack of any TClag values will result in NaN.
The newly calculated ‘_aligned’ sensors do not have unique sensor ID’s. Therefore, they cannot be explicitly searched for in Oceans 2.0 and will not show up in Cast Scalar Profile plots. They will however show up in Time Series Scalar Profile plots and both MAT or netCDF data files, but only if the user selects data that includes both temperature and conductivity sensors.
To comment on this product, click Write a comment below.