[Dart-dev] DART/branches Revision: 11145

dart at ucar.edu dart at ucar.edu
Thu Feb 23 10:07:49 MST 2017


thoar at ucar.edu
2017-02-23 10:07:48 -0700 (Thu, 23 Feb 2017)
283
Removed the dependency on the thrid-part netCDF toolboxes and only use the 
native Matlab netCDF support.

I learned that 'ncread' understands _FillValue, but not missing_value ...

The graphics created are now consistent with lanai and the trunk. The rma versions
were pretty old.




Modified: DART/branches/rma_trunk/diagnostics/matlab/link_obs.m
===================================================================
--- DART/branches/rma_trunk/diagnostics/matlab/link_obs.m	2017-02-23 04:18:00 UTC (rev 11144)
+++ DART/branches/rma_trunk/diagnostics/matlab/link_obs.m	2017-02-23 17:07:48 UTC (rev 11145)
@@ -1,24 +1,29 @@
 function link_obs(fname, ObsTypeString, ObsCopyString, CopyString, QCString, region)
 %% link_obs generates the 'brushable' observation plots.
 %
-% 	Three figures will be generated.
+% link_obs explores the observations in a netCDF file created by 'obs_seq_to_netcdf'.
+% All the data in the graphics are linked and are 'brushable'. Click on
+% the paintbrush icon and use the mouse to select observations in any
+% graphic. That same observation will be highlighted in ALL the graphics.
 %
-%	Figure 1 will have a 3D geographic scatterplot.
+% Three figures will be generated.
 %
-%	Figure 2 has multiple axes.
-%		The bottom axes has a plot of the observation 
-%		value vs. the QC value.
-%		The next axes provides information about the original
-%		observation index in the observation sequence file.
-%		The next axes provides the ability to select observations
-%		by time - useful if multiple observation sequence files are
-%		contained in the single input netCDF file.
-%		The final (top) axes plots the QC value as a function of time.
+% Figure 1 will have a 3D geographic scatterplot. Click on the rotate
+%          icon and drag the graphic around for the best view angle.
 %
-%	Figure 3 has a 2D scatterplot of (typically) the prior mean 
-%		observation vs. the original observation. Both of
-%		these can be changed however - the allowable set is defined
-%		by the CopyMetaData variable in the netCDF file.
+% Figure 2 has multiple axes.
+%   *   The bottom axes has a plot of the observation 'key' 
+%       (some of the linked list information in the original file).
+%   *   The middle axes provides information about the observation 
+%       density as a function of time. 
+%   *   The final (top) axes plots the QC value as a function of time.
+%
+% Figure 3 has two axes.
+%   *   The bottom axes is a 2D scatterplot of (typically) the 
+%       'prior mean observation' (or whatever you specify in Copystring) vs. the
+%       'observation' (or whatever you specify in ObsCopyString).
+%       Both of these can be changed however - the allowable settings are defined 
+%       in the CopyMetaData variable in the netCDF file.
 %		 
 % link_obs(fname, ObsTypeString, ObsCopyString, CopyString, QCString, region)
 %
@@ -27,6 +32,7 @@
 % ObsCopyString - the COPY specifying the raw observation ( -v CopyMetaData )
 % CopyString    - the COPY specifying the copy to compare to the raw obs
 % QCString      - character string  - one of (ncdump -v QCMetaData *.nc)
+% region        - geographic extent of interest
 %
 % EXAMPLE 1:
 % fname         = '/ptmp/thoar/POP/CAM/POP8/obs_epoch_001.nc';
@@ -90,6 +96,8 @@
 
 obs.ObsCopyString = obs.CopyString;
 obs.CopyString    = copy.CopyString;
+obs.region(5)     = min(obs.z); % use observation Z to specify vertical region
+obs.region(6)     = max(obs.z);
 
 %% Now pack the data in the same fashion as the cell array of column labels.
 

Modified: DART/branches/rma_trunk/diagnostics/matlab/linked_observations.m
===================================================================
--- DART/branches/rma_trunk/diagnostics/matlab/linked_observations.m	2017-02-23 04:18:00 UTC (rev 11144)
+++ DART/branches/rma_trunk/diagnostics/matlab/linked_observations.m	2017-02-23 17:07:48 UTC (rev 11145)
@@ -38,32 +38,31 @@
 
 global obsmat
 
-% Create figure
-%figure1 = figure('XVisual',...
-%    '0x24 (TrueColor, depth 24, RGB mask 0xff0000 0xff00 0x00ff)',...
-%    'Renderer','OpenGL');
+%% ------------------------------------------------------------------------
+%  Create figure and axes for 3D scatterplot
+% -------------------------------------------------------------------------
+
 figure1 = figure(1); clf(figure1);
 
-%% Create axes for 3D scatterplot
-% should figure out how to query the vertical coordinate to determine
-% direction of the Z axis ... 
-axes0 = axes('Parent',figure1,'OuterPosition',[0 0 1 0.90],'FontSize',18);
-view(axes0,[-37.5 30]);
-grid(axes0,'on');
-hold(axes0,'all');
+fig1ax1 = axes('Parent',figure1,'OuterPosition',[0 0 1 0.90]);
+view(fig1ax1,[-37.5 30]);
+grid(fig1ax1,'on');
 
 xstring = sprintf('obsmat(:,%d)',obs.lonindex);
 ystring = sprintf('obsmat(:,%d)',obs.latindex);
 zstring = sprintf('obsmat(:,%d)',obs.zindex  );
 
+symbolsize = set_symbol_size(numel(obs.obs));


More information about the Dart-dev mailing list