NONMEM 7 Bug with Verbatim Code

3 messages 3 people Latest: Jul 05, 2010

NONMEM 7 Bug with Verbatim Code

From: Bill Denney Date: July 01, 2010 technical
Hi, I have code where the ID is printed out in verbatim code for a model that worked fine with NM6, but it crashes NM7: ... $PK ... " PRINT*,ID ... The error is: WARNINGS AND ERRORS (IF ANY) FOR PROBLEM 1 (WARNING 2) NM-TRAN INFERS THAT THE DATA ARE POPULATION. CREATING MUMODEL ROUTINE... FSUBS.f90(265): error #5082: Syntax error, found '*' when expecting one of: ( , <END-OF-STATEMENT> ; <IDENTIFIER> <CHAR_CON_KIND_PARAM> <CHAR_NAM_KIND_PARAM> ... WRITE (UST,*)*ID --------------------^ compilation aborted for FSUBS.f90 (code 1) No nonmem execution. An easy workaround is to remove the statement since it was just used for debugging, but I was surprised that the model didn't work. Thanks, Bill Notice: This e-mail message, together with any attachments, contains information of Merck & Co., Inc. (One Merck Drive, Whitehouse Station, New Jersey, USA 08889), and/or its affiliates Direct contact information for affiliates is available at http://www.merck.com/contact/contacts.html) that may be confidential, proprietary copyrighted and/or legally privileged. It is intended solely for the use of the individual or entity named on this message. If you are not the intended recipient, and have received this message in error, please notify us immediately by reply e-mail and then delete it from your system.

RE: NONMEM 7 Bug with Verbatim Code

From: Jeroen Elassaiss-Schaap Date: July 02, 2010 technical
Bill, Inserting a space between the PRINT and the asterisk removes the error message, but I would not know why (from Bob's introduction to nm7, page 3 bottom, it can be deduced that the parsing of print statements have changed - that may have something to do with it). To get the actual debugging info in the output file, the old behavior of PRINT *, .. you can do something like this: " WRITE(6,*) ID A statement like " WRITE(*,*) dumps to the screen (STDOUT), which with PsN gets captured somewhere else. The PRINT *, statement produces zeros for ID on me and a WRITE *, statement as mentioned in the nmhelp entry on write produces a compiler error. So the WRITE(6,*) is the way to get debugging info as far as I can see. There probably are improved debugging approaches available... anyone? Hope this helps, Jeroen Modeling & Simulation Expert Pharmacokinetics, Pharmacodynamics & Pharmacometrics (P3) - DMPK MSD PO Box 20 - AP1112 5340 BH Oss The Netherlands [email protected] T: +31 (0)412 66 9320 M: +31 (0)6 46 101 283 F: +31 (0)412 66 2506 www.msd.com
Quoted reply history
________________________________ From: [email protected] [mailto:[email protected]] On Behalf Of Denney, William S. Sent: Thursday, 01 July, 2010 23:53 To: [email protected] Subject: [NMusers] NONMEM 7 Bug with Verbatim Code Hi, I have code where the ID is printed out in verbatim code for a model that worked fine with NM6, but it crashes NM7: ... $PK ... " PRINT*,ID ... The error is: WARNINGS AND ERRORS (IF ANY) FOR PROBLEM 1 (WARNING 2) NM-TRAN INFERS THAT THE DATA ARE POPULATION. CREATING MUMODEL ROUTINE... FSUBS.f90(265): error #5082: Syntax error, found '*' when expecting one of: ( , <END-OF-STATEMENT> ; <IDENTIFIER> <CHAR_CON_KIND_PARAM> <CHAR_NAM_KIND_PARAM> ... WRITE (UST,*)*ID --------------------^ compilation aborted for FSUBS.f90 (code 1) No nonmem execution. An easy workaround is to remove the statement since it was just used for debugging, but I was surprised that the model didn't work. Thanks, Bill Notice: This e-mail message, together with any attachments, contains information of Merck & Co., Inc. (One Merck Drive, Whitehouse Station, New Jersey, USA 08889), and/or its affiliates Direct contact information for affiliates is available at http://www.merck.com/contact/contacts.html) that may be confidential, proprietary copyrighted and/or legally privileged. It is intended solely for the use of the individual or entity named on this message. If you are not the intended recipient, and have received this message in error, please notify us immediately by reply e-mail and then delete it from your system. This message and any attachments are solely for the intended recipient. If you are not the intended recipient, disclosure, copying, use or distribution of the information included in this message is prohibited --- Please immediately and permanently delete.

RE: NONMEM 7 Bug with Verbatim Code

From: Robert Bauer Date: July 05, 2010 technical
Bill: I investigated the problem and found that not verbatimizing the code allows NM7/NMTRAN to properly construct the PRINT statement and set up the connection of ID to EVTREC(): PRINT*,ID When verbatimizing: " PRINT*,ID NM7/NMTRAN does not connect ID with EVTREC()/DATREC(), and does not correctly transpose the PRINT statement to a syntactically correct WRITE(UST,*) statement. Thank you for pointing this out, we shall correct this for the next version. Robert J. Bauer, Ph.D. Vice President, Pharmacometrics ICON Development Solutions Tel: (215) 616-6428 Mob: (925) 286-0769 Email: [email protected] Web: www.icondevsolutions.com
Quoted reply history
________________________________ From: [email protected] [mailto:[email protected]] On Behalf Of Denney, William S. Sent: Thursday, July 01, 2010 5:53 PM To: [email protected] Subject: [NMusers] NONMEM 7 Bug with Verbatim Code Hi, I have code where the ID is printed out in verbatim code for a model that worked fine with NM6, but it crashes NM7: ... $PK ... " PRINT*,ID ... The error is: WARNINGS AND ERRORS (IF ANY) FOR PROBLEM 1 (WARNING 2) NM-TRAN INFERS THAT THE DATA ARE POPULATION. CREATING MUMODEL ROUTINE... FSUBS.f90(265): error #5082: Syntax error, found '*' when expecting one of: ( , <END-OF-STATEMENT> ; <IDENTIFIER> <CHAR_CON_KIND_PARAM> <CHAR_NAM_KIND_PARAM> ... WRITE (UST,*)*ID --------------------^ compilation aborted for FSUBS.f90 (code 1) No nonmem execution. An easy workaround is to remove the statement since it was just used for debugging, but I was surprised that the model didn't work. Thanks, Bill Notice: This e-mail message, together with any attachments, contains information of Merck & Co., Inc. (One Merck Drive, Whitehouse Station, New Jersey, USA 08889), and/or its affiliates Direct contact information for affiliates is available at http://www.merck.com/contact/contacts.html) that may be confidential, proprietary copyrighted and/or legally privileged. It is intended solely for the use of the individual or entity named on this message. If you are not the intended recipient, and have received this message in error, please notify us immediately by reply e-mail and then delete it from your system.