Skip to content

Correct tobs in read_gsb to indicate that the obs are sensible.#997

Merged
RussTreadon-NOAA merged 4 commits intoNOAA-EMC:developfrom
ClaraDraper-NOAA:fix/gsb_tvfg
Apr 16, 2026
Merged

Correct tobs in read_gsb to indicate that the obs are sensible.#997
RussTreadon-NOAA merged 4 commits intoNOAA-EMC:developfrom
ClaraDraper-NOAA:fix/gsb_tvfg

Conversation

@ClaraDraper-NOAA
Copy link
Copy Markdown
Contributor

@ClaraDraper-NOAA ClaraDraper-NOAA commented Apr 6, 2026

Description

Minor edits to correctly identify windborne and saildrone T obs as sensible, not virtual.

Resolves #993
Resolves #996

Type of change

Please delete options that are not relevant.

  • [x ] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Testing underway

Checklist

  • [ x] My code follows the style guidelines of this project
  • [x ] I have performed a self-review of my own code
  • [ x] I have commented my code, particularly in hard-to-understand areas
  • [ x] New and existing tests pass with my changes
  • [x ] Any dependent changes have been merged and published

@ClaraDraper-NOAA
Copy link
Copy Markdown
Contributor Author

Draft while I run the tests.

@ClaraDraper-NOAA
Copy link
Copy Markdown
Contributor Author

ClaraDraper-NOAA commented Apr 6, 2026

Passes the global c-tests - which do not assimilate the windborne or saildrone obs (files aren't included in the test directories). Converting to ready for review.

Let me know if you'd like me to do more testing.

@ClaraDraper-NOAA ClaraDraper-NOAA marked this pull request as ready for review April 6, 2026 20:51
@ClaraDraper-NOAA
Copy link
Copy Markdown
Contributor Author

ClaraDraper-NOAA commented Apr 6, 2026

windborne

The figure shows obs (x-axis) v mod (y_axis) for the original code (in which the obs are understood to be Tv) and this PR (sensible T). C384 example, based on Cory's JEDI g_w test case. For the 285 obs (small sample!) above 275K the stdev of the O-F increases from 0.85 K to 0.91 K. @ADCollard - any chance that the obs are Tv, and have the wrong descriptor?

@RussTreadon-NOAA
Copy link
Copy Markdown
Contributor

@CatherineThomas-NOAA : Do we need the changes from this PR in GFS v17?

@RussTreadon-NOAA RussTreadon-NOAA self-requested a review April 7, 2026 14:26
@ADCollard
Copy link
Copy Markdown
Contributor

@ClaraDraper-NOAA The increase in standard deviation is concerning (and it looks like the bias is also increased). Let me take the time to double check this.

Looking at the stats from a previous run of Windborne there is a negative O-B bias in the lower troposphere. If B changes from sensible to virtual, it will increase and make things worse!

omf_vs_pressure

Also, we have a small bug in Saildrone processing (#993) is it worth bundling the fix in with this?

@CatherineThomas-NOAA
Copy link
Copy Markdown
Collaborator

@RussTreadon-NOAA - Yes, any changes that will be eventually going into ops also need to get into our dev/gfs.v17 branch and the real time. It sounds like #993 is a candidate as well. That said, I'd prefer the additional scrutiny that @ADCollard mentioned before incorporating any new changes.

@ClaraDraper-NOAA
Copy link
Copy Markdown
Contributor Author

@ClaraDraper-NOAA The increase in standard deviation is concerning (and it looks like the bias is also increased). Let me take the time to double check this.

Looking at the stats from a previous run of Windborne there is a negative O-B bias in the lower troposphere. If B changes from sensible to virtual, it will increase and make things worse!

omf_vs_pressure Also, we have a small bug in Saildrone processing (#993) is it worth bundling the fix in with this?

The caveat was that my example was just from the g_w test case I was running, so may not representative.

@ADCollard
Copy link
Copy Markdown
Contributor

ADCollard commented Apr 8, 2026

My logic was wrong in the above comment, if we make this change B goes from Tv to Ts, so O-B will increase. This should improve the O-Bs at low altitudes. I ran 31 GSI cycles and the summary stats are below. "Clara" indeed improves over the control (called "newobs" here).

Screenshot 2026-04-08 at 18 01 55

Copy link
Copy Markdown
Contributor

@ADCollard ADCollard left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for finding this bug!

Copy link
Copy Markdown
Contributor

@RussTreadon-NOAA RussTreadon-NOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approve

@ADCollard
Copy link
Copy Markdown
Contributor

Is it too late to push the changes needed for #993 ?

@RussTreadon-NOAA
Copy link
Copy Markdown
Contributor

@ADCollard : @CatherineThomas-NOAA also mentioned folding #993 into this PR. We can add #993, rerun ctests, approve, and merge.

@ADCollard
Copy link
Copy Markdown
Contributor

@ADCollard : @CatherineThomas-NOAA also mentioned folding #993 into this PR. We can add #993, rerun ctests, approve, and merge.

As I cannot push to Clara's fork, please see ClaraDraper-NOAA#1

@RussTreadon-NOAA
Copy link
Copy Markdown
Contributor

WCOSS2 ctests

Install fix/gsb_tvfg at 407bba6 as updat and develop at 005343a as contrl. Run GSI ctests with the following results

Test project /lfs/h2/emc/da/noscrub/russ.treadon/git/gsi/pr997/build
    Start 1: global_4denvar
    Start 2: rtma
    Start 3: rrfs_3denvar_rdasens
    Start 4: hafs_4denvar_glbens
    Start 5: hafs_3denvar_hybens
    Start 6: global_enkf
1/6 Test #3: rrfs_3denvar_rdasens .............   Passed  1590.22 sec
2/6 Test #5: hafs_3denvar_hybens ..............   Passed  2201.75 sec
3/6 Test #4: hafs_4denvar_glbens ..............   Passed  2446.36 sec
4/6 Test #6: global_enkf ......................   Passed  2456.57 sec
5/6 Test #2: rtma .............................   Passed  3039.18 sec
6/6 Test #1: global_4denvar ...................   Passed  3202.78 sec

100% tests passed, 0 tests failed out of 6

Total Test time (real) = 3202.89 sec

@RussTreadon-NOAA RussTreadon-NOAA self-requested a review April 16, 2026 10:43
Copy link
Copy Markdown
Contributor

@RussTreadon-NOAA RussTreadon-NOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

WCOSS2 ctests pass. Approve.

@RussTreadon-NOAA
Copy link
Copy Markdown
Contributor

@ADCollard and @CatherineThomas-NOAA : We can move this PR forward with your reviews and approvals.

@RussTreadon-NOAA
Copy link
Copy Markdown
Contributor

Will work with GSI review team to schedule this PR for merger today. I assume we want these changes in GFS v17.

@RussTreadon-NOAA RussTreadon-NOAA merged commit db90edf into NOAA-EMC:develop Apr 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

windborne T obs incorrectly assigned Tv flag. Bug in pressure error assignment for saildrones

4 participants