The source code of LSODA is supplied in the ..\source directory of NONMEM for NONMEM 7.1.2 and earlier. For NONMEM 7.2, the ..pr directory has the PREDDPP source code available for viewing. Typically when LSODA errors occur, is is corrected by modifying TOL. However, sometimes LSODA errors occur only initially during estimation, and may be ignored if they do not persist throughout the estimation. Setting NOABORT allows getting through any initial difficulties. Regarding: For the nonmem development team: would it be an idea to (1) include LSODA return codes in the html help and (2) allow the user control of the mxstep input to ADVAN13? LSODA return codes will be listed in html help in a future version For ADVAN13,. the default mxsetp is 5000. To increase it further (say to max integer value), insert the following in your control stream file $PK "FIRST " USE PRDATA, ONLY: MXSTP01 " MXSTP01=2147483647 For a permanent change, modify MXSTP01 in ..\resource\prdata.f90, and rebuild your NONMEM installation.
For ADVAN9, MXSTEP is controled by MXSTP0, which is presently set at 2147483647 Robert J. Bauer, Ph.D. Vice President, Pharmacometrics ICON Development Solutions Tel: (215) 616-6428 Mob: (925) 286-0769 Email: robert.ba...@iconplc.com Web: www.icondevsolutions.com <outbind://345/www.icondevsolutions.com> ________________________________ From: owner-nmus...@globomaxnm.com [mailto:owner-nmus...@globomaxnm.com] On Behalf Of Elassaiss - Schaap, J. (Jeroen) Sent: Thursday, September 22, 2011 2:58 AM To: non...@optonline.net Cc: nmusers Subject: RE: [NMusers] "ERROR IN LSODA: CODE -1" Pavel, This message looks familiar to me. I do not know about specifics of the error code, but LSODA is the integrator behind ADVAN13. You can safely assume that it has some problems with integration of your $DES block. You could check e.g. parameters that have become too large etc. Unsatisfactory answer, actually. Some googling gave back this link: http://hosho.ees.hokudai.ac.jp/~kubo/Rdoc/library/deSolve/html/lsoda.htm l where LSODA return values are mentioned. "[...]conditions under which the last call to lsoda returned. 2 if LSODA was successful, -1 if excess work done, -2 means excess accuracy requested. (Tolerances too small), -3 means illegal input detected. (See printed message.), -4 means repeated error test failures. (Check all input), -5 means repeated convergence failures. (Perhaps bad Jacobian supplied or wrong choice of MF or tolerances.), -6 means error weight became zero during problem. (Solution component i vanished, and atol or atol(i) = 0.) " Still not satisfying. More digging revealed the documentation imbedded in fortran code in the odesolve package. The paragraphs on the returned istate: " c on output, istate has the following values and meanings. c 1 means nothing was done, as tout was equal to t with c istate = 1 on input. (however, an internal counter was c set to detect and prevent repeated calls of this type.) c 2 means the integration was performed successfully. c -1 means an excessive amount of work (more than mxstep c steps) was done on this call, before completing the c requested task, but the integration was otherwise c successful as far as t. (mxstep is an optional input c and is normally 500.) to continue, the user may c simply reset istate to a value .gt. 1 and call again c (the excess work step counter will be reset to 0). c in addition, the user may increase mxstep to avoid c this error return (see below on optional inputs). c -2 means too much accuracy was requested for the precision c of the machine being used. this was detected before c completing the requested task, but the integration c was successful as far as t. to continue, the tolerance c parameters must be reset, and istate must be set c to 3. the optional output tolsf may be used for this c purpose. (note.. if this condition is detected before c taking any steps, then an illegal input return c (istate = -3) occurs instead.) c -3 means illegal input was detected, before taking any c integration steps. see written message for details. c note.. if the solver detects an infinite loop of calls c to the solver with illegal input, it will cause c the run to stop. c -4 means there were repeated error test failures on c one attempted step, before completing the requested c task, but the integration was successful as far as t. c the problem may have a singularity, or the input c may be inappropriate. c -5 means there were repeated convergence test failures on c one attempted step, before completing the requested c task, but the integration was successful as far as t. c this may be caused by an inaccurate jacobian matrix, c if one is being used. c -6 means ewt(i) became zero for some i during the c integration. pure relative error control (atol(i)=0.0) c was requested on a variable which has now vanished. c the integration was successful as far as t. c -7 means the length of rwork and/or iwork was too small to c proceed, but the integration was successful as far as t. c this happens when lsoda chooses to switch methods c but lrw and/or liw is too small for the new method. c c note.. since the normal output value of istate is 2, c it does not need to be reset for normal continuation. c also, since a negative input value of istate will be c regarded as illegal, a negative output value requires the c user to change it, and possibly other inputs, before c calling the solver again. " Which says that -1 indicates that the solver actually has succeeded and nonmem could have continued by setting istate to 2 and mxstep to a larger value.... although completing the run could obviously take much more time. For the nonmem development team: would it be an idea to (1) include LSODA return codes in the html help and (2) allow the user control of the mxstep input to ADVAN13? Best regards, Jeroen J. Elassaiss-Schaap Scientist PK/PD MSD PO Box 20, 5340 BH Oss, Netherlands Phone: + 31 412 66 9320 Fax: + 31 412 66 2506 e-mail: jeroen.elassa...@merck.com ________________________________ From: owner-nmus...@globomaxnm.com [mailto:owner-nmus...@globomaxnm.com] On Behalf Of non...@optonline.net Sent: Thursday, September 22, 2011 05:41 To: nmusers@globomaxnm.com Subject: [NMusers] "ERROR IN LSODA: CODE -1" Hello NONMEM Users, What is "ERROR IN LSODA: CODE -1"? Is there a list of explaned error codes somewhere? Thank you! Pavel 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. ICON plc made the following annotations. ------------------------------------------------------------------------------ This e-mail transmission may contain confidential or legally privileged information that is intended only for the individual or entity named in the e-mail address. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or reliance upon the contents of this e-mail is strictly prohibited. If you have received this e-mail transmission in error, please reply to the sender, so that ICON plc can arrange for proper delivery, and then please delete the message. Thank You, ICON plc South County Business Park Leopardstown Dublin 18 Ireland Registered number: 145835