2#if defined TANGENT && defined SOLVE3D
21# if defined MODEL_COUPLING && defined MCT_LIB
38# ifdef TIDE_GENERATING_FORCES
41# if defined ATM_COUPLING_NOT_YET && defined MCT_LIB
44# if defined WAV_COUPLING_NOT_YET && defined MCT_LIB
47# if defined FORWARD_READ || defined JEDI
56# ifdef BBL_MODEL_NOT_YET
59# if defined BULK_FLUXES_NOT_YET && !defined PRIOR_BULK_FLUXES
62# ifdef BVF_MIXING_NOT_YET
66# if defined WEAK_CONSTRAINT || defined FORCING_SV
69# if defined ADJUST_STFLUX || defined ADJUST_WSTRESS
72# ifdef GLS_MIXING_NOT_YET
76# ifdef LMD_MIXING_NOT_YET
79# ifdef MY25_MIXING_NOT_YET
90# ifdef ADJUST_BOUNDARY
96# if !(defined FORCING_SV || defined JEDI)
99# ifdef NEARSHORE_MELLOR_NOT_YET
106# ifdef SEDIMENT_NOT_YET
114# if defined SSH_TIDES_NOT_YET || defined UV_TIDES_NOT_YET
124# ifdef FLOATS_NOT_YET
133 real(dp),
intent(in) :: RunInterval
137 logical :: DoNestLayer, Time_Step
139 integer :: Nsteps, Rsteps
140 integer :: ig, il, istep, ng, nl, tile
141 integer :: my_iif, next_indx1
142# ifdef FLOATS_NOT_YET
143 integer :: Lend, Lstr, chunk_size
146 real(r8) :: MaxDT, my_StepTime
148 character (len=*),
parameter :: MyFile = &
161 kernel_loop :
DO WHILE (time_step)
173 nest_layer :
DO WHILE (donestlayer)
188 step_loop :
DO istep=1,nsteps
218 & __line__, myfile))
RETURN
232# if defined FORWARD_READ || defined JEDI
240# if defined FORWARD_READ || defined JEDI
255# if (defined WEAK_CONSTRAINT || defined FORCING_SV) && \
268# ifdef WEAK_CONSTRAINT
270 IF ((
iic(ng).gt.1).and.(
iic(ng).ne.
ntend(ng)+1).and. &
271 & (mod(
iic(ng)-1,
nadj(ng)).eq.0))
THEN
273 WRITE (
stdout,*)
' FORCING TLM at iic = ',
iic(ng)
296# if !(defined FORCING_SV || defined JEDI)
326# ifdef TIDE_GENERATING_FORCES
327 CALL equilibrium_tide (ng, tile,
itlm)
330# if defined FORWARD_READ || defined JEDI
341# if defined ATM_COUPLING_NOT_YET && defined MCT_LIB
353 CALL ocn2atm_coupling (ng, tile)
360# if defined WAV_COUPLING_NOT_YET && defined MCT_LIB
372 CALL ocn2wav_coupling (ng, tile)
379# ifdef NEARSHORE_MELLOR_NOT_YET
388 CALL tl_radiation_stress (ng, tile)
402# if defined BULK_FLUXES_NOT_YET && !defined PRIOR_BULK_FLUXES
403 CALL tl_bulk_flux (ng, tile)
405# ifdef BBL_MODEL_NOT_YET
406 CALL tl_bblm (ng, tile)
409# if defined SSH_TIDES_NOT_YET || defined UV_TIDES_NOT_YET
410 CALL tl_set_tides (ng, tile)
429# ifdef ADJUST_BOUNDARY
449# if defined ADJUST_STFLUX || defined ADJUST_WSTRESS
476# if defined ANA_VMIX_NOT_YET
477 CALL tl_ana_vmix (ng, tile)
478# elif defined LMD_MIXING_NOT_YET
479 CALL tl_lmd_vmix (ng, tile)
480# elif defined BVF_MIXING_NOT_YET
481 CALL tl_bvf_mix (ng, tile)
573# ifdef MY25_MIXING_NOT_YET
574 CALL tl_my25_prestep (ng, tile)
575# elif defined GLS_MIXING_NOT_YET
576 CALL tl_gls_prestep (ng, tile)
601 loop_2d :
DO my_iif=1,maxval(
nfast)+1
608 next_indx1=3-
indx1(ng)
610 & my_iif.le.(
nfast(ng)+1))
THEN
613 IF (first_2d_step)
THEN
628 IF (my_iif.le.(
nfast(ng)+1))
THEN
708# if defined MASKING && defined WET_DRY
795# ifdef MY25_MIXING_NOT_YET
796 CALL tl_my25_corstep (ng, tile)
797# elif defined GLS_MIXING_NOT_YET
798 CALL tl_gls_corstep (ng, tile)
803# ifdef SEDIMENT_NOT_YET
804 CALL tl_sediment (ng, tile)
855 IF (do_twoway(
itlm, nl, il, ng, istep))
THEN
878# ifdef FLOATS_NOT_YET
894 lend=min(
nfloats(ng),lstr+chunk_size-1)
899 CALL tl_step_floats (ng, lstr, lend)
subroutine ana_vmix(ng, tile, model)
subroutine, public time_string(mytime, date_string)
subroutine, public tl_dotproduct(ng, tile, linp)
integer, dimension(:,:), allocatable couplesteps
real(r8), dimension(:), allocatable twowayinterval
logical, dimension(:), allocatable donortofiner
integer, dimension(:), allocatable first_tile
integer, dimension(:), allocatable last_tile
integer, dimension(:), allocatable nfloats
integer, dimension(:,:), allocatable gridnumber
integer, dimension(:), allocatable gridsinlayer
logical, dimension(:), allocatable lfloats
integer, dimension(:), allocatable iic
real(dp), dimension(:), allocatable dt
logical, dimension(:), allocatable predictor_2d_step
integer, dimension(:), allocatable jic
real(dp), dimension(:), allocatable tdays
logical, dimension(:), allocatable frequentimpulse
integer, dimension(:), allocatable nfast
real(dp), parameter sec2day
integer, dimension(:), allocatable ntend
character(len=22), dimension(:), allocatable time_code
real(dp), dimension(:), allocatable time4jedi
integer, dimension(:), allocatable indx1
logical, dimension(:,:), allocatable compositegrid
real(dp), dimension(:), allocatable time
logical, dimension(:), allocatable refinedgrid
integer, dimension(:), allocatable refinescale
integer, dimension(:), allocatable ntstart
integer, dimension(:), allocatable step_counter
logical, dimension(:), allocatable processinputdata
integer, dimension(:), allocatable nadj
integer, dimension(:), allocatable iif
integer, dimension(:), allocatable nfm2
integer, dimension(:), allocatable kstp
integer, dimension(:), allocatable knew
integer, dimension(:), allocatable nfm1
integer, dimension(:), allocatable nrhs
integer, dimension(:), allocatable lfinp
integer, dimension(:), allocatable lbinp
integer, dimension(:), allocatable nf
integer, dimension(:), allocatable nfm3
integer, dimension(:), allocatable nnew
integer, dimension(:), allocatable nfp1
integer, dimension(:), allocatable lnew
integer, dimension(:), allocatable krhs
integer, dimension(:), allocatable nstp
subroutine, public nesting(ng, model, isection)
subroutine, public omega(ng, tile, model)
subroutine, public set_depth(ng, tile, model)
subroutine, public set_massflux(ng, tile, model)
logical function, public founderror(flag, noerr, line, routine)
subroutine, public tl_biology(ng, tile)
subroutine, public tl_diag(ng, tile)
subroutine, public tl_forcing(ng, tile, kfrc, nfrc)
subroutine, public tl_frc_adjust(ng, tile, linp)
subroutine, public tl_nesting(ng, model, isection)
subroutine, public tl_obc2d_adjust(ng, tile, linp)
subroutine, public tl_obc_adjust(ng, tile, linp)
subroutine, public tl_omega(ng, tile, model)
subroutine, public tl_post_initial(ng, model)
subroutine, public tl_rho_eos(ng, tile, model)
subroutine, public tl_rhs3d(ng, tile)
subroutine, public tl_set_avg(ng, tile)
subroutine, public tl_set_depth_bry(ng, tile, model)
subroutine, public tl_set_depth(ng, tile, model)
subroutine, public tl_set_massflux(ng, tile, model)
subroutine, public tl_set_vbc(ng, tile)
subroutine, public tl_set_zeta(ng, tile)
subroutine, public tl_step2d(ng, tile)
subroutine, public tl_step3d_t(ng, tile)
subroutine, public tl_step3d_uv(ng, tile)
subroutine ntimesteps(model, runinterval, nl, nsteps, rsteps)
subroutine tl_get_data(ng)
subroutine tl_main3d(runinterval)
subroutine tl_set_data(ng, tile)