print_error_fcn Subroutine

public impure subroutine print_error_fcn(lunerr, d2, d3)

Print error reports indicating that computations were stopped in user-supplied subroutine fcn.

Arguments

Type IntentOptional Attributes Name
integer :: lunerr

Logical unit number used for error messages.

integer :: d2

2nd digit (from the left) of info.

integer :: d3

3rd digit (from the left) of info.


Called by

proc~~print_error_fcn~~CalledByGraph proc~print_error_fcn print_error_fcn proc~print_errors print_errors proc~print_errors->proc~print_error_fcn proc~odr odr proc~odr->proc~print_errors proc~odr_long_c odr_long_c proc~odr_long_c->proc~odr proc~odr_medium_c odr_medium_c proc~odr_medium_c->proc~odr proc~odr_short_c odr_short_c proc~odr_short_c->proc~odr program~example1 example1 program~example1->proc~odr program~example2 example2 program~example2->proc~odr program~example3 example3 program~example3->proc~odr program~example4 example4 program~example4->proc~odr program~example5 example5 program~example5->proc~odr

Source Code

   impure subroutine print_error_fcn(lunerr, d2, d3)
   !! Print error reports indicating that computations were stopped in user-supplied
   !! subroutine `fcn`.

      integer :: lunerr
         !! Logical unit number used for error messages.
      integer :: d2
         !! 2nd digit (from the left) of `info`.
      integer :: d3
         !! 3rd digit (from the left) of `info`.

      ! Print appropriate messages to indicate where computations were stopped

      if (d2 == 2) then
         write (lunerr, 1100)
      elseif (d2 == 3) then
         write (lunerr, 1200)
      elseif (d2 == 4) then
         write (lunerr, 1300)
      end if
      if (d3 == 2) then
         write (lunerr, 1400)
      end if

      ! Format statements

1100  format &
         (//' Variable ISTOP has been returned with a nonzero value  '/ &
           ' from user supplied subroutine FCN when invoked using the'/ &
           ' initial estimates of BETA and DELTA supplied by the     '/ &
           ' user.  The initial estimates must be adjusted to allow  '/ &
           ' proper evaluation of subroutine FCN before the          '/ &
           ' regression procedure can continue.')
1200  format &
         (//' Variable ISTOP has been returned with a nonzero value  '/ &
           ' from user supplied subroutine FCN.  This occurred during'/ &
           ' the computation of the number of reliable digits in the '/ &
           ' predicted values (F) returned from subroutine FCN, indi-'/ &
           ' cating that changes in the initial estimates of BETA(K),'/ &
           ' K=1,NP, as small as 2*BETA(K)*SQRT(MACHINE PRECISION),  '/ &
           ' where MACHINE PRECISION is defined as the smallest value'/ &
           ' E such that 1+E>1 on the computer being used, prevent   '/ &
           ' subroutine FCN from being properly evaluated.  The      '/ &
           ' initial estimates must be adjusted to allow proper      '/ &
           ' evaluation of subroutine FCN during these computations  '/ &
           ' before the regression procedure can continue.')
1300  format &
         (//' Variable ISTOP has been returned with a nonzero value  '/ &
           ' from user supplied subroutine FCN.  This occurred during'/ &
           ' the derivative checking procedure, indicating that      '/ &
           ' changes in the initial estimates of BETA(K), K=1,NP, as '/ &
           ' small as MAX[BETA(K),1/SCLB(K)]*10**(-NETA/2), and/or   '/ &
           ' of DELTA(I,J), I=1,N and J=1,M, as small as             '/ &
           ' MAX[DELTA(I,J),1/SCLD(I,J)]*10**(-NETA/2), where NETA   '/ &
           ' is defined to be the number of reliable digits in       '/ &
           ' predicted values (F) returned from subroutine FCN,      '/ &
           ' prevent subroutine FCN from being properly evaluated.   '/ &
           ' the initial estimates must be adjusted to allow proper  '/ &
           ' evaluation of subroutine FCN during these computations  '/ &
           ' before the regression procedure can continue.')
1400  format &
         (//' Variable ISTOP has been returned with a nonzero value  '/ &
           ' from user supplied subroutine FCN when invoked for '/ &
           ' derivative evaluations using the initial estimates of '/ &
           ' BETA and DELTA supplied by the user.  The initial '/ &
           ' estimates must be adjusted to allow proper evaluation '/ &
           ' of subroutine FCN before the regression procedure can '/ &
           ' continue.')

   end subroutine print_error_fcn