5  Argo trajectory format version 3.2

Argo trajectory files contain all received Argos and GPS locations of Argo floats. The trajectory file also contains cycle timing information important for making velocity calculations. These times may come directly from the float in real time, from calculations based on float information in real time, from the satellite system in real time, or from estimations done in delayed mode.

In addition to locations and cycle timing information, a trajectory file often contains measurements such as pressure, temperature, salinity or conductivity performed at various intermediate times during the cycle. The full pressure, temperature and salinity profile collected upon ascent is not included in the trajectory file. This is stored in the profile file.

An Argo trajectory file contains the CTD and BGC sensor parameters that are measured outside the vertical profiles.

There may be two Argo trajectory files at one time for a float - a real time trajectory file (“R”) and a delayed mode trajectory file (“D”). For naming conventions, see §4.1.3. The real time trajectory file will contain all the data obtained in real time for all the cycles the float has performed. The “R” file will exist until the float dies and DMQC is finalized. A delayed mode trajectory file exists for the entire float lifetime.

The delayed mode trajectory file will contain both real time and delayed mode data. The delayed mode data will be the highest quality data available for each cycle that has been delayed mode quality controlled. However, delayed mode quality control may not be performed on all the float’s cycles. In this case, the “D” file will contain both the real time and delayed mode data only for the cycles for which delayed mode quality control has been performed. Therefore, if both an “R” and “D” trajectory file exist, to obtain the best quality data for the entire float record, it might be necessary to look at the “D” file for the cycles that have been delayed mode quality controlled and then in the “R” file for the rest of the cycles which have not yet been delayed mode quality controlled. Once a float dies and the entire float record has been quality controlled, the “D” file will be the only file available on the GDAC and will contain both adjusted and not adjusted data.

The trajectory file contains two groups of data variables. In this document the groups are differentiated by their dimension.

The variable group described in §2.3.5 which includes the locations, cycle timing information, and measurements from the float is N_MEASUREMENT long. It includes all the data from the float. If filled, the best timing information is kept in the JULD_ADJUSTED variable. If this is filled in real time, that means either clock drift has been determined and adjustment has been applied (inclusive of adjustment of zero) or another timing estimate has been done based on typical float behavior. Simultaneously, the DATA_MODE should be marked as “A” indicating an adjusted float, and the CLOCK_OFFSET variable should be appropriately filled.

The variable group described in §2.3.6 which includes the cycle timing information and other cycle descriptive variables is N_CYCLE long. The cycle timing information is a subset of the information found in the N_MEASUREMENT array. This array includes the best timing information which matches the JULD_ADJUSTED times if filled, else JULD times from the N_MEASUREMENT array., The times can be corrected for float clock drift or estimated. The JULD_*_STATUS variables provide information on the state of the timing information. The N_CYCLE array also includes several variables that pertain only to the entire cycle such as GROUNDED, CONFIG_MISSION_NUMBER, etc.

In the N_MEASUREMENT group, the MEASUREMENT_CODE variable must be correctly understood. This variable is designed to indicate where in the cycle the location, times and important float timing events. The Measurement Code Table (Reference Table 15 - https://vocab.nerc.ac.uk/collection/R15/) contains all the flags and their meanings for the MEASUREMENT_CODE variable. This table is comprised of two parts - a) Absolute codes: measurement code (MC) values can be primary (mandatory) or secondary (highly desirable), and b) Relative codes: measurement code values are relative to an absolute code and are further divided into two parts: generic codes that can be used by a wide variety of floats and specific codes that are directly important to a specific float/measurement.

All Primary and Secondary MC events that are experienced by the float are required to be present in the N_MEASUREMENT array and redundantly in the N_CYCLE variables. Secondary codes are codes that are not as crucial as the primary codes, but it is still recommended they be filled. All other codes are voluntary. Please note the term ‘experienced by the float’. It is not necessary, nor best practice, to include measurement codes including primary or secondary codes, if the float is not programmed to activate an action described by the measurement code. For example a float alternates cycle missions. In even cycles n, the float does not enter a drift phase, but instead rises directly back to the surface after falling to depth. In odd cycles n+1, the float enters a drift phase. In the N_MEASUREMENT array the even cycles n would not include measurement codes indicative of drift, such as MC250 or MC300. But these codes would be included in odd cycles n+1.

If the float experiences an event but the time is not able to be determined, then most JULD variables are set to fill value and a *_STATUS = ‘9’ is used in both the N_MEASUREMENT and N_CYCLE arrays. This indicates that it might be possible to estimate the timing of the event in the future and acts as a placeholder.

If a float does not experience an event, then the fill values are used for all N_CYCLE variables. These non-events do not get a placeholder in the N_MEASUREMENT arrays as described above.

For file naming conventions, see §4.1.3.

5.1 Global attributes

The global attributes section is used for data discovery. It complies with NetCDF Climate and Forecast (CF) Metadata Conventions (version 1.6).

The following global attributes should appear in the global section (attributes in italic are optional attributes):

// global attributes:

:title = “Argo float trajectory file”;

:institution = “CORIOLIS”;

:source = “Argo float”;

:history = “2011-04-22T06:00:00Z creation”;

:references = “http://www.argodatamgt.org/Documentation”;

:id = “https://doi.org/10.17882/42182”

:comment = “free text”;

:user_manual_version = “3.45”;

:Conventions = “Argo-3.2 CF-1.6”;

:featureType = “trajectory”;

:comment_on_resolution = “PRES variable resolution depends on measurement code”;

Global attribute name Definition
title A succinct description of what is in the dataset.
institution Specifies where the original data was produced.
source The method of production of the original data. If it was model-generated, source should name the model and its version, as specifically as could be useful. If it is observational, source should characterize it (e.g., “surface observation” or “radiosonde”).
history Provides an audit trail for modifications to the original data. Well-behaved generic NetCDF filters will automatically append their name and the parameters with which they were invoked to the global history attribute of an input NetCDF file. We recommend that each line begin with a timestamp indicating the date and time of day that the program was executed.
references Published or web-based references that describe the data or methods used to produce it.
id

The Argo GDAC data DOI: https://doi.org/10.17882/42182

This attribute is optional but highly recommended

comment Miscellaneous information about the data or methods used to produce it.
user_manual_version The version number of the user manual
Conventions The conventions supported by this file, blank separated
featureType The NetCDF CF feature type.
comment_on_resolution Optional comment on parameter resolution

5.2 Dimensions and definitions

Name Definition Comment
DATE_TIME DATE_TIME = 14;

This dimension is the length of an ASCII date and time value.

Date_time convention is : YYYYMMDDHHMISS

YYYY : year

MM : month

DD : day

HH : hour of the day

MI : minutes

SS : seconds

Date and time values are either in Universal Time (UTC) or float’s time.

Examples :

20010105172834 : January 5th 2001 17:28:34

19971217000000 : December 17th 1997 00:00:00

STRING256

STRING64

STRING32
STRING16

STRING8
STRING4
STRING2

STRING256 = 256

STRING64 = 64;

STRING32 = 32;

STRING16 = 16;

STRING8 = 8;

STRING4 = 4;

STRING2 = 2;

String dimensions from 2 to 256.
N_PARAM N_PARAM = <int value>;

Maximum number of parameters measured or calculated for a pressure sample.

Examples :

(pressure, temperature) : N_PARAM = 2

(pressure, temperature, salinity) : N_PARAM = 3

(pressure, temperature, conductivity, salinity) : N_PARAM = 4

N_MEASUREMENT N_MEASUREMENT = unlimited; This dimension is the number of recorded locations, cycle timings and measurements of the file.
N_CYCLE N_CYCLE = <int value>;

Number of collected float cycles. 

If all the cycles have been collected (i.e. if there are no missing cycles), it is the number of cycles performed by the float. In this particular case, as some floats begin cycle numbering at 0, others at 1, in the former, N_CYCLE = max(CYCLE_NUMBER) +1.  In the latter, N_CYCLE = max(CYCLE_NUMBER)

Example: N_CYCLE = 100

N_HISTORY N_HISTORY = <int value>;

Maximum number of history records for a location. This dimension depends on the data set

Example: N_HISTORY = 10

N_VALUESxx N_VALUESxx = <int value>; Maximum number of parameter measurements sampled at a given pressure level. This dimension depends on the data set. Example: N_VALUES41 = 41.
N_CALIB_PARAM N_CALIB_PARAM = <int value>; Maximum number of calibrations performed on a float to fill the parameter adjusted fields. This dimension depends on the data set. Example: N_CALIB_PARAM = 3.
N_CALIB_JULD N_CALIB_JULD = <int value>; Maximum number of calibrations performed on a float to fill the JULD adjusted fields. This dimension depends on the data set. Example: N_CALIB_JULD = 3.

5.3 General information on the trajectory file

This section contains information about the whole file.

Name Definition Comment
DATA_TYPE

char DATA_TYPE(STRING16);
DATA_TYPE:long_name = “Data type”;

DATA_TYPE:conventions = “Argo reference table 1”;

DATA_TYPE:_FillValue = ” “;

This field contains the type of data contained in the file.

The list of acceptable data types is in the reference table 1 (https://vocab.nerc.ac.uk/collection/R01/).

Example: “Argo trajectory”

FORMAT_VERSION

char FORMAT_VERSION(STRING4);

FORMAT_VERSION:long_name = “File format version”;

FORMAT_VERSION:_FillValue = ” “;

File format version

Example: “3.2”

HANDBOOK_VERSION

char HANDBOOK_VERSION(STRING4);

HANDBOOK_VERSION:long_name = “Data handbook version”;

HANDBOOK_VERSION:_FillValue = ” “;

Version number of the data handbook.

This field indicates that the data contained in this file are managed according to the policy described in the Argo data management handbook.

Example: “1.2”

REFERENCE_DATE_TIME

char REFERENCE_DATE_TIME(DATE_TIME);

REFERENCE_DATE_TIME:long_name = “Date of reference for Julian days”;

REFERENCE_DATE_TIME:conventions = “YYYYMMDDHHMISS”;

REFERENCE_DATE_TIME:_FillValue = ” “;

Date of reference for Julian days.

The recommended reference date time is

“19500101000000” (meaning January 1st 1950 00:00:00)

DATE_CREATION

char DATE_CREATION(DATE_TIME);

DATE_CREATION:long_name = “Date of file creation”;

DATE_CREATION:conventions = “YYYYMMDDHHMISS”;

DATE_CREATION:_FillValue = ” “;

Date and time (UTC) of creation of this file.

Format : YYYYMMDDHHMISS

Example:

“20011229161700” (meaning December 29th 2001 16:17:00)

DATE_UPDATE

char DATE_UPDATE(DATE_TIME);

DATE_UPDATE:long_name = “Date of update of this file”;

DATE_UPDATE:conventions = “YYYYMMDDHHMISS”;

DATE_UPDATE:_FillValue = ” “;

Date and time (UTC) of update of this file.

Format : YYYYMMDDHHMISS

Example:

“20011230090500” (meaning December 30th 2001 09:05:00)

5.4 General information on the float

This section contains general information on the float.

Name Definition Comment
PLATFORM_NUMBER

char PLATFORM_NUMBER(STRING8);

PLATFORM_NUMBER:long_name = “Float unique identifier”;

PLATFORM_NUMBER:conventions = “WMO float identifier: A9IIIII”;

PLATFORM_NUMBER:_FillValue = ” “;

WMO float identifier.

WMO is the World Meteorological Organization.

This platform number is unique.

Example: “6900045”

PROJECT_NAME

char PROJECT_NAME(STRING64);

PROJECT_NAME:long_name = “Name of the project”;

PROJECT_NAME:_FillValue = ” “;

Name of the project that operates the float.
Multiple projects can be separated by commas.

Example: “GYROSCOPE, GMMC”

PI_NAME

char PI_NAME (STRING64);

PI_NAME:long_name = “Name of the principal investigator”;

PI_NAME:_FillValue = ” “;

Name of the principal investigator responsible for the profiling float. Valid PI names are listed in reference table R40: https://vocab.nerc.ac.uk/collection/R40/

Multiple names can be concatenated, separated by commas.

Example: “Julia UITZ”

TRAJECTORY_PARAMETERS

char TRAJECTORY_PARAMETERS(N_PARAM, STRING64);

TRAJECTORY_PARAMETERS:long_name = “List of available parameters”;

TRAJECTORY_PARAMETERS:conventions = “Argo reference table 3”;

TRAJECTORY_PARAMETERS:_FillValue = ” “;

List of parameters contained in this trajectory file.

The parameter names are listed in reference table 3 (https://vocab.nerc.ac.uk/collection/R03/).

Examples : “PRES”,” TEMP”, “PSAL”, “DOXY”, etc.

“PRES”: pressure

“TEMP” : temperature

“PSAL” : practical salinity

“DOXY”: dissolved oxygen

DATA_CENTRE

char DATA_CENTRE(STRING2);

DATA_CENTRE:long_name = “Data centre in charge of float data processing”;

DATA_CENTRE:conventions = “Argo reference table 4”;

DATA_CENTRE:_FillValue = ” “;

Code for the data centre in charge of the float data management.

The data centre codes are described in the reference table 4 (https://vocab.nerc.ac.uk/collection/R04/).

Example: “ME” for MEDS

DATA_STATE_INDICATOR

char DATA_STATE_INDICATOR(STRING4);

DATA_STATE_INDICATOR:long_name = “Degree of processing the data have passed through”;

DATA_STATE_INDICATOR:conventions = “Argo reference table 6”;

DATA_STATE_INDICATOR:_FillValue = ” “;

Data processing level.

The data state indicator is described in the reference table 6 (https://vocab.nerc.ac.uk/collection/R06/).

Example: “2B”

PLATFORM_TYPE

char PLATFORM_TYPE(STRING32);

PLATFORM_TYPE:long_name = “Type of float”;

PLATFORM_TYPE:conventions = “Argo reference table 23”;

PLATFORM_TYPE:_FillValue = ” “;

Type of float listed in reference table 23 (https://vocab.nerc.ac.uk/collection/R23/).

Example: “SOLO”, “APEX”, “PROVOR”, “ARVOR”, “NINJA”.

FLOAT_SERIAL_NO

char FLOAT_SERIAL_NO(STRING32);

FLOAT_SERIAL_NO:long_name = “Serial number of the float”;

FLOAT_SERIAL_NO:_FillValue = ” “;

This field should contain only the serial number of the float.

Example: “1679”

FIRMWARE_VERSION

char FIRMWARE_VERSION(STRING64);

FIRMWARE_VERSION:long_name = “Instrument firmware version”;

FIRMWARE_VERSION:_FillValue = ” “;

Firmware version of the float.

The dimension STRING32 instead of STRING64 remains accepted.

Example: “013108”

WMO_INST_TYPE

char WMO_INST_TYPE(STRING4);

WMO_INST_TYPE:long_name = “Coded instrument type”;

WMO_INST_TYPE:conventions = “Argo reference table 8”;

WMO_INST_TYPE:_FillValue = ” “;

Instrument type from WMO code table 1770.

A subset of WMO table 1770 is documented in the reference table 8 (https://vocab.nerc.ac.uk/collection/R08/).

Example: “831”

POSITIONING_SYSTEM

char POSITIONING_SYSTEM(STRING8);

POSITIONING_SYSTEM:long_name = “Positioning system”;

POSITIONING_SYSTEM:_FillValue = ” “;

Name of the system used to derive the float locations, see reference table 9 (https://vocab.nerc.ac.uk/collection/R09/).

Example: “ARGOS”

5.5 N_MEASUREMENT dimension variable group

This section describes the variables found in the N_MEASUREMENT dimension variable group. In this variable group you find the unadjusted data as reported by the float, adjusted timing, the reported locations, as well as measurements performed along the surface and subsurface trajectory.

N_MEASUREMENT is the number of locations, cycle timings, and measurements received or estimated from information sent by the float. If a cycle is missed, nothing is entered into the N_MEASUREMENT array - e.g. no fill values are allowed to indicate a missing cycle.

The N_MEASURMENT array should be arranged first by CYCLE_NUMBER and then by the order the events for that cycle occurred. Some data within the netCDF may not have a time attached to it, but it should still be placed as close as possible to its origination time. Because the order of the N_MEASUREMENT array is based on time, MEASUREMENT_CODE will not be ascending for every cycle, but JULD is usually ascending (unless a clock offset has been applied and then the JULD variable may have an inversion) and JULD_ADJUSTED is always ascending. To construct the trajectory netCDF a full understanding of when the float data was gathered within the cycle is necessary.

JULD contains the raw timing values either from the satellite system or from the float. The values in JULD cannot be estimated, nor altered such as for clock drift.

JULD_ADJUSTED contains the best estimate of float timing available for this float. If necessary, it contains adjusted timing variables due to clock drift. The times can be adjusted either in real time or in delayed mode due to clock drift or estimation of times based on float behavior by a float expert. The JULD_ADJUSTED_STATUS variable indicates how the JULD_ADJUSTED value is filled and indicates whether the time is estimated or measured. The JULD_ADJUSTED_QC contains the QC flags for the adjusted times. This may lead to times where JULD_ADJUSTED is filled, but JULD contains ‘FillValue’. That is because the time is estimated rather than measured.

In R-mode, no times are adjusted, but times may be estimated and placed within JULD_ADJUSTED with the JULD_ADJUSTED_STATUS flag set to ‘1’ indicating an estimated value. Non-adjusted times do not need to be carried down to the JULD_ADJUSTED array, so this array may be sparse or even empty. No estimated times are allowed in the JULD variable.

In A-mode, adjustments are made, typically to PSAL and PRES, but others may be adjusted as well such as JULD if real-time correction of clock drift is applied. If an adjustment is made, all values must be carried down to the ADJUSTED variables with the appropriate adjustment applied. Real time estimates will also be present in ‘A’ files. Non-zero adjustments will need to be applied to any present estimates.

In D-mode, all adjustments and estimations are complete. Similar to the ‘A’ file, there must be correspondence between the ADJUSTED and non-ADJUSTED fields. This means that all values must be carried down to the ADJUSTED field. ADJUSTED variables may have a value while the corresponding non-ADJUSTED variable is ‘FillValue’ due to the presence of an estimated value. The opposite is not allowed. There cannot be a non-ADJUSTED value and ‘FillValue’ in the corresponding ADJUSTED variable.

CYCLE_NUMBER contains the cycle number of the cycle that is assigned in real time. This cycle number must match the profile cycle number, which is the number recorded in the CYCLE_NUMBER(N_PROF) variable in profile files.

CYCLE_NUMBER_INDEX indicates which cycle number information is contained in that index of the N_CYCLE array. For example, CYCLE_NUMBER_INDEX(4)=3 means the 4th element of all 34 N_CYCLE variables is associated with the WMO_003.nc profile file. This might happen if the float’s first cycle has a cycle number of zero rather than one. Additionally, all the elements of the N_MEASUREMENT variables for which CYCLE_NUMBER = 3 are likewise associated with the 4th N_CYCLE elements and with the WMO_003.nc profile file. This clearly links the index in the N_CYCLE array to the cycle number in the N_MEASUREMENT array.

Additionally, CYCLE_NUMBER = -1 indicates the float’s launch and the JULD and LATITUDE and LONGITUDE variables should contain the float’s launch time and location.

CYCLE_NUMBER_ADJUSTED contains a cycle numbering which has been assessed and adjusted to be correct, especially for the purposes of trajectory calculations. If a cycle is recovered during delayed mode and no profile file is created, the cycle must be added into the CYCLE_NUMBER_ADJUSTED and CYCLE_NUMBER_ADJUSTED_INDEX variables. Two examples of recovered cycles are below.

The first example is where cycle number 5 is recovered in delayed mode. The cycle number variables must be rewritten as follows:

CYCLE_NUMBER 1, 2, 3, 4, _, 6, 7, 8, 9, 10, 11,…,

CYCLE_NUMBER_INDEX 1, 2, 3, 4, _, 6, 7, 8, 9, 10, 11,…,

CYCLE_NUMBER_ADJUSTED 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, _

CYCLE_NUMBER_ADJUSTED_INDEX 1, 2, 3, 4, 5, 6, 7, 8 9, 10, _

Here, FillValue is added to CYCLE_NUMBER and CYCLE_NUMBER_INDEX to indicate that no profile file exists with cycle number 5.

A second example of an error that might be discovered in cycle number in delayed mode involves floats that do not send cycle number and for which cycle number must be calculated. Here, cycle number 5 was incorrectly skipped in real time and is introduced in delayed mode:

CYCLE_NUMBER 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12,…

CYCLE_NUMBER_INDEX 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12,…

CYCLE_NUMBER_ADJUSTED 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, _, _

CYCLE_NUMBER_ADJUSTED_INDEX 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, _, _

Here, CYCLE_NUMBER = 6 which was assigned in real time, should actually be assigned cycle number = 5 as reflected by the CYCLE_NUMBER_ADJUSTED variable.

CYCLE_NUMBER always corresponds to the profile cycle number. To look for the cycle that matches the profile cycle number, users must look in the CYCLE_NUMBER variable for the cycle number they are interested in. If the CYCLE_NUMBER_ADJUSTED variable is ‘FillValue’, then this cycle is in real time mode and no corrected cycle number exists. If the CYCLE_NUMBER_ADJUSTED variable is filled, this is the correct cycle number as determined during delayed mode. For the previous example, profile cycle number 6 corresponds to CYCLE_NUMBER = 6 and CYCLE_NUMBER_ADJUSTED = 5.

<PARAM> contains the uncorrected real-time data transmitted by the floats.

The values in <PARAM> should never be altered. <PARAM>_QC contains QC flags that pertain to the values in <PARAM>. Values in <PARAM>_QC are set initially in real time by the automatic real-time tests.

They are later modified in ‘D’ mode at levels where the QC flags are set incorrectly by the real-time procedures, and where erroneous data are not detected by the real-time procedures.

Each parameter can be adjusted. In that case, <PARAM>_ADJUSTED contains the adjusted values, <PARAM>_ADJUSTED_QC contains the QC flags set by the delayed-mode process, and <PARAM>_ADJUSTED_ERROR contains the adjustment uncertainties.

A file A-mode processing contains adjusted sections with fill values (<PARAM>_ADJUSTED, <PARAM>_ADJUSTED_QC and <PARAM>_ADJUSTED_ERROR). This is the same for all other ADJUSTED variables (e.g. JULD_ADJUSTED).

When no parameter is measured along the trajectory, N_PARAM (number of parameters) and any fields relative to parameter are not in the file: <PARAM>, <PARAM>_QC, <PARAM>_ADJUSTED, <PARAM>_ADJUSTED_QC, <PARAM>_ADJUSTED_ERROR and TRAJECTORY_PARAMETERS.

Iridium and estimated positions:

Iridium-based or estimated positions are included if no GPS fix could be obtained that is considered good in real-time. POSITIONING_SYSTEM is used to indicate that multiple positioning systems are present in the trajectory file (see reference table 9 - https://vocab.nerc.ac.uk/collection/R09/). Used are “I” (for Iridium) or “U” (for estimated) in POSITION_ACCURACY (Table 5 - https://vocab.nerc.ac.uk/collection/R05/). If both AXES_ERROR_ELLIPSE_MAJOR and AXES_ERROR_ELLIPSE_MINOR values are the same AXES_ERROR_ELLIPSE_ANGLE is not needed (set to FillValue).

RAFOS positions:

A similar approach is used storing the error and indicating that the position comes from RAFOS estimates. POSITIONING_SYSTEM remains filled with the primary system, i.e. GPS or Argos rather than RAFOS. POSITION_ACCURACY becomes ‘R’ and the MEASUREMENT_CODE for positions and associated times is MC - 25, MC being a primary or secondary measurement code (see §3.15 for more details)

Details on how the RAFOS positions were derived cannot be stored in the traj.nc file. These will be in a traj_aux file.

Name definition comment
JULD

double JULD(N_MEASUREMENT);

JULD:long_name = “Julian day (UTC) of each measurement relative to REFERENCE_DATE_TIME”;

JULD:standard_name = “time”;

JULD:units = “days since 1950-01-01 00:00:00 UTC”;

JULD:conventions = “Relative julian days with decimal part (as parts of day)”;

JULD:resolution = X;

JULD:_FillValue = 999999.;

JULD:axis = “T”;

Julian day of the location (or measurement).

The integer part represents the day, the decimal part represents the time of the measurement.

Date and time are in universal time coordinates.

The Julian day is relative to REFERENCE_DATE_TIME.

Example: 18833.8013889885 (meaning July 25 2001 19:14:00)

JULD_STATUS

char JULD_STATUS(N_MEASUREMENT);

JULD_STATUS:long_name=“Status of the date and time”

JULD_STATUS:conventions = “Argo reference table 19”;

JULD_STATUS:_FillValue = ” “;

Status flag on JULD date and time.

The flag scale is described in reference table 19 (https://vocab.nerc.ac.uk/collection/R19/).

Example: “2” (meaning the value is transmitted by the float)

JULD_QC

char JULD_QC(N_MEASUREMENT);

JULD_QC:long_name = “Quality on date and time”;

JULD_QC:conventions = “Argo reference table 2”;

JULD_QC:_FillValue = ” “;

Quality flag on JULD date and time.

The flag scale is described in the reference tables 2 (https://vocab.nerc.ac.uk/collection/RR2/ for real-time and https://vocab.nerc.ac.uk/collection/RD2/ for delayed-mode).

Example: “1” (meaning the date and time seem correct)

JULD_ADJUSTED

double JULD_ADJUSTED(N_MEASUREMENT);

JULD_ADJUSTED:long_name = “Adjusted julian day (UTC) of each measurement relative to REFERENCE_DATE_TIME”;

JULD_ADJUSTED:standard_name = “time”;

JULD_ADJUSTED:units = “days since 1950-01-01 00:00:00 UTC”;

JULD_ADJUSTED:conventions = “Relative julian days with decimal part (as parts of day)”;

JULD_ADJUSTED:resolution = X;

JULD_ADJUSTED:_FillValue = 999999.;

JULD:axis = “T”;

Adjusted Julian day of the location (or measurement).

The integer part represents the day, the decimal part represents the time of the measurement.

Date and time are in universal time coordinates.

The Julian day is relative to REFERENCE_DATE_TIME.

The date may be adjusted due to float clock drift or expert review.

Example: 18833.8013889885 (meaning July 25 2001 19:14:00)

JULD_ADJUSTED_STATUS

char JULD_ADJUSTED_STATUS(N_MEASUREMENT);

JULD_ADJUSTED_STATUS:long_name=“Status of the JULD_ADJUSTED date”

JULD_ADJUSTED_STATUS:conventions = “Argo reference table 19”;

JULD_ADJUSTED_STATUS:_FillValue = ” “;

Status flag on JULD date and time.

The flag scale is described in reference table 19 (https://vocab.nerc.ac.uk/collection/R19/).

Example: “2” (meaning the value is transmitted by the float)

JULD_ADJUSTED_QC

char JULD_ADJUSTED_QC(N_MEASUREMENT);

JULD_ADJUSTED_QC:long_name = “Quality on adjusted date and time”;

JULD_ADJUSTED_QC:conventions = “Argo reference table 2”;

JULD_ADJUSTED_QC:_FillValue = ” “;

Quality flag on JULD_ADJUSTED date and time.

The flag scale is described in the reference tables 2 (https://vocab.nerc.ac.uk/collection/RR2/ for real-time and https://vocab.nerc.ac.uk/collection/RD2/ for delayed-mode).

Example: “1” (meaning the date and time seem correct)

LATITUDE

double LATITUDE(N_MEASUREMENT);

LATITUDE:long_name = “Latitude of each location”;

LATITUDE:standard_name = “latitude”;

LATITUDE:units = “degree_north”;

LATITUDE:_FillValue = 99999.;

LATITUDE:valid_min = -90.;

LATITUDE:valid_max = 90.;

LATITUDE:axis = “Y”;

Latitude of the location (or measurement).

Unit : degree north

Example: 44.4991 (standing for 44° 29’ 56.76’’ N)

LONGITUDE

double LONGITUDE(N_MEASUREMENT);

LONGITUDE:long_name = “Longitude of each location”;

LONGITUDE:standard_name = “longitude”;

LONGITUDE:units = “degree_east”;

LONGITUDE:_FillValue = 99999.;

LONGITUDE:valid_min = -180.;

LONGITUDE:valid_max = 180.;

LONGITUDE:axis = “X”;

Longitude of the location (or measurement).

Unit : degree east

Example: 16.7222 (standing for 16° 43’ 19.92’’ E)

POSITION_ACCURACY

char POSITION_ACCURACY(N_MEASUREMENT);

POSITION_ACCURACY:long_name = “Estimated accuracy in latitude and longitude”;

POSITION_ACCURACY:conventions = “Argo reference table 5”;

POSITION_ACCURACY:_FillValue = ” “;

Position accuracy received from the positioning system.

The location classes from ARGOS are described in the reference table 5 (https://vocab.nerc.ac.uk/collection/R05/).

A “G” indicates the GPS positioning system.

Examples :

“3” for a latitude and longitude accuracy < 250 m.

“G” for GPS accuracy

POSITION_QC

char POSITION_QC(N_MEASUREMENT);

POSITION_QC:long_name = “Quality on position”;

POSITION_QC:conventions = “Argo reference table 2”;

POSITION_QC:_FillValue = ” “;

Quality flag on position.

The flag on position is set according to (LATITUDE, LONGITUDE, JULD) quality.

The flag scale is described in the reference tables 2 (https://vocab.nerc.ac.uk/collection/RR2/ for real-time and https://vocab.nerc.ac.uk/collection/RD2/ for delayed-mode).

Example: “1” (meaning the position seems correct)

CYCLE_NUMBER

int CYCLE_NUMBER(N_MEASUREMENT);

CYCLE_NUMBER:long_name = “Float cycle number of the measurement”;

CYCLE_NUMBER:conventions = “0…N, 0 : launch cycle, 1 : first complete cycle”;

CYCLE_NUMBER:_FillValue = 99999;

Cycle number of the float for this series of measurements, locations and timings. Some floats begin with a cycle 0 and some begin at cycle number 1. Cycle number is -1 for the float’s launch and includes the time and location.

For one cycle number, there are usually several locations/measurements received. This cycle number must match the profile cycle number.

Example: 17 for measurements performed during the 17th cycle of the float.

CYCLE_NUMBER_ADJUSTED

int CYCLE_NUMBER_ADJUSTED (N_MEASUREMENT);

CYCLE_NUMBER_ADJUSTED:long_name = “Adjusted float cycle number of the measurement”;

CYCLE_NUMBER_ADJUSTED:conventions = “0…N, 0 : launch cycle, 1 : first complete cycle”;

CYCLE_NUMBER_ADJUSTED:_FillValue = 99999;

Adjusted cycle number of the float for this series of measurements, locations and timings. Some floats begin with a cycle 0 and some begin at cycle number 1.

For one cycle number, there are usually several locations/measurements received. Sometimes cycle numbers are assigned erroneously and need to be corrected. This variable contains the corrected cycle numbers.

Example: 17 for measurements performed during the 17th cycle of the float.

MEASUREMENT_CODE

int MEASUREMENT_CODE (N_MEASUREMENT);

MEASUREMENT_CODE:long_name = “Flag referring to a measurement event in the cycle”;

MEASUREMENT_CODE:conventions = “Argo reference table 15”;

MEASUREMENT_CODE:_FillValue = 99999;

Flag for each event in the cycle which corresponds to Argo reference table 15 (https://vocab.nerc.ac.uk/collection/R15/).

Example: 100 (meaning all measurements made at the start of descent to the drift pressure. Could be time, location, surface pressure, etc.)

<PARAM>

float <PARAM>(N_MEASUREMENT);

<PARAM>:long_name = “<X>”;

<PARAM>:standard_name = “<X>”;

<PARAM>:_FillValue = <X>;

<PARAM>:units = “<X>”;
<PARAM>:valid_min = <X>;

<PARAM>:valid_max = <X>;

<PARAM>:C_format = “<X>”;

<PARAM>:FORTRAN_format = “<X>”;

<PARAM> contains the original values of a parameter listed in the “code” column of reference table 3 (https://vocab.nerc.ac.uk/collection/R03/).

<X>: these fields are specified in the columns of the reference table 3 (https://vocab.nerc.ac.uk/collection/R03/).

<PARAM>_QC

char <PARAM>_QC(N_MEASUREMENT);

<PARAM>_QC:long_name = “quality flag”;

<PARAM>_QC:conventions = “Argo reference table 2”;

<PARAM>_QC:_FillValue = ” “;

Quality flag applied on each <PARAM> value.

The flag scale is specified in tables 2 (https://vocab.nerc.ac.uk/collection/RR2/ for real-time and https://vocab.nerc.ac.uk/collection/RD2/ for delayed-mode).

<PARAM>_ADJUSTED

float <PARAM>_ADJUSTED(N_MEASUREMENT);

<PARAM>_ADJUSTED:long_name = “<X>”;

<PARAM>_ADJUSTED:standard_name = “<X>”;

<PARAM>_ADJUSTED:_FillValue = <X>;

<PARAM>_ADJUSTED:units = “<X>”;
<PARAM>_ADJUSTED:valid_min = <X>;

<PARAM>_ADJUSTED:valid_max = <X>;

<PARAM>_ADJUSTED:comment = “<X>”;

<PARAM>_ADJUSTED:C_format = “<X>”;

<PARAM>_ADJUSTED:FORTRAN_format = “<X>”;

<PARAM>_ADJUSTED:resolution= <X>;

<PARAM>_ADJUSTED contains the adjusted values derived from the original values of the parameter.

<X>: these fields are specified in the columns of the reference table 3 (https://vocab.nerc.ac.uk/collection/R03/).

When no adjustment is performed, the FillValue is inserted.

<PARAM>_ADJUSTED is mandatory for core and bgc parameters, but not for intermediate parameters.

<PARAM>_ADJUSTED_QC

char <PARAM>_ADJUSTED_QC(N_MEASUREMENT);

<PARAM>_ADJUSTED_QC:long_name = “quality flag”;

<PARAM>_ADJUSTED_QC:conventions = “Argo reference table 2”;

<PARAM>_ADJUSTED_QC:_FillValue = ” “;

Quality flag applied on each <PARAM>_ADJUSTED values.

The flag scale is specified in reference tables 2 (https://vocab.nerc.ac.uk/collection/RR2/ for real-time and https://vocab.nerc.ac.uk/collection/RD2/ for delayed-mode).

When no adjustment is performed, the FillValue is inserted.

<PARAM>_ADJUSTED_QC is mandatory for core and bgc parameters, but not for intermediate parameters.

<PARAM>_ADJUSTED_ERROR

float <PARAM>_ADJUSTED_ERROR(N_MEASUREMENT);

<PARAM>_ADJUSTED_ERROR:long_name = “Contains the error on the adjusted values as determined by the delayed mode QC process.”;

<PARAM>_ADJUSTED_ERROR:_FillValue = <X>;

<PARAM>_ADJUSTED_ERROR:units = “<X>”;

<PARAM>_ADJUSTED_ERROR:C_format = “<X>”;

<PARAM>_ADJUSTED_ERROR:FORTRAN_format = “<X>”;

<PARAM>_ADJUSTED_ERROR:resolution= <X>;

<PARAM>_ADJUSTED_ERROR contains the error on the adjusted values of the parameter.

<X>: these fields are specified in the columns of the reference table 3 (https://vocab.nerc.ac.uk/collection/R03/).

When no adjustment is performed, the FillValue is inserted.

<PARAM>_ADJUSTED_ERROR is mandatory for core and bgc parameters, but not for intermediate parameters.

AXES_ERROR_ELLIPSE_MAJOR

float AXES_ERROR_ELLIPSE_MAJOR(N_MEASUREMENT);

AXES_ERROR_ELLIPSE_MAJOR.long_name = “Semi-major axis of error ellipse from positioning system”;

AXES_ERROR_ELLIPSE_MAJOR:units = “meters”;

AXES_ERROR_ELLIPSE_MAJOR:_FillValue = 99999.;

Semi-major axis of error ellipse reported by the positioning system.
AXES_ERROR_ELLIPSE_MINOR

float AXES_ERROR_ELLIPSE_MINOR(N_MEASUREMENT);

AXES_ERROR_ELLIPSE_MINOR.long_name = “Semi-minor axis of error ellipse from positioning system”;

AXES_ERROR_ELLIPSE_MINOR:units = “meters”;

AXES_ERROR_ELLIPSE_MINOR:_FillValue = 99999.;

Semi-minor axis of error ellipse reported by the positioning system.
AXES_ERROR_ELLIPSE_ANGLE

float AXES_ERROR_ELLIPSE_ANGLE(N_MEASUREENT);

AXES_ERROR_ELLIPSE_ANGLE.long_name = “Angle of error ellipse from positioning system”;

AXES_ERROR_ELLIPSE_ANGLE:units = “Degrees (from North when heading East)”;

AXES_ERROR_ELLIPSE_ANGLE:_FillValue = 99999.;

Angle of error ellipse reported by the positioning system.
SATELLITE_NAME

char SATELLITE_NAME(N_MEASUREMENT);

SATELLITE_NAME.long_name = “Satellite name from positioning system”;

SATELLITE_NAME.FillValue = ” “;

Satellite name from positioning system.

SATELLITE_NAME is only used for Argos position

TRAJECTORY_PARAMETER_DATA_MODE

char TRAJECTORY_PARAMETER_DATA_MODE(N_MEASUREMENT, N_PARAM);

TRAJECTORY_PARAMETER_DATA_MODE:long_name = “Delayed mode or real time data”;

TRAJECTORY_PARAMETER_DATA_MODE:conventions = “R : real time; D : delayed mode; A : real time with adjustment”;

TRAJECTORY_PARAMETER_DATA_MODE:_FillValue = ” “;

Indicates the availability of adjustment of each TRAJECTORY_PARAMETERS. ‘R’ = no adjusted value is available. ‘A’ = real-time adjusted value is available. ‘D’ = delayed-mode adjusted value is available.
JULD_DATA_MODE

char JULD_DATA_MODE(N_MEASUREMENT);

JULD_DATA_MODE:long_name = “Delayed mode or real time data”;

JULD_DATA_MODE:conventions “R : real time; D : delayed mode; A : real time with adjustment”;

JULD_DATA_MODE:-FillValue = ” “;

Indicates the availability of adjustment/estimation of the Julian day of the measurement, which is stored in JULD_ADJUSTED. The raw parameter JULD stores the original telemetered value, or FillValue (if not available). If JULD_DATA_MODE = ‘R’, JULD_ADJUSTED = FillValue. If JULD_DATA_MODE = ‘A’, JULD_ADJUSTED = real-time adjusted/estimated value. If JULD_DATA_MODE = ‘D’, JULD_ADJUSTED = delayed-mode adjusted/estimated value.

5.5.1 How to report unusual Pressure resolutions in the N_MEASUREMENT variable group of the TRAJ file

In the N_MEASUREMENT array of the TRAJ file, the pressure resolution may differ according to the MEASUREMENT_CODE.

How to keep the information in the file?

  • add a “comment_on_resolution” attribute to the variable to inform the user,

  • add a “comment_on_resolution” global attribute to the file

For example, for APEX and PROVOR floats some pressures are provided in bars whereas most of them are in dbar. Thus, in this case:

  • PRES:resolution = 0.1f;

  • PRES:comment_on_resolution = “PRES resolution is 0.1 dbar, except for measurement codes [150 189 198 289 297 298 389 398 489 497 498 589 901] for which PRES resolution is 1 bar”;

You may add a comment_on_resolution global attribute

  • :comment_on_resolution = “PRES variable resolution may be lower than nominal depending on measurement codes”

5.6 N_CYCLE dimension variable group

This section contains information on the variables with dimension N_CYCLE. They include variables that contain the best estimate of float timing.

Each field in this section has a N_CYCLE dimension.

N_CYCLE is the number of collected cycles performed by the float. It is a dimension, thus it may not equal the maximum cycle number within the file.

The N_CYCLE array should be ordered by CYCLE_NUMBER_INDEX.

The cycle definition is available at §1.6. Cycle is defined as a series of actions, including collection of data, made by a float that ends with transmission of data. If the float fails to collect nor transmit data, a cycle has not occurred and CYCLE_NUMBER_INDEX should not be incremented.

Floats begin with different cycle numbers depending on float type. To understand how the N_CYCLE dimension variable group relates to the N_MEASUREMENT variable group, the user must consult the CYCLE_NUMBER_INDEX variable. This variable indicates the cycle number of the float information that is contained in that particular N_CYCLE index. For example, to find the N_CYCLE information that corresponds to CYCLE_NUMBER = 1, look for CYCLE_NUMBER_INDEX = 1.

Additionally, CYCLE_NUMBER_INDEX is the number of the profile cycle associated with the trajectory cycle in that index of the N_CYCLE array.

If any errors are discovered in how the cycle numbers were assigned in real-time, or if additional cycles are recovered in delayed mode, the CYCLE_NUMBER_INDEX_ADJUSTED variable is adjusted accordingly.

CYCLE_NUMBER_INDEX always corresponds to the profile cycle number. To look for the cycle that matches the profile cycle number, users must look in the CYCLE_NUMBER_INDEX variable for the cycle number they are interested in. If the CYCLE_NUMBER_INDEX_ADJUSTED variable contains ‘FillValue’, then this cycle is in real time mode and no corrected cycle number exists. If the CYCLE_NUMBER_INDEX_ADJUSTED variable is filled, this is the correct cycle number as determined during delayed mode.

When a cycle is missing (e.g. no data received), no fill values are used to indicate a missing cycle.

The table here-below lists all the variables having an N_CYCLE dimension. The possible cycle phase names within the JULD date and time STATUS variables (i.e., the JULD_<cycle_phase_name> and JULD_<cycle_phase_name>_STATUS variables) are also listed under the https://vocab.nerc.ac.uk/collection/RTV/ table.

Name Definition Comment
JULD_DESCENT_START

double JULD_DESCENT_START(N_CYCLE);

JULD_DESCENT_START:long_name = “Descent start date of the cycle”;

JULD_DESCENT_START:standard_name = “time”;

JULD_DESCENT_START:units = “days since 1950-01-01 00:00:00 UTC”;

JULD_DESCENT_START:conventions = “Relative julian days with decimal part (as parts of day)”;

JULD_DESCENT_START:resolution = X;

JULD_DESCENT_START:_FillValue = 999999.;

Julian day (UTC) when float leaves the surface and begins descent.

Example: 18833.8013889885 (meaning July 25 2001 19:14:00)

JULD_DESCENT_START_STATUS

char JULD_DESCENT_START_STATUS(N_CYCLE);

JULD_DESCENT_START_STATUS:long_name = “Status of descent start date of the cycle”;

JULD_DESCENT_START_STATUS:conventions = “Argo reference table 19”;

JULD_DESCENT_START_STATUS:_FillValue = ” “;

Status flag on JULD date and time.

The flag scale is described in reference table 19 (https://vocab.nerc.ac.uk/collection/R19/).

Example: “2” (meaning the value is transmitted by the float)

JULD_FIRST_STABILIZATION

double JULD_FIRST_STABILIZATION(N_CYCLE);

JULD_FIRST_STABILIZATION:long_name = “Time when a float first becomes water-neutral”;

JULD_FIRST_STABILIZATION:standard_name = “time”;

JULD_FIRST_STABILIZATION:units = days since 1950-01-01 00:00:00 UTC”;

JULD_FIRST_STABILIZATION: conventions = “Relative julian days with decimal part (as parts of day)”;

JULD_FIRST_STABILIZATION:resolution = X;

JULD_FIRST_STABILIZATION:_FillValue = 999999.

Julian day (UTC) of time when a float first becomes water-neutral.

Example: 18833.8013889885 (meaning July 25 2001 19:14:00)

JULD_FIRST_STABILIZATION_STATUS

char JULD_FIRST_STABILIZATION_STATUS(N_CYCLE);

JULD_FIRST_STABILIZATION_STATUS:long_name = “Status of time when a float first becomes water-neutral”;

JULD_FIRST_STABILIZATION_STATUS:conventions = “Argo reference table 19”;

JULD_STABILIZATION_STATUS:_FillValue = ” “;

Status flag on JULD date and time.

The flag scale is described in reference table 19 (https://vocab.nerc.ac.uk/collection/R19/).

Example: “2” (meaning the value is transmitted by the float)

JULD_DESCENT_END

double JULD_DESCENT_END(N_CYCLE);

JULD_DESCENT_END:long_name = “Descent end date of the cycle”;

JULD_DESCENT_END:standard_name = “time”;

JULD_DESCENT_END:units = “days since 1950-01-01 00:00:00 UTC”;

JULD_DESCENT_END:conventions = “Relative julian days with decimal part (as parts of day)”;

JULD_DESCENT_END:resolution = X;

JULD_DESCENT_END:_FillValue = 999999.;

Julian day (UTC) when float first approaches within 3% of the eventual drift pressure. Float may be transitioning from the surface or from a deep profile.

Example: 18833.8013889885 (meaning July 25 2001 19:14:00)

JULD_DESCENT_END_STATUS

char JULD_DESCENT_END_STATUS(N_CYCLE);

JULD_DESCENT_END_STATUS:long_name = “Status of descent end date of the cycle”;

JULD_DESCENT_END_STATUS:conventions = “Argo reference table 19”;

JULD_DESCENT_END_STATUS:_FillValue = ” “;

Status flag on JULD date and time.

The flag scale is described in reference table 19 (https://vocab.nerc.ac.uk/collection/R19/).

Example: “2” (meaning the value is transmitted by the float)

JULD_PARK_START

double JULD_PARK_START(N_CYCLE);

JULD_PARK_START:long_name = “Drift start date of the cycle”;

JULD_PARK_START:standard_name = “time”;

JULD_PARK_START:units = “days since 1950-01-01 00:00:00 UTC”;

JULD_PARK_START:conventions = “Relative julian days with decimal part (as parts of day)”;

JULD_PARK_START:resolution = X;

JULD_PARK_START:_FillValue = 999999.;

Julian day (UTC) when the float transitions to its Park or Drift mission. This variable is based on float logic based on a descent timer (i.e. SOLO), or be based on measurements of pressure (i.e. Provor).

Example: 18833.8013889885 (meaning July 25 2001 19:14:00)

JULD_PARK_START_STATUS

char JULD_PARK_START_STATUS(N_CYCLE);

JULD_PARK_START_STATUS:long_name = “Status of drift start date of the cycle”;

JULD_PARK_START_STATUS:conventions = “Argo reference table 19”;

JULD_PARK_START_STATUS:_FillValue = ” “;

Status flag on JULD date and time.

The flag scale is described in reference table 19 (https://vocab.nerc.ac.uk/collection/R19/).

Example: “2” (meaning the value is transmitted by the float)

JULD_PARK_END

double JULD_PARK_END(N_CYCLE);

JULD_PARK_END:long_name = “Drift end date of the cycle”;

JULD_PARK_END:standard_name = “time”;

JULD_PARK_END:units = “days since 1950-01-01 00:00:00 UTC”;

JULD_PARK_END:conventions = “Relative julian days with decimal part (as parts of day)”;

JULD_PARK_END:resolution = X;

JULD_PARK_END:_FillValue = 999999.;

Julian day (UTC) when float exits from its Park or Drift mission. It may next rise to the surface (AST) or sink to profile depth (DDET).

Example: 18833.8013889885 (meaning July 25 2001 19:14:00)

JULD_PARK_END_STATUS

char JULD_PARK_END_STATUS(N_CYCLE);

JULD_PARK_END_STATUS:long_name = “Status of drift end date of the cycle”;

JULD_PARK_END_STATUS:conventions = “Argo reference table 19”;

JULD_PARK_END_STATUS:_FillValue = ” “;

Status flag on JULD date and time.

The flag scale is described in reference table 19 (https://vocab.nerc.ac.uk/collection/R19/).

Example: “2” (meaning the value is transmitted by the float)

JULD_DEEP_DESCENT_END

double JULD_DEEP_DESCENT_END(N_CYCLE);

JULD_DEEP_DESCENT_END:long_name = “Deep descent end date of the cycle”;

JULD_DEEP_DESCENT_END:standard_name = “time”;

JULD_DEEP_DESCENT_END:units = “days since 1950-01-01 00:00:00 UTC”;

JULD_DEEP_DESCENT_END:conventions = “Relative julian days with decimal part (as parts of day)”;

JULD_DEEP_DESCENT_END:resolution = X;

JULD_DEEP_DESCENT_END:_FillValue = 999999.;

Julian day (UTC) when float first approaches within 3% of the eventual deep drift/profile pressure.

Example: 18833.8013889885 (meaning July 25 2001 19:14:00)

JULD_DEEP_DESCENT_END_STATUS

char JULD_DEEP_DESCENT_END_STATUS(N_CYCLE);

JULD_DEEP_DESCENT_END_STATUS:long_name = “Status of deep descent end date of the cycle”;

JULD_DEEP_DESCENT_END_STATUS:conventions = “Argo reference table 19”;

JULD_DEEP_DESCENT_END_STATUS:_FillValue = ” “;

Status flag on JULD date and time.

The flag scale is described in reference table 19 (https://vocab.nerc.ac.uk/collection/R19/).

Example: “2” (meaning the value is transmitted by the float)

JULD_DEEP_PARK_START

double JULD_DEEP_PARK_START(N_CYCLE);

JULD_DEEP_PARK_START:long_name = “Deep park start date of the cycle”;

JULD_DEEP_PARK_START:standard_name = “time”;

JULD_DEEP_PARK_START:units = “days since 1950-01-01 00:00:00 UTC”;

JULD_DEEP_PARK_START:conventions = “Relative julian days with decimal part (as parts of day)”;

JULD_DEEP_PARK_START:resolution = X;

JULD_DEEP_PARK_START:_FillValue = 999999.;

Julian day (UTC) when the float transitions to its Deep Park or Deep Drift mission. This variable is based on float logic based on a descent timer (i.e. SOLO), or be based on measurements of pressure (i.e. Provor).

Example: 18833.8013889885 (meaning July 25 2001 19:14:00)

JULD_DEEP_PARK_START _STATUS

char JULD_DEEP_PARK_START _STATUS(N_CYCLE);

JULD_DEEP_PARK_START_STATUS:long_name = “Status of deep park start date of the cycle”;

JULD_DEEP_PARK_START _STATUS:conventions = “Argo reference table 19”;

JULD_DEEP_PARK_START _STATUS:_FillValue = ” “;

Status flag on JULD date and time.

The flag scale is described in reference table 19 (https://vocab.nerc.ac.uk/collection/R19/).

Example: “2” (meaning the value is transmitted by the float)

JULD_ASCENT_START

double JULD_ASCENT_START(N_CYCLE);

JULD_ASCENT_START:long_name = “Start date of the ascent to the surface”;

JULD_ASCENT_START:standard_name = “time”;

JULD_ASCENT_START:units = “days since 1950-01-01 00:00:00 UTC”;

JULD_ASCENT_START:conventions = “Relative julian days with decimal part (as parts of day)”;

JULD_ASCENT_START:resolution = X;

JULD_ASCENT_START:_FillValue = 999999.;

Julian day (UTC) of the beginning of the float’s ascent to the surface.

Example: 18833.8013889885 (meaning July 25 2001 19:14:00)

JULD_ASCENT_START_STATUS

char JULD_ASCENT_START_STATUS(N_CYCLE);

JULD_ASCENT_START_STATUS:long_name = “Status of start date of the ascent to the surface”;

JULD_ASCENT_START_STATUS:conventions = “Argo reference table 19”;

JULD_ASCENT_START_STATUS:_FillValue = ” “;

Status flag on JULD date and time.

The flag scale is described in reference table 19 (.https://vocab.nerc.ac.uk/collection/R19/)

Example: “2” (meaning the value is transmitted by the float)

JULD_DEEP_ASCENT_START

double JULD_DEEP_ASCENT_START(N_CYCLE);

JULD_DEEP_ASCENT_START:long_name = “Deep ascent start date of the cycle”;

JULD_DEEP_ASCENT_START:standard_name = “time”;

JULD_DEEP_ASCENT_START:units = “days since 1950-01-01 00:00:00 UTC”;

JULD_DEEP_ASCENT_START:conventions = “Relative julian days with decimal part (as parts of day)”;

JULD_DEEP_ASCENT_START:resolution = X;

JULD_DEEP_ASCENT_START:_FillValue = 999999.;

Julian day (UTC) when the float begins its rise to drift pressure. Typical for profile-on-descent floats.

Example: 18833.8013889885 (meaning July 25 2001 19:14:00)

JULD_DEEP_ASCENT_START_STATUS

char JULD_DEEP_ASCENT_START_STATUS(N_CYCLE);

JULD_DEEP_ASCENT_START_STATUS:long_name = “Status of deep ascent start date of the cycle”;

JULD_DEEP_ASCENT_START_STATUS:conventions = “Argo reference table 19”;

JULD_DEEP_ASCENT_START_STATUS:_FillValue = ” “;

Status flag on JULD date and time.

The flag scale is described in reference table 19 (https://vocab.nerc.ac.uk/collection/R19/).

Example: “2” (meaning the value is transmitted by the float)

JULD_ASCENT_END

double JULD_ASCENT_END(N_CYCLE);

JULD_ASCENT_END:long_name = “End date of ascent to the surface”;

JULD_ASCENT_END:standard_name = “time”;

JULD_ASCENT_END:units = “days since 1950-01-01 00:00:00 UTC”;

JULD_ASCENT_END:conventions = “Relative julian days with decimal part (as parts of day)”;

JULD_ASCENT_END:resolution = X;

JULD_ASCENT_END:_FillValue = 999999.;

Julian day (UTC) of the end of the ascent to the surface.

Example: 18833.8013889885 (meaning July 25 2001 19:14:00)

JULD_ASCENT_END_STATUS

char JULD_ASCENT_END_STATUS(N_CYCLE);

JULD_ASCENT_END_STATUS:long_name = “Status of end date of ascent to the surface”;

JULD_ASCENT_END_STATUS:conventions = “Argo reference table 19”;

JULD_ASCENT_END_STATUS:_FillValue = ” “;

Status flag on JULD date and time.

The flag scale is described in reference table 19 (https://vocab.nerc.ac.uk/collection/R19/)

Example: “2” (meaning the value is transmitted by the float)

JULD_TRANSMISSION_START

double JULD_TRANSMISSION_START(N_CYCLE);

JULD_TRANSMISSION_START:long_name = “Start date of transmission”;

JULD_TRANSMISSION_START:standard_name = “time”;

JULD_TRANSMISSION_START:units = “days since 1950-01-01 00:00:00 UTC”;

JULD_TRANSMISSION_START:conventions = “Relative julian days with decimal part (as parts of day)”;

JULD_TRANSMISSION_START:resolution = X;

JULD_TRANSMISSION_START:_FillValue = 999999.;

Julian day (UTC) of the beginning of data transmission.

Example: 18833.8013889885 (meaning July 25 2001 19:14:00)

JULD_TRANSMISSION_START_STATUS

char JULD_TRANSMISSION_START_STATUS(N_CYCLE);

JULD_TRANSMISSION_START_STATUS:long_name = “Status of start date of transmission”;

JULD_TRANSMISSION_START_STATUS:conventions = “Argo reference table 19”;

JULD_TRANSMISSION_START_STATUS:_FillValue = ” “;

Status flag on JULD date and time.

The flag scale is described in reference table 19 (https://vocab.nerc.ac.uk/collection/R19/)

Example: “2” (meaning the value is transmitted by the float)

JULD_FIRST_MESSAGE

double JULD_FIRST_MESSAGE(N_CYCLE);

JULD_FIRST_MESSAGE:long_name = “Date of earliest float message received”;

JULD_FIRST_MESSAGE:standard_name = “time”;

JULD_FIRST_MESSAGE:units = “days since 1950-01-01 00:00:00 UTC”;

JULD_FIRST_MESSAGE:conventions = “Relative julian days with decimal part (as parts of day)”;

JULD_FIRST_MESSAGE:resolution = X;

JULD_FIRST_MESSAGE:_FillValue = 999999.;

Julian day (UTC) of the earliest float message received. May or may not have a position associated with it.

Example: 18833.8013889885 (meaning July 25 2001 19:14:00)

JULD_FIRST_MESSAGE_STATUS

char JULD_FIRST_MESSAGE_STATUS(N_CYCLE);

JULD_FIRST_MESSAGE_STATUS:long_name = “Status of date of earliest float message received”;

JULD_FIRST)MESSAGE_STATUS:conventions = “Argo reference table 19”;

JULD_FIRST_MESSAGE_STATUS:_FillValue = ” “;

Status flag on JULD date and time.

The flag scale is described in reference table 19 (https://vocab.nerc.ac.uk/collection/R19/).

Example: “2” (meaning the value is transmitted by the float)

JULD_FIRST_LOCATION

double JULD_FIRST_LOCATION(N_CYCLE);

JULD_FIRST_LOCATION:long_name = “Date of earliest location”;

JULD_FIRST_LOCATION:standard_name = “time”;

JULD_FIRST_LOCATION:units = “days since 1950-01-01 00:00:00 UTC”;

JULD_FIRST_LOCATION:conventions = “Relative julian days with decimal part (as parts of day)”;

JULD_FIRST_LOCATION:resolution = X;

JULD_FIRST_LOCATION:_FillValue = 999999.;

Julian day (UTC) of the earliest position.

Example: 18833.8013889885 (meaning July 25 2001 19:14:00)

JULD_FIRST_LOCATION_STATUS

char JULD_FIRST_LOCATION_STATUS(N_CYCLE);

JULD_FIRST_LOCATION_STATUS:long_name = “Status of date of earliest location”;

JULD_FIRST_LOCATION_STATUS:conventions = “Argo reference table 19”;

JULD_FIRST_LOCATION_STATUS:_FillValue = ” “;

Status flag on JULD date and time.

The flag scale is described in reference table 19 (https://vocab.nerc.ac.uk/collection/R19/).

Example: “2” (meaning the value is transmitted by the float)

JULD_LAST_LOCATION

double JULD_LAST_LOCATION(N_CYCLE);

JULD_LAST_LOCATION:long_name = “Date of latest location”;

JULD_LAST_LOCATION:standard_name = “time”;

JULD_LAST_LOCATION:units = “days since 1950-01-01 00:00:00 UTC”;

JULD_LAST_LOCATION:conventions = “Relative julian days with decimal part (as parts of day)”;

JULD_LAST_LOCATION:resolution = X;

JULD_LAST_LOCATION:_FillValue = 999999.;

Julian day (UTC) of the latest position.

Example: 18833.8013889885 (meaning July 25 2001 19:14:00)

JULD_LAST_LOCATION_STATUS

char JULD_LAST_LOCATION_STATUS(N_CYCLE);

JULD_LAST_LOCATION_STATUS:long_name = “Status of date of latest location”;

JULD_LAST_LOCATION_STATUS:conventions = “Argo reference table 19”;

JULD_LAST_LOCATION_STATUS:_FillValue = ” “;

Status flag on JULD date and time.

The flag scale is described in reference table 19 (https://vocab.nerc.ac.uk/collection/R19/).

Example: “2” (meaning the value is transmitted by the float)

JULD_LAST_MESSAGE

double JULD_LAST_MESSAGE(N_CYCLE);

JULD_LAST_MESSAGE:long_name = “Date of latest float message received”;

JULD_LAST_MESSAGE:standard_name = “time”;

JULD_LAST_MESSAGE:units = “days since 1950-01-01 00:00:00 UTC”;

JULD_LAST_MESSAGE:conventions = “Relative julian days with decimal part (as parts of day)”;

JULD_LAST_MESSAGE:resolution = X;

JULD_LAST_MESSAGE:_FillValue = 999999.;

Julian day (UTC) of the latest float message received. May or may not have a position associated with it.

Example: 18833.8013889885 (meaning July 25 2001 19:14:00)

JULD_LAST_MESSAGE_STATUS

char JULD_LAST_MESSAGE_STATUS(N_CYCLE);

JULD_LAST_MESSAGE_STATUS:long_name = “Status of date of latest float message received”;

JULD_LAST_MESSAGE_STATUS:conventions = “Argo reference table 19”;

JULD_LAST_MESSAGE_STATUS:_FillValue = ” “;

Status flag on JULD date and time.

The flag scale is described in reference table 19 (https://vocab.nerc.ac.uk/collection/R19/).

Example: “2” (meaning the value is transmitted by the float)

JULD_TRANSMISSION_END

double JULD_TRANSMISSION_END(N_CYCLE);

JULD_TRANSMISSION_END:long_name = “Transmission end date”;

JULD_TRANSMISSION_END:standard_name = “time”;

JULD_TRANSMISSION_END:units = “days since 1950-01-01 00:00:00 UTC”;

JULD_TRANSMISSION_END:conventions = “Relative julian days with decimal part (as parts of day)”;

JULD_TRANSMISSION_END:resolution = X;

JULD_TRANSMISSION_END:_FillValue = 999999.;

Julian day (UTC) of the end of transmission.

Example: 18833.8013889885 (meaning July 25 2001 19:14:00)

JULD_TRANSMISSION_END_STATUS

char JULD_TRANSMISSION_END_STATUS(N_CYCLE);

JULD_TRANSMISSION_END_STATUS:long_name = “Status of transmission end date”;

JULD_TRANSMISSION_END_STATUS:conventions = “Argo reference table 19”;

JULD_TRANSMISSION_END_STATUS:_FillValue = ” “;

Status flag on JULD date and time.

The flag scale is described in reference table 19 (https://vocab.nerc.ac.uk/collection/R19/).

Example: “2” (meaning the value is transmitted by the float)

CLOCK_OFFSET

double CLOCK_OFFSET(N_CYCLE);

CLOCK_OFFSET:long_name = “Time of float clock drift”;

CLOCK_OFFSET:units = “days”;

CLOCK_OFFSET:conventions = “Days with decimal part (as parts of day)”;

CLOCK_OFFSET:_FillValue = 999999.;

Decimal part of day that float clock has drifted. Float clock drift is defined as Float time (provided by the inboard Real Time Clock (RTC) of the float) – UT time. This makes the clock drift less than 0 if float RTC is before UT time.

Float clock drift can be corrected in real time or in delayed mode. Real time corrections correspond to a data mode of “A”. For “A” mode files, JULD_ADJUSTED = JULD - CLOCK_OFFSET

“D” mode files may have corrections for clock drift only or additional time corrections based on expert review.

Example: -1.08546 (meaning the clock drift is estimated to be equal to – 1 day 2 hours 3 minutes and 4 seconds at the time of the corresponding cycle surfacing)

GROUNDED

char GROUNDED(N_CYCLE);

GROUNDED:long_name = “Did the profiler touch the ground for that cycle?”;

GROUNDED:conventions = “Argo reference table 20”;

GROUNDED:_FillValue = ” “;

GROUNDED indicates the best estimate of whether the float touched the ground for that cycle.

The conventions are described in Argo reference table 20 (https://vocab.nerc.ac.uk/collection/R20/

Example: “Y” (meaning yes, the float touched the ground)

REPRESENTATIVE_PARK_PRESSURE

float REPRESENTATIVE_PARK_PRESSURE (N_CYCLE);

REPRESENTATIVE_PARK_PRESSURE:long_name = “Best pressure value during park phase”;

REPRESENTATIVE_PARK_PRESSURE:units = “<X>”;

REPRESENTATIVE_PARK_PRESSURE:_FillValue = <X>;

The Representative Park Pressure (RPP) is the best pressure value assigned to the drift phase. See reference table 21 to understand how this pressure was evaluated. It should match the PRES(N_MEASUREMENT) values with MC = 301.

<X>: these fields are specified in the columns of the reference table 3 (https://vocab.nerc.ac.uk/collection/R03/).

Example: “1025”

REPRESENTATIVE_PARK_PRESSURE_STATUS

char REPRESENTATIVE_PARK_PRESSURE_STATUS (N_CYCLE);

REPRESENTATIVE_PARK_PRESSURE_STATUS:long_name = “Status of best pressure value during park phase”;

REPRESENTATIVE_PARK_PRESSURE_STATUS:conventions = “Argo reference table 21”;

REPRESENTATIVE_PARK_PRESSURE_STATUS:_FillValue = ” “;

Status flag on the Representative Park Pressure (RPP).

The flag scale is described in reference table 21 (https://vocab.nerc.ac.uk/collection/R21/).

Example: ‘2’ (meaning mean value, directly provided by the float, of pressure measurements regularly sampled during the drift phase)

CONFIG_MISSION_NUMBER

int CONFIG_MISSION_NUMBER (N_CYCLE);

CONFIG_MISSION_NUMBER:long_name = “Unique number denoting the missions performed by the float”;

CONFIG_MISSION_NUMBER:conventions = “1…N, 1 : first complete mission”;

CONFIG_MISSION_NUMBER:_FillValue = 99999;

Unique number of the mission to which this profile belongs.

See note on floats with multiple configurations §2.4.6.1.

The number 0 (zero) can be used to denote the float’s mission prelude, if it exists.

CYCLE_NUMBER_INDEX

int CYCLE_NUMBER_INDEX(N_CYCLE);

CYCLE_NUMBER_INDEX:long_name = “Cycle number that corresponds to the current index”;

CYCLE_NUMBER_INDEX:conventions = “0…N, 0 : launch cycle, 1 : first complete cycle”;

CYCLE_NUMBER_INDEX:FillValue = 99999;

Cycle number of the float that corresponds to the information contained in the current index. This cycle number must match the profile cycle number, ensuring that the trajectory and profile with the same cycle number contain data from the same cycle.

Example: 17 means information for the 17th cycle of the float is contained in this index.

CYCLE_NUMBER_INDEX_ADJUSTED

int CYCLE_NUMBER_INDEX_ADJUSTED (N_CYCLE);

CYCLE_NUMBER_INDEX_ADJUSTED:long_name = “Adjusted cycle number that corresponds to the current index”;

CYCLE_NUMBER_INDEX_ADJUSTED:conventions = “0…N, 0 : launch cycle, 1 : first complete cycle”;

CYCLE_NUMBER_INDEX_ADJUSTED:FillValue = 99999;

Corrected cycle number of the float that corresponds to the information contained in the current index. Errors may be found in CYCLE_NUMBER_INDEX variable which are corrected and contained in this variable.

Example: 17 means information for the 17th cycle of the float is contained in this index.

DATA_MODE

char DATA_MODE(N_ CYCLE);

DATA_MODE:long_name = “Delayed mode or real time data”;

DATA_MODE:conventions = “R : real time; D : delayed mode; A : real time with adjustment”;

DATA_MODE:_FillValue = ” “;

Indicates if the trajectory cycle contains real time, adjusted or delayed mode data. A delayed mode cycle means the positions, times, cycle number, pressure, temperature, and salinity (if measured) have been quality controlled. Additional parameters like oxygen may not be quality controlled. Floats often have delayed mode data only after they die, but can have both delayed mode and real time data for different parameters while alive. When this occurs, two trajectory files exist - a real time file (“R”) with only real time data for all the cycles in the float record and a delayed mode file (“D”) with both real time and delayed mode data for all the cycles that have been delayed mode quality controlled. Floats can be adjusted in real time with adjusted time values only in the JULD_ADJUSTED variable and its associated _STATUS and _QC variables. This occurs when floats are corrected in real time for clock drift.

Examples :

‘R’ : real time data

‘D’ : delayed mode data

‘A’ : real time data with JULD_ADJUSTED values

ICE_ALGORITHM_STATUS integer ICE_ALGORITHM_STATUS(N_CYCLE); ICE_ALGORITHM_STATUS:long_name=“Status of the results of the on-board ice avoidance algorithm mapped to standardised categories”;
ICE_ALGORITHM_STATUS:conventions=“Argo reference table 42” ICE_ALGORITHM_STATUS:_FillValue= 99999;

This is an optional variable.

The ICE_ALGORITHM_STATUS variable does not directly report the value transmitted by the float as these values vary by float model. These float-specific values can be found in the tech-netCDF.

Instead, the ICE_ALGORITHM_STATUS is applicable to all float types, matching what is transmitted to a list of common situations.

There are 2 options available to DACs on how to fill this variable, BASIC and EXTENDED.

Argo reference table R42 (soon on the NVS, see §3.35 in the meanwhile) references the general meanings of the basic and extended values, whatever the float type.

Specific and detailed lookup tables by float type are provided in the trajectory cookbook, which also specifies how to fill this variable from float-specific technical data.

The trajectory cookbook (https://dx.doi.org/10.13155/29824) must be followed to fill this variable

5.7 Scientific calibration section

The SCIENTIFIC CALIBRATION section in the V3.2 traj files stores information of parameter scientific calibration during park drift, descend to profile, or surface drift.

Name Definition Comment
SCIENTIFIC_CALIB_PARAMETER

char SCIENTIFIC_CALIB_PARAMETER(N_CALIB_PARAM, N_PARAM, STRING64);

SCIENTIFIC_CALIB_PARAMETER:long_name = “List of parameters with calibration information”;

SCIENTIFIC_CALIB_PARAMETER:conventions = “Argo reference table 3”;

SCIENTIFIC_CALIB_PARAMETER:_FillValue = ” “;

Name of the calibrated parameter. The list of parameters is in reference table 3 (https://vocab.nerc.ac.uk/collection/R03/).

Example: “DOXY”

SCIENTIFIC_CALIB_EQUATION

char SCIENTIFIC_CALIB_EQUATION(N_CALIB_PARAM, N_PARAM, STRING256);

SCIENTIFIC_CALIB_EQUATION:long_name = “Calibration equation for this parameter”;

SCIENTIFIC_CALIB_EQUATION:_FillValue = ” “;

Calibration equation applied to the parameter.

Example: “Tc = a1*T + a0”

SCIENTIFIC_CALIB_COEFFICIENT

char SCIENTIFIC_CALIB_COEFFICIENT(N_CALIB_PARAM, N_PARAM, STRING256);

SCIENTIFIC_CALIB_COEFFICIENT:long_name = “Calibration coefficients for this equation”;

SCIENTIFIC_CALIB_COEFFICIENT:_FillValue = ” “;

Calibration coefficients for this equation.

Example: “a1=0.99997, a0=0.0021”

SCIENTIFIC_CALIB_COMMENT

char SCIENTIFIC_CALIB_COMMENT(N_CALIB_PARAM, N_PARAM, STRING256);

SCIENTIFIC_CALIB_COMMENT:long_name = “Comment applying to this parameter calibration”;

SCIENTIFIC_CALIB_COMMENT:_FillValue = ” “;

Comment about this calibration.

Example: “MC<500 and MC>600 : DOXY adjustment based on comparison of surface in-air data with NCEP atmospheric reanalysis following Bittig et al. (2018).”

SCIENTIFIC_CALIB_DATE

char SCIENTIFIC_CALIB_DATE(N_CALIB_PARAM, N_PARAM, DATE_TIME);

SCIENTIFIC_CALIB_DATE:long_name = “Date of calibration”;

SCIENTIFIC_CALIB_DATE:conventions = “YYYYMMDDHHMISS”;

SCIENTIFIC_CALIB_DATE:_FillValue = ” “;

Date of the calibration.

Example: “20011217161700”

5.8 JULD calibration section

The JULD CALIBRATION section in the V3.2 traj files stores information of JULD calibration.

Name Definition Comment
JULD_CALIB_EQUATION

char JULD_CALIB_EQUATION(N_CALIB_JULD, STRING256);

JULD_CALIB_EQUATION:long_name = “Calibration equation for JULD”;

JULD_CALIB_EQUATION:_FillValue = ” “;

Calibration equation applied to JULD.

Example: “JULD_ADJUSTED = a1*JULD + a0”

JULD_CALIB_COEFFICIENT

char JULD_CALIB_COEFFICIENT(N_CALIB_JULD, STRING256);

JULD_CALIB_COEFFICIENT:long_name = “Calibration coefficients for JULD equation”;

JULD_CALIB_COEFFICIENT:_FillValue = ” “;

Calibration coefficients for this equation.

Example: “a1=0.99997, a0=0.0021”

JULD_CALIB_COMMENT

char JULD_CALIB_COMMENT(N_CALIB_JULD, STRING256);

JULD_CALIB_COMMENT:long_name = “Comment applying to JULD calibration”;

JULD_CALIB_COMMENT:_FillValue = ” “;

Comment about this calibration.

Example: “Float times have been linearly corrected from float clock offset (reported in CLOCK_OFFSET(N_CYCLE)).”

JULD_CALIB_DATE

char JULD_CALIB_DATE(N_CALIB_JULD, DATE_TIME);

JULD_CALIB_DATE:long_name = “Date of JULD calibration”;

JULD_CALIB_DATE:conventions = “YYYYMMDDHHMISS”;

JULD_CALIB_DATE:_FillValue = ” “;

Date of the calibration.

Example: “20011217161700”

5.9 History information

This section contains history information for each action performed on each measurement.

Each item of this section has a N_HISTORY (number of history records) dimension.

Name Definition Comment
HISTORY_INSTITUTION

char HISTORY_INSTITUTION (N_HISTORY, STRING4);

HISTORY_INSTITUTION:long_name = “Institution which performed action”;

HISTORY_INSTITUTION:conventions = “Argo reference table 4”;

HISTORY_INSTITUTION:_FillValue = ” “;

Institution that performed the action.

Institution codes are described in reference table 4 (https://vocab.nerc.ac.uk/collection/R04/).

Example: “ME” for MEDS

HISTORY_STEP

char HISTORY_STEP (N_HISTORY, STRING4);

HISTORY_STEP:long_name = “Step in data processing”;

HISTORY_STEP:conventions = “Argo reference table 12”;

HISTORY_STEP:_FillValue = ” “;

Code of the step in data processing for this history record. The step codes are described in reference table 12 (https://vocab.nerc.ac.uk/collection/R12/).

Example: “ARGQ” (meaning automatic QC of data reported in real-time has been performed)

HISTORY_SOFTWARE

char HISTORY_SOFTWARE (N_HISTORY, STRING4);

HISTORY_SOFTWARE:long_name = “Name of software which performed action”;

HISTORY_SOFTWARE:conventions = “Institution dependent”;

HISTORY_SOFTWARE:_FillValue = ” “;

Name of the software that performed the action.

This code is institution dependent.

Example: “OW”

HISTORY_SOFTWARE_RELEASE

char HISTORY_SOFTWARE_RELEASE (N_HISTORY, STRING4);

HISTORY_SOFTWARE_RELEASE:long_name = “Version/release of software which performed action”;

HISTORY_SOFTWARE_RELEASE:conventions = “Institution dependent”;

HISTORY_SOFTWARE_RELEASE:_FillValue = ” “;

Version of the software.

This name is institution dependent.

Example: “1.0”

HISTORY_REFERENCE

char HISTORY_REFERENCE (N_HISTORY, STRING64);

HISTORY_REFERENCE:long_name = “Reference of database”;

HISTORY_REFERENCE:conventions = “Institution dependent”;

HISTORY_REFERENCE:_FillValue = ” “;

Code of the reference database used for quality control in conjunction with the software.

This code is institution dependent.

Example: “WOD2001”

HISTORY_DATE

char HISTORY_DATE(N_HISTORY, DATE_TIME);

HISTORY_DATE:long_name = “Date the history record was created”;

HISTORY_DATE:conventions = “YYYYMMDDHHMISS”;

HISTORY_DATE:_FillValue = ” “;

Date of the action.

Example: “20011217160057”

HISTORY_ACTION

char HISTORY_ACTION (N_HISTORY, STRING4);

HISTORY_ACTION:long_name = “Action performed on data”;

HISTORY_ACTION:conventions = “Argo reference table 7”;

HISTORY_ACTION:_FillValue = ” “;

Name of the action.

The action codes are described in reference table 7 (https://vocab.nerc.ac.uk/collection/R07/).

Example: “QCF\(" for QC failed</p></td> </tr> <tr class="odd"> <td>HISTORY_PARAMETER</td> <td><p>char HISTORY_PARAMETER(N_HISTORY, STRING64);</p> <p>HISTORY_PARAMETER:long_name = "Parameter action is performed on";</p> <p>HISTORY_PARAMETER:conventions = "Argo reference table 3";</p> <p>HISTORY_PARAMETER:_FillValue = " ";</p></td> <td><p>Name of the parameter on which the action is performed.</p> <p>Example: "PSAL"</p></td> </tr> <tr class="even"> <td>HISTORY_PREVIOUS_VALUE</td> <td><p>float HISTORY_PREVIOUS_VALUE(N_HISTORY);</p> <p>HISTORY_PREVIOUS_VALUE:long_name = "Parameter/Flag previous value before action";</p> <p>HISTORY_PREVIOUS_VALUE:_FillValue = 99999.;</p></td> <td><p>Parameter or flag of the previous value before action.</p> <p>Example: "2" (probably good) for a flag that was changed to 1 (good)</p></td> </tr> <tr class="odd"> <td>HISTORY_INDEX_DIMENSION</td> <td><p>char HISTORY_INDEX_DIMENSION(N_HISTORY);</p> <p>HISTORY_INDEX_DIMENSION:long_name = "Name of dimension to which HISTORY_START_INDEX and HISTORY_STOP_INDEX correspond";</p> <p>HISTORY_INDEX_DIMENSION:conventions = "C: N_CYCLE, M: N_MEASUREMENT";</p> <p>HISTORY_INDEX_DIMENSION:_FillValue = " ";</p></td> <td><p>Name of dimension to which HISTORY_START_INDEX and HISORY_STOP_INDEX correspond.<br /> 'C': N_CYCLE</p> <p>'M': N_MEASUREMENT</p></td> </tr> <tr class="even"> <td>HISTORY_START_INDEX</td> <td><p>int HISTORY_ START_INDEX (N_HISTORY);</p> <p>HISTORY_START_INDEX:long_name = "Start index action applied on";</p> <p>HISTORY_START_INDEX:_FillValue =</p> <p>99999;</p></td> <td><p>Start index the action is applied to. This index corresponds to N_MEASUREMENT or N_CYCLE, depending on the corrected parameter.</p> <p>Example: 100</p></td> </tr> <tr class="odd"> <td>HISTORY_STOP_INDEX</td> <td><p>int HISTORY_ STOP_INDEX (N_HISTORY);</p> <p>HISTORY_STOP_INDEX:long_name = "Stop index action applied on";</p> <p>HISTORY_STOP_INDEX:_FillValue =</p> <p>99999;</p></td> <td><p>Stop index the action is applied to. This index corresponds to N_MEASUREMENT or N_CYCLE, depending on the corrected parameter.</p> <p>Example: 150</p></td> </tr> <tr class="even"> <td>HISTORY_QCTEST</td> <td><p>char HISTORY_QCTEST(N_HISTORY, STRING16);</p> <p>HISTORY_QCTEST:long_name = "Documentation of tests performed, tests failed (in hex form)";</p> <p>HISTORY_QCTEST:conventions = "Write tests performed when ACTION=QCP\); tests failed when ACTION=QCF\(";</p> <p>HISTORY_QCTEST:_FillValue = " ";</p></td> <td><p>This field records the tests performed when ACTION is set to QCP\) (QC performed), the test failed when ACTION is set to QCF$ (QC failed).

The QCTEST codes are described in reference table 11 (https://vocab.nerc.ac.uk/collection/R11/).

Example: “0A” (in hexadecimal form)

The usage of the history section is described in §5 “Using the History section of the Argo netCDF Structure”.