da_crtm_ad.inc

References to this file elsewhere.
1 #ifdef CRTM
2 subroutine da_crtm_ad( nsensor, nchan, nprof, Atmosphere,   &
3                             Surface,      &
4                             RTSolution_AD, &
5                             GeometryInfo, &
6                             ChannelInfo,  &
7                             Atmosphere_AD,   &
8                             Surface_AD,   &
9                             RTSolution)
10 
11    integer, intent(in)            :: nsensor, nchan, nprof
12    type (CRTM_RTSolution_type ),  intent(inout)  :: RTSolution(nchan,nprof)
13    type (CRTM_RTSolution_type ),  intent(inout)  :: RTSolution_AD(nchan,nprof)
14    type (CRTM_ChannelInfo_type),  intent(in)  :: ChannelInfo(nsensor)
15    type( CRTM_Atmosphere_type ),  intent(in)  :: Atmosphere(nprof)
16    type( CRTM_Atmosphere_type ),  intent(inout)  :: Atmosphere_AD(nprof)
17    type( CRTM_Surface_type ),     intent(in)  :: Surface(nprof)
18    type( CRTM_Surface_type ),     intent(inout)  :: Surface_AD(nprof)
19    type( CRTM_GeometryInfo_type ),intent(inout)  :: GeometryInfo(nprof)
20 
21    integer :: Error_Status
22 
23    if (trace_use) call da_trace_entry("da_crtm_ad")
24 
25          Error_Status = CRTM_Adjoint(Atmosphere,   &
26                             Surface,      &
27                             RTSolution_AD,&
28                             GeometryInfo, &
29                             ChannelInfo,  &
30                             Atmosphere_AD,&
31                             Surface_AD,   &
32                             RTSolution) !,   &
33                             !Options = Options)
34          if ( Error_Status /= 0 ) then
35               call da_error(__FILE__,__LINE__, &
36                  (/"Error in calling CRTM_Adjoint"/))
37          end if
38 
39    if (trace_use) call da_trace_exit("da_crtm_ad")
40 
41 end subroutine da_crtm_ad
42 #endif