[Dart-dev] [3791] DART/trunk/diagnostics/matlab: This has better range-finding capability for small ( < 1.0 ) quantities.

nancy at ucar.edu nancy at ucar.edu
Tue Mar 17 14:00:55 MDT 2009


An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/dart-dev/attachments/20090317/012cce01/attachment.html 
-------------- next part --------------
Modified: DART/trunk/diagnostics/matlab/plot_evolution.m
===================================================================
--- DART/trunk/diagnostics/matlab/plot_evolution.m	2009-03-17 17:26:16 UTC (rev 3790)
+++ DART/trunk/diagnostics/matlab/plot_evolution.m	2009-03-17 20:00:54 UTC (rev 3791)
@@ -173,6 +173,10 @@
       % create a postscript file
       print(gcf,'-dpsc','-append',psfname);
 
+      % block to go slow and look at each one ...
+      % disp('Pausing, hit any key to continue ...')
+      % pause
+
    end
 end
 
@@ -360,17 +364,30 @@
 
 
 function x = FindRange(y)
+% Trying to pick 'nice' limits for plotting.
+% Completely ad hoc ... and not well posed.
+%
 % In this scope, y is bounded from below by 0.0
+%
+% If the numbers are very small ... 
 
-glommed = [y.ges_copy(:);  ...
-           y.anl_copy(:) ];
-ymin = floor(min(glommed));
-ymax =  ceil(max(glommed));
-Yrange = [ymin ymax];
+bob  = [y.ges_copy(:) ; y.anl_copy(:)];
+inds = find(isfinite(bob));
 
-if ( isfinite(Yrange) )
+if ( isempty(inds) )
+   x = [0 1];
+else
+   glommed = bob(inds);
+   ymin    = min(glommed);
+   ymax    = max(glommed);
+
+   if ( ymax > 1.0 ) 
+      ymin = floor(min(glommed));
+      ymax =  ceil(max(glommed));
+   end
+
+   Yrange = [ymin ymax];
+
    x = [min([Yrange(1) 0.0]) Yrange(2)];
-else
-   x = [0 1];
 end
 

Modified: DART/trunk/diagnostics/matlab/plot_rmse_xxx_evolution.m
===================================================================
--- DART/trunk/diagnostics/matlab/plot_rmse_xxx_evolution.m	2009-03-17 17:26:16 UTC (rev 3790)
+++ DART/trunk/diagnostics/matlab/plot_rmse_xxx_evolution.m	2009-03-17 20:00:54 UTC (rev 3791)
@@ -178,6 +178,10 @@
       % create a postscript file
       print(gcf,'-dpsc','-append',psfname);
 
+      % block to go slow and look at each one ...
+      % disp('Pausing, hit any key to continue ...')
+      % pause
+
    end
 end
 
@@ -378,17 +382,30 @@
 
 
 function x = FindRange(y)
+% Trying to pick 'nice' limits for plotting.
+% Completely ad hoc ... and not well posed.
+%
 % In this scope, y is bounded from below by 0.0
+%
+% If the numbers are very small ... 
 
-glommed = [y.ges_copy(:); y.ges_rmse(:); ...
-           y.anl_copy(:); y.anl_rmse(:)];
-ymin = floor(min(glommed));
-ymax =  ceil(max(glommed));
-Yrange = [ymin ymax];
+bob  = [y.ges_copy(:) ; y.anl_copy(:)];
+inds = find(isfinite(bob));
 
-if ( isfinite(Yrange) )
+if ( isempty(inds) )
+   x = [0 1];
+else
+   glommed = bob(inds);
+   ymin    = min(glommed);
+   ymax    = max(glommed);
+
+   if ( ymax > 1.0 ) 
+      ymin = floor(min(glommed));
+      ymax =  ceil(max(glommed));
+   end
+
+   Yrange = [ymin ymax];
+
    x = [min([Yrange(1) 0.0]) Yrange(2)];
-else
-   x = [0 1];
 end
 


More information about the Dart-dev mailing list