Merge remote-tracking branch 'origin/release-v4.6.1'
[WRF.git] / var / da / da_radiance / da_crtm_tl.inc
blob531be1ca74c065018e88b32f938489f7f8655518
1 #ifdef CRTM
2 subroutine da_crtm_tl(  nsensor, nchan, nprof, Atmosphere,   &
3                             Surface,      &
4                             Atmosphere_TL,&
5                             Surface_TL,   &
6                             GeometryInfo, &
7                             ChannelInfo,  &
8                             RTSolution,   &
9                             RTSolution_TL,&
10                             Options)
12    integer, intent(in)            :: nsensor, nchan, nprof
13    type (CRTM_RTSolution_type ),  intent(inout)  :: RTSolution(nchan,nprof),RTSolution_TL(nchan,nprof)
14    type (CRTM_ChannelInfo_type),  intent(in)  :: ChannelInfo(nsensor)
15    type( CRTM_Atmosphere_type ),  intent(in)  :: Atmosphere(nprof), Atmosphere_TL(nprof)
16    type( CRTM_Surface_type ),     intent(in)  :: Surface(nprof),Surface_TL(nprof)
17    type( CRTM_Geometry_type ),    intent(inout)  :: GeometryInfo(nprof)
18    type (CRTM_Options_type),      intent(in)     :: Options(nprof)
20    integer :: Error_Status
22    if (trace_use) call da_trace_entry("da_crtm_tl")
24          Error_Status = CRTM_Tangent_Linear(Atmosphere,   &
25                             Surface,      &
26                             Atmosphere_TL,&
27                             Surface_TL,   &
28                             GeometryInfo, &
29                             ChannelInfo,  &
30                             RTSolution,   &
31                             RTSolution_TL,&
32                             Options) 
34          if ( Error_Status /= 0 ) then
35               call da_error(__FILE__,__LINE__, &
36                  (/"Error in calling CRTM_Tangent_Linear"/))
37          end if
40    if (trace_use) call da_trace_exit("da_crtm_tl")
42 end subroutine da_crtm_tl
43 #endif