/[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.12 by heimbach, Thu Mar 4 19:49:47 2004 UTC revision 1.28 by gforget, Sat Feb 2 02:34:49 2008 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2    C $Name$
3    
4  #include "CTRL_CPPOPTIONS.h"  #include "CTRL_CPPOPTIONS.h"
5    
# Line 10  C     !INTERFACE: Line 11  C     !INTERFACE:
11  C     !DESCRIPTION: \bv  C     !DESCRIPTION: \bv
12  c     *=================================================================  c     *=================================================================
13  c     | SUBROUTINE ctrl_map_ini  c     | SUBROUTINE ctrl_map_ini
14  c     | Add the temperature, salinity, and diffusivity parts of the  c     | Add the temperature, salinity, and diffusivity parts of the
15  c     | control vector to the model state and update the tile halos.  c     | control vector to the model state and update the tile halos.
16  c     | The control vector is defined in the header file "ctrl.h".  c     | The control vector is defined in the header file "ctrl.h".
17  c     *=================================================================  c     *=================================================================
18  C     \ev  C     \ev
# Line 23  c     == global variables == Line 24  c     == global variables ==
24  #include "SIZE.h"  #include "SIZE.h"
25  #include "EEPARAMS.h"  #include "EEPARAMS.h"
26  #include "PARAMS.h"  #include "PARAMS.h"
 #include "DYNVARS.h"  
27  #include "GRID.h"  #include "GRID.h"
28  #include "TR1.h"  #include "DYNVARS.h"
29    #include "FFIELDS.h"
30  #include "ctrl.h"  #include "ctrl.h"
31  #include "ctrl_dummy.h"  #include "ctrl_dummy.h"
32  #include "optim.h"  #include "optim.h"
33    #ifdef ALLOW_PTRACERS
34    # include "PTRACERS_SIZE.h"
35    c#include "PTRACERS_PARAMS.h"
36    # include "PTRACERS_FIELDS.h"
37    #endif
38  #ifdef ALLOW_ECCO  #ifdef ALLOW_ECCO
39  # include "ecco_cost.h"  # include "ecco_cost.h"
40  #endif  #endif
# Line 52  c     == local variables == Line 58  c     == local variables ==
58        logical doglobalread        logical doglobalread
59        logical ladinit        logical ladinit
60    
61        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  
62    
63        _RL     fac        _RL     fac
64        _RL tmptest        _RL tmptest
# Line 94  CEOP Line 93  CEOP
93  #ifdef ALLOW_THETA0_CONTROL  #ifdef ALLOW_THETA0_CONTROL
94  c--   Temperature field.  c--   Temperature field.
95        il=ilnblnk( xx_theta_file )        il=ilnblnk( xx_theta_file )
96        write(fnametheta(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
97       &     xx_theta_file(1:il),'.',optimcycle       &     xx_theta_file(1:il),'.',optimcycle
98        call active_read_xyz_loc( fnametheta, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
99       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
100       &                      mythid, xx_theta_dummy )       &                      mythid, xx_theta_dummy )
101    
# Line 111  c--   Temperature field. Line 110  c--   Temperature field.
110       $          tmpfld3d(i,j,k,bi,bj)=       $          tmpfld3d(i,j,k,bi,bj)=
111       $          sign(2.0/sqrt(wtheta(k,bi,bj)),tmpfld3d(i,j,k,bi,bj))       $          sign(2.0/sqrt(wtheta(k,bi,bj)),tmpfld3d(i,j,k,bi,bj))
112  #endif  #endif
113    #ifdef ALLOW_AUTODIFF_OPENAD
114                    theta(i,j,k,bi,bj) = theta(i,j,k,bi,bj) +
115         &                               fac*xx_theta(i,j,k,bi,bj) +
116         &                               fac*tmpfld3d(i,j,k,bi,bj)
117    #else
118                  theta(i,j,k,bi,bj) = theta(i,j,k,bi,bj) +                  theta(i,j,k,bi,bj) = theta(i,j,k,bi,bj) +
119       &                               fac*tmpfld3d(i,j,k,bi,bj)       &                               fac*tmpfld3d(i,j,k,bi,bj)
120                  if(theta(i,j,k,bi,bj).lt.-2.0)  #endif
121       &               theta(i,j,k,bi,bj)= -2.0  #ifndef DISABLE_CTRL_THETA_LIMIT
122                    if(theta(i,j,k,bi,bj).lt.-2.0)
123         &               theta(i,j,k,bi,bj)= -2.0
124    #endif
125                enddo                enddo
126              enddo              enddo
127            enddo            enddo
# Line 126  c--   Temperature field. Line 133  c--   Temperature field.
133  #ifdef ALLOW_SALT0_CONTROL  #ifdef ALLOW_SALT0_CONTROL
134  c--   Temperature field.  c--   Temperature field.
135        il=ilnblnk( xx_salt_file )        il=ilnblnk( xx_salt_file )
136        write(fnamesalt(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
137       &     xx_salt_file(1:il),'.',optimcycle       &     xx_salt_file(1:il),'.',optimcycle
138        call active_read_xyz_loc( fnamesalt, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
139       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
140       &                      mythid, xx_salt_dummy )       &                      mythid, xx_salt_dummy )
141    
# Line 143  c--   Temperature field. Line 150  c--   Temperature field.
150       $          tmpfld3d(i,j,k,bi,bj)=       $          tmpfld3d(i,j,k,bi,bj)=
151       $          sign(2.0/sqrt(wsalt(k,bi,bj)),tmpfld3d(i,j,k,bi,bj))       $          sign(2.0/sqrt(wsalt(k,bi,bj)),tmpfld3d(i,j,k,bi,bj))
152  #endif  #endif
153    #ifdef ALLOW_AUTODIFF_OPENAD
154                  salt(i,j,k,bi,bj) = salt(i,j,k,bi,bj) +                  salt(i,j,k,bi,bj) = salt(i,j,k,bi,bj) +
155         &                               fac*xx_salt(i,j,k,bi,bj) +
156       &                               fac*tmpfld3d(i,j,k,bi,bj)       &                               fac*tmpfld3d(i,j,k,bi,bj)
157    #else
158                    salt(i,j,k,bi,bj) = salt(i,j,k,bi,bj) +
159         &                               fac*tmpfld3d(i,j,k,bi,bj)
160    #endif
161    
162                enddo                enddo
163              enddo              enddo
# Line 154  c--   Temperature field. Line 167  c--   Temperature field.
167  #endif  #endif
168    
169  #ifdef ALLOW_TR10_CONTROL  #ifdef ALLOW_TR10_CONTROL
170    #ifdef ALLOW_PTRACERS
171  c--   Temperature field.  c--   Temperature field.
172        il=ilnblnk( xx_tr1_file )        il=ilnblnk( xx_tr1_file )
173        write(fnametr1(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
174       &     xx_tr1_file(1:il),'.',optimcycle       &     xx_tr1_file(1:il),'.',optimcycle
175        call active_read_xyz_loc( fnametr1, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
176       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
177       &                      mythid, xx_tr1_dummy )       &                      mythid, xx_tr1_dummy )
178    
# Line 167  c--   Temperature field. Line 181  c--   Temperature field.
181            do k = 1,nr            do k = 1,nr
182              do j = jmin,jmax              do j = jmin,jmax
183                do i = imin,imax                do i = imin,imax
184                  tr1(i,j,k,bi,bj) = tr1(i,j,k,bi,bj) +                  ptracer(i,j,k,bi,bj,1) = ptracer(i,j,k,bi,bj,1) +
185       &                               fac*tmpfld3d(i,j,k,bi,bj)       &                               fac*tmpfld3d(i,j,k,bi,bj)
186                enddo                enddo
187              enddo              enddo
# Line 175  c--   Temperature field. Line 189  c--   Temperature field.
189         enddo         enddo
190        enddo        enddo
191  #endif  #endif
192    #endif
193    
194    #ifdef ALLOW_SST0_CONTROL
195    c--   sst0.
196          il=ilnblnk( xx_sst_file )
197          write(fnamegeneric(1:80),'(2a,i10.10)')
198         &     xx_sst_file(1:il),'.',optimcycle
199          call active_read_xy ( fnamegeneric, tmpfld2d, 1,
200         &                      doglobalread, ladinit, optimcycle,
201         &                      mythid, xx_sst_dummy )
202          do bj = jtlo,jthi
203            do bi = itlo,ithi
204              do j = jmin,jmax
205                do i = imin,imax
206    cph              sst(i,j,bi,bj) = sst(i,j,bi,bj) + tmpfld2d(i,j,bi,bj)
207                  theta(i,j,1,bi,bj) = theta(i,j,1,bi,bj)
208         &                             + tmpfld2d(i,j,bi,bj)
209                enddo
210              enddo
211            enddo
212          enddo
213    #endif
214    
215    #ifdef ALLOW_SSS0_CONTROL
216    c--   sss0.
217          il=ilnblnk( xx_sss_file )
218          write(fnamegeneric(1:80),'(2a,i10.10)')
219         &     xx_sss_file(1:il),'.',optimcycle
220          call active_read_xy ( fnamegeneric, tmpfld2d, 1,
221         &                      doglobalread, ladinit, optimcycle,
222         &                      mythid, xx_sss_dummy )
223          do bj = jtlo,jthi
224            do bi = itlo,ithi
225              do j = jmin,jmax
226                do i = imin,imax
227    cph              sss(i,j,bi,bj) = sss(i,j,bi,bj) + tmpfld2d(i,j,bi,bj)
228                  salt(i,j,1,bi,bj) = salt(i,j,1,bi,bj)
229         &                             + tmpfld2d(i,j,bi,bj)
230                enddo
231              enddo
232            enddo
233          enddo
234    #endif
235    
236  #ifdef ALLOW_DIFFKR_CONTROL  #ifdef ALLOW_DIFFKR_CONTROL
237  c--   diffkr.  c--   diffkr.
238        il=ilnblnk( xx_diffkr_file )        il=ilnblnk( xx_diffkr_file )
239        write(fnamediffkr(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
240       &     xx_diffkr_file(1:il),'.',optimcycle       &     xx_diffkr_file(1:il),'.',optimcycle
241        call active_read_xyz_loc( fnamediffkr, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
242       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
243       &                      mythid, xx_diffkr_dummy )       &                      mythid, xx_diffkr_dummy )
244        do bj = jtlo,jthi        do bj = jtlo,jthi
# Line 201  c--   diffkr. Line 258  c--   diffkr.
258  #ifdef ALLOW_KAPGM_CONTROL  #ifdef ALLOW_KAPGM_CONTROL
259  c--   kapgm.  c--   kapgm.
260        il=ilnblnk( xx_kapgm_file )        il=ilnblnk( xx_kapgm_file )
261        write(fnamekapgm(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
262       &     xx_kapgm_file(1:il),'.',optimcycle       &     xx_kapgm_file(1:il),'.',optimcycle
263        call active_read_xyz_loc( fnamekapgm, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
264       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
265       &                      mythid, xx_kapgm_dummy )       &                      mythid, xx_kapgm_dummy )
266        do bj = jtlo,jthi        do bj = jtlo,jthi
# Line 220  c--   kapgm. Line 277  c--   kapgm.
277        enddo        enddo
278  #endif  #endif
279    
280    #ifdef ALLOW_KAPREDI_CONTROL
281    c--   kapredi.
282          il=ilnblnk( xx_kapredi_file )
283          write(fnamegeneric(1:80),'(2a,i10.10)')
284         &     xx_kapredi_file(1:il),'.',optimcycle
285          call active_read_xyz( fnamegeneric, tmpfld3d, 1,
286         &                      doglobalread, ladinit, optimcycle,
287         &                      mythid, xx_kapredi_dummy )
288          do bj = jtlo,jthi
289            do bi = itlo,ithi
290              do k = 1,nr
291                do j = jmin,jmax
292                  do i = imin,imax
293                    kapredi(i,j,k,bi,bj) = kapredi(i,j,k,bi,bj) +
294         &                               tmpfld3d(i,j,k,bi,bj)
295                  enddo
296                enddo
297              enddo
298           enddo
299          enddo
300    #endif
301    
302  #ifdef ALLOW_EFLUXY0_CONTROL  #ifdef ALLOW_EFLUXY0_CONTROL
303  c--   y-component EP-flux field.  c--   y-component EP-flux field.
304        il=ilnblnk( xx_efluxy_file )        il=ilnblnk( xx_efluxy_file )
305        write(fnameefluxy(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
306       &     xx_efluxy_file(1:il),'.',optimcycle       &     xx_efluxy_file(1:il),'.',optimcycle
307        call active_read_xyz_loc( fnameefluxy, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
308       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
309       &                      mythid, xx_efluxy_dummy )       &                      mythid, xx_efluxy_dummy )
310    
# Line 250  cph     & Line 329  cph     &
329  #ifdef ALLOW_EFLUXP0_CONTROL  #ifdef ALLOW_EFLUXP0_CONTROL
330  c--   p-component EP-flux field.  c--   p-component EP-flux field.
331        il=ilnblnk( xx_efluxp_file )        il=ilnblnk( xx_efluxp_file )
332        write(fnameefluxp(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
333       &     xx_efluxp_file(1:il),'.',optimcycle       &     xx_efluxp_file(1:il),'.',optimcycle
334        call active_read_xyz_loc( fnameefluxp, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
335       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
336       &                      mythid, xx_efluxp_dummy )       &                      mythid, xx_efluxp_dummy )
337    
# Line 279  cph     & Line 358  cph     &
358  #ifdef ALLOW_BOTTOMDRAG_CONTROL  #ifdef ALLOW_BOTTOMDRAG_CONTROL
359  c--   bottom drag  c--   bottom drag
360        il=ilnblnk( xx_bottomdrag_file )        il=ilnblnk( xx_bottomdrag_file )
361        write(fnamebottomdrag(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
362       &     xx_bottomdrag_file(1:il),'.',optimcycle       &     xx_bottomdrag_file(1:il),'.',optimcycle
363        call active_read_xy_loc ( fnamebottomdrag, tmpfld2d, 1,        call active_read_xy ( fnamegeneric, tmpfld2d, 1,
364       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
365       &                      mythid, xx_bottomdrag_dummy )       &                      mythid, xx_bottomdrag_dummy )
366        do bj = jtlo,jthi        do bj = jtlo,jthi
367          do bi = itlo,ithi          do bi = itlo,ithi
368            do j = jmin,jmax            do j = jmin,jmax
369              do i = imin,imax              do i = imin,imax
370                bottomdragfld(i,j,bi,bj) = bottomdragfld(i,j,bi,bj)                bottomdragfld(i,j,bi,bj) = bottomdragfld(i,j,bi,bj)
371       &                                   + tmpfld2d(i,j,bi,bj)       &                                   + tmpfld2d(i,j,bi,bj)
372              enddo              enddo
373            enddo            enddo
# Line 296  c--   bottom drag Line 375  c--   bottom drag
375        enddo        enddo
376  #endif  #endif
377    
378    #ifdef ALLOW_EDTAUX_CONTROL
379    c-- zonal eddy stress : edtaux
380          il=ilnblnk( xx_edtaux_file )
381          write(fnamegeneric(1:80),'(2a,i10.10)')
382         &     xx_edtaux_file(1:il),'.',optimcycle
383          call active_read_xyz( fnamegeneric, tmpfld3d, 1,
384         &                      doglobalread, ladinit, optimcycle,
385         &                      mythid, xx_edtaux_dummy )
386          do bj = jtlo,jthi
387            do bi = itlo,ithi
388              do k = 1,nr
389                do j = jmin,jmax
390                  do i = imin,imax
391                    eddyTauX(i,j,k,bi,bj) = eddyTauX(i,j,k,bi,bj) +
392         &            fCori(i,j,bi,bj)*tmpfld3d(i,j,k,bi,bj)
393                  enddo
394                enddo
395              enddo
396           enddo
397          enddo
398    #endif
399    
400    #ifdef ALLOW_EDTAUY_CONTROL
401    c-- meridional eddy stress : edtauy
402          il=ilnblnk( xx_edtauy_file )
403          write(fnamegeneric(1:80),'(2a,i10.10)')
404         &     xx_edtauy_file(1:il),'.',optimcycle
405          call active_read_xyz( fnamegeneric, tmpfld3d, 1,
406         &                      doglobalread, ladinit, optimcycle,
407         &                      mythid, xx_edtauy_dummy )
408          do bj = jtlo,jthi
409            do bi = itlo,ithi
410              do k = 1,nr
411                do j = jmin,jmax
412                  do i = imin,imax
413                    eddyTauY(i,j,k,bi,bj) = eddyTauY(i,j,k,bi,bj) +
414         &            fCoriG(i,j,bi,bj)*tmpfld3d(i,j,k,bi,bj)
415                  enddo
416                enddo
417              enddo
418           enddo
419          enddo
420    #endif
421    
422    #ifdef ALLOW_UVEL0_CONTROL
423    c-- initial zonal velocity
424          il=ilnblnk( xx_uvel_file )
425          write(fnamegeneric(1:80),'(2a,i10.10)')
426         &     xx_uvel_file(1:il),'.',optimcycle
427          call active_read_xyz( fnamegeneric, tmpfld3d, 1,
428         &                      doglobalread, ladinit, optimcycle,
429         &                      mythid, xx_uvel_dummy )
430          do bj = jtlo,jthi
431            do bi = itlo,ithi
432              do k = 1,nr
433                do j = jmin,jmax
434                  do i = imin,imax
435    #ifdef ALLOW_AUTODIFF_OPENAD
436                    uVel(i,j,k,bi,bj) = uVel(i,j,k,bi,bj) +
437         &                                  fac*xx_uvel(i,j,k,bi,bj)
438    #else
439                    uVel(i,j,k,bi,bj) = uVel(i,j,k,bi,bj) +
440         &                                  fac*tmpfld3d(i,j,k,bi,bj)
441    #endif
442                  enddo
443                enddo
444              enddo
445           enddo
446          enddo
447    #endif
448    
449    #ifdef ALLOW_VVEL0_CONTROL
450    c-- initial merid. velocity
451          il=ilnblnk( xx_vvel_file )
452          write(fnamegeneric(1:80),'(2a,i10.10)')
453         &     xx_vvel_file(1:il),'.',optimcycle
454          call active_read_xyz( fnamegeneric, tmpfld3d, 1,
455         &                      doglobalread, ladinit, optimcycle,
456         &                      mythid, xx_vvel_dummy )
457          do bj = jtlo,jthi
458            do bi = itlo,ithi
459              do k = 1,nr
460                do j = jmin,jmax
461                  do i = imin,imax
462    #ifdef ALLOW_AUTODIFF_OPENAD
463                    vVel(i,j,k,bi,bj) = vVel(i,j,k,bi,bj) +
464         &                                  fac*xx_vvel(i,j,k,bi,bj)
465    #else
466                    vVel(i,j,k,bi,bj) = vVel(i,j,k,bi,bj) +
467         &                                  fac*tmpfld3d(i,j,k,bi,bj)
468    #endif
469                  enddo
470                enddo
471              enddo
472           enddo
473          enddo
474    #endif
475    
476    #ifdef ALLOW_ETAN0_CONTROL
477    c--   initial Eta.
478          il=ilnblnk( xx_etan_file )
479          write(fnamegeneric(1:80),'(2a,i10.10)')
480         &     xx_etan_file(1:il),'.',optimcycle
481          call active_read_xy ( fnamegeneric, tmpfld2d, 1,
482         &                      doglobalread, ladinit, optimcycle,
483         &                      mythid, xx_etan_dummy )
484          do bj = jtlo,jthi
485            do bi = itlo,ithi
486              do j = jmin,jmax
487                do i = imin,imax
488    #ifdef ALLOW_AUTODIFF_OPENAD
489                  etaN(i,j,bi,bj) = etaN(i,j,bi,bj) +
490         &                              fac*xx_etan(i,j,bi,bj)
491    #else
492                  etaN(i,j,bi,bj) = etaN(i,j,bi,bj) +
493         &                              fac*tmpfld2d(i,j,bi,bj)
494    #endif
495                enddo
496              enddo
497            enddo
498          enddo
499    #endif
500    
501    #ifdef ALLOW_RELAXSST_CONTROL
502    c--   SST relaxation coefficient.
503          il=ilnblnk( xx_relaxsst_file )
504          write(fnamegeneric(1:80),'(2a,i10.10)')
505         &     xx_relaxsst_file(1:il),'.',optimcycle
506          call active_read_xy ( fnamegeneric, tmpfld2d, 1,
507         &                      doglobalread, ladinit, optimcycle,
508         &                      mythid, xx_relaxsst_dummy )
509          do bj = jtlo,jthi
510            do bi = itlo,ithi
511              do j = jmin,jmax
512                do i = imin,imax
513                  lambdaThetaClimRelax(i,j,bi,bj) =
514         &              lambdaThetaClimRelax(i,j,bi,bj)
515         &              + tmpfld2d(i,j,bi,bj)
516                enddo
517              enddo
518            enddo
519          enddo
520    #endif
521    
522    #ifdef ALLOW_RELAXSSS_CONTROL
523    c--   SSS relaxation coefficient.
524          il=ilnblnk( xx_relaxsss_file )
525          write(fnamegeneric(1:80),'(2a,i10.10)')
526         &     xx_relaxsss_file(1:il),'.',optimcycle
527          call active_read_xy ( fnamegeneric, tmpfld2d, 1,
528         &                      doglobalread, ladinit, optimcycle,
529         &                      mythid, xx_relaxsss_dummy )
530          do bj = jtlo,jthi
531            do bi = itlo,ithi
532              do j = jmin,jmax
533                do i = imin,imax
534                  lambdaSaltClimRelax(i,j,bi,bj) =
535         &              lambdaSaltClimRelax(i,j,bi,bj)
536         &              + tmpfld2d(i,j,bi,bj)
537                enddo
538              enddo
539            enddo
540          enddo
541    #endif
542    
543    #ifdef ALLOW_SEAICE
544          call seaice_ctrl_map_ini( mythid )
545    #endif
546    
547  c--   Update the tile edges.  c--   Update the tile edges.
548    
549  #ifdef ALLOW_THETA0_CONTROL  #if (defined (ALLOW_THETA0_CONTROL) || defined (ALLOW_SST0_CONTROL))
550        _EXCH_XYZ_R8( theta, mythid )        _EXCH_XYZ_R8( theta, mythid )
 cph      _EXCH_XYZ_R8( gtNm1, mythid )  
551  #endif  #endif
552  #ifdef ALLOW_SALT0_CONTROL  #if (defined (ALLOW_SALT0_CONTROL) || defined (ALLOW_SSS0_CONTROL))
553        _EXCH_XYZ_R8(  salt, mythid )        _EXCH_XYZ_R8(  salt, mythid )
 cph      _EXCH_XYZ_R8( gsNm1, mythid )  
554  #endif  #endif
555  #ifdef ALLOW_TR10_CONTROL  #ifdef ALLOW_TR10_CONTROL
556        _EXCH_XYZ_R8(     tr1, mythid )  #ifdef ALLOW_PTRACERS
557  cph      _EXCH_XYZ_R8( gTr1Nm1, mythid )        _EXCH_XYZ_R8(pTracer(1-Olx,1-Oly,1,1,1,1),myThid)
558    #endif
559  #endif  #endif
560  #ifdef ALLOW_DIFFKR_CONTROL  #ifdef ALLOW_DIFFKR_CONTROL
561        _EXCH_XYZ_R8( diffkr, mythid)        _EXCH_XYZ_R8( diffkr, mythid)
# Line 317  cph      _EXCH_XYZ_R8( gTr1Nm1, mythid ) Line 563  cph      _EXCH_XYZ_R8( gTr1Nm1, mythid )
563  #ifdef ALLOW_KAPGM_CONTROL  #ifdef ALLOW_KAPGM_CONTROL
564        _EXCH_XYZ_R8( kapgm, mythid)        _EXCH_XYZ_R8( kapgm, mythid)
565  #endif  #endif
566    #ifdef ALLOW_KAPREDI_CONTROL
567          _EXCH_XYZ_R8( kapredi, mythid)
568    #endif
569  #ifdef ALLOW_EFLUXY0_CONTROL  #ifdef ALLOW_EFLUXY0_CONTROL
570        _EXCH_XYZ_R8( EfluxY, mythid )        _EXCH_XYZ_R8( EfluxY, mythid )
571  #endif  #endif
# Line 327  cph      _EXCH_XYZ_R8( gTr1Nm1, mythid ) Line 576  cph      _EXCH_XYZ_R8( gTr1Nm1, mythid )
576        _EXCH_XY_R8( bottomdragfld, mythid )        _EXCH_XY_R8( bottomdragfld, mythid )
577  #endif  #endif
578    
579    #if (defined (ALLOW_EDTAUX_CONTROL) && defined (ALLOW_EDTAUY_CONTROL))
580           CALL EXCH_UV_XYZ_RS(eddyTauX,eddyTauY,.TRUE.,myThid)
581    #elif (defined (ALLOW_EDTAUX_CONTROL) || defined (ALLOW_EDTAUY_CONTROL))
582           STOP 'ctrl_map_forcing: need BOTH ALLOW_EDTAU[X,Y]_CONTROL'
583    #endif
584    
585    #ifdef ALLOW_UVEL0_CONTROL
586          _EXCH_XYZ_R8( uVel, mythid)
587    #endif
588    
589    #ifdef ALLOW_VVEL0_CONTROL
590          _EXCH_XYZ_R8( vVel, mythid)
591    #endif
592    
593    #ifdef ALLOW_ETAN0_CONTROL
594          _EXCH_XY_R8( etaN, mythid )
595    #endif
596    
597    #ifdef ALLOW_RELAXSST_CONTROL
598          _EXCH_XY_R4( lambdaThetaClimRelax, mythid )
599    #endif
600    
601    #ifdef ALLOW_RELAXSSS_CONTROL
602          _EXCH_XY_R4( lambdaThetaClimRelax, mythid )
603    #endif
604    
605        return        return
606        end        end

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.28

  ViewVC Help
Powered by ViewVC 1.1.22