NDTRAN-2 -- Implementation Manual A. Description of NDTRAN-2 B. Test programs included with NDTRAN-2 C. Direct Access Disk File D. Overlay structure E. Size of COMMON data in program F. Loading NDTRAN-2 on the DECsystem-20 For additional information: William I. Davisson John J. Uhran, Jr. Department of Economics Department of Electrical Engineering University of Notre Dame University of Notre Dame Notre Dame, Indiana 46556 Notre Dame, Indiana 46556 (219)283-7021 (219)283-7423 ===== A. Description of NDTRAN-2 NDTRAN-2 is a dynamic simulation interpreter capable of carrying out dynamic and stochastic simulations. It is available in two basic versions: 1) A research version that will accept a source simulation program of up to 4000 statements. 2) A standard version which has the capability of executing programs somewhat larger than WORLD3 and which will operate on a computer with a 28K FORTRAN batch partition, such as the PDP 11 series computers. The standard version is available in a DOUBLE PRECISION version or a SINGLE PRECISION version depending on the requirements of the comuter at the installing college or university. All versions sent to installations with PDP 11 series computers are single precision, requiring the halfword integer option. The source program for NDTRAN-2 is approximately 13,000 statements in length, of which about 8,000 are COMMENT cards which constitute the basic documentation for the NDTRAN interpreter itself. It is very important that you read the COMMENT statements in the MAIN Program NDTRN, since this contains a number of parameters which must be set for the installation computer. ===== B. Test Programs We found out from our experience with NDTRAN, that users desired more test programs. Therefore we have included with NDTRAN-2 a total of 44 test programs including many of the standard short programs shown in the manual. We have also included a few major simulation models such as the Cedar Lake Model and WORLD3, including the overall model and the individual segments or modules of WORLD3 such as the POPULATION model. This has been done with the approval of Dennis Meadows of Dartmouth. All documentation for WORLD3 models is available through MIT Press or from Meadows at Dartmouth College. The sources are LIMITS TO GROWTH and DYNAMICS OF GROWTH IN A FINITE WORLD. ===== C. Direct Access Disk File NDTRAN-2 was designed to operate on a small computer, with limited core capacity. Since the core was limited it was necessary to use the disk file for intermediate storage. Thus NDTRAN-2 can handle quite large programs using the intermediate storage file. ===== D. Overlay Structure For all computer installations that need it, an overlay structure is provided which operates for both the standard and research version of NDTRAN-2. The actual procedures to load NDTRAN-2 with an overlay structure will of course vary according to the computer system used. ===== E. Size of COMMON Data in Program The arrays and the intermediate disk file in NDTRAN-2 determine the amount of core required, the size of the disk space used and the size of the simulation program that may be handled. There are two versions of NDTRAN-2, the Standard version and the Research version. 1. Various parameters in NDTRN (main program) may need to be modified depending on the computer on which you will implement NDTRAN-2. These parameters are indicated by COMMENT cards. 2. The array sizes are as follows: Array Name Standard Research ---------- -------- -------- PTRS 45 45 TITLE 120 120 CRSET 39 39 OPER 9 9 SYM 15 15 SUBSC 6 6 TYPCT 20 20 EQCHN 80 80 TOKEN 80 80 CARD1 80 80 CARD2 80 80 ERROR 80 80 OBJCD 160 160 DEF 80 80 XREF 80 80 TMAP 80 80 FCTN 5,22 5,22 SYMTB 5,512 5,512 LITBL 1024 8192 INIT0 5772 21644 CDATA 144 144 OUTPT 240 240 EQSRT 2048 16384 VAR 5000 18705 LINE 120 120 OBJCD 5154 37410 SORT 2048 16384 In the event of size problems, variable VAR may be modified in size somewhat. This will affect the overall size of the program that may be executed. The names of the subroutines and a short comment as to their functions is shown below. Subroutine Purpose ---------- ------- 01 input analyzer 02 expnd processor 03 initialize FCTN, SYMTB, MACRO records 04 pgm context analysis director 05 statement data area initializer 06 title processor 07 control card processor 08 equation lexical 09 output lexical/compiler 10 macro stmt processor 11 DEF processor 12 system error msg issuer 13 lexical error processor 14 context error processor 15 table processor 16 eqn compiler 17 default DEF generator 18 RERUN processor 19 RERUN input processor 20 group input error processor 21 equation chain builder 22 numeric processor 23 TMAP element builder 24 variable syntax 25 function processor 26 subscript syntax 27 variable processor 28 temp storage allocation 29 TMAP 30 output field processor 31 output var processor 32 plot char processor 33 output range analyze 34 plot char default assignmenta 35 output delimiter processor 36 output run no. processor 37 hash entry routine 38 left of = symbol processor 39 EXPND/Macro argument list processor 40 pack 41 unpack 42 argument counter 43 fixed pt. right justify numeric output 44 floating pt. left justify numeric output 45 integer numeric output routine 46 object code builder 47 left context analyzer 48 right context analyzer 49 numeric only context 50 documentor 51 level frnt 52 output context 53 Autoplot expander 54 variable alignment 55 note card processor 56 source/diagnostic listings 57 output monitor - compile phase 58 cross reference update 59 title finish 60 error printing 61 options handler 62 eqn ordering 63 data buffer update 64 execution - check 65 execution - nocheck 66 stat option processor 67 symbol table listing processor 68 cross reference option processor 69 systems analysis routine 70 output phase 71 Print 72 plot preliminaries 73 Independent Variable Plot 74 Time Plot 75 loader 76 symbol table tax sort 77 characteristic computation 78 Execution Time Output Monitor 79 Plot Extremum Transfer - Default Checking 80 Plot Extremum Transfer - Rounding 81 Plot Character Transfer 82 Plot i.v. name processing 83 Sort of data buffers 84 Prints object code listing 85 Optimizes object code 86 - 87 not presently implemented ===== F. NDTRAN-2 for the DECsystem-20 Fordham University Computer Services Academic and Technical Services Dealy Hall, Room B-17 Files on the distribution tape: (212)933-2233 ext 381 - NDTRN2.OPR this file - NDTRN2.FOR source file for the research version of NDTRAN-2 - NDTRN2.CTL batch control file to build the research version of NDTRAN-2 and run the test programs. N.B. this control file assumes logical names 1: and 6: both refer to DSK:; if this is not the default on your system, add DEFINE commands as needed. - NDTRN2.LOG batch log file from build and tests - NDTRN2.REL, NDTRN2.LST, NDTRN2.MAP, NDTRN2.EXE results of compilation and linking, research version of NDTRAN-2 - STNDRD.* equivalent of the NDTRN2.* files, but for the standard (smaller) version - *.DAT test input files - *.LST corresponding to *.DAT, results produced from test, using NDTRN2.CTL - *.STD not included on tape; the control file STNDRD.CTL creates *.STD instead of *.LST for test results, identical to those produced by NDTRN2.CTL - LINK2.IBM overlay structure example NDTRN2.OPR.16;P777700 6 14119(7) 10-Sep-81 12:27:09 NDTRN2.CTL.13;P777700 2 3990(7) 3-Jun-81 13:27:00 .EXE.1;P777700 71 36352(36) 11-Jun-81 16:53:00 .FOR.12;P777700 359 917258(7) 3-Jun-81 15:28:46 .LOG.1;P777700 1 238(36) 11-Jun-81 16:45:19 .LST.1;P777700 475 243035(36) 11-Jun-81 16:52:12 .MAP.1;P777700 15 7335(36) 11-Jun-81 16:53:47 .REL.1;P777700 107 54719(36) 11-Jun-81 16:46:04 STNDRD.CTL.4;P777700 2 4013(7) 4-Sep-81 16:28:16 .EXE.1;P777700 71 36352(36) 4-Sep-81 16:42:00 .FOR.4;P777700 359 917340(7) 4-Sep-81 16:05:21 .LOG.2;P777700 1 238(36) 4-Sep-81 16:30:32 .LST.1;P777700 475 242965(36) 4-Sep-81 16:41:51 .MAP.1;P777700 15 7335(36) 4-Sep-81 16:42:39 .REL.1;P777700 107 54738(36) 4-Sep-81 16:37:05 AGRIC.DAT.1;P777700 5 12628(7) 11-Jun-81 16:14:28 .LST.1;P777700 21 10381(36) 11-Jun-81 17:15:27 CAPITAL.DAT.1;P777700 4 8528(7) 11-Jun-81 16:15:37 .LST.1;P777700 4 2032(36) 11-Jun-81 17:16:50 CLIFF.DAT.1;P777700 1 1722(7) 11-Jun-81 16:16:30 .LST.1;P777700 2 998(36) 11-Jun-81 16:54:16 CLIFF2.DAT.1;P777700 1 1968(7) 11-Jun-81 16:17:17 .LST.1;P777700 3 1049(36) 11-Jun-81 17:00:45 CLIP.DAT.1;P777700 1 1968(7) 11-Jun-81 16:17:53 .LST.1;P777700 5 2185(36) 11-Jun-81 16:54:44 COAL1.DAT.1;P777700 1 1312(7) 11-Jun-81 16:18:37 .LST.1;P777700 3 1028(36) 11-Jun-81 16:55:00 COAL2.DAT.1;P777700 1 1312(7) 11-Jun-81 16:19:18 .LST.1;P777700 3 1028(36) 11-Jun-81 17:01:07 CONCARD.DAT.1;P777700 1 1394(7) 11-Jun-81 16:19:53 .LST.1;P777700 2 914(36) 11-Jun-81 16:55:37 DEL.DAT.1;P777700 1 1558(7) 11-Jun-81 16:20:33 .LST.1;P777700 2 870(36) 11-Jun-81 16:56:02 DELRAMP.DAT.1;P777700 1 1394(7) 11-Jun-81 16:21:34 .LST.1;P777700 3 1364(36) 11-Jun-81 16:56:21 ERRORS.DAT.1;P777700 3 5166(7) 11-Jun-81 16:22:15 .LST.1;P777700 7 3387(36) 11-Jun-81 16:57:07 EXPTST.DAT.1;P777700 1 2214(7) 11-Jun-81 16:22:58 .LST.1;P777700 2 948(36) 11-Jun-81 17:01:27 FUNCT.DAT.1;P777700 2 2870(7) 11-Jun-81 16:23:54 .LST.1;P777700 5 2215(36) 11-Jun-81 16:57:53 HEAT.DAT.1;P777700 7 17056(7) 11-Jun-81 16:25:12 .LST.1;P777700 43 21681(36) 11-Jun-81 17:10:27 INTGRT1.DAT.1;P777700 1 1558(7) 11-Jun-81 16:26:15 .LST.1;P777700 2 791(36) 11-Jun-81 17:01:55 INTGRT2.DAT.1;P777700 1 1558(7) 11-Jun-81 16:26:41 .LST.1;P777700 2 791(36) 11-Jun-81 17:02:17 INTGRT3.DAT.1;P777700 1 1558(7) 11-Jun-81 16:27:09 .LST.1;P777700 2 791(36) 11-Jun-81 17:02:41 INTRST.DAT.1;P777700 1 1394(7) 11-Jun-81 16:27:52 .LST.1;P777700 2 844(36) 11-Jun-81 16:58:33 LAKE.DAT.1;P777700 3 6970(7) 11-Jun-81 16:28:52 .LST.1;P777700 6 2565(36) 11-Jun-81 17:03:15 LINK2.IBM.1;P777700 2 2952(7) 2-Jun-81 11:33:07 MACRO.DAT.1;P777700 1 1394(7) 11-Jun-81 16:29:28 .LST.1;P777700 1 470(36) 11-Jun-81 16:58:57 PLOT2.DAT.1;P777700 1 1230(7) 11-Jun-81 16:30:25 .LST.1;P777700 2 717(36) 11-Jun-81 17:04:07 PLOT3.DAT.1;P777700 1 1230(7) 11-Jun-81 16:30:49 .LST.1;P777700 2 749(36) 11-Jun-81 17:04:25 PLOT4.DAT.1;P777700 1 1230(7) 11-Jun-81 16:31:24 .LST.1;P777700 2 733(36) 11-Jun-81 17:04:44 PLOT5.DAT.1;P777700 1 2214(7) 11-Jun-81 16:31:44 .LST.1;P777700 9 4325(36) 11-Jun-81 16:55:14 PLOT6.DAT.1;P777700 1 1230(7) 11-Jun-81 16:32:05 .LST.1;P777700 2 958(36) 11-Jun-81 17:04:58 PLOTSTAT.DAT.1;P777700 1 1230(7) 11-Jun-81 16:32:41 .LST.1;P777700 1 492(36) 11-Jun-81 17:07:09 POISSON.DAT.1;P777700 1 2296(7) 11-Jun-81 16:33:29 .LST.1;P777700 4 1747(36) 11-Jun-81 17:05:08 POP.DAT.1;P777700 5 12054(7) 11-Jun-81 16:34:18 .LST.1;P777700 13 6304(36) 11-Jun-81 17:18:39 PULSE.DAT.1;P777700 1 1312(7) 11-Jun-81 16:35:20 .LST.1;P777700 2 826(36) 11-Jun-81 17:05:33 RES.DAT.1;P777700 2 3772(7) 11-Jun-81 16:36:14 .LST.1;P777700 5 2171(36) 11-Jun-81 17:17:29 SMOOTH.DAT.1;P777700 1 984(7) 11-Jun-81 16:36:47 .LST.1;P777700 3 1124(36) 11-Jun-81 16:59:56 SPIRAL.DAT.1;P777700 1 1476(7) 11-Jun-81 16:37:29 .LST.1;P777700 2 989(36) 11-Jun-81 17:06:05 STEP.DAT.1;P777700 1 1640(7) 11-Jun-81 16:37:59 .LST.1;P777700 2 1019(36) 11-Jun-81 17:06:44 STEPDLS.DAT.1;P777700 1 1148(7) 11-Jun-81 16:38:30 .LST.1;P777700 3 1347(36) 11-Jun-81 16:59:29 TABLE.DAT.1;P777700 1 1394(7) 11-Jun-81 16:38:59 .LST.1;P777700 2 676(36) 11-Jun-81 17:07:39 TABLE1.DAT.1;P777700 1 1148(7) 11-Jun-81 16:39:26 .LST.1;P777700 3 1073(36) 11-Jun-81 17:08:01 TABLES.DAT.1;P777700 1 1230(7) 11-Jun-81 16:39:49 .LST.1;P777700 4 1662(36) 11-Jun-81 17:00:16 WORLD3.DAT.1;P777700 13 31816(7) 11-Jun-81 16:40:54 .LST.1;P777700 23 11686(36) 11-Jun-81 17:14:25 XERR1.DAT.1;P777700 1 1312(7) 11-Jun-81 16:41:37 .LST.1;P777700 2 654(36) 11-Jun-81 16:54:34 XERR2.DAT.1;P777700 1 1394(7) 11-Jun-81 16:42:01 .LST.1;P777700 2 727(36) 11-Jun-81 17:08:25 XERR3.DAT.1;P777700 1 1394(7) 11-Jun-81 16:42:26 .LST.1;P777700 2 671(36) 11-Jun-81 17:08:44 XERR4.DAT.1;P777700 1 1394(7) 11-Jun-81 16:42:50 .LST.1;P777700 3 1045(36) 11-Jun-81 17:09:05 XERR5.DAT.1;P777700 1 1394(7) 11-Jun-81 16:43:19 .LST.1;P777700 2 671(36) 11-Jun-81 17:09:28