[Met_help] [rt.rap.ucar.edu #40020] History for To interpolate or not to interpolate?

RAL HelpDesk {for John Halley Gotway} met_help at ucar.edu
Wed Feb 23 14:52:45 MST 2011


----------------------------------------------------------------
  Initial Request
----------------------------------------------------------------


Hello,

In the version 2 manual it states: "In the vertical, if forecasts and observations are at the same vertical level, then they are
paired as is. If any discrepancy exists between the vertical levels, then the forecasts are
interpolated to the level of the observation."

I have a series of data files with U,V observations at 100's of stations. I keep a separate files for each height or 10, 30, 50, and 60m readings. In my model the vertical levels are at 10, 30, and 60 give or take a few meters and this corresponds to model levels 1,2, and 3. So in my poinstat_config file I specify for the 10m comparison:

fcst_field[] = [ "UGRD/L1", "VGRD/L1" ];
obs_field[]  = [ ];

and at 30m:
fcst_field[] = [ "UGRD/L2", "VGRD/L2" ];
obs_field[]  = [ ];

and at 50,60m:
fcst_field[] = [ "UGRD/L3", "VGRD/L3" ];
obs_field[]  = [ ];

Comparing the 50,60 outputs they have identical model values when they are at the same station. So Does this mean there is no interpolation performed? Or conversely what is the point of the L1,L2 settings? Am I missing a different setting?

Thanks for your time.

Take care,
Joe

Dr. Joseph L. Eastman
Senior Atmospheric Scientist
WindLogics Inc.
201 4th St NW
Grand Rapids, MN
55744

c - 410.279.9702
w - 651.556.4297
jeastman at windlogics.com<mailto:jeastman at windlogics.com>



________________________________
CONFIDENTIALITY NOTICE: This e-mail message is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution of any kind is strictly prohibited. If you are not the intended recipient, please contact the sender via reply e-mail and destroy all copies of the original message. Thank you.


----------------------------------------------------------------
  Complete Ticket History
----------------------------------------------------------------

Subject: Re: [rt.rap.ucar.edu #40020] To interpolate or not to interpolate?
From: John Halley Gotway
Time: Thu Aug 12 15:31:21 2010

Joe,

Fortunately, we finished up the MET tutorial last week and have picked
up development for the next release of MET.

I took a look at page 4-1 in the MET User's Guide, which you've
referenced.  In there, I realize that we are not explicit enough in
our description of how Point-Stat handles interpolation in the
vertical.  Point-Stat was set up primarily to handle forecasts on
pressure levels.  The sentence in there about interpolating linearly
in the log of pressure applies when verifying forecasts on
pressure levels.  And point-Stat also can be used to verify forecasts
at the surface, for which no vertical interpolation is performed.

However, you're interested in verifying forecasts that are not on
pressure levels.  And I'm hopeful that we can modify the logic in
Point-Stat to support this type of matching in the vertical.

I ran wgrib on some sample model data you sent me on June 4th.  Here's
what I see for UGRD records:
8:325972:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=1:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 1:760min fcst:NAve=0
18:764280:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=2:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 2:760min fcst:NAve=0
27:1159118:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=3:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 3:760min fcst:NAve=0
36:1553956:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=4:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 4:760min fcst:NAve=0
45:1923492:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=5:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 5:760min fcst:NAve=0
...

This model output is defined on "hybrid levels", named level 1, 2,
3,..., and so on.  I assume this is the data you're referencing in the
config file settings you sent.  Unfortunately, I'm a bit
confused as to how this data should be handled.  For each observation
value, one thing you can specify is the height - as meters above
ground.  How could Point-Stat know how to compare an observation
at a certain height above ground to hybrid vertical levels simply
named 1, 2, and 3?

I was expecting to see your model output defined using AGL: 10 meters,
20 meters, 30 meters above ground level.  If that was the case, it'd
be pretty evident how vertical interpolation should be done
between model levels to the height of the observation.  We'd just pick
the model levels above/below the observations and linearly interpolate
to the height of the observation.

Are you able in any way to generate model output at specific vertical
levels above ground?  If not, I'm not sure how the vertical
interpolation should be handled for data on hybrid levels?  Any ideas?

Thanks,
John

RAL HelpDesk {for Joe Eastman} wrote:
> Wed Aug 11 14:06:21 2010: Request 40020 was acted upon.
> Transaction: Ticket created by Joe.Eastman at windlogics.com
>        Queue: met_help
>      Subject: To interpolate or not to interpolate?
>        Owner: Nobody
>   Requestors: Joe.Eastman at windlogics.com
>       Status: new
>  Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=40020 >
>
>
>
> Hello,
>
> In the version 2 manual it states: "In the vertical, if forecasts
and observations are at the same vertical level, then they are
> paired as is. If any discrepancy exists between the vertical levels,
then the forecasts are
> interpolated to the level of the observation."
>
> I have a series of data files with U,V observations at 100's of
stations. I keep a separate files for each height or 10, 30, 50, and
60m readings. In my model the vertical levels are at 10, 30, and 60
give or take a few meters and this corresponds to model levels 1,2,
and 3. So in my poinstat_config file I specify for the 10m comparison:
>
> fcst_field[] = [ "UGRD/L1", "VGRD/L1" ];
> obs_field[]  = [ ];
>
> and at 30m:
> fcst_field[] = [ "UGRD/L2", "VGRD/L2" ];
> obs_field[]  = [ ];
>
> and at 50,60m:
> fcst_field[] = [ "UGRD/L3", "VGRD/L3" ];
> obs_field[]  = [ ];
>
> Comparing the 50,60 outputs they have identical model values when
they are at the same station. So Does this mean there is no
interpolation performed? Or conversely what is the point of the L1,L2
settings? Am I missing a different setting?
>
> Thanks for your time.
>
> Take care,
> Joe
>
> Dr. Joseph L. Eastman
> Senior Atmospheric Scientist
> WindLogics Inc.
> 201 4th St NW
> Grand Rapids, MN
> 55744
>
> c - 410.279.9702
> w - 651.556.4297
> jeastman at windlogics.com<mailto:jeastman at windlogics.com>
>
>
>
> ________________________________
> CONFIDENTIALITY NOTICE: This e-mail message is for the sole use of
the intended recipient(s) and may contain confidential and privileged
information. Any unauthorized review, use, disclosure or distribution
of any kind is strictly prohibited. If you are not the intended
recipient, please contact the sender via reply e-mail and destroy all
copies of the original message. Thank you.

------------------------------------------------
Subject: RE: [rt.rap.ucar.edu #40020] To interpolate or not to interpolate?
From: Joe Eastman
Time: Thu Aug 12 16:06:15 2010

Hi John,

Thanks for your thoughtful response. I think the only
possibility would be to use the additional information contained in
the grib file. If point_stat encounters a hybrid levels it could then
look for kpds5=7, which has the height information for that level at
all XY locations. If it does not see this grib code then it would exit
with an appropriate error message. If it does see that grib code then
it can continue with interpolation. The biggest problem would the fact
that the heights are not the same at all XY locations (and in fact
change over time too).  So at each point surrounding the ob, a
vertical interpolation could be performed to that observation height,
then the horizontal interpolation could be performed. I could even see
this mimicking the pressure feature that that does the interpolation
across multiple levels, i.e., "UGRD/P1000-500". This could also be
applied to upper air sondes.
1:0:d=09013112:PRES:kpds5=1:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
2:43240:d=09013112:MCONV:kpds5=135:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
3:62210:d=09013112:HGT:kpds5=7:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
4:105450:d=09013112:TMP:kpds5=11:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
5:140600:d=09013112:RH:kpds5=52:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
6:173054:d=09013112:DPT:kpds5=17:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
7:210900:d=09013112:SPFH:kpds5=51:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
8:232566:d=09013112:UGRD:kpds5=33:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
9:267716:d=09013112:VGRD:kpds5=34:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
10:305562:d=09013112:VVEL:kpds5=39:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
11:348802:d=09013112:TKE:kpds5=158:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0

Again, thanks for all your help.

Take care,
Joe

Dr. Joseph L. Eastman
Senior Atmospheric Scientist
WindLogics Inc.
201 4th St NW
Grand Rapids, MN
55744

c –
410.279.9702
w – 651.556.4297
jeastman at windlogics.com
-----Original Message-----
From: RAL HelpDesk {for John Halley
Gotway} [mailto:met_help at ucar.edu] 
Sent: Thursday, August 12, 2010
4:31 PM
To: Joe Eastman
Cc: tressa at ucar.edu
Subject: Re:
[rt.rap.ucar.edu #40020] To interpolate or not to interpolate?

Joe,
Fortunately, we finished up the MET tutorial last week and have picked
up development for the next release of MET.

I took a look at page
4-1 in the MET User's Guide, which you've referenced.  In there, I
realize that we are not explicit enough in our description of how
Point-Stat handles interpolation in the
vertical.  Point-Stat was set
up primarily to handle forecasts on pressure levels.  The sentence in
there about interpolating linearly in the log of pressure applies when
verifying forecasts on
pressure levels.  And point-Stat also can be
used to verify forecasts at the surface, for which no vertical
interpolation is performed.

However, you're interested in verifying
forecasts that are not on pressure levels.  And I'm hopeful that we
can modify the logic in Point-Stat to support this type of matching in
the vertical.

I ran wgrib on some sample model data you sent me on
June 4th.  Here's what I see for UGRD records:
8:325972:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=1:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 1:760min fcst:NAve=0
18:764280:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=2:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 2:760min fcst:NAve=0
27:1159118:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=3:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 3:760min fcst:NAve=0
36:1553956:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=4:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 4:760min fcst:NAve=0
45:1923492:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=5:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 5:760min fcst:NAve=0
...

This model output is defined on
"hybrid levels", named level 1, 2, 3,..., and so on.  I assume this is
the data you're referencing in the config file settings you sent.
Unfortunately, I'm a bit
confused as to how this data should be
handled.  For each observation value, one thing you can specify is the
height - as meters above ground.  How could Point-Stat know how to
compare an observation
at a certain height above ground to hybrid
vertical levels simply named 1, 2, and 3?

I was expecting to see
your model output defined using AGL: 10 meters, 20 meters, 30 meters
above ground level.  If that was the case, it'd be pretty evident how
vertical interpolation should be done
between model levels to the
height of the observation.  We'd just pick the model levels
above/below the observations and linearly interpolate to the height of
the observation.

Are you able in any way to generate model output
at specific vertical levels above ground?  If not, I'm not sure how
the vertical interpolation should be handled for data on hybrid
levels?  Any ideas?

Thanks,
John

RAL HelpDesk {for Joe Eastman}
wrote:
> Wed Aug 11 14:06:21 2010: Request 40020 was acted upon.
>
Transaction: Ticket created by Joe.Eastman at windlogics.com
>
Queue: met_help
>      Subject: To interpolate or not to interpolate?
>        Owner: Nobody
>   Requestors: Joe.Eastman at windlogics.com
>
Status: new
>  Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=40020 >
> 
> 
>
> Hello,
> 
> In the version 2 manual it states: "In the vertical,
if forecasts and observations are at the same vertical level, then
they are
> paired as is. If any discrepancy exists between the
vertical levels, then the forecasts are
> interpolated to the level
of the observation."
> 
> I have a series of data files with U,V
observations at 100's of stations. I keep a separate files for each
height or 10, 30, 50, and 60m readings. In my model the vertical
levels are at 10, 30, and 60 give or take a few meters and this
corresponds to model levels 1,2, and 3. So in my poinstat_config file
I specify for the 10m comparison:
> 
> fcst_field[] = [ "UGRD/L1",
"VGRD/L1" ];
> obs_field[]  = [ ];
> 
> and at 30m:
> fcst_field[]
= [ "UGRD/L2", "VGRD/L2" ];
> obs_field[]  = [ ];
> 
> and at
50,60m:
> fcst_field[] = [ "UGRD/L3", "VGRD/L3" ];
> obs_field[]  =
[ ];
> 
> Comparing the 50,60 outputs they have identical model
values when they are at the same station. So Does this mean there is
no interpolation performed? Or conversely what is the point of the
L1,L2 settings? Am I missing a different setting?
> 
> Thanks for
your time.
> 
> Take care,
> Joe
> 
> Dr. Joseph L. Eastman
>
Senior Atmospheric Scientist
> WindLogics Inc.
> 201 4th St NW
>
Grand Rapids, MN
> 55744
> 
> c - 410.279.9702
> w - 651.556.4297
> jeastman at windlogics.com<mailto:jeastman at windlogics.com>
> 
> 
>
> ________________________________
> CONFIDENTIALITY NOTICE: This e-
mail message is for the sole use of the intended recipient(s) and may
contain confidential and privileged information. Any unauthorized
review, use, disclosure or distribution of any kind is strictly
prohibited. If you are not the intended recipient, please contact the
sender via reply e-mail and destroy all copies of the original
message. Thank you.

------------------------------------------------
Subject: Re: [rt.rap.ucar.edu #40020] To interpolate or not to interpolate?
From: John Halley Gotway
Time: Thu Aug 12 16:49:22 2010

Joe,

Yes, that's a good idea.  I see how that could be a possibility.  But
I think there could be some issues with it as well.

Here's a first cut at some logic.
For each observation...
(1) Convert the obs lat/lon to (x, y) in the grid.
(2) For each of the hybrid levels requested in the config file, read
the HGT records and find the height corresponding to the obs (x, y).
(3) Pick the hybrid levels with heights above and below the
observation location, and interpolate the values from those fields
horizontally to the obs (x, y) location.
(4) Use the horizontally-interpolated forecast values above and below
the observation and the corresponding height values to vertically
interpolate to the height of the observation.
(5) Store that interpolated-fcst and obs matched pair.

I see three potential problems here:
- The logic for this is a bit complex.
- Step 3, horizontally interpolating the hybrid level data, seems
problematic.  Since the height changes throughout the hybrid level, is
it appropriate to be interpolating using those values?
- This approach would run slower.  For each observation, we'd need to
loop through the levels to figure out which ones to use.  If the
heights of the levels remained constant, it'd be more efficient.

>From my perspective, it'd be preferable to verify at AGL levels.  Is
it possible to post-process your model output onto AGL levels?  I'll
check to see if the WRF-PostProcessor supports that.  I'm
really not sure.  Is that a possibility?

Thanks,
John

RAL HelpDesk {for Joe Eastman} wrote:
> <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=40020 >
>
> Hi John,
>
> Thanks for your thoughtful response. I think the only possibility
would be to use the additional information contained in the grib file.
If point_stat encounters a hybrid levels it could then look for
kpds5=7, which has the height information for that level at all XY
locations. If it does not see this grib code then it would exit with
an appropriate error message. If it does see that grib code then it
can continue with interpolation. The biggest problem would the fact
that the heights are not the same at all XY locations (and in fact
change over time too).  So at each point surrounding the ob, a
vertical interpolation could be performed to that observation height,
then the horizontal interpolation could be performed. I could even see
this mimicking the pressure feature that that does the interpolation
across multiple levels, i.e., "UGRD/P1000-500". This could also be
applied to upper air sondes.
>
>
1:0:d=09013112:PRES:kpds5=1:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>
2:43240:d=09013112:MCONV:kpds5=135:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>
3:62210:d=09013112:HGT:kpds5=7:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>
4:105450:d=09013112:TMP:kpds5=11:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>
5:140600:d=09013112:RH:kpds5=52:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>
6:173054:d=09013112:DPT:kpds5=17:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>
7:210900:d=09013112:SPFH:kpds5=51:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>
8:232566:d=09013112:UGRD:kpds5=33:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>
9:267716:d=09013112:VGRD:kpds5=34:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>
10:305562:d=09013112:VVEL:kpds5=39:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>
11:348802:d=09013112:TKE:kpds5=158:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>
> Again, thanks for all your help.
>
> Take care,
> Joe
>
> Dr. Joseph L. Eastman
> Senior Atmospheric Scientist
> WindLogics Inc.
> 201 4th St NW
> Grand Rapids, MN
> 55744
>
> c – 410.279.9702
> w – 651.556.4297
> jeastman at windlogics.com
>
>
>
> -----Original Message-----
> From: RAL HelpDesk {for John Halley Gotway}
[mailto:met_help at ucar.edu]
> Sent: Thursday, August 12, 2010 4:31 PM
> To: Joe Eastman
> Cc: tressa at ucar.edu
> Subject: Re: [rt.rap.ucar.edu #40020] To interpolate or not to
interpolate?
>
> Joe,
>
> Fortunately, we finished up the MET tutorial last week and have
picked up development for the next release of MET.
>
> I took a look at page 4-1 in the MET User's Guide, which you've
referenced.  In there, I realize that we are not explicit enough in
our description of how Point-Stat handles interpolation in the
> vertical.  Point-Stat was set up primarily to handle forecasts on
pressure levels.  The sentence in there about interpolating linearly
in the log of pressure applies when verifying forecasts on
> pressure levels.  And point-Stat also can be used to verify
forecasts at the surface, for which no vertical interpolation is
performed.
>
> However, you're interested in verifying forecasts that are not on
pressure levels.  And I'm hopeful that we can modify the logic in
Point-Stat to support this type of matching in the vertical.
>
> I ran wgrib on some sample model data you sent me on June 4th.
Here's what I see for UGRD records:
>
8:325972:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=1:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 1:760min fcst:NAve=0
>
18:764280:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=2:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 2:760min fcst:NAve=0
>
27:1159118:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=3:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 3:760min fcst:NAve=0
>
36:1553956:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=4:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 4:760min fcst:NAve=0
>
45:1923492:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=5:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 5:760min fcst:NAve=0
> ...
>
> This model output is defined on "hybrid levels", named level 1, 2,
3,..., and so on.  I assume this is the data you're referencing in the
config file settings you sent.  Unfortunately, I'm a bit
> confused as to how this data should be handled.  For each
observation value, one thing you can specify is the height - as meters
above ground.  How could Point-Stat know how to compare an observation
> at a certain height above ground to hybrid vertical levels simply
named 1, 2, and 3?
>
> I was expecting to see your model output defined using AGL: 10
meters, 20 meters, 30 meters above ground level.  If that was the
case, it'd be pretty evident how vertical interpolation should be done
> between model levels to the height of the observation.  We'd just
pick the model levels above/below the observations and linearly
interpolate to the height of the observation.
>
> Are you able in any way to generate model output at specific
vertical levels above ground?  If not, I'm not sure how the vertical
interpolation should be handled for data on hybrid levels?  Any ideas?
>
> Thanks,
> John
>
> RAL HelpDesk {for Joe Eastman} wrote:
>> Wed Aug 11 14:06:21 2010: Request 40020 was acted upon.
>> Transaction: Ticket created by Joe.Eastman at windlogics.com
>>        Queue: met_help
>>      Subject: To interpolate or not to interpolate?
>>        Owner: Nobody
>>   Requestors: Joe.Eastman at windlogics.com
>>       Status: new
>>  Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=40020 >
>>
>>
>>
>> Hello,
>>
>> In the version 2 manual it states: "In the vertical, if forecasts
and observations are at the same vertical level, then they are
>> paired as is. If any discrepancy exists between the vertical
levels, then the forecasts are
>> interpolated to the level of the observation."
>>
>> I have a series of data files with U,V observations at 100's of
stations. I keep a separate files for each height or 10, 30, 50, and
60m readings. In my model the vertical levels are at 10, 30, and 60
give or take a few meters and this corresponds to model levels 1,2,
and 3. So in my poinstat_config file I specify for the 10m comparison:
>>
>> fcst_field[] = [ "UGRD/L1", "VGRD/L1" ];
>> obs_field[]  = [ ];
>>
>> and at 30m:
>> fcst_field[] = [ "UGRD/L2", "VGRD/L2" ];
>> obs_field[]  = [ ];
>>
>> and at 50,60m:
>> fcst_field[] = [ "UGRD/L3", "VGRD/L3" ];
>> obs_field[]  = [ ];
>>
>> Comparing the 50,60 outputs they have identical model values when
they are at the same station. So Does this mean there is no
interpolation performed? Or conversely what is the point of the L1,L2
settings? Am I missing a different setting?
>>
>> Thanks for your time.
>>
>> Take care,
>> Joe
>>
>> Dr. Joseph L. Eastman
>> Senior Atmospheric Scientist
>> WindLogics Inc.
>> 201 4th St NW
>> Grand Rapids, MN
>> 55744
>>
>> c - 410.279.9702
>> w - 651.556.4297
>> jeastman at windlogics.com<mailto:jeastman at windlogics.com>
>>
>>
>>
>> ________________________________
>> CONFIDENTIALITY NOTICE: This e-mail message is for the sole use of
the intended recipient(s) and may contain confidential and privileged
information. Any unauthorized review, use, disclosure or distribution
of any kind is strictly prohibited. If you are not the intended
recipient, please contact the sender via reply e-mail and destroy all
copies of the original message. Thank you.
>

------------------------------------------------
Subject: RE: [rt.rap.ucar.edu #40020] To interpolate or not to interpolate?
From: Joe Eastman
Time: Fri Aug 13 08:34:39 2010

Hi John,

I forgot that the height is above mean sea level. We could
convert to AGL by subtracting the topography:
311:9815128:d=09013112:HGT:kpds5=7:kpds6=1:kpds7=0:TR=10:P1=0:P2=0:TimeU=1:sfc:anl:NAve=0
I think your logic would work fine then. It is just part of WRF that
the vertical coordinates are floating p coordinates that change.
However WRFPOST might already eliminate this variability in XY heights
since it is also doing the destaggerring, I am not clear on this. If
that was the case this would certainly be simplified and more
computationally efficient. I could go check with a little coding, or
if the WRFPOST people are around your neck of the woods you could ask
them. I think this would be a good addition to many WRF users,
particularly for the renewable energy applications that have very fine
resolution in the lowest 200m of the atmosphere with similarly fine
vertical resolution for observations.

Thanks.

Take care,
Joe
Dr. Joseph L. Eastman
Senior Atmospheric Scientist 
WindLogics Inc.
201 4th St NW
Grand Rapids, MN
55744

c – 410.279.9702
w –
651.556.4297
jeastman at windlogics.com



-----Original
Message-----
From: RAL HelpDesk {for John Halley Gotway}
[mailto:met_help at ucar.edu] 
Sent: Thursday, August 12, 2010 5:49 PM
To: Joe Eastman
Cc: tressa at ucar.edu
Subject: Re: [rt.rap.ucar.edu
#40020] To interpolate or not to interpolate?

Joe,

Yes, that's a
good idea.  I see how that could be a possibility.  But I think there
could be some issues with it as well.

Here's a first cut at some
logic.
For each observation...
(1) Convert the obs lat/lon to (x, y)
in the grid.
(2) For each of the hybrid levels requested in the
config file, read the HGT records and find the height corresponding to
the obs (x, y).
(3) Pick the hybrid levels with heights above and
below the observation location, and interpolate the values from those
fields horizontally to the obs (x, y) location.
(4) Use the
horizontally-interpolated forecast values above and below the
observation and the corresponding height values to vertically
interpolate to the height of the observation.
(5) Store that
interpolated-fcst and obs matched pair.

I see three potential
problems here:
- The logic for this is a bit complex.
- Step 3,
horizontally interpolating the hybrid level data, seems problematic.
Since the height changes throughout the hybrid level, is it
appropriate to be interpolating using those values?
- This approach
would run slower.  For each observation, we'd need to loop through the
levels to figure out which ones to use.  If the heights of the levels
remained constant, it'd be more efficient.

>From my perspective,
it'd be preferable to verify at AGL levels.  Is it possible to post-
process your model output onto AGL levels?  I'll check to see if the
WRF-PostProcessor supports that.  I'm
really not sure.  Is that a
possibility?

Thanks,
John

RAL HelpDesk {for Joe Eastman} wrote:
> <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=40020 >
>
> Hi John,
> 
> Thanks for your thoughtful response. I think the
only possibility would be to use the additional information contained
in the grib file. If point_stat encounters a hybrid levels it could
then look for kpds5=7, which has the height information for that level
at all XY locations. If it does not see this grib code then it would
exit with an appropriate error message. If it does see that grib code
then it can continue with interpolation. The biggest problem would the
fact that the heights are not the same at all XY locations (and in
fact change over time too).  So at each point surrounding the ob, a
vertical interpolation could be performed to that observation height,
then the horizontal interpolation could be performed. I could even see
this mimicking the pressure feature that that does the interpolation
across multiple levels, i.e., "UGRD/P1000-500". This could also be
applied to upper air sondes.  
> 
>
1:0:d=09013112:PRES:kpds5=1:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>
2:43240:d=09013112:MCONV:kpds5=135:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>
3:62210:d=09013112:HGT:kpds5=7:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>
4:105450:d=09013112:TMP:kpds5=11:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>
5:140600:d=09013112:RH:kpds5=52:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>
6:173054:d=09013112:DPT:kpds5=17:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>
7:210900:d=09013112:SPFH:kpds5=51:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>
8:232566:d=09013112:UGRD:kpds5=33:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>
9:267716:d=09013112:VGRD:kpds5=34:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>
10:305562:d=09013112:VVEL:kpds5=39:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>
11:348802:d=09013112:TKE:kpds5=158:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
> 
> Again, thanks for all your help.
> 
> Take
care,
> Joe
> 
> Dr. Joseph L. Eastman
> Senior Atmospheric
Scientist 
> WindLogics Inc.
> 201 4th St NW
> Grand Rapids, MN
>
55744
> 
> c – 410.279.9702
> w – 651.556.4297
>
jeastman at windlogics.com
> 
> 
> 
> -----Original Message-----
>
From: RAL HelpDesk {for John Halley Gotway} [mailto:met_help at ucar.edu]
> Sent: Thursday, August 12, 2010 4:31 PM
> To: Joe Eastman
> Cc:
tressa at ucar.edu
> Subject: Re: [rt.rap.ucar.edu #40020] To
interpolate or not to interpolate?
> 
> Joe,
> 
> Fortunately, we
finished up the MET tutorial last week and have picked up development
for the next release of MET.
> 
> I took a look at page 4-1 in the
MET User's Guide, which you've referenced.  In there, I realize that
we are not explicit enough in our description of how Point-Stat
handles interpolation in the
> vertical.  Point-Stat was set up
primarily to handle forecasts on pressure levels.  The sentence in
there about interpolating linearly in the log of pressure applies when
verifying forecasts on
> pressure levels.  And point-Stat also can be
used to verify forecasts at the surface, for which no vertical
interpolation is performed.
> 
> However, you're interested in
verifying forecasts that are not on pressure levels.  And I'm hopeful
that we can modify the logic in Point-Stat to support this type of
matching in the vertical.
> 
> I ran wgrib on some sample model data
you sent me on June 4th.  Here's what I see for UGRD records:
>
8:325972:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=1:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 1:760min fcst:NAve=0
>
18:764280:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=2:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 2:760min fcst:NAve=0
>
27:1159118:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=3:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 3:760min fcst:NAve=0
>
36:1553956:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=4:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 4:760min fcst:NAve=0
>
45:1923492:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=5:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 5:760min fcst:NAve=0
> ...
> 
> This model output is defined on
"hybrid levels", named level 1, 2, 3,..., and so on.  I assume this is
the data you're referencing in the config file settings you sent.
Unfortunately, I'm a bit
> confused as to how this data should be
handled.  For each observation value, one thing you can specify is the
height - as meters above ground.  How could Point-Stat know how to
compare an observation
> at a certain height above ground to hybrid
vertical levels simply named 1, 2, and 3?
> 
> I was expecting to
see your model output defined using AGL: 10 meters, 20 meters, 30
meters above ground level.  If that was the case, it'd be pretty
evident how vertical interpolation should be done
> between model
levels to the height of the observation.  We'd just pick the model
levels above/below the observations and linearly interpolate to the
height of the observation.
> 
> Are you able in any way to generate
model output at specific vertical levels above ground?  If not, I'm
not sure how the vertical interpolation should be handled for data on
hybrid levels?  Any ideas?
> 
> Thanks,
> John
> 
> RAL HelpDesk
{for Joe Eastman} wrote:
>> Wed Aug 11 14:06:21 2010: Request 40020
was acted upon.
>> Transaction: Ticket created by
Joe.Eastman at windlogics.com
>>        Queue: met_help
>>
Subject: To interpolate or not to interpolate?
>>        Owner:
Nobody
>>   Requestors: Joe.Eastman at windlogics.com
>>       Status:
new
>>  Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=40020 >
>>
>>
>>
>> Hello,
>>
>> In the version 2 manual it states: "In the vertical,
if forecasts and observations are at the same vertical level, then
they are
>> paired as is. If any discrepancy exists between the
vertical levels, then the forecasts are
>> interpolated to the level
of the observation."
>>
>> I have a series of data files with U,V
observations at 100's of stations. I keep a separate files for each
height or 10, 30, 50, and 60m readings. In my model the vertical
levels are at 10, 30, and 60 give or take a few meters and this
corresponds to model levels 1,2, and 3. So in my poinstat_config file
I specify for the 10m comparison:
>>
>> fcst_field[] = [ "UGRD/L1",
"VGRD/L1" ];
>> obs_field[]  = [ ];
>>
>> and at 30m:
>>
fcst_field[] = [ "UGRD/L2", "VGRD/L2" ];
>> obs_field[]  = [ ];
>>
>> and at 50,60m:
>> fcst_field[] = [ "UGRD/L3", "VGRD/L3" ];
>>
obs_field[]  = [ ];
>>
>> Comparing the 50,60 outputs they have
identical model values when they are at the same station. So Does this
mean there is no interpolation performed? Or conversely what is the
point of the L1,L2 settings? Am I missing a different setting?
>>
>>
Thanks for your time.
>>
>> Take care,
>> Joe
>>
>> Dr. Joseph L.
Eastman
>> Senior Atmospheric Scientist
>> WindLogics Inc.
>> 201
4th St NW
>> Grand Rapids, MN
>> 55744
>>
>> c - 410.279.9702
>>
w - 651.556.4297
>>
jeastman at windlogics.com<mailto:jeastman at windlogics.com>
>>
>>
>>
>> ________________________________
>> CONFIDENTIALITY NOTICE: This
e-mail message is for the sole use of the intended recipient(s) and
may contain confidential and privileged information. Any unauthorized
review, use, disclosure or distribution of any kind is strictly
prohibited. If you are not the intended recipient, please contact the
sender via reply e-mail and destroy all copies of the original
message. Thank you.
>

------------------------------------------------
Subject: Re: [rt.rap.ucar.edu #40020] To interpolate or not to interpolate?
From: John Halley Gotway
Time: Fri Aug 13 09:55:31 2010

Joe,

I've sent around an email asking the post-processing folks about the
prospect of adding the ability to post-process onto AGL levels between
0 and 200m.  From my perspective, this is more a
post-processing issue than a verification one.  Ideally, we could
enhance WPP or UPP (Unified PostProcessor, which will replace WPP
sometime in the next year) to output directly on these AGL levels.
That'd make the verification much cleaner and more straight-forward.

As a member of the wind energy community, what sort of AGL height
increment would be the most useful?  Obviously, we already have the
winds at 10m - what levels between 10m and 200m would you ideally
like to see?

I'll let you know where this discussion goes.

Thanks,
John

RAL HelpDesk {for Joe Eastman} wrote:
> <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=40020 >
>
> Hi John,
>
> I forgot that the height is above mean sea level. We could convert
to AGL by subtracting the topography:
>
311:9815128:d=09013112:HGT:kpds5=7:kpds6=1:kpds7=0:TR=10:P1=0:P2=0:TimeU=1:sfc:anl:NAve=0
>
> I think your logic would work fine then. It is just part of WRF that
the vertical coordinates are floating p coordinates that change.
However WRFPOST might already eliminate this variability in XY heights
since it is also doing the destaggerring, I am not clear on this. If
that was the case this would certainly be simplified and more
computationally efficient. I could go check with a little coding, or
if the WRFPOST people are around your neck of the woods you could ask
them. I think this would be a good addition to many WRF users,
particularly for the renewable energy applications that have very fine
resolution in the lowest 200m of the atmosphere with similarly fine
vertical resolution for observations.
>
> Thanks.
>
> Take care,
> Joe
>
> Dr. Joseph L. Eastman
> Senior Atmospheric Scientist
> WindLogics Inc.
> 201 4th St NW
> Grand Rapids, MN
> 55744
>
> c – 410.279.9702
> w – 651.556.4297
> jeastman at windlogics.com
>
>
>
> -----Original Message-----
> From: RAL HelpDesk {for John Halley Gotway}
[mailto:met_help at ucar.edu]
> Sent: Thursday, August 12, 2010 5:49 PM
> To: Joe Eastman
> Cc: tressa at ucar.edu
> Subject: Re: [rt.rap.ucar.edu #40020] To interpolate or not to
interpolate?
>
> Joe,
>
> Yes, that's a good idea.  I see how that could be a possibility.
But I think there could be some issues with it as well.
>
> Here's a first cut at some logic.
> For each observation...
> (1) Convert the obs lat/lon to (x, y) in the grid.
> (2) For each of the hybrid levels requested in the config file, read
the HGT records and find the height corresponding to the obs (x, y).
> (3) Pick the hybrid levels with heights above and below the
observation location, and interpolate the values from those fields
horizontally to the obs (x, y) location.
> (4) Use the horizontally-interpolated forecast values above and
below the observation and the corresponding height values to
vertically interpolate to the height of the observation.
> (5) Store that interpolated-fcst and obs matched pair.
>
> I see three potential problems here:
> - The logic for this is a bit complex.
> - Step 3, horizontally interpolating the hybrid level data, seems
problematic.  Since the height changes throughout the hybrid level, is
it appropriate to be interpolating using those values?
> - This approach would run slower.  For each observation, we'd need
to loop through the levels to figure out which ones to use.  If the
heights of the levels remained constant, it'd be more efficient.
>
>>From my perspective, it'd be preferable to verify at AGL levels.  Is
it possible to post-process your model output onto AGL levels?  I'll
check to see if the WRF-PostProcessor supports that.  I'm
> really not sure.  Is that a possibility?
>
> Thanks,
> John
>
> RAL HelpDesk {for Joe Eastman} wrote:
>> <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=40020 >
>>
>> Hi John,
>>
>> Thanks for your thoughtful response. I think the only possibility
would be to use the additional information contained in the grib file.
If point_stat encounters a hybrid levels it could then look for
kpds5=7, which has the height information for that level at all XY
locations. If it does not see this grib code then it would exit with
an appropriate error message. If it does see that grib code then it
can continue with interpolation. The biggest problem would the fact
that the heights are not the same at all XY locations (and in fact
change over time too).  So at each point surrounding the ob, a
vertical interpolation could be performed to that observation height,
then the horizontal interpolation could be performed. I could even see
this mimicking the pressure feature that that does the interpolation
across multiple levels, i.e., "UGRD/P1000-500". This could also be
applied to upper air sondes.
>>
>>
1:0:d=09013112:PRES:kpds5=1:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>
2:43240:d=09013112:MCONV:kpds5=135:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>
3:62210:d=09013112:HGT:kpds5=7:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>
4:105450:d=09013112:TMP:kpds5=11:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>
5:140600:d=09013112:RH:kpds5=52:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>
6:173054:d=09013112:DPT:kpds5=17:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>
7:210900:d=09013112:SPFH:kpds5=51:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>
8:232566:d=09013112:UGRD:kpds5=33:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>
9:267716:d=09013112:VGRD:kpds5=34:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>
10:305562:d=09013112:VVEL:kpds5=39:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>
11:348802:d=09013112:TKE:kpds5=158:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>
>> Again, thanks for all your help.
>>
>> Take care,
>> Joe
>>
>> Dr. Joseph L. Eastman
>> Senior Atmospheric Scientist
>> WindLogics Inc.
>> 201 4th St NW
>> Grand Rapids, MN
>> 55744
>>
>> c – 410.279.9702
>> w – 651.556.4297
>> jeastman at windlogics.com
>>
>>
>>
>> -----Original Message-----
>> From: RAL HelpDesk {for John Halley Gotway}
[mailto:met_help at ucar.edu]
>> Sent: Thursday, August 12, 2010 4:31 PM
>> To: Joe Eastman
>> Cc: tressa at ucar.edu
>> Subject: Re: [rt.rap.ucar.edu #40020] To interpolate or not to
interpolate?
>>
>> Joe,
>>
>> Fortunately, we finished up the MET tutorial last week and have
picked up development for the next release of MET.
>>
>> I took a look at page 4-1 in the MET User's Guide, which you've
referenced.  In there, I realize that we are not explicit enough in
our description of how Point-Stat handles interpolation in the
>> vertical.  Point-Stat was set up primarily to handle forecasts on
pressure levels.  The sentence in there about interpolating linearly
in the log of pressure applies when verifying forecasts on
>> pressure levels.  And point-Stat also can be used to verify
forecasts at the surface, for which no vertical interpolation is
performed.
>>
>> However, you're interested in verifying forecasts that are not on
pressure levels.  And I'm hopeful that we can modify the logic in
Point-Stat to support this type of matching in the vertical.
>>
>> I ran wgrib on some sample model data you sent me on June 4th.
Here's what I see for UGRD records:
>>
8:325972:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=1:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 1:760min fcst:NAve=0
>>
18:764280:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=2:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 2:760min fcst:NAve=0
>>
27:1159118:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=3:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 3:760min fcst:NAve=0
>>
36:1553956:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=4:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 4:760min fcst:NAve=0
>>
45:1923492:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=5:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 5:760min fcst:NAve=0
>> ...
>>
>> This model output is defined on "hybrid levels", named level 1, 2,
3,..., and so on.  I assume this is the data you're referencing in the
config file settings you sent.  Unfortunately, I'm a bit
>> confused as to how this data should be handled.  For each
observation value, one thing you can specify is the height - as meters
above ground.  How could Point-Stat know how to compare an observation
>> at a certain height above ground to hybrid vertical levels simply
named 1, 2, and 3?
>>
>> I was expecting to see your model output defined using AGL: 10
meters, 20 meters, 30 meters above ground level.  If that was the
case, it'd be pretty evident how vertical interpolation should be done
>> between model levels to the height of the observation.  We'd just
pick the model levels above/below the observations and linearly
interpolate to the height of the observation.
>>
>> Are you able in any way to generate model output at specific
vertical levels above ground?  If not, I'm not sure how the vertical
interpolation should be handled for data on hybrid levels?  Any ideas?
>>
>> Thanks,
>> John
>>
>> RAL HelpDesk {for Joe Eastman} wrote:
>>> Wed Aug 11 14:06:21 2010: Request 40020 was acted upon.
>>> Transaction: Ticket created by Joe.Eastman at windlogics.com
>>>        Queue: met_help
>>>      Subject: To interpolate or not to interpolate?
>>>        Owner: Nobody
>>>   Requestors: Joe.Eastman at windlogics.com
>>>       Status: new
>>>  Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=40020 >
>>>
>>>
>>>
>>> Hello,
>>>
>>> In the version 2 manual it states: "In the vertical, if forecasts
and observations are at the same vertical level, then they are
>>> paired as is. If any discrepancy exists between the vertical
levels, then the forecasts are
>>> interpolated to the level of the observation."
>>>
>>> I have a series of data files with U,V observations at 100's of
stations. I keep a separate files for each height or 10, 30, 50, and
60m readings. In my model the vertical levels are at 10, 30, and 60
give or take a few meters and this corresponds to model levels 1,2,
and 3. So in my poinstat_config file I specify for the 10m comparison:
>>>
>>> fcst_field[] = [ "UGRD/L1", "VGRD/L1" ];
>>> obs_field[]  = [ ];
>>>
>>> and at 30m:
>>> fcst_field[] = [ "UGRD/L2", "VGRD/L2" ];
>>> obs_field[]  = [ ];
>>>
>>> and at 50,60m:
>>> fcst_field[] = [ "UGRD/L3", "VGRD/L3" ];
>>> obs_field[]  = [ ];
>>>
>>> Comparing the 50,60 outputs they have identical model values when
they are at the same station. So Does this mean there is no
interpolation performed? Or conversely what is the point of the L1,L2
settings? Am I missing a different setting?
>>>
>>> Thanks for your time.
>>>
>>> Take care,
>>> Joe
>>>
>>> Dr. Joseph L. Eastman
>>> Senior Atmospheric Scientist
>>> WindLogics Inc.
>>> 201 4th St NW
>>> Grand Rapids, MN
>>> 55744
>>>
>>> c - 410.279.9702
>>> w - 651.556.4297
>>> jeastman at windlogics.com<mailto:jeastman at windlogics.com>
>>>
>>>
>>>
>>> ________________________________
>>> CONFIDENTIALITY NOTICE: This e-mail message is for the sole use of
the intended recipient(s) and may contain confidential and privileged
information. Any unauthorized review, use, disclosure or distribution
of any kind is strictly prohibited. If you are not the intended
recipient, please contact the sender via reply e-mail and destroy all
copies of the original message. Thank you.
>

------------------------------------------------
Subject: RE: [rt.rap.ucar.edu #40020] To interpolate or not to interpolate?
From: Joe Eastman
Time: Fri Aug 13 10:37:54 2010

Hi John,

Typical levels for the instrumented towers are
10,20,30,40,50,60, and 80m. However lidar and sodar are also being
deployed more frequently as their price continues to drop. Sodar is
typically every 20m starting at 20 and go up to 200m. Lidar can go
quite higher depending on the settings and is typically at 10m
increments for scans up to around 200m, and every 50m for scans
through the entire PBL. Thanks.

Take care,
Joe

Dr. Joseph L.
Eastman
Senior Atmospheric Scientist 
WindLogics Inc.
201 4th St NW
Grand Rapids, MN
55744

c – 410.279.9702
w – 651.556.4297
jeastman at windlogics.com



-----Original Message-----
From: RAL
HelpDesk {for John Halley Gotway} [mailto:met_help at ucar.edu] 
Sent:
Friday, August 13, 2010 10:56 AM
To: Joe Eastman
Cc: tressa at ucar.edu
Subject: Re: [rt.rap.ucar.edu #40020] To interpolate or not to
interpolate?

Joe,

I've sent around an email asking the post-
processing folks about the prospect of adding the ability to post-
process onto AGL levels between 0 and 200m.  From my perspective, this
is more a
post-processing issue than a verification one.  Ideally, we
could enhance WPP or UPP (Unified PostProcessor, which will replace
WPP sometime in the next year) to output directly on these AGL levels.
That'd make the verification much cleaner and more straight-forward.
As a member of the wind energy community, what sort of AGL height
increment would be the most useful?  Obviously, we already have the
winds at 10m - what levels between 10m and 200m would you ideally
like to see?

I'll let you know where this discussion goes.
Thanks,
John

RAL HelpDesk {for Joe Eastman} wrote:
> <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=40020 >
> 
> Hi
John,
> 
> I forgot that the height is above mean sea level. We
could convert to AGL by subtracting the topography:
>
311:9815128:d=09013112:HGT:kpds5=7:kpds6=1:kpds7=0:TR=10:P1=0:P2=0:TimeU=1:sfc:anl:NAve=0
> 
> I think your logic would work fine then. It is just part of WRF
that the vertical coordinates are floating p coordinates that change.
However WRFPOST might already eliminate this variability in XY heights
since it is also doing the destaggerring, I am not clear on this. If
that was the case this would certainly be simplified and more
computationally efficient. I could go check with a little coding, or
if the WRFPOST people are around your neck of the woods you could ask
them. I think this would be a good addition to many WRF users,
particularly for the renewable energy applications that have very fine
resolution in the lowest 200m of the atmosphere with similarly fine
vertical resolution for observations.
> 
> Thanks.
> 
> Take care,
> Joe
> 
> Dr. Joseph L. Eastman
> Senior Atmospheric Scientist 
>
WindLogics Inc.
> 201 4th St NW
> Grand Rapids, MN
> 55744
> 
> c
– 410.279.9702
> w – 651.556.4297
> jeastman at windlogics.com
> 
>
> 
> -----Original Message-----
> From: RAL HelpDesk {for John
Halley Gotway} [mailto:met_help at ucar.edu] 
> Sent: Thursday, August
12, 2010 5:49 PM
> To: Joe Eastman
> Cc: tressa at ucar.edu
> Subject:
Re: [rt.rap.ucar.edu #40020] To interpolate or not to interpolate?
>
> Joe,
> 
> Yes, that's a good idea.  I see how that could be a
possibility.  But I think there could be some issues with it as well.
> 
> Here's a first cut at some logic.
> For each observation...
>
(1) Convert the obs lat/lon to (x, y) in the grid.
> (2) For each of
the hybrid levels requested in the config file, read the HGT records
and find the height corresponding to the obs (x, y).
> (3) Pick the
hybrid levels with heights above and below the observation location,
and interpolate the values from those fields horizontally to the obs
(x, y) location.
> (4) Use the horizontally-interpolated forecast
values above and below the observation and the corresponding height
values to vertically interpolate to the height of the observation.
>
(5) Store that interpolated-fcst and obs matched pair.
> 
> I see
three potential problems here:
> - The logic for this is a bit
complex.
> - Step 3, horizontally interpolating the hybrid level
data, seems problematic.  Since the height changes throughout the
hybrid level, is it appropriate to be interpolating using those
values?
> - This approach would run slower.  For each observation,
we'd need to loop through the levels to figure out which ones to use.
If the heights of the levels remained constant, it'd be more
efficient.
> 
>>From my perspective, it'd be preferable to verify at
AGL levels.  Is it possible to post-process your model output onto AGL
levels?  I'll check to see if the WRF-PostProcessor supports that.
I'm
> really not sure.  Is that a possibility?
> 
> Thanks,
> John
> 
> RAL HelpDesk {for Joe Eastman} wrote:
>> <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=40020 >
>>
>> Hi
John,
>>
>> Thanks for your thoughtful response. I think the only
possibility would be to use the additional information contained in
the grib file. If point_stat encounters a hybrid levels it could then
look for kpds5=7, which has the height information for that level at
all XY locations. If it does not see this grib code then it would exit
with an appropriate error message. If it does see that grib code then
it can continue with interpolation. The biggest problem would the fact
that the heights are not the same at all XY locations (and in fact
change over time too).  So at each point surrounding the ob, a
vertical interpolation could be performed to that observation height,
then the horizontal interpolation could be performed. I could even see
this mimicking the pressure feature that that does the interpolation
across multiple levels, i.e., "UGRD/P1000-500". This could also be
applied to upper air sondes.  
>>
>>
1:0:d=09013112:PRES:kpds5=1:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>
2:43240:d=09013112:MCONV:kpds5=135:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>
3:62210:d=09013112:HGT:kpds5=7:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>
4:105450:d=09013112:TMP:kpds5=11:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>
5:140600:d=09013112:RH:kpds5=52:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>
6:173054:d=09013112:DPT:kpds5=17:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>
7:210900:d=09013112:SPFH:kpds5=51:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>
8:232566:d=09013112:UGRD:kpds5=33:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>
9:267716:d=09013112:VGRD:kpds5=34:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>
10:305562:d=09013112:VVEL:kpds5=39:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>
11:348802:d=09013112:TKE:kpds5=158:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>
>> Again, thanks for all your help.
>>
>> Take
care,
>> Joe
>>
>> Dr. Joseph L. Eastman
>> Senior Atmospheric
Scientist 
>> WindLogics Inc.
>> 201 4th St NW
>> Grand Rapids, MN
>> 55744
>>
>> c – 410.279.9702
>> w – 651.556.4297
>>
jeastman at windlogics.com
>>
>>
>>
>> -----Original Message-----
>>
From: RAL HelpDesk {for John Halley Gotway} [mailto:met_help at ucar.edu]
>> Sent: Thursday, August 12, 2010 4:31 PM
>> To: Joe Eastman
>> Cc:
tressa at ucar.edu
>> Subject: Re: [rt.rap.ucar.edu #40020] To
interpolate or not to interpolate?
>>
>> Joe,
>>
>> Fortunately,
we finished up the MET tutorial last week and have picked up
development for the next release of MET.
>>
>> I took a look at page
4-1 in the MET User's Guide, which you've referenced.  In there, I
realize that we are not explicit enough in our description of how
Point-Stat handles interpolation in the
>> vertical.  Point-Stat was
set up primarily to handle forecasts on pressure levels.  The sentence
in there about interpolating linearly in the log of pressure applies
when verifying forecasts on
>> pressure levels.  And point-Stat also
can be used to verify forecasts at the surface, for which no vertical
interpolation is performed.
>>
>> However, you're interested in
verifying forecasts that are not on pressure levels.  And I'm hopeful
that we can modify the logic in Point-Stat to support this type of
matching in the vertical.
>>
>> I ran wgrib on some sample model
data you sent me on June 4th.  Here's what I see for UGRD records:
>>
8:325972:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=1:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 1:760min fcst:NAve=0
>>
18:764280:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=2:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 2:760min fcst:NAve=0
>>
27:1159118:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=3:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 3:760min fcst:NAve=0
>>
36:1553956:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=4:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 4:760min fcst:NAve=0
>>
45:1923492:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=5:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 5:760min fcst:NAve=0
>> ...
>>
>> This model output is defined
on "hybrid levels", named level 1, 2, 3,..., and so on.  I assume this
is the data you're referencing in the config file settings you sent.
Unfortunately, I'm a bit
>> confused as to how this data should be
handled.  For each observation value, one thing you can specify is the
height - as meters above ground.  How could Point-Stat know how to
compare an observation
>> at a certain height above ground to hybrid
vertical levels simply named 1, 2, and 3?
>>
>> I was expecting to
see your model output defined using AGL: 10 meters, 20 meters, 30
meters above ground level.  If that was the case, it'd be pretty
evident how vertical interpolation should be done
>> between model
levels to the height of the observation.  We'd just pick the model
levels above/below the observations and linearly interpolate to the
height of the observation.
>>
>> Are you able in any way to generate
model output at specific vertical levels above ground?  If not, I'm
not sure how the vertical interpolation should be handled for data on
hybrid levels?  Any ideas?
>>
>> Thanks,
>> John
>>
>> RAL
HelpDesk {for Joe Eastman} wrote:
>>> Wed Aug 11 14:06:21 2010:
Request 40020 was acted upon.
>>> Transaction: Ticket created by
Joe.Eastman at windlogics.com
>>>        Queue: met_help
>>>
Subject: To interpolate or not to interpolate?
>>>        Owner:
Nobody
>>>   Requestors: Joe.Eastman at windlogics.com
>>>
Status: new
>>>  Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=40020 >
>>>
>>>
>>>
>>> Hello,
>>>
>>> In the version 2 manual it states: "In the
vertical, if forecasts and observations are at the same vertical
level, then they are
>>> paired as is. If any discrepancy exists
between the vertical levels, then the forecasts are
>>> interpolated
to the level of the observation."
>>>
>>> I have a series of data
files with U,V observations at 100's of stations. I keep a separate
files for each height or 10, 30, 50, and 60m readings. In my model the
vertical levels are at 10, 30, and 60 give or take a few meters and
this corresponds to model levels 1,2, and 3. So in my poinstat_config
file I specify for the 10m comparison:
>>>
>>> fcst_field[] = [
"UGRD/L1", "VGRD/L1" ];
>>> obs_field[]  = [ ];
>>>
>>> and at 30m:
>>> fcst_field[] = [ "UGRD/L2", "VGRD/L2" ];
>>> obs_field[]  = [ ];
>>>
>>> and at 50,60m:
>>> fcst_field[] = [ "UGRD/L3", "VGRD/L3" ];
>>> obs_field[]  = [ ];
>>>
>>> Comparing the 50,60 outputs they
have identical model values when they are at the same station. So Does
this mean there is no interpolation performed? Or conversely what is
the point of the L1,L2 settings? Am I missing a different setting?
>>>
>>> Thanks for your time.
>>>
>>> Take care,
>>> Joe
>>>
>>>
Dr. Joseph L. Eastman
>>> Senior Atmospheric Scientist
>>>
WindLogics Inc.
>>> 201 4th St NW
>>> Grand Rapids, MN
>>> 55744
>>>
>>> c - 410.279.9702
>>> w - 651.556.4297
>>>
jeastman at windlogics.com<mailto:jeastman at windlogics.com>
>>>
>>>
>>>
>>> ________________________________
>>> CONFIDENTIALITY NOTICE: This
e-mail message is for the sole use of the intended recipient(s) and
may contain confidential and privileged information. Any unauthorized
review, use, disclosure or distribution of any kind is strictly
prohibited. If you are not the intended recipient, please contact the
sender via reply e-mail and destroy all copies of the original
message. Thank you.
>

------------------------------------------------
Subject: To interpolate or not to interpolate?
From: John Halley Gotway
Time: Tue Aug 17 17:21:02 2010

Joe,

I worked on the WPP code a bit and have a very initial version of some
changes to create AGL output for U, V, and TMP at the following
levels:
   - 20m to 200m, every 10m
   - 200m to 1000m, every 50m

I've added 3 lines to the end of the wrf_cntrl.parm file to handle
these new output types.  So be sure to use the wrf_cntrl.parm file in
the attached code.  I was able to run it on some test data and
get what seemed to be reasonable output.  If you're interested, could
you try running it on some of your data?  When you verify the GRIB
output in MET, you'd refer to these levels as "UGRD/Z20" or
"UGRD/Z70"... and so on.  The "Z" tells MET to look for records that
are "vertical" level type output.

If this works OK, I'd like to enhance Point-Stat to handle ranges of
this type of vertical level output.  For example, have it verify a
range of vertical levels: "UGRD/Z30-60" using all of the
observations that fall in that range and interpolating to those
observation levels as you'd expect.

I've attached a tarball of the modified WPP code to this message.
Ultimately, these changes may be revised once some FORTRAN folks take
a look at them!

Please let me know how it goes.

Thanks,
John

RAL HelpDesk {for Joe Eastman} wrote:
> <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=40020 >
>
> Hi John,
>
> Typical levels for the instrumented towers are 10,20,30,40,50,60,
and 80m. However lidar and sodar are also being deployed more
frequently as their price continues to drop. Sodar is typically every
20m starting at 20 and go up to 200m. Lidar can go quite higher
depending on the settings and is typically at 10m increments for scans
up to around 200m, and every 50m for scans through the entire PBL.
Thanks.
>
> Take care,
> Joe
>
> Dr. Joseph L. Eastman
> Senior Atmospheric Scientist
> WindLogics Inc.
> 201 4th St NW
> Grand Rapids, MN
> 55744
>
> c – 410.279.9702
> w – 651.556.4297
> jeastman at windlogics.com
>
>
>
> -----Original Message-----
> From: RAL HelpDesk {for John Halley Gotway}
[mailto:met_help at ucar.edu]
> Sent: Friday, August 13, 2010 10:56 AM
> To: Joe Eastman
> Cc: tressa at ucar.edu
> Subject: Re: [rt.rap.ucar.edu #40020] To interpolate or not to
interpolate?
>
> Joe,
>
> I've sent around an email asking the post-processing folks about the
prospect of adding the ability to post-process onto AGL levels between
0 and 200m.  From my perspective, this is more a
> post-processing issue than a verification one.  Ideally, we could
enhance WPP or UPP (Unified PostProcessor, which will replace WPP
sometime in the next year) to output directly on these AGL levels.
> That'd make the verification much cleaner and more straight-forward.
>
> As a member of the wind energy community, what sort of AGL height
increment would be the most useful?  Obviously, we already have the
winds at 10m - what levels between 10m and 200m would you ideally
> like to see?
>
> I'll let you know where this discussion goes.
>
> Thanks,
> John
>
> RAL HelpDesk {for Joe Eastman} wrote:
>> <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=40020 >
>>
>> Hi John,
>>
>> I forgot that the height is above mean sea level. We could convert
to AGL by subtracting the topography:
>>
311:9815128:d=09013112:HGT:kpds5=7:kpds6=1:kpds7=0:TR=10:P1=0:P2=0:TimeU=1:sfc:anl:NAve=0
>>
>> I think your logic would work fine then. It is just part of WRF
that the vertical coordinates are floating p coordinates that change.
However WRFPOST might already eliminate this variability in XY heights
since it is also doing the destaggerring, I am not clear on this. If
that was the case this would certainly be simplified and more
computationally efficient. I could go check with a little coding, or
if the WRFPOST people are around your neck of the woods you could ask
them. I think this would be a good addition to many WRF users,
particularly for the renewable energy applications that have very fine
resolution in the lowest 200m of the atmosphere with similarly fine
vertical resolution for observations.
>>
>> Thanks.
>>
>> Take care,
>> Joe
>>
>> Dr. Joseph L. Eastman
>> Senior Atmospheric Scientist
>> WindLogics Inc.
>> 201 4th St NW
>> Grand Rapids, MN
>> 55744
>>
>> c – 410.279.9702
>> w – 651.556.4297
>> jeastman at windlogics.com
>>
>>
>>
>> -----Original Message-----
>> From: RAL HelpDesk {for John Halley Gotway}
[mailto:met_help at ucar.edu]
>> Sent: Thursday, August 12, 2010 5:49 PM
>> To: Joe Eastman
>> Cc: tressa at ucar.edu
>> Subject: Re: [rt.rap.ucar.edu #40020] To interpolate or not to
interpolate?
>>
>> Joe,
>>
>> Yes, that's a good idea.  I see how that could be a possibility.
But I think there could be some issues with it as well.
>>
>> Here's a first cut at some logic.
>> For each observation...
>> (1) Convert the obs lat/lon to (x, y) in the grid.
>> (2) For each of the hybrid levels requested in the config file,
read the HGT records and find the height corresponding to the obs (x,
y).
>> (3) Pick the hybrid levels with heights above and below the
observation location, and interpolate the values from those fields
horizontally to the obs (x, y) location.
>> (4) Use the horizontally-interpolated forecast values above and
below the observation and the corresponding height values to
vertically interpolate to the height of the observation.
>> (5) Store that interpolated-fcst and obs matched pair.
>>
>> I see three potential problems here:
>> - The logic for this is a bit complex.
>> - Step 3, horizontally interpolating the hybrid level data, seems
problematic.  Since the height changes throughout the hybrid level, is
it appropriate to be interpolating using those values?
>> - This approach would run slower.  For each observation, we'd need
to loop through the levels to figure out which ones to use.  If the
heights of the levels remained constant, it'd be more efficient.
>>
>> >From my perspective, it'd be preferable to verify at AGL levels.
Is it possible to post-process your model output onto AGL levels?
I'll check to see if the WRF-PostProcessor supports that.  I'm
>> really not sure.  Is that a possibility?
>>
>> Thanks,
>> John
>>
>> RAL HelpDesk {for Joe Eastman} wrote:
>>> <URL: https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=40020 >
>>>
>>> Hi John,
>>>
>>> Thanks for your thoughtful response. I think the only possibility
would be to use the additional information contained in the grib file.
If point_stat encounters a hybrid levels it could then look for
kpds5=7, which has the height information for that level at all XY
locations. If it does not see this grib code then it would exit with
an appropriate error message. If it does see that grib code then it
can continue with interpolation. The biggest problem would the fact
that the heights are not the same at all XY locations (and in fact
change over time too).  So at each point surrounding the ob, a
vertical interpolation could be performed to that observation height,
then the horizontal interpolation could be performed. I could even see
this mimicking the pressure feature that that does the interpolation
across multiple levels, i.e., "UGRD/P1000-500". This could also be
applied to upper air sondes.
>>>
>>>
1:0:d=09013112:PRES:kpds5=1:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>>
2:43240:d=09013112:MCONV:kpds5=135:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>>
3:62210:d=09013112:HGT:kpds5=7:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>>
4:105450:d=09013112:TMP:kpds5=11:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>>
5:140600:d=09013112:RH:kpds5=52:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>>
6:173054:d=09013112:DPT:kpds5=17:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>>
7:210900:d=09013112:SPFH:kpds5=51:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>>
8:232566:d=09013112:UGRD:kpds5=33:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>>
9:267716:d=09013112:VGRD:kpds5=34:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>>
10:305562:d=09013112:VVEL:kpds5=39:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>>
11:348802:d=09013112:TKE:kpds5=158:kpds6=109:kpds7=1:TR=10:P1=0:P2=0:TimeU=1:hybrid
lev 1:anl:NAve=0
>>>
>>> Again, thanks for all your help.
>>>
>>> Take care,
>>> Joe
>>>
>>> Dr. Joseph L. Eastman
>>> Senior Atmospheric Scientist
>>> WindLogics Inc.
>>> 201 4th St NW
>>> Grand Rapids, MN
>>> 55744
>>>
>>> c – 410.279.9702
>>> w – 651.556.4297
>>> jeastman at windlogics.com
>>>
>>>
>>>
>>> -----Original Message-----
>>> From: RAL HelpDesk {for John Halley Gotway}
[mailto:met_help at ucar.edu]
>>> Sent: Thursday, August 12, 2010 4:31 PM
>>> To: Joe Eastman
>>> Cc: tressa at ucar.edu
>>> Subject: Re: [rt.rap.ucar.edu #40020] To interpolate or not to
interpolate?
>>>
>>> Joe,
>>>
>>> Fortunately, we finished up the MET tutorial last week and have
picked up development for the next release of MET.
>>>
>>> I took a look at page 4-1 in the MET User's Guide, which you've
referenced.  In there, I realize that we are not explicit enough in
our description of how Point-Stat handles interpolation in the
>>> vertical.  Point-Stat was set up primarily to handle forecasts on
pressure levels.  The sentence in there about interpolating linearly
in the log of pressure applies when verifying forecasts on
>>> pressure levels.  And point-Stat also can be used to verify
forecasts at the surface, for which no vertical interpolation is
performed.
>>>
>>> However, you're interested in verifying forecasts that are not on
pressure levels.  And I'm hopeful that we can modify the logic in
Point-Stat to support this type of matching in the vertical.
>>>
>>> I ran wgrib on some sample model data you sent me on June 4th.
Here's what I see for UGRD records:
>>>
8:325972:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=1:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 1:760min fcst:NAve=0
>>>
18:764280:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=2:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 2:760min fcst:NAve=0
>>>
27:1159118:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=3:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 3:760min fcst:NAve=0
>>>
36:1553956:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=4:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 4:760min fcst:NAve=0
>>>
45:1923492:d=09063012:UGRD:kpds5=33:kpds6=109:kpds7=5:TR=10:P1=2:P2=248:TimeU=0:hybrid
lev 5:760min fcst:NAve=0
>>> ...
>>>
>>> This model output is defined on "hybrid levels", named level 1, 2,
3,..., and so on.  I assume this is the data you're referencing in the
config file settings you sent.  Unfortunately, I'm a bit
>>> confused as to how this data should be handled.  For each
observation value, one thing you can specify is the height - as meters
above ground.  How could Point-Stat know how to compare an observation
>>> at a certain height above ground to hybrid vertical levels simply
named 1, 2, and 3?
>>>
>>> I was expecting to see your model output defined using AGL: 10
meters, 20 meters, 30 meters above ground level.  If that was the
case, it'd be pretty evident how vertical interpolation should be done
>>> between model levels to the height of the observation.  We'd just
pick the model levels above/below the observations and linearly
interpolate to the height of the observation.
>>>
>>> Are you able in any way to generate model output at specific
vertical levels above ground?  If not, I'm not sure how the vertical
interpolation should be handled for data on hybrid levels?  Any ideas?
>>>
>>> Thanks,
>>> John
>>>
>>> RAL HelpDesk {for Joe Eastman} wrote:
>>>> Wed Aug 11 14:06:21 2010: Request 40020 was acted upon.
>>>> Transaction: Ticket created by Joe.Eastman at windlogics.com
>>>>        Queue: met_help
>>>>      Subject: To interpolate or not to interpolate?
>>>>        Owner: Nobody
>>>>   Requestors: Joe.Eastman at windlogics.com
>>>>       Status: new
>>>>  Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=40020 >
>>>>
>>>>
>>>>
>>>> Hello,
>>>>
>>>> In the version 2 manual it states: "In the vertical, if forecasts
and observations are at the same vertical level, then they are
>>>> paired as is. If any discrepancy exists between the vertical
levels, then the forecasts are
>>>> interpolated to the level of the observation."
>>>>
>>>> I have a series of data files with U,V observations at 100's of
stations. I keep a separate files for each height or 10, 30, 50, and
60m readings. In my model the vertical levels are at 10, 30, and 60
give or take a few meters and this corresponds to model levels 1,2,
and 3. So in my poinstat_config file I specify for the 10m comparison:
>>>>
>>>> fcst_field[] = [ "UGRD/L1", "VGRD/L1" ];
>>>> obs_field[]  = [ ];
>>>>
>>>> and at 30m:
>>>> fcst_field[] = [ "UGRD/L2", "VGRD/L2" ];
>>>> obs_field[]  = [ ];
>>>>
>>>> and at 50,60m:
>>>> fcst_field[] = [ "UGRD/L3", "VGRD/L3" ];
>>>> obs_field[]  = [ ];
>>>>
>>>> Comparing the 50,60 outputs they have identical model values when
they are at the same station. So Does this mean there is no
interpolation performed? Or conversely what is the point of the L1,L2
settings? Am I missing a different setting?
>>>>
>>>> Thanks for your time.
>>>>
>>>> Take care,
>>>> Joe
>>>>
>>>> Dr. Joseph L. Eastman
>>>> Senior Atmospheric Scientist
>>>> WindLogics Inc.
>>>> 201 4th St NW
>>>> Grand Rapids, MN
>>>> 55744
>>>>
>>>> c - 410.279.9702
>>>> w - 651.556.4297
>>>> jeastman at windlogics.com<mailto:jeastman at windlogics.com>
>>>>
>>>>
>>>>
>>>> ________________________________
>>>> CONFIDENTIALITY NOTICE: This e-mail message is for the sole use
of the intended recipient(s) and may contain confidential and
privileged information. Any unauthorized review, use, disclosure or
distribution of any kind is strictly prohibited. If you are not the
intended recipient, please contact the sender via reply e-mail and
destroy all copies of the original message. Thank you.
>

------------------------------------------------


More information about the Met_help mailing list