<HTML> <BODY BGCOLOR=#ccccdd LINK=#0000aa VLINK=#0000ff ALINK=#ff0000 ><BASE TARGET="bottom_target"><PRE>
#ifdef CRTM
<A NAME='DA_CRTM_AD'><A href='../../html_code/radiance/da_crtm_ad.inc.html#DA_CRTM_AD' TARGET='top_target'><IMG SRC="../../gif/bar_red.gif" border=0></A>

subroutine da_crtm_ad( nsensor, nchan, nprof, Atmosphere,   &amp; 1,4
                            Surface,      &amp;
                            RTSolution_AD, &amp;
                            GeometryInfo, &amp;
                            ChannelInfo,  &amp;
                            Atmosphere_AD,   &amp;
                            Surface_AD,   &amp;
                            RTSolution,   &amp;
                            Options)

   integer, intent(in)            :: nsensor, nchan, nprof
   type (CRTM_RTSolution_type ),  intent(inout)  :: RTSolution(nchan,nprof)
   type (CRTM_RTSolution_type ),  intent(inout)  :: RTSolution_AD(nchan,nprof)
   type (CRTM_ChannelInfo_type),  intent(in)  :: ChannelInfo(nsensor)
   type( CRTM_Atmosphere_type ),  intent(in)  :: Atmosphere(nprof)
   type( CRTM_Atmosphere_type ),  intent(inout)  :: Atmosphere_AD(nprof)
   type( CRTM_Surface_type ),     intent(in)  :: Surface(nprof)
   type( CRTM_Surface_type ),     intent(inout)  :: Surface_AD(nprof)
   type( CRTM_Geometry_type ),    intent(inout)  :: GeometryInfo(nprof)
   type (CRTM_Options_type),      intent(in)     :: Options(nprof)

   integer :: Error_Status

   if (trace_use) call da_trace_entry("da_crtm_ad")

         Error_Status = CRTM_Adjoint(Atmosphere,   &amp;
                            Surface,      &amp;
                            RTSolution_AD,&amp;
                            GeometryInfo, &amp;
                            ChannelInfo,  &amp;
                            Atmosphere_AD,&amp;
                            Surface_AD,   &amp;
                            RTSolution,   &amp;
                            Options)
         if ( Error_Status /= 0 ) then
              call da_error(__FILE__,__LINE__, &amp;
                 (/"Error in calling CRTM_Adjoint"/))
         end if

   if (trace_use) call da_trace_exit("da_crtm_ad")

end subroutine da_crtm_ad
#endif