Questions about rttov_scatt

Tagged: 

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #47385
    Li ZetingLi Zeting
    Participant

    Hi,
    I want to use rttov_scatt to simulate radiation in cloud and rain areas. But I have no idea how to calculate half-level pressures(ph(:)). Could somebody tell me how to calculate half-level pressures ,like the example input file
    (prof_rttovsactt.dat)

    Thanks!
    Zeting

    #47387
    James HockingJames Hocking
    Keymaster

    Hi 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 half-level 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 RTTOV-SCATT requires that the bottom half-level is at the surface).

    Best wishes,
    James

    #47389
    Li ZetingLi Zeting
    Participant

    Hi 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 user-defined pressure layering

    How do I calculate correctly half-level pressures?

    Thanks!
    Zeting

    #47390
    James HockingJames Hocking
    Keymaster

    Hi Zeting,

    It is not possible to run RTTOV-SCATT on fixed pressure levels like that directly. RTTOV-SCATT requires that the surface pressure is on the bottom half-level, 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 RTTOV-SCATT 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

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