Topic: Fortran 77
Before to purchase simply FORTRAN I am checking its work with trial version. I have tried to perform build of FORTRAN 77 file without any success. If simply FORTRAN can build FORTRAN 77 file?
For discussions of all Approximatrix products and related software
You are not logged in. Please login or register.
Approximatrix Forums → User Support → Fortran 77
Before to purchase simply FORTRAN I am checking its work with trial version. I have tried to perform build of FORTRAN 77 file without any success. If simply FORTRAN can build FORTRAN 77 file?
Simply Fortran fully supports the Fortran 77 standard. Can you provide any more information about your problem? I'm sure I'd be able to help.
Thank you for answer. How can I send you small .for file?
The build results are presented below
==============================================================================
Generating Makefile... Okay
==============================================================================
Compiling .\Refrig.for
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
.\Refrig.for:117:33:
117 | 1 FORMAT(2X,'FLUID NUMBER=',\)
| 1
Error: Unexpected element '\' in format string at (1)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
.\Refrig.for:118:36:
118 | 2 FORMAT(2X,'TEMPERATURE,[C]=',\)
| 1
Error: Unexpected element '\' in format string at (1)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
.\Refrig.for:122:28:
122 | 5 FORMAT(2X,'FLUID - ',\)
| 1
Error: Unexpected element '\' in format string at (1)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
.\Refrig.for:135:72:
135 | PAUSE
| 1
Warning: Deleted feature: PAUSE statement at (1)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
.\Refrig.for:24:72:
24 | WRITE(*,1)
| 1
Error: FORMAT label 1 at (1) not defined
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
.\Refrig.for:26:72:
26 | WRITE(*,2)
| 1
Error: FORMAT label 2 at (1) not defined
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
.\Refrig.for:113:72:
113 | WRITE(*,5)
| 1
Error: FORMAT label 5 at (1) not defined
Error: Last command making (build\Refrig.o) returned a bad status
Error: Make execution terminated
* Failed *
The backslash in your FORMAT statements is a non-standard extension provided by Intel's compiler which probably originated with DEC compilers since that's all the Intel compiler actually is. This extension isn't supported by our compiler.
It appears, though, that the backslash is merely attempting to stop the WRITE statements from advancing to a new line (technically it stops "advancing a record," which is a line in this case, I'm guessing). You can change this easily to standards-compliant Fortran, though it will be a modern Fortran standard. First, remove the backslashes from all the FORMAT statements:
1 FORMAT(2X,'FLUID NUMBER=')
Next, you'll need to modify the WRITE statements as well with the modern, standards-compliant change:
WRITE(*, 1, ADVANCE='NO')
That's the quickest way to fix this. Luckily, it appears you only have a handful of places that needs changes.
If you don't care about everything being on the same line, though, you can always just delete the backslashes and take no other action.
If you do need to send code, you can always contact me at support@approximatrix.com.
Jeff, Thank you for response.
I corrected Format and CHARACTER operators. Build is OK and was completed without mistakes. However, when I run the exe file, the program does not stop to read the input data.
Below presented part of soft where the requested data were not red.
CHARACTER (len=80) WORD80
CHARACTER(len=80) MTLNAME
CHARACTER(len=16) WORD16
CHARACTER(len=21) WORD21
CHARACTER(len=39) WORD39
CHARACTER(len=1) YN
C
DIMENSION TMPDAT(15), FTUDAT(15),FTYDAT(15),
+ CRPDAT(15)
C
OPEN(UNIT = 10, FILE = 'METAL.DAT', STATUS = 'OLD')
C --------------------------------------------------------------
C ---request for metal number from data,and preparing a list --
C --------- of metals for the user ----------------------------
C
WRITE(*,1)
REWIND 10
DO ILINE = 1, 10 ! read 10 lines of comments
READ(10,5) WORD80
END DO
200 CONTINUE
READ(10,5,ERR=800) WORD80 ! skip line of:123345....
READ(10,5) WORD80
WRITE(*,5) WORD80 ! print metals name
DO JLINE = 1 , 28 ! skip remaining lines
READ(10,5) WORD80
END DO
GO TO 200
C
800 CONTINUE
C ------------- entering requested metal ------------------
WRITE(*,2)
READ(*,*) NMT
C
C -------reading data for request metal--
2 FORMAT(/,2X,'Select the sequential number of metal = ',/)
My first guess is that the first data read at:
READ(10,5,ERR=800) WORD80 ! skip line of:123345....
fails and the program correctly jumps to label 800. I don't know why it fails, though, without knowing what the FORMAT statement at label 5 is. Could you provide a bit more?
2 FORMAT(/,2X,'Select the sequential number of metal = ',/)
5 FORMAT(A80)
The soft read from file 10 (metal.dat) and after that jump to label 800 when reading data presented in file was completed. It is OK. It is right work. The question is why the soft does not stop to "entering requested metal" after label 800. I will send you full code file to support@approximatrix.com.
Approximatrix Forums → User Support → Fortran 77
Powered by PunBB, supported by Informer Technologies, Inc.