optode-response-time

版本 1.1.5 (156.6 KB) 作者: Christopher Gordon
Suite of matlab code for determining the response time of an oxygen optode
14.0 次下载
更新时间 2022/1/12

optode-response-time
---
The MATLAB code included in this repository is designed to determine the response time of oxygen optodes deployed on autonomous floats in-situ. The process requires timestamps for each measurement and a sequence of both up- and downcast profiles. For more information on the method see Gordon et al. (2020).

There are two versions of the software, the default and the temperature-dependent version. In the default, temperature is not taken into consideration. In the T-dependent folder, the optimization is for boundary layer thickness, and a temperature profile must be provided along with the oxygen profile. The temperature dependent version uses the lookup table found in the supplement for Bittig & Kortzinger (2017).

User Guide
---
The function calculate_tau.m is the main driver here, and calls on correct_oxygen_profile.m to correct single oxygen profiles. Of course, the user may choose to use this sub-function for their own purposes.

calculate_tau.m takes in matrices of depth, time, and oxygen data (see below) and computes the optimal response time for each pair of profiles. In the T-dependent version, the use must also supply a matrix of temperature values. The derived time constants (or boundary layer thicknesses in T-dependent) can then be used to correct the oxygen measurements for sensor hysteresis. Following Gordon et al. (2020), this would be done using the median time constant, but we leave this decision to the user.

Input Data
---
Input data for calculate_tau.m should be in 2D matrix form, where each row is an individual profile, and rows alternate direction of observation (for example, all even rows could be upcasts and all odd rows downcasts or vice-versa). Time should be in MATLAB datenum format. Profiles should be organized such that time is monotonically increasing (i.e. pressure will be monotonically decreasing for an upcast). Below is some made-up data to demonstrate the proper data format:

% depth matrix
P = [
[200, 195, 190, .., 10, 5]; % profile 1, upcast
[5, 10, 15, .., 195, 200 ]; % profile 2, downcast
[200, 195, 190, .., 10, 5]; % profile 3, upcast
...
[200, 195, 190, .., 10, 5]; % profile N, upcast *or* downcast
];

% time matrix, matlab datenum, monotonically increasing row to row
T = [
[7.36451000e+05, 7.36451005e+05, 7.36451010e+05, .., 7.36451195e+05]
[7.36451200e+05, 7.36451205e+05, 7.36451210e+05, .., 7.36451395e+05]
...
[7.36454804e+05, 7.36454809e+05, 7.36454814e+05, .., 7.36455000e+05]
];

% oxygen data
DO = [
% corresponding oxygen values for each time/depth
];
Parameters
---
The following parameters are optional arguments for calculate_tau.m:

zlim: lower and upper depth bounds to perform optimization over, default is [25,175], dimensions (1, 2)
zres: resolution for profiles to be interpolated to, default is 1, dimensions (scalar)
tlim: lower and upper time constant bounds to perform optimization over, default is [0,100], dimensions (1, 2), OR, in T-dependent mode, the lower and upper bounds of boundary layer thickness
tres: resolution to linearly step through tlim, default is 1 dimensions (scalar)
Tref: only in T-dependent mode, reference temperature at which to report the derived time constant (scalar)

Test
---
In the test directory, the script test.m and data example_data.mat should run with no changes required. This gives a very base level example of how the functions work and the output.

Licensing
---
Please note that this code is provided as-is under the MIT license and is subject to periodic updates and improvements. If you are interested in contributing to this repository, please contact Christopher Gordon at Chris.Gordon@dfo-mpo.gc.ca.

引用格式

Gordon, C., Fennel, K., Richards, C., Shay, L. K., and Brewster, J. K.: Can ocean community production and respiration be determined by measuring high-frequency oxygen profiles from autonomous floats?, Biogeosciences Discuss., https://doi.org/10.5194/bg-2020-119, in review, 2020.

MATLAB 版本兼容性
创建方式 R2018a
兼容任何版本
平台兼容性
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

无法下载基于 GitHub 默认分支的版本

版本 已发布 发行说明
1.1.5

See release notes for this release on GitHub: https://github.com/MEMG/optode-response-time/releases/tag/1.1.5

1.1.4

See release notes for this release on GitHub: https://github.com/MEMG/optode-response-time/releases/tag/1.1.4

1.1.3

See release notes for this release on GitHub: https://github.com/MEMG/optode-response-time/releases/tag/1.1.3

1.1.2

See release notes for this release on GitHub: https://github.com/MEMG/optode-response-time/releases/tag/1.1.2

1.1.1

See release notes for this release on GitHub: https://github.com/MEMG/optode-response-time/releases/tag/1.1.1

1.1

Temperature-dependent updates

1.0.3

Updated citation

1.0.2

Added citation, updated description

1.0.1

Updated description

1.0.0

要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库
要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库