-
Notifications
You must be signed in to change notification settings - Fork 8
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
Hotfix to add releaseTime to adpupa converter #1328
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't believe this is what you want... The reason is that now you've mixed your data set with fields that are grouped by prepbufrDataLevelCategory (latitude, longitude, stationElevation... and so on) with things that are not grouped (timeOffset, specificHumidity)... The problem here is that you've lost your ability to correlate between these fields (for example you can no longer tell how latitude, longitude lines up with specific humidity). You have to be consistent with grouping to make datasets that make sense.
@rmclaren Ah ok, in that case I misunderstand what the bufr |
@haydenlj The relative order stays the same (its not due to sorting). When you group a field what you are doing is reshaping the array. If you don't reshape your arrays in a consistent way then data in those arrays won't line up in the way you expect. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only the grouping issues, rest looks fine.
…SDA-internal/ioda-converters into bugfix/hotfix_for_releaseTime
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can't comment on other parts regarding the grouping. But the release time seems fine with me.
we do not think there is any grouping issue and we would like to have NOAA EMC test this PR to see if it still reproduces the answer you expect. @emilyhcliu please advise |
@BenjaminRuston I will be happy to test this out. |
@BenjaminRuston I tested this PR/ Python script and it is reproducing the expected results. If @emilyhcliu @rmclaren are happy with this new format, I will approve this PR. |
@gthompsnJCSDA I ran ioda-validate.x program on the output file and there were a few errors/ warnings in the final results. A few new prepBUFR variables like prepbufrDataLevelCategory (CAT) and temperatureEventCode (TPC) also need to be added to the ObsSpace.yaml. I will create an issue for this. |
It seems we must already have something similar to DataLevelCategory - could you try to re-use something that is similar, such as |
@emilyhcliu looks like @PraveenKumar-NOAA has tested and happy with result are you ready to move forward |
@gthompsnJCSDA thanks, there is no need to add any extra variables to the ObsSpace.yaml for the adpupa prepbufr. @haydenlj please use ObsValue/verticalSignificance for MetaData/prepbufrDataLevelCategory (CAT) and QCFlags/qualityFlags for the MetaData/temperatureEventCode (TPC), then there will be no error in your ioda-validate.x run, you just need to take care of a few warnings. I can do that easily. |
Ok thanks @PraveenKumar-NOAA I updated the names |
@haydenlj looks like the testoutput may need to be updated:
|
@haydenlj Could you give me the definition of the releaseTime? Is it the earliest time from dateTime of each profile? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me.
print("cycleTimeSinceEpoch") | ||
cycleTimeSinceEpoch = np.int64(calendar.timegm(time.strptime(date, '%Y%m%d%H%M'))) | ||
hrdr = np.int64(hrdr*3600) | ||
hrdr += cycleTimeSinceEpoch | ||
|
||
ulan = np.repeat(hrdr[:,0], hrdr.shape[1]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@emilyhcliu here is the definition of the variable that is used to define the release time which is the first entry of the times array
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@haydenlj had to make one more change to make sure it ran through Skylab
Description
Temporary hotfix to add releaseTime to files output by the new adpupa prepbufr to ioda converter so that output files can be used by Skylab. Can be reverted once the planned more robust additions have been made
Issue(s) addressed
Resolves #1322
Dependencies
none
Impact
Output IODA files can be used in Skylab
Checklist