72 logical,
intent(inout) :: first
74 integer,
intent(in),
optional :: mpiCOMM
78 logical :: allocate_vars = .true.
81 integer :: MyError, MySize
83 integer :: STDrec, Tindex
84 integer :: chunk_size, ng, thread
86 integer :: my_threadnum
89 character (len=*),
parameter :: MyFile = &
90 & __FILE__//
", ROMS_initialize"
98 IF (
PRESENT(mpicomm))
THEN
148#elif defined DISTRIBUTE
165 10
FORMAT (/,
' Process Information:',/)
169 DO thread=thread_range
208#ifdef ADJUST_BOUNDARY
219#if defined ADJUST_WSTRESS || defined ADJUST_STFLUX
244 real(dp),
intent(in) :: RunInterval
248 logical :: BOUNDED_TL, Lposterior
250 integer :: i, j, ng, tile
251 integer :: Lbck, Lini, Lstate, NRMrec, Rec1, Rec2
253 integer :: IperAD, JperAD, KperAD, ivarAD
254 integer :: IoutTL, JoutTL, KoutTL, ivarTL
256 integer :: Istr, Iend, Jstr, Jend
258 integer,
dimension(Ngrids) :: Nrec
260 integer,
allocatable :: StateVar(:)
262 real(r8),
allocatable :: R(:,:,:), Rerr(:,:)
264 character (len=8 ) :: driver
265 character (len=24) :: frmt
267 character (len=*),
parameter :: MyFile = &
268 & __FILE__//
", ROMS_run"
357#ifdef ADJUST_BOUNDARY
361#if defined ADJUST_WSTRESS || defined ADJUST_STFLUX
380#ifdef ADJUST_BOUNDARY
384#if defined ADJUST_WSTRESS || defined ADJUST_STFLUX
410 allocate ( statevar(maxval(
nstatevar)-2) )
417 lstate=maxval(statevar)
425 allocate ( r(lstate,lstate,
ngrids) )
426 allocate ( rerr(lstate,lstate) )
430 r(1:lstate,1:lstate,1:
ngrids)=0.0_r8
477 adm(ng)%Nrec(fcount)=0
504 & rec1, rec2, lposterior)
566 bounded_tl=((istr.le.iouttl).and.(iouttl.le.iend)).and. &
567 & ((jstr.le.jouttl).and.(jouttl.le.jend))
579 r(i+3,
nrun,ng)=
ocean(ng)%tl_t(iouttl,jouttl,kouttl, &
594 WRITE (
stdout,20)
'Representer Matrix Symmetry Test: ', &
595 &
'Perturbing Point: ', &
596 & iperad, jperad, kperad, &
597 &
'Sampling Point: ', &
598 & iouttl, jouttl, kouttl
599 WRITE (
stdout,30)
'Sampled Representer Matrix: '
600 WRITE (frmt,
'(a,i0,a)')
'(', lstate,
'(1x,1p,e14.7,0p))'
602 WRITE (
stdout,
'(a,a)')
'My Format: ', frmt
605 rerr(i,j)=r(i,j,ng)-r(j,i,ng)
609 WRITE (
stdout,frmt) (r(i,j,ng),j=1,lstate)
611 WRITE (
stdout,30)
'Representer Matrix Symmetry Error: '
613 WRITE (
stdout,frmt) (rerr(i,j),j=1,lstate)
618 10
FORMAT (/,1x,a,1x,
'ROMS: started time-stepping:', &
619 &
' (Grid: ',i2.2,
' TimeSteps: ',i8.8,
' - ',i8.8,
')',/)
620 20
FORMAT (/,1x,a,/,/,3x,a,
' i = ',i4.4,
' j = ',i4.4,
' k = ',i4.4, &
621 & /,3x,a,
' i = ',i4.4,
' j = ',i4.4,
' k = ',i4.4)
643 integer :: Fcount, ng, thread
645 character (len=*),
parameter :: MyFile = &
646 & __FILE__//
", ROMS_finalize"
658 10
FORMAT (/,
' Blowing-up: Saving latest model state into ', &
685 20
FORMAT (/,
'Elapsed wall CPU time for each process (seconds):',/)
689 DO thread=thread_range
subroutine ad_initial(ng)
subroutine ad_main3d(runinterval)
subroutine edit_multifile(task)
subroutine main3d(runinterval)
subroutine, public close_out
subroutine, public close_inp(ng, model)
subroutine, public error_covariance(model, driver, outloop, innloop, rbck, rini, rold, rnew, rec1, rec2, lposterior)
subroutine, public def_impulse(ng)
subroutine, public def_norm(ng, model, ifile)
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)
logical, dimension(:), allocatable wrtrpmod
logical, dimension(:), allocatable wrttlmod
logical, dimension(:), allocatable wrtnlmod
integer, dimension(:), allocatable nstatevar
type(t_io), dimension(:,:), allocatable std
type(t_io), dimension(:,:), allocatable nrm
type(t_io), dimension(:), allocatable adm
type(t_io), dimension(:), allocatable tlf
type(t_io), dimension(:), allocatable rst
integer, dimension(:), allocatable istvar
type(t_ocean), dimension(:), allocatable ocean
subroutine, public initialize_parallel
integer, dimension(:), allocatable first_tile
integer, dimension(:), allocatable last_tile
type(t_bounds), dimension(:), allocatable bounds
integer, dimension(:), allocatable ntilex
integer, dimension(:), allocatable ntilee
integer, dimension(:), allocatable nt
logical, dimension(:,:), allocatable lwrtnrm
logical, dimension(:), allocatable ldefitl
logical, dimension(:), allocatable ldeftlf
real(r8), dimension(:), allocatable user
logical, dimension(:), allocatable lreadfrc
integer, dimension(:), allocatable ntend
logical, dimension(:,:), allocatable ldefnrm
logical, dimension(:), allocatable lwrtrst
integer, dimension(:), allocatable ntstart
logical, dimension(:), allocatable lreadfwd
logical, dimension(:), allocatable lcyclerst
logical, dimension(:), allocatable lreadblk
integer, dimension(:), allocatable lold
integer, dimension(:), allocatable knew
integer, dimension(:), allocatable lnew
integer, dimension(:), allocatable nstp
subroutine, public normalization(ng, tile, ifac)
subroutine, public roms_finalize
subroutine, public roms_run(runinterval)
subroutine, public roms_initialize(first, mpicomm)
integer function, public stdout_unit(mymaster)
logical, save set_stdoutunit
logical function, public founderror(flag, noerr, line, routine)
subroutine, public tl_def_ini(ng)
subroutine, public wrt_impulse(ng, tile, model, inpncname)
subroutine, public wrt_rst(ng, tile)
recursive subroutine wclock_off(ng, model, region, line, routine)
recursive subroutine wclock_on(ng, model, region, line, routine)
subroutine tl_initial(ng)
subroutine tl_main3d(runinterval)