Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhance logic to use topography when interpolating gridded forecasts to point observation locations. #527

Closed
dwfncar opened this issue Jun 22, 2015 · 6 comments
Milestone

Comments

@dwfncar
Copy link
Contributor

dwfncar commented Jun 22, 2015

The MET Point-Stat and Ensemble-Stat tools are used to compute verification. There are many options for interpolating gridded forecast data to the point observation locations. However, they all ignore the underlying topography. This task includes the following...


- Contact Rong-Shyang Sheu to determine how the FDDA system uses topography information when computing verification statistics.
- Implement the same or similar logic within the MET library code, Point-Stat, and Ensemble-Stat.
- Add any configuration options required to control that logic.

This issue came up during the Saudi PME project and as a question during the MMET instructional session at the 2015 WRF User's Workshop. Perhaps its as simple as discarding any gridded forecast values whose elevations differ more than or specified (configurable) amount? Or perhaps there a more complex way of using the topography information in the interpolation? [MET-527] created by johnhg
@dwfncar
Copy link
Contributor Author

dwfncar commented May 10, 2018

Do this work for met-7.1 and paid for by Saudi Project.


Required for NGGPS:


Talk to Rong about the RTFDDA system's logic.
Talk to Perry Shafran about how topo is used at NCEP.

Consider adding a new config file entry to define where to get topography information and how to apply it.

geography = {
  file_name = ""; // If empty, read from forecast file?
  topography = { filename = ""; name="TOPO"; level="L0"; }
  land_sea_mask = { filename = ""; name="LAND"; level="L0"; }
  surface_pressure = { filename = ""; name="PRES"; level="L0"; }
  // Flags to control logic?
}

The question is how should we actually *use* this information?
(1) Skip observation points that fall below ground (i.e. skip if obs pressure > sfc pressure)
(2) For terrestrial observations (ADPSFC) only use LAND model grid points.
(3) For sea observations (SFCSHP) only use WATER model grid points.
(4) When interpolating to observation location, account for elevations differences... but exactly how?

by johnhg

@dwfncar
Copy link
Contributor Author

dwfncar commented Jun 19, 2018

Howard will talk to Rong to find out how the FDDA group is using this info.


Do they use topo differences to (1) throw out model grid points or (2) inform the interpolation logic? by johnhg

@dwfncar
Copy link
Contributor Author

dwfncar commented Jun 26, 2018

How the FDDA adjusts values with height difference (from Rong):


[temperature]

   t2stn_orig=t2stn
   t2stn=t2stn+0.0065*(terstn-h_obs)
      t2stn: temperature of the station (in Kelvin or Celsius)
      0.0065: standard dry lapse rate
      terstn: terrain height of the station from the model
      h_obs: observation height

Normal (or standard) dry lapse rate 3.5 degree F/1000 ft. 6.5 degree C/km

[ surface pressure]
   zdiff=terstn-h_obs // heighjt difference
   pmstn=pmstn*exp(zdiff*grav/rgas/(0.5*(t2stn+t2stn_orig)))
      pmstn: surface pressure of the station
      grav=9.81
      rgas=287.04
      t2stn: interpolated temperature (in Kelvin) of the station
      t2stn_org: temperature (in Kelvin) of the station from the model by hsoh

@dwfncar
Copy link
Contributor Author

dwfncar commented Feb 11, 2019

This was discussed during the METplus telecon on 20190211. Dana Strom uses a modified nearest neighbor interpolation method where they search the 9 closest grid points for the closest one within 500 ft of elevation of the observation.


Suggest sharing a beta version of MET with him that includes this functionality for testing.

He was asking that Point-Stat be able to dump to the log file which model point was chosen as the nearest neighbor. by johnhg

@dwfncar
Copy link
Contributor Author

dwfncar commented Mar 5, 2019

This topic arose again during an AF telecon with Evan Kucera on 3/5/2019.


This introduced one more wrinkle. They're comparing results from 3 different models at 3 different resolutions: 17, 4, and 1.5 km. They are discarding point observations which differ in elevation with the model's topography by 100 meters or more. But in order to make an apples-to-apples comparison, they want to discard any observations which differ with ANY OF THE THREE model's topography.


How would we handle this in MET? by johnhg

@dwfncar
Copy link
Contributor Author

dwfncar commented Apr 24, 2019

Fixed in met-8.1 with the "topo_mask".
by johnhg

@dwfncar dwfncar closed this as completed Apr 24, 2019
@dwfncar dwfncar added this to the MET 8.1 milestone Apr 30, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant