configFigures

PURPOSE ^

CONFIGFIGURES Configure generation of figures from glider data.

SYNOPSIS ^

function [figures_proc, figures_grid] = configFigures()

DESCRIPTION ^

CONFIGFIGURES  Configure generation of figures from glider data.

  Syntax:
    [FIGURES_PROC, FIGURES_GRID] = CONFIGFIGURES()

  Description:
    [FIGURES_PROC, FIGURES_GRID] = CONFIGFIGURES() should return structs
    FIGURES_PROC and FIGURES_GRID defining the figures to be generated from
    processed glider data and gridded glider data respectively in the format
    accepted by function GENERATEGLIDERFIGURES.

    Additionally, default values of axis, figure and plot object properties
    for glider figure plots might be set. This is usually done calling the
    function SET with the root object (0) and prepending figure property names
    with 'DefaultFigure...' and axis property names with 'DefaultAxes...'.

  Notes:
    Edit this file defining the desired figures for processed and gridded data
    outpus, and setting up the figure and axes and plot object properties 
    according to the desired appearance.

  Examples:
    configFigures()

  See also:
    GENERATEGLIDERFIGURES
    PLOTTRANSECTVERTICALSECTION
    PLOTTRANSECTCURRENTMAP
    PLOTTSDIAGRAM
    PLOTPROFILESTATISTICS
    SET

  Authors:
    Joan Pau Beltran  <joanpau.beltran@socib.cat>

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

DOWNLOAD ^

configFigures.m

SOURCE CODE ^

0001 function [figures_proc, figures_grid] = configFigures()
0002 %CONFIGFIGURES  Configure generation of figures from glider data.
0003 %
0004 %  Syntax:
0005 %    [FIGURES_PROC, FIGURES_GRID] = CONFIGFIGURES()
0006 %
0007 %  Description:
0008 %    [FIGURES_PROC, FIGURES_GRID] = CONFIGFIGURES() should return structs
0009 %    FIGURES_PROC and FIGURES_GRID defining the figures to be generated from
0010 %    processed glider data and gridded glider data respectively in the format
0011 %    accepted by function GENERATEGLIDERFIGURES.
0012 %
0013 %    Additionally, default values of axis, figure and plot object properties
0014 %    for glider figure plots might be set. This is usually done calling the
0015 %    function SET with the root object (0) and prepending figure property names
0016 %    with 'DefaultFigure...' and axis property names with 'DefaultAxes...'.
0017 %
0018 %  Notes:
0019 %    Edit this file defining the desired figures for processed and gridded data
0020 %    outpus, and setting up the figure and axes and plot object properties
0021 %    according to the desired appearance.
0022 %
0023 %  Examples:
0024 %    configFigures()
0025 %
0026 %  See also:
0027 %    GENERATEGLIDERFIGURES
0028 %    PLOTTRANSECTVERTICALSECTION
0029 %    PLOTTRANSECTCURRENTMAP
0030 %    PLOTTSDIAGRAM
0031 %    PLOTPROFILESTATISTICS
0032 %    SET
0033 %
0034 %  Authors:
0035 %    Joan Pau Beltran  <joanpau.beltran@socib.cat>
0036 
0037 %  Copyright (C) 2013-2016
0038 %  ICTS SOCIB - Servei d'observacio i prediccio costaner de les Illes Balears
0039 %  <http://www.socib.es>
0040 %
0041 %  This program is free software: you can redistribute it and/or modify
0042 %  it under the terms of the GNU General Public License as published by
0043 %  the Free Software Foundation, either version 3 of the License, or
0044 %  (at your option) any later version.
0045 %
0046 %  This program is distributed in the hope that it will be useful,
0047 %  but WITHOUT ANY WARRANTY; without even the implied warranty of
0048 %  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0049 %  GNU General Public License for more details.
0050 %
0051 %  You should have received a copy of the GNU General Public License
0052 %  along with this program.  If not, see <http://www.gnu.org/licenses/>.
0053 
0054   error(nargchk(0, 0, nargin, 'struct'));
0055   
0056   
0057   %% Get handle to current figure or create one.
0058   % A new figure will be created anyway when calling SET,
0059   % so make this explicit in source code.
0060   hfig = gcf();
0061   
0062   
0063   %% Set built-in default values for some figure and axes properties.
0064   % Figure properties.
0065   set(0,'DefaultFigurePaperUnits', 'inches');
0066   set(0,'DefaultFigurePaperSize', [6.40 3.84]);
0067   set(0,'DefaultFigurePaperPosition', [0 0 6.40 3.84]);
0068   set(0,'DefaultFigurePaperPositionMode','manual');
0069   set(0,'DefaultFigureColor', 'white');
0070   set(0,'DefaultFigureColormap', colormap('jet'));
0071   set(0,'DefaultFigureInvertHardcopy','off');
0072   % Axes properties.
0073   set(0, 'DefaultAxesColor', 0.8 * ones(1,3));
0074   set(0, 'DefaultAxesBox', 'on');
0075   set(0, 'DefaultAxesXGrid', 'on');
0076   set(0, 'DefaultAxesYGrid', 'on');
0077   set(0, 'DefaultAxesFontName',  'Helvetica');
0078   set(0, 'DefaultAxesFontUnits', 'points');
0079   set(0, 'DefaultAxesFontSize',  8);
0080   set(0, 'DefaultAxesLineWidth', 0.25);
0081   % Text properties.
0082   set(0, 'DefaultTextFontSize',  8);
0083   
0084   
0085   %% Set printing options.
0086   default_prntopts = struct();
0087   default_prntopts.resolution = 200;
0088   default_prntopts.format = 'png';
0089   default_prntopts.render = 'painters';
0090   
0091   
0092   %% Set default figure and axes properties.
0093   default_figure = struct();
0094   default_figure.PaperUnits = 'inches';
0095   default_figure.PaperSize = [6.40 3.84];
0096   default_figure.PaperPosition = [0 0 6.40 3.84];
0097   default_figure.PaperPositionMode = 'manual';
0098   default_figure.Color = 'white';
0099   default_figure.Colormap = colormap('jet');
0100   default_figure.InvertHardcopy = 'off';
0101   
0102   default_axes = struct();
0103   default_axes.FontName = 'Helvetica';
0104   default_axes.FontUnits ='points';
0105   default_axes.FontSize = 8;
0106   default_axes.FontWeight = 'normal';
0107   default_axes.Color = 0.8 * ones(1,3);
0108   default_axes.Box = 'on';
0109   default_axes.XGrid = 'on';
0110   default_axes.YGrid = 'on';
0111   default_axes.LineWidth = 0.25;
0112     
0113   default_label = struct();
0114   default_label.FontName = 'Helvetica';
0115   default_label.FontUnits = 'points';
0116   default_label.FontSize = 8;
0117   default_label.FontWeight = 'normal';
0118   
0119   default_title = struct();
0120   default_title.FontName = 'Helvetica';
0121   default_title.FontUnits = 'points';
0122   default_title.FontSize = 10;
0123   default_title.FontWeight = 'bold';
0124   
0125   
0126   %% Configure processed data figures.
0127   figures_proc = struct();
0128 
0129   % Vertical section plots.
0130   figures_proc.temperature = struct();
0131   figures_proc.temperature.plotfunc = @plotTransectVerticalSection;
0132   figures_proc.temperature.dataopts.xdata = 'distance_over_ground';
0133   figures_proc.temperature.dataopts.ydata = {'depth_ctd' 'depth'};
0134   figures_proc.temperature.dataopts.cdata = 'temperature';
0135   figures_proc.temperature.plotopts.sdata = 2;
0136   figures_proc.temperature.plotopts.logscale = false;
0137   figures_proc.temperature.plotopts.xlabel = setfield(default_label, 'String', 'distance (km)');
0138   figures_proc.temperature.plotopts.ylabel = setfield(default_label, 'String', 'depth (m)');
0139   figures_proc.temperature.plotopts.clabel = setfield(default_label, 'String', 'temperature (deg C)');
0140   figures_proc.temperature.plotopts.title = setfield(default_title, 'String', 'In situ temperature');
0141   figures_proc.temperature.plotopts.axsprops = setfield(default_axes, 'Ydir', 'reverse');
0142   figures_proc.temperature.plotopts.figprops = default_figure;
0143   figures_proc.temperature.prntopts = default_prntopts;
0144   figures_proc.temperature.prntopts.filename = 'temperature';
0145   figures_proc.temperature.prntopts.title = 'Temperature section';
0146   figures_proc.temperature.prntopts.comment = 'Cross section of in situ measured temperature.';
0147   
0148   figures_proc.salinity = struct();
0149   figures_proc.salinity.plotfunc = @plotTransectVerticalSection;
0150   figures_proc.salinity.dataopts.xdata = 'distance_over_ground';
0151   figures_proc.salinity.dataopts.ydata = {'depth_ctd' 'depth'};
0152   figures_proc.salinity.dataopts.cdata = 'salinity';
0153   figures_proc.salinity.plotopts.sdata = 2;
0154   figures_proc.salinity.plotopts.logscale = false;
0155   figures_proc.salinity.plotopts.xlabel = setfield(default_label, 'String', 'distance (km)');
0156   figures_proc.salinity.plotopts.ylabel = setfield(default_label, 'String', 'depth (m)');
0157   figures_proc.salinity.plotopts.clabel = setfield(default_label, 'String', 'salinity (PSU)');
0158   figures_proc.salinity.plotopts.title = setfield(default_title, 'String', 'In situ salinity (raw)');
0159   figures_proc.salinity.plotopts.axsprops = setfield(default_axes, 'Ydir', 'reverse');
0160   figures_proc.salinity.plotopts.figprops = default_figure;
0161   figures_proc.salinity.prntopts = default_prntopts;
0162   figures_proc.salinity.prntopts.filename = 'salinity';
0163   figures_proc.salinity.prntopts.title = 'Salinity section';
0164   figures_proc.salinity.prntopts.comment = 'Cross section of in situ derived salinity without corrections.';
0165 
0166   figures_proc.salinity_corrected_thermal = struct();
0167   figures_proc.salinity_corrected_thermal.plotfunc = @plotTransectVerticalSection;
0168   figures_proc.salinity_corrected_thermal.dataopts.xdata = 'distance_over_ground';
0169   figures_proc.salinity_corrected_thermal.dataopts.ydata = {'depth_ctd' 'depth'};
0170   figures_proc.salinity_corrected_thermal.dataopts.cdata = 'salinity_corrected_thermal';
0171   figures_proc.salinity_corrected_thermal.plotopts.sdata = 2;
0172   figures_proc.salinity_corrected_thermal.plotopts.logscale = false;
0173   figures_proc.salinity_corrected_thermal.plotopts.xlabel = setfield(default_label, 'String', 'distance (km)');
0174   figures_proc.salinity_corrected_thermal.plotopts.ylabel = setfield(default_label, 'String', 'depth (m)');
0175   figures_proc.salinity_corrected_thermal.plotopts.clabel = setfield(default_label, 'String', 'salinity (PSU)');
0176   figures_proc.salinity_corrected_thermal.plotopts.title = setfield(default_title, 'String', 'In situ salinity (thermal lag corrected)');
0177   figures_proc.salinity_corrected_thermal.plotopts.axsprops = setfield(default_axes, 'Ydir', 'reverse');
0178   figures_proc.salinity_corrected_thermal.plotopts.figprops = default_figure;
0179   figures_proc.salinity_corrected_thermal.prntopts = default_prntopts;
0180   figures_proc.salinity_corrected_thermal.prntopts.filename = 'salinity_corrected_thermal';
0181   figures_proc.salinity_corrected_thermal.prntopts.title = 'Salinity section';
0182   figures_proc.salinity_corrected_thermal.prntopts.comment = 'Cross section of in situ derived salinity with thermal lag corrections.';
0183 
0184   figures_proc.density = struct();
0185   figures_proc.density.plotfunc = @plotTransectVerticalSection;
0186   figures_proc.density.dataopts.xdata = 'distance_over_ground';
0187   figures_proc.density.dataopts.ydata = {'depth_ctd' 'depth'};
0188   figures_proc.density.dataopts.cdata = 'density';
0189   figures_proc.density.plotopts.sdata = 2;
0190   figures_proc.density.plotopts.logscale = false;
0191   figures_proc.density.plotopts.xlabel = setfield(default_label, 'String', 'distance (km)');
0192   figures_proc.density.plotopts.ylabel = setfield(default_label, 'String', 'depth (m)');
0193   figures_proc.density.plotopts.clabel = setfield(default_label, 'String', 'density (kg m-3)');
0194   figures_proc.density.plotopts.title = setfield(default_title, 'String', 'In situ density (from raw salinity)');
0195   figures_proc.density.plotopts.axsprops = setfield(default_axes, 'Ydir', 'reverse');
0196   figures_proc.density.plotopts.figprops = default_figure;
0197   figures_proc.density.prntopts = default_prntopts;
0198   figures_proc.density.prntopts.filename = 'density';
0199   figures_proc.density.prntopts.title = 'Density section';
0200   figures_proc.density.prntopts.comment = 'Cross section of in situ derived density from salinity without corrections.';
0201 
0202   figures_proc.density_corrected_thermal = struct();
0203   figures_proc.density_corrected_thermal.plotfunc = @plotTransectVerticalSection;
0204   figures_proc.density_corrected_thermal.dataopts.xdata = 'distance_over_ground';
0205   figures_proc.density_corrected_thermal.dataopts.ydata = {'depth_ctd' 'depth'};
0206   figures_proc.density_corrected_thermal.dataopts.cdata = 'density_corrected_thermal';
0207   figures_proc.density_corrected_thermal.plotopts.sdata = 2;
0208   figures_proc.density_corrected_thermal.plotopts.logscale = false;
0209   figures_proc.density_corrected_thermal.plotopts.xlabel = setfield(default_label, 'String', 'distance (km)');
0210   figures_proc.density_corrected_thermal.plotopts.ylabel = setfield(default_label, 'String', 'depth (m)');
0211   figures_proc.density_corrected_thermal.plotopts.clabel = setfield(default_label, 'String', 'salinity (PSU)');
0212   figures_proc.density_corrected_thermal.plotopts.title = setfield(default_title, 'String', 'In situ density (from thermal lag corrected salinity)');
0213   figures_proc.density_corrected_thermal.plotopts.axsprops = setfield(default_axes, 'Ydir', 'reverse');
0214   figures_proc.density_corrected_thermal.plotopts.figprops = default_figure;
0215   figures_proc.density_corrected_thermal.prntopts = default_prntopts;
0216   figures_proc.density_corrected_thermal.prntopts.filename = 'density_corrected_thermal';
0217   figures_proc.density_corrected_thermal.prntopts.title = 'Density section';
0218   figures_proc.density_corrected_thermal.prntopts.comment = 'Cross section of in situ derived density from salinity with thermal lag corrections.';
0219 
0220   figures_proc.chlorophyll = struct();
0221   figures_proc.chlorophyll.plotfunc = @plotTransectVerticalSection;
0222   figures_proc.chlorophyll.dataopts.xdata = 'distance_over_ground';
0223   figures_proc.chlorophyll.dataopts.ydata = {'depth' 'depth_ctd'};
0224   figures_proc.chlorophyll.dataopts.cdata = 'chlorophyll';
0225   figures_proc.chlorophyll.plotopts.sdata = 2;
0226   figures_proc.chlorophyll.plotopts.logscale = true;
0227   figures_proc.chlorophyll.plotopts.xlabel = setfield(default_label, 'String', 'distance (km)');
0228   figures_proc.chlorophyll.plotopts.ylabel = setfield(default_label, 'String', 'depth (m)');
0229   figures_proc.chlorophyll.plotopts.clabel = setfield(default_label, 'String', 'chlorophyll (ug l-1)');
0230   figures_proc.chlorophyll.plotopts.title = setfield(default_title, 'String', 'In situ chlorophyll');
0231   figures_proc.chlorophyll.plotopts.axsprops = setfield(default_axes, 'Ydir', 'reverse');
0232   figures_proc.chlorophyll.plotopts.figprops = default_figure;
0233   figures_proc.chlorophyll.prntopts = default_prntopts;
0234   figures_proc.chlorophyll.prntopts.filename = 'chlorophyll';
0235   figures_proc.chlorophyll.prntopts.title = 'Chlorophyll section';
0236   figures_proc.chlorophyll.prntopts.comment = 'Cross section of in situ measured chlorophyll.';
0237 
0238   figures_proc.turbidity = struct();
0239   figures_proc.turbidity.plotfunc = @plotTransectVerticalSection;
0240   figures_proc.turbidity.dataopts.xdata = 'distance_over_ground';
0241   figures_proc.turbidity.dataopts.ydata = {'depth' 'depth_ctd'};
0242   figures_proc.turbidity.dataopts.cdata = 'turbidity';
0243   figures_proc.turbidity.plotopts.sdata = 2;
0244   figures_proc.turbidity.plotopts.logscale = true;
0245   figures_proc.turbidity.plotopts.xlabel = setfield(default_label, 'String', 'distance (km)');
0246   figures_proc.turbidity.plotopts.ylabel = setfield(default_label, 'String', 'depth (m)');
0247   figures_proc.turbidity.plotopts.clabel = setfield(default_label, 'String', 'turbidity (NTU)');
0248   figures_proc.turbidity.plotopts.title = setfield(default_title, 'String', 'In situ turbidity');
0249   figures_proc.turbidity.plotopts.axsprops = setfield(default_axes, 'Ydir', 'reverse');
0250   figures_proc.turbidity.plotopts.figprops = default_figure;
0251   figures_proc.turbidity.prntopts = default_prntopts;
0252   figures_proc.turbidity.prntopts.filename = 'turbidity';
0253   figures_proc.turbidity.prntopts.title = 'Turbidity section';
0254   figures_proc.turbidity.prntopts.comment = 'Cross section of in situ measured turbidity.';
0255 
0256   figures_proc.cdom = struct();
0257   figures_proc.cdom.plotfunc = @plotTransectVerticalSection;
0258   figures_proc.cdom.dataopts.xdata = 'distance_over_ground';
0259   figures_proc.cdom.dataopts.ydata = {'depth' 'depth_ctd'};
0260   figures_proc.cdom.dataopts.cdata = 'cdom';
0261   figures_proc.cdom.plotopts.sdata = 2;
0262   figures_proc.cdom.plotopts.logscale = false;
0263   figures_proc.cdom.plotopts.xlabel = setfield(default_label, 'String', 'distance (km)');
0264   figures_proc.cdom.plotopts.ylabel = setfield(default_label, 'String', 'depth (m)');
0265   figures_proc.cdom.plotopts.clabel = setfield(default_label, 'String', 'CDOM (ppb)');
0266   figures_proc.cdom.plotopts.title = setfield(default_title, 'String', 'In situ CDOM');
0267   figures_proc.cdom.plotopts.axsprops = setfield(default_axes, 'Ydir', 'reverse');
0268   figures_proc.cdom.plotopts.figprops = default_figure;
0269   figures_proc.cdom.prntopts = default_prntopts;
0270   figures_proc.cdom.prntopts.filename = 'cdom';
0271   figures_proc.cdom.prntopts.title = 'CDOM section';
0272   figures_proc.cdom.prntopts.comment = 'Cross section of in situ measured CDOM.';  
0273 
0274   figures_proc.oxygen_concentration = struct();
0275   figures_proc.oxygen_concentration.plotfunc = @plotTransectVerticalSection;
0276   figures_proc.oxygen_concentration.dataopts.xdata = 'distance_over_ground';
0277   figures_proc.oxygen_concentration.dataopts.ydata = {'depth' 'depth_ctd'};
0278   figures_proc.oxygen_concentration.dataopts.cdata = 'oxygen_concentration';
0279   figures_proc.oxygen_concentration.plotopts.sdata = 2;
0280   figures_proc.oxygen_concentration.plotopts.logscale = false;
0281   figures_proc.oxygen_concentration.plotopts.xlabel = setfield(default_label, 'String', 'distance (km)');
0282   figures_proc.oxygen_concentration.plotopts.ylabel = setfield(default_label, 'String', 'depth (m)');
0283   figures_proc.oxygen_concentration.plotopts.clabel = setfield(default_label, 'String', 'oxygen concentration (umol l-1)');
0284   figures_proc.oxygen_concentration.plotopts.title = setfield(default_title, 'String', 'In situ oxygen concentration');
0285   figures_proc.oxygen_concentration.plotopts.axsprops = setfield(default_axes, 'Ydir', 'reverse');
0286   figures_proc.oxygen_concentration.figprops = default_figure;
0287   figures_proc.oxygen_concentration.prntopts = default_prntopts;
0288   figures_proc.oxygen_concentration.prntopts.filename = 'oxygen_concentration';
0289   figures_proc.oxygen_concentration.prntopts.title = 'Oxygen concentration section';
0290   figures_proc.oxygen_concentration.prntopts.comment = 'Cross section of in situ measured oxygen saturation.';
0291 
0292   figures_proc.oxygen_saturation = struct();
0293   figures_proc.oxygen_saturation.plotfunc = @plotTransectVerticalSection;
0294   figures_proc.oxygen_saturation.dataopts.xdata = 'distance_over_ground';
0295   figures_proc.oxygen_saturation.dataopts.ydata = {'depth' 'depth_ctd'};
0296   figures_proc.oxygen_saturation.dataopts.cdata = 'oxygen_saturation';
0297   figures_proc.oxygen_saturation.plotopts.sdata = 2;
0298   figures_proc.oxygen_saturation.plotopts.logscale = false;
0299   figures_proc.oxygen_saturation.plotopts.xlabel = setfield(default_label, 'String', 'distance (km)');
0300   figures_proc.oxygen_saturation.plotopts.ylabel = setfield(default_label, 'String', 'depth (m)');
0301   figures_proc.oxygen_saturation.plotopts.clabel = setfield(default_label, 'String', 'oxygen saturation (%)');
0302   figures_proc.oxygen_saturation.plotopts.title = setfield(default_title, 'String', 'In situ oxygen saturation');
0303   figures_proc.oxygen_saturation.plotopts.axsprops = setfield(default_axes, 'Ydir', 'reverse');
0304   figures_proc.oxygen_saturation.plotopts.figprops = default_figure;
0305   figures_proc.oxygen_saturation.prntopts = default_prntopts;
0306   figures_proc.oxygen_saturation.prntopts.filename = 'oxygen_saturation';
0307   figures_proc.oxygen_saturation.prntopts.title = 'Oxygen saturation section';
0308   figures_proc.oxygen_saturation.prntopts.comment = 'Cross section of in situ measured oxygen saturation.';
0309 
0310   % Temperature - salinity diagrams.
0311   figures_proc.temperature_salinity = struct();
0312   figures_proc.temperature_salinity.plotfunc = @plotTSDiagram;
0313   figures_proc.temperature_salinity.dataopts.sdata = 'salinity';
0314   figures_proc.temperature_salinity.dataopts.tdata = 'temperature';
0315   figures_proc.temperature_salinity.plotopts.xlabel = setfield(default_label, 'String', 'salinity (PSU)');
0316   figures_proc.temperature_salinity.plotopts.ylabel = setfield(default_label, 'String', 'temperature (deg C)');
0317   figures_proc.temperature_salinity.plotopts.title = setfield(default_title, 'String', {''; 'Temperature-Salinity diagram on sigma-t contours'});
0318   figures_proc.temperature_salinity.plotopts.axsprops = setfield(setfield(setfield(default_axes, ...
0319                                                           'PlotBoxAspectRatio', [1 1 1]), ...
0320                                                           'XGrid', 'off'), 'YGrid', 'off');
0321   figures_proc.temperature_salinity.plotopts.figprops = setfield(setfield(default_figure, ...
0322                                                           'PaperSize', [4.80 3.84]), ...
0323                                                           'PaperPosition', [0 0 4.80 3.84]);
0324   figures_proc.temperature_salinity.prntopts = default_prntopts;
0325   figures_proc.temperature_salinity.prntopts.filename = 'temperature_salinity';
0326   figures_proc.temperature_salinity.prntopts.title = 'Temperature - Salinity diagram';
0327   figures_proc.temperature_salinity.prntopts.comment = 'Diagram of temperature versus salinity without corrections over constant sigma-t contour levels.';
0328   
0329   figures_proc.temperature_salinity_corrected_thermal = struct();
0330   figures_proc.temperature_salinity_corrected_thermal.plotfunc = @plotTSDiagram;
0331   figures_proc.temperature_salinity_corrected_thermal.dataopts.sdata = 'salinity_corrected_thermal';
0332   figures_proc.temperature_salinity_corrected_thermal.dataopts.tdata = 'temperature';
0333   figures_proc.temperature_salinity_corrected_thermal.plotopts.xlabel = setfield(default_label, 'String', 'salinity (PSU)');
0334   figures_proc.temperature_salinity_corrected_thermal.plotopts.ylabel = setfield(default_label, 'String', 'temperature (deg C)');
0335   figures_proc.temperature_salinity_corrected_thermal.plotopts.title = setfield(default_title, 'String', {'Temperature-Salinity diagram on sigma-t contours'; '(corrected thermal lag)'});
0336   figures_proc.temperature_salinity_corrected_thermal.plotopts.axsprops = setfield(setfield(setfield(default_axes, ...
0337                                                                             'PlotBoxAspectRatio', [1 1 1]), ...
0338                                                                             'XGrid', 'off'), 'YGrid', 'off');
0339   figures_proc.temperature_salinity_corrected_thermal.plotopts.figprops = setfield(setfield(default_figure, ...
0340                                                                             'PaperSize', [4.80 3.84]), ...
0341                                                                             'PaperPosition', [0 0 4.80 3.84]);
0342   figures_proc.temperature_salinity_corrected_thermal.prntopts = default_prntopts;
0343   figures_proc.temperature_salinity_corrected_thermal.prntopts.filename = 'temperature_salinity_corrected_thermal';
0344   figures_proc.temperature_salinity_corrected_thermal.prntopts.title = 'Temperature - Salinity diagram';
0345   figures_proc.temperature_salinity_corrected_thermal.prntopts.comment = 'Diagram of temperature versus salinity with thermal lag corrections over constant sigma-t contour levels.';
0346 
0347   % Trajectory and currents maps:
0348   figures_proc.current_map = struct();
0349   figures_proc.current_map.plotfunc = @plotTransectCurrentMap;
0350   figures_proc.current_map.dataopts.latdata = 'latitude';
0351   figures_proc.current_map.dataopts.londata = 'longitude';
0352   figures_proc.current_map.dataopts.wptlatdata = 'waypoint_latitude';
0353   figures_proc.current_map.dataopts.wptlondata = 'waypoint_longitude';
0354   figures_proc.current_map.dataopts.curnordata = 'water_velocity_northward';
0355   figures_proc.current_map.dataopts.cureasdata = 'water_velocity_eastward';
0356   figures_proc.current_map.plotopts.wptlatdata = [];
0357   figures_proc.current_map.plotopts.wptlondata = [];
0358   figures_proc.current_map.plotopts.curnordata = [];
0359   figures_proc.current_map.plotopts.cureasdata = [];
0360   figures_proc.current_map.plotopts.curscale = 0.2;
0361   figures_proc.current_map.plotopts.xlabel = setfield(default_label, 'String', 'longitude');
0362   figures_proc.current_map.plotopts.ylabel = setfield(default_label, 'String', 'latitude');
0363   figures_proc.current_map.plotopts.clabel = setfield(default_label, 'String', 'column-averaged sea water speed (m s-1)');
0364   figures_proc.current_map.plotopts.title = setfield(default_title, 'String', 'Trajectory and column integrated water current estimates');
0365   figures_proc.current_map.plotopts.axsprops = setfield(setfield(default_axes, 'Layer', 'top'), 'GridLineStyle', ':');
0366   figures_proc.current_map.plotopts.figprops = setfield(setfield(default_figure, ...
0367                                                                  'PaperSize', [4.80 3.84]), ...
0368                                                                  'PaperPosition', [0 0 4.80 3.84]);
0369   figures_proc.current_map.prntopts = default_prntopts;
0370   figures_proc.current_map.prntopts.filename = 'current_map';
0371   figures_proc.current_map.prntopts.title = 'Current map';
0372   figures_proc.current_map.prntopts.comment = 'Map of glider planned waypoint path, actual track and column integrated water current estimates.';
0373   
0374   
0375   %% Configure gridded data figures.
0376   default_axes.Ydir = 'reverse';
0377   default_axes.ColorOrder = [0 0 0];
0378   default_axes.XMinorTick = 'on';
0379 
0380   figures_grid = struct();
0381 
0382   % Profile statistics plots.
0383   figures_grid.profiles_ctd.plotfunc = @plotProfileStatistics;
0384   figures_grid.profiles_ctd.dataopts(1).mdata = 'temperature';
0385   figures_grid.profiles_ctd.dataopts(1).ydata = 'depth';
0386   figures_grid.profiles_ctd.plotopts.xlabel(1) = setfield(default_label, 'String', 'temperature (deg C)');
0387   figures_grid.profiles_ctd.plotopts.ylabel(1) = setfield(default_label, 'String', 'depth (m)');
0388   figures_grid.profiles_ctd.plotopts.title(1) = setfield(default_title, 'String', 'Temperature profiles');
0389   figures_grid.profiles_ctd.dataopts(2).mdata = 'salinity';
0390   figures_grid.profiles_ctd.dataopts(2).ydata = 'depth';
0391   figures_grid.profiles_ctd.plotopts.xlabel(2) = setfield(default_label, 'String', 'salinity (PSU)');
0392   figures_grid.profiles_ctd.plotopts.ylabel(2) = setfield(default_label, 'String', 'depth (m)');
0393   figures_grid.profiles_ctd.plotopts.title(2) = setfield(default_title, 'String', 'Salinity profiles');
0394   figures_grid.profiles_ctd.dataopts(3).mdata = 'density';
0395   figures_grid.profiles_ctd.dataopts(3).ydata = 'depth';
0396   figures_grid.profiles_ctd.plotopts.xlabel(3) = setfield(default_label, 'String', 'density (kg m-1)');
0397   figures_grid.profiles_ctd.plotopts.ylabel(3) = setfield(default_label, 'String', 'depth (m)');
0398   figures_grid.profiles_ctd.plotopts.title(3) = setfield(default_title, 'String', 'Density profiles');
0399   figures_grid.profiles_ctd.plotopts.axsprops(1:3) = default_axes;
0400   figures_grid.profiles_ctd.prntopts = default_prntopts;
0401   figures_grid.profiles_ctd.prntopts.filename = 'ctd_profiles';
0402   figures_grid.profiles_ctd.prntopts.title = 'CTD profiles';
0403   figures_grid.profiles_ctd.prntopts.comment = 'Profile statistics of temperature, salinity and density, derived from raw CTD measurements.';
0404 
0405   figures_grid.profiles_ctd_corrected_thermal.plotfunc = @plotProfileStatistics;
0406   figures_grid.profiles_ctd_corrected_thermal.dataopts(1).mdata = 'temperature';
0407   figures_grid.profiles_ctd_corrected_thermal.dataopts(1).ydata = 'depth';
0408   figures_grid.profiles_ctd_corrected_thermal.plotopts.xlabel(1) = setfield(default_label, 'String', 'temperature (deg C)');
0409   figures_grid.profiles_ctd_corrected_thermal.plotopts.ylabel(1) = setfield(default_label, 'String', 'depth (m)');
0410   figures_grid.profiles_ctd_corrected_thermal.plotopts.title(1) = setfield(default_title, 'String', {'Temperature profiles'; ''});
0411   figures_grid.profiles_ctd_corrected_thermal.dataopts(2).mdata = 'salinity_corrected_thermal';
0412   figures_grid.profiles_ctd_corrected_thermal.dataopts(2).ydata = 'depth';
0413   figures_grid.profiles_ctd_corrected_thermal.plotopts.xlabel(2) = setfield(default_label, 'String', 'salinity (PSU)');
0414   figures_grid.profiles_ctd_corrected_thermal.plotopts.ylabel(2) = setfield(default_label, 'String', 'depth (m)');
0415   figures_grid.profiles_ctd_corrected_thermal.plotopts.title(2) = setfield(default_title, 'String', {'Salinity profiles'; '(corrected thermal lag)'});
0416   figures_grid.profiles_ctd_corrected_thermal.dataopts(3).mdata = 'density_corrected_thermal';
0417   figures_grid.profiles_ctd_corrected_thermal.dataopts(3).ydata = 'depth';
0418   figures_grid.profiles_ctd_corrected_thermal.plotopts.xlabel(3) = setfield(default_label, 'String', 'density (kg m-1)');
0419   figures_grid.profiles_ctd_corrected_thermal.plotopts.ylabel(3) = setfield(default_label, 'String', 'depth (m)');
0420   figures_grid.profiles_ctd_corrected_thermal.plotopts.title(3) = setfield(default_title, 'String', {'Density profiles'; '(corrected thermal lag)'});
0421   figures_grid.profiles_ctd_corrected_thermal.plotopts.axsprops(1:3) = default_axes;
0422   figures_grid.profiles_ctd_corrected_thermal.prntopts = default_prntopts;
0423   figures_grid.profiles_ctd_corrected_thermal.prntopts.filename = 'ctd_profiles_corrected_thermal';
0424   figures_grid.profiles_ctd_corrected_thermal.prntopts.title = 'CTD profiles';
0425   figures_grid.profiles_ctd_corrected_thermal.prntopts.comment = 'Profile statistics of temperature, salinity and density, derived from CTD measurements with thermal lag corrections.';
0426 
0427   figures_grid.profiles_flntu.plotfunc = @plotProfileStatistics;
0428   figures_grid.profiles_flntu.dataopts(1).mdata = 'chlorophyll';
0429   figures_grid.profiles_flntu.dataopts(1).ydata = 'depth';
0430   figures_grid.profiles_flntu.plotopts.xlabel(1) = setfield(default_label, 'String', 'chlorophyll (ug l-1)');
0431   figures_grid.profiles_flntu.plotopts.ylabel(1) = setfield(default_label, 'String', 'depth (m)');
0432   figures_grid.profiles_flntu.plotopts.title(1) = setfield(default_title, 'String', 'Chlorophyll profiles');
0433   figures_grid.profiles_flntu.dataopts(2).mdata = 'turbidity';
0434   figures_grid.profiles_flntu.dataopts(2).ydata = 'depth';
0435   figures_grid.profiles_flntu.plotopts.xlabel(2) = setfield(default_label, 'String', 'turbidity (NTU)');
0436   figures_grid.profiles_flntu.plotopts.ylabel(2) = setfield(default_label, 'String', 'depth (m)');
0437   figures_grid.profiles_flntu.plotopts.title(2) = setfield(default_title, 'String', 'Turbidity profiles');
0438   figures_grid.profiles_flntu.plotopts.axsprops(1:2) = default_axes;
0439   figures_grid.profiles_flntu.prntopts = default_prntopts;
0440   figures_grid.profiles_flntu.prntopts.filename = 'flntu_profiles';
0441   figures_grid.profiles_flntu.prntopts.title = 'Chlorohpyll and turbidity profiles';
0442   figures_grid.profiles_flntu.prntopts.comment = 'Profile statistics of chlorophyll and turbidity.';
0443 
0444   figures_grid.profiles_bbfl2.plotfunc = @plotProfileStatistics;
0445   figures_grid.profiles_bbfl2.dataopts(1).mdata = 'chlorophyll';
0446   figures_grid.profiles_bbfl2.dataopts(1).ydata = 'depth';
0447   figures_grid.profiles_bbfl2.plotopts.xlabel(1) = setfield(default_label, 'String', 'chlorophyll (ug l-1)');
0448   figures_grid.profiles_bbfl2.plotopts.ylabel(1) = setfield(default_label, 'String', 'depth (m)');
0449   figures_grid.profiles_bbfl2.plotopts.title(1) = setfield(default_title, 'String', 'Chlorophyll profiles');
0450   figures_grid.profiles_bbfl2.dataopts(2).mdata = 'cdom';
0451   figures_grid.profiles_bbfl2.dataopts(2).ydata = 'depth';
0452   figures_grid.profiles_bbfl2.plotopts.xlabel(2) = setfield(default_label, 'String', 'CDOM (ppb)');
0453   figures_grid.profiles_bbfl2.plotopts.ylabel(2) = setfield(default_label, 'String', 'depth (m)');
0454   figures_grid.profiles_bbfl2.plotopts.title(2) = setfield(default_title, 'String', 'CDOM profiles');
0455   figures_grid.profiles_bbfl2.plotopts.axsprops(1:2) = default_axes;
0456   figures_grid.profiles_bbfl2.prntopts = default_prntopts;
0457   figures_grid.profiles_bbfl2.prntopts.filename = 'bbfl2_profiles';
0458   figures_grid.profiles_bbfl2.prntopts.title = 'Chlorohpyll and CDOM profiles';
0459   figures_grid.profiles_bbfl2.prntopts.comment = 'Profile statistics of chlorophyll and CDOM.';
0460 
0461   figures_grid.profiles_oxygen.plotfunc = @plotProfileStatistics;
0462   figures_grid.profiles_oxygen.dataopts(1).mdata = 'oxygen_concentration';
0463   figures_grid.profiles_oxygen.dataopts(1).ydata = 'depth';
0464   figures_grid.profiles_oxygen.plotopts.xlabel(1) = setfield(default_label, 'String', 'O2 concentration (umol l-1)');
0465   figures_grid.profiles_oxygen.plotopts.ylabel(1) = setfield(default_label, 'String', 'depth (m)');
0466   figures_grid.profiles_oxygen.plotopts.title(1) = setfield(default_title, 'String', 'O2 concentration profiles');
0467   figures_grid.profiles_oxygen.dataopts(2).mdata = 'oxygen_saturation';
0468   figures_grid.profiles_oxygen.dataopts(2).ydata = 'depth';
0469   figures_grid.profiles_oxygen.plotopts.xlabel(2) = setfield(default_label, 'String', 'O2 saturation (%)');
0470   figures_grid.profiles_oxygen.plotopts.ylabel(2) = setfield(default_label, 'String', 'depth (m)');
0471   figures_grid.profiles_oxygen.plotopts.title(2) = setfield(default_title, 'String', 'O2 saturation profiles');
0472   figures_grid.profiles_oxygen.plotopts.axsprops(1:2) = default_axes;
0473   figures_grid.profiles_oxygen.prntopts = default_prntopts;
0474   figures_grid.profiles_oxygen.prntopts.filename = 'oxygen_profiles';
0475   figures_grid.profiles_oxygen.prntopts.title = 'Oxygen profiles';
0476   figures_grid.profiles_oxygen.prntopts.comment = 'Profile statistics of oxygen concentration and saturation.';
0477 
0478   close(hfig);
0479   
0480 end

Generated on Fri 06-Oct-2017 10:47:42 by m2html © 2005