4  Core-Argo profile format version 3.1

An Argo single-cycle profile file contains a set of profiles from a single cycle. The minimum number is one profile per cycle. There is no defined maximum number of profiles per cycle.

Core-Argo profile contains the CTD sensor parameters (pressure, temperature, salinity, conductivity) that are measured with the same vertical sampling scheme and at the same location and time. Additional parameters from other sensors are stored in a B-Argo profile file. The B-profile file is very similar to core-Argo profile file; its additional features are listed in §2.6

Some specialty floats collect additional profiles per cycle. These specialty profiles contain parameters measured at pressure levels that are different from the CTD levels, and can be at locations and time that are different from the primary profile. When multiple profiles exist in a single cycle, users are urged to check the information associated with each profile in order to determine their spatial and temporal relations. Some examples of speciality profiles with different vertical sampling schemes are:

For single-cycle profile file naming conventions, see §4.1.1.

4.1 Global attributes

The global attributes section is used for data discovery. The following global attributes should appear in the global section (attributes in italic are optional attributes):

// global attributes:

:title = “Argo float vertical profile”;

:institution = “CSIRO”;

: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.1 CF-1.6”;

:featureType = “trajectoryProfile”;

:comment_on_resolution = “free text”

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

4.2 Dimensions

Name Value Definition
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 (as 0 to 23)

MI : minutes (as 0 to 59)

SS : seconds (as 0 to 59)

Date and time values are always in universal time coordinates (UTC).

Examples :

20010105172834 : January 5th 2001 17:28:34

19971217000000 : December 17th 1997 00:00:00

STRING1024

STRING256
STRING64
STRING32
STRING16
STRING8
STRING4
STRING2

STRING1024=1024;

STRING256 = 256;

STRING64 = 64;

STRING32 = 32;

STRING16 = 16;

STRING8 = 8;

STRING4 = 4;

STRING2 = 2;

String dimensions from 2 to 256, optionally to 1024 (optional variables)
N_PROF N_PROF = <int value>;

Number of profiles contained in the file.

This dimension depends on the data set.

A file contains at least one profile.

There is no defined limit on the maximum number of profiles in a file.

Example:

N_PROF = 100

N_PARAM N_PARAM = <int value>;

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

This dimension depends on the data set.

Examples :

(pressure, temperature) : N_PARAM = 2

(pressure, temperature, salinity) : N_PARAM = 3

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

N_LEVELS N_LEVELS = <int value>;

Maximum number of pressure levels contained in a profile.

This dimension depends on the data set.

Example: N_LEVELS = 100

N_CALIB N_CALIB = <int value>;

Maximum number of calibrations performed on a profile.

This dimension depends on the data set.

Example: N_CALIB = 10

N_HISTORY N_HISTORY = UNLIMITED; Number of history records.

4.3 General information on the profile 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 profile

FORMAT_VERSION

char FORMAT_VERSION(STRING4);

FORMAT_VERSION:long_name = “File format version”;

FORMAT_VERSION:_FillValue = ” “;

File format version

Example: “3.1”

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.0”

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” : 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)

4.4 General information for each profile

This section contains general information on each profile.

Each item of this section has a N_PROF (number of profiles) dimension.

Name Definition Comment
PLATFORM_NUMBER

char PLATFORM_NUMBER(N_PROF, 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(N_PROF, 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 (N_PROF, 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”

STATION_PARAMETERS

char STATION_PARAMETERS(N_PROF, N_PARAM, STRING16);

STATION_PARAMETERS:long_name = “List of available parameters for the station”;

STATION_PARAMETERS:conventions = “Argo reference table 3”;

STATION_PARAMETERS:_FillValue = ” “;

List of parameters contained in this profile.

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

Examples : TEMP, PSAL, PRES

TEMP : temperature

PSAL : practical salinity

PRES: pressure

CYCLE_NUMBER

int CYCLE_NUMBER(N_PROF);

CYCLE_NUMBER:long_name = “Float cycle number”;

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

CYCLE_NUMBER:_FillValue = 99999;

Float cycle number.

See §1.6: float cycle definition.

DIRECTION

char DIRECTION(N_PROF);

DIRECTION:long_name = “Direction of the station profiles”;

DIRECTION:conventions = “A: ascending profiles, D: descending profiles”;

DIRECTION:_FillValue = ” “;

Type of profile on which measurement occurs.

A : ascending profile

D : descending profile

DATA_CENTRE

char DATA_CENTRE(N_PROF, 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

DC_REFERENCE

char DC_REFERENCE(N_PROF, STRING32);

DC_REFERENCE:long_name = “Station unique identifier in data centre”;

DC_REFERENCE:conventions = “Data centre convention”;

DC_REFERENCE:_FillValue = ” “;

Unique identifier of the profile in the data centre.

Data centres may have different identifier schemes.

DC_REFERENCE is therefore not unique across data centres.

DATA_STATE_INDICATOR

char DATA_STATE_INDICATOR(N_PROF, 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/).

DATA_MODE

char DATA_MODE(N_PROF);

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 profile contains real time, delayed mode or adjusted data.

R : real time data

D : delayed mode data

A : real time data with adjusted values

PLATFORM_TYPE

char PLATFORM_TYPE(N_PROF, 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(N_PROF, STRING32);

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

FLOAT_SERIAL_NO:_FillValue = ” “;

Serial number of the float.

Example: 1679

FIRMWARE_VERSION

char FIRMWARE_VERSION(N_PROF, 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(N_PROF, 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:

846 : Webb Research float, Seabird sensor

JULD

double JULD(N_PROF);

JULD:long_name = “Julian day (UTC) of the station 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 profile.

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

Date and time are in Universal Time.

The Julian day is relative to REFERENCE_DATE_TIME.

Example:

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

JULD_QC

char JULD_QC(N_PROF);

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 (standing for date and time seem correct)

JULD_LOCATION

double JULD_LOCATION(N_PROF);

JULD_LOCATION:long_name = “Julian day (UTC) of the location relative to REFERENCE_DATE_TIME”;

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

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

JULD_LOCATION:resolution = X;

JULD_LOCATION:_FillValue = 999999.;

Julian day of the location of the profile.

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

Date and time are in Universal Time.

The Julian day is relative to REFERENCE_DATE_TIME.

Example:

18833.8013889885 (standing for July 25 2001 19:14:00)

LATITUDE

double LATITUDE(N_PROF);

LATITUDE:long_name = “Latitude of the station, best estimate”;

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 profile.

Unit : degree north

This field contains the best estimated latitude.

The latitude value may be improved in delayed mode.

The measured locations of the float are located in the trajectory file.

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

LONGITUDE

double LONGITUDE(N_PROF);

LONGITUDE:long_name = “Longitude of the station, best estimate”;

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 profile.

Unit : degree east

This field contains the best estimated longitude.

The longitude value may be improved in delayed mode.

The measured locations of the float are located in the trajectory file.

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

POSITION_QC

char POSITION_QC(N_PROF);

POSITION_QC:long_name = “Quality on position (latitude and longitude)”;

POSITION_QC:conventions = “Argo reference table 2”;

POSITION_QC:_FillValue = ” “;

Quality flag on position.

The flag on position is set according to (LATITUDE, LONGITUDE) 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 position seems correct)

POSITIONING_SYSTEM

char POSITIONING_SYSTEM(N_PROF, STRING8);

POSITIONING_SYSTEM:long_name = “Positioning system”;

POSITIONING_SYSTEM:_FillValue = ” “;

Name of the system in charge of positioning the float locations from reference table 9 (https://vocab.nerc.ac.uk/collection/R09/).

Examples : ARGOS

POSITION_ERROR_REPORTED

float POSITION_ERROR_REPORTED(N_PROF);

POSITION_ERROR_REPORTED:long_name = “Position error reported by the positioning system”;

POSITION_ERROR_REPORTED:units = “meters”;

POSITION_ERROR_REPORTED:_FillValue = 99999.;

This is an optional variable.

Position error reported by the positioning system.

POSITION_ERROR_ESTIMATED

float POSITION_ERROR_ESTIMATED(N_PROF);

POSITION_ERROR_ESTIMATED:long_name = “Position error estimated by the real-time or delayed-mode process”;

POSITION_ERROR_ESTIMATED:units = “meters”;

POSITION_ERROR_ESTIMATED:_FillValue = 99999.;

This is an optional variable. Position error estimated by the real-time or delayed-mode process.
POSITION_ERROR_ESTIMATED_COMMENT

char POSITION_ERROR_ESTIMATED_COMMENT(N_PROF, STRING1024);

POSITION_ERROR_ESTIMATED_COMMENT:long_name = “Comment on the method used to determine POSITION_ERROR_ESTIMATED”;

POSITION_ERROR_ESTIMATED_COMMENT:_FillValue = ” “;

This is an optional variable.

Comment on the method used to determine POSITION_ERROR_ESTIMATED.

PROFILE_<PARAM>_QC

char PROFILE_<PARAM>_QC(N_PROF);

PROFILE_<PARAM>_QC:long_name = “Global quality flag of <PARAM> profile”;

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

PROFILE_<PARAM>_QC:_FillValue = ” “;

Global quality flag on the PARAM profile.

PARAM is among the STATION_PARAMETERS.

The overall flag is set to indicate the percentage of good data in the profile as described in reference table 2a (https://vocab.nerc.ac.uk/collection/RP2/).

Example:

PROFILE_TEMP_QC = A (meaning the temperature profile contains only good values)

PROFILE_PSAL_QC = C (meaning the salinity profile contains 50% to 75% good values)

VERTICAL_SAMPLING_SCHEME

char VERTICAL_SAMPLING_SCHEME(N_PROF, STRING256);

VERTICAL_SAMPLING_SCHEME:long_name = “Vertical sampling scheme”;

VERTICAL_SAMPLING_SCHEME:conventions = “Argo reference table 16”;

VERTICAL_SAMPLING_SCHEME:_FillValue = ” “;

Use the vertical sampling scheme to differentiate and identify profiles from a single-cycle with different vertical sampling schemes.

See reference table 16 (https://vocab.nerc.ac.uk/collection/R16/).

CONFIG_MISSION_NUMBER

int CONFIG_MISSION_NUMBER(N_PROF);

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.

Note: how to sort STATION_PARAMETERS variable

The parameters listed in STATION_PARAMETERS should be sorted in the same order within a given float’s data file.

Note: how to set POSITIONING_SYSTEM for estimated position

Case 1: when only one system has been used for the interpolation. That system is shown in POSITIONING_SYSTEM.

Case 2: when no position was transmitted and an estimate of the position in delayed mode relies on information not from a positioning system (a numerical method, model data. etc.) the POSITIONING_SYSTEM should be “NONE”

4.5 Measurements for each profile

This section contains information on each level of each profile.
Each variable in this section has a N_PROF (number of profiles), N_LEVELS (number of pressure levels) dimension.

<PARAM> contains the raw values transmitted by the float. These raw values (including missing data) are not to be altered by any post-processing. Missing data should be reported as such and not filled with estimated values.

<PARAM>_QC contains QC flags that pertain to the values in <PARAM>. Values in <PARAM>_QC are set initially in ‘R’ and ‘A’ modes 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 delayed-mode, but also in real-time if appropriate). In that case, <PARAM>_ADJUSTED contains the adjusted values, <PARAM>_ADJUSTED_QC contains the QC flags set by the adjustment process, and <PARAM>_ADJUSTED_ERROR contains the adjustment uncertainties.

When a profile has DATA_MODE = ’R’, no adjusted data are available. Hence the adjusted section (<PARAM>_ADJUSTED, <PARAM>_ADJUSTED_QC and <PARAM>_ADJUSTED_ERROR) should be filled with FillValue.

When N_PROF > 1, DATA_MODE for each profile can be assigned differently. This is because when there are multiple profiles, delayed-mode or near real-time adjustments can become available at different times.

The adjusted section for each N_PROF should then be filled independently according to its DATA_MODE.

For example, in a profile file with 2 profiles, it is possible that

  • DATA_MODE = ’D’ in N_PROF = 1, and

  • DATA_MODE = ’R’ in N_PROF = 2.

In this case:

  • the adjusted section in N_PROF=1 with DATA_MODE=’D’ should be filled with their adjusted values;

  • the adjusted section in N_PROF=2 with DATA_MODE=’R’ should be filled with FillValue.

The real-time and delayed-mode QC for core Argo profiles is described in “Argo quality control manual for CTD and trajectory data” https://archimer.ifremer.fr/doc/00228/33951/.

Name Definition Comment
<PARAM>

float <PARAM>(N_PROF, N_LEVELS);

<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>:resolution = <X>;

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

<X>: this field is specified in the reference table 3 (https://vocab.nerc.ac.uk/collection/R03/).

<PARAM>_QC

char <PARAM>_QC(N_PROF, N_LEVELS);

<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 reference 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_PROF, N_LEVELS);

<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: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>: this field is specified in the reference table 3 (https://vocab.nerc.ac.uk/collection/R03/).

<PARAM>_ADJUSTED is mandatory for ‘c’ and ‘b’ parameters, optional for ‘ib’ and ‘ic’ parameters.

When no adjustment is performed, the FillValue is inserted.

<PARAM>_ADJUSTED_QC

char <PARAM>_ADJUSTED_QC(N_PROF, N_LEVELS);

<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 value.

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).

<PARAM>_ADJUSTED_QC is mandatory if <PARAM>_ADJUSTED is present.

When no adjustment is performed, the FillValue is inserted.

<PARAM>_ADJUSTED_ERROR

float <PARAM>_ADJUSTED_ERROR(N_PROF, N_LEVELS);

<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 as determined by the delayed mode QC process.

<X>: this field is specified in the reference table 3 (https://vocab.nerc.ac.uk/collection/R03/).

<PARAM>_ADJUSTED_ERROR is mandatory if <PARAM>_ADJUSTED is present.

When no adjustment is performed, the FillValue is inserted.

Note on vertical axis associated to PRES

The variable PRES (pressure) is the vertical axis. The PRES declaration contains the variable attribute

PRES:axis = “Z”;

Example of a profiling float performing temperature measurements with adjusted values of temperature

Parameter definition: TEMP, TEMP_ADJUSTED

float TEMP(N_PROF, N_LEVELS);

TEMP:long_name = “sea temperature in-situ ITS-90 scale”;

TEMP:standard_name = “sea_water_temperature”;

TEMP:_FillValue = 99999.f;

TEMP:units = “degree_Celsius”;

TEMP:valid_min = -2.f;

TEMP:valid_max = 40.f;

TEMP:C_format = “%9.3f”;

TEMP:FORTRAN_format = “F9.3”;

TEMP:resolution = 0.001f;

char TEMP_QC(N_PROF, N_LEVELS);

TEMP_QC:long_name = “quality flag”;

TEMP_QC:conventions = “Argo reference table 2”;

TEMP_QC:_FillValue = ” “;

float TEMP_ADJUSTED(N_PROF, N_LEVELS);

TEMP_ADJUSTED:long_name = “adjusted sea temperature in-situ ITS-90 scale”;

TEMP:standard_name = “sea_water_temperature”;

TEMP_ADJUSTED:_FillValue = 99999.f;

TEMP_ADJUSTED:units = “degree_Celsius”;

TEMP_ADJUSTED:valid_min = -2.f;

TEMP_ADJUSTED:valid_max = 40.f;

TEMP_ADJUSTED:C_format = “%9.3f”;

TEMP_ADJUSTED:FORTRAN_format= “F9.3”;

TEMP_ADJUSTED:resolution= 0.001f;

char TEMP_ADJUSTED_QC(N_PROF, N_LEVELS);

TEMP_ADJUSTED QC:long_name = “quality flag”;

TEMP_ADJUSTED QC:conventions = “Argo reference table 2”;

TEMP_ADJUSTED_QC:_FillValue = ” “;

float TEMP_ADJUSTED_ERROR(N_PROF, N_LEVELS);

TEMP_ADJUSTED_ERROR:long_name = “error on sea temperature in-situ ITS-90 scale”;

TEMP_ADJUSTED_ERROR:_FillValue = 99999.f;

TEMP_ADJUSTED_ERROR:units = “degree_Celsius”;

TEMP_ADJUSTED_ERROR :C_format = “%9.3f”;

TEMP_ADJUSTED_ERROR :FORTRAN_format= “F9.3”;

TEMP_ADJUSTED_ERROR:resolution= 0.001f;

4.5.1 How to report unusual parameter resolutions in a profile

The resolution of a parameter is reported in the “resolution” attribute.

For specific floats, the resolution of a parameter may depend on the profile level.

How to keep the information in the file?

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

4.6 Scientific calibration information for each profile

Scientific calibrations are applied to parameters to create adjusted parameters. Different calibration methods will be used by groups processing Argo data. When a method is applied, its description is stored in the following fields.

This section contains scientific calibration information for each parameter of each profile.

Each item of this section has a N_PROF (number of profiles), N_CALIB (number of calibrations), N_PARAM (number of parameters) dimensions.

If no scientific calibration is available, N_CALIB is set to 1, PARAMETER is filled with the list of parameter names, and all values of the calibration section are set to fill values.

Name Definition Comment
PARAMETER

char PARAMETER(N_PROF, N_CALIB, N_PARAM, STRING16);

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

PARAMETER:conventions = “Argo reference table 3”;

PARAMETER:_FillValue = ” “;

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

Example: “PSAL”

SCIENTIFIC_CALIB_EQUATION

char SCIENTIFIC_CALIB_EQUATION(N_PROF, N_CALIB, 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_PROF, N_CALIB, 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_PROF, N_CALIB, N_PARAM, STRING256);

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

SCIENTIFIC_CALIB_COMMENT:_FillValue = ” “;

Comment about this calibration

Example:

“The sensor is not stable”

SCIENTIFIC_CALIB_DATE

char SCIENTIFIC_CALIB_DATE (N_PROF N_CALIB, 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”

4.7 History information for each profile

This section contains history information for each action performed on each profile by a data centre.

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

A history record is created whenever an action is performed on a profile.

The recorded actions are coded and described in the history code table from the reference table 7 (https://vocab.nerc.ac.uk/collection/R07/).

On the GDAC, the history section of the multi-cycle files is empty to reduce the size of the file. The history section is available in the single-cycle files.

Name Definition Comment
HISTORY_INSTITUTION

char HISTORY_INSTITUTION(N_HISTORY, N_PROF, 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, N_PROF, 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” : Automatic QC of data reported in real-time has been performed

HISTORY_SOFTWARE

char HISTORY_SOFTWARE (N_HISTORY, N_PROF, 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: “WJO”

HISTORY_SOFTWARE_RELEASE

char HISTORY_SOFTWARE_RELEASE(N_HISTORY, N_PROF, 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, N_PROF, 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, N_PROF, 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, N_PROF, 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, N_PROF, STRING16);</p> <p>HISTORY_PARAMETER:long_name = "Station 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>The parameters are described in reference table 3 (<a href="https://vocab.nerc.ac.uk/collection/R03/"><u>https://vocab.nerc.ac.uk/collection/R03/</u></a>).</p> <p>Example: "PSAL"</p></td> </tr> <tr class="even"> <td>HISTORY_START_PRES</td> <td><p>float HISTORY_START_PRES(N_HISTORY, N_PROF);</p> <p>HISTORY_START_PRES:long_name = "Start pressure action applied on";</p> <p>HISTORY_START_PRES:_FillValue = 99999.f;</p> <p>HISTORY_START_PRES:units = "decibar";</p></td> <td><p>Start pressure the action is applied to.</p> <p>Example: "1500.0"</p></td> </tr> <tr class="odd"> <td>HISTORY_STOP_PRES</td> <td><p>float HISTORY_STOP_PRES(N_HISTORY, N_PROF);</p> <p>HISTORY_STOP_PRES:long_name = "Stop pressure action applied on";</p> <p>HISTORY_STOP_PRES:_FillValue = 99999.f;</p> <p>HISTORY_STOP_PRES:units = "decibar";</p></td> <td><p>Stop pressure the action is applied to.</p> <p><strong>This should be greater than or equal to START_PRES.</strong></p> <p>Example: "1757.0"</p></td> </tr> <tr class="even"> <td>HISTORY_PREVIOUS_VALUE</td> <td><p>float HISTORY_PREVIOUS_VALUE(N_HISTORY, N_PROF);</p> <p>HISTORY_PREVIOUS_VALUE:long_name = "Parameter/Flag previous value before action";</p> <p>HISTORY_PREVIOUS_VALUE:_FillValue = 99999.f;</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_QCTEST</td> <td><p>char HISTORY_QCTEST(N_HISTORY, N_PROF, 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”.