Issue with the initial timestep in ww3_multi #1026
Replies: 2 comments 1 reply
-
Here are some final results that form an answer
add:
For the first error in this discussion, it makes no sense to try to initialise the date-time
|
Beta Was this translation helpful? Give feedback.
-
Closing because the second bug is now addressed in issue #1132 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I am trying a simple setup with ww3_multi. This is just for testing it it works with our compilers - we are going to select a proper compiler (Gnu gfortran-13 or Intel ifx-2023) for our new cluster, but at now testing on our old (year 2019) cluster. We don't use ww3_multi for our forecast production, but we may do so in the future. I have managed to make it work with the main branch (version 6.06) where I had to select compile options with gfortran-13 ( -finit-local-zero -finit-derived ) to force initialization of arrays to zero.
With the develop branch I run into a new issue. After putting some extra MPI_BARRIER calls into wmwavemd.F90 I got a backtrace output to stderr tracing back to this line in w3wavemd.F90
WW3/model/src/w3wavemd.F90
Line 2413 in 3eb8161
This seems to be logically wrong, as the variable TONEXT(:,7) is defined (or initialised) only for coupled setup (with ocean, atmosphere model), which I am not testing. If I am wrong in this assumption, I will look further into my setup.
UPDATE: I will elaborate the question a little further.
First, I find from looking through recent Issues, that the identification by @ukmo-ccbunney of uninitialized local variables has helped me identify this issue. I think it is a bug, but I don't understand that it hasn't been caught in the regression tests.
It is a bug because there remains no issue with my setup after changing the condition
to:
FLOUTG
andFLOUTG2
are local logicals defined exactly so shortly before in the same code block.My compile and link commands are as follows with openmpi-4.1.5/gfortran-13.1.0-debug:
Compile:
mpif90 -c -J/home/cha/Projects/WAVEWATCH_v7_devel/BUILD/mod -g -fno-second-underscore -ffree-line-length-none -O0 -Wall -Wno-unused -fcheck=all -ffpe-trap=invalid,zero,overflow -frecursive -fbacktrace -fallow-argument-mismatch -finit-local-zero -finit-derived -I/opt/mpi/openmpi-4.1.5/gfortran-13.1.0-debug/include -I/home/cha/Projects/WAVEWATCH_v7_devel/BUILD/src wmwavemd.F90
(for each source file)Link:
mpif90 -o ww3_multi -g -O0 -Wall -fcheck=all -ffpe-trap=invalid,zero,overflow -frecursive -fbacktrace -finit-local-zero -finit-derived $objects -Wl,-R/opt/gcc-13.1.0/lib64 -Wl,-R/opt/isl-0.24/lib -Wl,-R/opt/mpc-1.3.1/lib -Wl,-R/opt/mpi/openmpi-4.1.5/gfortran-13.1.0-debug/lib -L/opt/mpi/openmpi-4.1.5/gfortran-13.1.0-debug/lib -lmpi -Wl,-rpath,/opt/mpi/openmpi-4.1.5/gfortran-13.1.0-debug/lib
(where $objects are all the compiled object files)I test a simplified setup with two grids corresponding to our grids for the North Sea-Baltic region, but omitting two-way boundary transfer, and running in spin-up mode for two hours. See the attached ww3_multi.nml file.
Here are the backtrace lines written to standard error:
ww3_multi.nml.txt
ww3_grid_NSB9.nml.txt
ww3_grid_BAL3.nml.txt
Beta Was this translation helpful? Give feedback.
All reactions