/[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.15 by heimbach, Mon Feb 28 17:29:38 2005 UTC revision 1.27 by jmc, Mon Nov 5 18:56:37 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 31  c     == global variables == Line 32  c     == global variables ==
32  #include "optim.h"  #include "optim.h"
33  #ifdef ALLOW_PTRACERS  #ifdef ALLOW_PTRACERS
34  # include "PTRACERS_SIZE.h"  # include "PTRACERS_SIZE.h"
35  # include "PTRACERS.h"  c#include "PTRACERS_PARAMS.h"
36    # include "PTRACERS_FIELDS.h"
37  #endif  #endif
38  #ifdef ALLOW_ECCO  #ifdef ALLOW_ECCO
39  # include "ecco_cost.h"  # include "ecco_cost.h"
# Line 56  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  
       character*( 80)   fnamesss  
       character*( 80)   fnamesst  
       character*( 80)   fnameedtaux  
       character*( 80)   fnameedtauy  
62    
63        _RL     fac        _RL     fac
64        _RL tmptest        _RL tmptest
# Line 102  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 119  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) +                  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)       &                               fac*tmpfld3d(i,j,k,bi,bj)
117                  if(theta(i,j,k,bi,bj).lt.-2.0)  #else
118       &               theta(i,j,k,bi,bj)= -2.0                  theta(i,j,k,bi,bj) = theta(i,j,k,bi,bj) +
119         &                               fac*tmpfld3d(i,j,k,bi,bj)
120    #endif
121    #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 134  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 151  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) +
155         &                               fac*xx_salt(i,j,k,bi,bj) +
156         &                               fac*tmpfld3d(i,j,k,bi,bj)
157    #else
158                  salt(i,j,k,bi,bj) = salt(i,j,k,bi,bj) +                  salt(i,j,k,bi,bj) = salt(i,j,k,bi,bj) +
159       &                               fac*tmpfld3d(i,j,k,bi,bj)       &                               fac*tmpfld3d(i,j,k,bi,bj)
160    #endif
161    
162                enddo                enddo
163              enddo              enddo
# Line 165  c--   Temperature field. Line 170  c--   Temperature field.
170  #ifdef ALLOW_PTRACERS  #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 189  c--   Temperature field. Line 194  c--   Temperature field.
194  #ifdef ALLOW_SST0_CONTROL  #ifdef ALLOW_SST0_CONTROL
195  c--   sst0.  c--   sst0.
196        il=ilnblnk( xx_sst_file )        il=ilnblnk( xx_sst_file )
197        write(fnamesst(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
198       &     xx_sst_file(1:il),'.',optimcycle       &     xx_sst_file(1:il),'.',optimcycle
199        call active_read_xy_loc ( fnamesst, tmpfld2d, 1,        call active_read_xy ( fnamegeneric, tmpfld2d, 1,
200       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
201       &                      mythid, xx_sst_dummy )       &                      mythid, xx_sst_dummy )
202        do bj = jtlo,jthi        do bj = jtlo,jthi
# Line 199  c--   sst0. Line 204  c--   sst0.
204            do j = jmin,jmax            do j = jmin,jmax
205              do i = imin,imax              do i = imin,imax
206  cph              sst(i,j,bi,bj) = sst(i,j,bi,bj) + tmpfld2d(i,j,bi,bj)  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)                theta(i,j,1,bi,bj) = theta(i,j,1,bi,bj)
208       &                             + tmpfld2d(i,j,bi,bj)       &                             + tmpfld2d(i,j,bi,bj)
209              enddo              enddo
210            enddo            enddo
# Line 210  cph              sst(i,j,bi,bj) = sst(i, Line 215  cph              sst(i,j,bi,bj) = sst(i,
215  #ifdef ALLOW_SSS0_CONTROL  #ifdef ALLOW_SSS0_CONTROL
216  c--   sss0.  c--   sss0.
217        il=ilnblnk( xx_sss_file )        il=ilnblnk( xx_sss_file )
218        write(fnamesss(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
219       &     xx_sss_file(1:il),'.',optimcycle       &     xx_sss_file(1:il),'.',optimcycle
220        call active_read_xy_loc ( fnamesss, tmpfld2d, 1,        call active_read_xy ( fnamegeneric, tmpfld2d, 1,
221       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
222       &                      mythid, xx_sss_dummy )       &                      mythid, xx_sss_dummy )
223        do bj = jtlo,jthi        do bj = jtlo,jthi
# Line 231  cph              sss(i,j,bi,bj) = sss(i, Line 236  cph              sss(i,j,bi,bj) = sss(i,
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 253  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 275  c--   kapgm. Line 280  c--   kapgm.
280  #ifdef ALLOW_EFLUXY0_CONTROL  #ifdef ALLOW_EFLUXY0_CONTROL
281  c--   y-component EP-flux field.  c--   y-component EP-flux field.
282        il=ilnblnk( xx_efluxy_file )        il=ilnblnk( xx_efluxy_file )
283        write(fnameefluxy(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
284       &     xx_efluxy_file(1:il),'.',optimcycle       &     xx_efluxy_file(1:il),'.',optimcycle
285        call active_read_xyz_loc( fnameefluxy, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
286       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
287       &                      mythid, xx_efluxy_dummy )       &                      mythid, xx_efluxy_dummy )
288    
# Line 302  cph     & Line 307  cph     &
307  #ifdef ALLOW_EFLUXP0_CONTROL  #ifdef ALLOW_EFLUXP0_CONTROL
308  c--   p-component EP-flux field.  c--   p-component EP-flux field.
309        il=ilnblnk( xx_efluxp_file )        il=ilnblnk( xx_efluxp_file )
310        write(fnameefluxp(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
311       &     xx_efluxp_file(1:il),'.',optimcycle       &     xx_efluxp_file(1:il),'.',optimcycle
312        call active_read_xyz_loc( fnameefluxp, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
313       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
314       &                      mythid, xx_efluxp_dummy )       &                      mythid, xx_efluxp_dummy )
315    
# Line 331  cph     & Line 336  cph     &
336  #ifdef ALLOW_BOTTOMDRAG_CONTROL  #ifdef ALLOW_BOTTOMDRAG_CONTROL
337  c--   bottom drag  c--   bottom drag
338        il=ilnblnk( xx_bottomdrag_file )        il=ilnblnk( xx_bottomdrag_file )
339        write(fnamebottomdrag(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
340       &     xx_bottomdrag_file(1:il),'.',optimcycle       &     xx_bottomdrag_file(1:il),'.',optimcycle
341        call active_read_xy_loc ( fnamebottomdrag, tmpfld2d, 1,        call active_read_xy ( fnamegeneric, tmpfld2d, 1,
342       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
343       &                      mythid, xx_bottomdrag_dummy )       &                      mythid, xx_bottomdrag_dummy )
344        do bj = jtlo,jthi        do bj = jtlo,jthi
345          do bi = itlo,ithi          do bi = itlo,ithi
346            do j = jmin,jmax            do j = jmin,jmax
347              do i = imin,imax              do i = imin,imax
348                bottomdragfld(i,j,bi,bj) = bottomdragfld(i,j,bi,bj)                bottomdragfld(i,j,bi,bj) = bottomdragfld(i,j,bi,bj)
349       &                                   + tmpfld2d(i,j,bi,bj)       &                                   + tmpfld2d(i,j,bi,bj)
350              enddo              enddo
351            enddo            enddo
# Line 348  c--   bottom drag Line 353  c--   bottom drag
353        enddo        enddo
354  #endif  #endif
355    
356  fdef ALLOW_EDTAUX_CONTROL  #ifdef ALLOW_EDTAUX_CONTROL
357  c-- zonal eddy stress : edtaux  c-- zonal eddy stress : edtaux
358        il=ilnblnk( xx_edtaux_file )        il=ilnblnk( xx_edtaux_file )
359        write(fnameedtaux(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
360       &     xx_edtaux_file(1:il),'.',optimcycle       &     xx_edtaux_file(1:il),'.',optimcycle
361        call active_read_xyz( fnameedtaux, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
362       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
363       &                      mythid, xx_edtaux_dummy )       &                      mythid, xx_edtaux_dummy )
364        do bj = jtlo,jthi        do bj = jtlo,jthi
# Line 361  c-- zonal eddy stress : edtaux Line 366  c-- zonal eddy stress : edtaux
366            do k = 1,nr            do k = 1,nr
367              do j = jmin,jmax              do j = jmin,jmax
368                do i = imin,imax                do i = imin,imax
369                  Eddytaux(i,j,k,bi,bj) = Eddytaux(i,j,k,bi,bj) +                  eddyTauX(i,j,k,bi,bj) = eddyTauX(i,j,k,bi,bj) +
370       &                                tmpfld3d(i,j,k,bi,bj)       &            fCori(i,j,bi,bj)*tmpfld3d(i,j,k,bi,bj)
371                enddo                enddo
372              enddo              enddo
373            enddo            enddo
# Line 373  c-- zonal eddy stress : edtaux Line 378  c-- zonal eddy stress : edtaux
378  #ifdef ALLOW_EDTAUY_CONTROL  #ifdef ALLOW_EDTAUY_CONTROL
379  c-- meridional eddy stress : edtauy  c-- meridional eddy stress : edtauy
380        il=ilnblnk( xx_edtauy_file )        il=ilnblnk( xx_edtauy_file )
381        write(fnameedtauy(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
382       &     xx_edtauy_file(1:il),'.',optimcycle       &     xx_edtauy_file(1:il),'.',optimcycle
383        call active_read_xyz( fnameedtauy, tmpfld3d, 1,        call active_read_xyz( fnamegeneric, tmpfld3d, 1,
384       &                      doglobalread, ladinit, optimcycle,       &                      doglobalread, ladinit, optimcycle,
385       &                      mythid, xx_edtauy_dummy )       &                      mythid, xx_edtauy_dummy )
386        do bj = jtlo,jthi        do bj = jtlo,jthi
# Line 383  c-- meridional eddy stress : edtauy Line 388  c-- meridional eddy stress : edtauy
388            do k = 1,nr            do k = 1,nr
389              do j = jmin,jmax              do j = jmin,jmax
390                do i = imin,imax                do i = imin,imax
391                  Eddytauy(i,j,k,bi,bj) = Eddytauy(i,j,k,bi,bj) +                  eddyTauY(i,j,k,bi,bj) = eddyTauY(i,j,k,bi,bj) +
392       &                                tmpfld3d(i,j,k,bi,bj)       &            fCoriG(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_UVEL0_CONTROL
401    c-- initial zonal velocity
402          il=ilnblnk( xx_uvel_file )
403          write(fnamegeneric(1:80),'(2a,i10.10)')
404         &     xx_uvel_file(1:il),'.',optimcycle
405          call active_read_xyz( fnamegeneric, tmpfld3d, 1,
406         &                      doglobalread, ladinit, optimcycle,
407         &                      mythid, xx_uvel_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    #ifdef ALLOW_AUTODIFF_OPENAD
414                    uVel(i,j,k,bi,bj) = uVel(i,j,k,bi,bj) +
415         &                                  fac*xx_uvel(i,j,k,bi,bj)
416    #else
417                    uVel(i,j,k,bi,bj) = uVel(i,j,k,bi,bj) +
418         &                                  fac*tmpfld3d(i,j,k,bi,bj)
419    #endif
420                enddo                enddo
421              enddo              enddo
422            enddo            enddo
# Line 392  c-- meridional eddy stress : edtauy Line 424  c-- meridional eddy stress : edtauy
424        enddo        enddo
425  #endif  #endif
426    
427    #ifdef ALLOW_VVEL0_CONTROL
428    c-- initial merid. velocity
429          il=ilnblnk( xx_vvel_file )
430          write(fnamegeneric(1:80),'(2a,i10.10)')
431         &     xx_vvel_file(1:il),'.',optimcycle
432          call active_read_xyz( fnamegeneric, tmpfld3d, 1,
433         &                      doglobalread, ladinit, optimcycle,
434         &                      mythid, xx_vvel_dummy )
435          do bj = jtlo,jthi
436            do bi = itlo,ithi
437              do k = 1,nr
438                do j = jmin,jmax
439                  do i = imin,imax
440    #ifdef ALLOW_AUTODIFF_OPENAD
441                    vVel(i,j,k,bi,bj) = vVel(i,j,k,bi,bj) +
442         &                                  fac*xx_vvel(i,j,k,bi,bj)
443    #else
444                    vVel(i,j,k,bi,bj) = vVel(i,j,k,bi,bj) +
445         &                                  fac*tmpfld3d(i,j,k,bi,bj)
446    #endif
447                  enddo
448                enddo
449              enddo
450           enddo
451          enddo
452    #endif
453    
454    #ifdef ALLOW_ETAN0_CONTROL
455    c--   initial Eta.
456          il=ilnblnk( xx_etan_file )
457          write(fnamegeneric(1:80),'(2a,i10.10)')
458         &     xx_etan_file(1:il),'.',optimcycle
459          call active_read_xy ( fnamegeneric, tmpfld2d, 1,
460         &                      doglobalread, ladinit, optimcycle,
461         &                      mythid, xx_etan_dummy )
462          do bj = jtlo,jthi
463            do bi = itlo,ithi
464              do j = jmin,jmax
465                do i = imin,imax
466    #ifdef ALLOW_AUTODIFF_OPENAD
467                  etaN(i,j,bi,bj) = etaN(i,j,bi,bj) +
468         &                              fac*xx_etan(i,j,bi,bj)
469    #else
470                  etaN(i,j,bi,bj) = etaN(i,j,bi,bj) +
471         &                              fac*tmpfld2d(i,j,bi,bj)
472    #endif
473                enddo
474              enddo
475            enddo
476          enddo
477    #endif
478    
479    #ifdef ALLOW_RELAXSST_CONTROL
480    c--   SST relaxation coefficient.
481          il=ilnblnk( xx_relaxsst_file )
482          write(fnamegeneric(1:80),'(2a,i10.10)')
483         &     xx_relaxsst_file(1:il),'.',optimcycle
484          call active_read_xy ( fnamegeneric, tmpfld2d, 1,
485         &                      doglobalread, ladinit, optimcycle,
486         &                      mythid, xx_relaxsst_dummy )
487          do bj = jtlo,jthi
488            do bi = itlo,ithi
489              do j = jmin,jmax
490                do i = imin,imax
491                  lambdaThetaClimRelax(i,j,bi,bj) =
492         &              lambdaThetaClimRelax(i,j,bi,bj)
493         &              + tmpfld2d(i,j,bi,bj)
494                enddo
495              enddo
496            enddo
497          enddo
498    #endif
499    
500    #ifdef ALLOW_RELAXSSS_CONTROL
501    c--   SSS relaxation coefficient.
502          il=ilnblnk( xx_relaxsss_file )
503          write(fnamegeneric(1:80),'(2a,i10.10)')
504         &     xx_relaxsss_file(1:il),'.',optimcycle
505          call active_read_xy ( fnamegeneric, tmpfld2d, 1,
506         &                      doglobalread, ladinit, optimcycle,
507         &                      mythid, xx_relaxsss_dummy )
508          do bj = jtlo,jthi
509            do bi = itlo,ithi
510              do j = jmin,jmax
511                do i = imin,imax
512                  lambdaSaltClimRelax(i,j,bi,bj) =
513         &              lambdaSaltClimRelax(i,j,bi,bj)
514         &              + tmpfld2d(i,j,bi,bj)
515                enddo
516              enddo
517            enddo
518          enddo
519    #endif
520    
521    #ifdef ALLOW_SEAICE
522          call seaice_ctrl_map_ini( mythid )
523    #endif
524    
525  c--   Update the tile edges.  c--   Update the tile edges.
526    
527  #if (defined (ALLOW_THETA0_CONTROL) || defined (ALLOW_SST0_CONTROL))  #if (defined (ALLOW_THETA0_CONTROL) || defined (ALLOW_SST0_CONTROL))
# Line 422  c--   Update the tile edges. Line 552  c--   Update the tile edges.
552  #endif  #endif
553    
554  #if (defined (ALLOW_EDTAUX_CONTROL) && defined (ALLOW_EDTAUY_CONTROL))  #if (defined (ALLOW_EDTAUX_CONTROL) && defined (ALLOW_EDTAUY_CONTROL))
555         CALL EXCH_UV_XYZ_RS(Eddytaux,Eddytauy,.TRUE.,myThid)         CALL EXCH_UV_XYZ_RS(eddyTauX,eddyTauY,.TRUE.,myThid)
556  #elif (defined (ALLOW_EDTAUX_CONTROL) || defined (ALLOW_EDTAUY_CONTROL))  #elif (defined (ALLOW_EDTAUX_CONTROL) || defined (ALLOW_EDTAUY_CONTROL))
557         STOP 'ctrl_map_forcing: need BOTH ALLOW_EDTAU[X,Y]_CONTROL'         STOP 'ctrl_map_forcing: need BOTH ALLOW_EDTAU[X,Y]_CONTROL'
558  #endif  #endif
559    
560    #ifdef ALLOW_UVEL0_CONTROL
561          _EXCH_XYZ_R8( uVel, mythid)
562    #endif
563    
564    #ifdef ALLOW_VVEL0_CONTROL
565          _EXCH_XYZ_R8( vVel, mythid)
566    #endif
567    
568    #ifdef ALLOW_ETAN0_CONTROL
569          _EXCH_XY_R8( etaN, mythid )
570    #endif
571    
572    #ifdef ALLOW_RELAXSST_CONTROL
573          _EXCH_XY_R4( lambdaThetaClimRelax, mythid )
574    #endif
575    
576    #ifdef ALLOW_RELAXSSS_CONTROL
577          _EXCH_XY_R4( lambdaThetaClimRelax, mythid )
578    #endif
579    
580        return        return
581        end        end
582    

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.27

  ViewVC Help
Powered by ViewVC 1.1.22