anchor.diff:  !**FUNCTION NEWDATE : CONVERTS DATES BETWEEN TWO OF THE FOLLOWING
   !FORMATS: PRINTABLE DATE, CMC DATE-TIME STAMP, TRUE DATE
   !
  -      FUNCTION NEWDATE(DAT1,DAT2,DAT3,MODE)
  +      INTEGER FUNCTION NEWDATE(DAT1,DAT2,DAT3,MODE)
         IMPLICIT NONE
  -      INTEGER NEWDATE,DAT1,DAT2(*),DAT3,MODE
  +      INTEGER DAT1,DAT2(*),DAT3,MODE
   !
   !AUTHOR   - E. BEAUCHESNE  -  JUN 96
   !
  
positive.code:         if (idate1 .gt. -1) then
            result=newdate(idate1,pdate1,pdate2,-3)
            if(result.ne.0) then
               print *,'label 1,idate1:',idate1
               goto 2
            endif
            result=newdate(tdate1,pdate1,pdate2,+7)
            if(result.ne.0) then
               print *,'label 2,pdate1,pdate2:',pdate1,pdate2
               goto 2
            endif
          else
            result=newdate(tdate1,idate1,runnum,6)
          endif
        else
          result=newdate(tdate1,idate1,runnum,1)
        endif
        if(result.ne.0) then
           print *,'label 3,idate1:',idate1
           goto 2
        endif
  
  
negative.code:                          .and.(MOD(year,100) /= 0) ) &
                           .or. (MOD(year,400) == 0) )
  !
        masque32=ishft(-1_8,-32) ! = Z'00000000FFFFFFFF'
  !
        if (abs(mode).gt.7 .or. mode.eq.0) goto 4
        newdate=0 ; stamp8 = 0 ; stamp = 0
        goto (106,104,103,101,1,2,3,4,5,6,7,100,102,105,107),(mode+8)
  !
  !     mode=-3 : from stamp(old or new) to printable
  