18# ifdef BBL_MODEL_NOT_YET
53# if defined WAV_COUPLING_NOT_YET && defined MCT_LIB
56# if !(defined SEDIMENT_NOT_YET && defined SED_MORPH_NOT_YET)
72# ifdef WEAK_CONSTRAINT
83# if defined PROPAGATOR || \
84 (defined masking && (defined read_water || defined write_water))
92 integer,
intent(in) :: ng
96 logical :: update = .false.
98 integer :: LBi, UBi, LBj, UBj
99 integer :: Fcount, IniRec, Tindex
100 integer :: thread, tile
102 real(dp) :: my_dstart
104 character (len=*),
parameter :: MyFile = &
112# if defined PERTURBATION
114 10
FORMAT (/,
' <<<< Ensemble/Perturbation Run: ',i5.5,
' >>>>',/)
115# elif defined R4DVAR || defined R4DVAR_ANA_SENSITIVITY || \
118 10
FORMAT (/,
' <<<< 4D Variational Data Assimilation, ', &
119 &
'Outer = ',i3.3,
', Inner = ',i3.3,
' >>>>',/)
121 WRITE (
stdout,20)
'RP_INITIAL: Configuring and ', &
122 &
'initializing representer model ...'
123 20
FORMAT (/,1x,a,a,/)
142# ifdef FLOATS_NOT_YET
153# ifdef GENERIC_DSTART
164 IF (
initime(ng).lt.0.0_dp)
THEN
167 my_dstart=
initime(ng)/86400.0_dp
183 lbi=lbound(
grid(ng)%h,dim=1)
184 ubi=ubound(
grid(ng)%h,dim=1)
185 lbj=lbound(
grid(ng)%h,dim=2)
186 ubj=ubound(
grid(ng)%h,dim=2)
201 DO thread=thread_range
206# ifdef WEAK_CONSTRAINT
223 inirec=
irp(ng)%Rindex
225# ifdef ADJUST_BOUNDARY
231# if defined ADJUST_STFLUX || defined ADJUST_WSTRESS
244 fcount=
tlm(ng)%Fcount
245 tlm(ng)%Nrec(fcount)=0
290# if defined PICARD_TEST || defined WEAK_CONSTRAINT
308# if defined SOLVE3D && !defined INI_FILE
320# if !(defined SEDIMENT_NOT_YET && defined SED_MORPH_NOT_YET)
339 IF (
nrrec(ng).eq.0)
THEN
346# if defined ANA_PASSIVE && defined SOLVE3D
350 IF (
nrrec(ng).eq.0)
THEN
357# if defined ANA_BIOLOGY && defined SOLVE3D
361 IF (
nrrec(ng).eq.0)
THEN
368# if defined ANA_SEDIMENT_NOT_YET && defined SOLVE3D
372 IF (
nrrec(ng).eq.0)
THEN
385 IF (
nrrec(ng).ne.0)
THEN
403 IF (
nrrec(ng).ne.0)
THEN
413 CALL wetdry (ng, tile, tindex(ng), .true.)
432# if defined ANA_PERTURB && defined SANITY_CHECK
528# if defined PROPAGATOR || \
529 (defined masking && (defined read_water || defined write_water ))
553# if defined ANA_DRAG && defined UV_DRAG_GRID
577# if defined FLOATS_NOT_YET || defined STATIONS
587# if defined WAV_COUPLING_NOT_YET && defined MCT_LIB
594 CALL ocn2wav_coupling (ng, tile)
614 DO thread=thread_range
subroutine check_multifile(ng, model)
subroutine grid_coords(ng, model)
subroutine ana_sediment(ng, tile, model)
subroutine ana_initial(ng, tile, model)
subroutine ana_sponge(ng, tile, model)
subroutine ana_drag(ng, tile, model)
subroutine ana_psource(ng, tile, model)
subroutine ana_perturb(ng, tile, model)
subroutine ana_biology(ng, tile, model)
subroutine ana_passive(ng, tile, model)
subroutine, public close_inp(ng, model)
subroutine, public time_string(mytime, date_string)
subroutine, public get_state(ng, model, msg, s, inirec, tindex)
subroutine, public get_wetdry(ng, tile, model, inirec)
subroutine, public tl_ini_perturb(ng, tile, linp, lout)
subroutine, public ini_hmixcoef(ng, tile, model)
subroutine, public initialize_coupling(ng, tile, model)
subroutine, public initialize_forces(ng, tile, model)
type(t_grid), dimension(:), allocatable grid
type(t_io), dimension(:), allocatable irp
type(t_io), dimension(:), allocatable tlm
subroutine, public initialize_mixing(ng, tile, model)
subroutine, public initialize_ocean(ng, tile, model)
integer, dimension(:), allocatable first_tile
integer, dimension(:), allocatable last_tile
logical, dimension(:), allocatable luvsrc
real(dp), parameter day2sec
integer, dimension(:), allocatable obccount
integer, dimension(:), allocatable nrrec
logical, dimension(:,:), allocatable ltracersrc
integer, dimension(:), allocatable ntimes
integer, dimension(:), allocatable iic
real(dp), dimension(:), allocatable dt
logical, dimension(:), allocatable lsponge
logical, dimension(:), allocatable setgridconfig
integer, dimension(:), allocatable next_kstp
logical, dimension(:), allocatable synchro_flag
logical, dimension(:), allocatable predictor_2d_step
real(dp), dimension(:), allocatable tdays
logical, dimension(:), allocatable lwsrc
integer, dimension(:), allocatable ntend
logical, dimension(:), allocatable lcycletlm
logical, dimension(:), allocatable ldefirp
integer, dimension(:), allocatable first_time
character(len=22), dimension(:), allocatable time_code
integer, dimension(:), allocatable indx1
integer, dimension(:), allocatable sfcount
integer, dimension(:), allocatable ntfirst
real(dp), dimension(:), allocatable time
integer, dimension(:), allocatable ntstart
integer, dimension(:), allocatable iif
real(dp), dimension(:), allocatable initime
integer, dimension(:), allocatable nfm2
integer, dimension(:), allocatable kstp
integer, dimension(:), allocatable knew
integer, dimension(:), allocatable nfm1
integer, dimension(:), allocatable nrhs
integer, dimension(:), allocatable nf
integer, dimension(:), allocatable nfm3
integer, dimension(:), allocatable nnew
integer, dimension(:), allocatable nfp1
integer, dimension(:), allocatable krhs
integer, dimension(:), allocatable nstp
subroutine, public obs_initial(ng, model, backward)
subroutine, public omega(ng, tile, model)
subroutine, public rho_eos(ng, tile, model)
subroutine, public rp_def_ini(ng)
subroutine, public rp_omega(ng, tile, model)
subroutine, public rp_rho_eos(ng, tile, model)
subroutine, public rp_set_depth(ng, tile, model)
subroutine, public rp_bath(ng, tile)
subroutine, public rp_set_massflux(ng, tile, model)
subroutine, public set_depth(ng, tile, model)
subroutine, public set_masks(ng, tile, model)
subroutine, public set_massflux(ng, tile, model)
subroutine, public stiffness(ng, tile, model)
logical function, public founderror(flag, noerr, line, routine)
subroutine wetdry(ng, tile, tindex, linitialize)
subroutine rp_get_data(ng)
subroutine rp_get_idata(ng)
subroutine rp_initial(ng)
subroutine set_grid(ng, model)
recursive subroutine wclock_off(ng, model, region, line, routine)
recursive subroutine wclock_on(ng, model, region, line, routine)
subroutine wpoints(ng, tile, model)