/[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.6.3 by heimbach, Wed Jul 16 16:38:58 2003 UTC revision 1.45 by heimbach, Wed Feb 18 12:31:10 2015 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2    C $Name$
3    
4  #include "CTRL_CPPOPTIONS.h"  #include "CTRL_OPTIONS.h"
5    #ifdef ALLOW_ECCO
6    # include "ECCO_OPTIONS.h"
7    #endif
8    
9  CBOP  CBOP
10  C     !ROUTINE: ctrl_map_ini  C     !ROUTINE: ctrl_map_ini
# Line 10  C     !INTERFACE: Line 14  C     !INTERFACE:
14  C     !DESCRIPTION: \bv  C     !DESCRIPTION: \bv
15  c     *=================================================================  c     *=================================================================
16  c     | SUBROUTINE ctrl_map_ini  c     | SUBROUTINE ctrl_map_ini
17  c     | Add the temperature, salinity, and diffusivity parts of the  c     | Add the temperature, salinity, and diffusivity parts of the
18  c     | control vector to the model state and update the tile halos.  c     | control vector to the model state and update the tile halos.
19  c     | The control vector is defined in the header file "ctrl.h".  c     | The control vector is defined in the header file "ctrl.h".
20  c     *=================================================================  c     *=================================================================
21  C     \ev  C     \ev
# Line 19  C     \ev Line 23  C     \ev
23  C     !USES:  C     !USES:
24        implicit none        implicit none
25    
26    #ifdef ECCO_CTRL_DEPRECATED
27  c     == global variables ==  c     == global variables ==
28  #include "SIZE.h"  #include "SIZE.h"
29  #include "EEPARAMS.h"  #include "EEPARAMS.h"
30  #include "PARAMS.h"  #include "PARAMS.h"
 #include "DYNVARS.h"  
31  #include "GRID.h"  #include "GRID.h"
32  #include "TR1.h"  #include "DYNVARS.h"
33  #include "ctrl.h"  #include "FFIELDS.h"
34  #include "ctrl_dummy.h"  #ifdef ALLOW_CTRL
35  #include "optim.h"  # include "CTRL_SIZE.h"
36    # include "ctrl.h"
37    # include "CTRL_FIELDS.h"
38    # include "CTRL_GENARR.h"
39    # include "ctrl_dummy.h"
40    # include "optim.h"
41    # ifdef ALLOW_ECCO
42    #  include "ecco_cost.h"
43    # else
44    #  include "ctrl_weights.h"
45    # endif
46    #endif
47    #ifdef ALLOW_PTRACERS
48    # include "PTRACERS_SIZE.h"
49    c#include "PTRACERS_PARAMS.h"
50    # include "PTRACERS_FIELDS.h"
51    #endif
52    #endif /* ECCO_CTRL_DEPRECATED */
53    
54  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
55  c     == routine arguments ==  c     == routine arguments ==
56        integer mythid        integer mythid
57    
58    #ifdef ECCO_CTRL_DEPRECATED
59    
60  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
61  c     == local variables ==  c     == local variables ==
62    
# Line 49  c     == local variables == Line 72  c     == local variables ==
72        logical doglobalread        logical doglobalread
73        logical ladinit        logical ladinit
74    
75        character*( 80)   fnametheta        character*( 80)   fnamegeneric
       character*( 80)   fnamesalt  
       character*( 80)   fnametr1  
       character*( 80)   fnamediffkr  
       character*( 80)   fnamekapgm  
       character*( 80)   fnameefluxy  
       character*( 80)   fnameefluxp  
       character*( 80)   fnamebottomdrag  
76    
77        _RL     fac        _RL     fac
78          _RL tmptest
79    
80  c     == external ==  c     == external ==
81        integer  ilnblnk        integer  ilnblnk
# Line 90  CEOP Line 107  CEOP
107  #ifdef ALLOW_THETA0_CONTROL  #ifdef ALLOW_THETA0_CONTROL
108  c--   Temperature field.  c--   Temperature field.
109        il=ilnblnk( xx_theta_file )        il=ilnblnk( xx_theta_file )
110        write(fnametheta(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
111       &     xx_theta_file(1:il),'.',optimcycle       &     xx_theta_file(1:il),'.',optimcycle
112        call active_read_xyz_loc( fnametheta, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
113       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
114       &                      mythid, xx_theta_dummy )       &                      mythid, xx_theta_dummy )
115    
# Line 101  c--   Temperature field. Line 118  c--   Temperature field.
118            do k = 1,nr            do k = 1,nr
119              do j = jmin,jmax              do j = jmin,jmax
120                do i = imin,imax                do i = imin,imax
121    #if (defined (ALLOW_ECCO) && defined (ECCO_CTRL_DEPRECATED))
122                   IF (abs(tmpfld3d(i,j,k,bi,bj)).gt.
123         $          2.0/sqrt(wtheta(k,bi,bj)))
124         $          tmpfld3d(i,j,k,bi,bj)=
125         $          sign(2.0/sqrt(wtheta(k,bi,bj)),tmpfld3d(i,j,k,bi,bj))
126    #endif
127                  theta(i,j,k,bi,bj) = theta(i,j,k,bi,bj) +                  theta(i,j,k,bi,bj) = theta(i,j,k,bi,bj) +
128       &                               fac*tmpfld3d(i,j,k,bi,bj)       &                               fac*tmpfld3d(i,j,k,bi,bj)
129                  if(theta(i,j,k,bi,bj).lt.-2.0)  #ifndef DISABLE_CTRL_THETA_LIMIT
130       &               theta(i,j,k,bi,bj)= -2.0                    if(theta(i,j,k,bi,bj).lt.-2.0)
131         &               theta(i,j,k,bi,bj)= -2.0
132    #endif
133                enddo                enddo
134              enddo              enddo
135            enddo            enddo
136         enddo         enddo
137        enddo        enddo
138    
139  #endif  #endif
140    
141  #ifdef ALLOW_SALT0_CONTROL  #ifdef ALLOW_SALT0_CONTROL
142  c--   Temperature field.  c--   Temperature field.
143        il=ilnblnk( xx_salt_file )        il=ilnblnk( xx_salt_file )
144        write(fnamesalt(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
145       &     xx_salt_file(1:il),'.',optimcycle       &     xx_salt_file(1:il),'.',optimcycle
146        call active_read_xyz_loc( fnamesalt, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
147       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
148       &                      mythid, xx_salt_dummy )       &                      mythid, xx_salt_dummy )
149    
# Line 126  c--   Temperature field. Line 152  c--   Temperature field.
152            do k = 1,nr            do k = 1,nr
153              do j = jmin,jmax              do j = jmin,jmax
154                do i = imin,imax                do i = imin,imax
155    #if (defined (ALLOW_ECCO) && defined (ECCO_CTRL_DEPRECATED))
156                   IF (abs(tmpfld3d(i,j,k,bi,bj)).gt.
157         $          2.0/sqrt(wsalt(k,bi,bj)))
158         $          tmpfld3d(i,j,k,bi,bj)=
159         $          sign(2.0/sqrt(wsalt(k,bi,bj)),tmpfld3d(i,j,k,bi,bj))
160    #endif
161                  salt(i,j,k,bi,bj) = salt(i,j,k,bi,bj) +                  salt(i,j,k,bi,bj) = salt(i,j,k,bi,bj) +
162       &                               fac*tmpfld3d(i,j,k,bi,bj)       &                               fac*tmpfld3d(i,j,k,bi,bj)
163    
164                enddo                enddo
165              enddo              enddo
166            enddo            enddo
167         enddo         enddo
168        enddo        enddO
169  #endif  #endif
170    
171  #ifdef ALLOW_TR10_CONTROL  #ifdef ALLOW_TR10_CONTROL
172    #ifdef ALLOW_PTRACERS
173  c--   Temperature field.  c--   Temperature field.
174        il=ilnblnk( xx_tr1_file )        il=ilnblnk( xx_tr1_file )
175        write(fnametr1(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
176       &     xx_tr1_file(1:il),'.',optimcycle       &     xx_tr1_file(1:il),'.',optimcycle
177        call active_read_xyz_loc( fnametr1, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
178       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
179       &                      mythid, xx_tr1_dummy )       &                      mythid, xx_tr1_dummy )
180    
# Line 149  c--   Temperature field. Line 183  c--   Temperature field.
183            do k = 1,nr            do k = 1,nr
184              do j = jmin,jmax              do j = jmin,jmax
185                do i = imin,imax                do i = imin,imax
186                  tr1(i,j,k,bi,bj) = tr1(i,j,k,bi,bj) +  #ifdef ALLOW_OPENAD
187                    ptracer(i,j,k,bi,bj,1) = ptracer(i,j,k,bi,bj,1) +
188         &                               fac*xx_tr1(i,j,k,bi,bj) +
189         &                               fac*tmpfld3d(i,j,k,bi,bj)
190    #else
191                    ptracer(i,j,k,bi,bj,1) = ptracer(i,j,k,bi,bj,1) +
192       &                               fac*tmpfld3d(i,j,k,bi,bj)       &                               fac*tmpfld3d(i,j,k,bi,bj)
193    #endif
194                enddo                enddo
195              enddo              enddo
196            enddo            enddo
197         enddo         enddo
198        enddo        enddo
199  #endif  #endif
200    #endif
201    
202    #ifdef ALLOW_SST0_CONTROL
203    c--   sst0.
204          il=ilnblnk( xx_sst_file )
205          write(fnamegeneric(1:80),'(2a,i10.10)')
206         &     xx_sst_file(1:il),'.',optimcycle
207          call active_read_xy ( fnamegeneric, tmpfld2d, 1,
208         &                      doglobalread, ladinit, optimcycle,
209         &                      mythid, xx_sst_dummy )
210          do bj = jtlo,jthi
211            do bi = itlo,ithi
212              do j = jmin,jmax
213                do i = imin,imax
214    cph              sst(i,j,bi,bj) = sst(i,j,bi,bj) + tmpfld2d(i,j,bi,bj)
215                  theta(i,j,1,bi,bj) = theta(i,j,1,bi,bj)
216         &                             + tmpfld2d(i,j,bi,bj)
217                enddo
218              enddo
219            enddo
220          enddo
221    #endif
222    
223    #ifdef ALLOW_SSS0_CONTROL
224    c--   sss0.
225          il=ilnblnk( xx_sss_file )
226          write(fnamegeneric(1:80),'(2a,i10.10)')
227         &     xx_sss_file(1:il),'.',optimcycle
228          call active_read_xy ( fnamegeneric, tmpfld2d, 1,
229         &                      doglobalread, ladinit, optimcycle,
230         &                      mythid, xx_sss_dummy )
231          do bj = jtlo,jthi
232            do bi = itlo,ithi
233              do j = jmin,jmax
234                do i = imin,imax
235    cph              sss(i,j,bi,bj) = sss(i,j,bi,bj) + tmpfld2d(i,j,bi,bj)
236                  salt(i,j,1,bi,bj) = salt(i,j,1,bi,bj)
237         &                             + tmpfld2d(i,j,bi,bj)
238                enddo
239              enddo
240            enddo
241          enddo
242    #endif
243    
244    #ifdef ALLOW_AUTODIFF
245  #ifdef ALLOW_DIFFKR_CONTROL  #ifdef ALLOW_DIFFKR_CONTROL
246  c--   diffkr.  c--   diffkr.
247        il=ilnblnk( xx_diffkr_file )        il=ilnblnk( xx_diffkr_file )
248        write(fnamediffkr(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
249       &     xx_diffkr_file(1:il),'.',optimcycle       &     xx_diffkr_file(1:il),'.',optimcycle
250        call active_read_xyz_loc( fnamediffkr, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
251       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
252       &                      mythid, xx_diffkr_dummy )       &                      mythid, xx_diffkr_dummy )
253        do bj = jtlo,jthi        do bj = jtlo,jthi
# Line 179  c--   diffkr. Line 263  c--   diffkr.
263         enddo         enddo
264        enddo        enddo
265  #endif  #endif
266    #endif
267    
268    #ifdef ALLOW_AUTODIFF
269  #ifdef ALLOW_KAPGM_CONTROL  #ifdef ALLOW_KAPGM_CONTROL
270  c--   kapgm.  c--   kapgm.
271        il=ilnblnk( xx_kapgm_file )        il=ilnblnk( xx_kapgm_file )
272        write(fnamekapgm(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
273       &     xx_kapgm_file(1:il),'.',optimcycle       &     xx_kapgm_file(1:il),'.',optimcycle
274        call active_read_xyz_loc( fnamekapgm, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
275       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
276       &                      mythid, xx_kapgm_dummy )       &                      mythid, xx_kapgm_dummy )
277        do bj = jtlo,jthi        do bj = jtlo,jthi
# Line 193  c--   kapgm. Line 279  c--   kapgm.
279            do k = 1,nr            do k = 1,nr
280              do j = jmin,jmax              do j = jmin,jmax
281                do i = imin,imax                do i = imin,imax
282                  kapgm(i,j,k,bi,bj) = kapgm(i,j,k,bi,bj) +  #ifdef ALLOW_OPENAD
283                    kapGM(i,j,k,bi,bj) = kapGM(i,j,k,bi,bj) +
284         &                               xx_kapgm(i,j,k,bi,bj) +
285         &                               tmpfld3d(i,j,k,bi,bj)
286    #else
287                    kapGM(i,j,k,bi,bj) = kapGM(i,j,k,bi,bj) +
288       &                               tmpfld3d(i,j,k,bi,bj)       &                               tmpfld3d(i,j,k,bi,bj)
289    #endif
290                enddo                enddo
291              enddo              enddo
292            enddo            enddo
293         enddo         enddo
294        enddo        enddo
295  #endif  #endif
296    #endif
297    
298    #ifdef ALLOW_AUTODIFF
299    #ifdef ALLOW_KAPREDI_CONTROL
300    c--   kapredi.
301          il=ilnblnk( xx_kapredi_file )
302          write(fnamegeneric(1:80),'(2a,i10.10)')
303         &     xx_kapredi_file(1:il),'.',optimcycle
304          call active_read_xyz( fnamegeneric, tmpfld3d, 1,
305         &                      doglobalread, ladinit, optimcycle,
306         &                      mythid, xx_kapredi_dummy )
307          do bj = jtlo,jthi
308            do bi = itlo,ithi
309              do k = 1,nr
310                do j = jmin,jmax
311                  do i = imin,imax
312                    kapRedi(i,j,k,bi,bj) = kapRedi(i,j,k,bi,bj) +
313         &                               tmpfld3d(i,j,k,bi,bj)
314                  enddo
315                enddo
316              enddo
317           enddo
318          enddo
319    #endif
320    #endif
321    
322  #ifdef ALLOW_EFLUXY0_CONTROL  #ifdef ALLOW_EFLUXY0_CONTROL
323  c--   y-component EP-flux field.  c--   y-component EP-flux field.
324        il=ilnblnk( xx_efluxy_file )        il=ilnblnk( xx_efluxy_file )
325        write(fnameefluxy(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
326       &     xx_efluxy_file(1:il),'.',optimcycle       &     xx_efluxy_file(1:il),'.',optimcycle
327        call active_read_xyz_loc( fnameefluxy, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
328       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
329       &                      mythid, xx_efluxy_dummy )       &                      mythid, xx_efluxy_dummy )
330    
# Line 232  cph     & Line 349  cph     &
349  #ifdef ALLOW_EFLUXP0_CONTROL  #ifdef ALLOW_EFLUXP0_CONTROL
350  c--   p-component EP-flux field.  c--   p-component EP-flux field.
351        il=ilnblnk( xx_efluxp_file )        il=ilnblnk( xx_efluxp_file )
352        write(fnameefluxp(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
353       &     xx_efluxp_file(1:il),'.',optimcycle       &     xx_efluxp_file(1:il),'.',optimcycle
354        call active_read_xyz_loc( fnameefluxp, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
355       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
356       &                      mythid, xx_efluxp_dummy )       &                      mythid, xx_efluxp_dummy )
357    
# Line 258  cph     & Line 375  cph     &
375        enddo        enddo
376  #endif  #endif
377    
378  #ifdef ALLOW_BOTTOMDRAG_CONTROL  #ifdef ALLOW_BOTTOMDRAG_CONTROL_NONGENERIC
379  c--   bottom drag  c--   bottom drag
380        il=ilnblnk( xx_bottomdrag_file )        il=ilnblnk( xx_bottomdrag_file )
381        write(fnamebottomdrag(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
382       &     xx_bottomdrag_file(1:il),'.',optimcycle       &     xx_bottomdrag_file(1:il),'.',optimcycle
383        call active_read_xy_loc ( fnamebottomdrag, tmpfld2d, 1,        call active_read_xy ( fnamegeneric, tmpfld2d, 1,
384       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
385       &                      mythid, xx_bottomdrag_dummy )       &                      mythid, xx_bottomdrag_dummy )
386        do bj = jtlo,jthi        do bj = jtlo,jthi
387          do bi = itlo,ithi          do bi = itlo,ithi
388            do j = jmin,jmax            do j = jmin,jmax
389              do i = imin,imax              do i = imin,imax
390                bottomdragfld(i,j,bi,bj) = bottomdragfld(i,j,bi,bj)                bottomDragFld(i,j,bi,bj) = bottomDragFld(i,j,bi,bj)
391       &                                   + tmpfld2d(i,j,bi,bj)       &                                   + tmpfld2d(i,j,bi,bj)
392              enddo              enddo
393            enddo            enddo
# Line 278  c--   bottom drag Line 395  c--   bottom drag
395        enddo        enddo
396  #endif  #endif
397    
398    #ifdef ALLOW_EDDYPSI_CONTROL
399    c-- zonal eddy streamfunction : eddyPsiX
400          il=ilnblnk( xx_edtaux_file )
401          write(fnamegeneric(1:80),'(2a,i10.10)')
402         &     xx_edtaux_file(1:il),'.',optimcycle
403          call active_read_xyz( fnamegeneric, tmpfld3d, 1,
404         &                      doglobalread, ladinit, optimcycle,
405         &                      mythid, xx_edtaux_dummy )
406          do bj = jtlo,jthi
407            do bi = itlo,ithi
408              do k = 1,nr
409                do j = jmin,jmax
410                  do i = imin,imax
411                    eddyPsiX(i,j,k,bi,bj) = eddyPsiX(i,j,k,bi,bj) +
412         &            tmpfld3d(i,j,k,bi,bj)
413                  enddo
414                enddo
415              enddo
416           enddo
417          enddo
418    c-- meridional eddy streamfunction : eddyPsiY
419          il=ilnblnk( xx_edtauy_file )
420          write(fnamegeneric(1:80),'(2a,i10.10)')
421         &     xx_edtauy_file(1:il),'.',optimcycle
422          call active_read_xyz( fnamegeneric, tmpfld3d, 1,
423         &                      doglobalread, ladinit, optimcycle,
424         &                      mythid, xx_edtauy_dummy )
425          do bj = jtlo,jthi
426            do bi = itlo,ithi
427              do k = 1,nr
428                do j = jmin,jmax
429                  do i = imin,imax
430                    eddyPsiY(i,j,k,bi,bj) = eddyPsiY(i,j,k,bi,bj) +
431         &            tmpfld3d(i,j,k,bi,bj)
432                  enddo
433                enddo
434              enddo
435           enddo
436          enddo
437    #endif
438    
439    #ifdef ALLOW_UVEL0_CONTROL
440    c-- initial zonal velocity
441          il=ilnblnk( xx_uvel_file )
442          write(fnamegeneric(1:80),'(2a,i10.10)')
443         &     xx_uvel_file(1:il),'.',optimcycle
444          call active_read_xyz( fnamegeneric, tmpfld3d, 1,
445         &                      doglobalread, ladinit, optimcycle,
446         &                      mythid, xx_uvel_dummy )
447          do bj = jtlo,jthi
448            do bi = itlo,ithi
449              do k = 1,nr
450                do j = jmin,jmax
451                  do i = imin,imax
452    #ifdef ALLOW_OPENAD
453                    uVel(i,j,k,bi,bj) = uVel(i,j,k,bi,bj) +
454         &                                  fac*xx_uvel(i,j,k,bi,bj)
455    #else
456                    uVel(i,j,k,bi,bj) = uVel(i,j,k,bi,bj) +
457         &                                  fac*tmpfld3d(i,j,k,bi,bj)
458    #endif
459                  enddo
460                enddo
461              enddo
462           enddo
463          enddo
464    #endif
465    
466    #ifdef ALLOW_VVEL0_CONTROL
467    c-- initial merid. velocity
468          il=ilnblnk( xx_vvel_file )
469          write(fnamegeneric(1:80),'(2a,i10.10)')
470         &     xx_vvel_file(1:il),'.',optimcycle
471          call active_read_xyz( fnamegeneric, tmpfld3d, 1,
472         &                      doglobalread, ladinit, optimcycle,
473         &                      mythid, xx_vvel_dummy )
474          do bj = jtlo,jthi
475            do bi = itlo,ithi
476              do k = 1,nr
477                do j = jmin,jmax
478                  do i = imin,imax
479    #ifdef ALLOW_OPENAD
480                    vVel(i,j,k,bi,bj) = vVel(i,j,k,bi,bj) +
481         &                                  fac*xx_vvel(i,j,k,bi,bj)
482    #else
483                    vVel(i,j,k,bi,bj) = vVel(i,j,k,bi,bj) +
484         &                                  fac*tmpfld3d(i,j,k,bi,bj)
485    #endif
486                  enddo
487                enddo
488              enddo
489           enddo
490          enddo
491    #endif
492    
493    #ifdef ALLOW_ETAN0_CONTROL
494    c--   initial Eta.
495          il=ilnblnk( xx_etan_file )
496          write(fnamegeneric(1:80),'(2a,i10.10)')
497         &     xx_etan_file(1:il),'.',optimcycle
498          call active_read_xy ( fnamegeneric, tmpfld2d, 1,
499         &                      doglobalread, ladinit, optimcycle,
500         &                      mythid, xx_etan_dummy )
501          do bj = jtlo,jthi
502            do bi = itlo,ithi
503              do j = jmin,jmax
504                do i = imin,imax
505    #ifdef ALLOW_OPENAD
506                  etaN(i,j,bi,bj) = etaN(i,j,bi,bj) +
507         &                              fac*xx_etan(i,j,bi,bj)
508    #else
509                  etaN(i,j,bi,bj) = etaN(i,j,bi,bj) +
510         &                              fac*tmpfld2d(i,j,bi,bj)
511                  etaH(i,j,bi,bj) = etaH(i,j,bi,bj) +
512         &                              fac*tmpfld2d(i,j,bi,bj)
513    #endif
514                enddo
515              enddo
516            enddo
517          enddo
518    #endif
519    
520    #ifdef ALLOW_RELAXSST_CONTROL
521    c--   SST relaxation coefficient.
522          il=ilnblnk( xx_relaxsst_file )
523          write(fnamegeneric(1:80),'(2a,i10.10)')
524         &     xx_relaxsst_file(1:il),'.',optimcycle
525          call active_read_xy ( fnamegeneric, tmpfld2d, 1,
526         &                      doglobalread, ladinit, optimcycle,
527         &                      mythid, xx_relaxsst_dummy )
528          do bj = jtlo,jthi
529            do bi = itlo,ithi
530              do j = jmin,jmax
531                do i = imin,imax
532                  lambdaThetaClimRelax(i,j,bi,bj) =
533         &              lambdaThetaClimRelax(i,j,bi,bj)
534         &              + tmpfld2d(i,j,bi,bj)
535                enddo
536              enddo
537            enddo
538          enddo
539    #endif
540    
541    #ifdef ALLOW_RELAXSSS_CONTROL
542    c--   SSS relaxation coefficient.
543          il=ilnblnk( xx_relaxsss_file )
544          write(fnamegeneric(1:80),'(2a,i10.10)')
545         &     xx_relaxsss_file(1:il),'.',optimcycle
546          call active_read_xy ( fnamegeneric, tmpfld2d, 1,
547         &                      doglobalread, ladinit, optimcycle,
548         &                      mythid, xx_relaxsss_dummy )
549          do bj = jtlo,jthi
550            do bi = itlo,ithi
551              do j = jmin,jmax
552                do i = imin,imax
553                  lambdaSaltClimRelax(i,j,bi,bj) =
554         &              lambdaSaltClimRelax(i,j,bi,bj)
555         &              + tmpfld2d(i,j,bi,bj)
556                enddo
557              enddo
558            enddo
559          enddo
560    #endif
561    
562  c--   Update the tile edges.  c--   Update the tile edges.
563    
564  #ifdef ALLOW_THETA0_CONTROL  #if (defined (ALLOW_THETA0_CONTROL) || defined (ALLOW_SST0_CONTROL))
565        _EXCH_XYZ_R8( theta, mythid )        _EXCH_XYZ_RL( theta, mythid )
 cph      _EXCH_XYZ_R8( gtNm1, mythid )  
566  #endif  #endif
567  #ifdef ALLOW_SALT0_CONTROL  #if (defined (ALLOW_SALT0_CONTROL) || defined (ALLOW_SSS0_CONTROL))
568        _EXCH_XYZ_R8(  salt, mythid )        _EXCH_XYZ_RL(  salt, mythid )
 cph      _EXCH_XYZ_R8( gsNm1, mythid )  
569  #endif  #endif
570  #ifdef ALLOW_TR10_CONTROL  #ifdef ALLOW_TR10_CONTROL
571        _EXCH_XYZ_R8(     tr1, mythid )  #ifdef ALLOW_PTRACERS
572  cph      _EXCH_XYZ_R8( gTr1Nm1, mythid )        _EXCH_XYZ_RL(pTracer(1-Olx,1-Oly,1,1,1,1),myThid)
573  #endif  #endif
 #ifdef ALLOW_DIFFKR_CONTROL  
       _EXCH_XYZ_R8( diffkr, mythid)  
574  #endif  #endif
575  #ifdef ALLOW_KAPGM_CONTROL  
576        _EXCH_XYZ_R8( kapgm, mythid)  #ifdef ALLOW_AUTODIFF
577    # ifdef ALLOW_DIFFKR_CONTROL
578          _EXCH_XYZ_RL( diffKr, mythid)
579    # endif
580    # ifdef ALLOW_KAPGM_CONTROL
581          _EXCH_XYZ_RL( kapGM, mythid)
582    # endif
583    # ifdef ALLOW_KAPREDI_CONTROL
584          _EXCH_XYZ_RL( kapRedi, mythid)
585    # endif
586  #endif  #endif
587    
588  #ifdef ALLOW_EFLUXY0_CONTROL  #ifdef ALLOW_EFLUXY0_CONTROL
589        _EXCH_XYZ_R8( EfluxY, mythid )        _EXCH_XYZ_RL( EfluxY, mythid )
590  #endif  #endif
591  #ifdef ALLOW_EFLUXP0_CONTROL  #ifdef ALLOW_EFLUXP0_CONTROL
592        _EXCH_XYZ_R8( EfluxP, mythid )        _EXCH_XYZ_RL( EfluxP, mythid )
593  #endif  #endif
594  #ifdef ALLOW_BOTTOMDRAG_CONTROL  #ifdef ALLOW_BOTTOMDRAG_CONTROL
595        _EXCH_XY_R8( bottomdragfld, mythid )        _EXCH_XY_RL( bottomDragFld, mythid )
596    #endif
597    
598    #ifdef ALLOW_EDDYPSI_CONTROL
599           CALL EXCH_UV_XYZ_RS(eddyPsiX,eddyPsiY,.TRUE.,myThid)
600  #endif  #endif
601    
602    #ifdef ALLOW_UVEL0_CONTROL
603          _EXCH_XYZ_RL( uVel, mythid)
604    #endif
605    
606    #ifdef ALLOW_VVEL0_CONTROL
607          _EXCH_XYZ_RL( vVel, mythid)
608    #endif
609    
610    #ifdef ALLOW_ETAN0_CONTROL
611          _EXCH_XY_RL( etaN, mythid )
612          _EXCH_XY_RL( etaH, mythid )
613    #endif
614    
615    #ifdef ALLOW_RELAXSST_CONTROL
616          _EXCH_XY_RS( lambdaThetaClimRelax, mythid )
617    #endif
618    
619    #ifdef ALLOW_RELAXSSS_CONTROL
620          _EXCH_XY_RS( lambdaThetaClimRelax, mythid )
621    #endif
622    
623        return  #endif /* ECCO_CTRL_DEPRECATED */
       end  
624    
625          RETURN
626          END

Legend:
Removed from v.1.5.6.3  
changed lines
  Added in v.1.45

  ViewVC Help
Powered by ViewVC 1.1.22