R: Repair a malformed ctd object

ctdRepair {oce} | R Documentation

## Repair a malformed ctd object

### Description

Make a ctd object adhere more closely with the expected form, e.g. by moving certain things from the `data` slot to the `metadata` slot, where other oce functions may assume they will be located. This can be handy for objects that were set up incorrectly, perhaps by inappropriate user insertions.

### Usage

    ctdRepair(x, debug = getOption("oceDebug"))

### Arguments

`x` | a ctd object.
`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 possible changes fall into the following categories.

1. If unit-length values for `latitude`, `longitude`, `time`, or `station` exist in the `data` slot, move them to the `metadata` slot. However, leave them in `data` if their length exceeds 1, because this can arise with towyo data.

2. If the `metadata` or `data` slot contains items named `time`, `recoveryTime`, `startTime`, or `systemUploadTime`, and if these are not in POSIXt format, then use `as.POSIXct()` with `tz="UTC"` to convert them to POSIXt format. If that conversion fails, owing to an unrecognizable format, then the original value is retained, unaltered.

### Value

A ctd object that is based on `x`, but possibly with some elements changed as described in the “Details” section.

### Author(s)

Dan Kelley

### See Also

Other things related to ctd data: `CTD_BCD2014666_008_1_DN.ODF.gz`, `[[,ctd-method`, `[[<-,ctd-method`, `as.ctd()`, `cnvName2oceName()`, `ctd-class`, `ctd.cnv`, `ctdDecimate()`, `ctdFindProfiles()`, `ctdRaw`, `ctdTrim()`, `ctd_aml.csv`, `ctd`, `d200321-001.ctd`, `d201211_0011.cnv`, `handleFlags,ctd-method`, `initialize,ctd-method`, `initializeFlagScheme,ctd-method`, `oceNames2whpNames()`, `oceUnits2whpUnits()`, `plot,ctd-method`, `plotProfile()`, `plotScan()`, `plotTS()`, `read.ctd.itp()`, `read.ctd.odf()`, `read.ctd.odv()`, `read.ctd.sbe()`, `read.ctd.woce.other()`, `read.ctd.woce()`, `read.ctd()`, `setFlags,ctd-method`, `subset,ctd-method`, `summary,ctd-method`, `woceNames2oceNames()`, `woceUnit2oceUnit()`, `write.ctd()`

### Examples

    library(oce)
    data(ctd)
    # Insert location information into 'data', although it belongs in 'metadata'.
    ctd@data$latitude <- ctd@metadata$latitude   # do NOT do this!
    ctd@data$longitude <- ctd@metadata$longitude # do NOT do this!
    repaired <- ctdRepair(ctd)

[Package oce version 1.7-2 Index]