___________________________________________________________________
| |
| NMPRD4 |
|_________________________________________________________________|
MEANING: NONMEM-PRED common
CONTEXT: User-supplied routines
USAGE:
COMMON /NMPRD4/ v1, v2, ..., vn
(If double precision is to be used):
DOUBLE PRECISION v1,v2, ..., vn
(If single precision is to be used):
REAL v1,v2, ..., vn
DISCUSSION:
v1, v2, ... , vn are the names of the variables in the common. Any
PRED-defined variables (including PK-defined and ERROR-defined vari-
ables) may be listed in this common. This may be done for communica-
tion with other user-written codes, or so that NONMEM has access to
these variables for display in tables or scatterplots.
(See $table, $scatter). Values are stored by PRED. A SAVE region of
NMPRD4 may be designated; (See nmprd3). The length of NMPRD4 is 1000,
but this may be changed when NONMEM is compiled. It may be necessary
to "pad" the common to the same size as in NONMEM if the user's com-
piler considers a discrepancy in the size of a common to be a fatal
error. See below for the way this is done by NM-TRAN.
When abbreviated code is used, by default NM-TRAN lists all PRED-
defined variables in the common, as well as certain NM-TRAN-defined
variables which give the values of partial derivatives. Comment lines
in the generated code (file FSUBS) identify these variables. This
makes the listed variables globally accessible to all blocks of abbre-
viated code, which may not be desirable, and which can also lead to
difficulties with array sizes in NM-TRAN. (An exception is made for
initialization-finalization variables; these are PRED-defined vari-
ables that are first defined within a block that tests for ICALL 0, 1,
3. Such variables are stored locally and will not be changed by NON-
MEM at ICALL 2 or 4).
Variables from a given block of abbreviated code can be excluded from
the common by including the following pseudo-statement in that block:
COMRES=-1
Variables from all blocks of abbreviated code can be excluded from the
common by including the identical option (COMRES=-1) on the $ABBREVI-
ATED record.
NM-TRAN includes in the generated routines extra variables to "pad"
the common to the appropriate size. E.g.,
COMMON/NMPRD4/KA,K,V,S2,Y,BBBBBB(0995)
When verbatim code is present, or when the $ABBREVIATED record
includes the COMRES option to reserve a portion of the common, then
NM-TRAN also includes the following code in generated subroutines:
DIMENSION COM(1000)
EQUIVALENCE (COM(1),v1)
This allows explicit reference to the reserved elements of the common
in abbreviated code, and to all elements of the common in verbatim
code.
REFERENCES: Guide III Section III.2.9.3, III.2.9.4, V.2.7, VI.2.1.2
REFERENCES: Guide IV Section III.B.7, III.B.16, III.B.17, IV.H, V.C.5-9
REFERENCES: Guide VI Section III.J, III.L.2, IV.E, IV.G.4, Figure 5, Figure 14
Go to main index.
Created by nmhelp2html v. 1.0 written by Niclas Jonsson (Modified by AJB 5/2006,11/2007)