/[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.8 by heimbach, Tue Jan 21 19:18:35 2003 UTC revision 1.26 by heimbach, Tue Oct 30 20:19:13 2007 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    # include "PTRACERS.h"
36    #endif
37    #ifdef ALLOW_ECCO
38    # include "ecco_cost.h"
39    #endif
40    
41  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
42  c     == routine arguments ==  c     == routine arguments ==
# Line 49  c     == local variables == Line 57  c     == local variables ==
57        logical doglobalread        logical doglobalread
58        logical ladinit        logical ladinit
59    
60        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  
61    
62        _RL     fac        _RL     fac
63          _RL tmptest
64    
65  c     == external ==  c     == external ==
66        integer  ilnblnk        integer  ilnblnk
# Line 90  CEOP Line 92  CEOP
92  #ifdef ALLOW_THETA0_CONTROL  #ifdef ALLOW_THETA0_CONTROL
93  c--   Temperature field.  c--   Temperature field.
94        il=ilnblnk( xx_theta_file )        il=ilnblnk( xx_theta_file )
95        write(fnametheta(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
96       &     xx_theta_file(1:il),'.',optimcycle       &     xx_theta_file(1:il),'.',optimcycle
97        call active_read_xyz( fnametheta, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
98       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
99       &                      mythid, xx_theta_dummy )       &                      mythid, xx_theta_dummy )
100    
# Line 101  c--   Temperature field. Line 103  c--   Temperature field.
103            do k = 1,nr            do k = 1,nr
104              do j = jmin,jmax              do j = jmin,jmax
105                do i = imin,imax                do i = imin,imax
106    #ifdef ALLOW_ECCO
107                   IF (abs(tmpfld3d(i,j,k,bi,bj)).gt.
108         $          2.0/sqrt(wtheta(k,bi,bj)))
109         $          tmpfld3d(i,j,k,bi,bj)=
110         $          sign(2.0/sqrt(wtheta(k,bi,bj)),tmpfld3d(i,j,k,bi,bj))
111    #endif
112    #ifdef ALLOW_AUTODIFF_OPENAD
113                  theta(i,j,k,bi,bj) = theta(i,j,k,bi,bj) +                  theta(i,j,k,bi,bj) = theta(i,j,k,bi,bj) +
114         &                               fac*xx_theta(i,j,k,bi,bj) +
115       &                               fac*tmpfld3d(i,j,k,bi,bj)       &                               fac*tmpfld3d(i,j,k,bi,bj)
116  cph                gtNm1(i,j,k,bi,bj) = gtNm1(i,j,k,bi,bj) +  #else
117  cph     &                               fac*tmpfld3d(i,j,k,bi,bj)                  theta(i,j,k,bi,bj) = theta(i,j,k,bi,bj) +
118         &                               fac*tmpfld3d(i,j,k,bi,bj)
119    #endif
120    #ifndef DISABLE_CTRL_THETA_LIMIT
121                    if(theta(i,j,k,bi,bj).lt.-2.0)
122         &               theta(i,j,k,bi,bj)= -2.0
123    #endif
124                enddo                enddo
125              enddo              enddo
126            enddo            enddo
127         enddo         enddo
128        enddo        enddo
129    
130  #endif  #endif
131    
132  #ifdef ALLOW_SALT0_CONTROL  #ifdef ALLOW_SALT0_CONTROL
133  c--   Temperature field.  c--   Temperature field.
134        il=ilnblnk( xx_salt_file )        il=ilnblnk( xx_salt_file )
135        write(fnamesalt(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
136       &     xx_salt_file(1:il),'.',optimcycle       &     xx_salt_file(1:il),'.',optimcycle
137        call active_read_xyz( fnamesalt, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
138       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
139       &                      mythid, xx_salt_dummy )       &                      mythid, xx_salt_dummy )
140    
# Line 126  c--   Temperature field. Line 143  c--   Temperature field.
143            do k = 1,nr            do k = 1,nr
144              do j = jmin,jmax              do j = jmin,jmax
145                do i = imin,imax                do i = imin,imax
146    #ifdef ALLOW_ECCO
147                   IF (abs(tmpfld3d(i,j,k,bi,bj)).gt.
148         $          2.0/sqrt(wsalt(k,bi,bj)))
149         $          tmpfld3d(i,j,k,bi,bj)=
150         $          sign(2.0/sqrt(wsalt(k,bi,bj)),tmpfld3d(i,j,k,bi,bj))
151    #endif
152    #ifdef ALLOW_AUTODIFF_OPENAD
153                  salt(i,j,k,bi,bj) = salt(i,j,k,bi,bj) +                  salt(i,j,k,bi,bj) = salt(i,j,k,bi,bj) +
154         &                               fac*xx_salt(i,j,k,bi,bj) +
155       &                               fac*tmpfld3d(i,j,k,bi,bj)       &                               fac*tmpfld3d(i,j,k,bi,bj)
156  cph                gsNm1(i,j,k,bi,bj) = gsNm1(i,j,k,bi,bj) +  #else
157  cph     &                               fac*tmpfld3d(i,j,k,bi,bj)                  salt(i,j,k,bi,bj) = salt(i,j,k,bi,bj) +
158         &                               fac*tmpfld3d(i,j,k,bi,bj)
159    #endif
160    
161                enddo                enddo
162              enddo              enddo
163            enddo            enddo
164         enddo         enddo
165        enddo        enddO
166  #endif  #endif
167    
168  #ifdef ALLOW_TR10_CONTROL  #ifdef ALLOW_TR10_CONTROL
169    #ifdef ALLOW_PTRACERS
170  c--   Temperature field.  c--   Temperature field.
171        il=ilnblnk( xx_tr1_file )        il=ilnblnk( xx_tr1_file )
172        write(fnametr1(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
173       &     xx_tr1_file(1:il),'.',optimcycle       &     xx_tr1_file(1:il),'.',optimcycle
174        call active_read_xyz( fnametr1, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
175       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
176       &                      mythid, xx_tr1_dummy )       &                      mythid, xx_tr1_dummy )
177    
# Line 151  c--   Temperature field. Line 180  c--   Temperature field.
180            do k = 1,nr            do k = 1,nr
181              do j = jmin,jmax              do j = jmin,jmax
182                do i = imin,imax                do i = imin,imax
183                  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) +
184       &                               fac*tmpfld3d(i,j,k,bi,bj)       &                               fac*tmpfld3d(i,j,k,bi,bj)
 cph                gtr1Nm1(i,j,k,bi,bj) = gtr1Nm1(i,j,k,bi,bj) +  
 cph     &                               fac*tmpfld3d(i,j,k,bi,bj)  
185                enddo                enddo
186              enddo              enddo
187            enddo            enddo
188         enddo         enddo
189        enddo        enddo
190  #endif  #endif
191    #endif
192    
193    #ifdef ALLOW_SST0_CONTROL
194    c--   sst0.
195          il=ilnblnk( xx_sst_file )
196          write(fnamegeneric(1:80),'(2a,i10.10)')
197         &     xx_sst_file(1:il),'.',optimcycle
198          call active_read_xy ( fnamegeneric, tmpfld2d, 1,
199         &                      doglobalread, ladinit, optimcycle,
200         &                      mythid, xx_sst_dummy )
201          do bj = jtlo,jthi
202            do bi = itlo,ithi
203              do j = jmin,jmax
204                do i = imin,imax
205    cph              sst(i,j,bi,bj) = sst(i,j,bi,bj) + tmpfld2d(i,j,bi,bj)
206                  theta(i,j,1,bi,bj) = theta(i,j,1,bi,bj)
207         &                             + tmpfld2d(i,j,bi,bj)
208                enddo
209              enddo
210            enddo
211          enddo
212    #endif
213    
214    #ifdef ALLOW_SSS0_CONTROL
215    c--   sss0.
216          il=ilnblnk( xx_sss_file )
217          write(fnamegeneric(1:80),'(2a,i10.10)')
218         &     xx_sss_file(1:il),'.',optimcycle
219          call active_read_xy ( fnamegeneric, tmpfld2d, 1,
220         &                      doglobalread, ladinit, optimcycle,
221         &                      mythid, xx_sss_dummy )
222          do bj = jtlo,jthi
223            do bi = itlo,ithi
224              do j = jmin,jmax
225                do i = imin,imax
226    cph              sss(i,j,bi,bj) = sss(i,j,bi,bj) + tmpfld2d(i,j,bi,bj)
227                  salt(i,j,1,bi,bj) = salt(i,j,1,bi,bj)
228         &                             + tmpfld2d(i,j,bi,bj)
229                enddo
230              enddo
231            enddo
232          enddo
233    #endif
234    
235  #ifdef ALLOW_DIFFKR_CONTROL  #ifdef ALLOW_DIFFKR_CONTROL
236  c--   diffkr.  c--   diffkr.
237        il=ilnblnk( xx_diffkr_file )        il=ilnblnk( xx_diffkr_file )
238        write(fnamediffkr(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
239       &     xx_diffkr_file(1:il),'.',optimcycle       &     xx_diffkr_file(1:il),'.',optimcycle
240        call active_read_xyz( fnamediffkr, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
241       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
242       &                      mythid, xx_diffkr_dummy )       &                      mythid, xx_diffkr_dummy )
243        do bj = jtlo,jthi        do bj = jtlo,jthi
# Line 187  c--   diffkr. Line 257  c--   diffkr.
257  #ifdef ALLOW_KAPGM_CONTROL  #ifdef ALLOW_KAPGM_CONTROL
258  c--   kapgm.  c--   kapgm.
259        il=ilnblnk( xx_kapgm_file )        il=ilnblnk( xx_kapgm_file )
260        write(fnamekapgm(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
261       &     xx_kapgm_file(1:il),'.',optimcycle       &     xx_kapgm_file(1:il),'.',optimcycle
262        call active_read_xyz( fnamekapgm, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
263       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
264       &                      mythid, xx_kapgm_dummy )       &                      mythid, xx_kapgm_dummy )
265        do bj = jtlo,jthi        do bj = jtlo,jthi
# Line 209  c--   kapgm. Line 279  c--   kapgm.
279  #ifdef ALLOW_EFLUXY0_CONTROL  #ifdef ALLOW_EFLUXY0_CONTROL
280  c--   y-component EP-flux field.  c--   y-component EP-flux field.
281        il=ilnblnk( xx_efluxy_file )        il=ilnblnk( xx_efluxy_file )
282        write(fnameefluxy(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
283       &     xx_efluxy_file(1:il),'.',optimcycle       &     xx_efluxy_file(1:il),'.',optimcycle
284        call active_read_xyz( fnameefluxy, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
285       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
286       &                      mythid, xx_efluxy_dummy )       &                      mythid, xx_efluxy_dummy )
287    
# Line 236  cph     & Line 306  cph     &
306  #ifdef ALLOW_EFLUXP0_CONTROL  #ifdef ALLOW_EFLUXP0_CONTROL
307  c--   p-component EP-flux field.  c--   p-component EP-flux field.
308        il=ilnblnk( xx_efluxp_file )        il=ilnblnk( xx_efluxp_file )
309        write(fnameefluxp(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
310       &     xx_efluxp_file(1:il),'.',optimcycle       &     xx_efluxp_file(1:il),'.',optimcycle
311        call active_read_xyz( fnameefluxp, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
312       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
313       &                      mythid, xx_efluxp_dummy )       &                      mythid, xx_efluxp_dummy )
314    
# Line 265  cph     & Line 335  cph     &
335  #ifdef ALLOW_BOTTOMDRAG_CONTROL  #ifdef ALLOW_BOTTOMDRAG_CONTROL
336  c--   bottom drag  c--   bottom drag
337        il=ilnblnk( xx_bottomdrag_file )        il=ilnblnk( xx_bottomdrag_file )
338        write(fnamebottomdrag(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
339       &     xx_bottomdrag_file(1:il),'.',optimcycle       &     xx_bottomdrag_file(1:il),'.',optimcycle
340        call active_read_xy ( fnamebottomdrag, tmpfld2d, 1,        call active_read_xy ( fnamegeneric, tmpfld2d, 1,
341       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
342       &                      mythid, xx_bottomdrag_dummy )       &                      mythid, xx_bottomdrag_dummy )
343        do bj = jtlo,jthi        do bj = jtlo,jthi
344          do bi = itlo,ithi          do bi = itlo,ithi
345            do j = jmin,jmax            do j = jmin,jmax
346              do i = imin,imax              do i = imin,imax
347                bottomdragfld(i,j,bi,bj) = bottomdragfld(i,j,bi,bj)                bottomdragfld(i,j,bi,bj) = bottomdragfld(i,j,bi,bj)
348       &                                   + tmpfld2d(i,j,bi,bj)       &                                   + tmpfld2d(i,j,bi,bj)
349              enddo              enddo
350            enddo            enddo
# Line 282  c--   bottom drag Line 352  c--   bottom drag
352        enddo        enddo
353  #endif  #endif
354    
355    #ifdef ALLOW_EDTAUX_CONTROL
356    c-- zonal eddy stress : edtaux
357          il=ilnblnk( xx_edtaux_file )
358          write(fnamegeneric(1:80),'(2a,i10.10)')
359         &     xx_edtaux_file(1:il),'.',optimcycle
360          call active_read_xyz( fnamegeneric, tmpfld3d, 1,
361         &                      doglobalread, ladinit, optimcycle,
362         &                      mythid, xx_edtaux_dummy )
363          do bj = jtlo,jthi
364            do bi = itlo,ithi
365              do k = 1,nr
366                do j = jmin,jmax
367                  do i = imin,imax
368                    eddyTauX(i,j,k,bi,bj) = eddyTauX(i,j,k,bi,bj) +
369         &            fCori(i,j,bi,bj)*tmpfld3d(i,j,k,bi,bj)
370                  enddo
371                enddo
372              enddo
373           enddo
374          enddo
375    #endif
376    
377    #ifdef ALLOW_EDTAUY_CONTROL
378    c-- meridional eddy stress : edtauy
379          il=ilnblnk( xx_edtauy_file )
380          write(fnamegeneric(1:80),'(2a,i10.10)')
381         &     xx_edtauy_file(1:il),'.',optimcycle
382          call active_read_xyz( fnamegeneric, tmpfld3d, 1,
383         &                      doglobalread, ladinit, optimcycle,
384         &                      mythid, xx_edtauy_dummy )
385          do bj = jtlo,jthi
386            do bi = itlo,ithi
387              do k = 1,nr
388                do j = jmin,jmax
389                  do i = imin,imax
390                    eddyTauY(i,j,k,bi,bj) = eddyTauY(i,j,k,bi,bj) +
391         &            fCoriG(i,j,bi,bj)*tmpfld3d(i,j,k,bi,bj)
392                  enddo
393                enddo
394              enddo
395           enddo
396          enddo
397    #endif
398    
399    #ifdef ALLOW_UVEL0_CONTROL
400    c-- initial zonal velocity
401          il=ilnblnk( xx_uvel_file )
402          write(fnamegeneric(1:80),'(2a,i10.10)')
403         &     xx_uvel_file(1:il),'.',optimcycle
404          call active_read_xyz( fnamegeneric, tmpfld3d, 1,
405         &                      doglobalread, ladinit, optimcycle,
406         &                      mythid, xx_uvel_dummy )
407          do bj = jtlo,jthi
408            do bi = itlo,ithi
409              do k = 1,nr
410                do j = jmin,jmax
411                  do i = imin,imax
412    #ifdef ALLOW_AUTODIFF_OPENAD
413                    uVel(i,j,k,bi,bj) = uVel(i,j,k,bi,bj) +
414         &                                  fac*xx_uvel(i,j,k,bi,bj)
415    #else
416                    uVel(i,j,k,bi,bj) = uVel(i,j,k,bi,bj) +
417         &                                  fac*tmpfld3d(i,j,k,bi,bj)
418    #endif
419                  enddo
420                enddo
421              enddo
422           enddo
423          enddo
424    #endif
425    
426    #ifdef ALLOW_VVEL0_CONTROL
427    c-- initial merid. velocity
428          il=ilnblnk( xx_vvel_file )
429          write(fnamegeneric(1:80),'(2a,i10.10)')
430         &     xx_vvel_file(1:il),'.',optimcycle
431          call active_read_xyz( fnamegeneric, tmpfld3d, 1,
432         &                      doglobalread, ladinit, optimcycle,
433         &                      mythid, xx_vvel_dummy )
434          do bj = jtlo,jthi
435            do bi = itlo,ithi
436              do k = 1,nr
437                do j = jmin,jmax
438                  do i = imin,imax
439    #ifdef ALLOW_AUTODIFF_OPENAD
440                    vVel(i,j,k,bi,bj) = vVel(i,j,k,bi,bj) +
441         &                                  fac*xx_vvel(i,j,k,bi,bj)
442    #else
443                    vVel(i,j,k,bi,bj) = vVel(i,j,k,bi,bj) +
444         &                                  fac*tmpfld3d(i,j,k,bi,bj)
445    #endif
446                  enddo
447                enddo
448              enddo
449           enddo
450          enddo
451    #endif
452    
453    #ifdef ALLOW_ETAN0_CONTROL
454    c--   initial Eta.
455          il=ilnblnk( xx_etan_file )
456          write(fnamegeneric(1:80),'(2a,i10.10)')
457         &     xx_etan_file(1:il),'.',optimcycle
458          call active_read_xy ( fnamegeneric, tmpfld2d, 1,
459         &                      doglobalread, ladinit, optimcycle,
460         &                      mythid, xx_etan_dummy )
461          do bj = jtlo,jthi
462            do bi = itlo,ithi
463              do j = jmin,jmax
464                do i = imin,imax
465    #ifdef ALLOW_AUTODIFF_OPENAD
466                  etaN(i,j,bi,bj) = etaN(i,j,bi,bj) +
467         &                              fac*xx_etan(i,j,bi,bj)
468    #else
469                  etaN(i,j,bi,bj) = etaN(i,j,bi,bj) +
470         &                              fac*tmpfld2d(i,j,bi,bj)
471    #endif
472                enddo
473              enddo
474            enddo
475          enddo
476    #endif
477    
478    #ifdef ALLOW_RELAXSST_CONTROL
479    c--   SST relaxation coefficient.
480          il=ilnblnk( xx_relaxsst_file )
481          write(fnamegeneric(1:80),'(2a,i10.10)')
482         &     xx_relaxsst_file(1:il),'.',optimcycle
483          call active_read_xy ( fnamegeneric, tmpfld2d, 1,
484         &                      doglobalread, ladinit, optimcycle,
485         &                      mythid, xx_relaxsst_dummy )
486          do bj = jtlo,jthi
487            do bi = itlo,ithi
488              do j = jmin,jmax
489                do i = imin,imax
490                  lambdaThetaClimRelax(i,j,bi,bj) =
491         &              lambdaThetaClimRelax(i,j,bi,bj)
492         &              + tmpfld2d(i,j,bi,bj)
493                enddo
494              enddo
495            enddo
496          enddo
497    #endif
498    
499    #ifdef ALLOW_RELAXSSS_CONTROL
500    c--   SSS relaxation coefficient.
501          il=ilnblnk( xx_relaxsss_file )
502          write(fnamegeneric(1:80),'(2a,i10.10)')
503         &     xx_relaxsss_file(1:il),'.',optimcycle
504          call active_read_xy ( fnamegeneric, tmpfld2d, 1,
505         &                      doglobalread, ladinit, optimcycle,
506         &                      mythid, xx_relaxsss_dummy )
507          do bj = jtlo,jthi
508            do bi = itlo,ithi
509              do j = jmin,jmax
510                do i = imin,imax
511                  lambdaSaltClimRelax(i,j,bi,bj) =
512         &              lambdaSaltClimRelax(i,j,bi,bj)
513         &              + tmpfld2d(i,j,bi,bj)
514                enddo
515              enddo
516            enddo
517          enddo
518    #endif
519    
520    #ifdef ALLOW_SEAICE
521          call seaice_ctrl_map_ini( mythid )
522    #endif
523    
524  c--   Update the tile edges.  c--   Update the tile edges.
525    
526  #ifdef ALLOW_THETA0_CONTROL  #if (defined (ALLOW_THETA0_CONTROL) || defined (ALLOW_SST0_CONTROL))
527        _EXCH_XYZ_R8( theta, mythid )        _EXCH_XYZ_R8( theta, mythid )
 cph      _EXCH_XYZ_R8( gtNm1, mythid )  
528  #endif  #endif
529  #ifdef ALLOW_SALT0_CONTROL  #if (defined (ALLOW_SALT0_CONTROL) || defined (ALLOW_SSS0_CONTROL))
530        _EXCH_XYZ_R8(  salt, mythid )        _EXCH_XYZ_R8(  salt, mythid )
 cph      _EXCH_XYZ_R8( gsNm1, mythid )  
531  #endif  #endif
532  #ifdef ALLOW_TR10_CONTROL  #ifdef ALLOW_TR10_CONTROL
533        _EXCH_XYZ_R8(     tr1, mythid )  #ifdef ALLOW_PTRACERS
534  cph      _EXCH_XYZ_R8( gTr1Nm1, mythid )        _EXCH_XYZ_R8(pTracer(1-Olx,1-Oly,1,1,1,1),myThid)
535    #endif
536  #endif  #endif
537  #ifdef ALLOW_DIFFKR_CONTROL  #ifdef ALLOW_DIFFKR_CONTROL
538        _EXCH_XYZ_R8( diffkr, mythid)        _EXCH_XYZ_R8( diffkr, mythid)
# Line 313  cph      _EXCH_XYZ_R8( gTr1Nm1, mythid ) Line 550  cph      _EXCH_XYZ_R8( gTr1Nm1, mythid )
550        _EXCH_XY_R8( bottomdragfld, mythid )        _EXCH_XY_R8( bottomdragfld, mythid )
551  #endif  #endif
552    
553    #if (defined (ALLOW_EDTAUX_CONTROL) && defined (ALLOW_EDTAUY_CONTROL))
554           CALL EXCH_UV_XYZ_RS(eddyTauX,eddyTauY,.TRUE.,myThid)
555    #elif (defined (ALLOW_EDTAUX_CONTROL) || defined (ALLOW_EDTAUY_CONTROL))
556           STOP 'ctrl_map_forcing: need BOTH ALLOW_EDTAU[X,Y]_CONTROL'
557    #endif
558    
559    #ifdef ALLOW_UVEL0_CONTROL
560          _EXCH_XYZ_R8( uVel, mythid)
561    #endif
562    
563    #ifdef ALLOW_VVEL0_CONTROL
564          _EXCH_XYZ_R8( vVel, mythid)
565    #endif
566    
567    #ifdef ALLOW_ETAN0_CONTROL
568          _EXCH_XY_R8( etaN, mythid )
569    #endif
570    
571    #ifdef ALLOW_RELAXSST_CONTROL
572          _EXCH_XY_R4( lambdaThetaClimRelax, mythid )
573    #endif
574    
575    #ifdef ALLOW_RELAXSSS_CONTROL
576          _EXCH_XY_R4( lambdaThetaClimRelax, mythid )
577    #endif
578    
579        return        return
580        end        end

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

  ViewVC Help
Powered by ViewVC 1.1.22