Go to the documentation of this file.
107 INTEGER :: i, mpi_comm = -99
108 INTEGER,
ALLOCATABLE :: tend(:,:)
112 LOGICAL :: flhybr = .false.
128 CALL mpi_init_thread(mpi_thread_funneled, thrlev, ierr_mpi)
132 CALL mpi_init ( ierr_mpi )
138 mpi_comm = mpi_comm_world
139 CALL mpi_comm_size ( mpi_comm,
nmproc, ierr_mpi )
140 CALL mpi_comm_rank ( mpi_comm,
improc, ierr_mpi )
149 mpi_thread_funneled, thrlev
154 WRITE(*,906) omp_get_max_threads()
177 INQUIRE(
file=
"ww3_multi.nml", exist=flgnml)
189 ALLOCATE ( tend(2,
nrgrd) )
210 CALL mpi_barrier ( mpi_comm, ierr_mpi )
211 CALL mpi_finalize ( ierr_mpi )
216 900
FORMAT (/15x,
' *** WAVEWATCH III Multi-grid shell *** '/ &
217 15x,
'================================================='/)
219 905
FORMAT (
' Hybrid MPI/OMP thread support level:'/ &
220 ' Requested: ', i2/ &
225 906
FORMAT (
' OMP threading enabled. Number of threads: ', i3 / )
228 999
FORMAT(//
' End of program '/ &
229 ' ========================================'/ &
230 ' WAVEWATCH III Multi-grid shell '/)
cmake src_list cmake include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/check_switches.cmake) check_switches("$
Finalization of the multi-grid wave model.
Initialization of the multi-grid wave model.
subroutine wmwave(TEND)
Run multi-grid version of WAVEWATCH III.
subroutine wminit(IDSI, IDSO, IDSS, IDST, IDSE, IFNAME, MPI_COMM, PREAMB)
Initialize multi-grid version of WAVEWATCH III.
subroutine wmfinl
Initialize multi-grid version of WAVEWATCH III.
subroutine wminitnml(IDSI, IDSO, IDSS, IDST, IDSE, IFNAME, MPI_COMM, PREAMB)
Initialize multi-grid version of WAVEWATCH III.
Running the multi-grid version of WAVEWATCH III up to a given ending time for each grid.
file(STRINGS ${CMAKE_BINARY_DIR}/switch switch_strings) separate_arguments(switches UNIX_COMMAND $
program w3mlti
Program shell or driver to run the multi-grid wave model (uncoupled).
Define data structures to set up wave model dynamic data for several models simultaneously.
integer, dimension(2) etime
ETIME.