/[MITgcm]/MITgcm/verification/isomip/code_ad/cost_test.F
ViewVC logotype

Contents of /MITgcm/verification/isomip/code_ad/cost_test.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (show annotations) (download)
Sun Aug 12 01:32:50 2012 UTC (11 years, 8 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64o, checkpoint64a, checkpoint63r, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint64n, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64c, checkpoint64g, checkpoint64f, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint64i, checkpoint64h, checkpoint63s, checkpoint64k, checkpoint64, checkpoint65, checkpoint64j, checkpoint64m, checkpoint64l, HEAD
Changes since 1.1: +19 -21 lines
- includes COST_OPTIONS.h (previously CPP_OPTIONS.h) like in pkg/ctrl version
- improve argument list description

1 C $Header: /u/gcmpack/MITgcm/verification/isomip/code_ad/cost_test.F,v 1.1 2012/01/06 13:01:09 heimbach Exp $
2 C $Name: $
3
4 #include "COST_OPTIONS.h"
5
6 subroutine cost_test( myThid )
7 C *==========================================================*
8 C | subroutine cost_test
9 C | o this routine computes the cost function for the tiles
10 C | of this processor
11 C *==========================================================*
12 C | Notes
13 C *==========================================================*
14 IMPLICIT NONE
15
16 C == Global variables ===
17 #include "SIZE.h"
18 #include "EEPARAMS.h"
19 #include "PARAMS.h"
20 #include "DYNVARS.h"
21 #include "GRID.h"
22
23 #include "cost.h"
24
25 C == Routine arguments ==
26 C myThid - Thread number for this instance of the routine.
27 integer myThid
28
29 #ifdef ALLOW_COST_TEST
30 C == Local variables
31 integer bi, bj
32 _RL thetaRef
33 integer i, j, k
34 integer ig, jg
35 integer itlo,ithi
36 integer jtlo,jthi
37 c _RL thetaLev(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
38
39 jtlo = mybylo(mythid)
40 jthi = mybyhi(mythid)
41 itlo = mybxlo(mythid)
42 ithi = mybxhi(mythid)
43
44 if ( useCubedSphereExchange) then
45 iLocOut = 7
46 jLocOut = 28
47 kLocOut = 1
48 else
49 iLocOut = 80
50 jLocOut = 30
51 kLocOut = 1
52 endif
53
54 c CALL READ_FLD_XYZ_RL( hydrogThetaFile, ' ', thetaLev, 0, myThid )
55
56 ce some reference temperature
57 thetaRef = 24.0 _d 0
58
59 C-- Calculate mask for tracer cells (0 => land, 1 => water)
60 k=1
61
62 C-- Calculate cost function on tile of this instance
63 do bj = jtlo,jthi
64 do bi = itlo,ithi
65 do j=1,sNy
66 jg = myYGlobalLo-1+(bj-1)*sNy+j
67 do i=1,sNx
68 ig = myXGlobalLo-1+(bi-1)*sNx+i
69
70 #ifndef ALLOW_COST_TSQUARED
71 if ((ig .eq. iLocOut) .and. (jg .eq. jLocOut)) then
72 write(*,'(a,3(x,i4),a,4(x,i4))')
73 & 'COST ',ig,jg,kLocOut,' TILE ',i,j,bi,bj
74 objf_test(bi,bj) = theta(i,j,kLocOut,bi,bj)
75 cph(
76 print *, 'ph-cost ', ig, jg, kLocOut,
77 & theta(i,j,kLocOut,bi,bj)
78 cph)
79 endif
80 #else
81 do k=1,nr
82 if (maskC(i,j,k,bi,bj).NE.0.) then
83 objf_test(bi,bj) = objf_test(bi,bj) +
84 & ( theta(i,j,k,bi,bj) )**2
85 endif
86 enddo
87 #endif
88
89 enddo
90 enddo
91 enddo
92 enddo
93
94 #endif /* ALLOW_COST_TEST */
95
96 RETURN
97 END

  ViewVC Help
Powered by ViewVC 1.1.22