Wanting to be consistent with column labeling that matched the nutrient data files, CESL was outputting NH4. This causes a problem with GTool so the easiest fix is to have CESL output NH3 again. Done...
Reporting CTD oxygen(s) in umole/Kg from the Seabird sensor(s) is standard practice. Reporting bottle oxygens in um/Kg in the CalCOFI Data Reports will formally begin in 2013 (1301).
Using draw temperatures saved by CESL (CalCOFI Electronic Sample Log) into the sta.csvs, we can calculate sigma-theta for each O2 sample at draw time. Using this value, pressure=0, & CTD salinity, the ml/L values are converted to umoles/Kg using Seabird's conversion algorithm (Seabird Application Note 64):
[µmole/Kg] = [ml/L] * 44660 / (sigma_theta(P,T,S) + 1000); P = 0
CESL1304 will generate the latest casts & sta.csv formats which allow oxygen values in um/Kg to be archived.
BtlVsCTD1304 will compile the CTD sensor values plus the bottle values, include O2 in um/Kg. This allows bottle oxygen in um/Kg to be regressed against sensor values. The combined CTD+bottle data csv includes: CTD primary & secondary oxygen sensor values in ml/L & um/Kg. Plus bottle corrected CTD oxygen values - cruise-average corrected oxygen in ml/L & um/Kg; station-corrected oxygen in ml/L & um/Kg. Cruise-average corrected = CTD sensor data vs all cruise bottle oxygen regression coefficients are applied (n = ~1300 samples) . Station-corrected = primary & secondary CTD oxygen sensor data are corrected using the corresponding station bottle oxygen samples only (n = ~20 samples). Station-corrected CTD oxygen values are considered the best since station-to-station variability in sensor performance is addressed. Stations that do not have adequate calibration samples are cruise-corrected only and those CTD oxygen values are the best available.
For the µmole/Kg conversion, there is disagreement in the scientific community about the conversion constant 44660:
The value 44660 is exact for oxygen gas.
The value 44615 is the average value for atmospheric gas (N2,O2,Ar,H2O,CO2,...). It is not exact for any individual gas, but has been used historically by oceanographers.
The argument distills to exact versus historic, with oceanographers split; Sea-Bird uses 44660 in all calculations."
Fixes - fixed some column alignment (esthetics) issues in casts.csv & sta.csvs.
Added an update-reinitialize feature when editing the cfg - if a new cruise is entered into the cruise field, it will prompt you to update all related fields and reset the station & vial counts to 1.
The CTDatDepth PST & UTC in the casts.csv was incorrect when generated by CESL's csv rebuilding module (regenerates the casts.csv & all the sta.csvs automatically). This module was developed to batch recreate all the csvs so new columns could be added to older cruises. Unfortunately, the ATDepth PST date & time was UTC and AtDepth UTC was UTC+8. CESL was fixed, new casts.csvs generated for 1104, 1108, 1110, 1202, 1203. The AtDepthDate_PST & AtDepthDate_UTC columns were cut & pasted into the working casts.csvs so point-checking data codes & quality codes would remain intact. New IEHs & Data Reports for all published cruises should be updated as well as database dates and times.
The 89 column station csv format was put in service on CalCOFI 1301SH. CESL & DECODR have been updated to allow 82 (pre-1210), 84 (1210), & 89 (1301+) column station csvs. This will allow the addition of oxygen in um/kg to be included. These extra columns were added near the end so only effect the comments columns.
CESL1301.exe will generate sta.csvs with columns to accommodate oxygens in umoles/kg from bottles, primary & secondary CTD oxygen sensors. These columns will be updated by DECODR.
After discussing some missing data, it became apparent some documentation of how data are added to casts.csv was needed. This guide outlines all 63 columns: col #, col width, format, and the original source of the data ie what program/process adds or updates data to the file. Some metadata columns are still under development. All columns are generated & some columns populated by CESL after samples are taken at-sea but updated during the different phases of the data process. DECODR keeps process logs and backup versions of the data files for all processes/updates applied to either casts.csv or sta.csvs.
casts.csv contains pre & post calibration columns for tau & acid ratio for the fluorometer but chlorophyll data are calculated post-cruise using averages of the two values (pre & post cruise aves). Averages can be calculated 'on-the-fly' so it is not necessary to archive calculated averages. BUT it is prudent to archive the average tau & acid ratio to corroborate the numbers used in the final calculations. It also improves flexibility if a calculated average has to be adjusted for a particular station or run (rare).
So the casts.csv is now 63 columns - see guide - inserting average tau & acid ratio columns (51 & 52) next to post-cruise values. This shifts the former 51 - 61 over to 53 - 63. SIO-CalCOFI software has been adjusted to handle either casts.csv format. CESL, DECODR, PSal, & FLog will update either 61-col (pre-1301) or 63-col casts.csv, using "is col 53 O2" test as a criteria. DECODR modules effected are: mainly O2 processing, but also Prodo processing, Int 14C, & Int Chl which populate cols to the right.
During key-entry, whenever <Enter> is used to record O2 draw temperatures (not mouse-click), CESL saves that sample log depth records to a local (C:\CESL) 'insurance' file. If the form is not properly saved because of a hardware or operator error, previous key-entries can be recalled by pressing F3. Procedure - after restarting the tablet & CESL, reload the current station log, if not done automatically; configure the O2 case, Salt case, Nut rack color then press F3. Previously entered O2 draw temperatures, Prodo bottles, DIC bottle #s, and comments will be re-entered from the insurance file. Note: only depths with O2 draw temperatures will be re-entered. Any comments or DIC bottle #s pre-entered on deeper depths are not in the insurance file. Re-flagging specific bottle types, such as mistrips, extra bottles, or test cases, will also be necessary. This feature is designed to re-enter the O2 draw temperatures since they would have to be redone.
New menu entry & hotkey enabled - pressing Ctrl-F5 will prompt you to automatically reload all the sample logs (001-100; YYMM###sLog.csv) & regenerate the sta.csvs & casts.csv entries. This is useful for upgrading 82-col sta.csvs to 84-col sta.csvs or any other batch reprocessing of sta.csvs. Update - moved this feature to the menu under Utils and made it Ctrl-F5 instead of F5, which may be too easy to press. Also added a confirmation step so you have to say "yes" to overwriting the old sta.csvs & casts.csv.
To regenerate a specific sta.csv or casts.csv entry, load the specific sta by typing in the Ord_Occ in the upper left field. The saved station log will load and once complete, press Ctrl-C to save the single sta.csv & update the casts.csv. Note: you will have to manually delete the original cast entry for that sta in the casts.csv or cut & paste the new entry over the old.