About pyCRTM and ERA5

I want to use pycrtm and ERA5 data to calculate the brightness temperature in the presence of clouds. I found that the input data of pycrtm requires the effective radius of cloud particles and the water content, but the ERA5 data lacks these parameters, only cloud coverage. Can the simulated brightness temperature be calculated without entering the radius and water content? In addition, if not, are there other data recommendations that can replace ERA5? I would be grateful if you could give me some advice!


If you only have cloud cover, you’ll need to find a way to convert this information to the following
(1) a vertical distribution of cloud water content within a column
(2) assign an effective radius to the cloud droplets
(3) provide the cloud_fraction at each layer (recommend setting each layers cloud_fraction to be equal to the cloud cover value).

Unfortunately, with only cloud cover, there’s not enough information to make a radiative transfer calculation. Even if you do the above, it will be an exercise in iterative adjustments until you land on radiance / TB values that are reasonable – this means that you’ll need a target or reference brightness temperature to be aiming for.

Check out this publication, and perhaps start a mini-publication review to see who else has tried this:

1 Like

Thank you very much for your help. I have encountered some problems when using pycrtm. I can’t find relevant information even on the github official website of pycrtm. I can only find the fortran version of userguide. I wonder if there is any relevant pycrtm documentation available?

Hi @Leetrytry,

for the cloud properties required by the CRTM, you can have a look at MODIS or VIIRS cloud products:

You need to check if you can colocate the MODS/VIIRS cloud data with the information from ERA5.
This is one possible approach, and probably not the best one.

The pyCRTM documentation is not as comprehensive as the CRTM user guide yet.
You will have to look at the pyCRTM.py and pycrtm.f90 files in the repository to get an idea how the interface works and which options you can supply.

Thanks for your help