R: Translate from ODF Names to Oce Names

ODFNames2oceNames {oce} | R Documentation

## Translate from ODF Names to Oce Names

### Description

Translate data names in the ODF convention to similar names in the Oce convention.

### Usage

    ODFNames2oceNames(
      ODFnames,
      ODFunits = NULL,
      columns = NULL,
      PARAMETER_HEADER = NULL,
      debug = getOption("oceDebug")
    )

### Arguments

`ODFnames` | Vector of strings holding ODF names.
`ODFunits` | Vector of strings holding ODF units.
`columns` | Optional list containing name correspondances, as described for `read.ctd.odf()`.
`PARAMETER_HEADER` | Optional list containing information on the data variables.
`debug` | an integer specifying whether debugging information is to be printed during the processing. This is a general parameter that is used by many `oce` functions. Generally, setting `debug=0` turns off the printing, while higher values suggest that more information be printed. If one function calls another, it usually reduces the value of `debug` first, so that a user can often obtain deeper debugging by specifying higher `debug` values.

### Details

The following table gives the regular expressions that define recognized ODF names, along with the translated names as used in oce objects. If an item is repeated, then the second one has a `2` appended at the end, etc. Note that quality-control columns (with names starting with `"QQQQ"`) are not handled with regular expressions. Instead, if such a flag is found in the i-th column, then a name is constructed by taking the name of the (i-1)-th column and appending `"Flag"`.

Regexp | Result | Notes
`ALTB_*.*` | `altimeter` |
`ATTU_*.*` | `attenuation` |
`BATH_*.*` | `barometricDepth` | Barometric depth (of sensor? of water column?)
`BEAM_*.*` | `a` | Used in `adp` objects
`CNTR_*.*` | `scan` | Used in `ctd` objects
`CRAT_*.*` | `conductivity` | Conductivity ratio
`COND_*.*` | `conductivity` | Conductivity in mS/cm or S/m (unit detected)
`CNDC_*.*` | `conductivity` | Conductivity in mS/cm or S/m (unit detected)
`DCHG_*.*` | `discharge` |
`DEPH_*.*` | `pressure` | Sensor depth below sea level
`DOXY_*.*` | `oxygen` | Used mainly in `ctd` objects
`ERRV_*.*` | `error` | Used in `adp` objects
`EWCT_*.*` | `u` | Used in `adp` and `cm` objects
`FFFF_*.*` | `flagArchaic` | Old flag name, replaced by `QCFF`
`FLOR_*.*` | `fluorometer` | Used mainly in `ctd` objects
`FWETLABS` | `fwetlabs` | Used in ??
`GEOP` | `geopotential` |
`HCDM` | `directionMagnetic` |
`HCDT` | `directionTrue` |
`HCSP` | `speedHorizontal` |
`LATD_*.*` | `latitude` |
`LOND_*.*` | `longitude` |
`NSCT_*.*` | `v` | Used in `adp` objects
`NONE_*.*` | `noWMOcode` |
`OCUR_*.*` | `oxygenCurrent` | Used mainly in `ctd` objects
`OSAT_*.*` | `oxygenSaturation` | Used mainly in `ctd` objects
`OTMP_*.*` | `oxygenTemperature` | Used mainly in `ctd` objects
`OXYV_*.*` | `oxygenVoltage` | Used mainly in `ctd` objects
`PHPH_*.*` | `pH` |
`POTM_*.*` | `theta` | Used mainly in `ctd` objects
`PRES_*.*` | `pressure` | Used mainly in `ctd` objects
`PSAL_*.*` | `salinity` | Used mainly in `ctd` objects
`PSAR_*.*` | `par` | Used mainly in `ctd` objects
`QCFF_*.*` | `flag` | Overall flag
`REFR_*.*` | `reference` |
`SIGP_*.*` | `sigmaTheta` | Used mainly in `ctd` objects
`SIGT_*.*` | `sigmat` | Used mainly in `ctd` objects
`SNCN_*.*` | `scanCounter` | Used mainly in `ctd` objects
`SPAR_*.*` | `SPAR` |
`SPVA_*.*` | `specificVolumeAnomaly` |
`SYTM_*.*` | `time` | Used in many objects
`TE90_*.*` | `temperature` | Used mainly in `ctd` objects
`TEMP_*.*` | `temperature` | Used mainly in `ctd` objects
`TOTP_*.*` | `pressureAbsolute` | Used mainly in `ctd` objects
`UNKN_*.*` | `-` | The result is context-dependent
`VAIS_*.*` | `BVFrequency` |
`VCSP_*.*` | `w` | Used in `adp` objects

Any code not shown in the list is transferred to the oce object without renaming, apart from the adjustment of suffix numbers. The following code have been seen in data files from the Bedford Institute of Oceanography: `ALTB`, `PHPH` and `QCFF`.

### Value

A vector of strings.

### A note on unit conventions

Some older ODF files contain non-standard units for conductivity, including `mho/m`, `mmho/cm`, and `mmHo`. As the units for conductivity are important for derived quantities (e.g. salinity), such units are converted to standard units (e.g. `S/m` and `mS/cm`). (This was once done with a warning, but on 2020-02-07 the warning was removed, since it did not indicate a problem with the file or the data scanning; rather, it was a simple matter of nudging towards uniformity in a way that ought to confuse no users, akin to converting `m**3` to `m^3`, which is also done here without warning.)

### Consistency warning

There are disagreements on variable names. For example, the “DFO Common Data Dictionary” (reference 1) has unit millimole/m^3 for NODC and MEDS, but it has unit mL/L for BIO and IML.

### Author(s)

Dan Kelley

### References

1. The Department of Fisheries and Oceans Common Data Dictionary may be available at `http://www.isdm.gc.ca/isdm-gdsi/diction/code_search-eng.asp?code=DOXY`) although that link seems to be unreliable. As of September 2017, the link https://slgo.ca/app-sgdo/en/docs_reference/format_odf.html seems to be a good place to start.

### See Also

Other functions that interpret variable names and units from headers: `cnvName2oceName()`, `oceNames2whpNames()`, `oceUnits2whpUnits()`, `unitFromStringRsk()`, `unitFromString()`, `woceNames2oceNames()`, `woceUnit2oceUnit()`

Other things related to odf data: `CTD_BCD2014666_008_1_DN.ODF.gz`, `ODF2oce()`, `ODFListFromHeader()`, `[[,odf-method`, `[[<-,odf-method`, `odf-class`, `plot,odf-method`, `read.ctd.odf()`, `read.odf()`, `subset,odf-method`, `summary,odf-method`

[Package oce version 1.2-0 Index]