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
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.
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} )