Skip to content

ArgoDMQC/matlab_owc

Repository files navigation

The Matlab OWC toolbox

This is a package of MATLAB routines for calibrating profiling float conductivity sensor drift. A description of the algorithms can be found in "An improved calibration method for the drift of the conductivity sensor on autonomous CTD profiling floats by θ-S climatology", by W.B. Owens and A.P.S. Wong, in Deep-Sea Research Part I: Oceanographic Research Papers, 56(3), 450-457, 2009. Lately, modifications suggested in “Improvement of bias detection in Argo float conductivity sensors and its application in the North Atlantic” , by C. Cabanes, V. Thierry and C. Lagadec, in Deep-Sea Research Part I, 114, 128-136, 2016 have been taken into account.

How to install the toolbox ?

Either clone the latest version of the git repository:

git clone https://github.com/ArgoDMQC/matlabow.git

or download and unzip the zip file (Clone or download button)

You can also access the different releases here: https://github.com/ArgoDMQC/matlabow/releases

How to contribute ?

In the main repository ArgoDMQC/matlab_owc :

  • master holds stable releases
  • develop is used for ongoing development work

To contribute, please follow the contribution guidelines.
Contributors without write access can fork the repository and submit a Pull Request to the develop branch.

How to run the analysis?

Here is a summary of what should be done to run the analysis, please read the ./doc/README.doc file for more details

  1. All files are to be used in MATLAB. The full package was tested with MATLAB R2018b, R2020b, R2021b and R2024b. In addition, you will need: a). The MATLAB Optimization Toolbox; b). The ITS-90 version of the CSIRO SEAWATER library. The version 3_3.0 of this library can be found in ./lib/seawater_330_its90. Please update if necessary. c). The M_MAP toolbox. The version 1.4.c of this library can be found in ./lib/m_map1.4. Please update if necessary.

  2. Add the necessary path to your matlab path: addpath('./lib/seawater_330_its90';'./lib/m_map1.4';'./matlab_codes/')

  3. Put your reference data in ./data/climatology/historical_ctd, /historical_bot, /argo_profiles.

REFERENCE DATA can be obtain at ftp.ifremer.fr cd /coriolis/data/DMQC-ARGO/ (if you need a login/pswd ask codac@ifremer.fr)

Then, create/update your ./data/constants/wmo_boxes.mat file (more details in ./doc/README.doc, p4)

  1. After you have decided where you want to install the package on your computer, edit ow_config.txt at the following lines so the correct pathways are specified:
  • HISTORICAL_DIRECTORY =
  • FLOAT_SOURCE_DIRECTORY =
  • FLOAT_MAPPED_DIRECTORY =
  • FLOAT_CALIB_DIRECTORY =
  • FLOAT_PLOTS_DIRECTORY =
  • CONFIG_DIRECTORY =
  1. The last section of ow_config.txt below the heading "Objective Mapping Parameters" is where you set the various parameters (more details in .doc.README.doc, p4-6)

  2. If this is the first time you are using this system, then the 4 directories /data/float_source, /float_mapped, /float_calib, and /float_plots should be empty. Decide how you want to organise your floats, e.g. under different project names or different investigator names. Then make identical subdirectories under each of these 4 directories. For example:

/data/float_source/project_xx /data/float_mapped/project_xx /data/float_calib/project_xx /data/float_plots/project_xx

Note that, since version 3.1 of the software, /data/float_mapped/project_xx, /data/float_calib/project_xx, /data/float_plots/project_xx will be automatically created if they do not exist.

  1. Create the float source file (./data/float_source/project_xx/$flt_name$.mat) from the original netcdf files (more details in ./doc/README.doc,p6)

  2. Open MATLAB in the top directory. List all the float files in a cell array "float_names", with the corresponding subdirectories in another cell array "float_dirs". For example, float_dirs = { 'project_xx/'; 'project_xx/'; 'jones/'; 'jones/' }; float_names = { 'float0001'; 'float0002'; 'myfloat_a'; 'myfloat_b' }.

Tips: If the files are not saved under a subdirectory and are only saved under ./float_source/, specify float_dirs = { ''; ''; ''; '' }, etc.

Run ow_calibration.m.

Tips for bulk processing: The original ow_calibration.m script supports bulk processing, but it is limited due to frequent interactive plot pop-ups and by the fact that results from different calibrations are not saved. To address this, ow_calibration_bulk_processing.m can be used to process multiple floats in a non-interactive mode, calibrating against the Argo reference database and, optionally, against the CTD reference database.

About

The OWC Matlab toolbox

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •