Help with Fortran90

From Stellarium Wiki
Revision as of 06:40, 2 May 2007 by JomeSysop (Talk | contribs)
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 2408 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. I had big success for the other IMCCE fortran programs with i2c, it helped me a lot in understanding and getting functional executables. But not this time.


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 this software. My understanding is as follows, please correct me when I am wrong:

1) The software is a numerical integrator for a physical model of the Nepunian system. For as a period as long as the planet positions are provided, the Neptunian satellites position can be computed by numerical integration. Especially dates outside the interval 1800-2050 are no problem, when the DE403 planet positions are replaced by VSOP87 or similar.

2) Therefore it is possible to produce a large table of each satellites position and velocity for a long period, lets say 1500-2500. In fact this is the main goal. When I have this table, I will try frequency analysis techniques in order to create poisson series or similar, that can be included into stellarium.

My problem is that I can speak neigther french nor FORTRAN, so I really do not know what is going on in this software, and I would really appreciate your help. You can contact be by:

- email

- posting into the forum

- writing something in this wiki page


Johannes 14:38, 1 May 2007 (PDT)

Personal tools
in this wiki
other languages