-
Notifications
You must be signed in to change notification settings - Fork 24
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 the MET library code to read Rotated Lat/Lon data from CF-compliant NetCDF files. #1055
Comments
Discussed the high priority of this issue on 1/20/22 during the MetOffice developer's telecon. The MetOffice will provide additional NetCDF files for testing, and the MET team will ensure that it can be read. |
All, please find the additional NetCDFs for testing below. |
Just a quick update from this end. From what I can gather now, when dealing with rotated grids for point observation applications it is best to compute the rotated coordinates of the observation before extracting the correct grid point(s) from the rotated model grid. This is because if you unrotate the grid first you no longer have a rectilinear grid and the whole thing just becomes a whole lot more awkward all around. |
… to let the caller specify the separator string, with a single space as the default. Write retriving a gridded data plane, also write out it's grid information.
…g of the rotated lat/lon grid from a CF-compliant NetCDF file.
…ding a swap_to_north return argument. If the parsed dlat value is < 0, need to swap the data from south to north.
@rgbullock I'm looking for a little advice. For this issue, we are enhancing the vx_data2d_nccf library code to parse Rotated Lat/Lon projections from CF-compliant NetCDF files. This line of the feature_1055_read_rot_latlon branch, just hard-codes the "auxiliary rotation" value for the grid to 0. And I'm wondering whether or not we should be? Here's a snapshot of the NetCDF header from a sample data file we have:
I'm wondering if the "aux_rotation" should be defined relative to the "longitude_of_prime_meridian" value? But when looking through the CF-conventions documentation, I only see examples where "longitude_of_prime_meridian = 0". What do you recommend? Should I just leave the rotation hard-code to a value of 0? Or should I define it relative to the longitude_of_prime_meridian? If the latter, any advice on how? |
Hi John -
If I recall correctly, that auxiliary rotation parameter was just a
placeholder in case we ever needed it. I think just having it default to
zero would be fine.
Randy
|
@rgbullock thanks for confirming. @jprestop please proceed with your review of PR #2041 as-is. I don't need to make any changes to it. |
…slightly to avoid confusion.
@JohnHalleyGotway quick question on this... will this enable rotated grids in all tools? including GridDiag? |
@mpm-meto yes, the substantive changes in the corresponding pull request are to nccf_file.cc in the vx_data2d_nccf library. All MET tools call the same library code to read gridded data files. So yes, I fully expect it should work just find in GridDiag. I haven't explicitly tested that, but I don't anticipate any problems. Please let me know if you find otherwise! |
NOTE: This has been identified as critical to Met Office deliverables - please charge 2799991
This request came from Steven Chan at the UK Met office via MET-Help:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=87015
He sent us two files, a rotated lat/lon data file and one with variable lat/lon spacing near the poles. The goal is to make the former work in MET but not the latter since MET doesn't support variable mesh grids. These files can be found on dakota:
/d3/projects/MET/MET_Help/chan_data_20180921/schan_eurocordex.nc
Here's the portion of the CF-convention document for Rotated Lat/Lon:
http://cfconventions.org/cf-conventions/cf-conventions.html#_rotated_pole
It specifies the *NORTH POLE* instead of the south pole, as in GRIB2. Also, the grid dimension and spacing must be determined from the coordinate info.
[MET-1055] created by johnhg
The text was updated successfully, but these errors were encountered: