Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Fortran on ubuntu using f95 code help

  1. Jun 13, 2012 #1
    I have the following code with error- I want this general flow. Errors I get are missing ')' at the do while line,
    syntax error on the line started with ****(not part of program added after fact)
    and expecting END Program statement at line end do

    counter=1
    user_reaction =3
    do while (counter .le. 3 .and. user_reaction .ne. 1 .and. user_reaction .ne. 2)

    counter= counter+1
    print *, "What reaction would like to look at:"
    print *, "1)GP to EP"
    print *, "2)GP to Klo"
    if (counter.eq. 3) then
    **** print *, "Please type a '1' for reaction GP to EP" &
    "and '2' for the reaction GP to Klo"
    end if
    read *, user_reaction
    end do
    if (user_reaction .ne. 1 .and. user_reaction .ne. 2)
    print *, "Failed to get a valid result. Program terminates in error."
    STOP
    end if
     
    Last edited: Jun 13, 2012
  2. jcsd
  3. Jun 13, 2012 #2
    Code (Text):
          program bkent
          implicit none

          integer :: counter, user_reaction

          counter=1
          user_reaction =3
          do while ((counter .le. 3) .and. (user_reaction .ne. 1) .and. &
                    (user_reaction .ne. 2))
         
             counter = counter + 1
             print *, "What reaction would like to look at:"
             print *, "1)GP to EP"
             print *, "2)GP to Klo"
             if (counter.eq. 3) then
                print *, "Please type a 1 for reaction GP to EP", &
                "and 2 for the reaction GP to Klo"
             end if
             read *, user_reaction
          end do
          if ((user_reaction .ne. 1) .and. (user_reaction .ne. 2)) then
             print *, "Failed to get a valid result. Program terminates in error."
             STOP
          end if

          stop
          return

          end program bkent
     
     
  4. Jun 13, 2012 #3
    still seeing an error. something else must be off. here is the whole (non commented out) program. I am compiling using the command f95 -o extract extract_file.f

    program extract_file

    C this program is designed to obtain data from the two files for my two reactions

    C user input variables
    integer user_reaction
    double precision user_energy, user_binWidth
    integer counter

    c values obtained from data files are stored in these variables
    integer num_data_at_mmtm
    integer r
    real momentum_val
    integer gpep, gpklo, SGTi, DSGi
    real min_energy(2)
    character headerline*50, obs*3 !there is a headerline that I don't want
    ! obs=observable for given data

    C file names and creation
    character directory*24
    character*9 subdirectory(2)
    character*10 filename(2)
    directory = '/home/usersname/Desktop/' !usersname entered later on--> temp line
    subdirectory(1) = 'GP to EP'
    subdirectory(2) = 'GP to KLo'
    filename(1) = 'gpep072211'
    filename(2) = 'gpkl060311'
    c open (unit=gpep,file=filename(1),blank='null')
    c open (unit=gpklo,file=filename(2),blank='null')
    c open (unit=SGTi,file=gpep_SGT,status='new')
    c open (unit=DSGi,file=gpep_DSG,status='new')

    C this section pertains to user selected reaction type to analyze
    counter=1
    user_reaction =3
    do while ((counter .le. 3) .and. (user_reaction .ne. 1) .and. &
    (user_reaction .ne. 2))

    counter = counter + 1
    print *, "What reaction would like to look at:"
    print *, "1)GP to EP"
    print *, "2)GP to Klo"
    if (counter.eq. 3) then
    print *, "Please type a 1 for reaction GP to EP", &
    "and 2 for the reaction GP to Klo"
    end if
    read *, user_reaction
    end do
    if ((user_reaction .ne. 1) .and. (user_reaction .ne. 2)) then
    print *, "Failed to get a valid result. Program terminates in error."
    STOP
    end if
    stop
    return
    end program extract_file
     
  5. Jun 13, 2012 #4
    Try gfortran. Also, why you get the missing ) error is because fortran code can only be 71 or 81 (I can't remember) column spaces long. You need to do a continuation.
     
  6. Jun 16, 2012 #5
    Works perfectly OK (compiles without any errors) in gfortran on Ubuntu 12.04.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Fortran on ubuntu using f95 code help
  1. Help with fortran code (Replies: 17)

  2. Help with fortran code (Replies: 4)

Loading...