Help with Fortran90

From Stellarium Wiki
Revision as of 21:24, 1 May 2007 by Johannes (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This page is dedicated to conversation and mutual help on creating Neptunian satellite ephemeris using Le Guyader's and Jerome Berthier's

First approach: f77

In replace FC = xlf with FC = f77 and type 'make'. You will see lots of errors like

isat_d.f: In subroutine `isatd':
   210     format(8x,' Dernier pas:',d23.16)'
Invalid form for FORMAT statement at (^)

In my opinion the reason is that the code is not FORTRAN77 conform. I tried to overcome this problem by fixing the source code, there is an awful lot of wrong format statements. For finding the input files I changed in fs2fd.f:

infile  = trim(dir_s)//trim(fil_s)
outfile = trim(dir_d)//trim(fil_d)


infile  = './data/Nsat-fs.dat'
outfile = './data/Nsat-fd.dat'

Same in ins_d.f:

theofile = './data/Nsat-fd.dat'

Additionally in ins_d.f I had to move the passage


after the COMMON block:


FORTRAN77 seem not to support variable size arrays, so in isat_d.f I had to replace

dimension tp(np),up(np),cp(3,np),aia(4)

in line 183 with

dimension tp(100000),up(100000),cp(3,100000),aia(4)

The same for lines 2455 and 2456. In line I removed the definition of w(3,np,0:nd). After that the source compiled into an executable called 'ilgs_d', which is ought to be the double precision version. The quad precision version would be called 'ilgs_q'. Anyway, the executable failed with the following output:

          Fichier ./data/Nsat-fd.dat              

open: No such file or directory
apparent state: unit 12 named /DATA/DE403/de403.unx
last format: list io
lately reading direct unformatted external IO

Second approach: f2c

Using f2c gives the same results as using f77. I hoped to get more insight from reading the C-code, but I did not.


The file ./data/Nsat-fd.dat exists, maybe the error refers to the file /DATA/DE403/de403.unx, which is indeed missing on my system, And I do not know from where to get it. At I found the file for Sparc architecture, for i386 it seems not to be available any more, but it could be created from DE403.BSP.

But before doing further investigation I would like to ask a FORTRAN programmer about

Personal tools
in this wiki
other languages