[Dart-dev] DART/branches Revision: 12979

dart at ucar.edu dart at ucar.edu
Mon Feb 11 15:12:08 MST 2019


thoar at ucar.edu
2019-02-11 15:12:08 -0700 (Mon, 11 Feb 2019)
251
plot_bias_xxx_profile now supports obs_diag output that has no posterior information.
Also annotates whether the observation was assimilated or evaluated.

plot_rmse_xxx_profile uses colors that render better, same as those in
plot_bias_xxx_profile.




Modified: DART/branches/recam/diagnostics/matlab/plot_bias_xxx_profile.m
===================================================================
--- DART/branches/recam/diagnostics/matlab/plot_bias_xxx_profile.m	2019-02-11 22:10:31 UTC (rev 12978)
+++ DART/branches/recam/diagnostics/matlab/plot_bias_xxx_profile.m	2019-02-11 22:12:08 UTC (rev 12979)
@@ -139,11 +139,23 @@
 plotdat.biasindex     = get_copy_index(fname,'bias');
 plotdat.Npossindex    = get_copy_index(fname,'Nposs');
 plotdat.Nusedindex    = get_copy_index(fname,'Nused');
+plotdat.NQC0index     = get_copy_index(fname,'N_DARTqc_0');
+plotdat.NQC1index     = get_copy_index(fname,'N_DARTqc_1');
+plotdat.NQC2index     = get_copy_index(fname,'N_DARTqc_2');
+plotdat.NQC3index     = get_copy_index(fname,'N_DARTqc_3');
+plotdat.NQC4index     = get_copy_index(fname,'N_DARTqc_4');
 plotdat.NQC5index     = get_copy_index(fname,'N_DARTqc_5');
 plotdat.NQC6index     = get_copy_index(fname,'N_DARTqc_6');
+plotdat.NQC7index     = get_copy_index(fname,'N_DARTqc_7');
 
 figuredata = setfigure();
 
+global prior_green poste_blue obs_red
+
+prior_green = [  0/255 128/255   0/255];
+poste_blue  = [  0/255   0/255 255/255];
+obs_red     = [215/255  10/255  83/255];
+
 %%---------------------------------------------------------------------
 % Loop around (copy-level-region) observation types
 %----------------------------------------------------------------------
@@ -160,24 +172,24 @@
 end
 
 for ivar = varlist
-    
+
     % create the variable names of interest.
-    
+
     plotdat.myvarname = plotdat.varnames{ivar};
     plotdat.guessvar  = sprintf('%s_VPguess',plotdat.varnames{ivar});
     plotdat.analyvar  = sprintf('%s_VPanaly',plotdat.varnames{ivar});
-    
+
     plotdat.trusted   = nc_read_att(fname, plotdat.guessvar, 'TRUSTED');
     if (isempty(plotdat.trusted)), plotdat.trusted = 'NO'; end
-    
+
     % get appropriate vertical coordinate variable
-    
+
     [dimnames,~] = nc_var_dims(fname, plotdat.guessvar);
-    
+
     % this is a superfluous check ... FindVerticalVars already weeds out
     % variables only present on surface or undef because obs_diag
     % does not time-average statistics for these.
-    
+
     if (~ isempty(strfind(dimnames{2},'surface')))
         fprintf('%s is a surface field.\n',plotdat.guessvar)
         fprintf('Cannot display a surface field this way.\n')
@@ -187,7 +199,7 @@
         fprintf('Cannot display this field this way.\n')
         continue
     end
-    
+
     [level_org, level_units, nlevels, level_edges, Yrange] = FindVerticalInfo(fname, plotdat.guessvar);
     plotdat.level_org   = level_org;
     plotdat.level_units = level_units;
@@ -194,42 +206,49 @@
     plotdat.nlevels     = nlevels;
     plotdat.level_edges = level_edges;
     plotdat.Yrange      = Yrange;
-    
+
     % Matlab likes strictly ASCENDING order for things to be plotted,
     % then you can impose the direction. The data is stored in the original
     % order, so the sort indices are saved to reorder the data.
-    
+
     if (plotdat.level_org(1) > plotdat.level_org(plotdat.nlevels))
         plotdat.YDir = 'reverse';
     else
         plotdat.YDir = 'normal';
     end
-    
+
     % Add error-checking for output from older versions of obs_diag.
-    
+
     [levels, indices]   = sort(plotdat.level_org);
     plotdat.level       = unique(levels);
     if (length(plotdat.level) ~= length(levels))
         error('There is a duplicated value in the array specifying the levels - must change your input.nml and rerun obs_diag')
     end
-    
+
     plotdat.indices     = indices;
     level_edges         = sort(plotdat.level_edges);
     plotdat.level_edges = level_edges;
-    


More information about the Dart-dev mailing list