c --------------------------------------------------------------------
	subroutine convtim (week,toc,iyear,imonth,iday,ihour,imin,sec)
c --------------------------------------------------------------------
c
c ----conversion GPS - date
c
	real*8 week,toc,sec
	integer iyear,imonth,iday,ihour,imin,mois,bis
	dimension mois(12)
	real*8 sectot,secan,secfin
	data mois/31,28,31,30,31,30,31,31,30,31,30,31/
c
c ----origine du temps GPS : 6 Janvier 1980 0h00
c
c ----nombre de secondes depuis le debut
c
	sectot=week*6048.d2+toc

c ---recherche de l'annee (k=0 correspond a 1980)
c
	k=-1
	secfin=0.d0
   1	k=k+1
	bis=0
	if(mod(k,4).eq.0) bis=1
	if(k.eq.0) secan=dble(360+bis)*864.d2
	if(k.ne.0) secan=dble(365+bis)*864.d2
c
c ----temps a la fin de l'annee courante et test
c
	if((secfin+secan).gt.sectot) goto 2
	secfin=secfin+secan
	goto 1
c
c ----on a trouve l'annee et les secondes ecoulees dans l'annee
c
   2	iyear=80+k
	sectot=sectot-secfin
c
c ----recherche du mois
c
	secfin=0.d0
	do 3 i=1,12
	secfin=secfin+dble(mois(i))*864.d2
	if(secfin.gt.sectot) goto 4
   3	continue
c
c ----on a trouve le mois et les secones ecoulees dans le mois
c
   4	imonth=i
	sectot=sectot-secfin+dble(mois(i))*864.d2
c
c ----recherche du jour
c
	iday=1+int(sectot/864.d2)
	sectot=sectot-dble(iday-1)*864.d2
c
c ----recherche de l'heure
c
	ihour=int(sectot/36.d2)
	sectot=sectot-dble(ihour)*36.d2
c
c ----recherche de la minute et de la seconde
c
	imin=int(sectot/6.d1)
	sec=sectot-dble(imin)*6.d1
c
	end
c
c --------------------------------------------------------------------
	subroutine timconv (week,toc,iyear,imonth,iday,ihour,imin,sec)
c --------------------------------------------------------------------
c
c ----conversion date - GPS
c
	real*8 week,toc,sec
	integer iyear,imonth,iday,ihour,imin,mois,bis
	dimension mois(12)
	data mois/31,28,31,30,31,30,31,31,30,31,30,31/
c
c ----origine du temps GPS : 6 Janvier 1980 0h00
c
c ----ans
c
	if(iyear.ne.80) then
	do 1 i=80,iyear-1
	bis=0
	if(mod(i,4).eq.0) bis=1
	if(i.eq.80) sec=sec-5.d0*864.d2
   1	sec=sec+dble(365+bis)*864.d2
	endif
c
c ----mois
c
	if(imonth.ne.1) then
	do 2 i=1,imonth-1
   2	sec=sec+mois(i)*864.d2
	endif
c
c ----jours,heures,minutes,secondes
c
   	sec=sec+(iday-1)*864.d2+ihour*3.6d3+imin*6.d1
c
c ----semaines
c
	week=dble(int(sec/6048.d2))
c
c ----temps GPS
c
	toc=sec-week*6048.d2
c
	end
		