50#if defined PIO_LIB && defined DISTRIBUTE
95 logical,
intent(inout) :: first
97 integer,
intent(in),
optional :: mpiCOMM
101 logical :: allocate_vars = .true.
104 integer :: MyError, MySize
106 integer :: chunk_size, ng, thread
108 integer :: my_threadnum
111 character (len=*),
parameter :: MyFile = &
112 & __FILE__//
", ROMS_initialize"
120 IF (
PRESENT(mpicomm))
THEN
177#elif defined DISTRIBUTE
194 10
FORMAT (/,
' Process Information:',/)
198 DO thread=thread_range
211#if defined MCT_LIB && (defined ATM_COUPLING || defined WAV_COUPLING)
219 CALL initialize_ocn2atm_coupling (ng,
myrank)
222 CALL initialize_ocn2wav_coupling (ng,
myrank)
265 real(dp),
intent(in) :: RunInterval
269 integer :: my_outer, ng
271 character (len=*),
parameter :: MyFile = &
272 & __FILE__//
", ROMS_run"
281#if defined ADJUST_STFLUX || defined ADJUST_WSTRESS
285#ifdef ADJUST_BOUNDARY
307 outer_loop :
DO my_outer=1,
nouter
320 CALL analysis (my_outer, runinterval)
325#if defined POSTERIOR_ERROR_I || defined POSTERIOR_ERROR_F || \
326 defined posterior_eofs
348 integer :: Fcount, InpRec, Nfiles, Tindex
349 integer :: ifile, lstr, ng, thread
351 character (len=10) :: suffix
353 character (len=*),
parameter :: MyFile = &
354 & __FILE__//
", ROMS_finalize"
369 10
FORMAT (a,
'_outer',i0,
'.nc')
370 lstr=len_trim(
tlm(ng)%name)
371 tlm(ng)%base=
tlm(ng)%name(1:lstr-3)
372 IF (
tlm(ng)%Nfiles.gt.1)
THEN
373 nfiles=
tlm(ng)%Nfiles
375 WRITE (suffix,
"('_',i4.4,'.nc')") ifile
376 tlm(ng)%files(ifile)=trim(
tlm(ng)%base)//trim(suffix)
378 tlm(ng)%name=trim(
tlm(ng)%files(nfiles))
380 tlm(ng)%files(1)=trim(
tlm(ng)%name)
383 SELECT CASE (
tlm(ng)%IOtype)
386 & dimname =
'ocean_time', &
389#if defined PIO_LIB && defined DISTRIBUTE
392 & dimname =
'ocean_time', &
435 20
FORMAT (/,
' Blowing-up: Saving latest model state into ', &
462 30
FORMAT (/,
'Elapsed wall CPU time for each process (seconds):',/)
466 DO thread=thread_range
subroutine, public close_out
subroutine, public close_inp(ng, model)
subroutine, public def_dai(ng)
subroutine, public get_state(ng, model, msg, s, inirec, tindex)
subroutine, public inp_par(model)
subroutine, public roms_initialize_arrays
subroutine, public roms_allocate_arrays(allocate_vars)
type(t_io), dimension(:), allocatable tlm
type(t_io), dimension(:), allocatable fwd
type(t_io), dimension(:), allocatable rst
integer, parameter io_nf90
integer, parameter io_pio
subroutine, public netcdf_get_dim(ng, model, ncname, ncid, dimname, dimsize, dimid)
subroutine, public initialize_parallel
integer, dimension(:), allocatable first_tile
integer, dimension(:), allocatable last_tile
integer, dimension(:), allocatable ntilex
integer, dimension(:), allocatable ntilee
subroutine, public pio_netcdf_get_dim(ng, model, ncname, piofile, dimname, dimsize, dimid)
logical, dimension(:), allocatable lreadstd
logical, dimension(:), allocatable setgridconfig
logical, dimension(:), allocatable lwrtrst
logical, dimension(:), allocatable ldefdai
logical, dimension(:), allocatable lcyclerst
integer, dimension(:), allocatable lold
integer, dimension(:), allocatable lbout
integer, dimension(:), allocatable lfinp
integer, dimension(:), allocatable lbinp
integer, dimension(:), allocatable lnew
integer, dimension(:), allocatable lfout
subroutine, public posterior_error(runinterval)
subroutine, public increment(my_outer, runinterval)
subroutine, public analysis(my_outer, runinterval)
subroutine, public prior_error(ng)
subroutine, public background(my_outer, runinterval)
subroutine, public roms_finalize
subroutine, public roms_run(runinterval)
subroutine, public roms_initialize(first, mpicomm)
subroutine, public stats_modobs(ng, tile)
integer function, public stdout_unit(mymaster)
logical, save set_stdoutunit
logical function, public founderror(flag, noerr, line, routine)
subroutine, public wrt_dai(ng, tile)
subroutine, public wrt_rst(ng, tile)
recursive subroutine wclock_off(ng, model, region, line, routine)
recursive subroutine wclock_on(ng, model, region, line, routine)