anchor.diff:    INTEGER,PARAMETER,DIMENSION(12) :: &
             days = [31,28,31,30,31,30,31,31,30,31,30,31]
   
  -  IF(month<1.OR.month>12)THEN
  +  IF(month < 1 .OR. month > 12)THEN
  +    ! Should raise an error and abort here, however we want to keep
  +    ! the pure and elemental attributes. Make sure this function is 
  +    ! called with the month argument in range. 
       daysInMonth = 0
  -    RETURN 
  -  ENDIF
  -
  -  IF(month==2.AND.isLeapYear(year))THEN
  +    RETURN
  +  ENDIF
  +
  +  IF(month == 2 .AND. isLeapYear(year))THEN
       daysInMonth = 29
     ELSE
       daysInMonth = days(month)
  
positive.code:       ENDIF
      ELSEIF(self%day < 1)THEN
        self%month = self%month-1
        self%day = self%day+daysInMonth(self%month,self%year)
        IF(self%month < 1)THEN
          self%year = self%year+self%month/12-1
          self%month = 12+MOD(self%month,12)
        ENDIF
      ELSE
        EXIT
      ENDIF 
  
negative.code: !
  ! MODULE: datetime
  !
  ! VERSION: 0.3.1
  !
  ! LAST UPDATE: 2014-03-31
  !
  ! AUTHOR: Milan Curcic
  !         University of Miami
  