% nbp1201_xbt_profs_fromMatfile.m
% Plot one XBT parameter: all sequences and one selected.
%
% I N P U T: nbp1201_xbt.mat
% File location:
% ~/antarctic/nbp1201/XBT/matfile/
% File contents:
% xbt_data xbt_list data_variables list_variables.
% File is  O U T P U T  from: nbp1201_read_xbt_data_make_matfile.m

clear;

% --- Plots color, ID.
plot_color_select=[1 0 0];
plot_color_all=[0.7 0.7 0.7];
plot_id_select='-';
plot_id_all='-';
% ---- Fonts.
fnt_axes=10;
fnt_label=10;
fnt_title=10;
title_color=[0 0 1];
line_width=0.8;
% Cruse name.
cr_name='NBP1201';
% --- Remote location XBT sequence #2 - color.
remote_cast_color=[0 0.6 0];
%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%@@@@@@@@@@@@@@@@@@    XBT MATFILE PATH, NAME  @@@@@@@@@@@@@@@@@@@@@
%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
path_name='~/antarctic/nbp1201/XBT/matfile/';
fname='nbp1201_xbt';
%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%@@@@@@@@@@@@@@    XBT MATFILE: xbt_data variables  @@@@@@@@@@@@@@@@
%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
% Columns#.
colCast=1;
colDep=2;
colTemp=3;
colSoundVel=4;
%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
%@@@@@@@@@@@@@@@@    XBT MATFILE: xbt_list variables  @@@@@@@@@@@@@@
%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
% Columns#:
col_cast=1;
col_year=2;
col_mon=3;
col_day=4;
col_h=5;
col_min=6;
col_sec=7;
col_lat=8;
col_lon=9;
%**************************************************************
%*********************  LOAD XBT MATFILE   ********************
%**************************************************************
p=['load ' path_name fname ';'];
eval(p);
% whos
%  Name                     Size              Bytes  Class     Attributes
%  data_variables           4x24                192  char                
%  list_variables           9x19                342  char                
%  xbt_data            119339x4             3818848  double              
%  xbt_list               112x9                8064  double
D=xbt_data;
x_list=xbt_list;
xbtList=(x_list(:,col_cast) )';
%**************************************************************
%*********************   MENU: XBT sequence  **********************
%**************************************************************
castNum_select=f_menu_of_numbers_title('XBT Sequence',xbtList);
if isempty(castNum_select), return; end
% XBT Cast name.
cast_name=num2str(castNum_select);
%***************************************************************
%*******************   XBT CAST DATE/TIME   ********************
%***************************************************************
% Date.
r_st=find(x_list(:,col_cast)==castNum_select);
yyyy_st=x_list(r_st,col_year);
mm_st=x_list(r_st,col_mon);
dd_st=x_list(r_st,col_day);
% Time.
hh_st=x_list(r_st,col_h);
minmin_st=x_list(r_st,col_min);
secsec_st=x_list(r_st,col_sec);
% Date and time - string represetation.
str_date=datestr([yyyy_st mm_st dd_st hh_st minmin_st secsec_st],0);
%***************************************************************
%************************  MENU PARAMETER  *********************
%***************************************************************
parNum = menu('Quantity',...
    'Temperature (deg C)',...
    'Sound Velocity (m/s)',...
    'CANCEL');
if parNum==1
    colNum = colTemp;
    j_label='Temperature (deg C)';
    jN='Temperature';
    x_remote_cast=1.5;
elseif parNum==2
    colNum = colSoundVel;
    j_label='Sound Velocity (m/s)';
    jN='Sound Velocity';
    x_remote_cast=1458;
else
    return;
end
count_cast=0;
for seq=xbtList
    count_cast=count_cast+1;
    % Cast data.
    rc=find(D(:,colCast)==seq);
    data=D(rc,:);
    % Current cast parameter and depth.
    parCast=data(:,colNum);
    depCast=data(:,colDep);
    %***************************************************************
    %***********************  PLOT - ALL CASTS *********************
    %***************************************************************
    if count_cast==1
        % Set figure.
        figure;
        set(gcf,'color',[1 1 1],'position',[ 126   464   503   457],...
            'paperPositionMode','auto');
        % Plot fist profile.
        hh(1)=plot(parCast,depCast,plot_id_all,'color',plot_color_all,'linewidth',line_width);
    else
        hold on;
        plot(parCast,depCast,plot_id_all,'color',plot_color_all,'linewidth',line_width);
        hold off;
    end
    % Plot NOTE text for the Remote location XBT #2:
    if seq==2
        hold on;
        plot(parCast,depCast,plot_id_all,'color',remote_cast_color,'linewidth',line_width);
        hold off;
        text(x_remote_cast,200,['#2 - remote cast'],...
            'horizontalAlignment','left',...
            'color',remote_cast_color);
    end
    %***************************************************************
    %*******************   DATA - SELECTED CAST  *******************
    %***************************************************************
    if seq==castNum_select
        parCast_select=parCast;
        depCast_select=depCast;
    end
    clear parCast depCast;
    clear data;
end  % For  for seq=xbtList
%***************************************************************
%*******************  PLOT - SELECTED CAST *********************
%***************************************************************
hold on;
hh(2)=plot(parCast_select,depCast_select,plot_id_select,'color',plot_color_select,'linewidth',line_width+0.5);
hold off;
%***************************************************************
%*****************    AXES PROPERTIES   ************************
%***************************************************************
grid on;
set(gca,'ydir','reverse','fontsize',fnt_axes,'box','on');
ylabel('Depth (m)','fontsize',fnt_label);
xlabel(j_label,'fontsize',fnt_label);
str_title(1)={['\color{red}' cr_name ' XBT Sequence ' cast_name  ' ' jN '. \color{blue}FILENAME: nbp1201\_xbt.mat']};
str_title(2)={['\color{red}' str_date ' UTC']};
title(str_title,'fontsize',fnt_title);
%******************
% Legend.
%******************
str_leg=strvcat('All casts','Selected cast');
hl=legend(hh,str_leg,4);

