/[MITgcm]/MITgcm/pkg/cal/cal_convdate.F
ViewVC logotype

Diff of /MITgcm/pkg/cal/cal_convdate.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.5 by jmc, Sat Apr 7 16:21:05 2012 UTC revision 1.6 by jmc, Sun Apr 8 19:22:34 2012 UTC
# Line 37  C     == global variables == Line 37  C     == global variables ==
37    
38  C     == routine arguments ==  C     == routine arguments ==
39        INTEGER date(4)        INTEGER date(4)
40          INTEGER yy, mm, dd
41          INTEGER ss, lp, wd
42        INTEGER myThid        INTEGER myThid
43    
44  C     == local variables ==  C     == local variables ==
       INTEGER yy  
       INTEGER mm  
       INTEGER dd  
       INTEGER ss  
       INTEGER lp  
       INTEGER wd  
45        INTEGER fac        INTEGER fac
46        INTEGER date_1        INTEGER date_1
47        INTEGER date_2        INTEGER date_2
48        INTEGER ierr        INTEGER ierr
49        INTEGER check_sign        LOGICAL wrong_sign
50        CHARACTER*(MAX_LEN_MBUF) msgBuf        CHARACTER*(MAX_LEN_MBUF) msgBuf
51  C     == end of interface ==  C     == end of interface ==
52    
# Line 64  C     == end of interface == Line 60  C     == end of interface ==
60          STOP 'ABNORMAL END: S/R CAL_CONVDATE'          STOP 'ABNORMAL END: S/R CAL_CONVDATE'
61        ENDIF        ENDIF
62    
       fac = 1  
   
63  C     Check the sign of the date.  C     Check the sign of the date.
64          fac = 1
65          wrong_sign = ( (date(1).lt.0) .and. date(2).gt.0 )
66         &        .OR. ( (date(1).gt.0) .and. date(2).lt.0 )
67    
68        check_sign = 1        if ( wrong_sign ) then
69        if ( ( (date(1).lt.0) .and. date(2).gt.0 ) .or.          ierr = 901
70       &     ( (date(1).gt.0) .and. date(2).lt.0 ) )          call cal_PrintError( ierr, myThid )
71       &     check_sign = -1          stop ' stopped in cal_ConvDate.'
72          else
73        if ( check_sign .ge. 0 ) then          if ( date(1).lt.0 .OR. date(2).lt.0 ) then
         if (date(1) .eq. 0) then  
           date_1 = date(1)  
           if (date(2) .lt. 0) then  
             date_2 = -date(2)  
             fac    = -1  
           else  
             date_2 = date(2)  
             fac    = 1  
           endif  
         else if (date(1) .lt. 0) then  
74            date_1 = -date(1)            date_1 = -date(1)
75            date_2 = -date(2)            date_2 = -date(2)
76            fac    = -1            fac    = -1
# Line 92  C     Check the sign of the date. Line 79  C     Check the sign of the date.
79            date_2 = date(2)            date_2 = date(2)
80            fac    = 1            fac    = 1
81          endif          endif
       else  
   
         ierr = 901  
         call cal_PrintError( ierr, myThid )  
         stop ' stopped in cal_ConvDate.'  
   
82        endif        endif
83    
84  C     Decompose the entries.  C     Decompose the entries.
# Line 111  C     Decompose the entries. Line 92  C     Decompose the entries.
92          dd = date_1          dd = date_1
93        endif        endif
94        ss = mod(date_2,100) +        ss = mod(date_2,100) +
95       &     mod(date_2/100,100)*secondsperminute +       &     mod(date_2/100,100)*secondsPerMinute +
96       &     date_2/10000*secondsperhour       &     date_2/10000*secondsPerHour
97    
98  C     Include the sign.  C     Include the sign.
99        yy = fac*yy        yy = fac*yy
# Line 125  C     Include the sign. Line 106  C     Include the sign.
106    
107        RETURN        RETURN
108        END        END
   

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.22