368 integer,
intent(in) :: ng, lbi, ubi, lbj, ubj
382 size2d=real((ubi-lbi+1)*(ubj-lbj+1),
r8)
386 allocate (
ocean(ng) % rubar(lbi:ubi,lbj:ubj,2) )
389 allocate (
ocean(ng) % rvbar(lbi:ubi,lbj:ubj,2) )
392 allocate (
ocean(ng) % rzeta(lbi:ubi,lbj:ubj,2) )
395 allocate (
ocean(ng) % ubar(lbi:ubi,lbj:ubj,3) )
398 allocate (
ocean(ng) % vbar(lbi:ubi,lbj:ubj,3) )
401 allocate (
ocean(ng) % zeta(lbi:ubi,lbj:ubj,3) )
404#if defined TIDE_GENERATING_FORCES
405 allocate (
ocean(ng) % eq_tide(lbi:ubi,lbj:ubj) )
409 allocate (
ocean(ng) % zetat(lbi:ubi,lbj:ubj) )
411 allocate (
ocean(ng) % zetaw(lbi:ubi,lbj:ubj) )
413 allocate (
ocean(ng) % qsp(lbi:ubi,lbj:ubj) )
415 allocate (
ocean(ng) % bh(lbi:ubi,lbj:ubj) )
419 allocate (
ocean(ng) % ubar_stokes(lbi:ubi,lbj:ubj) )
422 allocate (
ocean(ng) % vbar_stokes(lbi:ubi,lbj:ubj) )
427 allocate (
ocean(ng) % pden(lbi:ubi,lbj:ubj,
n(ng)) )
430 allocate (
ocean(ng) % rho(lbi:ubi,lbj:ubj,
n(ng)) )
433 allocate (
ocean(ng) % ru(lbi:ubi,lbj:ubj,0:
n(ng),2) )
436 allocate (
ocean(ng) % rv(lbi:ubi,lbj:ubj,0:
n(ng),2) )
439 allocate (
ocean(ng) % t(lbi:ubi,lbj:ubj,
n(ng),3,
nt(ng)) )
442 allocate (
ocean(ng) % u(lbi:ubi,lbj:ubj,
n(ng),2) )
445 allocate (
ocean(ng) % ua(lbi:ubi,lbj:ubj,
n(ng)) )
448 allocate (
ocean(ng) % v(lbi:ubi,lbj:ubj,
n(ng),2) )
451 allocate (
ocean(ng) % va(lbi:ubi,lbj:ubj,
n(ng)) )
454 allocate (
ocean(ng) % W(lbi:ubi,lbj:ubj,0:
n(ng)) )
457# if defined OMEGA_IMPLICIT
458 allocate (
ocean(ng) % Wi(lbi:ubi,lbj:ubj,0:
n(ng)) )
462 allocate (
ocean(ng) % wvel(lbi:ubi,lbj:ubj,0:
n(ng)) )
466 allocate (
ocean(ng) % u_stokes(lbi:ubi,lbj:ubj,
n(ng)) )
469 allocate (
ocean(ng) % v_stokes(lbi:ubi,lbj:ubj,
n(ng)) )
472 allocate (
ocean(ng) % W_stokes(lbi:ubi,lbj:ubj,0:
n(ng)) )
475 allocate (
ocean(ng) % wstvel(lbi:ubi,lbj:ubj,0:
n(ng)) )
480 allocate (
ocean(ng) % uwave(lbi:ubi,lbj:ubj) )
483 allocate (
ocean(ng) % vwave(lbi:ubi,lbj:ubj) )
487# if defined BIO_FENNEL && defined CARBON
488 allocate (
ocean(ng) % pH(lbi:ubi,lbj:ubj) )
493 allocate (
ocean(ng) % CystIni(lbi:ubi,lbj:ubj) )
496 allocate (
ocean(ng) % DIN_obs(lbi:ubi,lbj:ubj,
n(ng)) )
499 allocate (
ocean(ng) % DIN_obsG(lbi:ubi,lbj:ubj,
n(ng),2) )
504 allocate (
ocean(ng) % respiration(lbi:ubi,lbj:ubj,
n(ng)) )
507# ifndef ANA_RESPIRATION
508 allocate (
ocean(ng) % respirationG(lbi:ubi,lbj:ubj,
n(ng),2) )
514#if defined TANGENT || defined TL_IOMS
518 allocate (
ocean(ng) % tl_rubar(lbi:ubi,lbj:ubj,2) )
521 allocate (
ocean(ng) % tl_rvbar(lbi:ubi,lbj:ubj,2) )
524 allocate (
ocean(ng) % tl_rzeta(lbi:ubi,lbj:ubj,2) )
527 allocate (
ocean(ng) % tl_ubar(lbi:ubi,lbj:ubj,3) )
530 allocate (
ocean(ng) % tl_vbar(lbi:ubi,lbj:ubj,3) )
533 allocate (
ocean(ng) % tl_zeta(lbi:ubi,lbj:ubj,3) )
536# if defined TIDE_GENERATING_FORCES
537 allocate (
ocean(ng) % tl_eq_tide(lbi:ubi,lbj:ubj) )
542 allocate (
ocean(ng) % tl_zetat(lbi:ubi,lbj:ubj,3) )
545 allocate (
ocean(ng) % tl_zetaw(lbi:ubi,lbj:ubj,3) )
548 allocate (
ocean(ng) % tl_qsp(lbi:ubi,lbj:ubj,3) )
551 allocate (
ocean(ng) % tl_bh(lbi:ubi,lbj:ubj,3) )
556 allocate (
ocean(ng) % tl_ubar_stokes(lbi:ubi,lbj:ubj) )
559 allocate (
ocean(ng) % tl_vbar_stokes(lbi:ubi,lbj:ubj) )
564 allocate (
ocean(ng) % tl_pden(lbi:ubi,lbj:ubj,
n(ng)) )
567 allocate (
ocean(ng) % tl_rho(lbi:ubi,lbj:ubj,
n(ng)) )
570 allocate (
ocean(ng) % tl_ru(lbi:ubi,lbj:ubj,0:
n(ng),2) )
573 allocate (
ocean(ng) % tl_rv(lbi:ubi,lbj:ubj,0:
n(ng),2) )
576 allocate (
ocean(ng) % tl_t(lbi:ubi,lbj:ubj,
n(ng),3,
nt(ng)) )
579 allocate (
ocean(ng) % tl_u(lbi:ubi,lbj:ubj,
n(ng),2) )
582 allocate (
ocean(ng) % tl_ua(lbi:ubi,lbj:ubj,
n(ng)) )
585 allocate (
ocean(ng) % tl_v(lbi:ubi,lbj:ubj,
n(ng),2) )
588 allocate (
ocean(ng) % tl_va(lbi:ubi,lbj:ubj,
n(ng)) )
591 allocate (
ocean(ng) % tl_W(lbi:ubi,lbj:ubj,0:
n(ng)) )
594# if defined OMEGA_IMPLICIT
595 allocate (
ocean(ng) % tl_Wi(lbi:ubi,lbj:ubj,0:
n(ng)) )
600 allocate (
ocean(ng) % tl_wvel(lbi:ubi,lbj:ubj,0:
n(ng)) )
605 allocate (
ocean(ng) % tl_u_stokes(lbi:ubi,lbj:ubj,
n(ng)) )
608 allocate (
ocean(ng) % tl_v_stokes(lbi:ubi,lbj:ubj,
n(ng)) )
611 allocate (
ocean(ng) % tl_W_stokes(lbi:ubi,lbj:ubj,0:
n(ng)) )
621 allocate (
ocean(ng) % ad_rubar(lbi:ubi,lbj:ubj,2) )
624 allocate (
ocean(ng) % ad_rvbar(lbi:ubi,lbj:ubj,2) )
627 allocate (
ocean(ng) % ad_rzeta(lbi:ubi,lbj:ubj,2) )
630 allocate (
ocean(ng) % ad_ubar(lbi:ubi,lbj:ubj,3) )
633 allocate (
ocean(ng) % ad_vbar(lbi:ubi,lbj:ubj,3) )
636 allocate (
ocean(ng) % ad_zeta(lbi:ubi,lbj:ubj,3) )
639 allocate (
ocean(ng) % ad_ubar_sol(lbi:ubi,lbj:ubj) )
642 allocate (
ocean(ng) % ad_vbar_sol(lbi:ubi,lbj:ubj) )
645 allocate (
ocean(ng) % ad_zeta_sol(lbi:ubi,lbj:ubj) )
648# if defined TIDE_GENERATING_FORCES
649 allocate (
ocean(ng) % ad_eq_tide(lbi:ubi,lbj:ubj) )
654 allocate (
ocean(ng) % ad_zetat(lbi:ubi,lbj:ubj,3) )
657 allocate (
ocean(ng) % ad_zetaw(lbi:ubi,lbj:ubj,3) )
660 allocate (
ocean(ng) % ad_qsp(lbi:ubi,lbj:ubj,3) )
663 allocate (
ocean(ng) % ad_bh(lbi:ubi,lbj:ubj,3) )
668 allocate (
ocean(ng) % ad_ubar_stokes(lbi:ubi,lbj:ubj) )
671 allocate (
ocean(ng) % ad_vbar_stokes(lbi:ubi,lbj:ubj) )
676 allocate (
ocean(ng) % ad_pden(lbi:ubi,lbj:ubj,
n(ng)) )
679 allocate (
ocean(ng) % ad_rho(lbi:ubi,lbj:ubj,
n(ng)) )
682 allocate (
ocean(ng) % ad_ru(lbi:ubi,lbj:ubj,0:
n(ng),2) )
685 allocate (
ocean(ng) % ad_rv(lbi:ubi,lbj:ubj,0:
n(ng),2) )
688 allocate (
ocean(ng) % ad_t(lbi:ubi,lbj:ubj,
n(ng),3,
nt(ng)) )
691 allocate (
ocean(ng) % ad_u(lbi:ubi,lbj:ubj,
n(ng),2) )
694 allocate (
ocean(ng) % ad_ua(lbi:ubi,lbj:ubj,
n(ng)) )
697 allocate (
ocean(ng) % ad_v(lbi:ubi,lbj:ubj,
n(ng),2) )
700 allocate (
ocean(ng) % ad_va(lbi:ubi,lbj:ubj,
n(ng)) )
703 allocate (
ocean(ng) % ad_W(lbi:ubi,lbj:ubj,0:
n(ng)) )
706# if defined OMEGA_IMPLICIT
707 allocate (
ocean(ng) % ad_Wi(lbi:ubi,lbj:ubj,0:
n(ng)) )
711 allocate (
ocean(ng) % ad_wvel(lbi:ubi,lbj:ubj,0:
n(ng)) )
714 allocate (
ocean(ng) % ad_t_sol(lbi:ubi,lbj:ubj,
n(ng),
nt(ng)) )
717 allocate (
ocean(ng) % ad_u_sol(lbi:ubi,lbj:ubj,
n(ng)) )
720 allocate (
ocean(ng) % ad_v_sol(lbi:ubi,lbj:ubj,
n(ng)) )
723 allocate (
ocean(ng) % ad_W_sol(lbi:ubi,lbj:ubj,0:
n(ng)) )
727 allocate (
ocean(ng) % ad_u_stokes(lbi:ubi,lbj:ubj,
n(ng)) )
730 allocate (
ocean(ng) % ad_v_stokes(lbi:ubi,lbj:ubj,
n(ng)) )
733 allocate (
ocean(ng) % ad_W_stokes(lbi:ubi,lbj:ubj,0:
n(ng)) )
739#if defined FOUR_DVAR || defined IMPULSE || \
740 (defined hessian_sv && defined bnorm)
746 allocate (
ocean(ng) % b_ubar(lbi:ubi,lbj:ubj,
nsa) )
749 allocate (
ocean(ng) % b_vbar(lbi:ubi,lbj:ubj,
nsa) )
752 allocate (
ocean(ng) % b_zeta(lbi:ubi,lbj:ubj,
nsa) )
756 allocate (
ocean(ng) % b_t(lbi:ubi,lbj:ubj,
n(ng),
nsa,
nt(ng)) )
759 allocate (
ocean(ng) % b_u(lbi:ubi,lbj:ubj,
n(ng),
nsa) )
762 allocate (
ocean(ng) % b_v(lbi:ubi,lbj:ubj,
n(ng),
nsa) )
766# if defined FOUR_DVAR || (defined HESSIAN_SV && defined BNORM)
767 allocate (
ocean(ng) % d_ubar(lbi:ubi,lbj:ubj) )
770 allocate (
ocean(ng) % d_vbar(lbi:ubi,lbj:ubj) )
773 allocate (
ocean(ng) % d_zeta(lbi:ubi,lbj:ubj) )
777 allocate (
ocean(ng) % d_t(lbi:ubi,lbj:ubj,
n(ng),
nt(ng)) )
780 allocate (
ocean(ng) % d_u(lbi:ubi,lbj:ubj,
n(ng)) )
783 allocate (
ocean(ng) % d_v(lbi:ubi,lbj:ubj,
n(ng)) )
787 allocate (
ocean(ng) % e_ubar(lbi:ubi,lbj:ubj,
nsa) )
790 allocate (
ocean(ng) % e_vbar(lbi:ubi,lbj:ubj,
nsa) )
793 allocate (
ocean(ng) % e_zeta(lbi:ubi,lbj:ubj,
nsa) )
797 allocate (
ocean(ng) % e_t(lbi:ubi,lbj:ubj,
n(ng),
nsa,
nt(ng)) )
800 allocate (
ocean(ng) % e_u(lbi:ubi,lbj:ubj,
n(ng),
nsa) )
803 allocate (
ocean(ng) % e_v(lbi:ubi,lbj:ubj,
n(ng),
nsa) )
807# ifdef WEAK_CONSTRAINT
809 allocate (
ocean(ng) % f_t(lbi:ubi,lbj:ubj,
n(ng),
nt(ng)) )
812 allocate (
ocean(ng) % f_u(lbi:ubi,lbj:ubj,
n(ng)) )
815 allocate (
ocean(ng) % f_v(lbi:ubi,lbj:ubj,
n(ng)) )
818 allocate (
ocean(ng) % f_ubar(lbi:ubi,lbj:ubj) )
821 allocate (
ocean(ng) % f_vbar(lbi:ubi,lbj:ubj) )
824 allocate (
ocean(ng) % f_zeta(lbi:ubi,lbj:ubj) )
828 allocate (
ocean(ng) % f_tS(lbi:ubi,lbj:ubj,
n(ng),
nrectc(ng), &
832 allocate (
ocean(ng) % f_uS(lbi:ubi,lbj:ubj,
n(ng),
nrectc(ng)) )
835 allocate (
ocean(ng) % f_vS(lbi:ubi,lbj:ubj,
n(ng),
nrectc(ng)) )
838 allocate (
ocean(ng) % f_ubarS(lbi:ubi,lbj:ubj,
nrectc(ng)) )
841 allocate (
ocean(ng) % f_vbarS(lbi:ubi,lbj:ubj,
nrectc(ng)) )
844 allocate (
ocean(ng) % f_zetaS(lbi:ubi,lbj:ubj,
nrectc(ng)) )
850#if defined FORCING_SV || defined HESSIAN_FSV
851 allocate (
ocean(ng) % f_ubar(lbi:ubi,lbj:ubj) )
854 allocate (
ocean(ng) % f_vbar(lbi:ubi,lbj:ubj) )
857 allocate (
ocean(ng) % f_zeta(lbi:ubi,lbj:ubj) )
861 allocate (
ocean(ng) % f_t(lbi:ubi,lbj:ubj,
n(ng),
nt(ng)) )
864 allocate (
ocean(ng) % f_u(lbi:ubi,lbj:ubj,
n(ng)) )
867 allocate (
ocean(ng) % f_v(lbi:ubi,lbj:ubj,
n(ng)) )
872#if defined FORWARD_READ && \
873 (defined tangent || defined tl_ioms || defined adjoint)
879 allocate (
ocean(ng) % rubarG(lbi:ubi,lbj:ubj,2) )
882 allocate (
ocean(ng) % rvbarG(lbi:ubi,lbj:ubj,2) )
885 allocate (
ocean(ng) % rzetaG(lbi:ubi,lbj:ubj,2) )
888 allocate (
ocean(ng) % ubarG(lbi:ubi,lbj:ubj,2) )
891 allocate (
ocean(ng) % vbarG(lbi:ubi,lbj:ubj,2) )
894 allocate (
ocean(ng) % zetaG(lbi:ubi,lbj:ubj,2) )
899 allocate (
ocean(ng) % ruG(lbi:ubi,lbj:ubj,0:
n(ng),2) )
902 allocate (
ocean(ng) % rvG(lbi:ubi,lbj:ubj,0:
n(ng),2) )
905 allocate (
ocean(ng) % tG(lbi:ubi,lbj:ubj,
n(ng),2,
nt(ng)) )
908 allocate (
ocean(ng) % uG(lbi:ubi,lbj:ubj,
n(ng),2) )
911 allocate (
ocean(ng) % vG(lbi:ubi,lbj:ubj,
n(ng),2) )
915# ifdef WEAK_CONSTRAINT
917 allocate (
ocean(ng) % f_tG(lbi:ubi,lbj:ubj,
n(ng),2,
nt(ng)) )
920 allocate (
ocean(ng) % f_uG(lbi:ubi,lbj:ubj,
n(ng),2) )
923 allocate (
ocean(ng) % f_vG(lbi:ubi,lbj:ubj,
n(ng),2) )
926 allocate (
ocean(ng) % f_ubarG(lbi:ubi,lbj:ubj,2) )
929 allocate (
ocean(ng) % f_vbarG(lbi:ubi,lbj:ubj,2) )
932 allocate (
ocean(ng) % f_zetaG(lbi:ubi,lbj:ubj,2) )
1541 integer,
intent(in) :: ng, tile, model
1545 integer :: imin, imax, jmin, jmax
1546 integer :: i, j, rec
1551 real(
r8),
parameter :: inival = 0.0_r8
1553#include "set_bounds.h"
1558 imin=
bounds(ng)%LBi(tile)
1559 imax=
bounds(ng)%UBi(tile)
1560 jmin=
bounds(ng)%LBj(tile)
1561 jmax=
bounds(ng)%UBj(tile)
1563 IF (
domain(ng)%Western_Edge(tile))
THEN
1564 imin=
bounds(ng)%LBi(tile)
1568 IF (
domain(ng)%Eastern_Edge(tile))
THEN
1569 imax=
bounds(ng)%UBi(tile)
1573 IF (
domain(ng)%Southern_Edge(tile))
THEN
1574 jmin=
bounds(ng)%LBj(tile)
1578 IF (
domain(ng)%Northern_Edge(tile))
THEN
1579 jmax=
bounds(ng)%UBj(tile)
1591 IF ((model.eq.0).or.(model.eq.
inlm))
THEN
1594 ocean(ng) % rubar(i,j,1) = inival
1595 ocean(ng) % rubar(i,j,2) = inival
1596 ocean(ng) % rvbar(i,j,1) = inival
1597 ocean(ng) % rvbar(i,j,2) = inival
1598 ocean(ng) % rzeta(i,j,1) = inival
1599 ocean(ng) % rzeta(i,j,2) = inival
1601 ocean(ng) % ubar(i,j,1) = inival
1602 ocean(ng) % ubar(i,j,2) = inival
1603 ocean(ng) % ubar(i,j,3) = inival
1604 ocean(ng) % vbar(i,j,1) = inival
1605 ocean(ng) % vbar(i,j,2) = inival
1606 ocean(ng) % vbar(i,j,3) = inival
1607 ocean(ng) % zeta(i,j,1) = inival
1608 ocean(ng) % zeta(i,j,2) = inival
1609 ocean(ng) % zeta(i,j,3) = inival
1610#if defined TIDE_GENERATING_FORCES
1611 ocean(ng) % eq_tide(i,j) = inival
1614 ocean(ng) % zetat(i,j) = inival
1615 ocean(ng) % zetaw(i,j) = inival
1616 ocean(ng) % qsp(i,j) = inival
1617 ocean(ng) % bh(i,j) = inival
1620 ocean(ng) % ubar_stokes(i,j) = inival
1621 ocean(ng) % vbar_stokes(i,j) = inival
1624 ocean(ng) % uwave(i,j) = inival
1625 ocean(ng) % vwave(i,j) = inival
1627#if defined BIO_FENNEL && defined CARBON && defined SOLVE3D
1628 ocean(ng) % pH(i,j) = 8.0_r8
1631 ocean(ng) % CystIni(i,j) = inival
1637 ocean(ng) % pden(i,j,k) = inival
1638 ocean(ng) % rho(i,j,k) = inival
1640 ocean(ng) % u(i,j,k,1) = inival
1641 ocean(ng) % u(i,j,k,2) = inival
1642 ocean(ng) % ua(i,j,k) = inival
1643 ocean(ng) % v(i,j,k,1) = inival
1644 ocean(ng) % v(i,j,k,2) = inival
1645 ocean(ng) % va(i,j,k) = inival
1647 ocean(ng) % u_stokes(i,j,k) = inival
1648 ocean(ng) % v_stokes(i,j,k) = inival
1651 ocean(ng) % DIN_obs(i,j,k) = inival
1652 ocean(ng) % DIN_obsG(i,j,k,1) = inival
1653 ocean(ng) % DIN_obsG(i,j,k,2) = inival
1656 ocean(ng) % respiration(i,j,k) = inival
1657# ifndef ANA_RESPIRATION
1658 ocean(ng) % respirationG(i,j,k,1) = inival
1659 ocean(ng) % respirationG(i,j,k,2) = inival
1666 ocean(ng) % ru(i,j,k,1) = inival
1667 ocean(ng) % ru(i,j,k,2) = inival
1668 ocean(ng) % rv(i,j,k,1) = inival
1669 ocean(ng) % rv(i,j,k,2) = inival
1671 ocean(ng) % W(i,j,k) = inival
1672# if defined OMEGA_IMPLICIT
1673 ocean(ng) % Wi(i,j,k) = inival
1675 ocean(ng) % wvel(i,j,k) = inival
1677 ocean(ng) % W_stokes(i,j,k) = inival
1678 ocean(ng) % wstvel(i,j,k) = inival
1685 ocean(ng) % t(i,j,k,1,itrc) = inival
1686 ocean(ng) % t(i,j,k,2,itrc) = inival
1687 ocean(ng) % t(i,j,k,3,itrc) = inival
1695#if defined TANGENT || defined TL_IOMS
1699 IF ((model.eq.0).or.(model.eq.
itlm).or.(model.eq.
irpm))
THEN
1702 ocean(ng) % tl_rubar(i,j,1) = inival
1703 ocean(ng) % tl_rubar(i,j,2) = inival
1704 ocean(ng) % tl_rvbar(i,j,1) = inival
1705 ocean(ng) % tl_rvbar(i,j,2) = inival
1706 ocean(ng) % tl_rzeta(i,j,1) = inival
1707 ocean(ng) % tl_rzeta(i,j,2) = inival
1709 ocean(ng) % tl_ubar(i,j,1) = inival
1710 ocean(ng) % tl_ubar(i,j,2) = inival
1711 ocean(ng) % tl_ubar(i,j,3) = inival
1712 ocean(ng) % tl_vbar(i,j,1) = inival
1713 ocean(ng) % tl_vbar(i,j,2) = inival
1714 ocean(ng) % tl_vbar(i,j,3) = inival
1715 ocean(ng) % tl_zeta(i,j,1) = inival
1716 ocean(ng) % tl_zeta(i,j,2) = inival
1717 ocean(ng) % tl_zeta(i,j,3) = inival
1719# if defined TIDE_GENERATING_FORCES
1720 ocean(ng) % tl_eq_tide(i,j) = inival
1723# if defined FORCING_SV || defined HESSIAN_FSV
1724 ocean(ng) % f_ubar(i,j) = inival
1725 ocean(ng) % f_vbar(i,j) = inival
1726 ocean(ng) % f_zeta(i,j) = inival
1730 ocean(ng) % tl_zetat(i,j) = inival
1731 ocean(ng) % tl_zetaw(i,j) = inival
1732 ocean(ng) % tl_qsp(i,j) = inival
1733 ocean(ng) % tl_bh(i,j) = inival
1737 ocean(ng) % tl_ubar_stokes(i,j) = inival
1738 ocean(ng) % tl_vbar_stokes(i,j) = inival
1744 ocean(ng) % tl_pden(i,j,k) = inival
1745 ocean(ng) % tl_rho(i,j,k) = inival
1747 ocean(ng) % tl_u(i,j,k,1) = inival
1748 ocean(ng) % tl_u(i,j,k,2) = inival
1749 ocean(ng) % tl_ua(i,j,k) = inival
1750 ocean(ng) % tl_v(i,j,k,1) = inival
1751 ocean(ng) % tl_v(i,j,k,2) = inival
1752 ocean(ng) % tl_va(i,j,k) = inival
1753# if defined FORCING_SV || defined HESSIAN_FSV
1754 ocean(ng) % f_u(i,j,k) = inival
1755 ocean(ng) % f_v(i,j,k) = inival
1758 ocean(ng) % tl_u_stokes(i,j,k) = inival
1759 ocean(ng) % tl_v_stokes(i,j,k) = inival
1765 ocean(ng) % tl_ru(i,j,k,1) = inival
1766 ocean(ng) % tl_ru(i,j,k,2) = inival
1767 ocean(ng) % tl_rv(i,j,k,1) = inival
1768 ocean(ng) % tl_rv(i,j,k,2) = inival
1770 ocean(ng) % tl_W(i,j,k) = inival
1771# if defined OMEGA_IMPLICIT
1772 ocean(ng) % tl_Wi(i,j,k) = inival
1775 ocean(ng) % tl_wvel(i,j,k) = inival
1778 ocean(ng) % tl_W_stokes(i,j,k) = inival
1785 ocean(ng) % tl_t(i,j,k,1,itrc) = inival
1786 ocean(ng) % tl_t(i,j,k,2,itrc) = inival
1787 ocean(ng) % tl_t(i,j,k,3,itrc) = inival
1788# if defined FORCING_SV || defined HESSIAN_FSV
1789 ocean(ng) % f_t(i,j,k,itrc) = inival
1803 IF ((model.eq.0).or.(model.eq.
iadm))
THEN
1806 ocean(ng) % ad_rubar(i,j,1) = inival
1807 ocean(ng) % ad_rubar(i,j,2) = inival
1808 ocean(ng) % ad_rvbar(i,j,1) = inival
1809 ocean(ng) % ad_rvbar(i,j,2) = inival
1810 ocean(ng) % ad_rzeta(i,j,1) = inival
1811 ocean(ng) % ad_rzeta(i,j,2) = inival
1813 ocean(ng) % ad_ubar(i,j,1) = inival
1814 ocean(ng) % ad_ubar(i,j,2) = inival
1815 ocean(ng) % ad_ubar(i,j,3) = inival
1816 ocean(ng) % ad_vbar(i,j,1) = inival
1817 ocean(ng) % ad_vbar(i,j,2) = inival
1818 ocean(ng) % ad_vbar(i,j,3) = inival
1819 ocean(ng) % ad_zeta(i,j,1) = inival
1820 ocean(ng) % ad_zeta(i,j,2) = inival
1821 ocean(ng) % ad_zeta(i,j,3) = inival
1823# if defined TIDE_GENERATING_FORCES
1824 ocean(ng) % ad_eq_tide(i,j) = inival
1827# if defined FORCING_SV | defined HESSIAN_FSV
1828 ocean(ng) % f_ubar(i,j) = inival
1829 ocean(ng) % f_vbar(i,j) = inival
1830 ocean(ng) % f_zeta(i,j) = inival
1833 ocean(ng) % ad_ubar_sol(i,j) = inival
1834 ocean(ng) % ad_vbar_sol(i,j) = inival
1835 ocean(ng) % ad_zeta_sol(i,j) = inival
1838 ocean(ng) % ad_zetat(i,j) = inival
1839 ocean(ng) % ad_zetaw(i,j) = inival
1840 ocean(ng) % ad_qsp(i,j) = inival
1841 ocean(ng) % ad_bh(i,j) = inival
1845 ocean(ng) % ad_ubar_stokes(i,j) = inival
1846 ocean(ng) % ad_vbar_stokes(i,j) = inival
1852 ocean(ng) % ad_pden(i,j,k) = inival
1853 ocean(ng) % ad_rho(i,j,k) = inival
1855 ocean(ng) % ad_u(i,j,k,1) = inival
1856 ocean(ng) % ad_u(i,j,k,2) = inival
1857 ocean(ng) % ad_ua(i,j,k) = inival
1858 ocean(ng) % ad_v(i,j,k,1) = inival
1859 ocean(ng) % ad_v(i,j,k,2) = inival
1860 ocean(ng) % ad_va(i,j,k) = inival
1861 ocean(ng) % ad_u_sol(i,j,k) = inival
1862 ocean(ng) % ad_v_sol(i,j,k) = inival
1863# if defined FORCING_SV || defined HESSIAN_FSV
1864 ocean(ng) % f_u(i,j,k) = inival
1865 ocean(ng) % f_v(i,j,k) = inival
1868 ocean(ng) % ad_u_stokes(i,j,k) = inival
1869 ocean(ng) % ad_v_stokes(i,j,k) = inival
1875 ocean(ng) % ad_ru(i,j,k,1) = inival
1876 ocean(ng) % ad_ru(i,j,k,2) = inival
1877 ocean(ng) % ad_rv(i,j,k,1) = inival
1878 ocean(ng) % ad_rv(i,j,k,2) = inival
1880 ocean(ng) % ad_W(i,j,k) = inival
1881 ocean(ng) % ad_W_sol(i,j,k) = inival
1882# if defined OMEGA_IMPLICIT
1883 ocean(ng) % ad_Wi(i,j,k) = inival
1885 ocean(ng) % ad_wvel(i,j,k) = inival
1887 ocean(ng) % ad_W_stokes(i,j,k) = inival
1894 ocean(ng) % ad_t(i,j,k,1,itrc) = inival
1895 ocean(ng) % ad_t(i,j,k,2,itrc) = inival
1896 ocean(ng) % ad_t(i,j,k,3,itrc) = inival
1897 ocean(ng) % ad_t_sol(i,j,k,itrc) = inival
1898# if defined FORCING_SV || defined HESSIAN_FSV
1899 ocean(ng) % f_t(i,j,k,itrc) = inival
1909#if defined FOUR_DVAR || defined IMPULSE || \
1910 (defined hessian_sv && defined bnorm)
1916 IF (model.eq.0)
THEN
1920 ocean(ng) % b_ubar(i,j,rec) = inival
1921 ocean(ng) % b_vbar(i,j,rec) = inival
1922 ocean(ng) % b_zeta(i,j,rec) = inival
1923# if defined FOUR_DVAR || (defined HESSIAN_SV && defined BNORM)
1924 ocean(ng) % e_ubar(i,j,rec) = inival
1925 ocean(ng) % e_vbar(i,j,rec) = inival
1926 ocean(ng) % e_zeta(i,j,rec) = inival
1932 ocean(ng) % d_ubar(i,j) = inival
1933 ocean(ng) % d_vbar(i,j) = inival
1934 ocean(ng) % d_zeta(i,j) = inival
1936# ifdef WEAK_CONSTRAINT
1937 ocean(ng) % f_ubar(i,j) = inival
1938 ocean(ng) % f_vbar(i,j) = inival
1939 ocean(ng) % f_zeta(i,j) = inival
1947 ocean(ng) % b_u(i,j,k,rec) = inival
1948 ocean(ng) % b_v(i,j,k,rec) = inival
1950 ocean(ng) % e_u(i,j,k,rec) = inival
1951 ocean(ng) % e_v(i,j,k,rec) = inival
1959 ocean(ng) % d_u(i,j,k) = inival
1960 ocean(ng) % d_v(i,j,k) = inival
1962# ifdef WEAK_CONSTRAINT
1963 ocean(ng) % f_u(i,j,k) = inival
1964 ocean(ng) % f_v(i,j,k) = inival
1973 ocean(ng) % b_t(i,j,k,rec,itrc) = inival
1975 ocean(ng) % e_t(i,j,k,rec,itrc) = inival
1983 ocean(ng) % d_t(i,j,k,itrc) = inival
1985# ifdef WEAK_CONSTRAINT
1986 ocean(ng) % f_t(i,j,k,itrc) = inival
1993# if defined TIME_CONV && defined WEAK_CONSTRAINT
1996 ocean(ng) % f_ubarS(i,j,rec) = inival
1997 ocean(ng) % f_zetaS(i,j,rec) = inival
1998 ocean(ng) % f_vbarS(i,j,rec) = inival
2005 ocean(ng) % f_uS(i,j,k,rec) = inival
2006 ocean(ng) % f_vS(i,j,k,rec) = inival
2014 ocean(ng) % f_tS(i,j,k,rec,itrc) = inival
2025#if defined FORWARD_READ && \
2026 (defined tangent || defined tl_ioms || defined adjoint)
2031 IF (model.eq.0)
THEN
2035 ocean(ng) % rubarG(i,j,1) = inival
2036 ocean(ng) % rubarG(i,j,2) = inival
2037 ocean(ng) % rvbarG(i,j,1) = inival
2038 ocean(ng) % rvbarG(i,j,2) = inival
2039 ocean(ng) % rzetaG(i,j,1) = inival
2040 ocean(ng) % rzetaG(i,j,2) = inival
2042 ocean(ng) % ubarG(i,j,1) = inival
2043 ocean(ng) % ubarG(i,j,2) = inival
2044 ocean(ng) % vbarG(i,j,1) = inival
2045 ocean(ng) % vbarG(i,j,2) = inival
2046 ocean(ng) % zetaG(i,j,1) = inival
2047 ocean(ng) % zetaG(i,j,2) = inival
2048# ifdef WEAK_CONSTRAINT
2049 ocean(ng) % f_zetaG(i,j,1) = inival
2050 ocean(ng) % f_zetaG(i,j,2) = inival
2051 ocean(ng) % f_ubarG(i,j,1) = inival
2052 ocean(ng) % f_ubarG(i,j,2) = inival
2053 ocean(ng) % f_vbarG(i,j,1) = inival
2054 ocean(ng) % f_vbarG(i,j,2) = inival
2060 ocean(ng) % uG(i,j,k,1) = inival
2061 ocean(ng) % uG(i,j,k,2) = inival
2062 ocean(ng) % vG(i,j,k,1) = inival
2063 ocean(ng) % vG(i,j,k,2) = inival
2064# ifdef WEAK_CONSTRAINT
2065 ocean(ng) % f_uG(i,j,k,1) = inival
2066 ocean(ng) % f_uG(i,j,k,2) = inival
2067 ocean(ng) % f_vG(i,j,k,1) = inival
2068 ocean(ng) % f_vG(i,j,k,2) = inival
2075 ocean(ng) % ruG(i,j,k,1) = inival
2076 ocean(ng) % ruG(i,j,k,2) = inival
2077 ocean(ng) % rvG(i,j,k,1) = inival
2078 ocean(ng) % rvG(i,j,k,2) = inival
2085 ocean(ng) % tG(i,j,k,1,itrc) = inival
2086 ocean(ng) % tG(i,j,k,2,itrc) = inival
2087# ifdef WEAK_CONSTRAINT
2088 ocean(ng) % f_tG(i,j,k,1,itrc) = inival
2089 ocean(ng) % f_tG(i,j,k,2,itrc) = inival