C $Header: /u/gcmpack/MITgcm/pkg/cost/cost_init_varia.F,v 1.16 2014/09/14 15:21:13 gforget Exp $
C $Name: $
#include "COST_OPTIONS.h"
SUBROUTINE COST_INIT_VARIA( mythid )
c ==================================================================
c SUBROUTINE cost_init_varia
c ==================================================================
c
c o Initialise the variable cost function part.
c
c started: Christian Eckert eckert@mit.edu 30-Jun-1999
c
c changed: Christian Eckert eckert@mit.edu 18-Apr-2000
c
c - Restructured the code in order to create a package
c for the MITgcmUV.
c
c ==================================================================
c SUBROUTINE cost_init_varia
c ==================================================================
implicit none
c == global variables ==
#include "EEPARAMS.h"
#include "SIZE.h"
#include "cost.h"
c == routine arguments ==
integer mythid
c == local variables ==
integer i,j,k
integer bi,bj
integer itlo,ithi
integer jtlo,jthi
c == external functions ==
c == end of interface ==
jtlo = mybylo(mythid)
jthi = mybyhi(mythid)
itlo = mybxlo(mythid)
ithi = mybxhi(mythid)
c-- Initialize the tiled cost function contributions.
do bj = jtlo,jthi
do bi = itlo,ithi
tile_fc(bi,bj) = 0. _d 0
#if ( !defined (ALLOW_ECCO) || !defined (ALLOW_COST_ATLANTIC) )
objf_atl(bi,bj) = 0. _d 0
#endif
objf_test(bi,bj) = 0. _d 0
objf_tracer(bi,bj) = 0. _d 0
#ifdef ALLOW_COST_TRANSPORT
objf_transport(bi,bj) = 0. _d 0
#endif
#ifdef ALLOW_COST_DEPTH
objf_depth(bi,bj) = 0. _d 0
#endif
#ifdef ALLOW_COST_VECTOR
do i=1,sNx
objf_vector(i,bi,bj) = 0. _d 0
end
do
#endif
c
#ifdef ALLOW_COST
do k=1,Nr
do j=1,sNy
do i=1,sNx
cMeanTheta(i,j,k,bi,bj) = 0. _d 0
cMeanUVel(i,j,k,bi,bj) = 0. _d 0
cMeanVVel(i,j,k,bi,bj) = 0. _d 0
cMeanThetaUVel(i,j,k,bi,bj) = 0. _d 0
cMeanThetaVVel(i,j,k,bi,bj) = 0. _d 0
end
do
end
do
end
do
#endif
c
#ifdef ALLOW_COST_STATE_FINAL
do j=1,sNy
do i=1,sNx
do k=1,4*Nr
objf_state_final(i,j,bi,bj,k) = 0. _d 0
enddo
objf_state_final(i,j,bi,bj,4*Nr+1) = 0. _d 0
cph No init. of cost_state_final here,
cph because we need it in ADM*TLM
end
do
end
do
#endif
enddo
enddo
#ifdef ALLOW_SEAICE
call SEAICE_COST_INIT_VARIA( mythid )
#endif
#ifdef ALLOW_THSICE
call THSICE_COST_INIT_VARIA( mythid )
#endif
c-- Initialise the "global" parts of the cost function.
_BEGIN_MASTER( mythid )
fc = 0. _d 0
glofc = 0. _d 0
_END_MASTER( mythid )
_BARRIER
RETURN
END