anchor.diff:                 ndays = Calendar_Adjust(tdate1,tdate2,'E',adding)
                  tdate1 = tdate1 + (ndays*24)
                endif
  -             result=newdate(tdate1,idate1,runnum,-6)
  +             result=newdate(tdate1,idate,runnum,-6) ; idate1=idate(1)
              else
  -             result=newdate(tdate1,idate1,runnum,-1)
  +             result=newdate(tdate1,idate,runnum,-1) ; idate1=idate(1)
              endif
              if (result.ne.0)  then
  -              print *,'after if adding,if rounding',tdate1
  +!               print *,'after if adding,if rounding',tdate1
                 goto 2
              endif
           else
  
positive.code: !               Utiliser Get_calendar_Status et Calendar_Adjust
  !               pour supporter les calculs effectues avec des
  !               calendriers alternatifs (i.e. 360 ou 365 jours)
  !LANGUAGE - fortran
  !
  !OBJECT   - INCDATR COMPUTES IDATE1=IDATE2+NHOURS
  
negative.code: !        encode it in a new date-time stamp
        stamp=(tdate/8)*10+mod(tdate,8)
        date_unsigned=stamp + troisg
        ! implicit INTEGER(8) to INTEGER(4) transfer
        dat1=date_unsigned
        return
  !
  !     mode=-5 : from extended stamp to printable
  !
  103   continue
        stamp8=dat1 ; stamp8=and(masque32,stamp8)
        dat2(1)= 0 ; dat3=0
        date_unsigned = stamp8
  !!!   if (w16(1).eq.0) date_unsigned = ishft(stamp8,-32)
        if (date_unsigned <  troisg .or. &
            date_unsigned >= troisg + max_offset) then
          print *,'newdate error: invalid stamp for mode -5, stamp=',stamp
  