da_get_time_slots.inc

References to this file elsewhere.
1 subroutine da_get_time_slots(nt,tmin,tana,tmax,time_slots)
2 
3    !------------------------------------------------------------------------------
4    ! Purpose: Calculate time slots for FGAT option.
5    !------------------------------------------------------------------------------
6 
7    implicit none
8 
9    integer,           intent (in)      :: nt    ! number of time slots
10    character(len=19), intent (in)      :: tmin  ! begin of time window
11    character(len=19), intent (in)      :: tana  ! center of time window
12    character(len=19), intent (in)      :: tmax  ! end of time window
13    real,             intent (out)      :: time_slots(0:nt) !
14 
15    integer   :: min_yyyy,min_mm,min_dd,min_hh,min_mn,min_ss
16    integer   :: max_yyyy,max_mm,max_dd,max_hh,max_mn,max_ss
17    character :: s
18    real      :: dt
19    integer   :: it
20 
21    if (trace_use) call da_trace_entry("da_get_time_slots")
22 
23    read(unit=tmin,fmt='(i4,5(a1,i2))') min_yyyy,s,min_mm,s,min_dd,s,min_hh,s,min_mn,s,min_ss
24    read(unit=tmax,fmt='(i4,5(a1,i2))') max_yyyy,s,max_mm,s,max_dd,s,max_hh,s,max_mn,s,max_ss
25 
26    if (print_detail_rad) then
27       write(unit=stdout,fmt='(3X,A,I4,5(1X,I2))') 'Start julian time : ',min_yyyy,min_mm,min_dd,min_hh,min_mn,min_ss
28       write(unit=stdout,fmt='(3X,A,I4,5(1X,I2))') 'End julian time   : ',max_yyyy,max_mm,max_dd,max_hh,max_mn,max_ss
29    end if
30 
31    call da_get_julian_time(min_yyyy,min_mm,min_dd,min_hh,min_mn,time_slots(0))
32    call da_get_julian_time(max_yyyy,max_mm,max_dd,max_hh,max_mn,time_slots(nt))
33 
34    if (nt > 1) then
35       dt = (time_slots(nt)-time_slots(0))/float(nt-1)
36       time_slots(1)  = time_slots(0)+dt*0.5
37       do it=2,nt-1
38          time_slots(it) = time_slots(it-1)+dt
39       end do
40    end if
41 
42    if (print_detail_rad) then
43       write(unit=stdout,fmt='(3x,a,12f10.0)') 'Time_slots ', time_slots(0:nt)
44    end if
45 
46    if (trace_use) call da_trace_exit("da_get_time_slots")
47 
48 end subroutine da_get_time_slots