/[MITgcm]/MITgcm_contrib/torge/itd/code/seaice_model.F
ViewVC logotype

Contents of /MITgcm_contrib/torge/itd/code/seaice_model.F

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


Revision 1.11 - (show annotations) (download)
Wed Mar 27 18:59:53 2013 UTC (12 years, 4 months ago) by torge
Branch: MAIN
Changes since 1.10: +10 -55 lines
updating my MITgcm_contrib directory to include latest changes on main branch;
settings are to run a 1D test szenario with ITD code and 7 categories

1 C $Header: /u/gcmpack/MITgcm/pkg/seaice/seaice_model.F,v 1.105 2013/01/21 23:02:56 jmc Exp $
2 C $Name: $
3
4 #include "SEAICE_OPTIONS.h"
5
6 CBOP
7 C !ROUTINE: SEAICE_MODEL
8
9 C !INTERFACE: ==========================================================
10 SUBROUTINE SEAICE_MODEL( myTime, myIter, myThid )
11
12 C !DESCRIPTION: \bv
13 C *===========================================================*
14 C | SUBROUTINE SEAICE_MODEL |
15 C | o Time stepping of a dynamic/thermodynamic sea ice model. |
16 C | Dynamics solver: Zhang/Hibler, JGR, 102, 8691-8702, 1997 |
17 C | Thermodynamics: Hibler, MWR, 108, 1943-1973, 1980 |
18 C | Rheology: Hibler, JPO, 9, 815- 846, 1979 |
19 C | Snow: Zhang et al. , JPO, 28, 191- 217, 1998 |
20 C | Parallel forward ice model written by Jinlun Zhang PSC/UW|
21 C | & coupled into MITgcm by Dimitris Menemenlis (JPL) 2/2001|
22 C | zhang@apl.washington.edu / menemenlis@jpl.nasa.gov |
23 C *===========================================================*
24 C *===========================================================*
25 IMPLICIT NONE
26 C \ev
27
28 C !USES: ===============================================================
29 #include "SIZE.h"
30 #include "EEPARAMS.h"
31 #include "DYNVARS.h"
32 #include "PARAMS.h"
33 #include "GRID.h"
34 #include "FFIELDS.h"
35 #include "SEAICE_SIZE.h"
36 #include "SEAICE_PARAMS.h"
37 #include "SEAICE.h"
38 #include "SEAICE_TRACER.h"
39 #ifdef ALLOW_EXF
40 # include "EXF_OPTIONS.h"
41 # include "EXF_FIELDS.h"
42 #endif
43 #ifdef ALLOW_AUTODIFF_TAMC
44 # include "tamc.h"
45 #endif
46
47 C !INPUT PARAMETERS: ===================================================
48 C myTime - Simulation time
49 C myIter - Simulation timestep number
50 C myThid - Thread no. that called this routine.
51 _RL myTime
52 INTEGER myIter
53 INTEGER myThid
54 CEndOfInterface
55
56 C !LOCAL VARIABLES: ====================================================
57 C i,j,bi,bj :: Loop counters
58 #ifdef SEAICE_DEBUG
59 CToM<<<
60 C msgBuf :: Informational/error message buffer
61 CHARACTER*(MAX_LEN_MBUF) msgBuf
62 CHARACTER*10 HlimitMsgFormat
63 #endif
64 #ifdef SEAICE_ITD
65 INTEGER IT
66 #endif
67 #if defined(ALLOW_AUTODIFF_TAMC) || defined(SEAICE_ITD)
68 C>>>ToM
69 INTEGER i, j, bi, bj
70 #endif
71 #ifdef ALLOW_SITRACER
72 INTEGER iTr
73 #endif
74 CEOP
75
76 #ifdef ALLOW_DEBUG
77 IF (debugMode) CALL DEBUG_ENTER( 'SEAICE_MODEL', myThid )
78 #endif
79
80 C-- Winds are from pkg/exf, which does not update edges.
81 CALL EXCH_UV_AGRID_3D_RL( uwind, vwind, .TRUE., 1, myThid )
82
83 #ifdef ALLOW_THSICE
84 IF ( useThSice ) THEN
85 C-- Map thSice-variables to HEFF and AREA
86 CALL SEAICE_MAP_THSICE( myTime, myIter, myThid )
87 ENDIF
88 #endif /* ALLOW_THSICE */
89
90 #ifdef ALLOW_AUTODIFF_TAMC
91 DO bj=myByLo(myThid),myByHi(myThid)
92 DO bi=myBxLo(myThid),myBxHi(myThid)
93 DO j=1-OLy,sNy+OLy
94 DO i=1-OLx,sNx+OLx
95 uIceNm1(i,j,bi,bj) = 0. _d 0
96 vIceNm1(i,j,bi,bj) = 0. _d 0
97 # ifdef ALLOW_SITRACER
98 DO iTr = 1, SItrMaxNum
99 SItrBucket(i,j,bi,bj,iTr) = 0. _d 0
100 ENDDO
101 # endif
102 ENDDO
103 ENDDO
104 ENDDO
105 ENDDO
106 CADJ STORE uwind = comlev1, key=ikey_dynamics, kind=isbyte
107 CADJ STORE vwind = comlev1, key=ikey_dynamics, kind=isbyte
108 CADJ STORE heff = comlev1, key=ikey_dynamics, kind=isbyte
109 CADJ STORE heffm = comlev1, key=ikey_dynamics, kind=isbyte
110 CADJ STORE area = comlev1, key=ikey_dynamics, kind=isbyte
111 # ifdef SEAICE_ALLOW_DYNAMICS
112 # ifdef SEAICE_CGRID
113 CADJ STORE seaicemasku = comlev1, key=ikey_dynamics, kind=isbyte
114 CADJ STORE seaicemaskv = comlev1, key=ikey_dynamics, kind=isbyte
115 CADJ STORE fu = comlev1, key=ikey_dynamics, kind=isbyte
116 CADJ STORE fv = comlev1, key=ikey_dynamics, kind=isbyte
117 CADJ STORE uice = comlev1, key=ikey_dynamics, kind=isbyte
118 CADJ STORE vice = comlev1, key=ikey_dynamics, kind=isbyte
119 cphCADJ STORE eta = comlev1, key=ikey_dynamics, kind=isbyte
120 cphCADJ STORE zeta = comlev1, key=ikey_dynamics, kind=isbyte
121 cph(
122 CADJ STORE dwatn = comlev1, key=ikey_dynamics, kind=isbyte
123 cccCADJ STORE press0 = comlev1, key=ikey_dynamics, kind=isbyte
124 cccCADJ STORE taux = comlev1, key=ikey_dynamics, kind=isbyte
125 cccCADJ STORE tauy = comlev1, key=ikey_dynamics, kind=isbyte
126 cccCADJ STORE zmax = comlev1, key=ikey_dynamics, kind=isbyte
127 cccCADJ STORE zmin = comlev1, key=ikey_dynamics, kind=isbyte
128 cph)
129 # ifdef SEAICE_ALLOW_EVP
130 CADJ STORE seaice_sigma1 = comlev1, key=ikey_dynamics, kind=isbyte
131 CADJ STORE seaice_sigma2 = comlev1, key=ikey_dynamics, kind=isbyte
132 CADJ STORE seaice_sigma12 = comlev1, key=ikey_dynamics, kind=isbyte
133 # endif
134 # endif
135 # endif
136 # ifdef ALLOW_SITRACER
137 CADJ STORE siceload = comlev1, key=ikey_dynamics, kind=isbyte
138 CADJ STORE sitracer = comlev1, key=ikey_dynamics, kind=isbyte
139 # endif
140 #endif /* ALLOW_AUTODIFF_TAMC */
141
142 C solve ice momentum equations and calculate ocean surface stress
143 #ifdef ALLOW_DEBUG
144 IF (debugMode) CALL DEBUG_CALL( 'SEAICE_DYNSOLVER', myThid )
145 #endif
146 #ifdef SEAICE_CGRID
147 CALL TIMER_START('SEAICE_DYNSOLVER [SEAICE_MODEL]',myThid)
148 CALL SEAICE_DYNSOLVER ( myTime, myIter, myThid )
149 CALL TIMER_STOP ('SEAICE_DYNSOLVER [SEAICE_MODEL]',myThid)
150 #else
151 CALL TIMER_START('DYNSOLVER [SEAICE_MODEL]',myThid)
152 CALL DYNSOLVER ( myTime, myIter, myThid )
153 CALL TIMER_STOP ('DYNSOLVER [SEAICE_MODEL]',myThid)
154 #endif /* SEAICE_CGRID */
155
156 C-- Apply ice velocity open boundary conditions
157 #ifdef ALLOW_OBCS
158 # ifndef DISABLE_SEAICE_OBCS
159 IF ( useOBCS ) CALL OBCS_ADJUST_UVICE( uice, vice, myThid )
160 # endif /* DISABLE_SEAICE_OBCS */
161 #endif /* ALLOW_OBCS */
162
163 #ifdef ALLOW_THSICE
164 IF ( useThSice ) THEN
165 #ifndef OLD_THSICE_CALL_SEQUENCE
166 #ifdef ALLOW_DEBUG
167 IF (debugMode) CALL DEBUG_CALL( 'THSICE_DO_ADVECT', myThid )
168 #endif
169 CALL THSICE_DO_ADVECT( 0, 0, myTime, myIter, myThid )
170 #endif /* OLD_THSICE_CALL_SEQUENCE */
171 ELSE
172 #endif
173 C-- Only call advection of heff, area, snow, and salt and
174 C-- growth for the generic 0-layer thermodynamics of seaice
175 C-- if useThSice=.false., otherwise the 3-layer Winton thermodynamics
176 C-- (called from DO_OCEANIC_PHYSICS) take care of this
177
178 C NOW DO ADVECTION and DIFFUSION
179 IF ( SEAICEadvHeff .OR. SEAICEadvArea .OR. SEAICEadvSnow
180 & .OR. SEAICEadvSalt ) THEN
181 CToM<<<
182 #ifdef SEAICE_ITD
183 #ifdef SEAICE_DEBUG
184 C ToM: generate some test output
185 WRITE(HlimitMsgFormat,'(A,I2,A)') '(A,',nITD,'F8.4)'
186 DO bj=myByLo(myThid),myByHi(myThid)
187 DO bi=myBxLo(myThid),myBxHi(myThid)
188 WRITE(msgBuf,'(A,F8.4,x,F8.4)')
189 & ' SEAICE_MODEL: AREA and HEFF before advection: ',
190 & AREA(1,1,bi,bj), HEFF(1,1,bi,bj)
191 c & ' SEAICE_MODEL: AREA and HEFF/AREA before advection: ',
192 c & AREA(1,1,bi,bj), HEFF(1,1,bi,bj)/AREA(1,1,bi,bj)
193 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
194 & SQUEEZE_RIGHT , myThid)
195 WRITE(msgBuf,HlimitMsgFormat)
196 & ' SEAICE_MODEL: HEFFITD before advection: ',
197 & HEFFITD(1,1,:,bi,bj)
198 c & ' SEAICE_MODEL: HEFFITD/AREAITD before advection: ',
199 c & HEFFITD(1,1,:,bi,bj) / AREAITD(1,1,:,bi,bj)
200 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
201 & SQUEEZE_RIGHT , myThid)
202 WRITE(msgBuf,HlimitMsgFormat)
203 & ' SEAICE_MODEL: AREAITD before advection: ',
204 & AREAITD(1,1,:,bi,bj)
205 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
206 & SQUEEZE_RIGHT , myThid)
207 ENDDO
208 ENDDO
209 #endif
210 #endif
211 C>>>ToM
212 #ifdef ALLOW_DEBUG
213 IF (debugMode) CALL DEBUG_CALL( 'SEAICE_ADVDIFF', myThid )
214 #endif
215 CALL SEAICE_ADVDIFF( myTime, myIter, myThid )
216 CToM<<<
217 #ifdef SEAICE_ITD
218 #ifdef SEAICE_DEBUG
219 C ToM: generate some test output
220 WRITE(HlimitMsgFormat,'(A,I2,A)') '(A,',nITD,'F8.4)'
221 DO bj=myByLo(myThid),myByHi(myThid)
222 DO bi=myBxLo(myThid),myBxHi(myThid)
223 WRITE(msgBuf,HlimitMsgFormat)
224 & ' SEAICE_MODEL: HEFFITD after advection: ',
225 & HEFFITD(1,1,:,bi,bj)
226 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
227 & SQUEEZE_RIGHT , myThid)
228 WRITE(msgBuf,HlimitMsgFormat)
229 & ' SEAICE_MODEL: AREAITD after advection: ',
230 & AREAITD(1,1,:,bi,bj)
231 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
232 & SQUEEZE_RIGHT , myThid)
233 WRITE(msgBuf,'(A)')
234 & ' --------------------------------------------- '
235 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
236 & SQUEEZE_RIGHT , myThid)
237 ENDDO
238 ENDDO
239 #endif
240 C
241 C check that all ice thickness categories meet their limits
242 C (includes Hibler-type ridging)
243 #ifdef ALLOW_DEBUG
244 IF (debugMode) CALL DEBUG_CALL( 'SEAICE_ITD_REDIST', myThid )
245 #endif
246 DO bj=myByLo(myThid),myByHi(myThid)
247 DO bi=myBxLo(myThid),myBxHi(myThid)
248 CALL SEAICE_ITD_REDIST(bi, bj, myTime, myIter, myThid)
249 ENDDO
250 ENDDO
251 C update mean ice thickness HEFF and total ice concentration AREA
252 C to match single category values
253 #ifdef ALLOW_DEBUG
254 IF (debugMode) CALL DEBUG_CALL( 'SEAICE_ITD_SUM', myThid )
255 #endif
256 DO bj=myByLo(myThid),myByHi(myThid)
257 DO bi=myBxLo(myThid),myBxHi(myThid)
258 CALL SEAICE_ITD_SUM(bi, bj, myTime, myIter, myThid)
259 ENDDO
260 ENDDO
261 #endif
262 C>>>ToM
263 ENDIF
264 #ifdef ALLOW_AUTODIFF_TAMC
265 CADJ STORE heffm = comlev1, key=ikey_dynamics, kind=isbyte
266 #endif /* ALLOW_AUTODIFF_TAMC */
267
268 #ifdef SEAICE_ITD
269 #ifdef SEAICE_DEBUG
270 C ToM: generate some test output
271 WRITE(HlimitMsgFormat,'(A,I2,A)') '(A,',nITD,'F8.4)'
272 DO bj=myByLo(myThid),myByHi(myThid)
273 DO bi=myBxLo(myThid),myBxHi(myThid)
274 WRITE(msgBuf,HlimitMsgFormat)
275 & ' SEAICE_MODEL: HEFFITD before growth: ',
276 & HEFFITD(1,1,:,bi,bj)
277 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
278 & SQUEEZE_RIGHT , myThid)
279 WRITE(msgBuf,HlimitMsgFormat)
280 & ' SEAICE_MODEL: AREAITD before growth: ',
281 & AREAITD(1,1,:,bi,bj)
282 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
283 & SQUEEZE_RIGHT , myThid)
284 WRITE(msgBuf,HlimitMsgFormat)
285 & ' SEAICE_MODEL: HSNOWITD before growth: ',
286 & HSNOWITD(1,1,:,bi,bj)
287 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
288 & SQUEEZE_RIGHT , myThid)
289 ENDDO
290 ENDDO
291 #endif
292 #endif
293
294 #ifndef DISABLE_SEAICE_GROWTH
295 C thermodynamics growth
296 C must call growth after calling advection
297 C because of ugly time level business
298 IF ( usePW79thermodynamics ) THEN
299 #ifdef ALLOW_DEBUG
300 IF (debugMode) CALL DEBUG_CALL( 'SEAICE_GROWTH', myThid )
301 #endif
302 CALL SEAICE_GROWTH( myTime, myIter, myThid )
303 CToM<<<
304 #ifdef SEAICE_ITD
305 #ifdef SEAICE_DEBUG
306 C ToM: generate some test output
307 WRITE(HlimitMsgFormat,'(A,I2,A)') '(A,',nITD,'F8.4)'
308 DO bj=myByLo(myThid),myByHi(myThid)
309 DO bi=myBxLo(myThid),myBxHi(myThid)
310 WRITE(msgBuf,HlimitMsgFormat)
311 & ' SEAICE_MODEL: HEFFITD after growth: ',
312 & HEFFITD(1,1,:,bi,bj)
313 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
314 & SQUEEZE_RIGHT , myThid)
315 WRITE(msgBuf,HlimitMsgFormat)
316 & ' SEAICE_MODEL: AREAITD after growth: ',
317 & AREAITD(1,1,:,bi,bj)
318 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
319 & SQUEEZE_RIGHT , myThid)
320 WRITE(msgBuf,HlimitMsgFormat)
321 & ' SEAICE_MODEL: HSNOWITD after growth: ',
322 & HSNOWITD(1,1,:,bi,bj)
323 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
324 & SQUEEZE_RIGHT , myThid)
325 WRITE(msgBuf,'(A)')
326 & ' --------------------------------------------- '
327 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
328 & SQUEEZE_RIGHT , myThid)
329 ENDDO
330 ENDDO
331 #endif
332 C
333 C redistribute sea ice into proper sea ice category after growth/melt
334 C in case model runs with ice thickness distribution
335 C---+-|--1----+----2----+----3----+----4----+----5----+----6----+----7-|
336 #ifdef ALLOW_DEBUG
337 IF (debugMode) CALL DEBUG_CALL( 'SEAICE_ITD_REDIST', myThid )
338 #endif
339 DO bj=myByLo(myThid),myByHi(myThid)
340 DO bi=myBxLo(myThid),myBxHi(myThid)
341 CALL SEAICE_ITD_REDIST(bi, bj, myTime, myIter, myThid)
342 ENDDO
343 ENDDO
344 C store the mean ice thickness in HEFF (for dynamic solver and diagnostics)
345 DO bj=myByLo(myThid),myByHi(myThid)
346 DO bi=myBxLo(myThid),myBxHi(myThid)
347 CALL SEAICE_ITD_SUM(bi, bj, myTime, myIter, myThid)
348 ENDDO
349 ENDDO
350
351 #ifdef SEAICE_DEBUG
352 C ToM: generate some test output
353 WRITE(HlimitMsgFormat,'(A,I2,A)') '(A,',nITD,'F8.4)'
354 DO bj=myByLo(myThid),myByHi(myThid)
355 DO bi=myBxLo(myThid),myBxHi(myThid)
356 WRITE(msgBuf,HlimitMsgFormat)
357 & ' SEAICE_MODEL: HEFFITD after final sorting: ',
358 & HEFFITD(1,1,:,bi,bj)
359 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
360 & SQUEEZE_RIGHT , myThid)
361 WRITE(msgBuf,HlimitMsgFormat)
362 & ' SEAICE_MODEL: AREAITD after final sorting: ',
363 & AREAITD(1,1,:,bi,bj)
364 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
365 & SQUEEZE_RIGHT , myThid)
366 WRITE(msgBuf,HlimitMsgFormat)
367 & ' SEAICE_MODEL: HSNOWITD after final sorting: ',
368 & HSNOWITD(1,1,:,bi,bj)
369 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
370 & SQUEEZE_RIGHT , myThid)
371 WRITE(msgBuf,'(A)')
372 & ' ============================================= '
373 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
374 & SQUEEZE_RIGHT , myThid)
375 ENDDO
376 ENDDO
377 #endif
378 #endif
379 C
380 C>>>ToM
381 ENDIF
382 #endif /* DISABLE_SEAICE_GROWTH */
383
384 #ifdef ALLOW_SITRACER
385 # ifdef ALLOW_AUTODIFF_TAMC
386 CADJ STORE sitracer = comlev1, key=ikey_dynamics, kind=isbyte
387 # endif
388 CALL SEAICE_TRACER_PHYS ( myTime, myIter, myThid )
389 #endif
390
391 C-- Apply ice tracer open boundary conditions
392 #ifdef ALLOW_OBCS
393 # ifndef DISABLE_SEAICE_OBCS
394 IF ( useOBCS ) CALL OBCS_APPLY_SEAICE( myThid )
395 # endif /* DISABLE_SEAICE_OBCS */
396 #endif /* ALLOW_OBCS */
397
398 C-- Update overlap regions for a bunch of stuff
399 _EXCH_XY_RL( HEFF, myThid )
400 _EXCH_XY_RL( AREA, myThid )
401 _EXCH_XY_RL( HSNOW, myThid )
402 #ifdef SEAICE_VARIABLE_SALINITY
403 _EXCH_XY_RL( HSALT, myThid )
404 #endif
405 #ifdef ALLOW_SITRACER
406 DO iTr = 1, SItrNumInUse
407 _EXCH_XY_RL( SItracer(1-OLx,1-OLy,1,1,iTr),myThid )
408 ENDDO
409 #endif
410 _EXCH_XY_RS(EmPmR, myThid )
411 _EXCH_XY_RS(saltFlux, myThid )
412 _EXCH_XY_RS(Qnet , myThid )
413 #ifdef SHORTWAVE_HEATING
414 _EXCH_XY_RS(Qsw , myThid )
415 #endif /* SHORTWAVE_HEATING */
416 #ifdef ATMOSPHERIC_LOADING
417 IF ( useRealFreshWaterFlux )
418 & _EXCH_XY_RS( sIceLoad, myThid )
419 #endif
420
421 #ifdef ALLOW_OBCS
422 C-- In case we use scheme with a large stencil that extends into overlap:
423 C no longer needed with the right masking in advection & diffusion S/R.
424 c IF ( useOBCS ) THEN
425 c DO bj=myByLo(myThid),myByHi(myThid)
426 c DO bi=myBxLo(myThid),myBxHi(myThid)
427 c CALL OBCS_COPY_TRACER( HEFF(1-OLx,1-OLy,bi,bj),
428 c I 1, bi, bj, myThid )
429 c CALL OBCS_COPY_TRACER( AREA(1-OLx,1-OLy,bi,bj),
430 c I 1, bi, bj, myThid )
431 c CALL OBCS_COPY_TRACER( HSNOW(1-OLx,1-OLy,bi,bj),
432 c I 1, bi, bj, myThid )
433 #ifdef SEAICE_VARIABLE_SALINITY
434 c CALL OBCS_COPY_TRACER( HSALT(1-OLx,1-OLy,bi,bj),
435 c I 1, bi, bj, myThid )
436 #endif
437 c ENDDO
438 c ENDDO
439 c ENDIF
440 #endif /* ALLOW_OBCS */
441
442 #ifdef ALLOW_DIAGNOSTICS
443 IF ( useDiagnostics ) THEN
444 C diagnostics for "non-state variables" that are modified by
445 C the seaice model
446 # ifdef ALLOW_EXF
447 CALL DIAGNOSTICS_FILL(UWIND ,'SIuwind ',0,1 ,0,1,1,myThid)
448 CALL DIAGNOSTICS_FILL(VWIND ,'SIvwind ',0,1 ,0,1,1,myThid)
449 # endif
450 CALL DIAGNOSTICS_FILL_RS(FU ,'SIfu ',0,1 ,0,1,1,myThid)
451 CALL DIAGNOSTICS_FILL_RS(FV ,'SIfv ',0,1 ,0,1,1,myThid)
452 CALL DIAGNOSTICS_FILL_RS(EmPmR,'SIempmr ',0,1 ,0,1,1,myThid)
453 CALL DIAGNOSTICS_FILL_RS(Qnet ,'SIqnet ',0,1 ,0,1,1,myThid)
454 CALL DIAGNOSTICS_FILL_RS(Qsw ,'SIqsw ',0,1 ,0,1,1,myThid)
455 #ifdef SEAICE_ITD
456 CALL DIAGNOSTICS_FILL(HEFFITD ,'SIheffN ',0,nITD,0,1,1,myThid)
457 CALL DIAGNOSTICS_FILL(AREAITD ,'SIareaN ',0,nITD,0,1,1,myThid)
458 #endif
459 ENDIF
460 #endif /* ALLOW_DIAGNOSTICS */
461
462 #ifdef ALLOW_THSICE
463 C endif .not.useThSice
464 ENDIF
465 #endif /* ALLOW_THSICE */
466 CML This has already been done in seaice_ocean_stress/ostres, so why repeat?
467 CML CALL EXCH_UV_XY_RS(fu,fv,.TRUE.,myThid)
468
469 #ifdef ALLOW_EXF
470 # ifdef ALLOW_AUTODIFF_TAMC
471 # if (defined (ALLOW_AUTODIFF_MONITOR))
472 CALL EXF_ADJOINT_SNAPSHOTS( 3, myTime, myIter, myThid )
473 # endif
474 # endif
475 #endif
476
477 #ifdef ALLOW_DEBUG
478 IF (debugMode) CALL DEBUG_LEAVE( 'SEAICE_MODEL', myThid )
479 #endif
480
481 RETURN
482 END

  ViewVC Help
Powered by ViewVC 1.1.22