top of page
Search
laymatalomratemb

Fortran Powerstation 4.0 Manual: A Practical Handbook for Microsoft Fortran Programmers



FORTRAN was provided for the IBM 1401 computer by an innovative 63-phase compiler that ran entirely in its core memory of only 8000 (six-bit) characters. The compiler could be run from tape, or from a 2200-card deck; it used no further tape or disk storage. It kept the program in memory and loaded overlays that gradually transformed it, in place, into executable form, as described by Haines.[26]This article was reprinted, edited, in both editions of Anatomy of a Compiler [27] and in the IBM manual "Fortran Specifications and Operating Procedures, IBM 1401".[28] The executable form was not entirely machine language; rather, floating-point arithmetic, sub-scripting, input/output, and function references were interpreted, preceding UCSD Pascal P-code by two decades.


Two versions existed for the 650s with a 2000 word memory drum: FOR TRANSIT I (S) and FOR TRANSIT II, the latter for machines equipped with indexing registers and automatic floating-point decimal (bi-quinary) arithmetic. Appendix A of the manual included wiring diagrams for the IBM 533 card reader/punch control panel.




Fortran Powerstation 4.0 Manual



I tried building this as an F77 program and it compiled and ran. I don't know if spaces were explicitly allowed in F77 but I remember writing programs with spaces in variables in Fortran IV (66). This builds and runs in gfortran, Powerstation 4, Silverfrost and an old g77 compiler. Presumably it will work on the IVF compiler too (since IVF was Powerstation4 in a previous life). I don't have acces to one right now. If I tell the compiler it is an F90/95... program, it doesn't even compile.


Use .f or .for for fixed-form source files, if you want to use it. It is better to consult your compiler's manual which extensions it allows. The fixed source form is still a valid source form today, although marked obsolete in Fortran 2018. Spaces do not have any significance in the fixed-source form even if it is a Fortran 90 or even Fortran 2018 code.


This is not a direct answer to your question. However, for small test programs and exercises, you can also use one of the many online Fortran compilers. I specifically like the online gfortran compiler by tutorialspoint.com:


If you have followed the instructions on Cheminformatics on a Mac you already have Xcode, Command Line tools and gfortran installed using Homebrew. Alternatively you can install GCC 8.3 (auto-vectorizing gcc with OpenMP) which includes gfortran (free, open source, GNU Fortran 95 compiler), gcc (GNU C) and g++ (GNU C++) compilers that can perform auto-vectorization (i.e. modify code to take advantage of AltiVec/SSE, automatically) and other sophisticated optimizations like OpenMP. There are detailed instructions here, last updated April 2019 (Mojave).


A: This is compiler dependent. You should consult your compiler man page or manual and perhaps do some benchmark testing to find out the most optimal compiler options (and plug into makearps). For most systems, -opt 3 uses -O3 and gives decent optimization. The code generally runs much slower when -opt 1 is used.


makearps arps40_pvmHowever, I feel that you might be better off using the native parallelfortran compiler (pfa). `pfa' will create parallel shared memory code whichis capable of running in parallel on your SGI, and it provides a sequentialinterface (i.e. you will run the code as you would on a single processormachine). You can set an environment variable to decide how many processorsyou want at run-time. Command setenv SET_MP_NUMTHREADS X will start X #of threads (processes).


First the major include files for the arps are processed by awk to getout all the variables that might be input into the model and these are appendedto readinput in a special format. This file is then processed by m4 to producethe actual fortran code used by the message passing version.


Q: The model stopped due to a floating point error in a microphysics routine, but I could not find anything wrong there. A: The model can become unstable due to problems outside the microphyscis. Instabilities are often caught in the exponential calculations inside the microphysics. Check your model setup and input control parameters carefully. Q: The model stopped before the specified stop time was reached. What could be the cause? A: Most likely your instability of time integration;time integration was unstable. ARPS checks the velocity field for stability. If the maximum wind speed exceeds 100 m/s, the model will stop and issue a message. It will also make a history data dump for that time. It is also possible that improper input parameters were specified. Check your output file for the input parameter settings and the model run information. When the integration is unstable, you should examine the model fields to determine the nature of this instability. Unacceptably large time step sizes, improper mixing coefficients and boundary problems are the most common causes of instability. When the model becomes unstable after only a few large time steps, more probably dismal is too large. Too large computational mixing coefficients can also cause instability. Q: I re-ran the same executable file, arps40, that worked before and got an I/O error message. What could have happened? A: Check your disk space to see if the disk is full. ARPS can produce a huge amount of data. When the disk is full, the model will fail. You also need to make sure the you have the permission to write into the output directory, dirname) which is specified in arps40.input. Q: I did makearps arps40, and everything seemed OK, but the executablecode arps40 does not work even if I repeat the makearps command. What isgoing on?A: Some systems keep the object code of a source file even if the compilationaborts. In this case, make may treat the object code as up to date basedon its modification date. The executable file thus produced will be invalid.Check the previous compilation messages to see if any files need to be recompiled.You can recompile the troublesome files or remove all the object codes andre-do makearps. If different computers share the same file system, the object code produced on one system may not be compatible with the one generated on another. In this case, you need to delete all *.o files and re-do makearps. Q: We ran the Del City storm case and compared the results to those discussed in the ARPS 3.0 Users Guide. We used the same grid setup, and we set all of the model parameters as listed in the manual. However, Wmax of the storm that we simulated was only 29 m/s after 1 hour, whereas Wmax of the storm discussed in the manual was around 45 m/s. All of the other features of our simulation agree well with what is described. A: The version that produced the w plot in the 3.0 Guide was in error. The water loading was effectively turned off during that run, therefore w was too large. The results with the current version should be correct. 2ff7e9595c


0 views0 comments

Recent Posts

See All

Comments


bottom of page