-
Notifications
You must be signed in to change notification settings - Fork 0
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
Error in potential temperature values for cold-air-outbreak quality control in all-sky. #821
Comments
So, the |
The top plot below is the stability calculation from potential temperature using the current GSI code. It looks like the stability calculation (< 12) catches the unstable regions (top plot). I think the impact of the bug in real and integer definitions for Thanks for finding and fixing the bug. |
@emilyhcliu Yes, they should be "r_kind". I also had thought "i_kind" was fine. :) |
WCOSS2 test Clone GSI
Compile modified code along with unaltered copy of
The global_4denvar regression case is a low resolution (C48L127) analysis for 20240223 00Z. This case may not contain condition which trigger the CAO check. Run operational 20250110 00Z gdas case using unaltered
The following satellite_sensor differ for
For each case the modified Here are relevant directories for this test
Note: While the GSI runs were configured to generate o-g and o-a diagnostics, the job script did not concatenate the pe specific diagnostic files into radstat files. The above run directories remain on disk so others can assemble radstat files if they want to more closely examine differences. |
@RussTreadon-NOAA Thanks so much for doing these tests.
Do I understand correctly? If so, the impact may be small. |
Yes, @emilyhcliu , your understanding is correct. |
Thank you very much, Russ. The difference is tiny. I could not match the potential temperature at 700 hPa made by GSI and by my UFO function. Eventual traced the difference to the data types. Also, @emilyhcliu is right that "The definition of i_kind rounds down the dprs and dprs_min". I made a mistake to print out values when I debug it yesterday. |
I had one simple run using the data for UFO tests and got 7 more observations tossed out by the cold-air-outbreak (qc_flag=12) but 7 fewer observations tossed out by another QC check. In other words, I got the same number of data passing quality control. In addition, there is zero difference in OmF and Obs Error after QC.
The difference in the cold-air-outbreak is because model pressure levels have the unit of "hPa" and the nearest grid level to 700 hPa can be incorrectly identified for the calculation of potential temperature at 700 hPa when the difference in pressure values is round off. Here is an example that the level is identified to level 87 instead of level 88 which is closer to 700 hPa.
In conclusion, this issue is negligible though the minor correction is needed. |
Atmospheric stability is used to check cold-air-outbreak in all-sky assimilations. It is the difference between background potential temperature near 700 hPa and those at surface. These potential temperature values near 700 hPa are incorrectly calculated in crtm_interface.f90.
Atmospheric pressure and temperature at the nearest model level to 700 hPa are used to calculate potential temperature in crtm_interface.f90. See line 2204 - 2208
https://github.com/NOAA-EMC/GSI/blob/develop/src/gsi/crtm_interface.f90#L2204
and
https://github.com/NOAA-EMC/GSI/blob/develop/src/gsi/crtm_interface.f90#L2214
Pressure differences "dprs" and "dprs_min" are used to search the nearest model grid. They are assigned by "real_kind" values. https://github.com/NOAA-EMC/GSI/blob/develop/src/gsi/crtm_interface.f90#L2067
However, they are defined as "i_kind" values by the line "integer(i_kind):: idx700,dprs,dprs_min":
https://github.com/NOAA-EMC/GSI/blob/develop/src/gsi/crtm_interface.f90#L1164
This creates wrong values, which are mostly zeros, for "dprs" and "dprs_min" and yields wrong model level id (idx700) for the calculation of potential temperature.
This bug potentially has a minor impact in some (AMSU-A and ATMS) microwave radiance data selection in all-sky conditions.
The text was updated successfully, but these errors were encountered: