Re: fortran compiler

From: Nick Holford Date: April 29, 1997 technical Source: cognigencorp.com
From n.holford@auckland.ac.nz Tue Apr 29 17:40:28 1997 Subject: Re: fortran compiler I have used Watcom 10.5 and 10.6 to run NONMEM. Here are my notes. I use the following compiler options: /ox /5 /fp5 CHANGES TO NONMEM SOURCE FOR WATCOM COMPILER V 10.5/6 ===================================================== nonmem.f: Needs more file handles than default allows (v 10.5) Also need to add FILE=60 (or more) in CONFIG.SYS. C MOD 23 Nov 1995 NHGH INCLUDE 'FSUBLIB.FI' INTEGER NEW_LIMIT NEW_LIMIT=GROWHANDLES(60) C MOD END blkdat.f: define NULL device: C MOD START NHGH DATA FNSTP,FNINT,FNERR/'nul','nul','PRDERR'/ C MOD END NHGH Comment out IEEE: C MOD START NHGH C DATA IREPS,ITOL,LARGE,IEPS/1018167296,0,55574528,0, C 1 2146435071,-1,864026624/ C DATA ISREPS,ISTOL/872415232,201326592/ C MOD END NHGH Uncomment Intel Chip: C MOD START NHGH DATA IREPS,ITOL,LARGE,IEPS/0,1018167296,0,55574528, 1 -1,2146435071,864026624/ DATA ISREPS,ISTOL/872415232,201326592/ C MOD END NHGH ofiles.f: comment out REWIND 5 C MOD START NHGH C REWIND 5 C MOD END NHGH CHANGES TO NMTRAN SOURCE FOR WATCOM COMPILER ============================================ Note that nmtran will read from stdin and write to stdout. cfilex.f: Between INTEGER N and GO TO (1,2,3,4,5,6) NOPEN. A WATCOM specific include file is needed to use FEXIT() (see below): C MOD 10 June 94 NHGH INCLUDE 'FSUBLIB.FI' C MOD END Remove comment and change CALL EXIT(N): C Use FEXIT() to return with exit status CALL FEXIT(N) C MOD END chkdat.f: Replace FORM(3)='(A300)': C MOD NHGH 13 Jun 94 - Fix Watcom bug if FORM(3)>A256 C FORM(3)='(A300)' FORM(3)='(A256)' C MOD END read2.f: Replace FORM(1)='(A300)': C MOD NHGH 13 Jun 94 - Fix Watcom bug if FORM(1)>A256 C FORM(1)='(A300)' FORM(1)='(A256)' C MOD END skipbl.f: Modify RECORD(CURRLN) etc as follows: C MOD NHGH 20 Jun 94 - Watcom breaks if CPOS>J-1 C IF (RECORD(CURRLN)(CPOS:J-1).EQ.' ') THEN IF ((CPOS.GE.J).OR.RECORD(CURRLN)(CPOS:J-1).EQ.' ') THEN C MOD END pkparm.f: The I6 format breaks CALLFL=-2. AB suggests: In NMTRAN's routine PKPARM, locate: READ (VCON(RHSPOS(KK),II)(1:LVCON(RHSPOS(KK),II)-1), X '(I6)') J Replace with: READ (VCON(RHSPOS(KK),II)(1:1),'(I1)') J IF (LVCON(RHSPOS(KK),II).NE.2) J=9 -- Nick Holford, Dept Pharmacology & Clinical Pharmacology University of Auckland, Private Bag 92019, Auckland, New Zealand email:n.holford@auckland.ac.nz tel:+64(9)373-7599x6730 fax:373-7556 http://www.phm.auckland.ac.nz/Staff/NHolford/nholford.html ****
Apr 29, 1997 Stuart S H Ellis fortran compiler
Apr 29, 1997 Nick Holford Re: fortran compiler