NONMEM Users Network Archive

Hosted by Cognigen

NONMEM 7.1.0

From: Ludden, Thomas <Thomas.Ludden>
Date: Fri, 4 Sep 2009 16:04:19 -0400

Dear NONMEM Users:

We hope to begin shipping NONMEM 7.1.0 late next week. Included with the
CD will be a hardcopy of the Release Notes as of 4SEP2009. Since the CD
goes to a contact person and not necessarily to the end-user, the
contents of these Notes are being posted to nmusers.

On the CD will be files named readme_7.1.0.pdf (and .txt). The readme
contains important information about installation. Also, after
installation, the guides folder will contain a document named
intro7.pdf. Please read this document thoroughly. The new methods
included in NONMEM 7.1.0 either require or are facilitated by
restatement of models in a particular form.

For your convenience copies of the release notes, the readme_7.1.0.pdf
and intro7.pdf files are available at the ftp site given below.

We are still working on the installation on addtional platforms, e.g.,
Sun Studio 12. New information will be sent to nmusers email list when
available, and will be put in the ftp site. Please check the ftp site
for the latest information before installing NONMEM 7.

To facilitate the handling of inquiries during what is anticipated to be
a very busy time, please use e-mail instead of a phone call.

Questions regarding licensing and invoicing should be directed to

Technical questions should be directed to nmconsult
they will be triaged to the appropriate individual(s).

The NONMEM Development Team


Release Notes for NONMEM 7.1.0

4 September 2009

NONMEM 7 Release Notes will be updated periodically and the latest
version can be found at

I. The NONMEM License File

NONMEM 7.1.0 uses a license file, nonmem.lic, to alert the user
regarding the license expiration date. Program execution cannot be
initiated after the stated expiration date unless replaced by a new
license file with a new expiration date obtained from Icon Development

The NONMEM 7.1.0 CD is shipped with a temporary license file with an
expiration date of 15 OCT 2009. When the CD is received, the contact
person should send an e-mail message to IDSSOFTWARE
requesting a permanent license. The message should include the company
name and department or, if an individual license, the individuals name.
The new license file will be provided as an e-mail attachment. This file
should replace the previous license file in the directory named license.

II. Known Problems

The following 8 problems were known at the time the NONMEM 7.1.0 CD's
were reproduced. These items are also included in the "readme_7.1.0"
file on the CD.

1) Installation on an HP 64-bit machine with Windows XP Professional x64
and Intel Fortran 9.1 64-bit was successful without optimizations but
failed with the default optimizations due to /Ob1gyti. The workaround is
to copy the contents of the CD to a directory. In SETUP7.bat change the

if "%f%" == "ifort" set op=/Gs /nologo /nbs /w /Ob1gyti /Qprec_div
/4Yportlib /traceback


if "%f%" == "ifort" set op=/Gs /nologo /nbs /w /Qprec_div =

save SETUP7.bat and repeat the installation from the directory.

2) Installations on Windows Vista, 32- and 64-bit, using Intel Fortran
have been successful. However, installations on Windows Vista, 64-bit,
using gfortran or g95 and on Solaris using the Sun Studio 12 version of
f95 have failed. (But see update below.) Installations on Windows Vista,
32-bit, using gfortran and g95 have not been tested.

3) Run-time control keys do not work for Mac OS X with g95 and gfortran.

4) The following message may occur in Linux, Mac OS X or Solaris, and
indicates that there is insufficient memory to run NONMEM (typically,
with 'big ' sizes):

nmfe7: line 65: 12232 Killed ./nonmem $1 $3 -licfile=$lfile

Edit resource/SIZES.f90 and supply smaller values . Retype the SETUP7
command, with options

"same rec" instead of "big norec"

5) If the dimension of SIGMA in the model is greater than 6 then the
MAXPTHETA and LTH variables in SIZES must be modified.

the number of THETA's and SIGMA's, respectively, in the model.

LTH should be set equal to the value of MAXPTHETA.

Edit resource\SIZES.f90 (Linux: resource/SIZES.f90) and supply the
appropriate values . Retype the SETUP7 command, with options "same rec"
instead of "big norec" or "reg norec".

6) Whenever SIZES is changed it is necessary to recompile NONMEM using
the rec option for the SETUP7 command. With Windows, SETUP7.bat may not
warn the user that SIZES has been changed.

7) In some cases the $COVARIANCE record may be incorrectly parsed
resulting in an NM-TRAN error message. If this problem occurs, place the
$COVARIANCE record prior to the first $ESTIMATION record in the control

8) It has been reported that installation on Windows 7 using SETUP7.bat
requires that the line

call .\util\dotest.bat %f%

be removed from SETUP7.bat. In addition, the User Account Control must
be set to "do not notify" prior to installation. It can be turned back
on after installation is complete.

Update to Known Problems

Correction to item 2 above and in the readme_7.1.0 file on the CD.

NONMEM 7.1.0 has been successfully installed on Vista 64-bit using
gfortran v.4.5.0


Correction to Item 7 above and in the readme_7.1.0 file.

Another workaround is to include the option UNCOND (or COND, if that is

your preference), e.g.


The latest information about Known Problems will be posted to the
nmusers listserve.


III. Compiler Related Information

gfortran: The name of the variable for the path to the lib directory
differs across platforms. LD_LIBRARY_PATH is used for Linux and Unix.
LIBRARY_PATH is used for Windows.

ar command: It may be necessary to provide a full path name for the ar
command if multiple Fortran compilers are available.

ifort: for faster run times (as much as 8%) delete the /traceback

option from the "set op" command of SETUP7.bat or delete the

-traceback option from the "op=" command in SETUP7.

Then reinstall in the same directory. E.g.,


cd c:\nm7

SETUP7 c:\nm7 c:\nm7 ifort y link same rec


cd /opt/nm7

/bin/bash SETUP7 /opt/nm7 /opt/nm7 ifort y ar same rec

See the readme_7.1.0 file on the CD for additional information about


IV. Re-installing NONMEM 7 with changes

If NONMEM 7 has been installed in a given directory, it can be
re-installed in a new directory. The CD is no longer necessary.


cd old-directory

SETUP7 old-directory new-directory ifort y link big rec

A different compiler, or different options (e.g. big vs. reg) may be
specified. Option rec must be specified to recompile.

If, however, changes have been made to a file in a subdirectory (e.g.,
SIZES.f90 in directory resource), then do not use SETUP7 or SETUP7.bat
in this way. All files in subdirectories will be replaced with files
from and Thus, the modified SIZES.f90 will be
replaced by the original.

Instead, the operating system's copy command should be used to create
the new

directory. E.g.,

MS-DOS: xcopy /S /Q old-directory new-directory

Unix: cp -R old-directory new-directory

Now re-install with option "same rec"


cd new-directory

SETUP7 new-directory new-directory ifort y link same rec


cd new-directory

/bin/bash SETUP7 new-directory new-directory ifort y ar same rec


V. Information Regarding Stable Model Development for Monte Carlo


This section should be appended to "Intro to 7, I.30, Advanced Topics"

The Monte Carlo EM and Bayesian methods create samples of etas from
multi-variate or normal or t distributions. Because of this, some
extreme eta values may be randomly selected and sent to the
user-developed model specified in $PK, $PRED, $DES, and/or $ERROR.
Usually these extreme eta positions are rejected by the Monte Carlo
algorithm because of the poor resulting objective function. But
occasionally, floating point overflows, divide by zero, or domain errors
may occur, which can result in failure of the analysis. This may occur
especially when beginning an analysis at poor initial parameter values.
At present, NONMEM is unable to recover from some of these errors, but
in future versions we hope to provide more robust recovery algorithms.
Here are some suggestions to provide a more robust user model that
protects against domain errors or floating point overflows, or allows
NONMEM to reject these positions of eta that cause them and continue the

If it is impossible to calculate the prediction due to the values of
parameters (thetas or etas) from NONMEM, then the EXIT statement should
be used to tell NONMEM that the parameters are inappropriate. The EXIT
statement allows NONMEM to reject the present set of etas by setting an
error condition index, which is in turn detected by classical NONMEM
algorithms as well as the Monte Carlo algorithms. With the NOABORT
switch of the $EST statement set, NONMEM may then recover and continue
the analysis.

For example, if you have an expression that uses


You may wish to flag all non-positive values and let NONMEM know when
the present eta values are unacceptable by inserting:

IF(X<=0.0) EXIT


On some occasions, you may need to have the calculations complete, then
this expression could be transformed to:


to avoid arguments to LOG that are non-positive.

If you have an expression which is ultimately exponentiated, then there
is a potential for floating point overflow. An expression such as


Which is likely to cause a floating point overflow could be filtered

IF(X>100.0) EXIT


Again, if the calculation must complete, such as when evaluating a
user-defined likelihood, then you can place a limiting value, taking
care that it causes little first derivative discontinuity:


;Put a limit on EXPP, as it will be exponentiated, to avoid floating

; overflow

IF(EXPP.GT.40.0) EXPP=40.0

F_FLAG=1 ; Categorical data

; IF EXPP>40, then A>1.0d+17, A/B approaches 1, 1/B approaches 0 and Y

; is approximately DV



Y=DV*A/B+(1-DV)/B ; a likelihood

If your code uses SQRT() phrases, the expression within parentheses
should be always positive. Sometimes expressions are calculated to near
zero but slightly negative values, such as -1.1234444555E-16. Such
values may legitimately be 0, but square rooting a negative number could
result in failure of analysis. In such cases, the difficulty is due to
the finite precision of the computer (e.g.,rounding error causing a
value to be negative that would be non-negative on a machine with
infinite precision) then the code should be written so as to produce the
correct result. To protect against this,


could be converted to




The EXIT statement should not be used in such near-zero cases. It could
lead to a failure in NONMEM with a message containing text such as



An EXIT may still be issued for values of X that are clearly negative
because of erroneous inputs, and you may wish to flag this calculation,
so that the estimation algorithm rejects this position:

IF(X<=-1.0E-06) EXIT


Such protection codes described above need not be inserted for every
LOG(), EXP, or SQRT, but only if your analysis fails frequently or tends
to be sensitive to initial values.

ICON plc made the following annotations.
This e-mail transmission may contain confidential or legally privileged i=
that is intended only for the individual or entity named in the e-mail ad=
dress. If you
are not the intended recipient, you are hereby notified that any disclosu=
re, copying,
distribution, or reliance upon the contents of this e-mail is strictly pr=
ohibited. If
you have received this e-mail transmission in error, please reply to the =
sender, so that
ICON plc can arrange for proper delivery, and then please delete the mess=
Thank You,
ICON plc
South County Business Park
Dublin 18
Registered number: 145835

Received on Fri Sep 04 2009 - 16:04:19 EDT

The NONMEM Users Network is maintained by ICON plc. Requests to subscribe to the network should be sent to:

Once subscribed, you may contribute to the discussion by emailing: