Surface emissivity for visible wavelengths

Hi, I am working with pyCRTM and I’m simulating various different surfaces, and I’m having trouble retrieving the surface emissivities for visible wavelengths. I am setting the following surface inputs:

profiles.surfaceFractions[0,:] = [1,0,0,0]
profiles.surfaceTemperatures[0,:] = [301,0,0,0]
profiles.surfaceTypes[0,0] = 1

Then, when I run “crtmOb.runDirect()” and print out “crtmOb.surfEmisRefl”, I get an array of 0s. I tried running “crtmOb.runK()” instead and printing out “crtmOb.SurfEmisK”, and this also produces an array of 0s.

I’m able to retrieve the surface emissivities with no problem when using the sensor_id “abi_gr” for infrared channels, but with the visible channels in the “v.abi_gr” sensor, I’m running into this problem. I’ve also checked that the solar angles are set for the daytime.

Is there something I am missing on how to retrieve the surface emissivities for visible channels in pyCRTM?

Hi Cas,

You’re probably pushing the envelope as far as what’s supported – we welcome any code being pushed back toward the pyCRTM repository that you think would be beneficial.

There’s no way to “retrieve” surface emissivities, per se — it’s a lookup table – given a surface type, it goes to a lookup table to find out the emissivity or reflectance for that surface type. In the visible bands, emissivity doesn’t make much sense – reflectivity is more useful.

Brian Karpowicz might have more recommendations that are specific to pyCRTM.