Satellite Application Facility for Numerical Weather Prediction › Forums › RTTOV › RTTOV v13 › RTTOV v13 General Discussion › Questions about rttov_scatt
Tagged: rttov_scatt
 This topic has 3 replies, 2 voices, and was last updated 2 years, 5 months ago by James Hocking.

AuthorPosts

March 25, 2022 at 8:04 am #47385Li ZetingParticipant
Hi,
I want to use rttov_scatt to simulate radiation in cloud and rain areas. But I have no idea how to calculate halflevel pressures(ph(:)). Could somebody tell me how to calculate halflevel pressures ,like the example input file
(prof_rttovsactt.dat)Thanks!
ZetingMarch 25, 2022 at 8:16 am #47387James HockingKeymasterHi Zeting,
NWP models often provide both the “full” and “half” level pressures. In the IFS and related models for example, the pressure half levels are computed using the surface pressure together with a fixed set of coefficients. The full pressure levels are then computed as the mean of adjacent halflevel pressures.
If you currenty have the “full” pressure levels, then it would be reasonable to compute ph(2:nlevels) as the mean of adjacent full level pressures, and set ph(1) = 0 and ph(nlevels+1)=s2m%p (remembering that RTTOVSCATT requires that the bottom halflevel is at the surface).
Best wishes,
JamesMarch 27, 2022 at 12:13 pm #47389Li ZetingParticipantHi James,
Thank you for your answer. My biggest problem is that the data I used is the ERA5 , the “full” pressure levels is fixed in (1000,975,925 and so on). When I compute ph(2:nlevels) as the mean of adjacent full level pressures, and set ph(1) = 0 and ph(nlevels+1)=s2m%p , the bottom levels ph(nlevels+1) ofen small than ph(nlevels).For example,
the full pressure : 1000hpa 975hpa 950hpa ….
surface pressure ：985hpa
so the ph（nlevels+1）= 985hpa = s2m%p ph(nlevels)=(1000+975)/2=987.5hpa ph(nlevels+1)<ph(nlevels)And rttov will report an error:
fatal error in module rttov_iniscatt
iniscatt : problem with userdefined pressure layeringHow do I calculate correctly halflevel pressures?
Thanks!
ZetingMarch 27, 2022 at 4:59 pm #47390James HockingKeymasterHi Zeting,
It is not possible to run RTTOVSCATT on fixed pressure levels like that directly. RTTOVSCATT requires that the surface pressure is on the bottom halflevel, and all profiles must have the same number of levels.
If you are unable to obtain the ERA5 data on the full IFS model levels (e.g. 137 levels), then there are probably only two options, neither of which is very appealing:
1. set ph(nlevels+1) to the surface pressure for each profile, and then you will need to insert “padding” levels at the top of the atmosphere (with suitably extrapolated profiles) to ensure every profile has the same number of levels
2. run RTTOVSCATT for each profile individually, and deallocate and reallocate the profiles and cloud_profiles structures with the appropriate number of levels for everyprofile (this may be quite slow if you are running for very many profiles), where you set ph(nlevels+1) to the surface pressure and set the number of levels accordingly (typically the number of pressure levels above the surface).
Note that in both cases you need to take care of the case where the surface lies on (or extremely close to) a pressure level.
Best wishes,
James 
AuthorPosts
 You must be logged in to reply to this topic.