/[MITgcm]/MITgcm/verification/hs94.1x64x5/code_ad/ctrl_map_gentim2d.F
ViewVC logotype

Contents of /MITgcm/verification/hs94.1x64x5/code_ad/ctrl_map_gentim2d.F

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


Revision 1.1 - (show annotations) (download)
Tue Feb 5 14:40:34 2013 UTC (11 years, 3 months ago) by gforget
Branch: MAIN
CVS Tags: checkpoint64e, checkpoint64d
- activate ALLOW_GENTIM2D_CONTROL that can now be
  gradient checked by setting grdchkvarindex to 301

1 C $Header: /u/gcmpack/MITgcm/pkg/ctrl/ctrl_map_gentim2d.F,v 1.2 2013/02/02 23:26:57 jmc Exp $
2 C $Name: $
3
4 #include "CTRL_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: CTRL_MAP_GENTIM2D
8 C !INTERFACE:
9 SUBROUTINE CTRL_MAP_GENTIM2D(
10 I myTime, myIter, myThid )
11 C !DESCRIPTION: \bv
12 C *=============================================================*
13 C | S/R CTRL_MAP_GENTIM2D
14 C *=============================================================*
15
16 C !USES:
17 IMPLICIT NONE
18
19 C === Global variables ===
20 #include "SIZE.h"
21 #include "EEPARAMS.h"
22 #include "PARAMS.h"
23 #include "FFIELDS.h"
24 #include "DYNVARS.h"
25 #include "GRID.h"
26 #include "CTRL_SIZE.h"
27 #include "ctrl.h"
28 #include "CTRL_GENARR.h"
29 #include "ctrl_dummy.h"
30 #include "optim.h"
31 #ifdef ALLOW_AUTODIFF
32 #include "AUTODIFF_MYFIELDS.h"
33 #endif
34
35 C !INPUT/OUTPUT PARAMETERS:
36 C === Routine arguments ===
37 C myIter :: iteration counter for this thread
38 C myTime :: time counter for this thread
39 C myThid :: thread number for this instance of the routine.
40 _RL myTime
41 INTEGER myIter
42 INTEGER myThid
43
44 C !LOCAL VARIABLES:
45 C == Local variables ==
46 integer bi,bj
47 integer i,j,k
48 integer itlo,ithi
49 integer jtlo,jthi
50 integer jmin,jmax
51 integer imin,imax
52 integer il
53 integer iarr
54
55 logical equal
56 logical doglobalread
57 logical ladinit
58 character*( 80) fnamegeneric
59
60 _RL fac
61 _RL xx_gentim2d_loc(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
62
63 c == external ==
64 integer ilnblnk
65 external ilnblnk
66 CEOP
67
68 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
69
70 #ifdef ALLOW_GENTIM2D_CONTROL
71 C-- An example of connecting specific fields
72 C-- to generic time-varying 2D control arrays
73 cph--->>>
74 cph--->>> COMPILE FAILURE IS DELIBERATE
75 cph--->>> BE SURE WHAT YOU ARE DOING AND CUSTOMIZE <<<---
76 cph--->>>
77 C-- generic - user-defined control vars
78 DO iarr = 1, maxCtrlTim2D
79
80 DO bj = myByLo(myThid), myByHi(myThid)
81 DO bi = myBxLo(myThid), myBxHi(myThid)
82 DO J = 1-Oly,sNy+Oly
83 DO I = 1-Olx,sNx+Olx
84 xx_gentim2d_loc(I,J,bi,bj) = 0. _d 0
85 ENDDO
86 ENDDO
87 ENDDO
88 ENDDO
89 C
90 CALL CTRL_GET_GEN (
91 I xx_gentim2d_file(iarr)(1:MAX_LEN_FNAM),
92 I xx_gentim2d_startdate(1,iarr),
93 I xx_gentim2d_period(iarr),
94 I maskC,
95 O xx_gentim2d_loc,
96 I xx_gentim2d0(1-Olx,1-Oly,1,1,iarr),
97 I xx_gentim2d1(1-Olx,1-Oly,1,1,iarr),
98 I xx_gentim2d_dummy(iarr),
99 I zeroRL, zeroRL,
100 I mytime, myiter, mythid )
101 C
102
103 DO bj = myByLo(myThid), myByHi(myThid)
104 DO bi = myBxLo(myThid), myBxHi(myThid)
105 DO J = 1-Oly,sNy+Oly
106 DO I = 1-Olx,sNx+Olx
107 if (iarr.EQ.1) then
108 theta(I,J,1,bi,bj) = theta(I,J,1,bi,bj)
109 & + xx_gentim2d_loc(I,J,bi,bj)
110 endif
111 ENDDO
112 ENDDO
113 ENDDO
114 ENDDO
115
116 ENDDO
117
118 #endif /* ALLOW_GENTIM2D_CONTROL */
119
120 RETURN
121 END

  ViewVC Help
Powered by ViewVC 1.1.22