简体   繁体   中英

Error compiling fortran77 code with gfortran

I have a fortran77 code (public domain) when compile with gfortran on Cygwin generated the following error. How can I fix this problem?

gfortran -o GR3DSTR GR3DSTR.f77 /usr/lib/gcc/x86_64-pc-cygwin/5.4.0/../../../../x86_64-pc-cygwin/bin/ld:GR3DSTR. f77: file format not recognized; treating as linker script /usr/lib/gcc/x86_64-pc-cygwin/5.4.0/../../../../x86_64-pc-cygwin/bin/ld:GR3DSTR. f77:2: syntax error collect2: error: ld returned 1 exit status

when I tread it as a free format, more errors are produced.

*************************************************************************
*   PROGRAM GR3DSTR TO DEDUCE THE 3-D STRUCTURE OF                      *
*   SEDIMENTARY BASIN FROM ITS GRAVITY ANOMALIES WITH A                 *
*   QUADRATIC DENSITY FUNCTION.                                         *
*                                                                       *
*   INPUT                                                               *
*   ------                                                              *
*       GOBS : OBSERVED GRAVITY ANOMALIES (MGALS)                       *
*       NX   : NUMBER OF OBSERVATIONS IN X-DIRECTION                    *
*       NY   : NUMBER OF OBSERVATIONS IN Y-DIRECTION                    *
*       DX   : STATION INTERVAL  IN X-DIRECTION (KM)                    *
*       DY   : STATION INTERVAL  IN Y-DIRECTION (KM)                    *
*       A0,A1 : COEFFICIENTS OF QUADRATIC DENSITY FUNCTION              *
*        &A2 : FUNCTION (GM/CC)                                         *
*       ITER1 : TOTAL NUMBER OF ITERATIONS REQUIRED                     *
*       ITR1  : NUMBER OF ITERATIONS REQUIRED IN FIRST STAGE            *
*       ITR2  : NUMBER OF ITERATIONS REQUIRED IN SECOND STAGE           *
*       LT1   : LIMITING VALUE OF THE DOMAIN IN WHICH EXACT             *
*               EQUATION IS USED FOR ANOMALY CALCULATION                *
*                                                                       *
*   OUTPUT                                                              *
*   ------                                                              *
*       GCAL  : CALCULATED GRAVITY ANOMALIES (MGALS)                    *
*       Z2  : DEPTH TO THE BOTTOM (BASEMENT) (KM)                       *
*                                                                       *
*       SUPPORTING SUBROUTINES AND SUBPROGRAMS:                         *
*       ---------------------------------------                         *
*       : INIT, STRUC, BOTT, RESUL, ANOM1, & ANOM2                      *
*************************************************************************
    DIMENSION X(50),Y(50),GOBS(50,50),GCAL(50,50),Z(50,50),LT1(3)
    PI=3.14159265
    CONST=PI*40.0/3.0
    READ(*,801)NX,NY,DX,DY,ITER1,A0,A1,A2
    READ(*,802)ITR1,ITR2
    READ(*,803)(LT1(I),I=1,3)
    WRITE(*,901)NX,NY,DX,DY,ITER1,A0,A1,A2
    WRITE(*,902)ITR1,ITR2
    WRITE(*,903)(LT1(1),I=1,3)
    DO 100 I=1,NX
100 X(I)=FLOAT(I-1)*DX 
    DO 110 J=1,NY
110 Y(J)=FLOAT(J-1)*DY
    DO 120 J=1,NY 
    READ(*,804)(GOBS(I,J),I=1,NX)
    WRITE(*,904)(GOBS(I,J),I=1,NX)
110 CONTINUE 
    CALL INIT(NX,NY,A0,X,Y,GOBS,CONST,Z)
    DO 130 ITER=1,ITER1
    CALL STRUC(NX,NY,DX,DY,A0,A1,A2,X,Y,Z,ITER,ITR1,ITR2,LT1,GCAL)
    CALL RESUL(NX,NY,ITER,X,Y,Z,GOBS,GCAL)
    CALL BOTT(NX,NY,CONST,A0,A1,A2,GOBS,GCAL,Z)
130 CONTINUE
801 FORMAT(2I10,2F10.4,I10,3F10.4)
802 FORMAT(2I10)
803 FORMAT(3I10)
804 FORMAT(11F7.3)
901 FORMAT(2I10,2F10.5,I10,3F10.5)
902 FORMAT(2110)
903 FORMAT(3I10)
904 FORMAT(1X,20F6.1)
    STOP
    END

*************************************************************************
*   SUBROUTINE INIT: CALCULATES THE INITIAL ESTIMATES OF
*                    THE STRUCTURE.
*
*   INPUT
*   -----
*       NX  :   NUMBER OF OBSERVATIONS IN X-DIRECTION 
*       NY  :   NUMBER OF OBSERVATIONS IN Y-DIRECTION 
*       A0  :   CONSTANT DENSITY CONTRAST (GM/CC)
*       X   :   DISTANCE TO THE ANOMALY POINT IN X-DIRECTION
*       Y   :   DISTANCE TO THE ANOMALY POINT IN Y-DIRECTION
*       GOBS :  OBSERVED GRAVITY ANOMALIES (MGALS)
*       CONST : PI*40.0/3.0
*
*   OUTPUT
*   ------
*       Z   : DEPTH TO THE BOTTOM (KM)
************************************************************************* 
    SUBROUTINE INIT(NX,NY,A0,X,Y,GOBS,CONST,Z)
    DIMENSION X(50),(Y50),GOBS(50,50),Z(50,50)
    DO 100 J=1,NY
        DO 100 I=1,NX
         Z(I,J)=GOBS(I,J)/(CONST*A0)
         IF (Z(I,J).LE.0.0)THEN
            Z(I,J)=0.001
        ENDIF
100 CONTINUE
    WRITE(*,905)
    D0 110 J=1,NY
    WRITE(*,906)(Z(I,J),I=1,NX)
110 CONTINUE
905 FORMAT(//5X, 'INITIAL ESTIMATES OF THE STRUCTURE'/)
906 FORMAT(20F6.2)
    RETURN
    END

*************************************************************************
*   SUBROUTINE STRUC: CALCULATES THE GRAVITY ANOMALIES OF A
*                     SEDIMENTARY BASIN BY THE COMBINED USE 
*                     OF EXACT AND APPROXIMATE EQUATIONS OF 
*                     PRISMATIC MODEL
*
*   INPUT
*   -----
*       NX  :   NUMBER OF OBSERVATIONS IN X-DIRECTION 
*       NY  :   NUMBER OF OBSERVATIONS IN Y-DIRECTION 
*       DX  :   STATION INTERVAL  IN X-DIRECTION (KM)                   *
*       DY  :   STATION INTERVAL  IN Y-DIRECTION (KM)                   *
*       A0,A1 : COEFFICIENTS OF QUADRATIC DENSITY FUNCTION              *
*        &A2 : FUNCTION (GM/CC)                                         *
*       X   :   DISTANCE TO THE ANOMALY POINT IN X-DIRECTION
*       Y   :   DISTANCE TO THE ANOMALY POINT IN Y-DIRECTION
*       Z   :   DEPTH TO THE BOTTOM (KM)
*       ITER : ITERATION NUMBER                     *
*       ITR1  : NUMBER OF ITERATIONS REQUIRED IN FIRST STAGE            *
*       ITR2  : NUMBER OF ITERATIONS REQUIRED IN SECOND STAGE           *
*       LT1   : LIMITING VALUE OF THE DOMAIN IN WHICH EXACT             *
*               EQUATION IS USED FOR ANOMALY CALCULATION
*       T     : HALF THICKNESS OF THE PRISM (KM)
*       W     : HALF WIDTH OF THE PRISM (KM)
*
*   OUTPUT
*   ------
*       GCAL    : CALCULATED GRAVITY ANOMALIES (MGALS)
************************************************************************* 
    SUBROUTINE STRUC(NX,NY,DX,DY,A0,A1,A2,X,Y,Z,ITER,ITR1,ITR2,LT1,GCAL)
    DIMENSION X(50),Y(50),Z(50,50),GCAL(50,50),LT1(3)
    T=DX/2.0
    W=DY/2.0
    Z1=0.001
    DO 100 I=1,NX 
        DO 100 J=1,NY
100 GCAL(I,J)=0.0
    IF (ITER.LT.ITR1)THEN
        LT=LT1(1)
        GOTO 110
        ELSE
            IF (ITER.LE.ITR2)THEN
                LT=LT1(2)
                GOTO 110
            ELSE
                LT=LT1(3)
            ENDIF
        ENDIF
110 DO 140 I=1,NX
     DO 140 M=1,NX
      XX1=X(I)-X(M)
      DO 140 J=1,NY
       DO 140 N=1,NY 
        YY1=Y(J)-Y(N)
        Z2=Z(M,N)
        IF(ABS(I-M).LE.LT)THEN
        IF(ABS(J-N).LE.LT)THEN
          GCAL1=ANOM1(A0,A1,A2,XX1,YY1,T,W,Z1,Z2)
          GOTO 130
        ELSE
          GOTO 120
        ENDIF
       ELSE
          GOTO 120
        ENDIF
120 GCAL1=ANOM2(A0,A1,A2,DX,DY,XX1,XX2,Z1,Z2)
130 CONTINUE
140 GCAL(I,J)=GCAL(I,J)+GCAL1
    RETURN
    END 

*************************************************************************
*   FUNCTION SUBPROGRAM ANOM1: CALCULATES THE ANOMALY OF 
*                     PRISMATIC MODEL WITH EXACT  
*                     EQUATION
*   INPUT
*   -----
*       A0,A1 : COEFFICIENTS OF QUADRATIC DENSITY                       *
*        &A2 : FUNCTION (GM/CC)                                         *
*       XX1 :   DISTANCE TO THE POINT OF CALCULATION
*               IN X-DIRECTION WITH REFERENCE TO THE 
*               EPICENTRE OF THE PRISM UNDER CONSIDERATION
*       YY1 :   DISTANCE TO THE POINT OF CALCULATION
*               IN Y-DIRECTION WITH REFERENCE TO THE 
*               EPICENTRE OF THE PRISM UNDER CONSIDERATION
*       T   :   HALF THICKNESS      OF THE PRISM (KM)
*       W   :   HALF WIDTH          OF THE PRISM (KM)
*       Z1  :   DEPTH TO THE TOP    OF THE PRISM (KM)
*       Z2  :   DEPTH TO THE BOTTOM OF THE PRISM (KM)
*       GAMA :  GRAVITATIONAL CONSTANT
*************************************************************************
        FUNCTION ANOM1(A0,A1,A2,XX1,YY1,T,W,Z1,Z2)
        GAMA=20.0/3.0
        X1=XX1+T
        X2=XX1-T
        Y1=YY1+W 
        Y2=YY1-W 
        IF(X1.EQ.0.0)THEN
            X1=0.0001
        ENDIF 
        IF(X2.EQ.0.0)THEN
            X2=0.0001
        ENDIF
        IF(Y1.EQ.0.0)THEN
            Y1=0.0001
        ENDIF
        IF(Y2.EQ.0.0)THEN
            Y2=0.0001
        ENDIF
        R1=SQRT(X2*X2+Y2*Y2+Z1*Z1)
        R2=SQRT(X2*X2+Y2*Y2+Z2*Z2)
        R3=SQRT(X2*X2+Y1*Y1+Z1*Z1)
        R4=SQRT(X2*X2+Y1*Y1+Z2*Z2)
        R5=SQRT(X1*X1+Y2*Y2+Z1*Z1)
        R6=SQRT(X1*X1+Y2*Y2+Z2*Z2)
        R7=SQRT(X1*X1+Y1*Y1+Z1*Z1)
        R8=SQRT(X1*X1+Y1*Y1+Z2*Z2)
        F11=X2*Y2/(Z2*R2)
        F12=X2*Y1/(Z2*R4)
        F13=X1*Y2/(Z2*R6)
        F14=X1*Y1/(Z2*R8)
            B1=ATAN(F11)-ATAN(F12)-ATAN(F13)+ATAN(F14)
        F21=X2*Y2/(Z1*R1)
        F22=X2*Y1/(Z1*R3)
        F23=X1*Y2/(Z1*R5)
        F24=X1*Y1/(Z1*R7)
            B2=ATAN(F21)-ATAN(F22)-ATAN(F23)+ATAN(F24)      
        F31=(R2-Y2)/(R2+Y2)
        F32=(R1-Y2)/(R1+Y2)
        F33=(R4-Y1)/(R4+Y1)
        F34=(R3-Y1)/(R3+Y1)
            B3=ALOG(F31*F34/(F32*F33))
        F41=(R5-Y2)/(R5+Y2)
        F42=(R6-Y2)/(R6+Y2)
        F43=(R7-Y1)/(R7+Y1)
        F44=(R8-Y1)/(R8+Y1)     
            B4=ALOG(F41*F44/(F42*F43))
        F51=(R2-X2)/(R2+X2)
        F52=(R1-X2)/(R1+X2)
        F53=(R6-X1)/(R6+X1)
        F54=(R5-X1)/(R5+X1)     
            B5=ALOG(F51*F54/(F52*F53))
        F61=(R3-X2)/(R3+X2)
        F62=(R4-X2)/(R4+X2)
        F63=(R7-X1)/(R7+X1)
        F64=(R8-X1)/(R8+X1)     
            B6=ALOG(F61*F64/(F62*F63))      
        F71=Y2*Z2/(R2*X2)
        F72=Y2*Z1/(R1*X2)
        F73=Y1*Z2/(R4*X2)
        F74=Y1*Z1/(R3*X2)       
        H71=(F71-F72)/(1.0+F71*F72)
        H72=(F73-F74)/(1.0+F73*F74)
            B7=ATAN((H71-H72)/(1.0+H71*H72))
        F81=Y2*Z2/(R6*X1)
        F82=Y2*Z1/(R5*X1)
        F83=Y1*Z2/(R8*X1)
        F84=Y1*Z1/(R7*X1)
        H81=(F81-F82)/(1.0+F81*F82)
        H82=(F83-F84)/(1.0+F83*F84)
            B8=ATAN((H81-H82)/(1.0+H81*H82))
        F91=X2*Z2/(R2*Y2)
        F92=X2*Z1/(R1*Y2)
        F93=X1*Z2/(R6*Y2)
        F94=X1*Z1/(R5*Y2)
        H91=(F91-F92)/(1.0+F91*F92)
        H92=(F93-F94)/(1.0+F93*F94)
            B9=ATAN((H91-H92)/(1.0+H91*H92))
        F101=X2*Z2/(R4*Y1)  
        F102=X2*Z1/(R3*Y1)
        F103=X1*Z2/(R8*Y1)
        F104=X1*Z1/(R7*Y1)
        H101=(F101-F102)/(1.0+F101*F102)
        H102=(F103-F104)/(1.0+F103*F104)
            B10=ATAN((H101-H102)/(1.0+H101*H102))
        B11=ALOG((R2+Z2)/(R1+Z1))
        B12=ALOG((R3+Z1)/(R4+Z2))
        B13=ALOG((R5+Z1)/(R6+Z2))
        B14=ALOG((R8+Z2)/(R7+Z1))
        G1=GAMA*A0*(Z2*B1-Z1*B2+X2/2.0*B3+X1/2.0*B4+Y2/2.0*B5+Y1/2.0*B6)
        G2=GAMA/2.0*A1*(Z2*Z2*B1-Z1*Z1*B2-X2*X2*B7+X1*X1*B8-Y2*Y2*B9+Y1*Y1*B10+2.0*(X2*Y2*B11+X2*Y1*B12+X1*Y2*B13+X1*Y1*B14))
        G3=GAMA/3.0*A2*(Z2*Z2*Z2*B1-Z1*Z1*Z1*B2-(X2*X2*X2)/2.0*B3-(X1*X1*X1)/2.0*B4-(Y2*Y2*Y2)/2.0*B5-((Y1*Y1*Y1)/2.0*B6
        +2.0*(X2*Y2*(R2-R1)+X2*Y1*(R3-R4)+X1*Y2(R5-R6)+X1*Y1(R8-R7)))
        ANOM1=G1+G2+G3
        RETURN
        END 

*************************************************************************
*   FUNCTION SUBPROGRAM ANOM2: CALCULATES THE ANOMALY OF 
*                     PRISMATIC MODEL WITH APPROXIMATE EQUATION
*
*   INPUT
*   -----
*       A0,A1 : COEFFICIENTS OF QUADRATIC DENSITY                       *
*        &A2 : FUNCTION (GM/CC)
*       DX  :   STATION INTERVAL  IN X-DIRECTION (KM)                   *
*       DY  :   STATION INTERVAL  IN Y-DIRECTION (KM)                   *
*       XX1 :   DISTANCE TO THE POINT OF CALCULATION
*               IN X-DIRECTION WITH REFERENCE TO THE 
*               EPICENTRE OF THE PRISM UNDER CONSIDERATION
*       YY1 :   DISTANCE TO THE POINT OF CALCULATION
*               IN Y-DIRECTION WITH REFERENCE TO THE 
*               EPICENTRE OF THE PRISM UNDER CONSIDERATION
*       Z2  :   DEPTH TO THE BOTTOM OF THE PRISM (KM)
*       GAMA :  GRAVITATIONAL CONSTANT
*************************************************************************   
        FUNCTION ANOM2(A0,A1,A2,DX,DY,XX1,YY1,Z1,Z2)
        GAMA=20.0/3.0
        A=DX*DY
        X1=XX1 
        Y1=YY1 
        IF(X1.EQ.0.0)THEN
            X1=0.0001
        ENDIF
        IF(Y1.EQ.0.0)THEN
            Y1=0.0001
        ENDIF
        R1=SQRT(X1*X1+Y1*Y1+Z1*Z1)
        R2=SQRT(X1*X1+Y1*Y1+Z2*Z2)
        IF(R1.EQ.0.0)THEN
            R1=0.0001
        ENDIF
        IF(R2.EQ.0.0)THEN
            R2=0.0001
        ENDIF
        PI=A0*(1.0/R1-1.0/R2)
        P2=A1*(Z1/R1-Z2/R2+ALOG((R2+Z2)/(R1+Z1)))
        P3=A2*(2.0*(R2-R1)+Z1*Z1/R1-Z2*Z2/R2)
        ANOM2=GAMA*A*(P1+P2+P3)
        RETURN
        END 
*************************************************************************
*   SUBROUTINE BOTT: CALCULATES THE STRUCTURE OF A SEDIMENTARY BASIN  
*                     USING THE BOTT'S METHOD.
*
*   INPUT
*   -----
*       NX    : NUMBER OF OBSERVATIONS IN X-DIRECTION
*       NY    : NUMBER OF OBSERVATIONS IN Y-DIRECTION
*       A0,A1 : COEFFICIENTS OF QUADRATIC DENSITY                       *
*        &A2 : FUNCTION (GM/CC)
*       GOBS : OBSERVED GRAVITY ANOMALIES (MGALS)
*       GCAL : CALCULATED GRAVITY ANOMALIES (MGALS)
*       CONST : PI*40.0/3.0
*
*   OUTPUT
*   ------
*       Z   :   DEPTHS TO THE BASEMENT (KM)
*************************************************************************
    SUBROUTINE BOTT(NX,NY,CONST,A0,A1,A2,GOBS,GCAL,Z)
    DIMENSION GOBS(50,50),GCAL(50,50),Z(50,50),DZ(50,50)
        DO 100 I=1,NX
         DO 100 J=1,NY
          R2=A0+A1*Z(I,J)+A2*Z(I,J)*Z(I,J)
          CONST1=CONST*R2
100 DZ(I,J)=(GOBS(I,J)-GCAL(I,J))/CONST1
        DO 110 I=1,NX
         DO 110 J=1,NY
          Z(I,J)=Z(I,J)+DZ(I,J)
           IF (Z(I,J).LE.0.0) THEN
                Z(I,J)=0.001
            END 
110 CONTINUE
    RETURN
    END 


*************************************************************************
*   SUBROUTINE RESUL: GIVES THE RESULTS SUCH AS DEPTHS TO THE BASEMENT   
*                     AND RESIDUAL ANOMALIES 
*
*   INPUT
*   -----
*       NX    : NUMBER OF OBSERVATIONS IN X-DIRECTION
*       NY    : NUMBER OF OBSERVATIONS IN Y-DIRECTION
*       ITER  : ITERATION NUMBER 
*       X     : DISTANCE TO THE ANOMALY POINT IN X-DIRECTION 
*       Y     : DISTANCE TO THE ANOMALY POINT IN Y-DIRECTION
*       Z     : DEPTHS TO THE BASEMENT (KM)
*       GOBS  : OBSERVED GRAVITY ANOMALIES (MGALS)
*       
*       
*   OUTPUT
*   ------
*       GCAL  : CALCULATED GRAVITY ANOMALIES (MGALS)
*************************************************************************
    SUBROUTINE RESUL(NX,NY,ITER,X,Y,Z,GOBS,GCAL)
    DIMENSION X(50),Y(50),GOBS(50,50),GCAL(50,50),RESD(50,50),Z(50,50)
    DO 100 I=1,NX
     DO 100 J=1,NY
100 RESD(I,J)=GOBS(I,J)-GCAL(I.J)
    WRITE(*,907) ITER
    WRITE(*,908)
    DO 110 J=1,NY
     WRITE(*,909)(Z(I,J),I=1,NX)
110 CONTINUE
    WRITE(*,910)
    DO 120 J=1,NY
    WRITE(*,911)(RESD(I,J),I=1,NX)
120 CONTINUE
907 FORMAT(//5X,'ITERATION NO.=',I3)
908 FORMAT(/10X,'DEPTHS TO THE BASEMENT')
909 FORMAT(/20F6.2)
910 FORMAT(//10X,'RESIDUAL ANOMALY'/)
911 FORMAT(20F6.2)
    RETURN 
    END 


*************************************************************************
*   A CONCISE FUNCTION 
*   SUBPROGRAM ANOM1: CALCULATES THE ANOMALY OF PRISMATIC    
*                     MODEL WITH EXACT EQUATION. 
*
*   INPUT
*   -----
*       A0,A1 : COEFFICIENTS OF QUADRATIC DENSITY                       
*        &A2 : FUNCTION (GM/CC)
*       XX1 :   DISTANCE TO THE POINT OF CALCULATION
*               IN X-DIRECTION WITH REFERENCE TO THE 
*               EPICENTRE OF THE PRISM UNDER CONSIDERATION
*       YY1 :   DISTANCE TO THE POINT OF CALCULATION
*               IN Y-DIRECTION WITH REFERENCE TO THE 
*               EPICENTRE OF THE PRISM UNDER CONSIDERATION
*       T   :   HALF THICKNESS      OF THE PRISM (KM)
*       W   :   HALF WIDTH          OF THE PRISM (KM)
*       Z1  :   DEPTH TO THE TOP    OF THE PRISM (KM)
*       Z2  :   DEPTH TO THE BOTTOM OF THE PRISM (KM)
*       GAMA :  GRAVITATIONAL CONSTANT
*************************************************************************   
        FUNCTION ANOM1(A0,A1,A2,XX1,YY1,T,W,Z1,Z2)
        DIMENSION X(2),Y(2),Z(2),R(2,2,2)
        GAMA=20.0/3.0
        X(1)=XX1+T
        X(2)=XX1-T 
        Y(1)=YY1+W
        Y(2)=YY1-W
        Z(1)=Z1
        Z(2)=Z2
        IF(X(1).EQ.0.0)THEN
            X(1)=0.0001
        ENDIF
        IF(X(2).EQ.0.0)THEN 
          X(2)=0.001
        ENDIF
        IF(Y(1).EQ.0.0)THEN
          Y(1)=0.0001
        ENDIF
        IF(Y(2).EQ.0.0)THEN
          Y(2)=0.0001
        ENDIF
        G1=0.0
        G2=0.0
        G3=0.0
        DO 100 I=1,2
            DO 100 J=1,2
                DO 100 K=1,2
                J1=I+J+K
                J2=J1/2
                IF(2*J2.EQ.J1)THEN
                    J3=1
                ELSE
                    J3=-1
                ENDIF
                R(I,J,K)=SQRT(X(I)*X(I)+Y(J)*Y(J)+Z(K)*Z(K))
                F1=ATAN(X(I)*Y(J)/(Z(K)*R(I,J,K)))
                F2=ALOG((R(I,J,K)-Y(J))/(R(I,J,K)+Y(J)))
                F3=ALOG((R(I,J,K)-X(I))/(R(I,J,K)+X(I)))
                F4=ATAN(Y(J)*Z(K)/(X(I)*R(I,J,K)))
                F5=ATAN(X(I)*Z(K)/(Y(J)*R(I,J,K)))  
                F6=X(I)*Y(J)*ALOG(2.0*R(I,J,K)+2.0*Z(K))
                F7=2.0/3.0*X(I)*Y(J)*R(I,J,K)
                G1=G1+J3*A0*(Z(K)*F1+X(I)/2.0*F2+Y(J)/2.0*F3)
                G2=G2+J3*A1*(Z(K)*Z(K)/2.0*F1-X(I)*X(I)/2.0*F4-Y(J)*Y(J)/2.0*F5+F6) 
                G3=G3+J3*A2*(Z(K)*Z(K)*Z(K)/3.0*F1-X(I)*X(I)*X(I)/6.0*F2-Y(J)*Y(J)*Y(J)/6.0*F3+F7)
100 CONTINUE
    ANOM1=GAMA*(G1+G2+G3)
    RETURN
    END

You need to rename the file to "GR3DSTR.f" because gfortran doesn't recognize .f77 file extensions. However, I get a large number of compiler errors due to invalid language constructs when I attempt to compile the code you posted (the least of which being the omittion of PROGRAM and END PROGRAM. You'll need to correct those before it will compile.

Looks very much like a line termination problem. Basically there is an unrecognized character starting from line 2. Question is why only line 2 and nothing else?

Check your line terminations. Since you are running cygwin, have a look in vi - set list. Maybe you need to change CR or LF to CR LF.

How to change to the correct line terminations:

  1. linux utility called unix2dos.
  2. Use Word. Cut your entire program, paste it in Word. Don't worry about line wraps etc. Cut it from Word and paste back. Word will fill in all the line terminations correctly. This is an obscure use of Word but it does work.

This could answer why only line 2 - it is taking your entire program as 1 line and the last line is blank.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM