Back to home page

MITgcm

 
 

    


File indexing completed on 2023-02-07 06:09:56 UTC

view on githubraw file Latest commit 2b959ba3 on 2023-02-06 20:20:10 UTC
8f7d13d0c9 Jean*0001 #include "ECCO_OPTIONS.h"
eeb122d4c4 Jean*0002 #include "AD_CONFIG.h"
6b47d550f4 Mart*0003 #ifdef ALLOW_CTRL
                0004 # include "CTRL_OPTIONS.h"
                0005 #endif
5001c65f45 Patr*0006 
0a1233e81a Ou W*0007 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0008 CBOP
                0009 C     !ROUTINE: ECCO_COST_INIT_VARIA
5001c65f45 Patr*0010 
0a1233e81a Ou W*0011 C     !INTERFACE:
                0012       SUBROUTINE ECCO_COST_INIT_VARIA( myThid )
5001c65f45 Patr*0013 
0a1233e81a Ou W*0014 C     !DESCRIPTION:
                0015 c     o Initialise the variable cost function part.
5001c65f45 Patr*0016 
0a1233e81a Ou W*0017 C     !USES:
                0018       IMPLICIT NONE
                0019 C     == Global variables ===
5001c65f45 Patr*0020 #include "EEPARAMS.h"
                0021 #include "SIZE.h"
                0022 #include "GRID.h"
0a1233e81a Ou W*0023 #include "ECCO_SIZE.h"
                0024 #include "ECCO.h"
c509d7e04a Gael*0025 #ifdef ALLOW_CTRL
                0026 # include "CTRL_OBCS.h"
                0027 #endif
960ed3a8f0 Gael*0028 #ifdef ALLOW_COST
                0029 # include "cost.h"
                0030 #endif
5001c65f45 Patr*0031 
0a1233e81a Ou W*0032 C     !INPUT/OUTPUT PARAMETERS:
                0033       INTEGER myThid
5001c65f45 Patr*0034 
0a1233e81a Ou W*0035 C     !LOCAL VARIABLES:
                0036       INTEGER bi, bj
                0037       INTEGER i, j, k
                0038 C     LOGICAL exst
                0039 CEOP
5001c65f45 Patr*0040 
0a1233e81a Ou W*0041 C--   Initialise adjoint of monthly mean files calculated
                0042 C--   in cost_averagesfields (and their ad...).
                0043       CALL COST_AVERAGESINIT( myThid )
5001c65f45 Patr*0044       _BARRIER
c9dc83bee0 Patr*0045 
                0046 #ifndef ALLOW_TANGENTLINEAR_RUN
5001c65f45 Patr*0047 cph(
                0048 cph   The following init. shoud not be applied if in the middle
                0049 cph   of a divided adjoint run
                0050 cph)
0a1233e81a Ou W*0051 c      INQUIRE( FILE='costfinal', EXIST=exst )
                0052 c      IF ( .NOT. exst) THEN
                0053 c        CALL ECCO_COST_INIT_BARFILES( myThid )
                0054 c      ENDIF
5001c65f45 Patr*0055 #endif
                0056 
0a1233e81a Ou W*0057 C--   Initialize the tiled cost function contributions.
                0058       DO bj = myByLo(myThid), myByHi(myThid)
                0059         DO bi = myBxLo(myThid), myBxHi(myThid)
b0f9ab3790 Gael*0060 
                0061 #ifdef ALLOW_GENCOST_CONTRIBUTION
0a1233e81a Ou W*0062           DO k=1,NGENCOST
                0063             objf_gencost(bi,bj,k) = 0. _d 0
                0064             num_gencost(bi,bj,k)  = 0. _d 0
                0065           ENDDO
b0f9ab3790 Gael*0066 #endif
4a92b84dd2 Gael*0067 
b0f9ab3790 Gael*0068 #if (defined (ALLOW_CTRL) && defined (ALLOW_OBCS))
0a1233e81a Ou W*0069           objf_obcsn(bi,bj) = 0. _d 0
                0070           objf_obcss(bi,bj) = 0. _d 0
                0071           objf_obcsw(bi,bj) = 0. _d 0
                0072           objf_obcse(bi,bj) = 0. _d 0
                0073           objf_ageos(bi,bj) = 0. _d 0
                0074           num_obcsn(bi,bj)  = 0. _d 0
                0075           num_obcss(bi,bj)  = 0. _d 0
                0076           num_obcsw(bi,bj)  = 0. _d 0
                0077           num_obcse(bi,bj)  = 0. _d 0
                0078           num_ageos(bi,bj)  = 0. _d 0
b0f9ab3790 Gael*0079 #endif
                0080 
0a1233e81a Ou W*0081         ENDDO
                0082       ENDDO
4a92b84dd2 Gael*0083 
0a1233e81a Ou W*0084       _BEGIN_MASTER( myThid )
                0085       DO j=1-OLy,sNy+OLy
                0086         DO i=1-OLx,sNx+OLx
                0087           frame(i,j) = 1. _d 0
                0088         ENDDO
                0089       ENDDO
                0090       _END_MASTER( myThid )
5001c65f45 Patr*0091 
0a1233e81a Ou W*0092 C--   Initialise the "global" parts of the cost function.
b0f9ab3790 Gael*0093 #if (defined (ALLOW_CTRL) && defined (ALLOW_OBCS))
9f5240b52a Jean*0094       _BEGIN_MASTER( myThid )
b0f9ab3790 Gael*0095         objf_obcsvol = 0. _d 0
                0096         num_obcsvol = 0. _d 0
9f5240b52a Jean*0097       _END_MASTER( myThid )
b0f9ab3790 Gael*0098 #endif
                0099 
5001c65f45 Patr*0100       _BARRIER
                0101 
6b47d550f4 Mart*0102       RETURN
                0103       END