function [H]= plotELCOMprofile(data,varname); % function [H]= plotELCOMprofile(data,varname) % % funcion to plot ELCOM elcom profile output % plot correct free surface level % % Inputs: % data : struct array of data from nldnc % variable : name of variable to plot eg: "SALINITY" % % Outputs % ierr : error flag % % Uses: % CWRdate2matlab.m % % Written by C. Dallimore 27 July 04 % % Script for plotting ELCOM profile outputs % % Written by C Dallimore 2/8/04 % % Setup units of various input types variable_mat = setELCOMioTypes; warning off if nargin == 2 tslice = 1; else error('Incorrrect number of input arguments!') end; % Get number of dimensions of variable eval (['ndim = ndims(data.',varname,');']); % Get number of dimensions of variable eval (['ndim = ndims(data.',varname,');']); % Get data to plot if (ndim == 2) eval (['pltdata = data.',varname,';']); else error('plotELCOMcurtain only plots variables 3 dimensions (t,Z,S)') end % plot data [H] = pcolor_CD(CWRdate2matlab(data.Ordinal_Dates),data.Z,pltdata'); set(gca,'layer','top','ydir','normal') % plot freesurface % plot freesurface % First get i, j locn unscoreLocn = find (varname=='_'); iLocn = str2num(varname(unscoreLocn(1)+1:unscoreLocn(2)-1)); jLocn = str2num(varname(unscoreLocn(2)+1:unscoreLocn(3)-1)); fs_n = find(data.Iway_pts==iLocn && data.Jway_pts==jLocn) xl = get(gca,'xlim'); yl = get(gca,'ylim'); t = CWRdate2matlab(data.Ordinal_Dates); fill_x = [xl(1); xl(1); t; xl(2); xl(2); xl(1)]; fs = squeeze(data.FreeSurfHeights(:,fs_n))'; fill_z = [yl(2), fs(1), fs fs(length(fs)), yl(2), yl(2)]; hold on fill(fill_x,fill_z,[1 1 1]) box on set(gca,'layer','top') datetick('x','keeplimits'); xlabel('Date'); ylabel('Z (m)')