/[MITgcm]/MITgcm_contrib/gael/pkg/smooth2/smooth_diff3D.F
ViewVC logotype

Diff of /MITgcm_contrib/gael/pkg/smooth2/smooth_diff3D.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.1 by gforget, Sun Oct 25 21:24:03 2009 UTC revision 1.2 by jmc, Fri Nov 13 19:52:32 2009 UTC
# Line 26  c#include "optim.h" Line 26  c#include "optim.h"
26  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
27  #include "smooth.h"  #include "smooth.h"
28    
29        integer i,j,k, bi,bj, iMin,iMax,jMin,jMax        integer i,j,k, bi,bj, iMin,iMax,jMin,jMax
30        integer itlo,ithi, jtlo,jthi        integer itlo,ithi, jtlo,jthi
31        integer myThid, myIter(nSx,nSy)        integer myThid, myIter(nSx,nSy)
32        integer mykkey, smoothkey        integer mykkey, smoothkey
# Line 42  c#include "optim.h" Line 42  c#include "optim.h"
42    
43  c for now: useless, because level 3 is recomputed anyway  c for now: useless, because level 3 is recomputed anyway
44  c but : if level3 was computed during the fwd loop by callung  c but : if level3 was computed during the fwd loop by callung
45  c       mdsmooth_diff3D (assumes that it would be called  c       mdsmooth_diff3D (assumes that it would be called
46  c       directly by the_main_loop) then I would need to pass key_in  c       directly by the_main_loop) then I would need to pass key_in
47  c       as a parameter, with different values for T, S, ...  c       as a parameter, with different values for T, S, ...
48  c       in order not to overwrite the same tape  c       in order not to overwrite the same tape
49        key_in=0        key_in=0
50    
51        jtlo = mybylo(mythid)        jtlo = mybylo(mythid)
# Line 92  CADJ INIT tape_smooth_lev2 = USER Line 92  CADJ INIT tape_smooth_lev2 = USER
92        do ilev_2 = 1,nchklev_2        do ilev_2 = 1,nchklev_2
93           if(ilev_2.le.max_lev2) then           if(ilev_2.le.max_lev2) then
94  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
95  CADJ STORE fld_in = tape_smooth_lev2 ,  CADJ STORE fld_in = tape_smooth_lev2 ,
96  CADJ & key = key_in*nchklev_2 + ilev_2  CADJ & key = key_in*nchklev_2 + ilev_2
97  CADJ STORE gTm1_in = tape_smooth_lev2 ,  CADJ STORE gTm1_in = tape_smooth_lev2 ,
98  CADJ & key = key_in*nchklev_2 + ilev_2  CADJ & key = key_in*nchklev_2 + ilev_2
99  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
100  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
# Line 107  CADJ & nchklev_1*nsx*nsy*nthreads_chkpt Line 107  CADJ & nchklev_1*nsx*nsy*nthreads_chkpt
107        if ( iloop .le. nbt_in ) then        if ( iloop .le. nbt_in ) then
108    
109  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
110  CADJ STORE gTm1_in(:,:,:,bi,bj) = tape_smooth_lev1 ,    CADJ STORE gTm1_in(:,:,:,bi,bj) = tape_smooth_lev1 ,
111  CADJ & key = key_in*nchklev_1 + ilev_1  CADJ & key = key_in*nchklev_1 + ilev_1
112  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
113    
# Line 143  c adams bashfort on gT_in: Line 143  c adams bashfort on gT_in:
143       &                        gT_in, gTm1_in,       &                        gT_in, gTm1_in,
144       &                        myIter(bi,bj) , myThid )       &                        myIter(bi,bj) , myThid )
145          ENDDO          ENDDO
146  c time stepping:  c time stepping:
147          DO k=1,Nr          DO k=1,Nr
148           DO j=1-OLy,sNy+OLy           DO j=1-OLy,sNy+OLy
149            DO i=1-OLx,sNx+OLx            DO i=1-OLx,sNx+OLx
# Line 183  CADJ & key = key_in*nchklev_1 + ilev_1 Line 183  CADJ & key = key_in*nchklev_1 + ilev_1
183        endif        endif
184        enddo        enddo
185  #else /* ALLOW_TAMC_CHECKPOINTING */  #else /* ALLOW_TAMC_CHECKPOINTING */
186        enddo        enddo
187  #endif  #endif
188    
189        END        END

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

  ViewVC Help
Powered by ViewVC 1.1.22