Skip to content
This repository has been archived by the owner on Sep 1, 2022. It is now read-only.

Grib1 Time Coordinates incorrectly constructed #905

Open
lesserwhirls opened this issue Aug 9, 2017 · 0 comments
Open

Grib1 Time Coordinates incorrectly constructed #905

lesserwhirls opened this issue Aug 9, 2017 · 0 comments
Assignees

Comments

@lesserwhirls
Copy link
Collaborator

Attached is a grib1 file with four records of the same variable on the same grid. They differ by the following in the PDS:

Record 1 to 2:
Compare Pds
  18 :   1 !=  14
  20 :   0 !=   1
  21 :   0 !=  10

Record 1 to 3:
Compare Pds
  19 :   0 !=   1

Record 1 to 4:
Compare Pds
  18 :   1 !=  14
  20 :   0 !=   3
  21 :   0 !=  10

That is, only the time information varies. The relevant PDS octets look like the following:

Record 1:

13-17           Reference Time : 2017-08-04T00:00:00Z
18                  Time Units : (1) 1 Hour
19                 Time 1 (P1) : 0
20                 Time 2 (P2) : 0
21        Time Range Indicator : (0) Uninitialized analysis / image product / forecast product valid for RT + P1

Time Value: 2017-08-04T00:00:00Z

Record 2:

13-17           Reference Time : 2017-08-04T00:00:00Z
18                  Time Units : (14) 30 Minute
19                 Time 1 (P1) : 0
20                 Time 2 (P2) : 1
21        Time Range Indicator : (10) product valid at RT + P1, P1 two digits value 18, 19

http:https://www.nco.ncep.noaa.gov/pmb/docs/on388/table5.html
P1 occupies octets 10 and 20 -> 01
Time Value: 2017-08-04T00:30:00Z

Record 3:

13-17           Reference Time : 2017-08-04T00:00:00Z
18                  Time Units : (1) 1 Hour
19                 Time 1 (P1) : 1
20                 Time 2 (P2) : 0
21        Time Range Indicator : (0) Uninitialized analysis / image product / forecast product valid for RT + P1

Time Value: 2017-08-04T01:00:00Z

Record 4:

13-17           Reference Time : 2017-08-04T00:00:00Z
18                  Time Units : (14) 30 Minute
19                 Time 1 (P1) : 0
20                 Time 2 (P2) : 3
21        Time Range Indicator : (10) product valid at RT + P1, P1 two digits value 18, 19

Time Value: 2017-08-04T01:30:00Z

Using toolsUI and the IOSP -> Grib1Collection interface, all four records show up, and the valid forecast times are correct.

However, if we read the grid through the toolsUI CoordSys interface, only three time values are constructed:

Hour since 2017-08-04T00:00:00Z
time =
  {0.0, 1.0, 2.0}

 2017-08-04T00:00:00Z
 2017-08-04T01:00:00Z
 2017-08-04T02:00:00Z

Comparing the actual values in the grid, I can see that the first time coordinate is associated with Record 1, the second with Record 3, and the third with Record 4 - record 2 is skipped.

Both 4.6.x and 5.0 show this behavior.

timeUnitChangeFourRecords.grib1.zip

@lesserwhirls lesserwhirls self-assigned this Aug 9, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant