/[MITgcm]/MITgcm/pkg/autodiff/autodiff_store.F
ViewVC logotype

Diff of /MITgcm/pkg/autodiff/autodiff_store.F

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

revision 1.2 by heimbach, Wed Jun 27 22:14:28 2007 UTC revision 1.11 by mlosch, Mon Oct 12 14:36:36 2009 UTC
# Line 32  c     == global variables == Line 32  c     == global variables ==
32  #include "EEPARAMS.h"  #include "EEPARAMS.h"
33  #include "PARAMS.h"  #include "PARAMS.h"
34  c**************************************  c**************************************
 #ifdef ALLOW_AUTODIFF_TAMC  
   
35  c These includes are needed for  c These includes are needed for
36  c AD-checkpointing.  c AD-checkpointing.
37  c They provide the fields to be stored.  c They provide the fields to be stored.
# Line 68  c           updated. Line 66  c           updated.
66  c     mythid - thread number for this instance of the routine.  c     mythid - thread number for this instance of the routine.
67        integer mythid        integer mythid
68    
69    #ifdef ALLOW_AUTODIFF_TAMC
70  c     == local variables ==  c     == local variables ==
71    
72        integer bi,bj        integer bi,bj
# Line 75  c     == local variables == Line 74  c     == local variables ==
74                
75  c--   == end of interface ==  c--   == end of interface ==
76    
77  #ifndef DISABLE_DEBUGMODE  #ifdef ALLOW_DEBUG
78        IF ( debugLevel .GE. debLevB )        IF ( debugLevel .GE. debLevB )
79       &    CALL DEBUG_ENTER('AUTODIFF_STORE',myThid)       &    CALL DEBUG_ENTER('AUTODIFF_STORE',myThid)
80  #endif  #endif
# Line 83  c--   == end of interface == Line 82  c--   == end of interface ==
82  C--   Over all tiles  C--   Over all tiles
83        DO bj = myByLo(myThid), myByHi(myThid)        DO bj = myByLo(myThid), myByHi(myThid)
84         DO bi = myBxLo(myThid), myBxHi(myThid)         DO bi = myBxLo(myThid), myBxHi(myThid)
85    
86    #ifndef AUTODIFF_USE_OLDSTORE_2D
87  C-      2D arrays  C-      2D arrays
88          DO J=1-Oly,sNy+Oly          DO J=1-Oly,sNy+Oly
89           DO I=1-Olx,sNx+Olx           DO I=1-Olx,sNx+Olx
# Line 127  C-      2D arrays Line 128  C-      2D arrays
128  #endif  #endif
129           ENDDO           ENDDO
130          ENDDO          ENDDO
131    #endif /* AUTODIFF_USE_OLDSTORE_2D */
132    
133    #ifndef AUTODIFF_USE_OLDSTORE_3D
134  C-      3D arrays  C-      3D arrays
135          DO K=1,Nr          DO K=1,Nr
136           DO J=1-Oly,sNy+Oly           DO J=1-Oly,sNy+Oly
# Line 146  C-      3D arrays Line 150  C-      3D arrays
150            ENDDO            ENDDO
151           ENDDO           ENDDO
152          ENDDO          ENDDO
153    #endif /* AUTODIFF_USE_OLDSTORE_3D */
154    
155         ENDDO         ENDDO
156        ENDDO        ENDDO
157            
158  #ifdef ALLOW_EXF  #ifdef ALLOW_EXF
159    
160  C--   Over all tiles  C--   Over all tiles
# Line 344  C--   Over all tiles Line 350  C--   Over all tiles
350  C-      2D arrays  C-      2D arrays
351          DO K=1,Nr          DO K=1,Nr
352           DO I=1-Olx,sNx+Olx           DO I=1-Olx,sNx+Olx
353            StoreOBCSN(I,Nr,bi,bj,1) = OBNt(I,Nr,bi,bj)            StoreOBCSN(I,K,bi,bj,1) = OBNt(I,K,bi,bj)
354            StoreOBCSN(I,Nr,bi,bj,2) = OBNs(I,Nr,bi,bj)            StoreOBCSN(I,K,bi,bj,2) = OBNs(I,K,bi,bj)
355            StoreOBCSN(I,Nr,bi,bj,3) = OBNu0(I,Nr,bi,bj)            StoreOBCSN(I,K,bi,bj,3) = OBNu0(I,K,bi,bj)
356            StoreOBCSN(I,Nr,bi,bj,4) = OBNv0(I,Nr,bi,bj)            StoreOBCSN(I,K,bi,bj,4) = OBNv0(I,K,bi,bj)
357            StoreOBCSN(I,Nr,bi,bj,5) = OBNt0(I,Nr,bi,bj)            StoreOBCSN(I,K,bi,bj,5) = OBNt0(I,K,bi,bj)
358            StoreOBCSN(I,Nr,bi,bj,6) = OBNs0(I,Nr,bi,bj)            StoreOBCSN(I,K,bi,bj,6) = OBNs0(I,K,bi,bj)
359            StoreOBCSN(I,Nr,bi,bj,7) = OBNu1(I,Nr,bi,bj)            StoreOBCSN(I,K,bi,bj,7) = OBNu1(I,K,bi,bj)
360            StoreOBCSN(I,Nr,bi,bj,8) = OBNv1(I,Nr,bi,bj)            StoreOBCSN(I,K,bi,bj,8) = OBNv1(I,K,bi,bj)
361            StoreOBCSN(I,Nr,bi,bj,9) = OBNt1(I,Nr,bi,bj)            StoreOBCSN(I,K,bi,bj,9) = OBNt1(I,K,bi,bj)
362            StoreOBCSN(I,Nr,bi,bj,10) = OBNs1(I,Nr,bi,bj)            StoreOBCSN(I,K,bi,bj,10) = OBNs1(I,K,bi,bj)
363  #  ifdef ALLOW_OBCSN_CONTROL  #  ifdef ALLOW_OBCSN_CONTROL
364            StoreOBCSN(I,Nr,bi,bj,11) = xx_obcsn0(I,Nr,bi,bj,1)            StoreOBCSN(I,K,bi,bj,11) = xx_obcsn0(I,K,bi,bj,1)
365            StoreOBCSN(I,Nr,bi,bj,12) = xx_obcsn0(I,Nr,bi,bj,2)            StoreOBCSN(I,K,bi,bj,12) = xx_obcsn0(I,K,bi,bj,2)
366            StoreOBCSN(I,Nr,bi,bj,13) = xx_obcsn0(I,Nr,bi,bj,3)            StoreOBCSN(I,K,bi,bj,13) = xx_obcsn0(I,K,bi,bj,3)
367            StoreOBCSN(I,Nr,bi,bj,14) = xx_obcsn0(I,Nr,bi,bj,4)            StoreOBCSN(I,K,bi,bj,14) = xx_obcsn0(I,K,bi,bj,4)
368            StoreOBCSN(I,Nr,bi,bj,15) = xx_obcsn1(I,Nr,bi,bj,1)            StoreOBCSN(I,K,bi,bj,15) = xx_obcsn1(I,K,bi,bj,1)
369            StoreOBCSN(I,Nr,bi,bj,16) = xx_obcsn1(I,Nr,bi,bj,2)            StoreOBCSN(I,K,bi,bj,16) = xx_obcsn1(I,K,bi,bj,2)
370            StoreOBCSN(I,Nr,bi,bj,17) = xx_obcsn1(I,Nr,bi,bj,3)            StoreOBCSN(I,K,bi,bj,17) = xx_obcsn1(I,K,bi,bj,3)
371            StoreOBCSN(I,Nr,bi,bj,18) = xx_obcsn1(I,Nr,bi,bj,4)            StoreOBCSN(I,K,bi,bj,18) = xx_obcsn1(I,K,bi,bj,4)
372  # else  # else
373            StoreOBCSN(I,Nr,bi,bj,11) = 0.0            StoreOBCSN(I,K,bi,bj,11) = 0.0
374            StoreOBCSN(I,Nr,bi,bj,12) = 0.0            StoreOBCSN(I,K,bi,bj,12) = 0.0
375            StoreOBCSN(I,Nr,bi,bj,13) = 0.0            StoreOBCSN(I,K,bi,bj,13) = 0.0
376            StoreOBCSN(I,Nr,bi,bj,14) = 0.0            StoreOBCSN(I,K,bi,bj,14) = 0.0
377            StoreOBCSN(I,Nr,bi,bj,15) = 0.0            StoreOBCSN(I,K,bi,bj,15) = 0.0
378            StoreOBCSN(I,Nr,bi,bj,16) = 0.0            StoreOBCSN(I,K,bi,bj,16) = 0.0
379            StoreOBCSN(I,Nr,bi,bj,17) = 0.0            StoreOBCSN(I,K,bi,bj,17) = 0.0
380            StoreOBCSN(I,Nr,bi,bj,18) = 0.0            StoreOBCSN(I,K,bi,bj,18) = 0.0
381  #  endif  #  endif
382           enddo           enddo
383          enddo          enddo
# Line 386  C--   Over all tiles Line 392  C--   Over all tiles
392  C-      2D arrays  C-      2D arrays
393          DO K=1,Nr          DO K=1,Nr
394           DO I=1-Olx,sNx+Olx           DO I=1-Olx,sNx+Olx
395            StoreOBCSS(I,Nr,bi,bj,1) = OBSt(I,Nr,bi,bj)            StoreOBCSS(I,K,bi,bj,1) = OBSt(I,K,bi,bj)
396            StoreOBCSS(I,Nr,bi,bj,2) = OBSs(I,Nr,bi,bj)            StoreOBCSS(I,K,bi,bj,2) = OBSs(I,K,bi,bj)
397            StoreOBCSS(I,Nr,bi,bj,3) = OBSu0(I,Nr,bi,bj)            StoreOBCSS(I,K,bi,bj,3) = OBSu0(I,K,bi,bj)
398            StoreOBCSS(I,Nr,bi,bj,4) = OBSv0(I,Nr,bi,bj)            StoreOBCSS(I,K,bi,bj,4) = OBSv0(I,K,bi,bj)
399            StoreOBCSS(I,Nr,bi,bj,5) = OBSt0(I,Nr,bi,bj)            StoreOBCSS(I,K,bi,bj,5) = OBSt0(I,K,bi,bj)
400            StoreOBCSS(I,Nr,bi,bj,6) = OBSs0(I,Nr,bi,bj)            StoreOBCSS(I,K,bi,bj,6) = OBSs0(I,K,bi,bj)
401            StoreOBCSS(I,Nr,bi,bj,7) = OBSu1(I,Nr,bi,bj)            StoreOBCSS(I,K,bi,bj,7) = OBSu1(I,K,bi,bj)
402            StoreOBCSS(I,Nr,bi,bj,8) = OBSv1(I,Nr,bi,bj)            StoreOBCSS(I,K,bi,bj,8) = OBSv1(I,K,bi,bj)
403            StoreOBCSS(I,Nr,bi,bj,9) = OBSt1(I,Nr,bi,bj)            StoreOBCSS(I,K,bi,bj,9) = OBSt1(I,K,bi,bj)
404            StoreOBCSS(I,Nr,bi,bj,10)= OBSs1(I,Nr,bi,bj)            StoreOBCSS(I,K,bi,bj,10)= OBSs1(I,K,bi,bj)
405  #  ifdef ALLOW_OBCSS_CONTROL  #  ifdef ALLOW_OBCSS_CONTROL
406            StoreOBCSS(I,Nr,bi,bj,11) = xx_obcss0(I,Nr,bi,bj,1)            StoreOBCSS(I,K,bi,bj,11) = xx_obcss0(I,K,bi,bj,1)
407            StoreOBCSS(I,Nr,bi,bj,12) = xx_obcss0(I,Nr,bi,bj,2)            StoreOBCSS(I,K,bi,bj,12) = xx_obcss0(I,K,bi,bj,2)
408            StoreOBCSS(I,Nr,bi,bj,13) = xx_obcss0(I,Nr,bi,bj,3)            StoreOBCSS(I,K,bi,bj,13) = xx_obcss0(I,K,bi,bj,3)
409            StoreOBCSS(I,Nr,bi,bj,14) = xx_obcss0(I,Nr,bi,bj,4)            StoreOBCSS(I,K,bi,bj,14) = xx_obcss0(I,K,bi,bj,4)
410            StoreOBCSS(I,Nr,bi,bj,15) = xx_obcss1(I,Nr,bi,bj,1)            StoreOBCSS(I,K,bi,bj,15) = xx_obcss1(I,K,bi,bj,1)
411            StoreOBCSS(I,Nr,bi,bj,16) = xx_obcss1(I,Nr,bi,bj,2)            StoreOBCSS(I,K,bi,bj,16) = xx_obcss1(I,K,bi,bj,2)
412            StoreOBCSS(I,Nr,bi,bj,17) = xx_obcss1(I,Nr,bi,bj,3)            StoreOBCSS(I,K,bi,bj,17) = xx_obcss1(I,K,bi,bj,3)
413            StoreOBCSS(I,Nr,bi,bj,18) = xx_obcss1(I,Nr,bi,bj,4)            StoreOBCSS(I,K,bi,bj,18) = xx_obcss1(I,K,bi,bj,4)
414  # else  # else
415            StoreOBCSS(I,Nr,bi,bj,11) = 0.0            StoreOBCSS(I,K,bi,bj,11) = 0.0
416            StoreOBCSS(I,Nr,bi,bj,12) = 0.0            StoreOBCSS(I,K,bi,bj,12) = 0.0
417            StoreOBCSS(I,Nr,bi,bj,13) = 0.0            StoreOBCSS(I,K,bi,bj,13) = 0.0
418            StoreOBCSS(I,Nr,bi,bj,14) = 0.0            StoreOBCSS(I,K,bi,bj,14) = 0.0
419            StoreOBCSS(I,Nr,bi,bj,15) = 0.0            StoreOBCSS(I,K,bi,bj,15) = 0.0
420            StoreOBCSS(I,Nr,bi,bj,16) = 0.0            StoreOBCSS(I,K,bi,bj,16) = 0.0
421            StoreOBCSS(I,Nr,bi,bj,17) = 0.0            StoreOBCSS(I,K,bi,bj,17) = 0.0
422            StoreOBCSS(I,Nr,bi,bj,18) = 0.0            StoreOBCSS(I,K,bi,bj,18) = 0.0
423  #  endif  #  endif
424           enddo           enddo
425          enddo          enddo
# Line 428  C--   Over all tiles Line 434  C--   Over all tiles
434  C-      2D arrays  C-      2D arrays
435          DO K=1,Nr          DO K=1,Nr
436           DO J=1-Oly,sNy+Oly           DO J=1-Oly,sNy+Oly
437            StoreOBCSE(J,Nr,bi,bj,1) = OBEt(J,Nr,bi,bj)            StoreOBCSE(J,K,bi,bj,1) = OBEt(J,K,bi,bj)
438            StoreOBCSE(J,Nr,bi,bj,2) = OBEs(J,Nr,bi,bj)            StoreOBCSE(J,K,bi,bj,2) = OBEs(J,K,bi,bj)
439            StoreOBCSE(J,Nr,bi,bj,3) = OBEu0(J,Nr,bi,bj)            StoreOBCSE(J,K,bi,bj,3) = OBEu0(J,K,bi,bj)
440            StoreOBCSE(J,Nr,bi,bj,4) = OBEv0(J,Nr,bi,bj)            StoreOBCSE(J,K,bi,bj,4) = OBEv0(J,K,bi,bj)
441            StoreOBCSE(J,Nr,bi,bj,5) = OBEt0(J,Nr,bi,bj)            StoreOBCSE(J,K,bi,bj,5) = OBEt0(J,K,bi,bj)
442            StoreOBCSE(J,Nr,bi,bj,6) = OBEs0(J,Nr,bi,bj)            StoreOBCSE(J,K,bi,bj,6) = OBEs0(J,K,bi,bj)
443            StoreOBCSE(J,Nr,bi,bj,7) = OBEu1(J,Nr,bi,bj)            StoreOBCSE(J,K,bi,bj,7) = OBEu1(J,K,bi,bj)
444            StoreOBCSE(J,Nr,bi,bj,8) = OBEv1(J,Nr,bi,bj)            StoreOBCSE(J,K,bi,bj,8) = OBEv1(J,K,bi,bj)
445            StoreOBCSE(J,Nr,bi,bj,9) = OBEt1(J,Nr,bi,bj)            StoreOBCSE(J,K,bi,bj,9) = OBEt1(J,K,bi,bj)
446            StoreOBCSE(J,Nr,bi,bj,10)= OBEs1(J,Nr,bi,bj)            StoreOBCSE(J,K,bi,bj,10)= OBEs1(J,K,bi,bj)
447  #  ifdef ALLOW_OBCSE_CONTROL  #  ifdef ALLOW_OBCSE_CONTROL
448            StoreOBCSE(J,Nr,bi,bj,11) = xx_obcse0(J,Nr,bi,bj,1)            StoreOBCSE(J,K,bi,bj,11) = xx_obcse0(J,K,bi,bj,1)
449            StoreOBCSE(J,Nr,bi,bj,12) = xx_obcse0(J,Nr,bi,bj,2)            StoreOBCSE(J,K,bi,bj,12) = xx_obcse0(J,K,bi,bj,2)
450            StoreOBCSE(J,Nr,bi,bj,13) = xx_obcse0(J,Nr,bi,bj,3)            StoreOBCSE(J,K,bi,bj,13) = xx_obcse0(J,K,bi,bj,3)
451            StoreOBCSE(J,Nr,bi,bj,14) = xx_obcse0(J,Nr,bi,bj,4)            StoreOBCSE(J,K,bi,bj,14) = xx_obcse0(J,K,bi,bj,4)
452            StoreOBCSE(J,Nr,bi,bj,15) = xx_obcse1(J,Nr,bi,bj,1)            StoreOBCSE(J,K,bi,bj,15) = xx_obcse1(J,K,bi,bj,1)
453            StoreOBCSE(J,Nr,bi,bj,16) = xx_obcse1(J,Nr,bi,bj,2)            StoreOBCSE(J,K,bi,bj,16) = xx_obcse1(J,K,bi,bj,2)
454            StoreOBCSE(J,Nr,bi,bj,17) = xx_obcse1(J,Nr,bi,bj,3)            StoreOBCSE(J,K,bi,bj,17) = xx_obcse1(J,K,bi,bj,3)
455            StoreOBCSE(J,Nr,bi,bj,18) = xx_obcse1(J,Nr,bi,bj,4)            StoreOBCSE(J,K,bi,bj,18) = xx_obcse1(J,K,bi,bj,4)
456  # else  # else
457            StoreOBCSE(J,Nr,bi,bj,11) = 0.0            StoreOBCSE(J,K,bi,bj,11) = 0.0
458            StoreOBCSE(J,Nr,bi,bj,12) = 0.0            StoreOBCSE(J,K,bi,bj,12) = 0.0
459            StoreOBCSE(J,Nr,bi,bj,13) = 0.0            StoreOBCSE(J,K,bi,bj,13) = 0.0
460            StoreOBCSE(J,Nr,bi,bj,14) = 0.0            StoreOBCSE(J,K,bi,bj,14) = 0.0
461            StoreOBCSE(J,Nr,bi,bj,15) = 0.0            StoreOBCSE(J,K,bi,bj,15) = 0.0
462            StoreOBCSE(J,Nr,bi,bj,16) = 0.0            StoreOBCSE(J,K,bi,bj,16) = 0.0
463            StoreOBCSE(J,Nr,bi,bj,17) = 0.0            StoreOBCSE(J,K,bi,bj,17) = 0.0
464            StoreOBCSE(J,Nr,bi,bj,18) = 0.0            StoreOBCSE(J,K,bi,bj,18) = 0.0
465  #  endif  #  endif
466           enddo           enddo
467          enddo          enddo
# Line 470  C--   Over all tiles Line 476  C--   Over all tiles
476  C-      2D arrays  C-      2D arrays
477          DO K=1,Nr          DO K=1,Nr
478           DO J=1-Oly,sNy+Oly           DO J=1-Oly,sNy+Oly
479            StoreOBCSW(J,Nr,bi,bj,1) = OBWt(J,Nr,bi,bj)            StoreOBCSW(J,K,bi,bj,1) = OBWt(J,K,bi,bj)
480            StoreOBCSW(J,Nr,bi,bj,2) = OBWs(J,Nr,bi,bj)            StoreOBCSW(J,K,bi,bj,2) = OBWs(J,K,bi,bj)
481            StoreOBCSW(J,Nr,bi,bj,3) = OBWu0(J,Nr,bi,bj)            StoreOBCSW(J,K,bi,bj,3) = OBWu0(J,K,bi,bj)
482            StoreOBCSW(J,Nr,bi,bj,4) = OBWv0(J,Nr,bi,bj)            StoreOBCSW(J,K,bi,bj,4) = OBWv0(J,K,bi,bj)
483            StoreOBCSW(J,Nr,bi,bj,5) = OBWt0(J,Nr,bi,bj)            StoreOBCSW(J,K,bi,bj,5) = OBWt0(J,K,bi,bj)
484            StoreOBCSW(J,Nr,bi,bj,6) = OBWs0(J,Nr,bi,bj)            StoreOBCSW(J,K,bi,bj,6) = OBWs0(J,K,bi,bj)
485            StoreOBCSW(J,Nr,bi,bj,7) = OBWu1(J,Nr,bi,bj)            StoreOBCSW(J,K,bi,bj,7) = OBWu1(J,K,bi,bj)
486            StoreOBCSW(J,Nr,bi,bj,8) = OBWv1(J,Nr,bi,bj)            StoreOBCSW(J,K,bi,bj,8) = OBWv1(J,K,bi,bj)
487            StoreOBCSW(J,Nr,bi,bj,9) = OBWt1(J,Nr,bi,bj)            StoreOBCSW(J,K,bi,bj,9) = OBWt1(J,K,bi,bj)
488            StoreOBCSW(J,Nr,bi,bj,10)= OBWs1(J,Nr,bi,bj)            StoreOBCSW(J,K,bi,bj,10)= OBWs1(J,K,bi,bj)
489  #  ifdef ALLOW_OBCSW_CONTROL  #  ifdef ALLOW_OBCSW_CONTROL
490            StoreOBCSW(J,Nr,bi,bj,11) = xx_obcsw0(J,Nr,bi,bj,1)            StoreOBCSW(J,K,bi,bj,11) = xx_obcsw0(J,K,bi,bj,1)
491            StoreOBCSW(J,Nr,bi,bj,12) = xx_obcsw0(J,Nr,bi,bj,2)            StoreOBCSW(J,K,bi,bj,12) = xx_obcsw0(J,K,bi,bj,2)
492            StoreOBCSW(J,Nr,bi,bj,13) = xx_obcsw0(J,Nr,bi,bj,3)            StoreOBCSW(J,K,bi,bj,13) = xx_obcsw0(J,K,bi,bj,3)
493            StoreOBCSW(J,Nr,bi,bj,14) = xx_obcsw0(J,Nr,bi,bj,4)            StoreOBCSW(J,K,bi,bj,14) = xx_obcsw0(J,K,bi,bj,4)
494            StoreOBCSW(J,Nr,bi,bj,15) = xx_obcsw1(J,Nr,bi,bj,1)            StoreOBCSW(J,K,bi,bj,15) = xx_obcsw1(J,K,bi,bj,1)
495            StoreOBCSW(J,Nr,bi,bj,16) = xx_obcsw1(J,Nr,bi,bj,2)            StoreOBCSW(J,K,bi,bj,16) = xx_obcsw1(J,K,bi,bj,2)
496            StoreOBCSW(J,Nr,bi,bj,17) = xx_obcsw1(J,Nr,bi,bj,3)            StoreOBCSW(J,K,bi,bj,17) = xx_obcsw1(J,K,bi,bj,3)
497            StoreOBCSW(J,Nr,bi,bj,18) = xx_obcsw1(J,Nr,bi,bj,4)            StoreOBCSW(J,K,bi,bj,18) = xx_obcsw1(J,K,bi,bj,4)
498  # else  # else
499            StoreOBCSW(J,Nr,bi,bj,11) = 0.0            StoreOBCSW(J,K,bi,bj,11) = 0.0
500            StoreOBCSW(J,Nr,bi,bj,12) = 0.0            StoreOBCSW(J,K,bi,bj,12) = 0.0
501            StoreOBCSW(J,Nr,bi,bj,13) = 0.0            StoreOBCSW(J,K,bi,bj,13) = 0.0
502            StoreOBCSW(J,Nr,bi,bj,14) = 0.0            StoreOBCSW(J,K,bi,bj,14) = 0.0
503            StoreOBCSW(J,Nr,bi,bj,15) = 0.0            StoreOBCSW(J,K,bi,bj,15) = 0.0
504            StoreOBCSW(J,Nr,bi,bj,16) = 0.0            StoreOBCSW(J,K,bi,bj,16) = 0.0
505            StoreOBCSW(J,Nr,bi,bj,17) = 0.0            StoreOBCSW(J,K,bi,bj,17) = 0.0
506            StoreOBCSW(J,Nr,bi,bj,18) = 0.0            StoreOBCSW(J,K,bi,bj,18) = 0.0
507  #  endif  #  endif
508           enddo           enddo
509          enddo          enddo
# Line 513  C--   Over all tiles Line 519  C--   Over all tiles
519  C-      2D arrays  C-      2D arrays
520          DO J=1-Oly,sNy+Oly          DO J=1-Oly,sNy+Oly
521           DO I=1-Olx,sNx+Olx           DO I=1-Olx,sNx+Olx
522            StoreSEAICE(I,J,bi,bj,1) = AREA(I,J,1,bi,bj)            StoreSEAICE(I,J,bi,bj,1) = AREA(I,J,bi,bj)
523            StoreSEAICE(I,J,bi,bj,2) = AREA(I,J,2,bi,bj)            StoreSEAICE(I,J,bi,bj,2) = HEFF(I,J,bi,bj)
524            StoreSEAICE(I,J,bi,bj,3) = AREA(I,J,3,bi,bj)            StoreSEAICE(I,J,bi,bj,3) = HSNOW(I,J,bi,bj)
525            StoreSEAICE(I,J,bi,bj,4) = HEFF(I,J,1,bi,bj)            StoreSEAICE(I,J,bi,bj,4) = TICE(I,J,bi,bj)
526            StoreSEAICE(I,J,bi,bj,5) = HEFF(I,J,2,bi,bj)            StoreSEAICE(I,J,bi,bj,5) = RUNOFF(I,J,bi,bj)
527            StoreSEAICE(I,J,bi,bj,6) = HEFF(I,J,3,bi,bj)                      StoreSEAICE(I,J,bi,bj,6) = 0.0
           StoreSEAICE(I,J,bi,bj,7) = HSNOW(I,J,bi,bj)  
           StoreSEAICE(I,J,bi,bj,8) = TICE(I,J,bi,bj)  
           StoreSEAICE(I,J,bi,bj,9) = RUNOFF(I,J,bi,bj)  
 # ifdef SEAICE_MULTICATEGORY  
           StoreSEAICE(I,J,bi,bj,10) = TICES(I,J,bi,bj)  
 # else  
           StoreSEAICE(I,J,bi,bj,10) = 0.0  
 # endif  
528  # ifdef SEAICE_ALLOW_DYNAMICS  # ifdef SEAICE_ALLOW_DYNAMICS
529            StoreSEAICE(I,J,bi,bj,11) = UICE(I,J,1,bi,bj)            StoreSEAICE(I,J,bi,bj,7) = UICE(I,J,bi,bj)
530            StoreSEAICE(I,J,bi,bj,12) = UICE(I,J,2,bi,bj)            StoreSEAICE(I,J,bi,bj,8) = VICE(I,J,bi,bj)
531            StoreSEAICE(I,J,bi,bj,13) = UICE(I,J,3,bi,bj)            StoreSEAICE(I,J,bi,bj,9) = ZETA(I,J,bi,bj)
532            StoreSEAICE(I,J,bi,bj,14) = VICE(I,J,1,bi,bj)            StoreSEAICE(I,J,bi,bj,10) = ETA(I,J,bi,bj)
           StoreSEAICE(I,J,bi,bj,15) = VICE(I,J,2,bi,bj)  
           StoreSEAICE(I,J,bi,bj,16) = VICE(I,J,3,bi,bj)  
           StoreSEAICE(I,J,bi,bj,17) = ZETA(I,J,bi,bj)  
           StoreSEAICE(I,J,bi,bj,18) = ETA(I,J,bi,bj)  
533  #  ifdef SEAICE_CGRID  #  ifdef SEAICE_CGRID
534            StoreSEAICE(I,J,bi,bj,19) = dwatn(I,J,bi,bj)            StoreSEAICE(I,J,bi,bj,11) = dwatn(I,J,bi,bj)
535            StoreSEAICE(I,J,bi,bj,20) = seaicemasku(I,J,bi,bj)            StoreSEAICE(I,J,bi,bj,12) = seaicemasku(I,J,bi,bj)
536            StoreSEAICE(I,J,bi,bj,21) = seaicemaskv(I,J,bi,bj)            StoreSEAICE(I,J,bi,bj,13) = seaicemaskv(I,J,bi,bj)
537              StoreSEAICE(I,J,bi,bj,14) = stressDivergenceX(I,J,bi,bj)
538              StoreSEAICE(I,J,bi,bj,15) = stressDivergenceY(I,J,bi,bj)
539  #  else  #  else
540            StoreSEAICE(I,J,bi,bj,19) = 0.0                  StoreSEAICE(I,J,bi,bj,11) = 0.0      
541            StoreSEAICE(I,J,bi,bj,20) = 0.0                      StoreSEAICE(I,J,bi,bj,12) = 0.0          
542            StoreSEAICE(I,J,bi,bj,21) = 0.0            StoreSEAICE(I,J,bi,bj,13) = 0.0
543              StoreSEAICE(I,J,bi,bj,14) = 0.0          
544              StoreSEAICE(I,J,bi,bj,15) = 0.0
545  #  endif /* SEAICE_CGRID */  #  endif /* SEAICE_CGRID */
546  #  ifdef SEAICE_ALLOW_EVP  #  ifdef SEAICE_ALLOW_EVP
547            StoreSEAICE(I,J,bi,bj,22) = seaice_sigma1(I,J,bi,bj)            StoreSEAICE(I,J,bi,bj,16) = seaice_sigma1(I,J,bi,bj)
548            StoreSEAICE(I,J,bi,bj,23) = seaice_sigma2(I,J,bi,bj)            StoreSEAICE(I,J,bi,bj,17) = seaice_sigma2(I,J,bi,bj)
549            StoreSEAICE(I,J,bi,bj,24) = seaice_sigma12(I,J,bi,bj)            StoreSEAICE(I,J,bi,bj,18) = seaice_sigma12(I,J,bi,bj)
550  #  else  #  else
551            StoreSEAICE(I,J,bi,bj,22) = 0.0                  StoreSEAICE(I,J,bi,bj,16) = 0.0      
552            StoreSEAICE(I,J,bi,bj,23) = 0.0                      StoreSEAICE(I,J,bi,bj,17) = 0.0          
553            StoreSEAICE(I,J,bi,bj,24) = 0.0            StoreSEAICE(I,J,bi,bj,18) = 0.0
554  #  endif /* SEAICE_ALLOW_EVP */  #  endif /* SEAICE_ALLOW_EVP */
555  # else  # else
556            StoreSEAICE(I,J,bi,bj,11) = 0.0                  StoreSEAICE(I,J,bi,bj,7) = 0.0      
557            StoreSEAICE(I,J,bi,bj,12) = 0.0                      StoreSEAICE(I,J,bi,bj,8) = 0.0          
558            StoreSEAICE(I,J,bi,bj,13) = 0.0            StoreSEAICE(I,J,bi,bj,9) = 0.0
559            StoreSEAICE(I,J,bi,bj,14) = 0.0                  StoreSEAICE(I,J,bi,bj,10) = 0.0      
560            StoreSEAICE(I,J,bi,bj,15) = 0.0                      StoreSEAICE(I,J,bi,bj,11) = 0.0          
561            StoreSEAICE(I,J,bi,bj,16) = 0.0            StoreSEAICE(I,J,bi,bj,12) = 0.0
562            StoreSEAICE(I,J,bi,bj,17) = 0.0                  StoreSEAICE(I,J,bi,bj,13) = 0.0      
563            StoreSEAICE(I,J,bi,bj,18) = 0.0                      StoreSEAICE(I,J,bi,bj,14) = 0.0          
564            StoreSEAICE(I,J,bi,bj,19) = 0.0                  StoreSEAICE(I,J,bi,bj,15) = 0.0      
565            StoreSEAICE(I,J,bi,bj,20) = 0.0                      StoreSEAICE(I,J,bi,bj,16) = 0.0          
566            StoreSEAICE(I,J,bi,bj,21) = 0.0            StoreSEAICE(I,J,bi,bj,17) = 0.0
567            StoreSEAICE(I,J,bi,bj,22) = 0.0                  StoreSEAICE(I,J,bi,bj,18) = 0.0      
           StoreSEAICE(I,J,bi,bj,23) = 0.0            
           StoreSEAICE(I,J,bi,bj,24) = 0.0  
568  # endif /* SEAICE_ALLOW_DYNAMICS */  # endif /* SEAICE_ALLOW_DYNAMICS */
569    # ifdef SEAICE_SALINITY
570              StoreSEAICE(I,J,bi,bj,19) = HSALT(I,J,bi,bj)
571    # else
572              StoreSEAICE(I,J,bi,bj,19) = 0.0
573    # endif
574           enddo           enddo
575          enddo          enddo
576         enddo         enddo
577        enddo        enddo
578  #endif /* ALLOW_SEAICE */  #endif /* ALLOW_SEAICE */
579    
580  #ifndef DISABLE_DEBUGMODE  #ifdef ALLOW_DEBUG
581        IF ( debugLevel .GE. debLevB )        IF ( debugLevel .GE. debLevB )
582       &    CALL DEBUG_LEAVE('AUTODIFF_STORE',myThid)       &    CALL DEBUG_LEAVE('AUTODIFF_STORE',myThid)
583  #endif  #endif

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

  ViewVC Help
Powered by ViewVC 1.1.22