Sections below: Float counts | Meta Files | Tech files | Plots & listings | Surface Pressure | TNPD


Argo file format and Surface Pressure correction compliance Audit



Specific comments on this audit, based on GDAC at 1 November 2011

The number of floats for each DAC rose as expected, except for Coriolis which actually had 38 fewer floats counted. This could be due to the change in GDAC used, or files removed, or more files with critical faults so they were rejected at the very first stages of the audit process.

Coriolis in particular has worked on changing the surface pressure parameter name on a large number of floats. This audit has now ceased accepting "Pres_SurfaceOffsetNotTruncated_dBar" being used with auto-correcting PROVOR floats. Also a large number of floats corrected by reprocessing, particularly at Coriolis.

This also affects INCOIS PROVOR floats, which probably accounts for the apparent worsening of statistics there.

varying pressure correction in one profile

PIs were contacted with details of non-constant PRES-PRES_ADJUSTED - ie the pressure correction appears to varies throughout a profile. These cases should be examined as they indicate something has gone wrong (some PIs already fixed their cases.)

multiple SPO names

A jump in floats with multiple SPO names, especially AOML. (due to partial conversion to new names, or deliberate choice??)

missing PRES_ADJUSTED

This appears to be a significant problem. Using our decoding software there are about 140,000 profiles which lack valid PRES_ADJUSTED or PRES_ADJUSTED_QC fields.

Refined assessment of "missing PRES_ADJUSTED". Many of these actually arise from null characters in the PRES_ADJUSTED_QC field. Where a char vector contains even one null, the Matlab str2num function returns an empty vector. Correction of this will free up a large amount of extra data, especially from AOML, both for users and to be audited.

Some also arise from fillval in PRES_ADJUSTED where QC=3 (happens in CSIRO R files.) Is this wrong?? If not, need to change my test to qc>=3 instead of qc>=4.

Recommend DACs trace and correct QC values which do not convert to numerals (ie only numeric values between 48 and 57 are valid.) A listing of all affected files will be provided. The fillvalue (space, numeric 32) should only be found in unfilled variables, and null (numeric 0) should never be present.

Lists of these cases for each DAC can be accessed via the table at the bottom of the Plots Index Tables

imperfect TNPD comments

Completely fixed at CSIO and BODC, progress at MEDS and KMA with new processing but a lot of old files still to be changed.

Change of GDAC

This audit is the first to be based on a copy of the Coriolis GDAC rather than USGODAE. This should make no difference.


Jeff Dunn, Nov 2011 CSIRO



Argo Technical and Meta file compliance Audit

This page is automatically created by code which scans all files in the Argo GDAC.

Previous versions can be accessed via the CSIRO DMQC page

The audit purpose and method is described here

Compliance summary of this audit


This analysis was based on GDAC as at 01-Nov-2011


Float counts in DACs

DAC details [explanations]
DAC nameAOMLBODCCORIOLISCSIROGTSJMAMEDSCSIOINCOISKMAKORDI
# floats39113481260466350107231795233152114
# Projects9653112112322
# PIs18567111652442
# Models14452311854632

Floats in multiple DACS
DACAOMLBODCCORIOLISCSIROGTSJMAMEDSCSIOINCOISKMAKORDI
# floats39113481260466350107231795233152114
dups in GTS8131-2----53
other dups--7----3455



Meta files

Meta files [explanations]
DAC nameAOMLBODCCORIOLISCSIROGTSJMAMEDSCSIOINCOISKMAKORDI
# floats39113481260466350107231795233152114
# meta files39113481259466350107231795232143114
broken A----350------
broken B--15--------
Bad launch info3----------

PLATFORM_MODEL
The strings found in the PLATFORM_MODEL fields
Strings have been converted to lower case and blanks removed to assist match-ups
field contentsAOMLBODCCORIOLISCSIROGTSJMAMEDSCSIOINCOISKMAKORDITOTAL
Empty Field--1-350---19-361
apex------2--10488194
provor--183----15-2662
palace_n/a17----------17
solo_sbe1484----------1484
apex_sbe1687------684--1759
soloof_fsi28----------28
solo_fsi272----------272
apexir_sbe225------12---237
soloir_sbe101----------101
apex_seascan10----------10
solo2ir_sbe76----------76
apex_n/a2----------2
solo_sbe41cp1----------1
provor_seascan1----------1
provor_n/a6----------6
provor_sbe1------10---11
apex-sbe-320-453-834279-20739-2132
martec-fsi-21---------21
-sbe-2---------2
martec-sbe-5---------5
provor ctf2--61--------61
apex sbe apf7--91--------91
provor ctf3--38--------38
provor cts2--160--------160
apex sbe apf8--204--------204
nemo--72--------72
nemo 2.5--4--------4
provor cts3--169-----4--173
apex sbe 41 apf8--7--------7
arvor iridium--6--------6
provor cts3 do--16--------16
arvor--13----5---18
provor cts3 4.82--20--------20
provor cts3 v4.8--6--------6
provor cts3-do--13--------13
nemo with sbe 41--11--------11
arvor-a3--5--------5
apex sbe41 apf8--45--------45
apex apf9a f/w w--6--------6
apex apf9a f/w--55--------55
provor cts3 do 9--14--------14
apex apf8 rev da--4--------4
apex-apf8c--12--------12
apex apf8 rey da--2--------2
provor t--30--------30
apex sbe apf8b s--3--------3
apex sbe apf8b--14--------14
apex sbe apf8 s--10--------10
apex sbe apf8 sn--11--------11
apex sbe apf8 2--1--------1
apex sbe apf8--1--------1
apex sbe-43f apf--3--------3
apex apf9a f/w s--3--------3
apex-apf9--19--------19
apex-apf9a--65--------65
apex-sbe-apf8c--2--------2
apex 19--1--------1
provor bioargo--1--------1
2625--1--------1
apex-apf9a f/w--9--------9
apex-sbe-apf9a--6--------6
apex-apf9i--4--------4
apex sbe-41-alac--3--------3
apex sbe-1-alace--1--------1
apex sbe -41-ala--2--------2
apex sbe-41 ap--2--------2
apex sbe-41 apf--8--------8
apex sbe-41 a--1--------1
provor ct--5--------5
apex sbe -41 apf--1--------1
r1-sbe---10-2-----12
palace-----4-----4
alace_r1-fsi-----2-----2
r1-sbe profiler-----1-----1
r1-td-----9-----9
provor-sbe-----13231----163
ninja-tsk-----3-----3
ninja-sbe-----15-----15
tem. profiler-----1-----1
apex-sbe-aandera-----7-----7
provor-sbe cts-3-----14-----14
nemo-sbe-----10-----10
arvor-sbe-----27-----27
apex-fsi-----3-----3
pops-sbe-----3-----3
apex-td profiler-----4-----4
pops-provor-sbe-----1-----1
p-alace------4----4
apex-sbe/optode------1----1
provor_fsi--------2--2

Basic MODEL
Grouping PLATFORM_MODEL fields by stanard float types
Basic typeAOMLBODCCORIOLISCSIROGTSJMAMEDSCSIOINCOISKMAKORDITOTAL
Unknown-22-35074-19-375
apex1924320596453-84828280211143884945
solo1962----------1962
provor8-5513-146311021-26796
nemo--87--10-----97
ninja-----18-----18
martec-26---------26
palace17----4-----21
arvor--24--27-5---56
r1---10-12-----22

PLATFORM_MODEL field - APF9 Status [explanations]
AOMLBODCCORIOLISCSIROGTSJMAMEDSCSIOINCOISKMAKORDITOTAL
Not APEX198728664133502243515229263373
APEX not APF9--407--------407
APEX unknown192432022453-84828280211143884371
APEX APF9--167--------167
Manual list*303--12-------315

SENSOR pressure field
* Sensor names converted to lower case and blanks removed to assist match-ups
*AOMLBODCCORIOLISCSIROGTSJMAMEDSCSIOINCOISKMAKORDITOTAL
Empty Field-3821--5317---51151
druck67--389----182--638
mp40-c-2000-g14----------14
n/a1538-87--------1625
sbe41376----527-244--931
sbe1----------1
2900psia1449-90----66---1605
sbe41cp454-18--99-54--580
sstd10----------10
2000dbar1----------1
1500psia1----------1
sbe-41-316---------316
ectp202mar-21---------21
sbe-41v3.0-4---------4
sbe-41cp-4---------4
sbe41cp-2900psia--21--------21
sbe41cp?2900psia--87--------87
sbe41cp2900psia--5--------5
paine3000psia--42----17--23
xxxx--62--------62
none--6--------6
3000psia--8--------8
41--21--------21
41do--1--------1
sbe41do--2--------2
sbbe41v3.0--8--------8
1600psia--3--------3
paine---38-------38
amatek---19-------19
kistler---17-------17
"druck"---1-------1
straingauge_sbe41-----319-----319
straingauge-----26-----26
straingauge_sbe41cp-----89-----89
straingauge_ctd-f01-----3-----3
sbe41,2900psias/n4867-----1-----1
sbe41,3000psias/n2657701518-----1-----1
sbe37-----2-----2
fsi41--------2--2
endrow--------23--23
sbecp41---------129109238
sbe41v3.0---------14-14

SENSOR pressure Maker field
* names converted to lower case and blanks removed to assist match-ups
*AOMLBODCCORIOLISCSIROGTSJMAMEDSCSIOINCOISKMAKORDITOTAL
Empty Field-3822--9----5839
micron14----------14
paines91----------91
sbe954-25---3172481431091580
n/a96-81--------177
druck2652-207----66---2925
2900psia67----------67
kistler13-4----5---22
seascan11----------11
ametec12----------12
paine1-4--------5
seabird-32412466----222--1024
fsi-21---1--2--24
martec--6--------6
sea-birdelectronics--4--------4
xxxx--64--------64
manufacturerdruck--6--------6
ametek--7--------7
none--1--------1
nke--1--------1
sea-birdelectronics,inc._druck-----617-----617
sea-birdelectronics,inc.-----158-----158
sea-birdelectronics,inc.(druck)-----68-----68
sea-birdelectronics,inc._kistler-----136-----136
falmouthscientific,inc.-----4-----4
sea-birdelectronics,inc._paine-----13-----13
sea-birdelectronics,inc._ametek-----60-----60
thetsurumi-seikico.,ltd.-----3-----3
notspecified-----1-----1
sea-birdelectronics,inc-----1-----1
sea-birdelectronics,inc._-----1-----1

SENSOR pressure Serial Number field
S/NAOMLBODCCORIOLISCSIROGTSJMAMEDSCSIOINCOISKMAKORDITOTAL
# floats39113481260466350107231795233152114
No decodable number43091145-35020511619122007


tech files

Tech files [explanations]
FormatAOMLBODCCORIOLISCSIROGTSJMAMEDSCSIOINCOISKMAKORDITOTAL
No profiles14618157350185462232623
Missing------------
Old1------7---8
Old - Bad------------
New37643301245459-105431284227130827687
New, no Surf Pres------------
New, Bad format12-85--154----116
V 2.337643301245459-105431284227130827687

Surface Pressure Offset parameter name
AOMLBODCCORIOLISCSIROGTSJMAMEDSCSIOINCOISKMAKORDITOTAL
Old format
Other3-11-8131-2846
surface_pressure-1---------1
surface_offset------------
pressure_sensor_offset------------
start_surface_pressure1----------1
pressure_offset_(counts)1----------1
pressure_offset_(dbar)-------7---7
pres_offsetadjustment_dbar------------
pressure_offset_dbar------------
pres_surfacecomplement_dbar------------
New format
Missing34-994-214----162
pres_surfaceoffsettruncatedplus5dbar_dbar1052245407225-67121544139104-3102
pres_surfaceoffsettruncated_dbar-----2-----2
pres_surfaceoffsetnottruncated_dbar160259290235-19165358326822668
pres_surfaceoffsetnottruncatedplus5dbar_dbar-----3-----3
pres_surfaceoffsetcorrectednotreset_1dbarresolution_dbar-19181--8-----208
pres_surfaceoffsetcorrectednotreset_1cbarresolution_dbar-----114-----114
pres_surfaceoffsetbeforereset_dbar603----------603
pres_surfaceoffsetbeforeresettruncated_dbar------------
pres_surfaceoffsetafterreset_dbar------------
pres_surfaceoffsetbeforereset_1dbarresolution_dbar-5172--13-----190
pres_surfaceoffsetbeforereset_1cbarresolution_dbar-2104--31-55--147
pres_surfaceoffsetafterreset_1cbarresolution_dbar------------
pres_surfaceoffsetbeforereset_5cbarresolution_dbar------------
pres_surfaceoffsetafterreset_5cbarresolution_dbar------------
pres_surfaceoffsetbeforereset_4mbarresolution_dbar------------
pres_surfaceoffsetafterreset_4mbarresolution_dbar------------
pres_descentstart_dbar411----------411
pres_descentstartafterreset_dbar------------
pres_offsetadjustment_dbar87----------87
pres_surface_dbar------------
pres_surfacecomplement_dbar------------
pres_surfaceoffsettruncatedplus3dbar_dbar-----1-----1
pres_surfaceoffsetnottrancated_dbar-----6-----6
pressure_offset_dbar------28----28
Multiple SP names per profile1149-254-47-----1225
SP name changes thru float lifetime139----------139
% ok SP values [explanation]96969599-97979999100--

Surface Pressure Offset parameter name vs model
apexsoloprovornemoninjamartecpalacearvorr1UnknownAll models
Other13132-------46
surface_pressure1---------1
surface_offset-----------
pressure_sensor_offset-----------
start_surface_pressure------1---1
pressure_offset_(counts)-1--------1
pressure_offset_(dbar)--7-------7
pres_offsetadjustment_dbar-----------
pressure_offset_dbar-----------
pres_surfacecomplement_dbar-----------
Missing2512188715--1-4158
pres_surfaceoffsettruncatedplus5dbar_dbar3090-------12-3102
pres_surfaceoffsettruncated_dbar---------2-
pres_surfaceoffsetnottruncated_dbar171479313210--41952663
pres_surfaceoffsetnottruncatedplus5dbar_dbar3---------3
pres_surfaceoffsetcorrectednotreset_1dbarresolution_dbar--189--19----208
pres_surfaceoffsetcorrectednotreset_1cbarresolution_dbar--111-3-----114
pres_surfaceoffsetbeforereset_dbar-603--------603
pres_surfaceoffsetbeforeresettruncated_dbar-----------
pres_surfaceoffsetafterreset_dbar-----------
pres_surfaceoffsetbeforereset_1dbarresolution_dbar--181--5-3-1189
pres_surfaceoffsetbeforereset_1cbarresolution_dbar--93----50-4143
pres_surfaceoffsetafterreset_1cbarresolution_dbar-----------
pres_surfaceoffsetbeforereset_5cbarresolution_dbar-----------
pres_surfaceoffsetafterreset_5cbarresolution_dbar-----------
pres_surfaceoffsetbeforereset_4mbarresolution_dbar-----------
pres_surfaceoffsetafterreset_4mbarresolution_dbar-----------
pres_descentstart_dbar12383----16---411
pres_descentstartafterreset_dbar-----------
pres_offsetadjustment_dbar-87--------87
pres_surface_dbar-----------
pres_surfacecomplement_dbar-----------
pres_surfaceoffsettruncatedplus3dbar_dbar--------1-1
pres_surfaceoffsetnottrancated_dbar6---------6
pressure_offset_dbar--28-------28


Plots and listings analysing the Surface Pressure Offset correction for all floats for each DAC are accessed through the Plots Index Tables. Separate tables link to all floats, or only floats with apparent SP correction anomalies, or only floats with apparent TNPD.


Note: The following analyses were based on assumptions about behaviour of different types of floats, where "type" was here primarily defined by the Surface Pressure Offset parameter name. Some of these assumptions will be wrong, and some types are not analysed at all because I am unsure of their behaviour. It is probably necessary to also take basic float model (eg Apex or SOLO) into account to fully determine the pressure correction treatment required for a float, but it would be better if this could be fully determined by just the parameter name. My assumptions are recorded in this table.

Surface Pressure Offset

We have attempted to test for correct Surface Pressure (SP) correction of profile pressure.

The difference between PRES and PRES_ADJUSTED is the DAC-applied pressure correction (assuming PRES is the raw P as reported by the float.)

Correct application of this test depends on being able to deduce the correct float type and P adjustment from the meta and tech files. However this is not always possible due to missing or non-standard entries in these files.

Our computed pressure correction is

     p_calc = PRES - (SP - adjustment)
where adjustment is the known SP adjustment for a given float type (usually 5dbar). For Apex floats the SP reported with a profile actually relates to the previous profile, because it was recorded just as the float begins to descend. RT profile pressure can only be adjusted with the SP reported with the same profile, but in DM profiles the correct SP is used (ie for profile N,
     p_calc(N) = PRES(N) - (SP(N+1) - adjustment)
So, in the provided plots , for floats which do not auto-correct, the "Calculated Correction" (CC) is
     For DM profiles:     CC = SP(N+1) - adjustment
     For RT profiles:     CC = SP(N) - adjustment
For this reason, CC will differ from Raw Surface Pressure by the "offset", and will be displaced by one profile for DM profiles. The "DAC adjustment" should however agree with the CC.

Interpretting the plots: For complete agreement in pressure correction, the "DAC Adjustment" (blue squares), should agree with the CC (red stars). Missing "DAC Adjustment" symbols can occur where there is no PRES_ADJUSTED profile (eg if QC=4). Missing CC symbols can occur where the DAC has provided an SP estimate (possibly by interpolation) but the automated process has not [due to different processing or because the tech files are not quite up-to-date.]

Disagreement is likewise visible where "MPP minus CC" (cyan diamond) does not overlay "Min Corrected Pressure" (magenta square). The latter quantity is just the near-surface PRES_ADJUSTED value.

Note that the raw SP symbols (blue diamond) are shown exactly as found in the tech files. That is, their x-coordinate is the cycle number corresponding to that value in the tech files.

A light gray background is used where disagreement is between 0.1 and 1.0 dbar. This occurs frequently due to DAC smoothing of the SP series, or for other reasons.

A dark gray background indicates disagreement greater than 1.0 dbar. Some of these cases are due to deficiencies in our automatic procedures, but some others appear to be related to processing faults at the DACs.

An olive green background behind the CC value indicates an alternative correction method (such as allowed for SOLO floats) gives better agreement with the DAC value than the primary method. The CC value shown is then as derived by the alternative method. For example, SOLO floats are auto-correcting, so the primary method is "no correction". However, a secondary method - the normal SP(n+1) correction - may be applied in DM if there is evidence of strong drift.

A very pale green background indicates that the DAC has explained how their adjustment is correct, or pointed out that the CSIRO audit software has made a mistake. Any disagreement in these profile is ignored when collating statistics.

Extra information in upper frame on plots
Name Colour/Where Meaning
P Adj QCtop halfprofile minimum PRES_ADJUSTED_QC for each DM profile, value indicated by scale on left of frame
DMLower middleDM processed profiles
No P ADJLower middlePRES_ADJUSTED or PRES_ADJUSTED_QC profiles not fully populated
TNPD CommentNear bottom Has correct pressure SCIENTIFIC_CALIB_COMMENT for a TNPD profile
P ERR 2.4bottomprofile min PRES_ADJUSTED_ERROR==2.4
P ERR 20bottomprofile min PRES_ADJUSTED_ERROR==20

See the table which summarizes the results of this pressure correction audit for all DACs.

Lists: for each DAC a text file (accessable through the Plots Index Tables) lists the result of checking the surface pressure correction for every float. The floats are grouped by PI. The lists give the number of DM profiles, total number of profiles, assumed surface pressure offset, and counts of profiles which agree exactly or disagree with my automated correction. Please note that in many cases the disagreement is because your DAC correction is a better choice than my automated one.

Format example:

     5900033 DM 264/295 SPoffs=5 Diffs(dbar) =0[271] <1 [0] >1 [ 1 *]  

Of 295 profiles for this float, 264 have been DM processed. 271 profiles exactly agree with my automated correction, 0 disagree by a small amount, but 1 disagrees by more than 1 dbar.


TNPD

Truncated Negative Drifting Pressure (TNPD) is a term used to describe Apex floats which truncate negative surface pressure values (all firmware prior to APF9) and the pressure sensor develops a strong negative drift. The usual cause of strong negative drift in these sensors is the "microleak" fault associated with Druck sensors. The pressure in profiles affected by TNPD cannot be corrected for surface pressure offset.

The first step in detecting TNPD is to determine if a float is of the type where such an fault might occur. We have attempted to do this using the tech and meta files alone, but this is not always possible.

The next step is to find where the reported SP (corrected for 5dbar adjustment if necessary) has "flat spots" on zero, indicating that negative values are being truncated. Previously a float with 80% SP=0 was declared to be TNPD. We now say that any susceptible float is in a TNPD state after the last believable positive SP value. This is because the strong negative drift condition is typically monotonic, so if such a condition has commenced then typical variability will not give rise to small positive SP values.

The main difficulty of this approach [assuming the basic assumptions are correct] is determining when isolated positive values are natural perturbations about a small negative value, or when they are just sensor error spikes. In the present analysis I have used (for the first time) the crude test that a positive value > 1dbar which has 2 zero values immediately either side of it, is a spike that can be ignored. [This differs to the standard despiking process used to prepare the SP series for pressure correction because here we just want a simple way of assessing where an SP series is devoid of true +ve values.] Obviously this is very imperfect - there is no substitute for skilled DM analysis, and in very many cases the DAC will be right and our algorithm will be wrong.

Another deficiency of our algorithm is that is [apparently] extremely unlikely that microleaking will start after years of correct operation. For example, if SP is 0 for the last 5 of 200 profiles then the algorithm says TNPD commenced at profile 196. The time of onset of TNPD is examined in this set of TNPD plots. That page also includes plots which examining whether, for different sensor types, a large negative drift can be followed by recovery to plausible positive SP values.

"Start of TNPD" in the surface pressure plots provided indicates where TNPD appears to commences, according to the above algorithm, if that is at least 6 months before the last DM profile. If the condition is met with less than 6 months of subsequent DM profiles, then 'Potential TNPD' is displayed. Where some of the float series has been DM processed, extra information is provided for the DM profiles in an extra frame at the top of the figure.

See the table which summarizes the results of this TNPD treatment audit for all DACs.

Lists: for each DAC two text files (accessable through the Plots Index Tables) list the result of checking for TNPD. The floats are grouped by PI. The "short" list gives the cycle number ("pn") where TNPD appears to start, and counts of profiles which appear to require the TNPD comment string and do not have it ("missed"), or do have the comment string ("good"), or have a comment string which is not precisely the standard string ("imperfect"). The list also notes where we have NOT detected TNPD but have found the TNPD comment string.

 

Legal Notice and Disclaimer | Copyright | Privacy | Page author: Jeff Dunn | Contact: Jeff.Dunn@csiro.au