[Met_help] need help running PointStat with netcdf obs from ascii input (UNCLASSIFIED)

John Halley Gotway johnhg at rap.ucar.edu
Thu Mar 26 08:36:34 MDT 2009


Barb,

This is really a bug in the ascii2nc tool in METv1.1 that is fixed for METv2.0.

To get Point-Stat to run, please do the following.  In the Point-Stat config file, look for the line for "vx_grib_code".  Anywhere you have "UGRD" followed by "VGRD" in that line, reverse their order.
 For example...
Change from something like this:  vx_grib_code[] = [ "UGRD/Z10", "VGRD/Z10" ];
To something like this:           vx_grib_code[] = [ "VGRD/Z10", "UGRD/Z10" ];

And then try rerunning Point-Stat.  You shouldn't see that error anymore.

I know this sounds awfully silly, but here's what going on:
- When Point-Stat encounters the U-component of wind followed by the V-component of wind, both for the same vertical level, it assumes that user wants to treat those as vector winds for which it
should compute vector partial sums (VL1L2).
- When it's computing VL1L2 lines, it reads through the point observations in the NetCDF file looking for U/V pairs to use.  It expects that the U/V pairs in the NetCDF file share the same header id -
meaning the U-value and the V-value come from the same observing location.  And it expects to always find a U observation followed by a V observation with the same header id.
- The bug in ASCII2NC for METv1.1 is that it assigns a new header id to each observation you list.  So even through your U and V values have the same header info, ASCII2NC doesn't give them the same
header id.
- When Point-Stat sees that you want to verify vector winds, it enforces the rule that each point observation for U must be followed by a point observation for V with the SAME header id in the NetCDF
file.  And that's the error you're seeing.

By reordering UGRD and VGRD in the config file, we're telling Point-Stat NOT to compute the VL1L2 line, and therefore, do NOT enforce that U be followed by V with the same header id in the NetCDF
file.  So you won't get any VL1L2 lines in your output, but Point-Stat should run to completion.

In METv2.0, ASCII2NC is a little bit smarter and will assign the same header id to U and V, and Point-Stat is then able to compute VL1L2 lines.

This is another reason why handling winds is tricky!  We have to combine two input fields (U and V) to do anything with it - and that led us to defining the convention that U followed by V at the same
level means vector winds.

Hope that gets it running.

John


Sauter, Barbara (Civ, ARL/CISD) wrote:
> Classification:  UNCLASSIFIED 
> Caveats: NONE
>  
>  <<sample_0322_06.nc>>  <<sample_nomsg.prn>>  <<sample_0322_06.prn>>  
> <<sample_nomsg.nc>> 
> 
> 
> Hello,
>      I ran ascii2nc on sample_0322_06.prn and it created
> sample_0322_06.nc, which appears fine.  Then when I tried to run
> PointStat using this .nc file, I got an error message 
> 
> ERROR: process_obs_file() -> when computing vector winds, each UGRD
> observation must be followed by a VGRD observation with the same header
> and at the same level
> 
> I thought the -999 for level values in my original file might be causing
> the problem, so I deleted those rows.  Again, ascii2nc on
> sample_nomsg.prn successfully created sample_nomsg.nc, but I got the
> exact same error message when attempting to run PointStat. 
> 
> 1.  I presume my ascii file may have more than one space between data
> columns, is that correct?
> 2.  Is it ok to use -999 for missing data?
> 3.  Any idea what my problem is with running PointStat using the
> attached observation files?
> 
> Thank you,
> Barb
> 
> Barb Sauter
> US Army Research Laboratory
> White Sands Missile Range, NM
> (575) 678-2840
> bsauter at arl.army.mil
> 
>  
> Classification:  UNCLASSIFIED 
> Caveats: NONE
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Met_help mailing list
> Met_help at mailman.ucar.edu
> http://mailman.ucar.edu/mailman/listinfo/met_help


More information about the Met_help mailing list