source: trunk/SOURCES/snaptime.f90 @ 10

Last change on this file since 10 was 4, checked in by dumas, 10 years ago

initial import GRISLI trunk

File size: 1.7 KB
Line 
1!> \file snaptime.f90
2!! Pour le renvoie de la partie temporelle des noms de fichiers sortie
3!<
4
5!> SUBROUTINE: snaptime()
6!! \author ...
7!! \date ...
8!! @note Cette routine permet de le renvoie de la partie temporelle des noms de fichiers sortie
9!! \param ttt
10!! \param ffsnap
11!<
12
13
14
15! renvoie la partie temporelle des noms de fichiers sortie
16
17subroutine snaptime(ttt,ffsnap)
18
19implicit none
20real :: ttt
21double precision :: tabs
22double precision :: tmin   
23double precision :: decimale
24double precision :: tunit
25integer :: ipuissance
26integer :: itime,m
27character(len=1) :: signe,unit,mm 
28character(len=1),dimension (4) :: unittab
29character(len=30):: ffsnap
30character(len=20):: ffnum
31character(len=8) :: form  ! format de sortie i7.mm
32
33tmin=0.02 
34unittab=(/'a','d','c','k'/)
35
36
37! determination du signe
38  if (ttt.gt.0.) then
39     signe='+'
40  else
41     signe='-'
42  endif
43
44  tabs=abs(dble(ttt))
45  decimale=abs(tabs-nint(tabs))
46 
47 if (decimale.gt.tmin) then ! on sort le temps en annee avec decimale
48     write(ffnum,'(f10.2)') tabs
49     unit='a'
50
51     ffsnap=signe//unit//adjustl(ffnum)       
52
53 else                      ! on sort le temps en entier
54
55     do ipuissance=3,0,-1  ! balaye les puissances de 10
56        tunit=10.**(ipuissance)
57
58        if (int(mod(tabs,tunit)).eq.0) then   ! si multiple de tunit
59          unit=unittab(ipuissance+1)          ! type d'unite (k,c,d,a)
60          itime=nint(tabs/tunit)              ! temps dans cette unite
61           write(mm,'(i1)') 7-ipuissance      ! pour le format de sortie
62           form='(i8.'//mm//')'               ! remplace eventuellement mm blancs par 0
63
64           exit
65        endif
66     end do
67
68     write(ffnum,fmt=form) itime
69     ffsnap=signe//unit//adjustl(ffnum) 
70
71
72  endif
73return
74end subroutine snaptime
Note: See TracBrowser for help on using the repository browser.