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

Diff of /MITgcm/verification/hs94.1x64x5/code_ad/ctrl_map_ini_genarr.F

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

revision 1.4 by jmc, Sun Aug 12 19:59:03 2012 UTC revision 1.7 by jmc, Sat Apr 5 21:44:33 2014 UTC
# Line 57  C     == local variables == Line 57  C     == local variables ==
57    
58        logical doglobalread        logical doglobalread
59        logical ladinit        logical ladinit
60          character*(MAX_LEN_FNAM) fnamebase
61        character*( 80)   fnamegeneric        character*( 80)   fnamegeneric
62          character*(MAX_LEN_MBUF) msgBuf
63        _RL     fac        _RL     fac
64  CEOP  CEOP
65    
# Line 80  cc--->>> Line 82  cc--->>>
82  C--   generic - user-defined control vars  C--   generic - user-defined control vars
83        DO iarr = 1, maxCtrlArr2D        DO iarr = 1, maxCtrlArr2D
84    
85         il=ILNBLNK( xx_genarr2d_file(iarr) )         fnamebase = xx_genarr2d_file(iarr)
86           il=ILNBLNK( fnamebase )
87         write(fnamegeneric(1:80),'(2a,i10.10)')         write(fnamegeneric(1:80),'(2a,i10.10)')
88       &     xx_genarr2d_file(iarr)(1:il),'.',optimcycle       &     fnamebase(1:il),'.',optimcycle
89         CALL ACTIVE_READ_XY ( fnamegeneric, tmpfld2d, 1,         CALL ACTIVE_READ_XY ( fnamegeneric, tmpfld2d, 1,
90       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
91       &                      myThid, xx_genarr2d_dummy(iarr) )       &                      myThid, xx_genarr2d_dummy(iarr) )
# Line 90  C--   generic - user-defined control var Line 93  C--   generic - user-defined control var
93          DO bi=myBxLo(myThid), myBxHi(myThid)          DO bi=myBxLo(myThid), myBxHi(myThid)
94            do j = jmin,jmax            do j = jmin,jmax
95              do i = imin,imax              do i = imin,imax
96    #ifndef ALLOW_OPENAD
97                if ( iarr .eq. 1 ) then                if ( iarr .eq. 1 ) then
98  #ifdef ALLOW_BOTTOMDRAG_CONTROL  # ifdef ALLOW_BOTTOMDRAG_CONTROL
99                  bottomdragfld(i,j,bi,bj) = bottomdragfld(i,j,bi,bj)                  bottomdragfld(i,j,bi,bj) = bottomdragfld(i,j,bi,bj)
100       &                                   + tmpfld2d(i,j,bi,bj)       &                                   + tmpfld2d(i,j,bi,bj)
101  #endif  # endif
102                elseif ( iarr. eq. 2 ) then                elseif ( iarr .eq. 2 ) then
103                  theta(i,j,1,bi,bj) = theta(i,j,1,bi,bj)                  theta(i,j,1,bi,bj) = theta(i,j,1,bi,bj)
104       &                             + tmpfld2d(i,j,bi,bj)       &                             + tmpfld2d(i,j,bi,bj)
105                elseif ( iarr .eq. 3 ) then                elseif ( iarr .eq. 3 ) then
106                  salt(i,j,1,bi,bj) = salt(i,j,1,bi,bj)                  salt(i,j,1,bi,bj) = salt(i,j,1,bi,bj)
107       &                            + tmpfld2d(i,j,bi,bj)       &                            + tmpfld2d(i,j,bi,bj)
108                endif                endif
109    #else
110                  if ( iarr .eq. 1 ) then
111    # ifdef ALLOW_BOTTOMDRAG_CONTROL
112                    bottomdragfld(i,j,bi,bj) = bottomdragfld(i,j,bi,bj)
113         &           + xx_genarr2d(i,j,bi,bj,iarr)
114         &           + tmpfld2d(i,j,bi,bj)
115    # endif
116                  elseif ( iarr .eq. 2 ) then
117                    theta(i,j,1,bi,bj) = theta(i,j,1,bi,bj)
118         &           + xx_genarr2d(i,j,bi,bj,iarr)
119         &           + tmpfld2d(i,j,bi,bj)
120                  elseif ( iarr .eq. 3 ) then
121                    salt(i,j,1,bi,bj) = salt(i,j,1,bi,bj)
122         &           + xx_genarr2d(i,j,bi,bj,iarr)
123         &           + tmpfld2d(i,j,bi,bj)
124                  endif
125    #endif /* ALLOW_OPENAD */
126              enddo              enddo
127            enddo            enddo
128          ENDDO          ENDDO
# Line 126  cc--->>> Line 147  cc--->>>
147  C--   generic - user-defined control vars  C--   generic - user-defined control vars
148        DO iarr = 1, maxCtrlArr3D        DO iarr = 1, maxCtrlArr3D
149    
150         il=ILNBLNK( xx_genarr3d_file(iarr) )         fnamebase = xx_genarr3d_file(iarr)
151           il=ILNBLNK( fnamebase )
152         write(fnamegeneric(1:80),'(2a,i10.10)')         write(fnamegeneric(1:80),'(2a,i10.10)')
153       &     xx_genarr3d_file(iarr)(1:il),'.',optimcycle       &     fnamebase(1:il),'.',optimcycle
154         CALL ACTIVE_READ_XYZ( fnamegeneric, tmpfld3d, 1,         CALL ACTIVE_READ_XYZ( fnamegeneric, tmpfld3d, 1,
155       &                       doglobalread, ladinit, optimcycle,       &                       doglobalread, ladinit, optimcycle,
156       &                       myThid, xx_genarr3d_dummy(iarr) )       &                       myThid, xx_genarr3d_dummy(iarr) )
# Line 137  C--   generic - user-defined control var Line 159  C--   generic - user-defined control var
159            do k = 1,Nr            do k = 1,Nr
160             do j = jmin,jmax             do j = jmin,jmax
161              do i = imin,imax              do i = imin,imax
162    #ifndef ALLOW_OPENAD
163                if ( iarr .eq. 1 ) then                if ( iarr .eq. 1 ) then
164                  theta(i,j,k,bi,bj) = theta(i,j,k,bi,bj)                  theta(i,j,k,bi,bj) = theta(i,j,k,bi,bj)
165       &                             + fac*tmpfld3d(i,j,k,bi,bj)       &                             + fac*tmpfld3d(i,j,k,bi,bj)
# Line 144  C--   generic - user-defined control var Line 167  C--   generic - user-defined control var
167                  salt(i,j,k,bi,bj) = salt(i,j,k,bi,bj)                  salt(i,j,k,bi,bj) = salt(i,j,k,bi,bj)
168       &                            + fac*tmpfld3d(i,j,k,bi,bj)       &                            + fac*tmpfld3d(i,j,k,bi,bj)
169                endif                endif
170    #else
171                  if ( iarr .eq. 1 ) then
172                    theta(i,j,k,bi,bj) = theta(i,j,k,bi,bj)
173         &           + fac*xx_genarr3d(i,j,k,bi,bj,iarr)
174         &           + fac*tmpfld3d(i,j,k,bi,bj)
175                  elseif ( iarr .eq. 2 ) then
176                    salt(i,j,k,bi,bj) = salt(i,j,k,bi,bj)
177         &           + fac*xx_genarr3d(i,j,k,bi,bj,iarr)
178         &           + fac*tmpfld3d(i,j,k,bi,bj)
179                  endif
180    #endif /* ALLOW_OPENAD */
181              enddo              enddo
182             enddo             enddo
183            enddo            enddo

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.22