After many years in modeling, I learned that running a model on different number of processors can (but should not) give different results. I also like to run the model in OPENMP and MPI to have a better understanding of what the results would look like if I give my code (bio+roms) to somebody. However, for the last year I have not been able to run my model in OPENMP mode, so I decided to explore the problem and get back to the basics of running roms_benchmark3. To my surprised it did not work either and that is independent of the number of threads (except 1). So I decided to upgrade ROMS to 3.9 and then the latest version to today at 9:00 am PDT. Again this did not help. I am running on a power8 with xlf95_r and everything as defined by benchmark.h, roms_benchmark3.in, build_roms.sh and complier flags for OPENMP. Compilation does not give any error with the default flags, but when I run romsG in or oustide gdb I get the message
Power filter parameters, Fgamma, gamma = 0.28400 0.14200
Program received signal SIGSEGV, Segmentation fault
An info threads gives me
(gdb) info threads
Id Target Id Frame
4 Thread 0x10000254eab0 (LWP 13725) "romsG" metrics_mod::metrics_tile (ng=<error reading variable: Cannot access memory at address 0x103>,
tile=<error reading variable: Cannot access memory at address 0x4030>, model=<error reading variable: Cannot access memory at address 0xfffffffffffffffe>,
lbi=<error reading variable: Cannot access memory at address 0x806>, ubi=<error reading variable: Cannot access memory at address 0x8>,
lbj=<error reading variable: Cannot access memory at address 0x0>, ubj=<error reading variable: Cannot access memory at address 0x281100e03>,
imins=<error reading variable: Cannot access memory at address 0x8>, imaxs=2051, jmins=126, jmaxs=259, nstp=1, nnew=1, f=..., h=..., pm=..., pn=..., angler=..., cosangler=..., sinangler=...,
hz=..., z_r=..., z_w=..., om_p=..., om_r=..., om_u=..., om_v=..., on_p=..., on_r=..., on_u=..., on_v=..., fomn=..., omn=..., pnom_p=..., pnom_r=..., pnom_u=..., pnom_v=..., pmon_p=..., pmon_r=...,
pmon_u=..., pmon_v=...) at /home/server/pi/homes/yvette/ROMS_111521/Project_test/Build_romsG/metrics.f90:282
* 3 Thread 0x10000213eab0 (LWP 13724) "romsG" metrics_mod::metrics_tile (ng=<error reading variable: Cannot access memory at address 0x103>,
tile=<error reading variable: Cannot access memory at address 0x4030>, model=<error reading variable: Cannot access memory at address 0xfffffffffffffffe>,
lbi=<error reading variable: Cannot access memory at address 0x806>, ubi=<error reading variable: Cannot access memory at address 0x8>,
lbj=<error reading variable: Cannot access memory at address 0x0>, ubj=<error reading variable: Cannot access memory at address 0x281100e03>,
imins=<error reading variable: Cannot access memory at address 0x8>, imaxs=1027, jmins=126, jmaxs=259, nstp=1, nnew=<error reading variable: Cannot access memory at address 0x4030>,
f=<error reading variable: Cannot access memory at address 0x401>, h=<error reading variable: Cannot access memory at address 0x8>,
pm=<error reading variable: Cannot access memory at address 0x8>, pn=<error reading variable: Cannot access memory at address 0x8>,
angler=<error reading variable: Cannot access memory at address 0x8>, cosangler=<error reading variable: Cannot access memory at address 0x8>,
sinangler=<error reading variable: Cannot access memory at address 0x8>, hz=<error reading variable: Cannot access memory at address 0x1>,
z_r=<error reading variable: Cannot access memory at address 0x8>, z_w=<error reading variable: Cannot access memory at address 0x8>,
om_p=<error reading variable: Cannot access memory at address 0x8>, om_r=<error reading variable: Cannot access memory at address 0x40f090>,
om_u=<error reading variable: Cannot access memory at address 0x8>, om_v=<error reading variable: Cannot access memory at address 0x8>,
on_p=<error reading variable: Cannot access memory at address 0x8>, on_r=<error reading variable: Cannot access memory at address 0x8>, on_u=..., on_v=..., fomn=..., omn=..., pnom_p=...,
pnom_r=..., pnom_u=..., pnom_v=..., pmon_p=..., pmon_r=..., pmon_u=..., pmon_v=...) at /home/server/pi/homes/yvette/ROMS_111521/Project_test/Build_romsG/metrics.f90:280
2 Thread 0x100001d2eab0 (LWP 13723) "romsG" metrics_mod::metrics_tile (ng=<error reading variable: Cannot access memory at address 0x103>,
tile=<error reading variable: Cannot access memory at address 0x4030>, model=<error reading variable: Cannot access memory at address 0xfffffffffffffffe>,
lbi=<error reading variable: Cannot access memory at address 0x806>, ubi=<error reading variable: Cannot access memory at address 0x8>,
lbj=<error reading variable: Cannot access memory at address 0x0>, ubj=<error reading variable: Cannot access memory at address 0x281100e03>,
imins=<error reading variable: Cannot access memory at address 0x8>, imaxs=2051, jmins=<error reading variable: Cannot access memory at address 0x81>,
jmaxs=<error reading variable: Cannot access memory at address 0x81>, nstp=<error reading variable: Cannot access memory at address 0x4010>,
nnew=<error reading variable: Cannot access memory at address 0x4030>, f=<error reading variable: Cannot access memory at address 0x1>,
h=<error reading variable: Cannot access memory at address 0x8>, pm=<error reading variable: Cannot access memory at address 0x8>, pn=<error reading variable: Cannot access memory at address 0x8>,
angler=<error reading variable: Cannot access memory at address 0x8>, cosangler=<error reading variable: Cannot access memory at address 0x8>,
sinangler=<error reading variable: Cannot access memory at address 0x8>, hz=<error reading variable: Cannot access memory at address 0x1>,
z_r=<error reading variable: Cannot access memory at address 0x8>, z_w=<error reading variable: Cannot access memory at address 0x8>,
om_p=<error reading variable: Cannot access memory at address 0x8>, om_r=<error reading variable: Cannot access memory at address 0x40f090>,
om_u=<error reading variable: Cannot access memory at address 0x8>, om_v=<error reading variable: Cannot access memory at address 0x8>,
on_p=<error reading variable: Cannot access memory at address 0x8>, on_r=<error reading variable: Cannot access memory at address 0x8>, on_u=..., on_v=..., fomn=..., omn=..., pnom_p=...,
pnom_r=..., pnom_u=..., pnom_v=..., pmon_p=..., pmon_r=..., pmon_u=..., pmon_v=...) at /home/server/pi/homes/yvette/ROMS_111521/Project_test/Build_romsG/metrics.f90:228
1 Thread 0x1000000484b0 (LWP 13710) "romsG" metrics_mod::metrics_tile (ng=<error reading variable: Cannot access memory at address 0x103>,
tile=<error reading variable: Cannot access memory at address 0x4030>, model=<error reading variable: Cannot access memory at address 0xfffffffffffffffe>,
lbi=<error reading variable: Cannot access memory at address 0x806>, ubi=<error reading variable: Cannot access memory at address 0x8>, lbj=0,
ubj=<error reading variable: Cannot access memory at address 0x281100e03>, imins=<error reading variable: Cannot access memory at address 0x8>, imaxs=1027, jmins=-2, jmaxs=131, nstp=1, nnew=1,
f=..., h=..., pm=..., pn=..., angler=..., cosangler=..., sinangler=..., hz=..., z_r=..., z_w=..., om_p=..., om_r=..., om_u=..., om_v=..., on_p=..., on_r=..., on_u=..., on_v=..., fomn=..., omn=...,
pnom_p=..., pnom_r=..., pnom_u=..., pnom_v=..., pmon_p=..., pmon_r=..., pmon_u=..., pmon_v=...) at /home/server/pi/homes/yvette/ROMS_111521/Project_test/Build_romsG/metrics.f90:228
I was wondering if somebody else has experienced the same problem, i.e, not being able to run the benchmark in OPENMP. Thank you for your help and advises.