Satellite Application Facility for Numerical Weather Prediction › Forums › RTTOV › Older Versions › RTTOV 11 › RTTOV 11 General Discussion › questions for simulating CrIS data
Tagged: dnclear, refldnclear
- This topic has 7 replies, 2 voices, and was last updated 8 years, 8 months ago by James Hocking.
-
AuthorPosts
-
April 19, 2016 at 8:09 am #4976zhang yuzeParticipant
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??
April 19, 2016 at 8:42 am #4977James HockingKeymasterHi,
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,
JamesApril 19, 2016 at 9:20 am #4978zhang yuzeParticipantHi.
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
April 19, 2016 at 9:29 am #4979zhang yuzeParticipant1
April 19, 2016 at 9:33 am #4981zhang yuzeParticipantSorry! 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
April 19, 2016 at 4:32 pm #4987James HockingKeymasterHi,
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,
JamesApril 20, 2016 at 1:05 am #4989zhang yuzeParticipantThanks!
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 ! ------------------------------------------------------
April 20, 2016 at 8:55 am #4990James HockingKeymasterHi,
Yes, the SRF is the Hamming function.
James
-
AuthorPosts
- You must be logged in to reply to this topic.