Satellite Application Facility for Numerical Weather Prediction › Forums › RTTOV › RTTOV v13 › RTTOV v13 General Discussion › Questions about profiles(:)%gas_units
- This topic has 17 replies, 2 voices, and was last updated 1 year ago by liu xuan.
-
AuthorPosts
-
November 2, 2023 at 11:47 am #48951liu xuanParticipant
Hi,
I have some questions when using the RTTOV_SCATT model.If I set the gas units = 1, does this mean that the units of cld_profiles and q and 2m q are all the same kg/kg? Very much looking forward to receiving your reply.
Thanks,
Liu XuanNovember 2, 2023 at 11:49 am #48953James HockingKeymasterHi Liu Xuan,
The profiles(:)%gas_units only specifies the units for water vapour (q and 2m q) in the profiles.
The units for hydrometeor concentrations in RTTOV-SCATT are kg/kg regardless of gas_units.
Best wishes,
JamesNovember 2, 2023 at 12:36 pm #48954liu xuanParticipantHi James,
Sorry to bother you again.What I simulate is the AMSR2 microwave sensor. I want to know if I can specify the simulated band. I learned that I can specify the number of simulated bands.
Thanks,
Liu XuanNovember 2, 2023 at 12:41 pm #48956James HockingKeymasterHi Liu Xuan,
Yes, you can specify the instrument channels that you want to simulate using the “chanprof(:)” input argument. This specifies the channels to simulate for each profile being passed into RTTOV or RTTOV-SCATT. Section 7.4 of the RTTOV user guide covers this.
Best wishes,
JamesNovember 2, 2023 at 1:09 pm #48957liu xuanParticipantHi,
Sorry, I still don’t understand here.‘For example, if coefficients for only channels 3 and 5 of a sensor with five
channels are read from the coefficient file, then chanprof(1:2)%chan should typically be (/1, 2/) corresponding to the
channels 3 and 5 respectively. ’ The chanprof(1:2)%chan represents /1, 2/ that I can understand.But I don’t understand why 1 and 2 here represent channel 3 and channel 5 respectively.Looking forward to receiving your reply.Thanks,
Liu XuanNovember 2, 2023 at 1:13 pm #48959James HockingKeymasterHi Liu Xuan,
This example applies in the case where you specify the “channels(:)” argument to the rttov_read_coefs subroutine to read in only a subset of channels from the coefficient file(s). For RTTOV-SCATT you should not do this, so that you always read data for all channels from the coefficient file. In this case you don’t need to worry about the channel numbering referred to in that example: channel numbers run from 1 to the number of instrument channels in the rtcoef file as you would expect.
I hope that helps, but let me know if not.
Best wishes,
JamesNovember 2, 2023 at 2:05 pm #48960liu xuanParticipantHi James,
Sorry, I’m still confused about this.A sensor with five channels,if I only read channels 3 and channel 5.Firstly, I need set the nchan = 2 in the shell file.But what I need tO set in the fortran program.Should I change here channel_list(1:nchannels) to channel_list(3,5).Thank you for always answering my questions.
Best Wishes,
Liu XuanNovember 2, 2023 at 2:11 pm #48962James HockingKeymasterHi Liu Xuan,
If want to simulate channels 3 and 5 of a sensor, then in the run_example_*sh shell scripts you should set
NCHAN=2
CHAN_LIST=3 5This will read all channels from the coefficient file, but will only simulate radiances for channels 3 and 5. You don’t need to modify the Fortran code in this case.
The description regarding chanprof(:) relates to writing your own Fortran code to call RTTOV or RTTOV-SCATT. If you are only using the example shell scripts to run RTTOV/RTTOV-SCATT, then you don’t need to worry about it. Sorry for the confusion, but it wasn’t clear how you are running RTTOV-SCATT.
Best wishes,
JamesNovember 3, 2023 at 6:16 am #48963liu xuanParticipantHi James,
Thank you very much for helping me solve this problem. Sorry to bother you again. I have some questions that I would like to ask. The AMSR2 microwave sensor I simulated has 7 frequencies (6.925GHz, 7.3GHz, 10.65GHz, 18.7GHz, 23.8GHz, 89.0GHz), but the coefficient file shows 14 channels. Does this mean two polarizations per band? If so, can I understand that each number corresponds to a different band and polarization method. Is there any specific information here on how to respond?
Thanks,
Liu XuanNovember 3, 2023 at 10:36 am #48964liu xuanParticipantHi James,
I looked at the coefficients file in detail. These 14 numbers correspond to vertical polarization/horizontal polarization and are repeated seven times.I looked at the coefficients file in detail. These 14 numbers correspond to vertical polarization/horizontal polarization and are repeated seven times. And it is in order of frequency from small to large.Thanks again for your help.
Best wishes,
Liu XuanNovember 3, 2023 at 10:36 am #48965liu xuanParticipantHi James,
I looked at the coefficients file in detail. These 14 numbers correspond to vertical polarization/horizontal polarization and are repeated seven times.I looked at the coefficients file in detail. These 14 numbers correspond to vertical polarization/horizontal polarization and are repeated seven times. And it is in order of frequency from small to large.Thanks again for your help.
Best wishes,
Liu XuanNovember 3, 2023 at 10:39 am #48968James HockingKeymasterHi Liu Xuan,
Yes, as you discovered, in the AMSR2 coefficient file the channels are in ascending order of frequency with V- and H-pol channels at each frequency in that order.
Best wishes,
JamesNovember 10, 2023 at 5:58 am #48973liu xuanParticipantHi James,
When I was simulating with the RTTOV_SCATT model, I entered many contours, but the nlevels were different for each one. So I have to setup the subroutine rttov_alloc_direct once for each contour, and the parameters nprof,nchanprof used in rttov_alloc_direct can not be simulated with the total number of contours, so in this case, the subroutine rttov_scatt_setupindex will have to be reset every time we simulate?
Thanks,
Liu XuanNovember 10, 2023 at 8:30 am #48976James HockingKeymasterHi Liu Xuan,
When you say “contours” I assume you mean pressure levels. RTTOV-SCATT profiles are on a given number of pressure levels, and RTTOV data structures are allocated for that number of levels. So if you have to run simulations on different numbers of levels, you will have to allocate memory for each different nlevels (by calls to rttov_alloc_direct, for example). Note that the surface must always lie on the bottom pressure half-level in RTTOV-SCATT.
The rttov_scatt_setupindex subroutine sets up the channel and profile indices. You don’t need to call this every time if the number of profiles you pass to RTTOV-SCATT is always the same and you are always simulating the same set of channels for each profile.
Best wishes,
JamesNovember 10, 2023 at 8:52 am #48977liu xuanParticipantHi James,
Sorry for the misunderstanding.’ Contours’ is wrong. What I meant to say was ‘profiles’. I have to enter a lot of profiles, and the nlevles for each profile are different. So I want to make a loop structure that for each simulated profiles,swap the subroutine rttov_alloc_direct for allocate and deallocate.I also call rttov_scatt_setupindex in each loop.Because I found that both subroutines use nprof. I fixed nprof directly at 1 per loop, and nchanprof fixed to the number of frequencies to be simulated per profiles (same for each profiles). Both subroutines are called with the same parameters except for these parameters. This is because each profiles has different nlevels when simulated.I think my understanding is correct.
Thanks,
James -
AuthorPosts
- You must be logged in to reply to this topic.