Adjusting specular versus diffuse surfaces

For those using CRTM (v2.4.1 develop) in conjunction with other software but not within the JEDI framework, what is the accepted highest-level method for adjusting whether a given surface (ocean/snow/etc) is to be treated as “specular” or otherwise diffuse? I am using CRTM v2.4.1 in the MiRS (Microwave Integrated Retrieval System) testbed and must have only ocean surfaces treated as specular.

in ./src/RTSolution/CRTM_RTSolution_Define.f90, there is the following:

! Internal variables. Users do not need to worry about these.
LOGICAL :: Scattering_Flag = .TRUE.

and in ./src/RTSolution/Common_RTSolution.f90 there is:

    ! Determine the surface emission behavior
    !   By default, surface is SPECULAR.
    RTV%Diffuse_Surface = .FALSE.

Do either of these need to be adjusted?

1 Like

Hi @EmilyCMorgan. I haven’t looked into this yet, but it looks like Assign_Common_Input is the right place to adjust RTV%Diffuse_Surface.

One could check if:

TRIM(Surface%SURFACE_TYPE_NAME) == 'Water'

to set

RTV%Diffuse_Surface = .FALSE.

Perfect, this will work. I’ll put in a logic test in src/RTSolution/Common_RTSolution.f90 and should be good to go. Thank you!