[Dart-dev] [3823] DART/trunk/models/wrf/matlab/plot_wind_vectors.m: Added support for obs_seq.out file output and anything with _10_METER_WIND

nancy at ucar.edu nancy at ucar.edu
Fri Apr 17 12:51:40 MDT 2009


An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/dart-dev/attachments/20090417/fb473991/attachment.html 
-------------- next part --------------
Modified: DART/trunk/models/wrf/matlab/plot_wind_vectors.m
===================================================================
--- DART/trunk/models/wrf/matlab/plot_wind_vectors.m	2009-04-16 20:23:22 UTC (rev 3822)
+++ DART/trunk/models/wrf/matlab/plot_wind_vectors.m	2009-04-17 18:51:39 UTC (rev 3823)
@@ -17,7 +17,7 @@
 %                 used.
 %
 % fname    = 'wind_vectors.006.dat';
-% ncname   = 'obs_diag_output.nc';
+% ncname   = 'obs_to_table_output.nc';
 % platform = 'RADIOSONDE';
 % levels   = [1020 500];
 % region   = [0 360 0 90];    % 
@@ -61,7 +61,7 @@
 
 f = netcdf(ncname,'nowrite');
 data.platforms = f{'ObservationTypes'}(:);
-data.timeunits = f{'time'}.units(:);
+data.timeunits = f{'time_bounds'}.units(:);
 close(f);
 
 timebase   = sscanf(data.timeunits,'%*s%*s%d%*c%d%*c%d'); % YYYY MM DD
@@ -219,6 +219,11 @@
    uindex = findstr(Ustrings(i,:),'_U_WIND_COMPONENT') - 1;
    vindex = findstr(Vstrings(i,:),'_V_WIND_COMPONENT') - 1;
 
+   if (isempty(uindex) | isempty(vindex)) 
+      uindex = findstr(Ustrings(i,:),'_U_10_METER_WIND') - 1;
+      vindex = findstr(Vstrings(i,:),'_V_10_METER_WIND') - 1;
+   end 
+
    Ubase  = Ustrings(i,1:uindex);
    Vbase  = Vstrings(i,1:vindex);
 
@@ -260,15 +265,16 @@
 lon      = obsmat(inds, 4);
 lat      = obsmat(inds, 5);
 level    = obsmat(inds, 6);
-levind   = obsmat(inds, 7);
-Uqc      = obsmat(inds, 8);
-Vqc      = obsmat(inds, 9);
-U        = obsmat(inds,10);
-V        = obsmat(inds,11);
-Upr      = obsmat(inds,12);
-Vpr      = obsmat(inds,13);
-Upo      = obsmat(inds,14);
-Vpo      = obsmat(inds,15);
+Uqc      = obsmat(inds, 7);
+Vqc      = obsmat(inds, 8);
+U        = obsmat(inds, 9);
+V        = obsmat(inds,10);
+if ( size(obsmat,2) > 10 )
+   Upr   = obsmat(inds,11);
+   Vpr   = obsmat(inds,12);
+   Upo   = obsmat(inds,13);
+   Vpo   = obsmat(inds,14);
+end
 times    = day + seconds/86400;
 
 %--------------------------------------------------
@@ -300,15 +306,16 @@
    lon      =      lon(inds);
    lat      =      lat(inds);
    level    =    level(inds);
-   levind   =   levind(inds);
    Uqc      =      Uqc(inds);
    Vqc      =      Vqc(inds);
    U        =        U(inds);
    V        =        V(inds);
-   Upr      =      Upr(inds);
-   Vpr      =      Vpr(inds);
-   Upo      =      Upo(inds);
-   Vpo      =      Vpo(inds);
+   if ( size(obsmat,2) > 10 )
+      Upr   =      Upr(inds);
+      Vpr   =      Vpr(inds);
+      Upo   =      Upo(inds);
+      Vpo   =      Vpo(inds);
+   end
    times    =    times(inds);
 end
 
@@ -342,7 +349,6 @@
    lon      =      lon(inds);
    lat      =      lat(inds);
    level    =    level(inds);
-   levind   =   levind(inds);
    Uqc      =      Uqc(inds);
    Vqc      =      Vqc(inds);
    U        =        U(inds);
@@ -360,10 +366,12 @@
 
 U(   U   < -900) = NaN;
 V(   V   < -900) = NaN;
-Upr( Upr < -900) = NaN;
-Vpr( Vpr < -900) = NaN;
-Upo( Upo < -900) = NaN;
-Vpo( Vpo < -900) = NaN;
+if ( size(obsmat,2) > 10 )
+   Upr( Upr < -900) = NaN;
+   Vpr( Vpr < -900) = NaN;
+   Upo( Upo < -900) = NaN;
+   Vpo( Vpo < -900) = NaN;
+end
 
 %--------------------------------------------------
 % Create the output structure.
@@ -375,15 +383,16 @@
 obs.lon         = lon;
 obs.lat         = lat;
 obs.level       = level;
-obs.levind      = levind;
 obs.Uqc         = Uqc;
 obs.Vqc         = Vqc;
 obs.U           = U;
 obs.V           = V;
-obs.Upr         = Upr;
-obs.Vpr         = Vpr;
-obs.Upo         = Upo;
-obs.Vpo         = Vpo;
+if ( size(obsmat,2) > 10 )
+   obs.Upr      = Upr;
+   obs.Vpr      = Vpr;
+   obs.Upo      = Upo;
+   obs.Vpo      = Vpo;
+end
 obs.times       = times;
 obs.levels      = data.levels;
 obs.region      = data.region;


More information about the Dart-dev mailing list