Você está na página 1de 2

This file contains the changes made to velest.f v.3.

2 source code when compiled


for PC with Fortran & C/C++ compilers Watcom 10.6. The executable produced is a
32-bit Win95/Windows NT/2000/XP character executable.

OCTOBER 97

- In order to allow other programs to run more smoothly in parallel with Velest,
a call to the Win32 API function SetPriority was introduced with parameter
IDLE_PRIORITY_CLASS. The call is implemented in setpriority.c. and performed
very early, just after reset of the cpu-timer. This means that most other
programs will get priority over Velest when run in parallel, except if their
priority class is also idle. Beware that in a case where other programs are
used in parallel with Velest (on one processor only), Velest becomes very slow.
If somebody has two processors in his/her PC, it might be a good idea to put
the priority to Normal or High (untested so far).

*******************************************************************************

JULY 97

- isingle, as counter for printing the event number, is now used as i5 in the
Format statement instead of i4 on lines 1741 and 1745 (original file), in
order to number events up to 99999 instead of 9999.

*******************************************************************************

APRIL 97

- 'velest.f' was renamed 'velest.for' in order to fit the standard extension


of Fortran code in the Watcom IDE.

- 'vel_com.f' was left as is because when renamed as 'vel_com.for', the


compiler asking to add an end statement and does not treat the file as an
included !

- Line 3044: Comments (!...) are not allowed within Format statements.
11 format(1h ,4x,' date origin latitude longitude ', ! file016
replaced by
11 format(1h ,4x,' date origin latitude longitude ',

- Line 3046: Comments (!...) are not allowed within Format statements.
1111 format(' date origin latitude longitude', ! screen (unit=6)
replaced by
1111 format(' date origin latitude longitude',

- Line 10018: Extra comma at column 47 and 'North' not properly aligned.
write(ifil,'(''North rotate= '',f6.1,)') rotate
replaced by
write(ifil,'('' North rotate= '',f6.1')') rotate

- C timing calls become (most comments taken out here):

1)
Subroutine CPUTIMER(cpusec) ! Urs Kradolfer, 16.9.91

implicit none
integer icpu, clock
real cpusec
*$pragma aux clock "!_" parm (value)

icpu=clock()
cpusec=float(icpu)/100.
end ! of subroutine cputimer

2)
subroutine DATETIME(dattim) ! Urs Kradolfer, 16.9.91

implicit none
character datum*26, dattim*20
integer it, itime, ctime, time
*$pragma aux time "!_" parm (value)
*$pragma aux ctime "!_"
*$pragma aux sprintf "!_" parm (value) caller[]

it=time()
itime = ctime(it)
call sprintf(datum,'%s',itime)
dattim=datum(5:24)
end ! of subroutine datetime

********************************************************************************

WATCOM FORTRAN 10.6 COMPILING/LINKING CONSIDERATIONS

- If debugging is needed, select DWARF format, the default producing an error


of type 'Segment too large'. A similar error and solution are reported in
Watcom Infobase with C++ 10.5. DWARF must be selected both as compiling and
linking options.

- Compiler switches:
-nolis -noer -nor -5 -fp5 -fpi87 -ox -ob -oi -ol -ol+ -om -or -odo -q -dep&
-noxl

Freddy ALDERSONS
5, chemin des truits
1295 MIES
VD SWITZERLAND

Tel : 41-22-755.28.09
e-mail: software@faldersons.net

Você também pode gostar