<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><title>Repair a Malformed ctd Object — ctdRepair • oce</title><script src="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><link href="../deps/bootstrap-5.3.1/bootstrap.min.css" rel="stylesheet"><script src="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><link href="../deps/font-awesome-6.4.2/css/all.min.css" rel="stylesheet"><link href="../deps/font-awesome-6.4.2/css/v4-shims.min.css" rel="stylesheet"><script src="../deps/headroom-0.11.0/headroom.min.js"></script><script src="../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><script src="../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><script src="../deps/clipboard.js-2.0.11/clipboard.min.js"></script><script src="../deps/search-1.0.0/autocomplete.jquery.min.js"></script><script src="../deps/search-1.0.0/fuse.min.js"></script><script src="../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><script src="../pkgdown.js"></script><meta property="og:title" content="Repair a Malformed ctd Object — ctdRepair"><meta name="description" content="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."><meta property="og:description" content="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."></head><body>
    <a href="#main" class="visually-hidden-focusable">Skip to contents</a>


    <nav class="navbar navbar-expand-lg fixed-top bg-light" data-bs-theme="light" aria-label="Site navigation"><div class="container">

    <a class="navbar-brand me-2" href="../index.html">oce</a>

    <small class="nav-text text-muted me-auto" data-bs-toggle="tooltip" data-bs-placement="bottom" title="">1.8-4</small>


    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>

    <div id="navbar" class="collapse navbar-collapse ms-3">
      <ul class="navbar-nav me-auto"><li class="active nav-item"><a class="nav-link" href="../reference/index.html">Reference</a></li>
<li class="nav-item dropdown">
  <button class="nav-link dropdown-toggle" type="button" id="dropdown-articles" data-bs-toggle="dropdown" aria-expanded="false" aria-haspopup="true">Articles</button>
  <ul class="dropdown-menu" aria-labelledby="dropdown-articles"><li><a class="dropdown-item" href="../articles/A_oce.html">1. Introduction to Oce</a></li>
    <li><a class="dropdown-item" href="../articles/B_ctd.html">2. Analysis of CTD data</a></li>
    <li><a class="dropdown-item" href="../articles/C_adp.html">3. Analysis of acoustic-Doppler data</a></li>
    <li><a class="dropdown-item" href="../articles/D_map_projections.html">4. Using map projections</a></li>
    <li><a class="dropdown-item" href="../articles/E_flags.html">5. Dealing with data-quality flags</a></li>
    <li><a class="dropdown-item" href="../articles/F_subclassing.html">6. Subclassing oce objects</a></li>
    <li><a class="dropdown-item" href="../articles/G_altering_defaults.html">7. Altering oce Defaults</a></li>
    <li><a class="dropdown-item" href="../articles/H_tides.html">8. Tidal Analysis</a></li>
  </ul></li>
<li class="nav-item"><a class="nav-link" href="../news/index.html">Changelog</a></li>
      </ul><ul class="navbar-nav"><li class="nav-item"><form class="form-inline" role="search">
 <input class="form-control" type="search" name="search-input" id="search-input" autocomplete="off" aria-label="Search site" placeholder="Search for" data-search-index="../search.json"></form></li>
<li class="nav-item"><a class="external-link nav-link" href="https://github.com/dankelley/oce/" aria-label="GitHub"><span class="fa fab fa-github fa-lg"></span></a></li>
      </ul></div>


  </div>
</nav><div class="container template-reference-topic">
<div class="row">
  <main id="main" class="col-md-9"><div class="page-header">

      <h1>Repair a Malformed ctd Object</h1>
      <small class="dont-index">Source: <a href="https://github.com/dankelley/oce/blob/HEAD/R/ctd.R" class="external-link"><code>R/ctd.R</code></a></small>
      <div class="d-none name"><code>ctdRepair.Rd</code></div>
    </div>

    <div class="ref-description section level2">
    <p>Make a <a href="ctd-class.html">ctd</a> object adhere more closely with the expected form, e.g. by
moving certain things from the <code>data</code> slot to the <code>metadata</code> 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.</p>
    </div>

    <div class="section level2">
    <h2 id="ref-usage">Usage<a class="anchor" aria-label="anchor" href="#ref-usage"></a></h2>
    <div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">ctdRepair</span><span class="op">(</span><span class="va">x</span>, debug <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/options.html" class="external-link">getOption</a></span><span class="op">(</span><span class="st">"oceDebug"</span><span class="op">)</span><span class="op">)</span></span></code></pre></div>
    </div>

    <div class="section level2">
    <h2 id="arguments">Arguments<a class="anchor" aria-label="anchor" href="#arguments"></a></h2>


<dl><dt id="arg-x">x<a class="anchor" aria-label="anchor" href="#arg-x"></a></dt>
<dd><p>a <a href="ctd-class.html">ctd</a> object.</p></dd>


<dt id="arg-debug">debug<a class="anchor" aria-label="anchor" href="#arg-debug"></a></dt>
<dd><p>an integer specifying whether debugging information is
to be printed during the processing. This is a general parameter that
is used by many <code>oce</code> functions. Generally, setting <code>debug=0</code>
turns off the printing, while higher values suggest that more information
be printed. If one function calls another, it usually reduces the value of
<code>debug</code> first, so that a user can often obtain deeper debugging
by specifying higher <code>debug</code> values.</p></dd>

</dl></div>
    <div class="section level2">
    <h2 id="value">Value<a class="anchor" aria-label="anchor" href="#value"></a></h2>
    <p>A <a href="ctd-class.html">ctd</a> object that is based on <code>x</code>, but possibly
with some elements changed as described in the “Details”
section.</p>
    </div>
    <div class="section level2">
    <h2 id="details">Details<a class="anchor" aria-label="anchor" href="#details"></a></h2>
    <p>The possible changes fall into the following categories.</p><ol><li><p>If unit-length values for <code>latitude</code>, <code>longitude</code>, <code>time</code>, or <code>station</code>
exist in the <code>data</code> slot, move them to the <code>metadata</code> slot.  However,
leave them in <code>data</code>  if their length exceeds 1, because this can
arise with towyo data.</p></li>
<li><p>If the <code>metadata</code> or <code>data</code> slot contains items named
<code>time</code>, <code>recoveryTime</code>, <code>startTime</code>, or <code>systemUploadTime</code>,
and if these are not in POSIXt format, then use <code><a href="https://rdrr.io/r/base/as.POSIXlt.html" class="external-link">as.POSIXct()</a></code> with
<code>tz="UTC"</code> to convert them to POSIXt format. If that conversion fails,
owing to an unrecognizable format, then the original value
is retained, unaltered.</p></li>
</ol></div>
    <div class="section level2">
    <h2 id="see-also">See also<a class="anchor" aria-label="anchor" href="#see-also"></a></h2>
    <div class="dont-index"><p>Other things related to ctd data:
<code><a href="CTD_BCD2014666_008_1_DN.ODF.gz.html">CTD_BCD2014666_008_1_DN.ODF.gz</a></code>,
<code><a href="sub-sub-ctd-method.html">[[,ctd-method</a></code>,
<code>[[&lt;-,ctd-method</code>,
<code><a href="as.ctd.html">as.ctd</a>()</code>,
<code><a href="cnvName2oceName.html">cnvName2oceName</a>()</code>,
<code><a href="ctd.html">ctd</a></code>,
<code><a href="ctd-class.html">ctd-class</a></code>,
<code><a href="ctd.cnv.gz.html">ctd.cnv.gz</a></code>,
<code><a href="ctdDecimate.html">ctdDecimate</a>()</code>,
<code><a href="ctdFindProfiles.html">ctdFindProfiles</a>()</code>,
<code><a href="ctdFindProfilesRBR.html">ctdFindProfilesRBR</a>()</code>,
<code><a href="ctdRaw.html">ctdRaw</a></code>,
<code><a href="ctdTrim.html">ctdTrim</a>()</code>,
<code><a href="ctd_aml_type1.csv.gz.html">ctd_aml_type1.csv.gz</a></code>,
<code><a href="ctd_aml_type3.csv.gz.html">ctd_aml_type3.csv.gz</a></code>,
<code><a href="d200321-001.ctd.gz.html">d200321-001.ctd.gz</a></code>,
<code><a href="d201211_0011.cnv.gz.html">d201211_0011.cnv.gz</a></code>,
<code><a href="handleFlags-ctd-method.html">handleFlags,ctd-method</a></code>,
<code><a href="initialize-ctd-method.html">initialize,ctd-method</a></code>,
<code><a href="initializeFlagScheme-ctd-method.html">initializeFlagScheme,ctd-method</a></code>,
<code><a href="oceNames2whpNames.html">oceNames2whpNames</a>()</code>,
<code><a href="oceUnits2whpUnits.html">oceUnits2whpUnits</a>()</code>,
<code><a href="plot-ctd-method.html">plot,ctd-method</a></code>,
<code><a href="plotProfile.html">plotProfile</a>()</code>,
<code><a href="plotScan.html">plotScan</a>()</code>,
<code><a href="plotTS.html">plotTS</a>()</code>,
<code><a href="read.ctd.html">read.ctd</a>()</code>,
<code><a href="read.ctd.aml.html">read.ctd.aml</a>()</code>,
<code><a href="read.ctd.itp.html">read.ctd.itp</a>()</code>,
<code><a href="read.ctd.odf.html">read.ctd.odf</a>()</code>,
<code><a href="read.ctd.odv.html">read.ctd.odv</a>()</code>,
<code><a href="read.ctd.saiv.html">read.ctd.saiv</a>()</code>,
<code><a href="read.ctd.sbe.html">read.ctd.sbe</a>()</code>,
<code><a href="read.ctd.ssda.html">read.ctd.ssda</a>()</code>,
<code><a href="read.ctd.woce.html">read.ctd.woce</a>()</code>,
<code><a href="read.ctd.woce.other.html">read.ctd.woce.other</a>()</code>,
<code><a href="setFlags-ctd-method.html">setFlags,ctd-method</a></code>,
<code><a href="subset-ctd-method.html">subset,ctd-method</a></code>,
<code><a href="summary-ctd-method.html">summary,ctd-method</a></code>,
<code><a href="woceNames2oceNames.html">woceNames2oceNames</a>()</code>,
<code><a href="woceUnit2oceUnit.html">woceUnit2oceUnit</a>()</code>,
<code><a href="write.ctd.html">write.ctd</a>()</code></p></div>
    </div>
    <div class="section level2">
    <h2 id="author">Author<a class="anchor" aria-label="anchor" href="#author"></a></h2>
    <p>Dan Kelley</p>
    </div>

    <div class="section level2">
    <h2 id="ref-examples">Examples<a class="anchor" aria-label="anchor" href="#ref-examples"></a></h2>
    <div class="sourceCode"><pre class="sourceCode r"><code><span class="r-in"><span><span class="kw"><a href="https://rdrr.io/r/base/library.html" class="external-link">library</a></span><span class="op">(</span><span class="va"><a href="https://dankelley.github.io/oce/">oce</a></span><span class="op">)</span></span></span>
<span class="r-in"><span><span class="fu"><a href="https://rdrr.io/r/utils/data.html" class="external-link">data</a></span><span class="op">(</span><span class="va">ctd</span><span class="op">)</span></span></span>
<span class="r-in"><span><span class="co"># Insert location information into 'data' slot, although it belongs in 'metadata'.</span></span></span>
<span class="r-in"><span><span class="va">ctd</span><span class="op">@</span><span class="va">data</span><span class="op">$</span><span class="va">latitude</span> <span class="op">&lt;-</span> <span class="va">ctd</span><span class="op">@</span><span class="va">metadata</span><span class="op">$</span><span class="va">latitude</span> <span class="co"># Done by experts only!</span></span></span>
<span class="r-in"><span><span class="va">ctd</span><span class="op">@</span><span class="va">data</span><span class="op">$</span><span class="va">longitude</span> <span class="op">&lt;-</span> <span class="va">ctd</span><span class="op">@</span><span class="va">metadata</span><span class="op">$</span><span class="va">longitude</span> <span class="co"># Done by experts only!</span></span></span>
<span class="r-in"><span><span class="va">repaired</span> <span class="op">&lt;-</span> <span class="fu">ctdRepair</span><span class="op">(</span><span class="va">ctd</span><span class="op">)</span></span></span>
<span class="r-wrn co"><span class="r-pr">#&gt;</span> <span class="warning">Warning: </span>moving unit-length data$longitude to metadata$longitude</span>
<span class="r-wrn co"><span class="r-pr">#&gt;</span> <span class="warning">Warning: </span>moving unit-length data$latitude to metadata$latitude</span>
<span class="r-wrn co"><span class="r-pr">#&gt;</span> <span class="warning">Warning: </span>changed metadata$recoveryTime to a POSIXct value</span>
<span class="r-in"><span></span></span>
</code></pre></div>
    </div>
  </main><aside class="col-md-3"><nav id="toc" aria-label="Table of contents"><h2>On this page</h2>
    </nav></aside></div>


    <footer><div class="pkgdown-footer-left">
  <p>Developed by Dan Kelley, Clark Richards.</p>
</div>

<div class="pkgdown-footer-right">
  <p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.1.0.9000.</p>
</div>

    </footer></div>





  </body></html>

