;------------------------------------------------------------ ;------------------------------------------------------------ ;------------------------------------------------------------ ;+ ; NAME: vairdate ; ; PURPOSE: gives vairmer date equivalent of a date in julian format ; sets month, day and year to the corresp values ; ; CATEGORY: ; ; CALLING SEQUENCE: vdate = vairdate(1755087) ; ; INPUTS:jdate=date en jours juliens ; ; KEYWORD PARAMETERS: ; ; MENSUEL: a activer si on veut pour que les dates dont le jour est ; 15 deviennent avec un jour egale a 0. par ex: ; 19990115 -> 19990100 ; ; ANNUEL: a activer si on veut pour que les dates dont le mois est ; 6 et dont le jour est 1 deviennent avec un mois et jour egale a ; 0. par ex: ; 19990601 -> 19990000 ; ; OUTPUTS:vdate=date vairmer ; plus year, month et day ; ; COMMON BLOCKS: ; common.pro ; ; SIDE EFFECTS: ; ; RESTRICTIONS: ; ; EXAMPLE: ; ; MODIFICATION HISTORY: Jerome Vialard (jv@lodyc.jussieu.fr) ; 2/7/98 ; 13/9/1999, Sebastien Masson (smasson@lodyc.jussieu.fr) ; ANNUEL,MENSUEL,_EXTRA et possibilite ; d''utiliser vairdate avec des scalaire ou des ; tableaux ;- ;------------------------------------------------------------ ;------------------------------------------------------------ ;------------------------------------------------------------ function vairdate, jdate, ANNUEL = annuel, MENSUEL = mensuel, _EXTRA = ex @common ;------------------------------------------------------------ caldat, jdate, month, day, year, _EXTRA = ex index = where(year eq -1) if index[0] NE -1 then year[index] = 0 if keyword_set(mensuel) THEN BEGIN index = where(day EQ 15) if index[0] NE -1 then day[index] = 0 endif if keyword_set(annuel) THEN BEGIN index = where(day EQ 1 AND month EQ 6) if index[0] NE -1 then BEGIN day[index] = 0 month[index] = 0 endif endif ;------------------------------------------------------------ return, 10000L*year+100L*month+day ;------------------------------------------------------------ end ;------------------------------------------------------------