Just for confirmation…
I have, in one included file, the following line at the top:
IMPLICIT DOUBLE PRECISION (A-H,O-Z), INTEGER(I-N)
The variables and constants defined in this file are easy to identify as their data type, so no issues there.
A following included file then has a lot of COMMON statements. For example…
COMMON/ GIC / X(MJ,MH), VX(MJ,MH), GRV(MJ), zM(MJ),dM(MJ),Zmass,Zflux,dflux,xTimod,xCorm
Do I assume that the first included file’s rules apply throughout and affect this subsequent included file, such that I can accept that any variable not explicitly defined within it is either…
- double precision if the variable name begins with any letter from A to H or from O to Z
- integer if the variable name begins with I through to N?
Equally, two arrays are defined in this way…
real*8 element(MJ,ME),velement(MJ,ME)
Yet, the integers(?) MJ and ME are not defined anywhere; are these left for later definitions?
Oh, and one more thing (sorry).
I’m assuming that this statement causes the two arrays to be identical to each other in size and/or content?
equivalence (element,hydrogen) , (velement,vhydrogen)
If so, does this still exist within modern Fortran (F90) or is there a better way?