NCAR / VAPOR

VAPOR is the Visualization and Analysis Platform for Ocean, Atmosphere, and Solar Researchers
https://www.vapor.ucar.edu/
BSD 3-Clause "New" or "Revised" License
179 stars 49 forks source link

WRF-Fire extents being misinterprited #3056

Closed sgpearse closed 2 years ago

sgpearse commented 2 years ago

To reproduce: 1) Import this WRF-Fire file 2) Enable axis annotations. Vapor reads the extents as follows: Latitude range: 39.98 to 66.40 Longitude range: -106.348 to -18.6

Run ncdump -v XLAT to see the latitude range as 39.98 to 40.44

Run ncdump -v XLONG to see the latitude range as -106.348 to -105.5497

sgpearse commented 2 years ago

Followup:

Near the boundaries, WRF-Fire sets the values to something non-physical. It looks like for this case, the values are 0, but for the Marshall files, the values are NaN. Maybe this is the problem?

This was indeed the problem. However applying missing_value and _FillValue attributes to XLAT and XLONG coordinate variables did not solve the issue. Only filling the values with a given variable's maximum value seems to do the trick.

Is this edge case something we should consider fixing in Vapor, given the importance of the WRF-Fire community?

Additionally, the boundary values for the XLAT and XLONG variables were set to 0. Why does Vapor register the incorrect latitude as 66.4, and longitude as -18.6, instead of 0?

clyne commented 2 years ago

This problem is occurring because the attached WRF-SFIRE output contains variables that are dimensioned by 'south_north_subgrid' and 'west_east_subgrid'. To the best of my knowledge these dimensions do not exist in vanilla WRF, and were introduced in the SFIRE fork of WRF. Perhaps @janmendel can comment?

WRF does not follow the Climate Forecast conventions; the association between a data variable and coordinate variables is hard-coded (though later versions of WRF have adopted some CF attributes such as 'coordinates', which might be used to make this association.

Note, another difference between this model output and vanilla WRF is the presence of an 'XTIME' variable that is presumably intended to be the time coordinate (vanilla WRF uses a variable named 'Times').

clyne commented 2 years ago

Never mind earlier comments. The problem with this data set is that it defines a non-conforming grid; the last lat-lon coordinate pairs for FXLONG and FXLAT are all zero.