Fixed routines, except those related to NMTRAN bug 6 (below), will be
available at:
ftp://ftp.globomaxnm.com/Public/nonmem/NONMEM_VI_fixed_routines/.
Login with
User name:nonmemvi
Password: updates
Code changes have been supplied to Metrum Institute for inclusion
in the next release of NMQUAL.
A cummulative bug list, NONMEM_VI_1.1_Bug_List.txt, is available at
ftp://ftp.globomaxnm.com/Public/nonmem/NONMEM_VI_buglist/
At the time these fixes are incorporated into NONMEM VI 1.1 we recommend
changing the value of LEV in BLKDAT to 1.2.
NONMEM code
7. Background: Documentation indicates that the value of a data item
specified in the $CONTR record and made available to the MIX routine
in DATA(i,j) will be the value of the j'th data item on the i'th
observation record of an individual record. However, when the $CONTR
record is used with SIMULATION and there is no L2 data item in the data
set, then DATA(1,j) contains the value of the data item on the _last_
observation record of the individual record, and DATA(n,j) (for n>1) is
0.
FIX: Multiple code changes to the SIML routine are required.
Workaround: Place the value of the data item to be made available to the
MIX routine on the last observation record of an individual record.
8. An error message from the COMPR routine may reference the wrong data
record. Several different messages that begin with 'PROGRAM TERMINATED
BY COMPR
WITH INDIVIDUAL <individual sequesence number>, ID= <ID data item>, DATA
REC.
<data record number within an individual record>' are affected.
The final part of the message may be one of the following:
'SUM OF "SQUARED" WEIGHTED INDIVIDUAL RESIDUALS IS INFINITE'
'OBSERVATION IS OUTSIDE LIMITS'
'ENDPOINT OF CATEGORY IS OUTSIDE LIMITS'
'STANDARDIZED LIMIT IS INFINITE'
'UPPER LIMIT EQUAL TO LOWER LIMIT'
'WITH NMPR12-14, L2 RECORDS ARE NOT ALLOWED'
'WITH NMPR12-14, OBS. CANNOT BE MODELED WITH A CORRELATED EPSILON'
'STANDARDIZED ENDPOINT OF CATEGORY IS INFINITE'
'UPPER ENDPOINT OF CATEGORY NO GREATER THAN LOWER ENDPOINT'
FIX:
In the COMPR routine locate the statement
DO 60 I=1,NN
and immediately below it add
C ADDED 8/2007
IR=I
9. The ICALL variable is not initialized in the ESTIM routine before
the call to PRIOR.
FIX:
In the ESTIM routine locate the line
2 IE,IEND,IRSET,ISIG
and immediately below it add
C ADDED 8/2007
COMMON /CM36/ ICALL
COMMON /CM36/ IC3601
Workaround: Never test ICALL in PRIOR
10. Documentation error. If the PRIOR routine calls the NWPRI utility
then
the call should not be conditional on the value of ICALL.
11. When the NONPARAMETRIC method is used with a data set having
individuals with different active ETA's and the INTERACTION option is
NOT specified on the $ESTIM record then the results may depend on the
order of the ETA's. An active ETA is one for which the variance is
nonzero and, for a given individual, the first-derivative of the
log-likelihood w.r.t ETA is nonzero.
FIX:
In the NP routine locate the line
IF (NROB.EQ.0) GO TO 60
and immediately below it add
C ADDED 7/2007
NRETA=LM1-NAETAI
12. When the NONPARMETRIC method is used with a data set having
individuals with different active ETA's and the INTERACTION option is
specified on the $ESTIM record then the results may depend on the
active ETA's for the last individual in the data set.
Fix:
In the NP routine locate the section
IF (OPETA3.EQ.0) THEN
MDE=2
CALL OBJ3 (OO)
MDE=3
ENDIF
and change it to
IF (OPETA3.EQ.0) THEN
MDE=2
CALL OBJ3 (OO)
MDE=3
C ADDED 7/2007
ELSE
CALL OBJ3 (OO)
ENDIF
13. When the INTERACTION option is used, the reported weighted
residuals, WRES,
may be incorrect. This bug does not affect the values of the estimated
parameters nor the objective function value. The pre-fix and post-fix
WRES
values are usually of the same magnitude and highly correlated.
However,
a few WRES vaues may exhibit more noticable differences.
FIX:
In subroutine PRRES locate the line
24 H(J,L)=HU(L,1)
and immediately below it add the following statements
C ADDED 8/2007
DO 925 K=1,LM1
DO 925 L=1,LM2
925 H(J,K*LM2+L)=HU(L,K+1)
____________________________________________________
NMTRAN Code
6. If LNP4 is set in SIZES to a value larger than the default 1000,
several bugs can occur.
(1) With LNP4 > 9999, it is possible that values for the FCON file
will be larger than 9999.
FCON will contain character strings '****', causing run-time error
messages that are platform dependent. For example, the message for
Windows is:
forrtl: severe (64): input conversion error, unit5, file ...
If such an error message occurs, the user should reduce the size of
the problem, as in the workaround for (2) below.
(2) Another bug may occur with (a) LNP4>1000, and (b) a control stream
that displays reserved positions of COMMON NMPRD4.
E.g., COM(k) or :00k is listed in $TABLE or $SCATTER.
It is possible that the wrong labels for these variables will be used
in the table or scatter, and that (at the same time) the wrong values
will appear in the table or scatter. For this bug to occur, it is
also necessary that nearly (or more than) 1000 positions in COMMON
NMPRD4 be assigned by NM-TRAN. This may happen when the amount of
abbreviated code is large, and/or the reserved portion of the common
is very large (e.g., $ABBR COMRES=n, where n is nearly or more than
1000.)
The user should check FCON for inappropriate labels. If any are seen,
then use the following workaround.
FIX: Multiple code changes to multiple routines are required. Fixed
routines will be available in NONMEM VI 2.0 (early 2008). If one
requires fixed routines prior to that time, please
contact [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> .
Workaround:
Use $ABBR DERIV2=NO and/or reduce the size of the reserved portion of
NMPRD4. The use of $ABBR DERIV2=NO with all control streams that do
not
use the Laplacian method is a reasonable precaution when using
LNP4>1000.
_______________________________________________________________________________________________________________________________