Using FORTRAN write statement with parallel NONMEM

2 messages 2 people Latest: Apr 16, 2015
Dear all, I'm using the BAYES method and attempting to write out MCMC samples for individual parameters per the method shown in example 8 of the NONMEM 7.2 documentation. This involves using a FORTRAN write statement in verbatim code at the end of the PK block: "IF(BAYES_EXTRA==1 .AND. ITER_REPORT>=0 .AND. TIME==0.0) THEN "WRITE(50,98) ITER_REPORT,ID,CL,V1,Q,V2 "98 FORMAT(I12,1X,F14.0,4(1X,1PG12.5)) "ENDIF This works as expected when running on a single processor. The desired samples are written to a file called fort.50. When I try to run this in parallel per "Introduction to NONMEM 7.2.0" p. 70, the run completes successfully, but only a subset of the MCMC samples are written to fort.50. I'm guessing this is the subset that are computed on the master node. Comparable files for the worker nodes are nowhere to be found. In particular they do not appear in the directories named worker1, worker2, etc. Any idea where the samples are being written or alternative approaches to access those values? Thanks, Bill
Bill: I have just recently tested this with nonmem 7.3, and the fort.50 and fort.51 files show up on the worker directories, so I am not sure if something is going on in your environment. If you can describe your OS, and send your pnm file, I'll try to figure out what it going on. By the way, there is an example8b described in nm730.pdf, which shows how to place these worker files to your manager directory. Bob Bauer
Quoted reply history
________________________________ From: [email protected] [[email protected]] on behalf of Bill Gillespie [[email protected]] Sent: Thursday, April 16, 2015 10:36 AM To: [email protected] Subject: [NMusers] Using FORTRAN write statement with parallel NONMEM Dear all, I'm using the BAYES method and attempting to write out MCMC samples for individual parameters per the method shown in example 8 of the NONMEM 7.2 documentation. This involves using a FORTRAN write statement in verbatim code at the end of the PK block: "IF(BAYES_EXTRA==1 .AND. ITER_REPORT>=0 .AND. TIME==0.0) THEN "WRITE(50,98) ITER_REPORT,ID,CL,V1,Q,V2 "98 FORMAT(I12,1X,F14.0,4(1X,1PG12.5)) "ENDIF This works as expected when running on a single processor. The desired samples are written to a file called fort.50. When I try to run this in parallel per "Introduction to NONMEM 7.2.0" p. 70, the run completes successfully, but only a subset of the MCMC samples are written to fort.50. I'm guessing this is the subset that are computed on the master node. Comparable files for the worker nodes are nowhere to be found. In particular they do not appear in the directories named worker1, worker2, etc. Any idea where the samples are being written or alternative approaches to access those values? Thanks, Bill