C $Header: /u/gcmpack/MITgcm/pkg/cost/cost_dependent_init.F,v 1.14 2014/04/04 21:04:47 jmc Exp $ C $Name: $ #include "COST_OPTIONS.h" subroutine COST_DEPENDENT_INIT( mythid ) c ================================================================== c SUBROUTINE cost_dependent_init c ================================================================== c c o Initialise the variable ad cost function part. c c started: heimbach@mit.edu 17-Jan-2002 c c ================================================================== c SUBROUTINE cost_dependent_init c ================================================================== implicit none c == global variables == #include "EEPARAMS.h" #include "SIZE.h" #include "cost.h" #include "adcost.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) #ifdef ALLOW_OPENAD fcv = 0.0 #else fc = 0. _d 0 #endif #ifdef ALLOW_AUTODIFF #ifdef ALLOW_OPENAD adfc = 1.0 #else if ( myProcId .EQ. 0 ) then adfc = 1. _d 0 endif #endif do bj = jtlo,jthi do bi = itlo,ithi #ifdef ALLOW_COST_VECTOR do i=1,sNx objf_vector(i,bi,bj) = 0. _d 0 adobjf_vector(i,bi,bj) = 1. _d 0 end
do #endif #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 #endif /* ALLOW_AUTODIFF */ return end