source: trunk/WRF.COMMON/WRFV2/external/esmf_time_f90/diff_Meat @ 3567

Last change on this file since 3567 was 11, checked in by aslmd, 14 years ago

spiga@svn-planeto:ajoute le modele meso-echelle martien

File size: 4.3 KB
Line 
1176,191c176,191
2< ! TBH:  TODO:  Replace this hack with run-time decision based on
3< ! TBH:  TODO:  passed-in calendar. 
4< #ifdef NO_LEAP_CALENDAR
5<       num_days = 28 ! By default, February has 28 days ...
6< #else
7<       num_days = 28 ! By default, February has 28 days ...
8<       IF (MOD(year,4).eq.0) THEN
9<          num_days = 29  ! But every four years, it has 29 days ...
10<          IF (MOD(year,100).eq.0) THEN
11<             num_days = 28  ! Except every 100 years, when it has 28 days ...
12<             IF (MOD(year,400).eq.0) THEN
13<                num_days = 29  ! Except every 400 years, when it has 29 days.
14<             END IF
15<          END IF
16<       END IF
17< #endif
18---
19> !#ifdef NO_LEAP_CALENDAR
20> !      num_days = 28 ! By default, February has 28 days ...
21> !#else
22> !      num_days = 28 ! By default, February has 28 days ...
23> !      IF (MOD(year,4).eq.0) THEN
24> !         num_days = 29  ! But every four years, it has 29 days ...
25> !         IF (MOD(year,100).eq.0) THEN
26> !            num_days = 28  ! Except every 100 years, when it has 28 days ...
27> !            IF (MOD(year,400).eq.0) THEN
28> !               num_days = 29  ! Except every 400 years, when it has 29 days.
29> !            END IF
30> !         END IF
31> !      END IF
32> !#endif
33> num_days = 1
34> ! just to keep continuity
35201,206c201,207
36<   INTEGER :: nfeb
37<   IF ( nfeb( year ) .EQ. 29 ) THEN
38<     num_diy = 366
39<   ELSE
40<     num_diy = 365
41<   ENDIF
42---
43> !  INTEGER :: nfeb
44> !  IF ( nfeb( year ) .EQ. 29 ) THEN
45> !    num_diy = 366
46> !  ELSE
47> !    num_diy = 365
48> !  ENDIF
49> num_diy = 669
50266,284c267,285
51< !$$$ useful, but not used at the moment... 
52< SUBROUTINE compute_dayinyear(YR,MM,DD,dayinyear)
53<   use ESMF_CalendarMod
54< IMPLICIT NONE
55<       INTEGER, INTENT(IN)  :: YR,MM,DD   ! DD is day of month
56<       INTEGER, INTENT(OUT) :: dayinyear
57<       INTEGER i
58<       integer nfeb
59<
60<       dayinyear = 0
61<       DO i = 1,MM-1
62<         if (i.eq.2) then
63<           dayinyear = dayinyear + nfeb(YR)
64<         else
65<           dayinyear = dayinyear + mday(i)
66<         endif
67<       ENDDO
68<       dayinyear = dayinyear + DD
69< END SUBROUTINE compute_dayinyear
70---
71> !!$$$ useful, but not used at the moment... 
72> !SUBROUTINE compute_dayinyear(YR,MM,DD,dayinyear)
73> !  use ESMF_CalendarMod
74> !IMPLICIT NONE
75> !      INTEGER, INTENT(IN)  :: YR,MM,DD   ! DD is day of month
76> !      INTEGER, INTENT(OUT) :: dayinyear
77> !      INTEGER i
78> !      integer nfeb
79> !
80> !      dayinyear = 0
81> !      DO i = 1,MM-1
82> !        if (i.eq.2) then
83> !          dayinyear = dayinyear + nfeb(YR)
84> !        else
85> !          dayinyear = dayinyear + mday(i)
86> !        endif
87> !      ENDDO
88> !      dayinyear = dayinyear + DD
89> !END SUBROUTINE compute_dayinyear
90300,302c301,303
91<   IF ( nfeb(time%YR) == 29 ) THEN
92<     MMbdys => monthbdysleap
93<   ELSE
94---
95> !  IF ( nfeb(time%YR) == 29 ) THEN
96> !    MMbdys => monthbdysleap
97> !  ELSE
98304c305
99<   ENDIF
100---
101> !  ENDIF
102333,334c334,335
103< !$$$ fix this so init just points MMbdys to the one we want for this calendar?
104<   IF ( nfeb(time%YR) == 29 ) THEN
105---
106> !!$$$ fix this so init just points MMbdys to the one we want for this calendar?
107> !  IF ( nfeb(time%YR) == 29 ) THEN
108336,338c337,339
109<   ELSE
110<     MMbdys => monthbdys
111<   ENDIF
112---
113> !  ELSE
114> !    MMbdys => monthbdys
115> !  ENDIF
116373,376c374,377
117<   IF ( nfeb(time%YR) == 29 ) THEN
118< !  PRINT *,'DEBUG:  timeaddmonths(): leap year'
119<     MMbdys => monthbdysleap
120<   ELSE
121---
122> !  IF ( nfeb(time%YR) == 29 ) THEN
123> !!  PRINT *,'DEBUG:  timeaddmonths(): leap year'
124> !    MMbdys => monthbdysleap
125> !  ELSE
126379c380
127<   ENDIF
128---
129> !  ENDIF
130403,406c404,407
131<   IF ( nfeb(time%YR) == 29 ) THEN
132<     time%basetime%S = time%basetime%S + &
133<       ( INT( mdayleap(MM), ESMF_KIND_I8 ) * SECONDS_PER_DAY )
134<   ELSE
135---
136> !  IF ( nfeb(time%YR) == 29 ) THEN
137> !    time%basetime%S = time%basetime%S + &
138> !      ( INT( mdayleap(MM), ESMF_KIND_I8 ) * SECONDS_PER_DAY )
139> !  ELSE
140409c410
141<   ENDIF
142---
143> !  ENDIF
144433,436c434,437
145<   IF ( nfeb(time%YR) == 29 ) THEN
146<     time%basetime%S = time%basetime%S - &
147<       ( INT( mdayleap(MM), ESMF_KIND_I8 ) * SECONDS_PER_DAY )
148<   ELSE
149---
150> !  IF ( nfeb(time%YR) == 29 ) THEN
151> !    time%basetime%S = time%basetime%S - &
152> !      ( INT( mdayleap(MM), ESMF_KIND_I8 ) * SECONDS_PER_DAY )
153> !  ELSE
154439c440
155<   ENDIF
156---
157> !  ENDIF
Note: See TracBrowser for help on using the repository browser.