pyCRTM.py fails in CRTM_Forward

Hello,

I’ve installed CRTM and bundle on Ubuntu Linux on a Dell Inspiron.

The python files in crtm-bundle/pycrtm/testCases run but seem to be unit tests of various libraries.

I want to generate radiance and transmittance spectra.

The python file crtm-bundle/pycrtm/pyCRTM.py seems to be what I need, but it fails. First,

~/crtm-bundle/pycrtm$ python3 pyCRTM.py 
Traceback (most recent call last):
  File "/home/user/crtm-bundle/pycrtm/pyCRTM.py", line 333, in <module>
    profiles.CO2[i,:] = np.asarray(h5['co2ConcLayers'])
AttributeError: 'Profiles' object has no attribute 'CO2'

So I added ‘CO2’ to the keys in line 46.

Then it was able to get farther, but produced an error I don’t know how to fix:

~/crtm-bundle/pycrtm$ python3 pyCRTM.py 
/home/user/crtm-bundle/pycrtm/pyCRTM.py:173: DeprecationWarning: `np.int` is a deprecated alias for the builtin `int`. To silence this warning, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  self.traceIds = np.zeros(max_abs, dtype=np.int)

     **********************************************************
                            wrap_forward

      Running simulation.

      CRTM Version: v2.4.0
     **********************************************************

Load the cloud coefficients: 
...Cloud model: CRTM
...CloudCoeff file: /home/user/crtm-bundle/pycrtm/crtm_coef_pycrtm/CloudCoeff.bin
Load the aerosol coefficients: 
...Aerosol model: GOCART
...AerosolCoeff file: /home/user/crtm-bundle/pycrtm/crtm_coef_pycrtm/AerosolCoeff.bin

     Initializing the CRTM...

     Processing a total of 22 channels...
 CRTM_Atmosphere_IsValid(INFORMATION) : Negative layer absorber found
 CRTM_Forward(FAILURE) : Input data check failed for profile #1
 CRTM_Forward(FAILURE) : 1 profiles failed
 Error CALLing CRTM_Forward.

Can anyone help me make some further progress? Thank you in advance.

Hello Meg @physicsnh, welcome to the forum.

If you prefer using Python, my recommendation is to use pycrtm directly (instead of the crtm bundle) from the following repository:
https://github.com/karpob/pycrtm
The repository comes with a few examples and a guide on how to install and run everything.

→ In order to run the CRTM (both the Fortran and Python version) you need to provide atmospheric profile data as an input. Usually these data come from models, soundings, or retrievals and at the moment we do not provide any specific interface.

→ The CRTM is an instrument-resolution model, so you only get polychromatic radiances and transmittances for a given channel of a satellite instrument that you select as an input.
For example, if you select channel 12 of the VIIRS instrument onboard the JPSS-2 satellite, the CRTM will only compute one radiance value for this channel.
If you are interested in monochromatic radiances and transmittances, you should use a different model.