running ROMS on an OSX cluster
-
- Posts: 8
- Joined: Wed Apr 07, 2004 10:48 pm
- Location: University of Washington, School of Oceanography
running ROMS on an OSX cluster
Has anyone had success in running ROMS on an OSX cluster? I can get it to compile, but am having trouble running it (I think the source of the problem is in mod_iounits) even on just one node. We're using a xlf95 compiler. Any guidance would be greatly appreciated, thanks, amanda
running ROMS on an OSX cluster
We have been successful in running ROMS on an Apple Mac OSX cluster with the IBM XLF compiler.
Here is the problem: stdinp and stdout values fail to be set in module mod_iounits.F . If you print out stdinp and stdout, the values are zero, not 5 and 6 as you would expect for running the model.
Solution is to include the "parameter" statement when declaring these variables in mod_iounits.F
Code modifications in mod_iounits.F:
OLD CODE
integer :: stdinp = 5
integer :: stdout = 6
NEW CODE
integer, parameter :: stdinp = 5
integer, parameter :: stdout = 6
-----
One other problem you will find is segmentation faults for large models using LMD modules. The LMD modules allocate local 3-D arrays on the stack. The stack size support in Mac OS X is limited to 64MB using the shell's limit command.
To workaround this limitation, either increase the number of tiles to reduce the array size for each tile, or ask Apple for linker commands that allow up to 1024MB of stack memory. There are some issues to avoid when doing this.
- Tim -
Here is the problem: stdinp and stdout values fail to be set in module mod_iounits.F . If you print out stdinp and stdout, the values are zero, not 5 and 6 as you would expect for running the model.
Solution is to include the "parameter" statement when declaring these variables in mod_iounits.F
Code modifications in mod_iounits.F:
OLD CODE
integer :: stdinp = 5
integer :: stdout = 6
NEW CODE
integer, parameter :: stdinp = 5
integer, parameter :: stdout = 6
-----
One other problem you will find is segmentation faults for large models using LMD modules. The LMD modules allocate local 3-D arrays on the stack. The stack size support in Mac OS X is limited to 64MB using the shell's limit command.
To workaround this limitation, either increase the number of tiles to reduce the array size for each tile, or ask Apple for linker commands that allow up to 1024MB of stack memory. There are some issues to avoid when doing this.
- Tim -
Trouble with Mac xlf and netcdf
The trick above worked fine to get the input files read. I rebuilt netcdf with xlf (various different ways and versions), but I still get errors that DEF_VAR can't write. E.g.,
[...]
DEF_VAR - unable to define variable: xl
in NetCDF file: ocean_his.nc
[...]
Obviously the code compiles error free, and a NetCDF file is actually created, just not populated.. Has anyone else had this problem?
I had the model working with absoft, but it was not particularly fast. Everyone tells me that xlf is blindingly speedy, and I want some..
[...]
DEF_VAR - unable to define variable: xl
in NetCDF file: ocean_his.nc
[...]
Obviously the code compiles error free, and a NetCDF file is actually created, just not populated.. Has anyone else had this problem?
I had the model working with absoft, but it was not particularly fast. Everyone tells me that xlf is blindingly speedy, and I want some..
Re: Trouble with Mac xlf and netcdf
Have you made similar changes in mod_netcdf.F?hetland wrote:The trick above worked fine to get the input files read. I rebuilt netcdf with xlf (various different ways and versions), but I still get errors that DEF_VAR can't write. E.g.,
[...]
DEF_VAR - unable to define variable: xl
in NetCDF file: ocean_his.nc
[...]
Obviously the code compiles error free, and a NetCDF file is actually created, just not populated.. Has anyone else had this problem?
I had the model working with absoft, but it was not particularly fast. Everyone tells me that xlf is blindingly speedy, and I want some..
Code: Select all
integer :: NF_FOUT = nf_double
Code: Select all
integer, parameter :: NF_FOUT = nf_double
Re: running ROMS on an OSX cluster
I believe I'm running into this now. Can you tell me what issues to avoid when setting the stack to 1024MB?tpugh@coas.oregonstate.ed wrote:We have been successful in running
One other problem you will find is segmentation faults for large models using LMD modules. The LMD modules allocate local 3-D arrays on the stack. The stack size support in Mac OS X is limited to 64MB using the shell's limit command.
To workaround this limitation, either increase the number of tiles to reduce the array size for each tile, or ask Apple for linker commands that allow up to 1024MB of stack memory. There are some issues to avoid when doing this.
- Tim -
Thanks,
Steve