/[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.13 by heimbach, Thu Sep 16 20:10:22 2010 UTC revision 1.18 by jmc, Tue May 24 20:35:54 2011 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2  C $Name$  C $Name$
3    
4  #include "PACKAGES_CONFIG.h"  #include "AUTODIFF_OPTIONS.h"
 #include "CPP_OPTIONS.h"  
5  #ifdef ALLOW_OBCS  #ifdef ALLOW_OBCS
6  # include "OBCS_OPTIONS.h"  # include "OBCS_OPTIONS.h"
7  #endif  #endif
8  #ifdef ALLOW_SEAICE  #ifdef ALLOW_SEAICE
9  # include "SEAICE_OPTIONS.h"  # include "SEAICE_OPTIONS.h"
10  #endif  #endif
11    #ifdef ALLOW_ECCO_EVOLUTION
12    #ifdef ALLOW_EXF
13    # include "EXF_OPTIONS.h"
14    #endif
15    #endif
16    
17        subroutine autodiff_store( mythid )        subroutine autodiff_store( mythid )
18    
# Line 32  c     == global variables == Line 36  c     == global variables ==
36  #include "EEPARAMS.h"  #include "EEPARAMS.h"
37  #include "PARAMS.h"  #include "PARAMS.h"
38  c**************************************  c**************************************
39  c These includes are needed for  c These includes are needed for
40  c AD-checkpointing.  c AD-checkpointing.
41  c They provide the fields to be stored.  c They provide the fields to be stored.
42    
43  # include "GRID.h"  # include "GRID.h"
# Line 43  c They provide the fields to be stored. Line 47  c They provide the fields to be stored.
47  # include "AUTODIFF.h"  # include "AUTODIFF.h"
48    
49  # ifdef ALLOW_OBCS  # ifdef ALLOW_OBCS
50  #  include "OBCS.h"  #  include "OBCS_FIELDS.h"
51    #  include "OBCS_SEAICE.h"
52  # endif  # endif
53  # ifdef ALLOW_EXF  # ifdef ALLOW_EXF
54  #  include "EXF_FIELDS.h"  #  include "EXF_FIELDS.h"
# Line 58  c They provide the fields to be stored. Line 63  c They provide the fields to be stored.
63  # include "ctrl.h"  # include "ctrl.h"
64    
65  c     == routine arguments ==  c     == routine arguments ==
66  c     note: under the multi-threaded model myiter and  c     note: under the multi-threaded model myiter and
67  c           mytime are local variables passed around as routine  c           mytime are local variables passed around as routine
68  c           arguments. Although this is fiddly it saves the need to  c           arguments. Although this is fiddly it saves the need to
69  c           impose additional synchronisation points when they are  c           impose additional synchronisation points when they are
70  c           updated.  c           updated.
71  c     mythid - thread number for this instance of the routine.  c     mythid - thread number for this instance of the routine.
72        integer mythid        integer mythid
73    
74  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
75  c     == local variables ==  c     == local variables ==
76    
77        integer bi,bj        integer bi,bj
78        integer I,J,K        integer I,J,K
79          
80  c--   == end of interface ==  c--   == end of interface ==
81    
82  #ifdef ALLOW_DEBUG  #ifdef ALLOW_DEBUG
83        IF ( debugLevel .GE. debLevB )        IF ( debugLevel .GE. debLevB )
84       &    CALL DEBUG_ENTER('AUTODIFF_STORE',myThid)       &    CALL DEBUG_ENTER('AUTODIFF_STORE',myThid)
85  #endif  #endif
86              
87  C--   Over all tiles  C--   Over all tiles
88        DO bj = myByLo(myThid), myByHi(myThid)        DO bj = myByLo(myThid), myByHi(myThid)
89         DO bi = myBxLo(myThid), myBxHi(myThid)         DO bi = myBxLo(myThid), myBxHi(myThid)
# Line 136  C-      3D arrays Line 141  C-      3D arrays
141           DO J=1-Oly,sNy+Oly           DO J=1-Oly,sNy+Oly
142            DO I=1-Olx,sNx+Olx            DO I=1-Olx,sNx+Olx
143         StoreDynVars3D(I,J,K,bi,bj,1) = gs(I,J,K,bi,bj)         StoreDynVars3D(I,J,K,bi,bj,1) = gs(I,J,K,bi,bj)
144         StoreDynVars3D(I,J,K,bi,bj,2) = gt(I,J,K,bi,bj)                     StoreDynVars3D(I,J,K,bi,bj,2) = gt(I,J,K,bi,bj)
145  #ifdef ALLOW_ADAMSBASHFORTH_3  #ifdef ALLOW_ADAMSBASHFORTH_3
146         StoreDynVars3D(I,J,K,bi,bj,3) = gtnm(I,J,K,bi,bj,1)                     StoreDynVars3D(I,J,K,bi,bj,3) = gtnm(I,J,K,bi,bj,1)
147         StoreDynVars3D(I,J,K,bi,bj,4) = gsnm(I,J,K,bi,bj,1)                     StoreDynVars3D(I,J,K,bi,bj,4) = gsnm(I,J,K,bi,bj,1)
148         StoreDynVars3D(I,J,K,bi,bj,5) = gunm(I,J,K,bi,bj,1)                     StoreDynVars3D(I,J,K,bi,bj,5) = gunm(I,J,K,bi,bj,1)
149         StoreDynVars3D(I,J,K,bi,bj,6) = gvnm(I,J,K,bi,bj,1)                     StoreDynVars3D(I,J,K,bi,bj,6) = gvnm(I,J,K,bi,bj,1)
150  #else  #else
151         StoreDynVars3D(I,J,K,bi,bj,3) = gtnm1(I,J,K,bi,bj)         StoreDynVars3D(I,J,K,bi,bj,3) = gtnm1(I,J,K,bi,bj)
152         StoreDynVars3D(I,J,K,bi,bj,4) = gsnm1(I,J,K,bi,bj)         StoreDynVars3D(I,J,K,bi,bj,4) = gsnm1(I,J,K,bi,bj)
153         StoreDynVars3D(I,J,K,bi,bj,5) = gunm1(I,J,K,bi,bj)         StoreDynVars3D(I,J,K,bi,bj,5) = gunm1(I,J,K,bi,bj)
154         StoreDynVars3D(I,J,K,bi,bj,6) = gvnm1(I,J,K,bi,bj)         StoreDynVars3D(I,J,K,bi,bj,6) = gvnm1(I,J,K,bi,bj)
155  #endif  #endif
156         StoreDynVars3D(I,J,K,bi,bj,7) = theta(I,J,K,bi,bj)                     StoreDynVars3D(I,J,K,bi,bj,7) = theta(I,J,K,bi,bj)
157         StoreDynVars3D(I,J,K,bi,bj,8) = salt(I,J,K,bi,bj)                     StoreDynVars3D(I,J,K,bi,bj,8) = salt(I,J,K,bi,bj)
158         StoreDynVars3D(I,J,K,bi,bj,9) = uvel(I,J,K,bi,bj)                     StoreDynVars3D(I,J,K,bi,bj,9) = uvel(I,J,K,bi,bj)
159         StoreDynVars3D(I,J,K,bi,bj,10) = vvel(I,J,K,bi,bj)             StoreDynVars3D(I,J,K,bi,bj,10) = vvel(I,J,K,bi,bj)
160         StoreDynVars3D(I,J,K,bi,bj,11) = wvel(I,J,K,bi,bj)         StoreDynVars3D(I,J,K,bi,bj,11) = wvel(I,J,K,bi,bj)
161         StoreDynVars3D(I,J,K,bi,bj,12) = totphihyd(I,J,K,bi,bj)         StoreDynVars3D(I,J,K,bi,bj,12) = totphihyd(I,J,K,bi,bj)
162  #ifdef ALLOW_ADAMSBASHFORTH_3  #ifdef ALLOW_ADAMSBASHFORTH_3
# Line 167  C-      3D arrays Line 172  C-      3D arrays
172    
173         ENDDO         ENDDO
174        ENDDO        ENDDO
175      
176  #ifdef ALLOW_EXF  #ifdef ALLOW_EXF
177    
178  C--   Over all tiles  C--   Over all tiles
# Line 227  C-      2D arrays Line 232  C-      2D arrays
232          enddo          enddo
233         enddo         enddo
234        enddo        enddo
235          
236  # if (defined (ALLOW_ATM_TEMP) || defined (ALLOW_ATM_WIND))  # if (defined (ALLOW_ATM_TEMP) || defined (ALLOW_ATM_WIND))
237  C--   Over all tiles  C--   Over all tiles
238        DO bj = myByLo(myThid), myByHi(myThid)        DO bj = myByLo(myThid), myByHi(myThid)
# Line 244  C-      2D arrays Line 249  C-      2D arrays
249            StoreEXF2(I,J,bi,bj,6) = precip1(I,J,bi,bj)            StoreEXF2(I,J,bi,bj,6) = precip1(I,J,bi,bj)
250            StoreEXF2(I,J,bi,bj,7) = lwflux0(I,J,bi,bj)            StoreEXF2(I,J,bi,bj,7) = lwflux0(I,J,bi,bj)
251            StoreEXF2(I,J,bi,bj,8) = lwflux1(I,J,bi,bj)            StoreEXF2(I,J,bi,bj,8) = lwflux1(I,J,bi,bj)
252              StoreEXF2(I,J,bi,bj,9)  = snowprecip0(I,J,bi,bj)
253              StoreEXF2(I,J,bi,bj,10) = snowprecip1(I,J,bi,bj)
254  #   ifdef EXF_READ_EVAP  #   ifdef EXF_READ_EVAP
255            StoreEXF2(I,J,bi,bj,9) = evap0(I,J,bi,bj)            StoreEXF2(I,J,bi,bj,11) = evap0(I,J,bi,bj)
256            StoreEXF2(I,J,bi,bj,10) = evap1(I,J,bi,bj)            StoreEXF2(I,J,bi,bj,12) = evap1(I,J,bi,bj)
257  #   else  #   else
258            StoreEXF2(I,J,bi,bj,9) = evap(I,J,bi,bj)            StoreEXF2(I,J,bi,bj,11) = evap(I,J,bi,bj)
259            StoreEXF2(I,J,bi,bj,10) = 0.0            StoreEXF2(I,J,bi,bj,12) = 0.0
260  #   endif /* EXF_READ_EVAP */  #   endif /* EXF_READ_EVAP */
261  #   ifdef ALLOW_DOWNWARD_RADIATION  #   ifdef ALLOW_DOWNWARD_RADIATION
262            StoreEXF2(I,J,bi,bj,11) = swdown0(I,J,bi,bj)            StoreEXF2(I,J,bi,bj,13) = swdown0(I,J,bi,bj)
263            StoreEXF2(I,J,bi,bj,12) = swdown1(I,J,bi,bj)            StoreEXF2(I,J,bi,bj,14) = swdown1(I,J,bi,bj)
264            StoreEXF2(I,J,bi,bj,13) = lwdown0(I,J,bi,bj)            StoreEXF2(I,J,bi,bj,15) = lwdown0(I,J,bi,bj)
265            StoreEXF2(I,J,bi,bj,14) = lwdown1(I,J,bi,bj)            StoreEXF2(I,J,bi,bj,16) = lwdown1(I,J,bi,bj)
266  #   else  #   else
           StoreEXF2(I,J,bi,bj,11) = 0.0  
           StoreEXF2(I,J,bi,bj,12) = 0.0  
267            StoreEXF2(I,J,bi,bj,13) = 0.0            StoreEXF2(I,J,bi,bj,13) = 0.0
268            StoreEXF2(I,J,bi,bj,14) = 0.0            StoreEXF2(I,J,bi,bj,14) = 0.0
269              StoreEXF2(I,J,bi,bj,15) = 0.0
270              StoreEXF2(I,J,bi,bj,16) = 0.0
271  #   endif  #   endif
272  #  endif /* ALLOW_ATM_TEMP */  #  endif /* ALLOW_ATM_TEMP */
273  #  ifdef ALLOW_ATM_WIND  #  ifdef ALLOW_ATM_WIND
274            StoreEXF2(I,J,bi,bj,15) = uwind0(I,J,bi,bj)            StoreEXF2(I,J,bi,bj,17) = uwind0(I,J,bi,bj)
275            StoreEXF2(I,J,bi,bj,16) = uwind1(I,J,bi,bj)            StoreEXF2(I,J,bi,bj,18) = uwind1(I,J,bi,bj)
276            StoreEXF2(I,J,bi,bj,17) = vwind0(I,J,bi,bj)            StoreEXF2(I,J,bi,bj,19) = vwind0(I,J,bi,bj)
277            StoreEXF2(I,J,bi,bj,18) = vwind1(I,J,bi,bj)            StoreEXF2(I,J,bi,bj,20) = vwind1(I,J,bi,bj)
278  #  else /* ALLOW_ATM_WIND undef */  #  else /* ALLOW_ATM_WIND undef */
           StoreEXF2(I,J,bi,bj,15) = 0.0  
           StoreEXF2(I,J,bi,bj,16) = 0.0  
279            StoreEXF2(I,J,bi,bj,17) = 0.0            StoreEXF2(I,J,bi,bj,17) = 0.0
280            StoreEXF2(I,J,bi,bj,18) = 0.0            StoreEXF2(I,J,bi,bj,18) = 0.0
281              StoreEXF2(I,J,bi,bj,19) = 0.0
282              StoreEXF2(I,J,bi,bj,20) = 0.0
283  #  endif  /* ALLOW_ATM_WIND */  #  endif  /* ALLOW_ATM_WIND */
284           enddo           enddo
285          enddo          enddo
# Line 289  C-      2D arrays Line 296  C-      2D arrays
296  # ifdef ALLOW_UWIND_CONTROL  # ifdef ALLOW_UWIND_CONTROL
297            StoreCTRLS1(I,J,bi,bj,1) = xx_uwind0(I,J,bi,bj)            StoreCTRLS1(I,J,bi,bj,1) = xx_uwind0(I,J,bi,bj)
298            StoreCTRLS1(I,J,bi,bj,2) = xx_uwind1(I,J,bi,bj)            StoreCTRLS1(I,J,bi,bj,2) = xx_uwind1(I,J,bi,bj)
299  #  else              #  else
300            StoreCTRLS1(I,J,bi,bj,1) = 0.0            StoreCTRLS1(I,J,bi,bj,1) = 0.0
301            StoreCTRLS1(I,J,bi,bj,2) = 0.0            StoreCTRLS1(I,J,bi,bj,2) = 0.0
302  #  endif  #  endif
303  # ifdef ALLOW_VWIND_CONTROL  # ifdef ALLOW_VWIND_CONTROL
304            StoreCTRLS1(I,J,bi,bj,3) = xx_vwind0(I,J,bi,bj)            StoreCTRLS1(I,J,bi,bj,3) = xx_vwind0(I,J,bi,bj)
305            StoreCTRLS1(I,J,bi,bj,4) = xx_vwind1(I,J,bi,bj)            StoreCTRLS1(I,J,bi,bj,4) = xx_vwind1(I,J,bi,bj)
306  #  else              #  else
307            StoreCTRLS1(I,J,bi,bj,3) = 0.0            StoreCTRLS1(I,J,bi,bj,3) = 0.0
308            StoreCTRLS1(I,J,bi,bj,4) = 0.0            StoreCTRLS1(I,J,bi,bj,4) = 0.0
309  #  endif  #  endif
310  # ifdef ALLOW_ATEMP_CONTROL  # ifdef ALLOW_ATEMP_CONTROL
311            StoreCTRLS1(I,J,bi,bj,5) = xx_atemp0(I,J,bi,bj)            StoreCTRLS1(I,J,bi,bj,5) = xx_atemp0(I,J,bi,bj)
312            StoreCTRLS1(I,J,bi,bj,6) = xx_atemp1(I,J,bi,bj)            StoreCTRLS1(I,J,bi,bj,6) = xx_atemp1(I,J,bi,bj)
313  #  else              #  else
314            StoreCTRLS1(I,J,bi,bj,5) = 0.0            StoreCTRLS1(I,J,bi,bj,5) = 0.0
315            StoreCTRLS1(I,J,bi,bj,6) = 0.0            StoreCTRLS1(I,J,bi,bj,6) = 0.0
316  #  endif  #  endif
317  # ifdef ALLOW_AQH_CONTROL  # ifdef ALLOW_AQH_CONTROL
318            StoreCTRLS1(I,J,bi,bj,7) = xx_aqh0(I,J,bi,bj)            StoreCTRLS1(I,J,bi,bj,7) = xx_aqh0(I,J,bi,bj)
319            StoreCTRLS1(I,J,bi,bj,8) = xx_aqh1(I,J,bi,bj)            StoreCTRLS1(I,J,bi,bj,8) = xx_aqh1(I,J,bi,bj)
320  #  else              #  else
321            StoreCTRLS1(I,J,bi,bj,7) = 0.0            StoreCTRLS1(I,J,bi,bj,7) = 0.0
322            StoreCTRLS1(I,J,bi,bj,8) = 0.0            StoreCTRLS1(I,J,bi,bj,8) = 0.0
323  #  endif  #  endif
324  # ifdef ALLOW_PRECIP_CONTROL  # ifdef ALLOW_PRECIP_CONTROL
325            StoreCTRLS1(I,J,bi,bj,9) = xx_precip0(I,J,bi,bj)            StoreCTRLS1(I,J,bi,bj,9) = xx_precip0(I,J,bi,bj)
326            StoreCTRLS1(I,J,bi,bj,10) = xx_precip1(I,J,bi,bj)            StoreCTRLS1(I,J,bi,bj,10) = xx_precip1(I,J,bi,bj)
327  #  else              #  else
328            StoreCTRLS1(I,J,bi,bj,9) = 0.0            StoreCTRLS1(I,J,bi,bj,9) = 0.0
329            StoreCTRLS1(I,J,bi,bj,10) = 0.0            StoreCTRLS1(I,J,bi,bj,10) = 0.0
330  #  endif  #  endif
331  # ifdef ALLOW_SWFLUX_CONTROL  # ifdef ALLOW_SNOWPRECIP_CONTROL
332            StoreCTRLS1(I,J,bi,bj,11) = xx_swflux0(I,J,bi,bj)            StoreCTRLS1(I,J,bi,bj,11) = xx_snowprecip0(I,J,bi,bj)
333            StoreCTRLS1(I,J,bi,bj,12) = xx_swflux1(I,J,bi,bj)            StoreCTRLS1(I,J,bi,bj,12) = xx_snowprecip1(I,J,bi,bj)
334  #  else              #  else
335            StoreCTRLS1(I,J,bi,bj,11) = 0.0            StoreCTRLS1(I,J,bi,bj,11) = 0.0
336            StoreCTRLS1(I,J,bi,bj,12) = 0.0            StoreCTRLS1(I,J,bi,bj,12) = 0.0
337  #  endif  #  endif
338  #  ifdef ALLOW_SWDOWN_CONTROL  # ifdef ALLOW_SWFLUX_CONTROL
339            StoreCTRLS1(I,J,bi,bj,13) = xx_swdown0(I,J,bi,bj)            StoreCTRLS1(I,J,bi,bj,13) = xx_swflux0(I,J,bi,bj)
340            StoreCTRLS1(I,J,bi,bj,14) = xx_swdown1(I,J,bi,bj)            StoreCTRLS1(I,J,bi,bj,14) = xx_swflux1(I,J,bi,bj)
341  #  else              #  else
342            StoreCTRLS1(I,J,bi,bj,13) = 0.0            StoreCTRLS1(I,J,bi,bj,13) = 0.0
343            StoreCTRLS1(I,J,bi,bj,14) = 0.0            StoreCTRLS1(I,J,bi,bj,14) = 0.0
344  #  endif  #  endif
345  #  ifdef ALLOW_LWDOWN_CONTROL  #  ifdef ALLOW_SWDOWN_CONTROL
346            StoreCTRLS1(I,J,bi,bj,15) = xx_lwdown0(I,J,bi,bj)            StoreCTRLS1(I,J,bi,bj,15) = xx_swdown0(I,J,bi,bj)
347            StoreCTRLS1(I,J,bi,bj,16) = xx_lwdown1(I,J,bi,bj)            StoreCTRLS1(I,J,bi,bj,16) = xx_swdown1(I,J,bi,bj)
348  #  else              #  else
349            StoreCTRLS1(I,J,bi,bj,15) = 0.0            StoreCTRLS1(I,J,bi,bj,15) = 0.0
350            StoreCTRLS1(I,J,bi,bj,16) = 0.0            StoreCTRLS1(I,J,bi,bj,16) = 0.0
351  #  endif  #  endif
352  #  ifdef ALLOW_APRESSURE_CONTROL  #  ifdef ALLOW_LWDOWN_CONTROL
353            StoreCTRLS1(I,J,bi,bj,17) = xx_apressure0(I,J,bi,bj)            StoreCTRLS1(I,J,bi,bj,17) = xx_lwdown0(I,J,bi,bj)
354            StoreCTRLS1(I,J,bi,bj,18) = xx_apressure1(I,J,bi,bj)            StoreCTRLS1(I,J,bi,bj,18) = xx_lwdown1(I,J,bi,bj)
355  #  else              #  else
356            StoreCTRLS1(I,J,bi,bj,17) = 0.0            StoreCTRLS1(I,J,bi,bj,17) = 0.0
357            StoreCTRLS1(I,J,bi,bj,18) = 0.0            StoreCTRLS1(I,J,bi,bj,18) = 0.0
358  #  endif  #  endif
359    #  ifdef ALLOW_APRESSURE_CONTROL
360              StoreCTRLS1(I,J,bi,bj,19) = xx_apressure0(I,J,bi,bj)
361              StoreCTRLS1(I,J,bi,bj,20) = xx_apressure1(I,J,bi,bj)
362    #  else
363              StoreCTRLS1(I,J,bi,bj,19) = 0.0
364              StoreCTRLS1(I,J,bi,bj,20) = 0.0
365    #  endif
366           enddo           enddo
367          enddo          enddo
368         enddo         enddo
# Line 396  C-      2D arrays Line 410  C-      2D arrays
410          enddo          enddo
411         enddo         enddo
412        enddo        enddo
413  # endif /* ALLOW_OBCS_NORTH */        # endif /* ALLOW_OBCS_NORTH */
414    
415  # ifdef ALLOW_OBCS_SOUTH  # ifdef ALLOW_OBCS_SOUTH
416  C--   Over all tiles  C--   Over all tiles
# Line 438  C-      2D arrays Line 452  C-      2D arrays
452          enddo          enddo
453         enddo         enddo
454        enddo        enddo
455  # endif /* ALLOW_OBCS_SOUTH */        # endif /* ALLOW_OBCS_SOUTH */
456    
457  # ifdef ALLOW_OBCS_EAST  # ifdef ALLOW_OBCS_EAST
458  C--   Over all tiles  C--   Over all tiles
# Line 480  C-      2D arrays Line 494  C-      2D arrays
494          enddo          enddo
495         enddo         enddo
496        enddo        enddo
497  # endif /* ALLOW_OBCS_EAST */      # endif /* ALLOW_OBCS_EAST */
498    
499  # ifdef ALLOW_OBCS_WEST  # ifdef ALLOW_OBCS_WEST
500  C--   Over all tiles  C--   Over all tiles
# Line 555  C-      2D arrays Line 569  C-      2D arrays
569            StoreSEAICE(I,J,bi,bj,12) = seaicemasku(I,J,bi,bj)            StoreSEAICE(I,J,bi,bj,12) = seaicemasku(I,J,bi,bj)
570            StoreSEAICE(I,J,bi,bj,13) = seaicemaskv(I,J,bi,bj)            StoreSEAICE(I,J,bi,bj,13) = seaicemaskv(I,J,bi,bj)
571  #  else  #  else
572            StoreSEAICE(I,J,bi,bj,11) = 0.0                  StoreSEAICE(I,J,bi,bj,11) = 0.0
573            StoreSEAICE(I,J,bi,bj,12) = 0.0                      StoreSEAICE(I,J,bi,bj,12) = 0.0
574            StoreSEAICE(I,J,bi,bj,15) = 0.0            StoreSEAICE(I,J,bi,bj,15) = 0.0
575  #  endif /* SEAICE_CGRID */  #  endif /* SEAICE_CGRID */
576  #  ifdef SEAICE_ALLOW_EVP  #  ifdef SEAICE_ALLOW_EVP
# Line 564  C-      2D arrays Line 578  C-      2D arrays
578            StoreSEAICE(I,J,bi,bj,17) = seaice_sigma2(I,J,bi,bj)            StoreSEAICE(I,J,bi,bj,17) = seaice_sigma2(I,J,bi,bj)
579            StoreSEAICE(I,J,bi,bj,18) = seaice_sigma12(I,J,bi,bj)            StoreSEAICE(I,J,bi,bj,18) = seaice_sigma12(I,J,bi,bj)
580  #  else  #  else
581            StoreSEAICE(I,J,bi,bj,16) = 0.0                  StoreSEAICE(I,J,bi,bj,16) = 0.0
582            StoreSEAICE(I,J,bi,bj,17) = 0.0                      StoreSEAICE(I,J,bi,bj,17) = 0.0
583            StoreSEAICE(I,J,bi,bj,18) = 0.0            StoreSEAICE(I,J,bi,bj,18) = 0.0
584  #  endif /* SEAICE_ALLOW_EVP */  #  endif /* SEAICE_ALLOW_EVP */
585  # else  # else
586            StoreSEAICE(I,J,bi,bj,7) = 0.0                  StoreSEAICE(I,J,bi,bj,7) = 0.0
587            StoreSEAICE(I,J,bi,bj,8) = 0.0                      StoreSEAICE(I,J,bi,bj,8) = 0.0
588            StoreSEAICE(I,J,bi,bj,9) = 0.0            StoreSEAICE(I,J,bi,bj,9) = 0.0
589            StoreSEAICE(I,J,bi,bj,10) = 0.0                  StoreSEAICE(I,J,bi,bj,10) = 0.0
590            StoreSEAICE(I,J,bi,bj,11) = 0.0                      StoreSEAICE(I,J,bi,bj,11) = 0.0
591            StoreSEAICE(I,J,bi,bj,12) = 0.0            StoreSEAICE(I,J,bi,bj,12) = 0.0
592            StoreSEAICE(I,J,bi,bj,13) = 0.0                  StoreSEAICE(I,J,bi,bj,13) = 0.0
593            StoreSEAICE(I,J,bi,bj,14) = 0.0                      StoreSEAICE(I,J,bi,bj,14) = 0.0
594            StoreSEAICE(I,J,bi,bj,15) = 0.0                  StoreSEAICE(I,J,bi,bj,15) = 0.0
595            StoreSEAICE(I,J,bi,bj,16) = 0.0                      StoreSEAICE(I,J,bi,bj,16) = 0.0
596            StoreSEAICE(I,J,bi,bj,17) = 0.0            StoreSEAICE(I,J,bi,bj,17) = 0.0
597            StoreSEAICE(I,J,bi,bj,18) = 0.0                  StoreSEAICE(I,J,bi,bj,18) = 0.0
598  # endif /* SEAICE_ALLOW_DYNAMICS */  # endif /* SEAICE_ALLOW_DYNAMICS */
599  # ifdef SEAICE_SALINITY  # ifdef SEAICE_VARIABLE_SALINITY
600            StoreSEAICE(I,J,bi,bj,19) = HSALT(I,J,bi,bj)            StoreSEAICE(I,J,bi,bj,19) = HSALT(I,J,bi,bj)
601  # else  # else
602            StoreSEAICE(I,J,bi,bj,19) = 0.0            StoreSEAICE(I,J,bi,bj,19) = 0.0
# Line 594  C-      2D arrays Line 608  C-      2D arrays
608  #endif /* ALLOW_SEAICE */  #endif /* ALLOW_SEAICE */
609    
610  #ifdef ALLOW_DEBUG  #ifdef ALLOW_DEBUG
611        IF ( debugLevel .GE. debLevB )        IF ( debugLevel .GE. debLevB )
612       &    CALL DEBUG_LEAVE('AUTODIFF_STORE',myThid)       &    CALL DEBUG_LEAVE('AUTODIFF_STORE',myThid)
613  #endif  #endif
614    
# Line 603  c************************************** Line 617  c**************************************
617    
618        return        return
619        end        end
   

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.18

  ViewVC Help
Powered by ViewVC 1.1.22