Skip to content

Height Adjustment of Background 10-m Wind Gust When Analyzing Near-surface Wind Gust observations in GSI for HRRR-3DRTMA#863

Merged
ShunLiu-NOAA merged 6 commits into
NOAA-EMC:developfrom
GangZhao-NOAA:feature/gust_heightadjust_rtma3d
Apr 24, 2025
Merged

Height Adjustment of Background 10-m Wind Gust When Analyzing Near-surface Wind Gust observations in GSI for HRRR-3DRTMA#863
ShunLiu-NOAA merged 6 commits into
NOAA-EMC:developfrom
GangZhao-NOAA:feature/gust_heightadjust_rtma3d

Conversation

@GangZhao-NOAA
Copy link
Copy Markdown
Contributor

Description

Motivation

  • A fair amount of near-surface wind gust observations in MESONET have their wind sensors mounted at the height which is NOT 10 meters as reported. Usually these observations were analyzed at the height of 10 meters. In order to analyze these near-surface wind gust observations more accurately at their real heights and improve the analysis of 3DRTMA, it is necessary to adjust the height of background 10-m wind gust to the real observation height in the analysis of wind gust correspondingly.

Method

  • The height adjustment scheme is based on the Similarity Theory for turbulence boundary layer. In fact, it already had been implemented in GSI (by @ManuelPondeca-NOAA, @StevenLevine-NOAA and @xyzemc a few years ago) for 2DRTMA/URMA (see the if-block of "if(zob < ten)" in setupgust.f90). In this work, the same code would be also used for 3DRTMA run.
  • Need to add code in GSI read in the Roughness Length (ZNT) from the firstguess file, or using the default value of roughness set in GSI for regional analysis (which is 0.05, might be too small for some area).

Summary_of_Changes_in_GSI
See this Google document -- "Notes on Changes in GSI for Height Adjustment in Analysis of Wind Gust"

Fixes Issue #857

Type of change

Please delete options that are not relevant.

  • New feature (non-breaking change which adds functionality)

How Has This Been Tested?

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have a google doc to describe the modifications in GSI code briefly.
  • New and existing tests pass with my changes
  • Any dependent changes have been merged and published
  • The modified GSI code has been tested successfully with read-case data.
  • Ctests (ie the regression tests in GSI package):
    my updated GSI commit #d69a6fd vs control/original GSI code (commit #bed9513)
    Here is the reports of the regression tests on WCOSS2 (Dogwood):
[gang.zhao@dlogin04:build] (feature/gust_heightadjust_rtma3d)$ ctest -N
Test project /lfs/h2/emc/da/save/gang.zhao/WorkDir/ProdGSI_dev/gsi_dev/build
  Test #1: global_4denvar
  Test #2: rtma
  Test #3: rrfs_3denvar_rdasens
  Test #4: hafs_4denvar_glbens
  Test #5: hafs_3denvar_hybens
  Test #6: global_enkf

Total Tests: 6
[gang.zhao@dlogin04:build] (feature/gust_heightadjust_rtma3d)$ ctest -j 6
Test project /lfs/h2/emc/da/save/gang.zhao/WorkDir/ProdGSI_dev/gsi_dev/build
    Start 1: global_4denvar
    Start 6: global_enkf
    Start 5: hafs_3denvar_hybens
    Start 4: hafs_4denvar_glbens
    Start 2: rtma
    Start 3: rrfs_3denvar_rdasens
1/6 Test #3: rrfs_3denvar_rdasens .............   Passed  733.38 sec
2/6 Test #2: rtma .............................   Passed  1037.02 sec
3/6 Test #5: hafs_3denvar_hybens ..............   Passed  1224.00 sec
4/6 Test #4: hafs_4denvar_glbens ..............   Passed  1284.30 sec
5/6 Test #6: global_enkf ......................   Passed  1421.81 sec
6/6 Test #1: global_4denvar ...................   Passed  1984.63 sec

100% tests passed, 0 tests failed out of 6

Total Test time (real) = 1984.66 sec

Here is the reports of the regression tests on Hera:

(work-env2) [Gang.Zhao@hfe09:build] (feature/gust_heightadjust_rtma3d)$ ctest -N
Test project /scratch1/NCEPDEV/da/Gang.Zhao/ProdGSI_dev/gsi_dev/build
  Test #1: global_4denvar
  Test #2: rtma
  Test #3: rrfs_3denvar_rdasens
  Test #4: hafs_4denvar_glbens
  Test #5: hafs_3denvar_hybens
  Test #6: global_enkf

Total Tests: 6
(work-env2) [Gang.Zhao@hfe09:build] (feature/gust_heightadjust_rtma3d)$ ctest -j 6
Test project /scratch1/NCEPDEV/da/Gang.Zhao/ProdGSI_dev/gsi_dev/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  2125.71 sec
2/6 Test #6: global_enkf ......................   Passed  2983.98 sec
3/6 Test #4: hafs_4denvar_glbens ..............   Passed  3041.14 sec
4/6 Test #5: hafs_3denvar_hybens ..............   Passed  3044.78 sec
5/6 Test #1: global_4denvar ...................   Passed  4199.23 sec
6/6 Test #2: rtma .............................   Passed  17081.38 sec

100% tests passed, 0 tests failed out of 6

Total Test time (real) = 17081.41 sec

 mesonet near-surface wind gust observations in HRRR-based 3DRTMA.
1. adding code to turn on the wind height adjustment for 3DRTMAr, using the code
   already implemented in GSI for 2DRTMA/URMA;
2. adding code to read surface roughness from WRF-ARW firstguess,
   which is used in the height-adjustment scheme based on Similarity theory
   (developed by Steve Levine, Xiaoyang Zhang and Manuel for 2DRTMA.)
@RussTreadon-NOAA
Copy link
Copy Markdown
Contributor

Does the rtma ctest exercise the new functionality added by this PR? If not, how have the changes in this PR been tested and confirmed to work as intended?

Will this code be implemented in operations? A debug gsi.x was built from GangZhao-NOAA:feature/gust_heightadjust_rtma3d. The rtma ctest seg faults with the debug gsi.x.

 ### 2d auto correlation model - subdomain mode ###
forrtl: error (65): floating invalid
Image              PC                Routine            Line        Source
gsi.x              000000000806D16B  Unknown               Unknown  Unknown
libpthread-2.31.s  0000148239671910  Unknown               Unknown  Unknown
gsi.x              000000000373B0E0  anisofilter_mp_ge        5418  anisofilter.f90
gsi.x              000000000352478A  anisofilter_mp_an         456  anisofilter.f90
gsi.x              000000000406F456  glbsoi_                   253  glbsoi.f90
gsi.x              00000000010C3F18  gsisub_                   200  gsisub.F90
gsi.x              000000000042C817  gsimod_mp_gsimain        2442  gsimod.F90
gsi.x              00000000004136CB  MAIN__                    633  gsimain.f90
gsi.x              0000000000413522  Unknown               Unknown  Unknown

A debug gsi.x built from develop may also seg fault. I did not run this test.

It's my understanding that NCO pre-implementation testing requires applications to be built and run in debug mode.

@TingLei-NOAA
Copy link
Copy Markdown
Contributor

@RussTreadon-NOAA Thanks!
@GangZhao-NOAA For the floating invalid issue with rtma ctest with debug mode GSIi, you could check out the fix in https://github.com/NOAA-EMC/GSI/pull/862/files#diff-05e2d4ea2ee6384da86e8e14bd7e8fcb42ad4d07026f3fea5d32f9bf23c0d4a9.
I will finish the reviewing as soon as possible.

@GangZhao-NOAA
Copy link
Copy Markdown
Contributor Author

Does the rtma ctest exercise the new functionality added by this PR? If not, how have the changes in this PR been tested and confirmed to work as intended?

Will this code be implemented in operations? A debug gsi.x was built from GangZhao-NOAA:feature/gust_heightadjust_rtma3d. The rtma ctest seg faults with the debug gsi.x.

 ### 2d auto correlation model - subdomain mode ###
forrtl: error (65): floating invalid
Image              PC                Routine            Line        Source
gsi.x              000000000806D16B  Unknown               Unknown  Unknown
libpthread-2.31.s  0000148239671910  Unknown               Unknown  Unknown
gsi.x              000000000373B0E0  anisofilter_mp_ge        5418  anisofilter.f90
gsi.x              000000000352478A  anisofilter_mp_an         456  anisofilter.f90
gsi.x              000000000406F456  glbsoi_                   253  glbsoi.f90
gsi.x              00000000010C3F18  gsisub_                   200  gsisub.F90
gsi.x              000000000042C817  gsimod_mp_gsimain        2442  gsimod.F90
gsi.x              00000000004136CB  MAIN__                    633  gsimain.f90
gsi.x              0000000000413522  Unknown               Unknown  Unknown

A debug gsi.x built from develop may also seg fault. I did not run this test.

It's my understanding that NCO pre-implementation testing requires applications to be built and run in debug mode.

@RussTreadon-NOAA
Hi Russ,

Thank you so much for the questions.

I have not compiled GSI in "DEBUG" mode and tested the debug gsi.x yet. I will do this test soon and let you know what I find. As the error message you showed with the rtma ctest,
"gsi.x 000000000373B0E0 anisofilter_mp_ge 5418 anisofilter.f90"

For 3DRTMA, it is based on hybrid 3DEnVar, not (2D)RTMA, so 3DRTMA run does not call subroutines in "anisofilter.f90", since anisotropic recursive filter is mainly used in (2D)RTMA applications. So I assume 3DRTMA run with debug gsi.x should not crash in anisofilter since 3DVar analysis does not use it. But definitely that is an issue for RTMA CTest.

@TingLei-NOAA
Ting also pointed me to his PR #862 about the debug mode issue with regional 3DVar issue. So maybe his PR #862 may fix this issue. Should I wait for his PR#862? But it seems that this PR #862 will merge to branch "release/rrfsv1.0.0.0", not branch "develop".?

-Gang

@GangZhao-NOAA
Copy link
Copy Markdown
Contributor Author

@RussTreadon-NOAA Thanks! @GangZhao-NOAA For the floating invalid issue with rtma ctest with debug mode GSIi, you could check out the fix in https://github.com/NOAA-EMC/GSI/pull/862/files#diff-05e2d4ea2ee6384da86e8e14bd7e8fcb42ad4d07026f3fea5d32f9bf23c0d4a9. I will finish the reviewing as soon as possible.

@TingLei-NOAA @RussTreadon-NOAA
Hi Ting and Russ,
Thank you so much for pointing me to your PR @862. It seems that it could fix the issue with debug gsi.x in regional run. But it seems that this PR #862 would not merge Ting's modifications to branch "develop", instead to branch "release/rrfsv1.0.0.0". So will there be another PR from Ting to merge his modifications to "develop" branch?

Thank you!

-Gang

@RussTreadon-NOAA
Copy link
Copy Markdown
Contributor

@GangZhao-NOAA , you are right. PR #862 will not enter develop but as @TingLei-NOAA notes there may be changes in PR #862 that help regional GSI applications.

We don't require GSI PRs to pass a debug test. NCO pre-implementation testing requires a successful debug test. Since NOAA-EMC/GSI supports operations and future GSI -based implementations, GSI developers should think ahead, test for debug failures, and fix any failures before sending code to NCO.

@TingLei-NOAA
Copy link
Copy Markdown
Contributor

@GangZhao-NOAA Yes. the PR#862 will not go into develop branch. You could add that change to your branch if you are satisfied with that fix. And I think that is always a good practice to let debug mode GSI finish its runs successfully.

…ion)

to calcualte the wind reduction factor used in analysis of near-surface
wind gust for 3DRTMA.
are only needed for non-neutral scheme, not neutral scheme.
@GangZhao-NOAA
Copy link
Copy Markdown
Contributor Author

@TingLei-NOAA @guoqing-noaa @hu5970 @ManuelPondeca-NOAA @MatthewMorris-NOAA @AnnetteGibbs-NOAA,
Hi all,

I made some changes to the code, mainly in setupgust.f90 and read_prepbufr.f90. In brief, the modifications include adding new subroutine rtma3d_comp_fact10 in setupgust.f90 to calculate the "factw" at the observation height under non-neutral conditions in PBL, and fixing an issue that zges(1), mid-layer height of model bottom layer at obs location, was re-set to 10 meters in 3DRTMA run, but over 75% wind gust obs from type 180 were rejected. For details, see the updated google doc -- "Notes on Changes in GSI for Height Adjustment in Analysis of Wind Gust".
The latest commit is a7c9c85.

Please review this PR #863 with the latest committed code.

The latest commit passed all of 6 the current GSI CTests on Hera and WCOSS2 (Cactus). Here are the brief results of the CTests:
On Hera:

(work-env2) [Gang.Zhao@hfe11:build] (feature/gust_heightadjust_rtma3d)$ ctest -N
Test project /scratch1/NCEPDEV/da/Gang.Zhao/ProdGSI_dev/gsi_dev/build
  Test #1: global_4denvar
  Test #2: rtma
  Test #3: rrfs_3denvar_rdasens
  Test #4: hafs_4denvar_glbens
  Test #5: hafs_3denvar_hybens
  Test #6: global_enkf

Total Tests: 6
(work-env2) [Gang.Zhao@hfe11:build] (feature/gust_heightadjust_rtma3d)$ ctest -j 6
Test project /scratch1/NCEPDEV/da/Gang.Zhao/ProdGSI_dev/gsi_dev/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  2996.00 sec
2/6 Test #6: global_enkf ......................   Passed  4186.75 sec
3/6 Test #5: hafs_3denvar_hybens ..............   Passed  5623.29 sec
4/6 Test #4: hafs_4denvar_glbens ..............   Passed  5771.97 sec
5/6 Test #1: global_4denvar ...................   Passed  5850.76 sec
6/6 Test #2: rtma .............................   Passed  6111.25 sec

100% tests passed, 0 tests failed out of 6

Total Test time (real) = 6111.30 sec

On WCOSS2 (Cactus):

[gang.zhao@clogin05:build] (feature/gust_heightadjust_rtma3d)$ ctest -N
Test project /lfs/h2/emc/da/save/gang.zhao/WorkDir/ProdGSI_dev/gsi_dev/build
  Test #1: global_4denvar
  Test #2: rtma
  Test #3: rrfs_3denvar_rdasens
  Test #4: hafs_4denvar_glbens
  Test #5: hafs_3denvar_hybens
  Test #6: global_enkf

Total Tests: 6
[gang.zhao@clogin05:build] (feature/gust_heightadjust_rtma3d)$ ctest -j 6
Test project /lfs/h2/emc/da/save/gang.zhao/WorkDir/ProdGSI_dev/gsi_dev/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  1394.60 sec
2/6 Test #5: hafs_3denvar_hybens ..............   Passed  1823.87 sec
3/6 Test #4: hafs_4denvar_glbens ..............   Passed  1884.89 sec
4/6 Test #6: global_enkf ......................   Passed  2074.28 sec
5/6 Test #2: rtma .............................   Passed  2177.87 sec
6/6 Test #1: global_4denvar ...................   Passed  2644.39 sec

100% tests passed, 0 tests failed out of 6

Total Test time (real) = 2644.41 sec

Thank you!

-Gang

@GangZhao-NOAA
Copy link
Copy Markdown
Contributor Author

@RussTreadon-NOAA @TingLei-NOAA @ShunLiu-NOAA @hu5970
Hi Russ and Ting,
Following your questions and comments in our previous conversations,

Does the rtma ctest exercise the new functionality added by this PR?

No. Current RTMA ctest does NOT exercise the new functionality added by this PR #863 . My current work (including this PR #863) are oriented for 3DRTMA (usually in GSI code, the new functions/features are controlled by specific options, such as "l_rtma3d). So regular RTMA, and other DA applications (such as Global DA, Regional DA, etc.) should not use any of these new features, and also their results and performance should not be influenced by these new features. The modified code passed the all of the 6 GSI regression tests. And I also ran the original GSI code and my modified GSI code in a real case, the results are identical, noting that when running my modified GSI code, the new features were turned off.
I discussed with Manuel about adding a new ctest for 3DRTMA. Manuel said we will do this soon after the fully-equipped HRRR-based 3DRTMA system are set up and tested.

If not, how have the changes in this PR been tested and confirmed to work as intended?

The new feature was tested in the same real case. The main purpose of this PR #863, is to "re-calculate" the wind reduction factor "factw" to the actual observation sensor height, instead of at the standard value 10 meters, for the Mesonet wind gust observations. The "re-computed" factw and original factw are both stored in the obs-diag file for wind gust (in netcdf format). In obs diag file from the real case test run, the values of re-calculated factw are generally adjusted to a smaller value (<1), compared to the original factw (=1.0). This is as expected, since the actual heights of wind sensor of a fair amount of mesonet obs are lower than 10 meters (such as 7, 5, or even 2 meters), correspondingly the adjusted factw should be reduced furtherly.

Will this code be implemented in operations? A debug gsi.x was built from GangZhao-NOAA:feature/gust_heightadjust_rtma3d. The rtma ctest seg faults with the debug gsi.x.

Yes, this code would be implemented in operations later. I compiled the code in debug mode, and ran the 6 ctests, they all crashed due to floating invalid, except for global_enkf test which passed. Currently the issue with debug mode is beyond the scope of this PR #863 and related Issue #857. I will re-visit the issue with debug mode GSI soon.

@ShunLiu-NOAA
Copy link
Copy Markdown
Contributor

ShunLiu-NOAA commented Apr 23, 2025

@guoqing-noaa @ManuelPondeca-NOAA @TingLei-NOAA @MatthewMorris-NOAA @AnnetteGibbs-NOAA If you have a chance, could you please review this PR? Thanks.

Comment thread src/gsi/windht.f90 Outdated
! do n = 1, ncount
! write(6,'(1x,A,2X,A16,2X,F5.2,2x,I3.3)')'readin_windht_list::prov+subrpov height:',provlist(n), heightlist(n), n
! end do

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Please clean those commented code.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@hu5970
Hi Ming,

I am going to clean these commented lines very soon.

Thank you!

-Gang

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@hu5970
Hi Ming,

Those commented lines were cleaned off. You may go ahead check the updated code now.
Thank you!

-Gang

Comment thread src/gsi/setupgust.f90 Outdated
if (neutral_stability_windfact_2dvar) then
sfcr = data(isfcr,i)
factw=log(max(sfcr,zob)/sfcr)/log(ten/sfcr)
i_factw = 3
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

the additional i_factw will change behavior of the previous codes? or it is a fix missing in previous codes?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@TingLei-NOAA
Hi Ting,

This new variable, i_factw, does not change the behavior of the code, and it is also not a fix to the code. It actually has no any influence to the results of the code. I just used i_factw to mark the way how "factw" was re-computed or adjusted, and output it in the netcdf-format obs-diag file.

It might cause some confusion, so I will remove it from the code.

Thank you for pointing this out!

-Gang

Comment thread src/gsi/setupgust.f90 Outdated
else if(l_rtma3d) then
call rtma3d_comp_fact10_(dlat,dlon,dtime,zob,skint,sfcr,isli,mype,factw)
end if
i_factw = 4
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

OK, I see, i_factw is a new variable incorporated in this PR.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@TingLei-NOAA
Hi Ting,

I removed the variable i_factw. You may check the updated code now.

Thank you!

-Gang

…ind gust analysis:

1. cleaning off a few commented lines in windht.f90
2. removing the previously-added variable i_factw in setupgust.f90
@GangZhao-NOAA
Copy link
Copy Markdown
Contributor Author

GangZhao-NOAA commented Apr 23, 2025

@TingLei-NOAA @hu5970 @guoqing-noaa @AnnetteGibbs-NOAA @MatthewMorris-NOAA @ManuelPondeca-NOAA @ShunLiu-NOAA @RussTreadon-NOAA
Hi all,

There was an update to develop branch of official EMC-GSI, so I merged this latest update to my working branch. Then following Ming and Ting's comments, I cleaned off the commented lines in windht.f90 and removed the variable "i_factw" (which was just added in the previous commit of this same PR) in setupgust.f90, this variable has no any influence to the results.

So now the code for this PR has been updated. I also re-ran Regression tests with GSI Ctest Suite on WCOSS2 and Hera. It passed all the 6 tasks of the CTest on WCOSS2 Cactus and Hera.

The changes are very trivial, so if you already approved this PR on the previous commit, I am sure your approvals are still good for this one, if you do not have time, you do not need to re-review this commit. If you have not review this PR yet, you may check the code now.

Thank you very much!

Here are the brief report of CTests on WCOSS2 Cactus:

[gang.zhao@clogin08:build] (feature/gust_heightadjust_rtma3d)$ ctest -N
Test project /lfs/h2/emc/da/save/gang.zhao/WorkDir/ProdGSI_dev/gsi_dev/build
  Test #1: global_4denvar
  Test #2: rtma
  Test #3: rrfs_3denvar_rdasens
  Test #4: hafs_4denvar_glbens
  Test #5: hafs_3denvar_hybens
  Test #6: global_enkf

Total Tests: 6
[gang.zhao@clogin08:build] (feature/gust_heightadjust_rtma3d)$ ctest -j 6
Test project /lfs/h2/emc/da/save/gang.zhao/WorkDir/ProdGSI_dev/gsi_dev/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  860.40 sec
2/6 Test #2: rtma .............................   Passed  1221.37 sec
3/6 Test #5: hafs_3denvar_hybens ..............   Passed  1229.12 sec
4/6 Test #4: hafs_4denvar_glbens ..............   Passed  1470.93 sec
5/6 Test #6: global_enkf ......................   Passed  1556.66 sec
6/6 Test #1: global_4denvar ...................   Passed  1988.27 sec

100% tests passed, 0 tests failed out of 6

Total Test time (real) = 1988.29 sec

Here are the results from CTests running on Hera:

(work-env2) [Gang.Zhao@hfe11:build] (feature/gust_heightadjust_rtma3d)$ ctest -N
Test project /scratch1/NCEPDEV/da/Gang.Zhao/ProdGSI_dev/gsi_dev/build
  Test #1: global_4denvar
  Test #2: rtma
  Test #3: rrfs_3denvar_rdasens
  Test #4: hafs_4denvar_glbens
  Test #5: hafs_3denvar_hybens
  Test #6: global_enkf

Total Tests: 6
(work-env2) [Gang.Zhao@hfe11:build] (feature/gust_heightadjust_rtma3d)$ ctest -j 6
Test project /scratch1/NCEPDEV/da/Gang.Zhao/ProdGSI_dev/gsi_dev/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  980.21 sec
2/6 Test #5: hafs_3denvar_hybens ..............   Passed  2252.22 sec
3/6 Test #6: global_enkf ......................   Passed  2300.58 sec
4/6 Test #1: global_4denvar ...................   Passed  2760.15 sec
5/6 Test #4: hafs_4denvar_glbens ..............   Passed  3211.86 sec
6/6 Test #2: rtma .............................   Passed  5963.60 sec

100% tests passed, 0 tests failed out of 6

Total Test time (real) = 5963.68 sec

@ShunLiu-NOAA ShunLiu-NOAA merged commit d861384 into NOAA-EMC:develop Apr 24, 2025
@GangZhao-NOAA GangZhao-NOAA deleted the feature/gust_heightadjust_rtma3d branch April 26, 2025 00:20
xyzemc pushed a commit to xyzemc/GSI_develop-v16-tms that referenced this pull request Feb 27, 2026
…rface Wind Gust observations in GSI for HRRR-3DRTMA (NOAA-EMC#863)

- The height adjustment scheme is based on the Similarity Theory for
turbulence boundary layer. In fact, it already had been implemented in
GSI (by @ManuelPondeca-NOAA, @StevenLevine-NOAA and @xyzemc a few years
ago) for 2DRTMA/URMA (see the if-block of "if(zob < ten)" in
setupgust.f90). In this work, the same code would be also used for
3DRTMA run.
- Need to add code in GSI read in the Roughness Length (ZNT) from the
firstguess file, or using the default value of roughness set in GSI for
regional analysis (which is 0.05, might be too small for some area).
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.

8 participants