[Dart-dev] DART/branches Revision: 13017
dart at ucar.edu
dart at ucar.edu
Fri Mar 15 17:43:49 MDT 2019
thoar at ucar.edu
2019-03-15 17:43:49 -0600 (Fri, 15 Mar 2019)
159
Trying to remove redundant code.
The Matlab 'ncread()' function does not auto-squeeze leading singleton dimensions,
so we can utilize native variable shapes.
Modified: DART/branches/qc8diags/diagnostics/matlab/plot_rmse_xxx_evolution.m
===================================================================
--- DART/branches/qc8diags/diagnostics/matlab/plot_rmse_xxx_evolution.m 2019-03-14 22:48:48 UTC (rev 13016)
+++ DART/branches/qc8diags/diagnostics/matlab/plot_rmse_xxx_evolution.m 2019-03-15 23:43:49 UTC (rev 13017)
@@ -19,21 +19,23 @@
% For TRUSTED observations, this is different than the number used to calculate
% bias, rmse, spread, etc.
%
-% USAGE: plotdat = plot_evolution(fname, copy);
+% USAGE: plotdat = plot_rmse_xxx_evolution(fname, copy [,varargin]);
%
% fname : netcdf file produced by 'obs_diag'
%
% copy : string defining the metric of interest. 'rmse', 'spread', etc.
% Possible values are available in the netcdf 'CopyMetaData' variable.
-% (ncdump -v CopyMetaData obs_diag_output.nc)%
+% (ncdump -v CopyMetaData obs_diag_output.nc)
%
-% obsname : Optional. If present, The strings of each observation type to plot.
+% varargin: optional, parameter-value pairs. Supported parameters are described below.
+%
+% obsname : The strings of each observation type to plot.
% Each observation type will be plotted in a separate graphic.
% Default is to plot all available observation types.
%
-% level : Optional. 'level' index. Default is to plot all levels.
+% level : 'level' index. Default is to plot all levels.
%
-% range : Optional. 'range' of the value being plotted. Default is to
+% range : 'range' of the value being plotted. Default is to
% automatically determine range based on the data values.
%
% OUTPUT: 'plotdat' is a structure containing what was last plotted.
@@ -71,37 +73,33 @@
%
% DART $Id$
-default_markersize = 8;
+default_obsname = 'none';
+default_range = [NaN NaN];
default_level = -1;
-default_obsname = 'none';
default_verbosity = 'yes';
-default_range = [NaN NaN];
+default_markersize = 8;
+default_pause = 'no';
p = inputParser;
addRequired(p,'fname', at ischar);
addRequired(p,'copy', at ischar);
if (exist('inputParser/addParameter','file') == 2)
- addParameter(p,'obsname',default_obsname, at ischar);
- addParameter(p,'range',default_range, at isnumeric);
- addParameter(p,'level',default_level, at isnumeric);
- addParameter(p,'verbose',default_verbosity, at ischar);
- addParameter(p,'MarkerSize',default_markersize, at isnumeric);
+ addParameter(p,'obsname', default_obsname, @ischar);
+ addParameter(p,'range', default_range, @isnumeric);
+ addParameter(p,'level', default_level, @isnumeric);
+ addParameter(p,'verbose', default_verbosity, @ischar);
+ addParameter(p,'MarkerSize', default_markersize, @isnumeric);
+ addParameter(p,'pause', default_pause, @ischar);
else
- addParamValue(p,'obsname',default_obsname, at ischar);
- addParamValue(p,'range',default_range, at isnumeric);
- addParamValue(p,'level',default_level, at isnumeric);
- addParamValue(p,'verbose',default_verbosity, at ischar);
- addParamValue(p,'MarkerSize',default_markersize, at isnumeric);
+ addParamValue(p,'obsname', default_obsname, @ischar);
+ addParamValue(p,'range', default_range, @isnumeric);
+ addParamValue(p,'level', default_level, @isnumeric);
+ addParamValue(p,'verbose', default_verbosity, @ischar);
+ addParamValue(p,'MarkerSize',default_markersize, @isnumeric);
+ addParamValue(p,'pause', default_pause, @ischar);
end
p.parse(fname, copy, varargin{:});
-% if you want to echo the input
-% fprintf('fname : %s\n', p.Results.fname)
-% fprintf('copy : %s\n', p.Results.copy)
-% fprintf('obsname : %s\n', p.Results.obsname)
-% fprintf('level : %d\n', p.Results.level)
-% fprintf('range : %f %f \n', p.Results.range)
-
if ~isempty(fieldnames(p.Unmatched))
disp('Extra inputs:')
disp(p.Unmatched)
@@ -109,9 +107,9 @@
global verbose
if (strncmpi(p.Results.verbose,'y',1))
- verbose = 1;
+ verbose = true;
else
- verbose = 0;
+ verbose = false;
end
if (numel(p.Results.range) ~= 2)
@@ -125,6 +123,12 @@
nvars = 1;
More information about the Dart-dev
mailing list