Fortran How to Use Include Statement in Fortran?

  • Thread starter Thread starter luonganh89
  • Start date Start date
  • Tags Tags
    Fortran
Click For Summary
The discussion revolves around the use of the Include statement in Fortran, specifically regarding the inclusion of subroutines from an external file. The initial query highlights an error encountered when trying to call subroutines in a main program using the Include statement with a full file path. Participants emphasize the importance of ensuring the correct file path and the placement of the Include statement within the code. They suggest using a simpler file naming convention, like using the *.inc extension for include files, to differentiate them from compiled files.The conversation shifts to a new issue regarding data transfer between two subroutines. The user mentions having difficulty transferring a list of variables, despite reading that common blocks can facilitate this. The discussion indicates a need for clarity on proper data sharing methods in Fortran, suggesting that understanding the structure and placement of code is crucial for successful implementation. Overall, the thread highlights common challenges faced when using Include statements and managing data between subroutines in Fortran programming.
luonganh89
Messages
12
Reaction score
0
hi all !

I want to 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 !
 
Technology news on Phys.org
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.
 
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:
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
C Flow variable arrays
C
REAL(8),ALLOCATABLE,DIMENSION(:,:,:):: RHO,U,V,W,
. US,VS,WS,TMP,TMPS,FVX,FVY,FVZ,P,DDDT,D,DS,Q,
& MUL,MUT,CSD,PRD,LLM,LMM,PPR,QPR

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 don't 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
VN
 
Learn If you want to write code for Python Machine learning, AI Statistics/data analysis Scientific research Web application servers Some microcontrollers JavaScript/Node JS/TypeScript Web sites Web application servers C# Games (Unity) Consumer applications (Windows) Business applications C++ Games (Unreal Engine) Operating systems, device drivers Microcontrollers/embedded systems Consumer applications (Linux) Some more tips: Do not learn C++ (or any other dialect of C) as a...

Similar threads

  • · Replies 25 ·
Replies
25
Views
3K
  • · Replies 20 ·
Replies
20
Views
3K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 59 ·
2
Replies
59
Views
11K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 14 ·
Replies
14
Views
3K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 8 ·
Replies
8
Views
4K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 17 ·
Replies
17
Views
7K