Opened 11 years ago

Closed 11 years ago

#148 closed defect (fixed)

TimeSeriesChecker n'a pas l'air de fonctionner pour calendrier leap

Reported by: jgipsl Owned by: labetoulle
Priority: major Milestone: libIGCM_v2.1 consolidation
Component: system Version:
Keywords: Cc:

Description

TimeSeriesChecker n'a pas l'air de fonctionner pour calendrier leap (ou gregorian) avec ChunckJob différent à NONE.

L'erreur est surement du aux lignes suivants de !TimeSeries_Checker.job :

DaysInYear=$( IGCM_date_DaysInYear ${YearBegin} )
PeriodDateEnd=$( IGCM_date_AddDaysToGregorianDate ${DateBegin} $(( YearsChunckLength * DaysInYear - 1 )) )

Avec mon cas, YearBegin=1982, YearsChunckLength=10 et dans config.card CalendarType=leap, j'obtiens PeriodDateEnd=19911229 pour les premiers 1O ans.

Voir aussi le sortie du TS_checker ici sur curie : /ccc/work/cont003/dsm/p86ghatt/ORCHIDEE/TESTPOSTTRAITEMENT/modipsl/config/ORCHIDEE_OL/tOOL/REDOPOST/TSC_OUT.leap

Change History (3)

comment:1 Changed 11 years ago by labetoulle

  • Milestone set to libIGCM_v2.1 consolidation
  • Owner changed from somebody to labetoulle
  • Status changed from new to assigned

comment:2 Changed 11 years ago by sdipsl

En effet lorsqu'on a des années bisextiles le DaysInYear? peut varier d'une année à l'autre.
$(( YearsChunckLength? * DaysInYear? - 1 ))

On peut utiliser la fonction IGCM_date_DaysInNextPeriod pour calculer ce nombre de jour (cf create_ts.job)

Length=$( IGCM_date_DaysInNextPeriod ${DateBegin?} ${YearsChunckLength?}Y )
PeriodDateEnd?=$( IGCM_date_AddDaysToGregorianDate ${DateBegin?} ${Length} )

comment:3 Changed 11 years ago by labetoulle

  • Resolution set to fixed
  • Status changed from assigned to closed

Corrigé, avec IGCM_date_DaysInCurrentPeriod.
Voir r886.

Note: See TracTickets for help on using tickets.