/[MITgcm]/MITgcm/pkg/ctrl/ctrl_map_ini.F
ViewVC logotype

Diff of /MITgcm/pkg/ctrl/ctrl_map_ini.F

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

revision 1.5 by heimbach, Fri Sep 28 15:15:55 2001 UTC revision 1.8 by heimbach, Tue Jan 21 19:18:35 2003 UTC
# Line 20  C     !USES: Line 20  C     !USES:
20        implicit none        implicit none
21    
22  c     == global variables ==  c     == global variables ==
 #include "EEPARAMS.h"  
23  #include "SIZE.h"  #include "SIZE.h"
24    #include "EEPARAMS.h"
25    #include "PARAMS.h"
26  #include "DYNVARS.h"  #include "DYNVARS.h"
27    #include "GRID.h"
28  #include "TR1.h"  #include "TR1.h"
29  #include "ctrl.h"  #include "ctrl.h"
30  #include "ctrl_dummy.h"  #include "ctrl_dummy.h"
# Line 52  c     == local variables == Line 54  c     == local variables ==
54        character*( 80)   fnametr1        character*( 80)   fnametr1
55        character*( 80)   fnamediffkr        character*( 80)   fnamediffkr
56        character*( 80)   fnamekapgm        character*( 80)   fnamekapgm
57          character*( 80)   fnameefluxy
58          character*( 80)   fnameefluxp
59          character*( 80)   fnamebottomdrag
60    
61        _RL     fac        _RL     fac
62    
# Line 66  CEOP Line 71  CEOP
71        jthi = mybyhi(mythid)        jthi = mybyhi(mythid)
72        itlo = mybxlo(mythid)        itlo = mybxlo(mythid)
73        ithi = mybxhi(mythid)        ithi = mybxhi(mythid)
74        jmin = 1-oly        jmin = 1
75        jmax = sny+oly        jmax = sny
76        imin = 1-olx        imin = 1
77        imax = snx+olx        imax = snx
78    
79        doglobalread = .false.        doglobalread = .false.
80        ladinit      = .false.        ladinit      = .false.
# Line 201  c--   kapgm. Line 206  c--   kapgm.
206        enddo        enddo
207  #endif  #endif
208    
209    #ifdef ALLOW_EFLUXY0_CONTROL
210    c--   y-component EP-flux field.
211          il=ilnblnk( xx_efluxy_file )
212          write(fnameefluxy(1:80),'(2a,i10.10)')
213         &     xx_efluxy_file(1:il),'.',optimcycle
214          call active_read_xyz( fnameefluxy, tmpfld3d, 1,
215         &                      doglobalread, ladinit, optimcycle,
216         &                      mythid, xx_efluxy_dummy )
217    
218          do bj = jtlo,jthi
219            do bi = itlo,ithi
220              do k = 1,nr
221                do j = jmin,jmax
222                  do i = imin,imax
223                    EfluxY(i,j,k,bi,bj) = EfluxY(i,j,k,bi,bj)
224         &                                - fac*tmpfld3d(i,j,k,bi,bj)
225         &                                  *maskS(i,j,k,bi,bj)
226    cph                EfluxY(i,j,k,bi,bj) = EfluxY(i,j,k,bi,bj)
227    cph     &                                - rSphere*cosFacU(J,bi,bj)
228    cph     &                                  *fac*tmpfld3d(i,j,k,bi,bj)
229                  enddo
230                enddo
231              enddo
232           enddo
233          enddo
234    #endif
235    
236    #ifdef ALLOW_EFLUXP0_CONTROL
237    c--   p-component EP-flux field.
238          il=ilnblnk( xx_efluxp_file )
239          write(fnameefluxp(1:80),'(2a,i10.10)')
240         &     xx_efluxp_file(1:il),'.',optimcycle
241          call active_read_xyz( fnameefluxp, tmpfld3d, 1,
242         &                      doglobalread, ladinit, optimcycle,
243         &                      mythid, xx_efluxp_dummy )
244    
245          do bj = jtlo,jthi
246            do bi = itlo,ithi
247              do k = 1,nr
248                do j = jmin,jmax
249                  do i = imin,imax
250                    EfluxP(i,j,k,bi,bj) = EfluxP(i,j,k,bi,bj)
251         &                                + fCori(i,j,bi,bj)
252         &                                  *fac*tmpfld3d(i,j,k,bi,bj)
253         &                                  *hFacV(i,j,k,bi,bj)
254    cph                EfluxP(i,j,k,bi,bj) = EfluxP(i,j,k,bi,bj)
255    cph     &                                + fCori(i,j,bi,bj)
256    cph     &                                  *rSphere*cosFacU(J,bi,bj)
257    cph     &                                  *fac*tmpfld3d(i,j,k,bi,bj)
258                  enddo
259                enddo
260              enddo
261           enddo
262          enddo
263    #endif
264    
265    #ifdef ALLOW_BOTTOMDRAG_CONTROL
266    c--   bottom drag
267          il=ilnblnk( xx_bottomdrag_file )
268          write(fnamebottomdrag(1:80),'(2a,i10.10)')
269         &     xx_bottomdrag_file(1:il),'.',optimcycle
270          call active_read_xy ( fnamebottomdrag, tmpfld2d, 1,
271         &                      doglobalread, ladinit, optimcycle,
272         &                      mythid, xx_bottomdrag_dummy )
273          do bj = jtlo,jthi
274            do bi = itlo,ithi
275              do j = jmin,jmax
276                do i = imin,imax
277                  bottomdragfld(i,j,bi,bj) = bottomdragfld(i,j,bi,bj)
278         &                                   + tmpfld2d(i,j,bi,bj)
279                enddo
280              enddo
281            enddo
282          enddo
283    #endif
284    
285    
286  c--   Update the tile edges.  c--   Update the tile edges.
287    
288  #ifdef ALLOW_THETA0_CONTROL  #ifdef ALLOW_THETA0_CONTROL
289        _EXCH_XYZ_R8( theta, mythid )        _EXCH_XYZ_R8( theta, mythid )
290        _EXCH_XYZ_R8( gtNm1, mythid )  cph      _EXCH_XYZ_R8( gtNm1, mythid )
291  #endif  #endif
292  #ifdef ALLOW_SALT0_CONTROL  #ifdef ALLOW_SALT0_CONTROL
293        _EXCH_XYZ_R8(  salt, mythid )        _EXCH_XYZ_R8(  salt, mythid )
294        _EXCH_XYZ_R8( gsNm1, mythid )  cph      _EXCH_XYZ_R8( gsNm1, mythid )
295  #endif  #endif
296  #ifdef ALLOW_TR10_CONTROL  #ifdef ALLOW_TR10_CONTROL
297        _EXCH_XYZ_R8(     tr1, mythid )        _EXCH_XYZ_R8(     tr1, mythid )
298        _EXCH_XYZ_R8( gTr1Nm1, mythid )  cph      _EXCH_XYZ_R8( gTr1Nm1, mythid )
299  #endif  #endif
300  #ifdef ALLOW_DIFFKR_CONTROL  #ifdef ALLOW_DIFFKR_CONTROL
301        _EXCH_XYZ_R8( diffkr, mythid)        _EXCH_XYZ_R8( diffkr, mythid)
# Line 222  c--   Update the tile edges. Line 303  c--   Update the tile edges.
303  #ifdef ALLOW_KAPGM_CONTROL  #ifdef ALLOW_KAPGM_CONTROL
304        _EXCH_XYZ_R8( kapgm, mythid)        _EXCH_XYZ_R8( kapgm, mythid)
305  #endif  #endif
306    #ifdef ALLOW_EFLUXY0_CONTROL
307          _EXCH_XYZ_R8( EfluxY, mythid )
308    #endif
309    #ifdef ALLOW_EFLUXP0_CONTROL
310          _EXCH_XYZ_R8( EfluxP, mythid )
311    #endif
312    #ifdef ALLOW_BOTTOMDRAG_CONTROL
313          _EXCH_XY_R8( bottomdragfld, mythid )
314    #endif
315    
316    
317        return        return

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.8

  ViewVC Help
Powered by ViewVC 1.1.22