anchor.diff:          ! prm file
           iarg = iarg + 1
           call read_opt_arg(iarg,nargs,rst_file,err)
  -        if (err == 1) then
  +        if (err == 2) then
              write(0,*) 'ERROR ! missing argument: '//trim(arg)//' <filename>'
  +           stop
  +        end if
  +     case('-d', '--digits')
  +        ! the number of digits to the right of the decimal point
  +        ! default: print with full precision
  +        iarg = iarg + 1
  +        call read_opt_arg(iarg,nargs,n_digits,err)
  +        if (err == 2) then
  +           write(0,*) 'ERROR ! missing argument: '//trim(arg)//' <n>'
              stop
           end if
        case default
  
positive.code:      end do
    end if
    k = 0
    do iv = 1,nvars
       do is = 1,nclasses
          k = k + 1
          write(*,'(i3,1x,i2,1x,f8.4)') iv,is,prm(k)
       end do
    end do
    do jv = 1,nvars-1
       do iv = jv+1,nvars
          do js = 1,nclasses
             do is = 1,nclasses
                k = k + 1
                ! order is inverted for printing 
                write(*,'(2(i3,1x),2(i2,1x),f8.4)') jv,iv,js,is,prm(k)
             end do
          end do
       end do
    end do
  
  
negative.code:         stop
       end select
    end do args_loop
  
    write(frmt,*) 
  
    call units_open_unf(rst_file,'old',unt,err)
    
  