Satellite Application Facility for Numerical Weather Prediction › Forums › RTTOV › RTTOV v14 › Extracting the asymmetry parameter for CAMS aerosols
Tagged: aertables, asymmetry parameter, CAMS aerosol
- This topic has 4 replies, 2 voices, and was last updated 8 hours, 56 minutes ago by
Andrew Prata.
-
AuthorPosts
-
April 23, 2025 at 7:08 am #50603
Andrew Prata
ParticipantI’m currently testing the CAMS aerosol implementation in RTTOV v14 and had a question about the single-scattering optical properties used for each of the 9 aerosol types used in the CAMS reanalysis.
For a given instrument and CAMS aerosol type, how would one extract the associated asymmetry parameter? My understanding is that the Legendre coefficients for the phase functions are stored in the aertables and so all I need, for a given wavelength (satellite channel), is the second coefficent of the Legendre polynomial expansion to compute:
g = beta_1 / 3, where beta_1 is the second Legendre coefficient (beta_0 = 1).
I’m currently testing the aerosol RT calculations with GOME-2 (as it gives me hyperspectral measurements from VIS-NIR). However, I’m having trouble interpreting the data contained rttov_aertable_metop_3_gome2_cams.nc. I am using pyrttov and python to plot and analyse the data. I can’t seem to open the netcdf file in the usual way with python, so I converted the file as follows:
./rttov_conv_coef.exe –format-out formatted \
–coef-in /home/565/ap3706/rttov14/rtcoef_rttov14/rttov13pred101L/rtcoef_metop_3_gome2_o3.nc \
–coef-out /home/565/ap3706/rttov14/rtcoef_rttov14/rttov13pred101L/rtcoef_metop_3_gome2_o3.dat \
–aertable-in /home/565/ap3706/rttov14/rtcoef_rttov14/aertable_visir/rttov_aertable_metop_3_gome2_cams.nc \
–aertable-out /home/565/ap3706/rttov14/rtcoef_rttov14/aertable_visir/rttov_aertable_metop_3_gome2_cams.dat \
–no-write-coefThis gives me a huge ascii file (~1 GB) which appears to have the information I need. Before I go digging further and write some code to extract the data I need, I wondered if there was a simple way with pyrttov to extract the asymmetry parameter (and other associated single-scatting properties) for the CAMS aerosol(s) that I’m simulating?
Thanks
AndrewApril 24, 2025 at 8:12 pm #50615James Hocking
KeymasterHi Andrew,
You can calculate the asymmetry parameter as you describe: you can always validate it by computing g from the phase function.
Currently pyrttov does not provide access to the optical properties.
There is no particular reason why you should not be able to read the netCDF optical property files in Python: what problem did you encounter?
It’s worth noting that the CAMS properties are quite old now. We are in the process of generating new aertables for RTTOV v14 which are consistent with the latest CAMS cycle. I don’t have an estimate of when those might be ready, but hopefully within a month or so. Let me know if they would be of interest.
Best wishes,
JamesApril 29, 2025 at 5:04 pm #50618Andrew Prata
ParticipantHi James
In python, I have tried to read in rttov_aertable_metop_3_gome2_cams.nc as follows:
import xarray as xr
ds = xr.open_dataset(HOME_PATH + ‘rttov14/rtcoef_rttov14/aertable_visir/rttov_aertable_metop_3_gome2_cams.nc’)
When I try to interrogate the dataset I get back nothing:
print(ds)
<xarray.Dataset> Size: 0B
Dimensions: ()
Data variables:
*empty*I have also tried with netCDF4:
import netCDF4
ds = netCDF4.Dataset(HOME_PATH + ‘rttov14/rtcoef_rttov14/aertable_visir/rttov_aertable_metop_3_gome2_cams.nc’)
print(ds)<class ‘netCDF4.Dataset’>
root group (NETCDF4 data model, file format HDF5):
dimensions(sizes):
variables(dimensions):
groups: aertableprint(ds.variables.keys())
dict_keys([])
I was expecting to see parameter names in the netcdf file corresponding to Legendre coefficients but perhaps the issue is that I do not know the parameter names ahead of time.
Can you provide me with a python example that works for you?
Updated CAMS – Yes, absolutely. I am working on atmospheric correction and trying to use CAMS to account for aerosol. So an updated treatment would be very useful for my application.
Thanks
AndrewMay 1, 2025 at 8:27 am #50634James Hocking
KeymasterHi Andrew,
The aerosol metadata is contained within the “aertable” group, and within that group you will see sub-groups for each aerosol species (e.g. “bcar”, “dus1”, etc). The optical properties are contained in datasets (variables) within each of these sub-groups.
So for example:
>>> import netCDF4 as nc
>>> rootgrp = nc.Dataset(‘rttov_aertable_metop_3_gome2_cams.nc’, ‘r’)
>>> print(rootgrp[‘aertable’][‘bcar’].variables.keys())
dict_keys([‘is_frozen’, ‘confac’, ‘dim_type’, ‘dim_size’, ‘dim_interp’, ‘ext’, ‘ssa’, ‘nmom’, ‘lcoef’, ‘pha’])The Legendre coefficients are in the ‘lcoef’ dataset.
Let me know if you have further issues.
We are now able to say that the new CAMS aertables will not be ready until July at the earliest. I will let you know when they are available for download.
Best wishes,
JamesMay 1, 2025 at 11:41 pm #50635Andrew Prata
ParticipantGreat thanks James – I was able to extract the Legendre coeffs based on your suggestion.
I will use the current CAMS aerosols for now and will await the update.
Cheers
Andrew -
AuthorPosts
- You must be logged in to reply to this topic.