questions for simulating CrIS data

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #4976
    zhang yuzezhang yuze
    Participant

    I tried to simulate CrIS data with RTTOV11.3, but I found the dnclear(type radiance2) did not match the results by calculating: refldnclear/transmitance/(1-emissivity)?? Why??

    #4977
    James HockingJames Hocking
    Keymaster

    Hi,

    If you could provide an example profile, the RTTOV options you have set and the code which you are using to calculate dnclear from refldnclear, I will try to replicate your results.

    Do you get different values in all channels or only a subset? There may be differences between the two output variables for channels where the total atmospheric transmittance is extremely small.

    You may also see different results if you have the “do_lambertian” option set to true because you would need the modified transmittance used for down-welling radiation which is not output by RTTOV.

    Best wishes,
    James

    #4978
    zhang yuzezhang yuze
    Participant

    Hi.
    Just as you said, I did have the “do_lambertian” option, but if the transmittance is not output by RTTOV? where can I find them??
    I mainly modified the “example_fwd.F90” for running RTTOV11.3. And in my output files, the dnclear radiances are all larger than those of “refldnclear/transmittance/(1-emissivity)” in Thermal Infrared Band.

    My way to calculate dnclear from refldnclear is: refldnclear/ transmittance / (1-0.98)
    (all datas from the output file-“output_example_fwd_dat.myarch”)

    My “prof.dat”:

    !Gas units (must be same for all profiles)
    ! 0 => compatibility mode
    ! 1 => kg/kg over moist air
    ! 2 => ppmv  over moist air
      1
    ! --- Profile 1---
    !
    ! Pressure levels (hPa)
    !
        0.5000
        0.7000
        0.9000
        1.0000
        3.0000
        5.0000
        7.0000
        9.0000
       10.0000
       30.0000
       50.0000
       70.0000
       90.0000
      100.0000
      125.0000
      150.0000
      175.0000
      200.0000
      225.0000
      250.0000
      275.0000
      300.0000
      350.0000
      400.0000
      450.0000
      500.0000
      550.0000
      600.0000
      650.0000
      700.0000
      750.0000
      800.0000
      850.0000
      870.0000
      890.0000
      900.0000
      920.0000
      940.0000
      943.3265
    !
    ! Temperature profile (K)
    !
      257.6621
      259.5344
      259.8041
      258.9142
      242.4482
      235.6834
      233.2316
      231.2092
      230.3543
      220.7903
      218.7428
      218.5946
      218.3115
      218.1322
      217.9706
      217.6094
      216.7205
      215.7370
      215.4025
      215.9623
      217.5079
      220.6437
      226.2933
      231.7394
      238.1398
      243.9127
      248.5589
      253.8801
      258.1974
      262.4710
      267.1523
      271.4980
      273.5824
      274.3837
      275.1874
      275.5901
      276.3973
      277.2068
      277.3417
    !
    ! Water vapour profile (ppmv)
    !
    1.28901e-06
    1.29273e-06
    1.29646e-06
    1.29833e-06
    1.33631e-06
    1.37541e-06
    1.41564e-06
    1.45705e-06
    1.47821e-06
    1.97223e-06
    2.63136e-06
    3.51077e-06
    4.68408e-06
    5.41047e-06
    7.75823e-06
    1.11247e-05
    1.55174e-05
    2.16445e-05
    2.78507e-05
    3.58363e-05
    3.73940e-05
    3.90195e-05
    4.52098e-05
    9.15458e-05
    2.22314e-04
    5.02793e-04
    8.77741e-04
    1.15509e-03
    1.27165e-03
    1.31383e-03
    1.35513e-03
    1.47061e-03
    1.59594e-03
    1.64901e-03
    1.70384e-03
    1.73194e-03
    1.78953e-03
    1.84904e-03
    1.85913e-03
    !
    ! Near-surface variavles: 2m_T (K), 2m_q (ppmv), 2m_p (hPa)
    !
        277.3417      0.0019    943.3265
    !
    ! Skin variables: Skin_T (K)
    !
        272.3893
    !
    ! Surface type (0=land, 1=sea, 2=sea-ice) and water type (0=fresh, 1=ocean) 
    !
      0   0 
    !
    ! Elevation (km), latitude and longitude (degrees)
    !
          0.6259     48.8699    118.5716
    !
    ! Sat. zenith (degrees)
    !
          4.6963

    and part of my “example_fwd.F90”:

      opts % rt_all % use_q2m = .FALSE.
      opts % interpolation % reg_limit_extrap  = .FALSE. 
      opts % rt_all % do_lambertian = .TRUE.  ! Lambertian Surface
      opts % config % apply_reg_limits = .TRUE.  
      opts % rt_ir % do_nlte_correction = .FALSE.
    
      opts % rt_all % addrefrac          = .TRUE.  ! Include refraction in path calc
      opts % rt_ir % addclouds           = .FALSE. ! Don't include cloud effects
      opts % rt_ir % addaerosl           = .FALSE. ! Don't include aerosol effects
    
      opts % rt_ir % ozone_data          = .FALSE. ! Set the relevant flag to .TRUE.
      opts % rt_ir % co2_data            = .FALSE. !   when supplying a profile of the
      opts % rt_ir % n2o_data            = .FALSE. !   given trace gas (ensure the
      opts % rt_ir % ch4_data            = .FALSE. !   coef file supports the gas)
      opts % rt_ir % co_data             = .FALSE. !
      opts % rt_mw % clw_data            = .FALSE. !
    
      opts % config % verbose            = .TRUE.  ! Enable printing of warnings
    #4979
    zhang yuzezhang yuze
    Participant

    1

    #4981
    zhang yuzezhang yuze
    Participant

    Sorry! I had made a mistake. I gave a wrong prof.dat

    !Gas units (must be same for all profiles)
    ! 0 => compatibility mode
    ! 1 => kg/kg over moist air
    ! 2 => ppmv  over moist air
      1
    ! --- Profile 1---
    !
    ! Pressure levels (hPa)
    !
        0.0500
        0.0900
        0.1700
        0.3000
        0.5500
        1.0000
        1.5000
        2.2300
        3.3300
        4.9800
        7.4300
       11.1100
       16.6000
       24.7900
       37.0400
       45.7300
       56.4600
       69.7100
       86.0700
      106.2700
      131.2000
      161.9900
      200.0000
      222.6500
      247.8700
      275.9500
      307.2000
      341.9900
      380.7300
      423.8501
      471.8601
      525.0000
      584.8000
      651.0400
      724.7800
      800.0000
      848.6899
      900.3301
      955.1201
     1013.0000
    !
    ! Temperature profile (K)
    !
      237.0900
      243.9800
      251.4400
      258.4300
      264.6900
      266.3700
      264.1800
      259.6100
      251.1400
      244.2100
      238.9400
      234.7400
      229.4000
      223.4200
      215.6800
      210.7500
      204.1900
      196.4000
      196.2400
      199.0500
      204.2200
      211.0800
      219.3600
      224.6400
      229.9300
      235.4300
      241.1300
      246.9500
      252.5500
      258.2200
      263.7900
      269.3200
      274.5600
      279.9200
      285.0800
      289.0200
      291.4300
      293.3800
      295.3000
      296.8600
    !
    ! Water vapour profile (ppmv)
    !
    2.09470e-06
    2.38310e-06
    2.56530e-06
    2.70190e-06
    2.74740e-06
    2.71710e-06
    2.64120e-06
    2.56530e-06
    2.45900e-06
    2.36790e-06
    2.26170e-06
    2.17060e-06
    2.10990e-06
    2.12510e-06
    2.06440e-06
    1.94290e-06
    1.51790e-06
    2.85700e-06
    5.48110e-06
    1.02620e-05
    1.81670e-05
    3.90790e-05
    6.84590e-05
    9.89150e-05
    1.29370e-04
    1.83220e-04
    2.82450e-04
    5.06060e-04
    7.54930e-04
    1.11600e-03
    1.58170e-03
    2.29350e-03
    3.18080e-03
    4.23320e-03
    5.74590e-03
    7.79360e-03
    9.36110e-03
    1.10300e-02
    1.26300e-02
    1.38200e-02
    !
    ! Near-surface variavles: 2m_T (K), 2m_q (ppmv), 2m_p (hPa)
    !
        296.8600    296.8600   1013.0000
    !
    ! Skin variables: Skin_T (K)
    !
        296.8600
    !
    ! Surface type (0=land, 1=sea, 2=sea-ice) and water type (0=fresh, 1=ocean) 
    !
      0   0 
    !
    ! Elevation (km), latitude and longitude (degrees)
    !
          0.0021     19.2700   -166.6500
    !
    ! Sat. zenith (degrees)
    !
          0.0000
    !
    ! End of porfile
    !

    and part of my “example_fwd.F90”:

      opts % rt_all % use_q2m = .FALSE.
      opts % interpolation % reg_limit_extrap  = .FALSE. 
      opts % rt_all % do_lambertian = .TRUE.  ! Lambertian Surface
      opts % config % apply_reg_limits = .TRUE.  
      opts % rt_ir % do_nlte_correction = .FALSE.
    
      opts % rt_all % addrefrac          = .TRUE.  ! Include refraction in path calc
      opts % rt_ir % addclouds           = .FALSE. ! Don't include cloud effects
      opts % rt_ir % addaerosl           = .FALSE. ! Don't include aerosol effects
    
      opts % rt_ir % ozone_data          = .FALSE. ! Set the relevant flag to .TRUE.
      opts % rt_ir % co2_data            = .FALSE. !   when supplying a profile of the
      opts % rt_ir % n2o_data            = .FALSE. !   given trace gas (ensure the
      opts % rt_ir % ch4_data            = .FALSE. !   coef file supports the gas)
      opts % rt_ir % co_data             = .FALSE. !
      opts % rt_mw % clw_data            = .FALSE. !
    
      opts % config % verbose            = .TRUE.  ! Enable printing of warnings
    #4987
    James HockingJames Hocking
    Keymaster

    Hi,

    Apologies: having looked at the code I can now see there is a bug. You are correct that your expression should still work when do_lambertian is true.

    There is a bug in the calculation of dnclear when the Lambertian option is enabled.

    I have posted a bug fix:
    https://nwp-saf.eumetsat.int/site/software/rttov/rttov-v11/code-updates/

    Best wishes,
    James

    #4989
    zhang yuzezhang yuze
    Participant

    Thanks!
    I have another question. Which SRF is applied in CrIS outputs?
    Does it mean Hamming?

    ‘rtcoef_jpss_0_cris.dat’:

    ! ------------------------------------------------------
    README_SPECTRAL_RESPONSE_FUNCTION
     ! 
    README file for NPP CrIS filter response
    March 1st 2011
    
    The filter relative spectral response is given in the document
    Cross Track Infrared Sounder (CrIS) Sensor Data Records (SDR)
    Algorithm Theoretical Basis Document (ATBD)  D43773 Rev D.
    
    SRF corresponds to the level 1C Hamming apodisation function described here:
     equation (53) of document D43773 rev D
     page 82 Hamming's filter function
     ! ------------------------------------------------------
    #4990
    James HockingJames Hocking
    Keymaster

    Hi,

    Yes, the SRF is the Hamming function.

    James

Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.