[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