Hi All,
Thank you for your comments concerning my problems with function calls
inside the write statement. As is often the case this has now prompted
me to look at the style in which bits of this program have been coded
and has opened the proverbial can of worms. I ask for your considered
advice over this resultant problem....
The code I have been developing was originally written in F77, hence all
the nasty real*8 and complex*16. At present the code works, even with my
modifications, and has been run successfully on PC's, IBM SP2 using MPI,
and Sun Stations. It has been made dynamic with allocate statements and
now has an integrated GUI. None of the compilers have complained about
the syntax or declarations, only the sun compiler recently spat up the
error with convdb due to what I imagine was declaration mismatch.
I realise that I should convert the code to the more acceptable real ::
complex :: declarations, but what should I set the kind= to if I want
double precision ? I understand from the quick read I had yesterday that
the double precision delaration should be avioded.
Does anyone have any experience over declaration mismatch with numerical
routines ? At present the code makes use of LAPACK routines for matrix
diagonalisation and inversion. Opening these routines not only results
in the discovery of no implicit none, but also real*8 and complex*16, so
all these routines need to be changed also.
My conclusion is that at present a complete code conversion is a HUGE
task, there are some 60 subroutines all coded in this manner !! (OK for
some of you a 60 subroutines is nothing but for me it's a lot to change
!!) The code has been developed over 3-4 years and evidently would
benefit from being properly and completely upgraded to remain a viable
and updateable research tool. However due to it's current working status
is it worth the effort ?
Does anyone have any experience / methodology for approaching such a
task ? I would imagine upgrading the lowest level routines first and
then working backwards through the run time tree, is this the best way ?
Timescale is perhaps the most important part bearing in mind that I wish
to finish my phd in September 2000..........!!!!
Advice ?
Cheers,
Andrew
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Andrew L. Reynolds Photonic Band Gap Research Group
Research Student Rankine Building
University of Glasgow Glasgow G12 8LT
http://www.elec.gla.ac.uk/~areynolds/Welcome.html
Telephone:
Office : 0141-330-6022
Fax : 0141-330-4907
Main SwitchBoard : 0141-339-8855
This e-mail and attachments if any are confidential. If you have
received this e-mail in error, please contact me immediately.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|