Processing and QAQC
Recommended Serial Acquisition Steps
The ACS communicates over RS232 at 115200-8-N-1.
Step |
Step Description |
Notes |
|---|---|---|
0.0 |
Find Packet |
Read the serial stream and parse out a full ACS packet. |
0.1 |
Split/Parse Packet |
Split a packet into its raw constituents as defined by the ACS manual. (e.g. record_length, a_signal, raw_internal_temperature, etc). |
0.2 |
Run Syntax Test |
Verify that the packet length matches the record length and verify the checksum. |
0.3 |
Run Gap Test |
Check the assigned packet timestamp and the serial port buffer for pile up. |
0.4 |
Import ACS Device File |
The serial number from the parsed packet can be used to automatically identify a corresponding device file. |
0.5 |
Calibrate Packet |
Calibrate the packet using the device file to produce products in engineering units (e.g. a_m, internal_temperature) |
0.6 |
Import TSCor Data |
TS-correction does take time to perform each loop, but can be done in a single thread. |
0.7 |
TS Correct Packet |
OPTIONAL: Apply TS correction to data in the packet, if ancillary temperature and salinity are available. (e.g. a_mts) |
0.8 |
Run Additional QAQC Tests |
OPTIONAL: Run elapsed time test, internal temperature test, and Inf Nan Test on uncorrected data. These test can probably be done during data acquisition on a single thread. |
Recommended Processing Steps
Note: Many of the steps in the table below are described further in the Sea-Bird Scientific ACS Protocol Document (Rev Q).
GSW is the Pythonic implementation of the Gibbs-SeaWater for TEOS-10.
Step |
Step Description |
Supported in *acspype*? |
Description |
Notes |
|---|---|---|---|---|
1.0 |
Import ACS Device File and TS Correction Coefficients |
Yes |
Import a corresponding ACS device file (ACS-XXX.dev) and TS-correction coefficients (TS4.cor). These files are provided by Sea-Bird Scientific. |
The TS4.cor file from SBS should be the same for all ACS. acspype has these coefficients hardcoded. It is strongly recommended to rename the .dev file to ACS-XXXXX_YYYY-MM-DD.dev, where XXXXX is the zero padded serial number (e.g. 00011) and YYYY-MM-DD is the date of calibration in the device file, to avoid overwriting device files if stored in the same directory. |
1.1 |
Compute Internal Temperature |
Yes |
Compute internal temperature of the sensor from raw counts. This data is needed for calculation of the measured (a_m, c_m) coefficients. |
The external temperature isn’t used in processing ACS data, but can also be calculated at this stage. |
1.2 |
OPTIONAL: Calculate Absolute Salinity and Conservative Temperature |
No (Use GSW) |
The use of TEOS-10 salinity/temperature over EOS-80 salinity/temperature variable should not impact the TS-correction of spectra significantly. However, it is recommended, particularly if other physical properties of seawater of interest in analysis (e.g. density). |
This requires a co-located CTD or TSG. |
1.3 |
Compute Uncorrected Absorption (a_uncorrected) and Attenuation (c_uncorrected) |
Yes |
Compute the uncorrected absorption and attenuation in inverse meters (m^-1). |
This is the first step in the processing chain where the ACS data is converted from raw counts to engineering units. Comparing uncorrected values may be useful in identifying debris or bubbles in the flow path. |
1.4 |
Compute Measured Absorption (a_m_discontinuity) and Attenuation (c_m) |
Yes |
Compute the measured absorption and attenuation in inverse meters (m^-1). |
acspype uses the measured (m) subscript because the filtration state of the medium is unknown. Use of the particulate-gelbstoff (pg), particulate (p), and gelbstoff (g) subscripts should be applied later at user discretion. |
1.5 |
OPTIONAL, RECOMMENDED: Apply User-Collected Pure Water Coefficients |
No |
Apply an additional pure water offset derived by the user. |
This may require multiple calibrations. Linear interpolation between two or more user created offsets will help assess and remove sensor drift. |
1.6 |
OPTIONAL, RECOMMENDED: Correct Measured Absorption (a_m) and Attenuation (c_m) for Discontinuity |
Yes |
Correct the measured absorption and attenuation for the observed discontinuity jump that occurs roughly halfway in each spectra. |
This step applies a scalar offset to the second half of the spectra to create a smoother spectrum. |
1.7 |
Time Lag Correction |
No |
Using known volume, flow rate, and co-located sensors, shift ancillary variables to match the time the same water enters the ACS. |
This requires a nearby CTD or TSG and knowledge of the flow rate of water pumped through the ACS. |
1.8 |
Compute TS-Corrected Absorption (a_mts) and Attenuation (c_mts) |
Yes |
Using ancillary temperature (conservative temperature) and salinity (absolute salinity), correct spectra for the effect of temperature and salinity. |
This requires a nearby CTD or TSG. DO NOT USE THE ACS EXTERNAL TEMPERATURE. |
1.9 |
Zero Shift Correction Absorption (a_mts) and Attenuation (c_mts) |
Yes |
Shift values between -0.005 and 0 to be 0. |
“” |
2.0 |
OPTIONAL: A-C Lag Correction |
No |
This step is only necessary if flow cells are plumbed in series and if there analysis is done on full resolution data. |
OPTIONAL: This only applies if the flow cells are plumbed in series and you do not intend to resample to coarser time bins. |
3.0 |
Interpolate to Common Wavelengths |
Yes |
Linearly interpolate absorption and attenuation variables to common wavelength bins. |
Linear interpolation between wavelength bins is not common in ACS literature. However, this makes it significantly easier to perform scattering correction and for comparison between absorption and attenuation. |
3.1 |
Correct Absorption for Scattering Using Baseline and Proportional Methods |
Yes |
Perform a user selected scattering correction to absorption. |
Baseline, Fixed, and Proportional Scattering Correction are provided by acspype. For scattering correction that requires a reference wavelength, 715nm is commonly used. However, acspype provides a function that will estimate an optimal reference wavelength by using the first red wavelength (>700nm) that is closes to zero. |
4.0 |
Run QAQC Tests |
Yes |
Run QAQC tests (see Recommended QAQC Tests table for recommended tests). |
Elapsed Time Test, Internal Temperature Test, Inf Nan Test, Gross Range Test |
4.1 |
Remove Poor Quality Spectra Based on QAQC Test Results |
No (Use Xarray) |
Remove poor quality spectra from analysis. The results of some may tests provide indication of instrument malfunction, occurrence of debris or bubble in flow, or that the data is suspect because of defined limits in the sensor file. |
“” |
5.0 |
Split into measured (a_pg, c_pg), particulate (a_p, c_p) and gelbstoff (a_g, c_g) Measurements |
No |
At this stage, data can be renamed to match its filtration state. Generally p = pg - g |
This stage requires knowledge of the filtration state of the seawater. |
6.0 |
Filter and Resample |
No |
At this stage, data can be passed through a series of smoothing filters and resampled to user-defined bins. |
This stage requires careful consideration of the required resolution for analysis. |
7.0 |
Compute Advanced Data Products |
Yes (Ongoing Development) |
Corrected absorption and attenuation products are used to compute advanced data products (e.g. chlorophyll-a from absorption line height and particulate organic carbon). |
“” |
Recommended QAQC Tests
Flag meanings are based on the QARTOD flag meanings. Descriptions of each flag can be found in the acspype flag documentation. Tests are considered QARTOD tests if they were coded in a way that would satisfy the requirements for the generic QARTOD tests found in each manual (e.g. gap test, syntax test, gross range test, etc.). Test that are not QARTOD tests are custom tests developed from information in the ACS manual or are modified forms of a related QARTOD test.
Note: If using acspype and a flag of 2 (NOT_EVALUATED) is assigned in these tests, that indicates there was a programmatic failure in the test and an issue should be raised on GitHub. A flag of 9 (MISSING_DATA) indicates that the input data or ancillary data was missing.
Test Name |
Test Description |
Recommended Settings |
Is QARTOD? |
Possible Results |
Notes |
|---|---|---|---|---|---|
Gap Test |
The first stage is to compare the data acquisition time to the host computer clock time. The second stage is to compare the known record length against the number of bytes in the serial buffer. |
Time Increment = 0.25 (s) |
Yes |
4, 1 |
This test is generally not performed on archived datasets. If using archived data, users should reach out to the data provider to verify the timestamps or data acquisition protocols. |
Syntax Test |
The first stage checks if the registration bytes occur at the beginning of the packet. The second stage checks if the packet contains a pad byte at the end. The third stage compares the length of the packet against the size of the packet descriptor. The fourth stage compares the record length against the length of the packet. The fifth stage verifies the checksum. |
Not Applicable |
Yes |
4, 1 |
This test is generally not performed on archived datasets, although it can be recreated when processing ACS packets that have been dumped into binary files. |
Elapsed Time Test |
Check the elapsed time in each ACS sample to see if it is collected at a reasonable time since the instrument received power. The manufacturer states that the ACS takes up to 10 minutes to warm-up and that data may be questionable during this time. On moorings where power is a commodity, this is may not be possible. |
Fail Threshold = 45000 (ms) |
No (Minimum Side Gross Range Test) |
4, 3, 1 |
The fail and suspect values used in this test depend on the ACS datasets. For moored or profiler time-series, a lower fail/suspect threshold may be best, otherwise significant quantities of the data may be flagged. Users should understand that data collected at the beginning of a power start up sequence may be excessively noisy or contain inaccurate data. This data should be carefully reviewed. |
Internal Temperature Test |
Check the internal temperature of the ACS to see if it is within the range specified in the device file. Values outside the device calibration range are flagged as suspect. |
Defined in device file and automatically applied. |
No (Gross Range Test) |
3, 1 |
Data outside the calibrated temperature bins may be suspect simply because it exists outside of the calibrated range. A typical calibration range is 2-35 degC. If experiencing waters outside that range, users should request a larger calibration range from SBS. |
Inf Nan Test |
Check the uncorrected values for Inf and NaN values. Inf and Nan values can appear in uncorrected measurements for a number of reasons. A common reason is that the one or multiple reference counts contain the value of 0, which propagate to NaN when performing a log operation and remain at each processing step. |
Not Applicable |
No (Custom test) |
4, 1 |
If a NaN exists in the spectrum, it can probably be discarded. Users should review the surrounding spectrum and the same wavelength bin to determine if the issue is a one-off. Repeated NaNs (or zero reference counts) in uncorrected values may indicate that factory recalibration is needed or an instrument malfunction. |
Gross Range Test |
On TS and scattering corrected spectrum, run the gross range test, which will assign a flag for each wavelength in a spectra. |
Fail Threshold = [0, 10] |
Yes |
4, 3, 1 |
Some may find that this results in fail flags in the red wavelengths, even after correction. This |
Blanket Gross Range Test |
Assigns a blanket flag to the entire spectrum if a certain percentage of coefficients across the spectrum are flagged as fail. This is useful for identifying spectra that are not suitable for further processing. |
Ignore Wavelengths = [700, 755] |
No (Modified Gross Range Test) |
4, 3, 1 |
This may be useful for identifying poor quality spectra. Users should review the neighboring spectrum samples to see if the issue is persistent or a one-off. If only one spectrum is found as failed while the neighboring spectrum are ok, then it could probably be removed before analysis is performed without a significant impact on the end result. |
A Greater Than C Test |
Check if scattering corrected absorption is greater than ts-corrected attenuation. Consecutive values in a spectrum and over time may indicate bubbles or a stuck object in the flow cell. |
Not Applicable |
No (Modified Minimum Side Gross Range Test) |
3, 1 |
This test should be used to consider data suspect, but should not be used to immediately remove data. |
Rolling Variance Test |
Assigns a flag at each wavelength bin of spectrum if the variance over time exceeds a percentage of the mean. A rolling centered window is used to calculate the variance and a flag is assigned to the central sample. |
Percentage = 25 |
No (Custom Test) |
3, 1 |
Suspect flags may indicate bubbles or debris in the flow cell. NOT CURRENTLY IMPLEMENTED. |
Discontinuity Offset Test |
Check if the absolute value of the discontinuity offset exceeds a fail threshold or a multiple of the median for the time-series. |
Fail Threshold = 10 |
No (Custom Test) |
4, 3, 1 |
Discontinuity offsets that are larger than the fail threshold are flagged as fail. The maximum sensing range of the ACS is used as the default for the fail threshold. In general, discontinuity offsets should be small and within the typical precision of the sensor (+/- 0.003 m^-1). A second option for defining a median multiplier is used to flag data that exceed X times the median as suspect. |
Recommended Naming Conventions
The tables below provide recommended names that follow ac-s documentation and also follow the Climate and Forecast Guidelines to Standard Names.
ArrayLike indicates that the variable can be represented as a 1-dimensional (1xN) list, tuple, or numpy array.
NDArray indicates that the variable can be represented as a 2-dimensional (MxN) list, tuple, or numpy array. For output data, M is usually time and N is equivalent in size to the number of output wavelength bins. For the device file, M is usually the number of temperature bins and N is equivalent in size to the number of wavelength bins.
ACS Device File Variables and Functions
Name |
Brief Description |
Python Data Type |
Units |
|---|---|---|---|
sensor_type |
The type of the sensor. This is always “ACS Meter”. |
str |
N/A |
sn_hexdec |
The hexadecimal representation of the ACS serial number. |
str |
N/A |
sn |
The string representation of the ACS serial number. ACS’s number in the hundreds. acspype zero-pads the serial number to 5 digits (e.g. ACS-00123). |
str |
N/A |
structure_version |
The file structure version for the ACS. Structure version 3 is the current version of the ACS device file. |
str |
N/A |
tcal |
The temperature of the water used in the ACS factory calibration. This is most often used as the reference temperature in temperature-salinity correction. |
float |
Celsius |
ical |
The internal instrument temperature during ACS factory calibration. |
float |
Celsius |
cal_date |
The date the ACS was calibrated at the factory. The calibration date in the device file could be mm/dd/yy or mm/dd/yyyy, single or zero padded digits. acspype accounts for this and converts the calibration to a string in the form of YYYY-mm-dd. |
str |
ISO8601 UTC |
path_length |
The path length of the ACS flow cells. This value is critical for the conversion from raw to geophysical units. |
float |
meters |
num_wavelength |
The number of wavelength bins for the absorption and attenuation channels. |
int |
N/A |
num_tbin |
The number of temperature bins created for calculating delta T offsets. |
int |
N/A |
baudrate |
The serial communication speed of the ACS. The ACS only has one baudrate setting (115200 bps). |
int |
bps |
a_wavelength |
The factory defined wavelength bins of the absorption channel. The absorption wavelength bins are unique from the attenuation wavelength bins. They are also unique between ACS instruments. |
ArrayLike[float] |
nm |
c_wavelength |
The factory defined wavelength bins of the attenuation channel. The attenuation wavelength bins are unique from the absorption wavelength bins. They are also unique between ACS instruments. |
ArrayLike[float] |
nm |
tbin |
The factory defined bins created for calculating delta T offsets for internal temperature correction. |
ArrayLike[float] |
Celsius |
c_offset |
The factory defined pure water offsets for the attenuation channel at each respective wavelength bin. |
ArrayLike[float] |
m^-1 |
a_offset |
The factory defined pure water offsets for the absorption channel at each respective wavelength bin. |
ArrayLike[float] |
m^-1 |
c_delta_t |
The factory defined delta T offsets for the attenuation channel at each respective temperature bin and wavelength bin. The shape of this is tbin x num_wavelengths. |
NDArray[float] |
m^-1 |
a_delta_t |
The factory defined delta T offsets for the absorption channel at each respective temperature bin and wavelength bin. The shape of this is tbin x num_wavelengths. |
NDArray[float] |
m^-1 |
func_a_delta_t |
A function that calculates the appropriate delta T offset give the temperature for the absorption channel. acspype uses scipy.interpolate.make_interp_spline with a k-value of 1. |
callable function |
N/A |
func_c_delta_t |
A function that calculates the appropriate delta T offset give the temperature for the attenuation channel. acspype uses scipy.interpolate.make_interp_spline with a k-value of 1. |
callable function |
N/A |
depth_offset |
This value is not currently used because the ACS does not have a pressure sensor. It is retained for completeness and the event of future ACS updates. It can be safely ignored. |
float |
N/A |
depth_scale_factor |
This value is not currently used because the ACS does not have a pressure sensor. It is retained for completeness and the event of future ACS updates. It can be safely ignored. |
float |
N/A |
max_a_noise |
This value is not currently used or edited at the factory. It is retained for completeness and the event of future ACS updates. It can be safely ignored. |
float |
N/A |
max_c_noise |
This value is not currently used or edited at the factory. It is retained for completeness and the event of future ACS updates. It can be safely ignored. |
float |
N/A |
max_a_nonconform |
This value is not currently used or edited at the factory. It is retained for completeness and the event of future ACS updates. It can be safely ignored. |
float |
N/A |
max_c_nonconform |
This value is not currently used or edited at the factory. It is retained for completeness and the event of future ACS updates. It can be safely ignored. |
float |
N/A |
max_a_difference |
This value is not currently used or edited at the factory. It is retained for completeness and the event of future ACS updates. It can be safely ignored. |
float |
N/A |
max_c_difference |
This value is not currently used or edited at the factory. It is retained for completeness and the event of future ACS updates. It can be safely ignored. |
float |
N/A |
min_a_counts |
This value is not currently used or edited at the factory. It is retained for completeness and the event of future ACS updates. It can be safely ignored. |
float |
N/A |
min_c_counts |
This value is not currently used or edited at the factory. It is retained for completeness and the event of future ACS updates. It can be safely ignored. |
float |
N/A |
min_r_counts |
This value is not currently used or edited at the factory. It is retained for completeness and the event of future ACS updates. It can be safely ignored. |
float |
N/A |
max_temp_sd |
This value is not currently used or edited at the factory. It is retained for completeness and the event of future ACS updates. It can be safely ignored. |
float |
N/A |
max_depth_sd |
This value is not currently used or edited at the factory. It is retained for completeness and the event of future ACS updates. It can be safely ignored. |
float |
N/A |
wavelength_color_schemes |
Wavelength color schemes used by WETView when plotting data. |
ArrayLike[str] |
N/A |
ACS TSCor Variables
Name |
Brief Description |
Python Data Type |
Units |
|---|---|---|---|
wavelength |
The wavelength bin of the corresponding T-S correction coefficients. The wavelength bins in this file are used to identify the appropriate coefficients for TS-correction. |
ArrayLike[float] |
nm |
psi_t |
The temperature correction coefficient. |
ArrayLike[float] |
m^-1/degree Celsius |
psi_s_c |
The salinity correction coefficient for the attenuation channel. |
ArrayLike[float] |
m^-1/PSU |
psi_s_a |
The salinity correction coefficient for the absorption channel. |
ArrayLike[float] |
m^-1/PSU |
ACS Output and Processed Coordinates
Name |
Brief Description |
Python Data Type |
Units |
|---|---|---|---|
daq_time |
Time of data acquisition in UTC. This represents the time that was assigned to the ACS packet as it was read over serial. The ACS does not produce a timestamp on its own. |
datetime |
milliseconds since 1970-01-01 UTC |
a_wavelength |
The wavelength bins of the absorption channel. The wavelength bins are unique from the attenuation wavelength bins. |
ArrayLike[float] |
nm |
c_wavelength |
The wavelength bins of the attenuation channel. The wavelength bins are unique from the absorption wavelength bins. |
ArrayLike[float] |
nm |
wavelength |
Interpolated and common wavelength bins between the absorption and attenuation channels. The wavelength bins are unique from the absorption and attenuation wavelength bins. |
ArrayLike[float] |
nm |
ACS Output and Processed Variables
Name |
Brief Description |
Python Data Type |
Units |
|---|---|---|---|
packet |
A full packet from the ACS, including registration bytes at the beginning and pad byte at the end. |
bytes or bytearray |
N/A |
record_length |
The number of bytes in a packet. |
int |
N/A |
packet_type |
The type of the packet received. |
int |
N/A |
sn_int |
Integer representation of the ACS serial number. |
int |
N/A |
a_reference_dark |
Dark counts for the reference measurement of absorption. |
int |
counts |
c_reference_dark |
Dark counts for the reference measurement of attenuation. |
int |
counts |
a_signal_dark |
Dark counts for the signal measurement of absorption. |
int |
counts |
c_signal_dark |
Dark counts for the signal measurement of attenuation. |
int |
counts |
raw_internal_temperature |
Raw counts from the internal thermistor of the ACS. |
int |
counts |
raw_external_temperature |
Raw counts from the external thermistor of the ACS. |
int |
counts |
number_of_wavelengths |
The number of wavelength bins for the absorption and attenuation channels. |
int |
N/A |
checksum |
Checksum of the packet. |
int |
N/A |
a_reference |
Absorption reference counts. Used in the computation of uncorrected absorption. |
ArrayLike[int] |
counts |
c_reference |
Attenuation reference counts. Used in the computation of uncorrected attenuation |
ArrayLike[int] |
counts |
a_signal |
Absorption signal counts. Used in the computation of uncorrected absorption. |
ArrayLike[int] |
counts |
c_signal |
Attenuation signal counts. Used in the computation of uncorrected attenuation. |
ArrayLike[int] |
counts |
sn_hexdec |
The hexadecimal representation of the ACS serial number. |
str |
N/A |
serial_number |
The string representation of the ACS serial number. |
str |
N/A |
internal_temperature |
The internal temperature of the ACS in degrees Celsius from the internal thermistor. |
float |
Celsius |
external_temperature |
The external temperature of the ACS in degrees Celsius from the external thermistor. |
float |
Celsius |
a_uncorrected |
The uncorrected absorption values. These values have not been corrected for pure water or for internal temperature variation. |
ArrayLike[float] |
m^-1 |
c_uncorrected |
The uncorrected attenuation values. These values have not been corrected for pure water or for internal temperature variation. |
ArrayLike[float] |
m^-1 |
discontinuity_index |
The index of the spectrum discontinuity. Typically occurs between 530 and 600 nm in each channel. This value is determined using the differences between the a_wavelength and c_wavelength bins. |
int |
N/A |
a_discontinuity_offset |
The discontinuity offset to apply at the discontinuity index for the absorption channel. |
float |
m^-1 |
c_discontinuity_offset |
The discontinuity offset to apply at the discontinuity index for the attenuation channel. |
float |
m^-1 |
a_m_discontinuity |
The measured absorption coefficient with the discontinuity still in place. |
ArrayLike[float] |
m^-1 |
c_m_discontinuity |
The measured attenuation coefficient with the discontinuity still in place. |
ArrayLike[float] |
m^-1 |
a_m |
The measured absorption coefficient, corrected for the discontinuity observed at the discontinuity index. |
ArrayLike[float] |
m^-1 |
c_m |
The measured attenuation coefficient, corrected for the discontinuity observed at the discontinuity index. |
ArrayLike[float] |
m^-1 |
a_mts |
The measured absorption coefficient, corrected for the effects of temperature and salinity. |
ArrayLike[float] |
m^-1 |
c_mts |
The measured attenuation coefficient, corrected for the effects of temperature and salinity. This is generally the final processing stage for attenuation. |
ArrayLike[float] |
m^-1 |
a_mts_baseline |
The measured absorption coefficient, corrected for the effects of temperature, salinity, and the baseline (aka flat) scattering correction method. |
ArrayLike[float] |
m^-1 |
a_mts_fixed |
The measured absorption coefficient, corrected for the effects of temperature, salinity, and the fixed scattering correction method. |
ArrayLike[float] |
m^-1 |
a_mts_proportional |
The measured absorption coefficient, corrected for the effects of temperature, salinity, and the proportional scattering correction method. |
ArrayLike[float] |
m^-1 |
a_mts_baseline_plus |
The measured absorption coefficient, corrected for the effects of temperature, salinity, and the baseline plus (aka flat plus) scattering correction method. |
ArrayLike[float] |
m^-1 |
a_mts_proportional_plus |
The measured absorption coefficient, corrected for the effects of temperature, salinity, and the proportional plus scattering correction method. |
ArrayLike[float] |
m^-1 |
a_pg |
The contribution of particulates and gelbstoff to absorption. If sampling seawater, this value is equivalent to m. |
ArrayLike[float] |
m^-1 |
c_pg |
The contribution of particulates and gelbstoff to attenuation. If sampling seawater, this value is equivalent to m. |
ArrayLike[float] |
m^-1 |
a_p |
The contribution of particulates to absorption. Determination of this requires prior determination and subtraction of the gelbstoff signal. |
ArrayLike[float] |
m^-1 |
c_p |
The contribution of particulates to attenuation. Determination of this requires prior determination and subtraction of the gelbstoff signal. |
ArrayLike[float] |
m^-1 |
a_g |
The contribution of gelbstoff (dissolved constituents) to absorption. Determination of this requires seawater filtered down to 0.2 microns before being sampled by the ACS. |
ArrayLike[float] |
m^-1 |
c_g |
The contribution of gelbstoff (dissolved constituents) to attenuation. Determination of this requires seawater filtered down to 0.2 microns before being sampled by the ACS. |
ArrayLike[float] |
m^-1 |
Ancillary Variables
Name |
Brief Description |
Python Data Type |
Units |
|---|---|---|---|
sea_water_temperature |
The temperature of the seawater sample, typically with respect to the ITS-90. This is the temperature of the water at the time of sampling. May or may not account for time-lag. |
float |
Celsius |
sea_water_practical_salinity |
The practical salinity of the seawater sample, typically under PSS-78/EOS-80. This is the salinity of the water at the time of sampling. May or may not account for time-lag. |
float |
ppt (PSU) |
sea_water pressure |
The pressure of the seawater sample in decibars. Used in calculating TEOS-10 products and depth. |
float |
dbar |
sea_water_conservative_temperature |
The conservative temperature of the seawater sample as calculated from sea_water_absolute_salinity and sea_water temperature. |
float |
Celsius |
sea_water_absolute_salinity |
The absolute salinity of the seawater sample as calculated from sea_water_practical_salinity and sea_water_temperature. |
float |
g/kg (ASU) |
Reference Material
Manuals
The most up-to-date manuals and protocols for the ACS can be found on the Sea-Bird Scientific ACS Downloads Page.
ACS Manual (acspype was released referencing Revision N)
ACS Protocol Document (acspype was released referencing Revision Q)
WETView 7 Manual (acspype was released referencing Revision F)
Literature
Below is a small list of ACS, absorption, attenuation, or ACS data product related literature.
Author |
Year |
Title |
Link |
|---|---|---|---|
Zaneveld et al. |
1994 |
Scattering error correction of reflecting-tube absorption meters |
|
Bricaud et al. |
1995 |
Variability in the chlorophyll-specific absorption coefficients of natural phytoplankton: Analysis and parameterization |
|
Davis et al. |
1997 |
Reducing the effects of fouling on chlorophyll estimates derived from long-term deployments of optical instruments |
|
Pegau et al. |
1997 |
Absorption and attenuation of visible and near-infrared light in water: dependence on temperature and salinity |
|
Pegau et al. |
2003 |
Ocean Optics Protocols for Satellite Ocean Color Sensor Validation, Revision 4, Volume IV |
https://ntrs.nasa.gov/api/citations/20030093642/downloads/20030093642.pdf |
Behrenfeld and Boss |
2006 |
Beam attenuation and chlorophyll concentration as alternative optical indices of phytoplankton biomass. |
|
Gardner et al. |
2006 |
Global POC concentrations from in-situ and satellite data |
|
Sullivan et al. |
2006 |
Hyperspectral temperature and salt dependencies of absorption by water and heavy water in the 400–750 nm spectral range |
|
Boss et al. |
2007 |
Measurements of spectral optical properties and their relation to biogeochemical variables and processes in Crater Lake, Crater Lake National Park, OR |
|
Stramski et al. |
2008 |
Relationships between the surface concentration of particulate organic carbon and optical properties in the eastern South Pacific and eastern Atlantic Oceans |
|
Slade et al. |
2010 |
Underway and Moored Methods for Improving Accuracy in Measurement of Spectral Particulate Absorption and Attenuation |
|
Cetenic et al. |
2012 |
Particulate organic carbon and inherent optical properties during 2008 North Atlantic Bloom Experiment |
|
Rottgers et al. |
2013 |
Evaluation of scatter corrections for ac-9 absorption measurements in coastal waters |
|
Roesler and Barnard |
2013 |
Optical proxy for phytoplankton biomass in the absence of photophysiology: Rethinking the absorption line height |
|
Boss et al. |
2013 |
The characteristics of particulate absorption, scattering and attenuation coefficients in the surface ocean; Contribution of the Tara Oceans expedition |
|
Stockley et al. |
2017 |
Assessing uncertainties in scattering correction algorithms for reflective tube absorption measurements made with a WET Labs ac-9 |
|
Boss et al. |
2019 |
Ocean Optics and Biogeochemistry Protocols for Satellite Ocean Colour Sensor Validation, Volume 2.0. Beam Transmission and Attenuation Coefficients: Instruments, Characterization, Field Measurements and Data Analysis Protocols. |
|
Goni et al. |
2021 |
Wintertime particulate organic matter distributions in surface waters of the northern California current system |
|
Mobley |
2022 |
The Ocean Optics Book |
Software
Below is a list of other code sets that provide ACS processing scripts or other related functionality.
Author |
Title |
Link |
|---|---|---|
Bausell, Jesse |
acsPROCESS_INTERACTIVE |
|
Bourdin, Guillaume |
InLineAnalysis |
|
Haëntjens, Nils |
Inlinino |
|
Haëntjens, Nils |
pyACS |
|
Wingard |
ooi-data-explorations |