This issue arose via the dtcenter/METplus#2599. @gsketefian points out that the PB2NC tool does not create reproducible results for MET version 11.1.0. Testing reveals that the differences arise when deriving the following 2 PBL observations:
Note that bad values being passed as input the calpbl_ function.
This bad data arises during the pressure-level-reversal step. Pressure level data is read from the PREPBUFR file in decreasing pressure level order (i.e. surface level first). The PBL derivation logic expects data in the opposite order (i.e. surface level last). The bug occurs in the reversal step.
For this issue, simply cherry-pick that commit from develop into main_v11.1 and confirm that the log messages listed above no longer contain garbage values.
To Reproduce
Go to seneca:/d1/projects/METplus/discussions/2599 and run test_pb2nc.sh.
Relevant Deadlines
List relevant project deadlines here or state NONE.
Funding Source
Define the source of funding and account keys here or state NONE.
Define the Metadata
Assignee
[x] Select engineer(s) or no engineer required
[ ] Select scientist(s) or no scientist required
Labels
[x] Review default alert labels
[x] Select component(s)
[x] Select priority
[x] Select requestor(s)
Milestone and Projects
[x] Select Milestone as the next bugfix version
[x] Select Coordinated METplus-X.Y Support project for support of the current coordinated release
[x] Select MET-X.Y.Z Development project for development toward the next official release
Define Related Issue(s)
Consider the impact to the other METplus components.
[ ] Complete the issue definition above, including the Time Estimate and Funding Source.
[ ] Fork this repository or create a branch of main_\.
Branch name: bugfix_<Issue Number>_main_<Version>_<Description>
[ ] Fix the bug and test your changes.
[ ] Add/update log messages for easier debugging.
[ ] Add/update unit tests.
[ ] Add/update documentation.
[ ] Push local changes to GitHub.
[ ] Submit a pull request to merge into main_\.
Pull request: bugfix <Issue Number> main_<Version> <Description>
[ ] Define the pull request metadata, as permissions allow.
Select: Reviewer(s) and Development issue
Select: Milestone as the next bugfix version
Select: Coordinated METplus-X.Y Support project for support of the current coordinated release
[ ] Iterate until the reviewer(s) accept and merge your changes.
[ ] Delete your fork or branch.
[ ] Complete the steps above to fix the bug on the develop branch.
Branch name: bugfix_<Issue Number>_develop_<Description>
Pull request: bugfix <Issue Number> develop <Description>
Select: Reviewer(s) and Development issue
Select: Milestone as the next official version
Select: MET-X.Y.Z Development project for development toward the next official release
Describe the Problem
This issue arose via the dtcenter/METplus#2599. @gsketefian points out that the PB2NC tool does not create reproducible results for MET version 11.1.0. Testing reveals that the differences arise when deriving the following 2 PBL observations:
Here's detailed log output that demonstrate the issue:
Note that bad values being passed as input the
calpbl_
function. This bad data arises during the pressure-level-reversal step. Pressure level data is read from the PREPBUFR file in decreasing pressure level order (i.e. surface level first). The PBL derivation logic expects data in the opposite order (i.e. surface level last). The bug occurs in the reversal step.This bug does NOT exist in the develop branch since it was fixed by this commit: f051fac88e9e5e2632d2c9ef38de8fa8a3315fc3
For this issue, simply cherry-pick that commit from develop into main_v11.1 and confirm that the log messages listed above no longer contain garbage values.
To Reproduce
Go to
seneca:/d1/projects/METplus/discussions/2599
and runtest_pb2nc.sh
.Relevant Deadlines
List relevant project deadlines here or state NONE.
Funding Source
Define the source of funding and account keys here or state NONE.
Define the Metadata
Assignee
Labels
Milestone and Projects
Define Related Issue(s)
Consider the impact to the other METplus components.
Bugfix Checklist
See the METplus Workflow for details.
bugfix_<Issue Number>_main_<Version>_<Description>
bugfix <Issue Number> main_<Version> <Description>
bugfix_<Issue Number>_develop_<Description>
Pull request:bugfix <Issue Number> develop <Description>
Select: Reviewer(s) and Development issue Select: Milestone as the next official version Select: MET-X.Y.Z Development project for development toward the next official release