anchor.diff:          print*, "   Corresponding Last Date"
           call calendar_date(max_mjd, year, month, day, hour, minute, second)
           print*, year, month, day, hour, minute, second
  -        
  +
           MJDLOOP: do mjd_input = min_mjd, max_mjd, mjd_step
               ! test that input and output Modified Julian Days stay the same
               call calendar_date(mjd_input, year, month, day, hour, minute, second)
  
positive.code: !>------------------------------------------------------------
  !!  Module to test the calendar routines
  !!  
  !!  Loops through 2100? years checking that conversions two and from an
  !!  internal date-time (e.g. Modified Julian Day) and YMD hms are consistent
  !!  test multiple calendars
  
negative.code:     character(len=STRING_LENGTH),dimension(NCALENDARS) :: calendars_to_test
      character(len=STRING_LENGTH) :: calendar_error
      character(len=STRING_LENGTH) :: options
  
      integer :: current_calendar
      integer :: error
      logical :: file_exists
  
      calendars_to_test=[character(len=STRING_LENGTH) :: "gregorian","standard","365-day","noleap","360-day"]
      options=""
  
      if (command_argument_count()>0) then
          call get_command_argument(1,options, status=error)
      endif
  
      if (trim(options)=="help") then
          print*, "calendar_test [detailed] [help]"
          print*, "   detailed: print an entire year of dates for visual inspection"
          print*, "   help: print this message"
          stop
      endif
  
      do current_calendar=1,NCALENDARS
          print*, "Testing : ", trim(calendars_to_test(current_calendar))
          if (calendar_test(calendars_to_test(current_calendar),error=calendar_error)) then
  