Skip to content
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

End-to-End test for ABI_g16 and ABI_g17 #115

Open
7 tasks done
azadeh-gh opened this issue Mar 28, 2024 · 17 comments
Open
7 tasks done

End-to-End test for ABI_g16 and ABI_g17 #115

azadeh-gh opened this issue Mar 28, 2024 · 17 comments
Assignees

Comments

@azadeh-gh
Copy link

azadeh-gh commented Mar 28, 2024

  • Generate GSI obs and geoval files for abi
  • Generate abi bc files
  • Phase1:
    - Use Obs and GeoVaLs from GSI
    - Evaluate observer elements: HofX, Bias Correction, obs error and QC in UFO
    - Create and test observer YAML

Phase 2 - End-to-End Test:

  • Create BUFR to IODA converter - python script
  • Create json file for python script
  • Update and add ABI YAMLs to Config
  • Evaluate JEDI vs GSI OmF, QCs , and FinalObsError
@azadeh-gh azadeh-gh self-assigned this Mar 28, 2024
@azadeh-gh
Copy link
Author

azadeh-gh commented May 14, 2024

Phase 1

ABI Quality Control Flowchart in testing

image

@azadeh-gh
Copy link
Author

Created test observer YAML

JEDI and GSI HofX are identical for all channels, both before and after QCs

gsi_hofx_vs_jedi_hofx_abi_g16_diag_2024021900_abi_g16_brightnessTemperature7

gsi_hofx_vs_jedi_hofx_abi_g16_diag_2024021900_abi_g16_brightnessTemperature8
gsi_hofx_vs_jedi_hofx_abi_g16_diag_2024021900_abi_g16_brightnessTemperature9

@azadeh-gh
Copy link
Author

gsi_hofx_vs_obs_abi_g16_diag_2024021900_abi_g16_brightnessTemperature8

gsi_hofx_vs_obs_abi_g16_diag_2024021900_abi_g16_brightnessTemperature9

gsi_hofx_vs_obs_abi_g16_diag_2024021900_abi_g16_brightnessTemperature10

@azadeh-gh
Copy link
Author

GSI vs JEDI omb

gsi_omb_vs_jedi_omb_abi_g16_diag_2024021900_abi_g16_brightnessTemperature7

gsi_omb_vs_jedi_omb_abi_g16_diag_2024021900_abi_g16_brightnessTemperature8

gsi_omb_vs_jedi_omb_abi_g16_diag_2024021900_abi_g16_brightnessTemperature9

@azadeh-gh
Copy link
Author

azadeh-gh commented May 14, 2024

Number of observations passing QCs are equal

PassedQC_Counts_Usedabi_g16_diag_2024021900_abi_g16

PassedQC_Countsabi_g16_diag_2024021900_abi_g16
QCCount_Diff_abi_g16_diag_2024021900_abi_g16

@azadeh-gh
Copy link
Author

azadeh-gh commented May 14, 2024

JEDI obs Error vs GSI obs Error

ObsErr_Difference_abi_g16_diag_2024021900_abi_g16

errordiff_histogram_abi_g16_diag_2024021900_abi_g16_brightnessTemperature7
915-a
errordiff_histogram_abi_g16_diag_2024021900_abi_g16_brightnessTemperature8
3ab-66293cff1c9c)

errordiff_histogram_abi_g16_diag_2024021900_abi_g16_brightnessTemperature9

errordiff_histogram_abi_g16_diag_2024021900_abi_g16_brightnessTemperature10
errordiff_histogram_abi_g16_diag_2024021900_abi_g16_brightnessTemperature11

errordiff_histogram_abi_g16_diag_2024021900_abi_g16_brightnessTemperature12
errordiff_histogram_abi_g16_diag_2024021900_abi_g16_brightnessTemperature13

@azadeh-gh
Copy link
Author

azadeh-gh commented Aug 14, 2024

First Step : Comparing JEDI vs GSI Untinned and No QCs ABI obs at one timestep
We expect to have identical number of observations

Emily_GSIUnthinned_OmF_abi_g16_ch8_Thinned_noQCs_1708290020
obsValue_JEDI_ABI_G16_UnThinned_NOQCs_ch8_1708290020

@azadeh-gh
Copy link
Author

azadeh-gh commented Sep 26, 2024

Next Step is comparing GSI vs JEDI Unthinned but passed QCs for ABI g16 Ch8 at one timestep

The number of obs passing QCs should be similar.
GSI_obsValue_ABI_g16_Ch8_UThined_passedqCs

@azadeh-gh
Copy link
Author

adding Final gross check in JEDI rejects 1000 more observations comparing to GSI.
The number of observations passing QCs using GSI obs file vs JEDI obs file were identical. So the new developed python converter works correct.

@azadeh-gh
Copy link
Author

azadeh-gh commented Oct 11, 2024

GSI vs JEDI observation Errors before adding the final Gross check:

JEDIobserror_AllObs

Emily_GSIUnthinned_OmF_abi_g16_ch8_UnThinned_NoQCs_1708290020

@azadeh-gh
Copy link
Author

GSI vs JEDI observation Errors before adding the final Gross check:
JEDIobserror
GSI_ObsError_abi_g16_ch8_UnThinned_PassedQCs_1708290020

@azadeh-gh
Copy link
Author

Obs Error after adding the Final gross check

Emily_GSIUnthinned_OmF_abi_g16_ch8_UnThinned_NoQCs_1708290020

JEDIobserror_AllObs
JEDIobserror
Emily_GSIUnthinned_OmF_abi_g16_ch8_UnThinned_PassedQCs_1708290020

@azadeh-gh
Copy link
Author

azadeh-gh commented Oct 16, 2024

JEDI vs GSI Passed QCs

JEDI_ObsVlaue_ThinnedPassedQCs

GSI_abi_g16_ch8_Thinned_PassedQCs

@azadeh-gh
Copy link
Author

JEDI vs GSI OmF

JEDI_OmF_ThinnedPassedQCs

GSI_OmFabi_g16_ch8_Thinned_PassedQCs

danholdaway added a commit to NOAA-EMC/jcb-gdas that referenced this issue Oct 30, 2024
[#issue115](NOAA-EMC/JEDI-T2O#115)
This PR adds YAML configuration files for ABI-GOES16 and ABI GOES-17
into JEDI, along with thinning and observation quality control.
This is the NOAA-EMC/jcb-gdas part of the
[#PR1334](NOAA-EMC/GDASApp#1334)
**New files include:**
- `observation_chronicle/atmosphere/abi_g16.yaml` 
- `observation_chronicle/atmosphere/abi_g17.yaml` 
-  `observations/atmosphere/abi_g16.yaml.j2` 
- `observations/atmosphere/abi_g17.yaml.j2`

---------

Co-authored-by: Azadeh Gholoubi <gholoubi@hercules-login-2.hpc.msstate.edu>
Co-authored-by: Azadeh Gholoubi <gholoubi@hercules-login-3.hpc.msstate.edu>
Co-authored-by: Dan Holdaway <27729500+danholdaway@users.noreply.github.com>
CoryMartin-NOAA pushed a commit to NOAA-EMC/GDASApp that referenced this issue Oct 31, 2024
[#115](NOAA-EMC/JEDI-T2O#115)

**New files include:**
- `parm/ioda/bufr2ioda/bufr2ioda_gsrcsr.json` : JSON containing data
format, sensor/bufr2ioda_gsrcsr.json, and satellite information
- `ush/ioda/bufr2ioda/bufr2ioda_gsrcsr.py` : bufr2ioda python code for
converting ABI GOES-16, GOES-17, and GOES-18 from BUFR to IODA
- Also added _abi_ to the observation list in
`jcb-prototype_3dvar.yaml.j2`

Co-authored-by: Azadeh Gholoubi <gholoubi@hercules-login-2.hpc.msstate.edu>
@emilyhcliu
Copy link

@azadeh-gh @ADCollard
Here is the error inflation based on the scene consistency check for ABI
This code section is in qcmod.f90 for geocsr type of radiances

! adjust varinv according to the BT standard deviation
     if( abi .and. i== 2 .or. i==3 .or. i==4 .and. varinv(i) > zero) then
!       if (tb_obs_sdv(2) >0.3_r_kind .and. tb_obs_sdv(2) <=0.4_r_kind) &
        if (tb_obs_sdv(2) >0.4_r_kind .and. tb_obs_sdv(2) <=0.5_r_kind) &
           varinv(i)=varinv(i)/1.32_r_kind
!       if (tb_obs_sdv(2) >0.4_r_kind .and. tb_obs_sdv(2) <=0.6_r_kind) &
        if (tb_obs_sdv(2) >0.5_r_kind .and. tb_obs_sdv(2) <=0.6_r_kind) &
           varinv(i)=varinv(i)/1.67_r_kind
        if (tb_obs_sdv(2) >0.6_r_kind .and. tb_obs_sdv(2) <=0.7_r_kind) &
           varinv(i)=varinv(i)/2.24_r_kind
        if (tb_obs_sdv(2) >0.7_r_kind )  &
           varinv(i)=varinv(i)/2.31_r_kind
     end if
     if(seviri .or. ahi) then
       varinv(i)=varinv(i)
     end if
  end do

@emilyhcliu
Copy link

emilyhcliu commented Nov 6, 2024

@azadeh-gh @ADCollard
The scene consistency check is in qcmod. So, this check should be in the phase-1 YAML. It is still odd that the same check worked in phase-1 but not in phase-2.
For phase 2, this check only worked as expected if the error parameters were modified.
I think it would be good to go back to check if the updated YAML would work for phase 1.

@azadeh-gh
Copy link
Author

@emilyhcliu Yes, The values were not correct in phase one but worked! By applying the correct inflation number in Phase two the GSI vs JEDI obs error were matched.

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

No branches or pull requests

2 participants