ROMS/TOMS 2.1 array size limitation problem

General scientific issues regarding ROMS

Moderators: arango, robertson

Post Reply
Posts: 157
Joined: Mon Apr 28, 2003 5:12 pm
Location: NOAA

ROMS/TOMS 2.1 array size limitation problem

#1 Post by lanerolle » Mon Jun 27, 2005 8:23 pm

Further to my earlier email, I have found that when using ifort to compile and run ROMS/TOMS 2.1 there appears to be an array size limitation. For example, if I were to compile and run the UPWELLING model problem, it runs successfully for the default arrays sizes of Lm=41, Mm=80, N=16 (in mod_param.F). If however, I increase these parameters to Lm=252, Mm=296, N=30 (which is the size of one of my ROMS/TOMS applications), I get a "Segmentation fault" error when running the code and it occurs in the pre_step3d_tile routine and in particular in the statement:

real(r8), dimension(PRIVATE_2D_SCRATCH_ARRAY,0:N(ng)) :: swdk

I did not get such an error with ifc and I have successfully compiled and run my application with Lm=252, Mm=296, N=30.

Therefore, there appears to be a problem when using ifort. I compile and run on a Dell machine using Red Hat Linux (Fedora 2.0) and the ifort 8.1 compiler. I am sure that my machine can handle ROMS/TOMS applications as large as this and if not larger without any problems.

Does anybody know why this happens and a possible solution? I wonder whether others are able to compile (with ifort) and run the ROMS/TOMS UPWELLING model problem with Lm=252, Mm=296, N=30? Please let me know what you think.

Thank you.

Posts: 5
Joined: Mon May 05, 2003 6:34 pm
Location: URI - GSO

Segmentation Fault

#2 Post by dbergondo » Thu Jun 30, 2005 8:29 pm

Check your stacksize using "limit" in csh or "unliimit -a" in bash.

If not unlimited, increase the stacksize using "limit stacksize unlimited" in csh or "ulimit -s unlimited" in bash.

If this fixes the problem modify your .bashrc or .schrc files to umlimited whenever you open a window.

User avatar
Posts: 521
Joined: Tue Jul 01, 2003 4:12 am
Location: NIWA

#3 Post by m.hadfield » Fri Jul 01, 2005 12:35 am

Or increase the number of tiles via the input-file parameters NtileI and NtileJ.

This trick also helps with Compaq Visual Fortran.

Post Reply