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

Annotation 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 - (hide annotations) (download)
Tue Feb 5 14:40:34 2013 UTC (11 years, 7 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 gforget 1.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