Satellite Application Facility for Numerical Weather Prediction › Forums › RTTOV › RTTOV v13 › RTTOV v13 General Discussion › TROPICS Surface Emissivity Atlas Data
- This topic has 6 replies, 2 voices, and was last updated 6 months, 3 weeks ago by Parisa Heidary.
-
AuthorPosts
-
April 2, 2024 at 8:44 pm #49406Parisa HeidaryParticipant
Hi there,
I wonder if anyone knows how I can obtain Surface Emissivity Atlas Data for TROPICS aside from the TELSEM2 MW atlas.Regards,
ParisaApril 3, 2024 at 6:58 am #49409James HockingKeymasterHi Parisa,
There are no other emissivity atlases available with RTTOV: TELSEM2 would be the recommended atlas for TROPICS.
Best wishes,
JamesApril 7, 2024 at 1:32 pm #49423Parisa HeidaryParticipantHi James,
Thank you so much for the information. Based on what you’ve shared, I’ve decided to use TELSEM2 for my project. However, I’m left with a question regarding how the dataset handles latitude, longitude, and angles. The documentation indicates that these are mandatory fields. Could you clarify if these values are obtained from the surfgeom variables, or is there another process for integrating these parameters?Thank you once again for your assistance.
April 8, 2024 at 10:02 am #49428James HockingKeymasterHi Parisa,
When you call the getEmisBrdf method of an Atlas object, you must pass the corresponding Rttov object and this must already have the Profiles associated with it. The Atlas object uses the latitudes, longitudes, and other relevant profile data present when obtaining the emissivities from the underlying atlas.
Section 6.5 of the wrapper user guide describes the use of the atlases in the wrapper interface. You can also take a look at the wrapper/pyrttov_example.py example script which demonstrates use of the emissivity atlases.
Best wishes,
JamesMay 8, 2024 at 6:41 am #49501Parisa HeidaryParticipantHi James,
Thanks very much. I followed the steps in pyrttov_example.py, and while it loaded successfully, it appears that the simulation is not producing the expected results. When I use the default model with surf_emiss=-1 (or not defining the emissivity) and the atlas, the BT simulation and the emissivity remain unchanged. This is particularly problematic for surfaces and channels that are sensitive to surface properties. Is there an alternative approach I should consider, or could I be overlooking something in my setup?Regards,
ParisaMay 8, 2024 at 7:18 am #49506James HockingKeymasterHi Parisa,
It is quite difficult to diagnose the issue without seeing your code. You could open a help desk ticket and attach/copy your Python script there. If you attach it you will have to rename it with a .txt extension or similar.
Is it possible that the locations you are simulating are over sea? If the atlas does not have data at the given location it returns negative values to indicate that.
Best wishes,
JamesMay 15, 2024 at 12:08 am #49519Parisa HeidaryParticipantHandling RTTOV in a Lat/Lon Loop
With the invaluable help of James as always, I was able to figure these out. So if you’re encountering issues with calling RTTOV within a latitude/longitude loop, here are some key points to keep in mind:
– Call the Atlas within the Lat/Lon Loop:
You need to call the getEmisBrdf method for every profile you are simulating. This means you must retrieve the emissivities within the lat/lon loops, not beforehand. Ensure you do this after era5Profiles have been updated and associated with era5Rttov because the atlas uses the Profiles member of the Rttov object to obtain the emissivities for the profile location.– Reinitialize SurfEmisRefl in Each Iteration:
Be aware that the wrapper overwrites the SurfEmisRefl member of the Rttov object during each call with the emissivities used in the calculations. This allows access to those values, but it also means you must reinitialize the SurfEmisRefl member in every iteration of the loop. Failing to do so will result in passing the emissivities computed/used in the previous call to the current iteration.– Set Up/Load the Atlas Before the Loop:
Initialize and load the atlas before entering the loop.– Longitude Conversion:
The MW atlas longitude range is [0:360]. Therefore, you need to ensure that the surface geometry longitude matches the atlas. For example, if your longitudes are in the range [-180:180], you need to convert them accordingly.– Set Surface Type Within the Loop:
Define the surface type (land (0), sea (1), or sea-ice (2)) for each profile individually within the loop. Use the available land/sea mask information from your data (e.g., Era5) to set this correctly. -
AuthorPosts
- You must be logged in to reply to this topic.