/[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.12 - (show annotations) (download)
Fri May 3 18:59:40 2013 UTC (12 years, 3 months ago) by torge
Branch: MAIN
Changes since 1.11: +25 -30 lines
removing all "ToM" comments

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

  ViewVC Help
Powered by ViewVC 1.1.22