wrf-model / WRF

The official repository for the Weather Research and Forecasting (WRF) model
Other
1.18k stars 658 forks source link

Add the capability for assimilating GOES-ABI radiance data #1983

Closed liujake closed 5 months ago

liujake commented 5 months ago

TYPE: new feature

KEYWORDS: ABI, cloud detection, all-sky obs error model

SOURCE: JJ Guerrette (NCAR/MMM, now at tomorrow.io), Deqin Li (Liaoning Meteorological Bureau of CMA), Jake Liu (NCAR/MMM)

DESCRIPTION OF CHANGES: This PR addes the assimilation of GOES-16/17 ABI's 3 water vapor channels' radiance data. This includes reading of ABI's full-disk, CONUS, and meso1&2 data files, superobbing and thinning of ABI data, IR-based cloud detection scheme as part of quality control, and all-sky obs error model. Cloud detection scheme should be the same as for AHI in principle, but the actual code implementation is not the same. No attempt made to make ABI's cloud detection code consistent with AHI's when bringing the code originally developed back in 2019-2020 into the latest develop branch. Some technical information is provided below for the use of this new capability.

  1. Read ABI files: Raw netcdf ABI data files (one file for one channel) need to be listed in 4 list files: 'file_list_GOES-16-ABI_C' for CONUS scan files 'file_list_GOES-16-ABI_F' for full-disk scan files (e.g., OR_ABI-L1b-RadF-M6C08_G16_s20191211200263_e20191211209571_c20191211210021.nc) 'file_list_GOES-16-ABI_M1' for meso1 scan files 'file_list_GOES-16-ABI_M2' for meso2 scan files

ABI data reading code will automatically determine which file(s) to read in matching ABI file's time and analysis time.

  1. Cloud detection scheme needs to read in a terrain file OR_ABI-TERR_G16.nc or OR_ABI-TERR_G17.nc for GOES-16 ABI or GOES-17 ABI.

  2. Related namelist settings:

    &wrfvar4
    use_goesabiobs  = true, ! read goes-16 and goes-17 ABI data
    /
    &wrfvar14
    rtminit_nsensor= 1,
    rtminit_platform=  4, ! goes
    rtminit_satid=  16,      ! goes-16
    rtminit_sensor=  44,  ! abi
    thinning= true,
    thinning_mesh= 30.0,
    qc_rad=true,
    write_iv_rad_ascii=true,
    write_oa_rad_ascii=true,
    rtm_option= 2,
    crtm_cloud= false,
    only_sea_rad=false,
    use_varbc=true,
    varbc_nobsmin=500,
    crtm_irland_coef= "IGBP.IRland.EmisCoeff.bin",
    use_clddet_zz=true, ! IR-based cloud detection
    abi_superob_halfwidth=3, ! this will do supperobbing with 7x7 pixels
    /

See also AHI DA related PRs: https://github.com/wrf-model/WRF/pull/1139 https://github.com/wrf-model/WRF/pull/1173 https://github.com/wrf-model/WRF/pull/1774

LIST OF MODIFIED FILES: 41 M Registry/registry.var M var/build/depend.txt M var/da/da_define_structures/da_define_structures.f90 M var/da/da_monitor/da_rad_diags.f90 M var/da/da_radiance/da_allocate_rad_iv.inc M var/da/da_radiance/da_deallocate_radiance.inc M var/da/da_radiance/da_get_innov_vector_crtm.inc M var/da/da_radiance/da_get_innov_vector_rttov.inc A var/da/da_radiance/da_get_sat_angles.inc A var/da/da_radiance/da_get_sat_angles_1d.inc A var/da/da_radiance/da_get_solar_angles.inc A var/da/da_radiance/da_get_solar_angles_1d.inc M var/da/da_radiance/da_initialize_rad_iv.inc A var/da/da_radiance/da_qc_goesabi.inc M var/da/da_radiance/da_qc_rad.inc M var/da/da_radiance/da_radiance.f90 M var/da/da_radiance/da_radiance1.f90 M var/da/da_radiance/da_radiance_init.inc A var/da/da_radiance/da_read_obs_ncgoesabi.inc M var/da/da_radiance/da_rttov.f90 M var/da/da_radiance/da_setup_radiance_structures.inc M var/da/da_radiance/da_write_iv_rad_ascii.inc M var/da/da_radiance/da_write_oa_rad_ascii.inc M var/da/da_radiance/module_radiance.f90 M var/da/da_setup_structures/da_setup_obs_structures.inc M var/da/da_setup_structures/da_setup_structures.f90 A var/da/da_tools/da_llxy_1d.inc A var/da/da_tools/da_llxy_default_1d.inc A var/da/da_tools/da_llxy_global_1d.inc A var/da/da_tools/da_llxy_kma_global_1d.inc A var/da/da_tools/da_llxy_latlon_1d.inc A var/da/da_tools/da_llxy_lc_1d.inc A var/da/da_tools/da_llxy_merc_1d.inc A var/da/da_tools/da_llxy_ps_1d.inc A var/da/da_tools/da_llxy_rotated_latlon_1d.inc A var/da/da_tools/da_llxy_wrf_1d.inc A var/da/da_tools/da_togrid_1d.inc M var/da/da_tools/da_tools.f90 M var/run/VARBC.in A var/run/radiance_info/goes-16-abi.info A var/run/radiance_info/goes-17-abi.info

TESTS CONDUCTED:

  1. WRFDA regression test passed on Derecho.
  2. Clear-sky ABI DA is tested with a full-disk data file.
  3. the Jenkins tests all passing.

RELEASE NOTE: Add the capability for assimilating GOES-ABI radiance data

liujake commented 5 months ago

goes-16-abi_2019050100-48 goes-16-abi_2019050100-16 goes-16-abi_2019050100-21

liujake commented 5 months ago

Jenkins Regression test results: Test Type | Expected | Received | Failed = = = = = = = = = = = = = = = = = = = = = = = = = = = = Number of Tests : 23 24 Number of Builds : 60 57 Number of Simulations : 158 150 0 Number of Comparisons : 95 86 0

Failed Simulations are: 
None
Which comparisons are not bit-for-bit: 
None