+--------------------------------------------------------------------+
 |                                                                    |
 |                   PRED_IGNORE_DATA BLOCK (NM75)                    |
 |                                                                    |
 +--------------------------------------------------------------------+

 MEANING: Abbreviated code for ignoring (dropping) data records
 CONTEXT: $PRED, $PK, $INFN abbreviated code

 SAMPLE:
 $INFN
     IF(PRED_IGNORE_DATA_TEST==1) THEN
     PRED_IGNORE_DATA=0
     IF(AGE>35.0) PRED_IGNORE_DATA=1
     IF( ID>10.AND.ID<18.OR.ID>60.AND.ID<70 ) PRED_IGNORE_DATA=1
     RETURN ;Assures no additional computation code in INFN is executed
     ENDIF

 USAGE:
       SUBROUTINE INFN (ICALL,THETA,DATREC,INDXS,NEWIND)
       USE NMPRD_INT, ONLY: PRED_IGNORE_DATA,PRED_IGNORE_DATA_TEST

 DISCUSSION:

 The IGNORE=(list) and ACCEPT=(list) options of $DATA provide a limited
 means of filtering the input data set, which is performed  by  NMTRAN.
 To  provide  more  elaborate  filtering  for  excluding data, PRED can
 request that NONMEM filter out additional data records at  the  begin-
 ning of the run.

 This  is  done  by setting the reserved variable PRED_IGNORE_DATA to a
 non-zero value within $INFN, $PK, or $PRED,  for  each  record  to  be
 ignored.

 It may be useful to package PRED_IGNORE_DATA statements within
  IF(PRED_IGNORE_DATA_TEST==1) THEN
  ...
  RETURN
  ENDIF
 structures to avoid unnecessary code execution.

 If  the  PRED_IGNORE_DATA_TEST or PRED_IGNORE_DATA variables appear in
 abbreviated code, or the option
 $DATA ... PRED_IGNORE_DATA
 is used in the NM-TRAN control stream, then  a  PRED_IGNORE_DATA  pass
 through the NONMEN data file with PRED_IGNORE_DATA_TEST=1 and ICALL=-1
 occurs.  Otherwise it does not.  Therefore, existing code such as  "IF
 (ICALL<=1) THEN ...ENDIF" does not need to be changed.

 The following variables have properly defined values:

 ICALL
 Data record items in DATREC
 NEWIND,NEWL2
 NPROB,IPROB, S1NUM, S2NUM,
 S1NIT,S2NIT, S1IT, S2IT

 No  other variables are properly defined when PRED_IGNORE_DATA_TEST=1.
 For example, the following should not be used:
 THETA, OMEGA, SIGMA, NREP, IREP
 ETA may be used but will be 0 there  are  no  random  variables  in  a
 pred_ignore_data block.

 Typically the NONMEM file that is  input to the pred_ignore_data block
 is FDATA.  FDATA is unaffected by the  pred_ignore_data  block.   How-
 ever,  with  NONMEM  7.5  there  is a new file, FDATA.csv, and records
 excluded by PRED_IGNORE_DATA will not be present in FDATA.csv.

 In a  pred_ignore_data block, the data record has been read by  NONMEM
 and  all  data  record  items  have numeric values.  The (non-Fortran)
 operators .EQN. and .NEN. that can be used with the $DATA  IGNORE  and
 ACCEPT options are not needed and cannot be used in a pred_ignore_data
 block.

 Any other functions of $INFN, such as DATA  item  modification  (i.e.,
 transgeneration  of  the data), RANDOM calls, etc. should be made with
 ICALL==1 or ICALL==0 IF blocks, as before.

 It is possible to restrict PRED_IGNORE_DATA actions  to  a  particular
 problem number:

 IF(IPROB==2.AND.PRED_IGNORE_DATA_TEST==1) THEN
 PRED_IGNORE_DATA=0
 IF(AGE>35.0) PRED_IGNORE_DATA=1
 IF( ID>10.AND.ID<18.OR.ID>60.AND.ID<70 ) PRED_IGNORE_DATA=1
 RETURN
 ENDIF

 RETURN statements may be used.

 EXIT statements may be used.  They act like a RETURN but are otherwise
 ignored.

REFERENCES: Guide Introduction_7

  
Go to main index.
  
Created by nmhelp2html v. 1.0 written by Niclas Jonsson (Modified by AJB 5/2006,11/2007,10/2012)