While not generally required for a majority of MM5 applications; should your application require it, the following are instructions for compiling the MPP MM5 code for use with double (64-bit) arithmetic:
------------------------------------------------------------- In the configure.user file, change RWORDSIZE to 8 and then in the FCFLAGS set -qrealsize=8. That's the easy part. The tricky part is as follows: edit the file MPP/RSL/RSL/rsl.inc and change the definition of the parameter RSL_REAL from zero to one: parameter (RSL_REAL=1) That makes it the same as the parameter RSL_DOUBLE, immediately below. But be careful not to rebuild RSL after you have made this change because the rsl.inc file is generated automatically and will be overwritten if you do (in which case, you just need to edit it and make the change again -- no real harm done). Don't make the change in rsl.h. Then type 'make mpclean' and 'make mpp'. The resulting executable should work with 8 byte precision -- remember, though, it needs 8-byte real input data too. Jim has done this before, and he has some data conversion programs that might also work for you. Jim, if you recall when you had to do this for NMC, did I cover everything? WRT the case, I will download the files from your machine and try to run them here. John On Monday, May 31, 1999 10:19 AM, symoon@kr.ibm.com [SMTP:symoon@kr.ibm.com] wrote: > Hi John, [...] > > Another thing is, could you please let me know what I should do in order to > run MM5 with 64-bit floating point number precision(double precision)? [...] > Moon, Sooyoung > IT Specialist - RS/6000 > Midrange Technical Support Team, IBM Korea > e-mail : symoon@kr.ibm.com, Tel : 02-781-6926, 011-898-6926 >Double best regards,
Rotang
March 6, 2003 LINUX ADDENDUM (2003 04 13): The Portland Group Fortran compilers have a -pc option used for controlling the floating point stack. This is set to -pc 32 in the standard configure.user file. Remove this option or set it to -pc 64 or -pc 80 to get double precision calculation from the compiler (otherwise, the results may still be truncated to 32-bit precision).