subroutine caldaj (iday2,rseco2,iday1,rseco1,rtime,iconve, > idayd,rsecon,rduree,ier) c* c*********************************************************************** c* c* "Copyright [c] CNES 98 - tous droits reserves" c* ********************************************** c* c*PRO MAGLIB c* c*VER 99.03.31 - V 1.0 c*VER 01.06.01 - V 2.0 c*VER 03.01.06 - V 2.1 c* c*AUT spec. CISI - LAGARRIGUE c*AUT prog. CISI (adaptation code MSLIB) c* c*ROL Theme : Calculs de dates c*ROL Calcul en secondes de la duree entre deux dates juliennes c*ROL CNES ou conversion de secondes en date julienne CNES, c*ROL comptee a partir d'une date initiale. c* c*PAR iday2 (I) : jour julien CNES a convertir (iconve = 0) c*PAR rseco2 (I) : nombre de secondes dans iday2 (iconve = 0) c*PAR iday1 (I) : jour julien CNES initial (iconve = 0 et iconve = 1) c*PAR rseco1 (I) : nombre de secondes dans iday1 (iconve = 0 et iconve = 1) c* c*PAR rtime (I) : nombre de secondes a ajouter (iconve = 1) c* c*PAR iconve (I) : sens de la conversion c* c*PAR idayd (O) : jour julien CNES (iconve = 1) c*PAR rsecon (O) : nombre de secondes juliennes dans idayd (iconve = 1) c*PAR rduree (O) : duree en secondes juliennes (iconve = 0) c* c*PAR ier (O) : code de retour c* c*NOT iconve 0 : conversion de date en secondes c*NOT 1 : conversion de secondes en date c* c*NOT ier : sans objet c* c*INF utilise : sans objet c* c*HST version 1.0 - 99.03.31 - creation de la maglib au CDPP c*HST version 2.0 - 01.06.01 - correction de commentaires de code c*HST version 2.1 - 03.01.06 - corrections en compilation avec g77 c* c*********************************************************************** c* implicit none c c --------------------------------- c*FON Declaration identificateur rcs_id c --------------------------------- c character rcs_id*100 c c -------------------------- c*FON Declaration des parametres c -------------------------- c integer iday2 double precision rseco2 integer iday1 double precision rseco1, rtime integer iconve integer idayd double precision rsecon, rduree integer ier c c --------------------------------- c*FON Declaration des variables locales c --------------------------------- c integer ijouri c*LOC ijouri : nombre de jours dans les secondes c double precision rttamp c*LOC rttamp : date en secondes c SAVE c c --------------------------------- c*FON Affectation identificateur rcs_id c --------------------------------- c data rcs_id /" >$Id$"/ c c ****************** c Debut de programme c ****************** c ier = 0 c c ------------------------------ c*FON Conversion de date en secondes c ------------------------------ c if (iconve .eq. 0) then c rduree = dble(iday2 - iday1) rduree = rduree * 86400.d0 + (rseco2 - rseco1) idayd = 0 rsecon = 0.d0 c else c c ------------------------------ c*FON Conversion de secondes en date c ------------------------------ c rttamp = rtime + rseco1 c if (rttamp .ge. 0.d0) then ijouri = int(rttamp / 86400.d0) else ijouri = int(rttamp / 86400.d0) - 1 endif c idayd = iday1 + ijouri rsecon = rttamp - 86400.d0 * dble(ijouri) rduree = 0.d0 c endif c c **************** c Fin de programme c **************** c return end