[Met_help] grid_stat netcdf files

John Halley Gotway johnhg at rap.ucar.edu
Wed Jul 30 14:15:50 MDT 2008


Luke,

For a short-term "hack", you can use the following copygb command to extract only the surface type variables from your files:
copygb -k'5*-1 105' -x WRF_TO_GFS_f72.grb 10m_winds.grb

That pulls out all the GRIB records with the level indicator equal to a value of 105.  A value of 105 means "specified height level above ground in meters" (taken from 
http://www.nco.ncep.noaa.gov/pmb/docs/on388/table3.html).

If you extract these records to a separate file and then run them though MODE looking for Z10, it'll grab the field you want.

Alternatively, you could turn off the output of 10mb winds from WPP.

For a better, long-term fix, I'll need to make some adjustments to what information is getting passed between routines.  It shouldn't be difficult to add in these checks, but the changes will touch 
several files.  I'm headed out of town on Monday for 10 days, and probably won't have anything ready until later in August.

John

John Halley Gotway wrote:
> Luke,
> 
> Good news.  I've figured out what's going on.  When you request the 
> U-Component of 10-meter winds in the config file as "Z10", MET is 
> currently ignoring the "Z" part of it and just using the "10" part of 
> it.  So it looks through the input GRIB file for a record whose vertical 
> level is specified as 10 and uses the first one it encounters.
> 
> Unfortunately, the first one it encounters in your case is actually at 
> 10mb - pretty different from 10 meters!  So I'll need to start using the 
> "Z" part of the declaration and check some additional fields to make 
> sure I'm grabbing the correct GRIB record.
> 
> Thanks for catching this!
> 
> I'll let you know when I have a fix ready for you to try out.
> 
> John
> 
> Luke Peffers wrote:
>> Ok, I plotted other pressure levels' wind and it looks fine.  The P200 u-
>> and v-wind that is plot out looking just like what's in the fnl_** file.
>> So, my IDL routines are working fine.  So, if you focus on what is 
>> going on
>> with the Z10 winds, I think you'll see what I'm talking about. They just
>> don't look like a reasonable wind field for any level, especially 10-m
>> winds!
>>
>> Thanks for the help
>>
>> Luke
>>
>> On Tue, Jul 29, 2008 at 6:53 PM, John Halley Gotway 
>> <johnhg at rap.ucar.edu>wrote:
>>
>>> Luke,
>>>
>>> I added some print statements to the Grid-Stat tool, and I'm just not
>>> seeing the discrepancy you're seeing.  For example, in the output 
>>> below I've
>>> listed the values for the grid point (42, 113).  The RAW line says 
>>> the value
>>> when it's first read into Grid-Stat.  The IN line says the smoothed 
>>> value.
>>>  And the OUT line says the value that written out to the NetCDF pairs 
>>> file.
>>>
>>> As you can see, every time that grid point is read for the various
>>> variables and levels in your config file, the value stays the same from
>>> input through smoothing and to the output.
>>>
>>> It occurred to me that perhaps it has something to do with how the winds
>>> are defined.  In MET, if the winds are defined as grid-relative, then
>>> they're rotated to be earth-relative.  MET only does this if the GRIB
>>> resolution flag indicates that the winds are grid-relative.  But in 
>>> the file
>>> you sent me, they are not grid-relative, they're already earth-relative.
>>>
>>> Is there anything else you think I should check?
>>>
>>> John
>>>
>>> JHG:RAW (42, 113) = -5.30005
>>> JHG:IN (42, 113) = -5.30005
>>> JHG:OUT (42, 113) = -5.30005
>>> JHG:RAW (42, 113) = 0.749837
>>> JHG:IN (42, 113) = 0.749837
>>> JHG:OUT (42, 113) = 0.749837
>>> JHG:RAW (42, 113) = 11.1997
>>> JHG:IN (42, 113) = 11.1997
>>> JHG:OUT (42, 113) = 11.1997
>>> JHG:RAW (42, 113) = 2.5698
>>> JHG:IN (42, 113) = 2.5698
>>> JHG:OUT (42, 113) = 2.5698
>>> JHG:RAW (42, 113) = 6.29992
>>> JHG:IN (42, 113) = 6.29992
>>> JHG:OUT (42, 113) = 6.29992
>>> JHG:RAW (42, 113) = 2.35006
>>> JHG:IN (42, 113) = 2.35006
>>> JHG:OUT (42, 113) = 2.35006
>>> JHG:RAW (42, 113) = 3.79984
>>> JHG:IN (42, 113) = 3.79984
>>> JHG:OUT (42, 113) = 3.79984
>>> JHG:RAW (42, 113) = 2.8798
>>> JHG:IN (42, 113) = 2.8798
>>> JHG:OUT (42, 113) = 2.8798
>>> JHG:RAW (42, 113) = 12.5103
>>> JHG:IN (42, 113) = 12.5103
>>> JHG:OUT (42, 113) = 12.5103
>>> JHG:RAW (42, 113) = 2.88001
>>> JHG:IN (42, 113) = 2.88001
>>> JHG:OUT (42, 113) = 2.88001
>>> JHG:RAW (42, 113) = 24.03
>>> JHG:IN (42, 113) = 24.03
>>> JHG:OUT (42, 113) = 24.03
>>> JHG:RAW (42, 113) = -0.29015
>>> JHG:IN (42, 113) = -0.29015
>>> JHG:OUT (42, 113) = -0.29015
>>> JHG:RAW (42, 113) = 47.9902
>>> JHG:IN (42, 113) = 47.9902
>>> JHG:OUT (42, 113) = 47.9902
>>> JHG:RAW (42, 113) = -4.75991
>>> JHG:IN (42, 113) = -4.75991
>>> JHG:OUT (42, 113) = -4.75991
>>>
>>>
>>>
>>> Luke Peffers wrote:
>>>
>>>> Sorry, I'm running METv1.0 for now...haven't updated yet.
>>>>
>>>> Luke
>>>>
>>>> On Tue, Jul 29, 2008 at 3:20 PM, John Halley Gotway 
>>>> <johnhg at rap.ucar.edu
>>>>> wrote:
>>>>  Luke,
>>>>> I should have asked you this earlier, but are you running METv1.0 or
>>>>> METv1.1?
>>>>>
>>>>> I assumed version 1.1, but the configuration file you sent is for
>>>>> METv1.0.
>>>>>
>>>>> Thanks,
>>>>> John
>>>>>
>>>>>
>>>>> Luke Peffers wrote:
>>>>>
>>>>>  Sure, I've sent the additional files.
>>>>>> The arrays as seen below are labeled as lat, lon but the array 
>>>>>> sizes of
>>>>>> the
>>>>>> variables, for the global grid are of dimension Array[360,181], 
>>>>>> which is
>>>>>> lon
>>>>>> lat.
>>>>>>
>>>>>> Thanks for the help.
>>>>>>
>>>>>> Luke
>>>>>>
>>>>>> On Tue, Jul 29, 2008 at 12:56 AM, John Halley Gotway <
>>>>>> johnhg at rap.ucar.edu
>>>>>>
>>>>>>> wrote:
>>>>>>>
>>>>>>  Luke,
>>>>>>
>>>>>>> Could you also please send along the config file you were using
>>>>>>> (AFTAC_config_GS) and whatever you used to define the AFTAC masking
>>>>>>> region?  I assume that AFTAC is a polyline.
>>>>>>>
>>>>>>> I'm confused as to your question on the order of the arrays in the
>>>>>>> NetCDF
>>>>>>> file.  When I do an ncdump of the NetCDF file you provided and 
>>>>>>> grep out
>>>>>>> the variable definitions, I see what's listed below.  The arrays 
>>>>>>> appear
>>>>>>> to
>>>>>>> be ordered as lat, lon as described in the user's guide.  
>>>>>>> However, in
>>>>>>> METv1.0 I do believe they were ordered as lon, lat.
>>>>>>>
>>>>>>> I'll try running Grid-Stat on the files and dump out the valid data
>>>>>>> values
>>>>>>> on the input and output files to try to replicate what you're 
>>>>>>> seeing.
>>>>>>>
>>>>>>> John
>>>>>>>
>>>>>>>      float lat(lat, lon) ;
>>>>>>>      float lon(lat, lon) ;
>>>>>>>      float FCST_UGRD_Z10_AFTAC(lat, lon) ;
>>>>>>>      float DIFF_UGRD_Z10_AFTAC(lat, lon) ;
>>>>>>>      float OBS_UGRD_Z10_AFTAC(lat, lon) ;
>>>>>>>      float FCST_VGRD_Z10_AFTAC(lat, lon) ;
>>>>>>>      float DIFF_VGRD_Z10_AFTAC(lat, lon) ;
>>>>>>>      float OBS_VGRD_Z10_AFTAC(lat, lon) ;
>>>>>>>      float FCST_UGRD_P500_AFTAC(lat, lon) ;
>>>>>>>      float DIFF_UGRD_P500_AFTAC(lat, lon) ;
>>>>>>>      float OBS_UGRD_P500_AFTAC(lat, lon) ;
>>>>>>>      float FCST_VGRD_P500_AFTAC(lat, lon) ;
>>>>>>>      float DIFF_VGRD_P500_AFTAC(lat, lon) ;
>>>>>>>      float OBS_VGRD_P500_AFTAC(lat, lon) ;
>>>>>>>      float FCST_UGRD_P600_AFTAC(lat, lon) ;
>>>>>>>      float DIFF_UGRD_P600_AFTAC(lat, lon) ;
>>>>>>>      float OBS_UGRD_P600_AFTAC(lat, lon) ;
>>>>>>>      float FCST_VGRD_P600_AFTAC(lat, lon) ;
>>>>>>>      float DIFF_VGRD_P600_AFTAC(lat, lon) ;
>>>>>>>      float OBS_VGRD_P600_AFTAC(lat, lon) ;
>>>>>>>      float FCST_UGRD_P700_AFTAC(lat, lon) ;
>>>>>>>      float DIFF_UGRD_P700_AFTAC(lat, lon) ;
>>>>>>>      float OBS_UGRD_P700_AFTAC(lat, lon) ;
>>>>>>>      float FCST_VGRD_P700_AFTAC(lat, lon) ;
>>>>>>>      float DIFF_VGRD_P700_AFTAC(lat, lon) ;
>>>>>>>      float OBS_VGRD_P700_AFTAC(lat, lon) ;
>>>>>>>      float FCST_UGRD_P400_AFTAC(lat, lon) ;
>>>>>>>      float DIFF_UGRD_P400_AFTAC(lat, lon) ;
>>>>>>>      float OBS_UGRD_P400_AFTAC(lat, lon) ;
>>>>>>>      float FCST_VGRD_P400_AFTAC(lat, lon) ;
>>>>>>>      float DIFF_VGRD_P400_AFTAC(lat, lon) ;
>>>>>>>      float OBS_VGRD_P400_AFTAC(lat, lon) ;
>>>>>>>      float FCST_UGRD_P300_AFTAC(lat, lon) ;
>>>>>>>      float DIFF_UGRD_P300_AFTAC(lat, lon) ;
>>>>>>>      float OBS_UGRD_P300_AFTAC(lat, lon) ;
>>>>>>>      float FCST_VGRD_P300_AFTAC(lat, lon) ;
>>>>>>>      float DIFF_VGRD_P300_AFTAC(lat, lon) ;
>>>>>>>      float OBS_VGRD_P300_AFTAC(lat, lon) ;
>>>>>>>      float FCST_UGRD_P200_AFTAC(lat, lon) ;
>>>>>>>      float DIFF_UGRD_P200_AFTAC(lat, lon) ;
>>>>>>>      float OBS_UGRD_P200_AFTAC(lat, lon) ;
>>>>>>>      float FCST_VGRD_P200_AFTAC(lat, lon) ;
>>>>>>>      float DIFF_VGRD_P200_AFTAC(lat, lon) ;
>>>>>>>      float OBS_VGRD_P200_AFTAC(lat, lon) ;
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>  Hello;
>>>>>>>
>>>>>>>> I am trying to plot the netcdf data, which is generated by 
>>>>>>>> grid_stat.
>>>>>>>> However, the values in the .nc files don't seem to be correct.  
>>>>>>>> I am
>>>>>>>> comparing 10-m winds from WRF and GFS.  The data in the .nc 
>>>>>>>> files do
>>>>>>>> not
>>>>>>>> appear to be the same as the data in my original files (nowhere
>>>>>>>> close).
>>>>>>>>
>>>>>>>>   I
>>>>>>>  have set the smoothing to 1*1 grid box and the values still 
>>>>>>> appear to
>>>>>>>> be
>>>>>>>> way
>>>>>>>> off.  I will upload my files via ftp if you'd like to take a look.
>>>>>>>>
>>>>>>>> Also, it seems that the arrays in the .nc files are stacked as
>>>>>>>> lon,lat...the
>>>>>>>> MET manual has them as lat,lon.
>>>>>>>>
>>>>>>>> Thank you!
>>>>>>>>
>>>>>>>> Luke
>>>>>>>> _______________________________________________
>>>>>>>> Met_help mailing list
>>>>>>>> Met_help at mailman.ucar.edu
>>>>>>>> http://mailman.ucar.edu/mailman/listinfo/met_help
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>
> _______________________________________________
> 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