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

Include statement in Fortran

  1. Jun 5, 2012 #1
    hi all !!

    I wanna ask about Include Statement in fortran example: Include 'D:\XXX.f'
    in my XXX.f have some subroutines and want to call these subroutine in Main program but i show error . someone does like me can share me some experience !!!
  2. jcsd
  3. Jun 5, 2012 #2


    Staff: Mentor

  4. Jun 5, 2012 #3
    I have never included the drive letter or anything else other than the file name itself into the include statement...typically, you tell the compiler where to find include files via compiler option (-I, I think) and then you simply write "include 'xxx.f' " in your program.

    I typically do not use *.f extension on files that are meant to be included into others; instead, I use *.inc, for include. I have my reasons to use a different extension for files to be included...they do not need to be compiled! And so, my make files can tell them apart from the ones with *.f extension that do need to be compiled.
  5. Jun 5, 2012 #4


    User Avatar
    Science Advisor
    Homework Helper

    Without seeing the error message, I guess there are two basic options

    1. The compiler could't find your file (i.e the file name or directory was wrong, or you forgot to put then name in quotes, or whatever)

    2. You are including the contents of the file in the wrong place. For example if you want to include a complete subroutine for some reason, you can't have the suibroutine "nested" insude anouther routine or the main program. The compiler just inserts the contents of the include file at the place where the "include" statement was. It's your responsibility to make sure that produces a valid complete program. The compiler doesn't do any "magic" to sort that out for you.
    Last edited: Jun 5, 2012
  6. Jun 6, 2012 #5
    thank everybody !!!
    i've set up succesfully my include link. I see that Include statement can put everywhere in my code - it means that when we call include statement with file fortran it will replace the codes in this file.

    but i find new problem is transferring data between 2 subroutine in my programme
    C Flow variable arrays

    I have two subroutine - one is pre-process, one is process. But i must transfer a list of variable which you can see. but it dont run as well as i can. I read in internet, we can use common block but i try but unsuccessful , can help me again my friends ???

    thank a lot

    Luong Anh
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook