Re: from Peng Shiqiu


Subject: Re: from Peng Shiqiu
From: Erik Kluzek (erik@cgd.ucar.edu)
Date: Tue Dec 09 1997 - 10:18:08 MST


Peng...

> I'm trying to porting ccm3.2 (T42) to PC(Pentium II, memory 192M,hard disk space
> 6.4G),by using the Powerstation 4.0 compiler. I removed all the pointer
> statements and it passed through compiling and linking and it can run. But when
> it run to the NSTEP=308, it encountered one error:sqrt(-XXX) in the subroutine
> flxoce.F (exactly in the line:rdn=sqrt(cdn(u10n)) ) and it stoped there. Does
> anybody encounter this problem and know how to deal with it?Thank you in
> advance.

What did you replace the pointers with? You can certainly remove them out of
the code, but you've got to replace them with some other way of addressing the
data. Make them F90 pointers or turn them into common blocks or something. The
pointers are so pervasive that this would be a tremendous amount of work. Is
this what you did? It's also something that's likely to result in errors. So
intensive and careful debugging is crucial. Running on a different platform you
can't do bit-for-bit checking of data so you have to do error-growth type analysis
or something. Just getting the thing to run at all is quite an achievement...
I'd also suggest that you turn on whatever type of compiler checking you can.
Bounds checking, stop on floating point errors, compiler checks that stop when
data is used but not initialized. Read the manual on the compiler and find out
what kind of tricks it can pull for you...

Erik

Erik Kluzek, (CGD at NCAR)
National Center for Atmospheric Research
Boulder CO, (off) (303)497-1326 (fax) (303)497-1324
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!



This archive was generated by hypermail 2b27 : Thu Jun 01 2000 - 09:11:56 MDT