Fortran How to Use Include Statement in Fortran?

  • Thread starter Thread starter luonganh89
  • Start date Start date
  • Tags Tags
    Fortran
AI Thread 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
 
Thread 'Star maps using Blender'
Blender just recently dropped a new version, 4.5(with 5.0 on the horizon), and within it was a new feature for which I immediately thought of a use for. The new feature was a .csv importer for Geometry nodes. Geometry nodes are a method of modelling that uses a node tree to create 3D models which offers more flexibility than straight modeling does. The .csv importer node allows you to bring in a .csv file and use the data in it to control aspects of your model. So for example, if you...
I tried a web search "the loss of programming ", and found an article saying that all aspects of writing, developing, and testing software programs will one day all be handled through artificial intelligence. One must wonder then, who is responsible. WHO is responsible for any problems, bugs, deficiencies, or whatever malfunctions which the programs make their users endure? Things may work wrong however the "wrong" happens. AI needs to fix the problems for the users. Any way to...

Similar threads

Replies
25
Views
3K
Replies
59
Views
11K
Replies
4
Views
2K
Replies
4
Views
2K
Replies
8
Views
4K
Replies
17
Views
6K
Back
Top