NOAA-EMC / GDASApp

Global Data Assimilation System Application
GNU Lesser General Public License v2.1
15 stars 31 forks source link

Add precipitation hydrometeors in JEDI #1333

Open jianjunj opened 1 month ago

jianjunj commented 1 month ago

Precipitation hydrometeors rain, snow, and graupel are already added as state and control variables to assimilate AMSUA and ATMS radiance observations in all-sky conditions in GFS. However, they are yet configured in JEDI/UFO. This issue is going to document the JEDI/UFO configurations of AMSUA and ATMS observations, and following evaluations of analysis increments in FV3-JEDI.

jianjunj commented 3 weeks ago

gsi_omb_woBc_vs_HofXDiffwoBc_2024021900_atms_n20_brightnessTemperature1 gsi_omb_vs_jedi_omb_2024021900_atms_n20_brightnessTemperature1

There are nearly perfect matches between GSI/Hofx and UFO/HofX values when hydrometeor control variables include liquid and ice clouds. For example, these two figures shows comparisons of ATMS-N20 HofX values without bias correction (BC) and with BC. These are made by using IODA files transformed from the default standalone GSI outputs with Cori's "anavinfo" file /work2/noaa/da/cmartin/UFO_eval/geovals/GSI/fix/global_anavinfo.l127.txt Same comparisons are made with Andrew's testing files for UFO evaluations in /work2/noaa/da/acollard/UFO_eval/data/gsi_geovals_l127/

jianjunj commented 3 weeks ago

gsi_omb_woBc_vs_HofXDiffwoBc_2024021900_atms_n20_brightnessTemperature1

Screenshot 2024-10-30 at 10 22 15 AM

However, there are inconsistencies between GSI and UFO with my IODA testing files. Liquid and ice clouds are used as state variables in both GSI and UFO. However, there are slight difference in the GSI "anavinfo" file as shown above.

jianjunj commented 3 weeks ago

@ADCollard @CoryMartin-NOAA It turns out that all liquid and ice cloud content are zero in current IODA geoval files for AMSUA and ATMS. Standalone test produce zero-ed cloud with Cory's "anavinfo" files. Here is a files of "mass_content_of_cloud_liquid_water_in_atmosphere_layer" dumped from from "atms_n20_geoval_2024021900.nc4": /work2/noaa/da/jianjun/UFO_eval/data/gsi_geovals_l127/nofgat_feb2024/20240815/qlqi.Andrew/atms_n20.ql.content.txt

I am not exactly sure how the clouds are zero-ed. However, it is likely because "cw" is presented in the "anavinfo". It should be omitted in all-sky configurations.

jianjunj commented 3 weeks ago

@ADCollard It makes UFO HOfX close to GSI HofX to read "cloud fraction" from geoval. Of course, this "cloud fraction" has to be saved from GFS background. Here is a comparison of ATMS_N20 channel 1 hofx differences (UFO hofX - GSI hofX) versus Obs-hofX in GSI without bias correction or quality control. Only liquid and ice clouds are used in this comparison.
gsi_omb_woBc_vs_HofXDiffwoBc_2024021900_atms_n20_brightnessTemperature1

jianjunj commented 3 weeks ago

Here is another comparison of ATMS_N20 channel 1 hofx differences (UFO hofX - GSI hofX) versus Obs-hofX in GSI without bias correction or quality control. All five hydrometeors are used in this comparison.

gsi_omb_woBc_vs_HofXDiffwoBc_2024021900_atms_n20_brightnessTemperature1

jianjunj commented 3 weeks ago

Now, there is an issue in bias correction. UFO HofX values don't match GSI HofX after bias correction even though those values match before bias correction. Here is a comparison between ATMS-N20 Channel 1 UFO Hofx and GSI hofX after bias correction with cloud area fraction as an input from geoval and use only liquid and ice clouds in both GSI and UFO. It is a bit puzzling since the same bias correction coefficient files are use in both GSI and UFO.

gsi_omb_Bc_vs_HofXDiffBc_2024021900_atms_n20_brightnessTemperature1

Here is another comparison of ATMS-N20 channel 15 HofX. Note, there is no bias correction for this channel in GSI or UFO.
gsi_omb_Bc_vs_HofXDiffBc_2024021900_atms_n20_brightnessTemperature15

jianjunj commented 2 weeks ago

It looks like there is an inconsistency in surface type. Here are differences between JEDI and GSI. HofX for ATMS-N20 without bias correction. Note, only liquid and ice clouds are used as cloud inputs. hofxdiffwoBc_map_2024021900_atms_n20_brightnessTemperature1 hofxdiffwoBc_map_2024021900_atms_n20_brightnessTemperature2 hofxdiffwoBc_map_2024021900_atms_n20_brightnessTemperature3 hofxdiffwoBc_map_2024021900_atms_n20_brightnessTemperature4 hofxdiffwoBc_map_2024021900_atms_n20_brightnessTemperature5 hofxdiffwoBc_map_2024021900_atms_n20_brightnessTemperature6 hofxdiffwoBc_map_2024021900_atms_n20_brightnessTemperature7 hofxdiffwoBc_map_2024021900_atms_n20_brightnessTemperature8 hofxdiffwoBc_map_2024021900_atms_n20_brightnessTemperature9 hofxdiffwoBc_map_2024021900_atms_n20_brightnessTemperature10 hofxdiffwoBc_map_2024021900_atms_n20_brightnessTemperature11 hofxdiffwoBc_map_2024021900_atms_n20_brightnessTemperature12 hofxdiffwoBc_map_2024021900_atms_n20_brightnessTemperature13 hofxdiffwoBc_map_2024021900_atms_n20_brightnessTemperature14 hofxdiffwoBc_map_2024021900_atms_n20_brightnessTemperature15 hofxdiffwoBc_map_2024021900_atms_n20_brightnessTemperature16 hofxdiffwoBc_map_2024021900_atms_n20_brightnessTemperature17 hofxdiffwoBc_map_2024021900_atms_n20_brightnessTemperature18 hofxdiffwoBc_map_2024021900_atms_n20_brightnessTemperature19 hofxdiffwoBc_map_2024021900_atms_n20_brightnessTemperature20 hofxdiffwoBc_map_2024021900_atms_n20_brightnessTemperature21 hofxdiffwoBc_map_2024021900_atms_n20_brightnessTemperature22

jianjunj commented 1 week ago

It is seems that bias correction works now using cloud-fraction from geoval. However, UFO hofx, before or after bias correction, just don't match GSI hofx over non-water surface. Differences are relatively large at channels 16-22. The issue seems to be related with some difference in surface characters instead of cloud cover since hofx values match over water.

JEDI hofx - GSI hofx, without bias correction, channel 3: hofxdiffwoBc_map_2024021900_atms_n20_brightnessTemperature3 JEDI hofx - GSI hofx, after bias correction, channel 3: hofxdiff_map_2024021900_atms_n20_brightnessTemperature3

JEDI hofx - GSI hofx, without bias correction, channel 18: hofxdiffwoBc_map_2024021900_atms_n20_brightnessTemperature18 JEDI hofx - GSI hofx, after bias correction, channel 18: hofxdiff_map_2024021900_atms_n20_brightnessTemperature18

jianjunj commented 1 week ago

It turns out that a configuration "Cloud_Seeding: true" in the UFO yaml sets cloud threshold values for CRTM inputs not only over ocean but also over other types of surfaces. However, all cloud values are set to be zero for CRTM inputs in GSI over non-water surfaces. These discrepancies cause differences between GSI and UFO Hofx over land and ice areas. Here are two figures showing nearly identical ATMS-N20 HofX at channels 3 and 18 after bias correction when Cloud_Seeding is set as "false". A new configuration will be added to calculate HofX without clouds over non-water surfaces.

hofxdiff_map_2024021900_atms_n20_brightnessTemperature3 hofxdiff_map_2024021900_atms_n20_brightnessTemperature18