anchor.diff:  ! Read Number of fuel pins and guide tubes
   READ(xbunit, *, IOSTAT=ios) ind, ln, nfpin, ngt
   message = ' error in reading number of fuel pins and guide tubes'
  -CALL er_message(ounit, ios, ln, message)
  +CALL er_message(ounit, ios, ln, message, buf=xbunit)
   
   ! Read Fraction of heat deposited in the coolant
   READ(xbunit, *, IOSTAT=ios) ind, ln, cf
   message = ' error in reading fraction of heat deposited in the coolant'
  -CALL er_message(ounit, ios, ln, message)
  +CALL er_message(ounit, ios, ln, message, buf=xbunit)
   
   if (cf < 0. .or. cf > 1.0) stop "The value of the fraction of heat " &
   // "deposited in the coolant is incorrect"
  
positive.code:           READ(xbunit, *, IOSTAT=ios) ind, ln, csigtr(i,g), &
            csiga(i,g), cnuf(i,g), csigf(i,g), (csigs(i,g,h), h = 1, ng)
            message = ' error in reading macro xs changes per ppm boron changes'
            CALL er_message(ounit, ios, ln, message)
        END DO
    END DO
  END IF
  
negative.code:         READ(tunit, *,IOSTAT=iost) ind, ln, m(j)%tadf, m(j)%trod     ! Read input control
          message = ' ERROR IN XTAB FILE ' // TRIM(ADJUSTL(xtab(j)%fname)) &
          // ': CANNOT READ CONTROL PARAMETERS'
          CALL er_message(ounit, iost, ln, message, XTAB=j)
  
          READ(tunit, *, IOSTAT=iost) ind, ln, m(j)%nd, m(j)%nb, m(j)%nf, m(j)%nm    ! Read number of branch
          message = ' ERROR IN XTAB FILE '// TRIM(ADJUSTL(xtab(j)%fname))&
  