/[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.27 by jmc, Mon Nov 5 18:56:37 2007 UTC revision 1.32 by jmc, Tue Apr 28 18:09:28 2009 UTC
# Line 233  cph              sss(i,j,bi,bj) = sss(i, Line 233  cph              sss(i,j,bi,bj) = sss(i,
233        enddo        enddo
234  #endif  #endif
235    
236    #ifdef ALLOW_AUTODIFF
237  #ifdef ALLOW_DIFFKR_CONTROL  #ifdef ALLOW_DIFFKR_CONTROL
238  c--   diffkr.  c--   diffkr.
239        il=ilnblnk( xx_diffkr_file )        il=ilnblnk( xx_diffkr_file )
# Line 246  c--   diffkr. Line 247  c--   diffkr.
247            do k = 1,nr            do k = 1,nr
248              do j = jmin,jmax              do j = jmin,jmax
249                do i = imin,imax                do i = imin,imax
250    #ifdef ALLOW_AUTODIFF_OPENAD
251                  diffkr(i,j,k,bi,bj) = diffkr(i,j,k,bi,bj) +                  diffkr(i,j,k,bi,bj) = diffkr(i,j,k,bi,bj) +
252         &                                xx_diffkr(i,j,k,bi,bj) +
253       &                                tmpfld3d(i,j,k,bi,bj)       &                                tmpfld3d(i,j,k,bi,bj)
254    #else
255                    diffkr(i,j,k,bi,bj) = diffkr(i,j,k,bi,bj) +
256         &                                tmpfld3d(i,j,k,bi,bj)
257    #endif
258                enddo                enddo
259              enddo              enddo
260            enddo            enddo
261         enddo         enddo
262        enddo        enddo
263  #endif  #endif
264    #endif
265    
266    #ifdef ALLOW_AUTODIFF
267  #ifdef ALLOW_KAPGM_CONTROL  #ifdef ALLOW_KAPGM_CONTROL
268  c--   kapgm.  c--   kapgm.
269        il=ilnblnk( xx_kapgm_file )        il=ilnblnk( xx_kapgm_file )
# Line 268  c--   kapgm. Line 277  c--   kapgm.
277            do k = 1,nr            do k = 1,nr
278              do j = jmin,jmax              do j = jmin,jmax
279                do i = imin,imax                do i = imin,imax
280    #ifdef ALLOW_AUTODIFF_OPENAD
281                    kapgm(i,j,k,bi,bj) = kapgm(i,j,k,bi,bj) +
282         &                               xx_kapgm(i,j,k,bi,bj) +
283         &                               tmpfld3d(i,j,k,bi,bj)
284    #else
285                  kapgm(i,j,k,bi,bj) = kapgm(i,j,k,bi,bj) +                  kapgm(i,j,k,bi,bj) = kapgm(i,j,k,bi,bj) +
286       &                               tmpfld3d(i,j,k,bi,bj)       &                               tmpfld3d(i,j,k,bi,bj)
287    #endif
288                  enddo
289                enddo
290              enddo
291           enddo
292          enddo
293    #endif
294    #endif
295    
296    #ifdef ALLOW_AUTODIFF
297    #ifdef ALLOW_KAPREDI_CONTROL
298    c--   kapredi.
299          il=ilnblnk( xx_kapredi_file )
300          write(fnamegeneric(1:80),'(2a,i10.10)')
301         &     xx_kapredi_file(1:il),'.',optimcycle
302          call active_read_xyz( fnamegeneric, tmpfld3d, 1,
303         &                      doglobalread, ladinit, optimcycle,
304         &                      mythid, xx_kapredi_dummy )
305          do bj = jtlo,jthi
306            do bi = itlo,ithi
307              do k = 1,nr
308                do j = jmin,jmax
309                  do i = imin,imax
310                    kapredi(i,j,k,bi,bj) = kapredi(i,j,k,bi,bj) +
311         &                               tmpfld3d(i,j,k,bi,bj)
312                enddo                enddo
313              enddo              enddo
314            enddo            enddo
315         enddo         enddo
316        enddo        enddo
317  #endif  #endif
318    #endif
319    
320  #ifdef ALLOW_EFLUXY0_CONTROL  #ifdef ALLOW_EFLUXY0_CONTROL
321  c--   y-component EP-flux field.  c--   y-component EP-flux field.
# Line 353  c--   bottom drag Line 393  c--   bottom drag
393        enddo        enddo
394  #endif  #endif
395    
396  #ifdef ALLOW_EDTAUX_CONTROL  #ifdef ALLOW_EDDYPSI_CONTROL
397  c-- zonal eddy stress : edtaux  c-- zonal eddy streamfunction : eddyPsiX
398        il=ilnblnk( xx_edtaux_file )        il=ilnblnk( xx_edtaux_file )
399        write(fnamegeneric(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
400       &     xx_edtaux_file(1:il),'.',optimcycle       &     xx_edtaux_file(1:il),'.',optimcycle
# Line 366  c-- zonal eddy stress : edtaux Line 406  c-- zonal eddy stress : edtaux
406            do k = 1,nr            do k = 1,nr
407              do j = jmin,jmax              do j = jmin,jmax
408                do i = imin,imax                do i = imin,imax
409                  eddyTauX(i,j,k,bi,bj) = eddyTauX(i,j,k,bi,bj) +                  eddyPsiX(i,j,k,bi,bj) = eddyPsiX(i,j,k,bi,bj) +
410       &            fCori(i,j,bi,bj)*tmpfld3d(i,j,k,bi,bj)       &            tmpfld3d(i,j,k,bi,bj)
411                enddo                enddo
412              enddo              enddo
413            enddo            enddo
414         enddo         enddo
415        enddo        enddo
416  #endif  c-- meridional eddy streamfunction : eddyPsiY
   
 #ifdef ALLOW_EDTAUY_CONTROL  
 c-- meridional eddy stress : edtauy  
417        il=ilnblnk( xx_edtauy_file )        il=ilnblnk( xx_edtauy_file )
418        write(fnamegeneric(1:80),'(2a,i10.10)')        write(fnamegeneric(1:80),'(2a,i10.10)')
419       &     xx_edtauy_file(1:il),'.',optimcycle       &     xx_edtauy_file(1:il),'.',optimcycle
# Line 388  c-- meridional eddy stress : edtauy Line 425  c-- meridional eddy stress : edtauy
425            do k = 1,nr            do k = 1,nr
426              do j = jmin,jmax              do j = jmin,jmax
427                do i = imin,imax                do i = imin,imax
428                  eddyTauY(i,j,k,bi,bj) = eddyTauY(i,j,k,bi,bj) +                  eddyPsiY(i,j,k,bi,bj) = eddyPsiY(i,j,k,bi,bj) +
429       &            fCoriG(i,j,bi,bj)*tmpfld3d(i,j,k,bi,bj)       &            tmpfld3d(i,j,k,bi,bj)
430                enddo                enddo
431              enddo              enddo
432            enddo            enddo
# Line 525  c--   SSS relaxation coefficient. Line 562  c--   SSS relaxation coefficient.
562  c--   Update the tile edges.  c--   Update the tile edges.
563    
564  #if (defined (ALLOW_THETA0_CONTROL) || defined (ALLOW_SST0_CONTROL))  #if (defined (ALLOW_THETA0_CONTROL) || defined (ALLOW_SST0_CONTROL))
565        _EXCH_XYZ_R8( theta, mythid )        _EXCH_XYZ_RL( theta, mythid )
566  #endif  #endif
567  #if (defined (ALLOW_SALT0_CONTROL) || defined (ALLOW_SSS0_CONTROL))  #if (defined (ALLOW_SALT0_CONTROL) || defined (ALLOW_SSS0_CONTROL))
568        _EXCH_XYZ_R8(  salt, mythid )        _EXCH_XYZ_RL(  salt, mythid )
569  #endif  #endif
570  #ifdef ALLOW_TR10_CONTROL  #ifdef ALLOW_TR10_CONTROL
571  #ifdef ALLOW_PTRACERS  #ifdef ALLOW_PTRACERS
572        _EXCH_XYZ_R8(pTracer(1-Olx,1-Oly,1,1,1,1),myThid)        _EXCH_XYZ_RL(pTracer(1-Olx,1-Oly,1,1,1,1),myThid)
573  #endif  #endif
574  #endif  #endif
575  #ifdef ALLOW_DIFFKR_CONTROL  
576        _EXCH_XYZ_R8( diffkr, mythid)  #ifdef ALLOW_AUTODIFF
577  #endif  # ifdef ALLOW_DIFFKR_CONTROL
578  #ifdef ALLOW_KAPGM_CONTROL        _EXCH_XYZ_RL( diffkr, mythid)
579        _EXCH_XYZ_R8( kapgm, mythid)  # 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  #endif
597    
598  #if (defined (ALLOW_EDTAUX_CONTROL) && defined (ALLOW_EDTAUY_CONTROL))  #ifdef ALLOW_EDDYPSI_CONTROL
599         CALL EXCH_UV_XYZ_RS(eddyTauX,eddyTauY,.TRUE.,myThid)         CALL EXCH_UV_XYZ_RS(eddyPsiX,eddyPsiY,.TRUE.,myThid)
 #elif (defined (ALLOW_EDTAUX_CONTROL) || defined (ALLOW_EDTAUY_CONTROL))  
        STOP 'ctrl_map_forcing: need BOTH ALLOW_EDTAU[X,Y]_CONTROL'  
600  #endif  #endif
601    
602  #ifdef ALLOW_UVEL0_CONTROL  #ifdef ALLOW_UVEL0_CONTROL
603        _EXCH_XYZ_R8( uVel, mythid)        _EXCH_XYZ_RL( uVel, mythid)
604  #endif  #endif
605    
606  #ifdef ALLOW_VVEL0_CONTROL  #ifdef ALLOW_VVEL0_CONTROL
607        _EXCH_XYZ_R8( vVel, mythid)        _EXCH_XYZ_RL( vVel, mythid)
608  #endif  #endif
609    
610  #ifdef ALLOW_ETAN0_CONTROL  #ifdef ALLOW_ETAN0_CONTROL
611        _EXCH_XY_R8( etaN, mythid )        _EXCH_XY_RL( etaN, mythid )
612  #endif  #endif
613    
614  #ifdef ALLOW_RELAXSST_CONTROL  #ifdef ALLOW_RELAXSST_CONTROL
615        _EXCH_XY_R4( lambdaThetaClimRelax, mythid )        _EXCH_XY_RS( lambdaThetaClimRelax, mythid )
616  #endif  #endif
617    
618  #ifdef ALLOW_RELAXSSS_CONTROL  #ifdef ALLOW_RELAXSSS_CONTROL
619        _EXCH_XY_R4( lambdaThetaClimRelax, mythid )        _EXCH_XY_RS( lambdaThetaClimRelax, mythid )
620  #endif  #endif
621    
622        return        return

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

  ViewVC Help
Powered by ViewVC 1.1.22