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

Annotation of /MITgcm_contrib/torge/itd/code/seaice_init_varia.F

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


Revision 1.2 - (hide annotations) (download)
Fri Apr 27 22:25:23 2012 UTC (13 years, 3 months ago) by dimitri
Branch: MAIN
Changes since 1.1: +52 -0 lines
first check in of itd code

1 dimitri 1.1 C $Header: /u/gcmpack/MITgcm/pkg/seaice/seaice_init_varia.F,v 1.72 2012/03/14 22:55:53 heimbach Exp $
2     C $Name: $
3    
4     #include "SEAICE_OPTIONS.h"
5     #ifdef ALLOW_OBCS
6     # include "OBCS_OPTIONS.h"
7     #endif
8    
9     CStartOfInterface
10     SUBROUTINE SEAICE_INIT_VARIA( myThid )
11     C *==========================================================*
12     C | SUBROUTINE SEAICE_INIT_VARIA |
13     C | o Initialization of sea ice model. |
14     C *==========================================================*
15     C *==========================================================*
16     IMPLICIT NONE
17    
18     C === Global variables ===
19     #include "SIZE.h"
20     #include "EEPARAMS.h"
21     #include "PARAMS.h"
22     #include "GRID.h"
23     #include "DYNVARS.h"
24     #include "FFIELDS.h"
25     #include "SEAICE_SIZE.h"
26     #include "SEAICE_PARAMS.h"
27     #include "SEAICE.h"
28     #include "SEAICE_TRACER.h"
29     #include "SEAICE_TAVE.h"
30     #ifdef OBCS_UVICE_OLD
31     # include "OBCS_GRID.h"
32     #endif
33    
34     C === Routine arguments ===
35     C myThid :: Thread no. that called this routine.
36     INTEGER myThid
37     CEndOfInterface
38    
39     C === Local variables ===
40     C i,j,k,bi,bj :: Loop counters
41    
42     INTEGER i, j, bi, bj
43     _RL PSTAR
44     INTEGER kSurface
45     #ifdef SEAICE_CGRID
46     _RS mask_uice
47     #endif
48     INTEGER k
49     #ifdef ALLOW_SITRACER
50     INTEGER iTr, jTh
51     #endif
52     #ifdef OBCS_UVICE_OLD
53     INTEGER I_obc, J_obc
54     #endif /* ALLOW_OBCS */
55    
56     IF ( buoyancyRelation .EQ. 'OCEANICP' ) THEN
57     kSurface = Nr
58     ELSE
59     kSurface = 1
60     ENDIF
61    
62     C-- Initialise all variables in common blocks:
63     DO bj=myByLo(myThid),myByHi(myThid)
64     DO bi=myBxLo(myThid),myBxHi(myThid)
65     DO j=1-OLy,sNy+OLy
66     DO i=1-OLx,sNx+OLx
67     HEFF(i,j,bi,bj)=0. _d 0
68     AREA(i,j,bi,bj)=0. _d 0
69 dimitri 1.2 CToM<<<
70     #ifdef SEAICE_ITD
71     DO k=1,nITD
72     AREAITD(i,j,k,bi,bj) =0. _d 0
73     HEFFITD(i,j,k,bi,bj) =0. _d 0
74     ENDDO
75     #endif
76     C>>>ToM
77 dimitri 1.1 UICE(i,j,bi,bj)=0. _d 0
78     VICE(i,j,bi,bj)=0. _d 0
79     #ifdef SEAICE_ALLOW_FREEDRIFT
80     uice_fd(i,j,bi,bj)=0. _d 0
81     vice_fd(i,j,bi,bj)=0. _d 0
82     #endif
83     C
84     uIceNm1(i,j,bi,bj)=0. _d 0
85     vIceNm1(i,j,bi,bj)=0. _d 0
86     #ifdef SEAICE_GROWTH_LEGACY
87     areaNm1(i,j,bi,bj)=0. _d 0
88     hEffNm1(i,j,bi,bj)=0. _d 0
89     #endif
90     ETA (i,j,bi,bj) = 0. _d 0
91     ZETA(i,j,bi,bj) = 0. _d 0
92     DRAGS(i,j,bi,bj) = 0. _d 0
93     DRAGA(i,j,bi,bj) = 0. _d 0
94     FORCEX(i,j,bi,bj) = 0. _d 0
95     FORCEY(i,j,bi,bj) = 0. _d 0
96     uIceC(i,j,bi,bj) = 0. _d 0
97     vIceC(i,j,bi,bj) = 0. _d 0
98     #ifdef SEAICE_CGRID
99     seaiceMassC(i,j,bi,bj)=0. _d 0
100     seaiceMassU(i,j,bi,bj)=0. _d 0
101     seaiceMassV(i,j,bi,bj)=0. _d 0
102     stressDivergenceX(i,j,bi,bj) = 0. _d 0
103     stressDivergenceY(i,j,bi,bj) = 0. _d 0
104     # ifdef SEAICE_ALLOW_EVP
105     seaice_sigma1 (i,j,bi,bj) = 0. _d 0
106     seaice_sigma2 (i,j,bi,bj) = 0. _d 0
107     seaice_sigma12(i,j,bi,bj) = 0. _d 0
108     # endif /* SEAICE_ALLOW_EVP */
109     #else /* SEAICE_CGRID */
110     AMASS(i,j,bi,bj) = 0. _d 0
111     DAIRN(i,j,bi,bj) = 0. _d 0
112     WINDX(i,j,bi,bj) = 0. _d 0
113     WINDY(i,j,bi,bj) = 0. _d 0
114     GWATX(i,j,bi,bj) = 0. _d 0
115     GWATY(i,j,bi,bj) = 0. _d 0
116     #endif /* SEAICE_CGRID */
117     DWATN(i,j,bi,bj) = 0. _d 0
118     PRESS0(i,j,bi,bj) = 0. _d 0
119     FORCEX0(i,j,bi,bj)= 0. _d 0
120     FORCEY0(i,j,bi,bj)= 0. _d 0
121     ZMAX(i,j,bi,bj) = 0. _d 0
122     ZMIN(i,j,bi,bj) = 0. _d 0
123     HSNOW(i,j,bi,bj) = 0. _d 0
124 dimitri 1.2 CToM<<<
125     #ifdef SEAICE_ITD
126     DO k=1,nITD
127     HSNOWITD(i,j,k,bi,bj)=0. _d 0
128     ENDDO
129     #endif
130     C>>>ToM
131 dimitri 1.1 #ifdef SEAICE_VARIABLE_SALINITY
132     HSALT(i,j,bi,bj) = 0. _d 0
133     #endif
134     #ifdef ALLOW_SITRACER
135     DO iTr = 1, SItrMaxNum
136     SItracer(i,j,bi,bj,iTr) = 0. _d 0
137     SItrBucket(i,j,bi,bj,iTr) = 0. _d 0
138     c "ice concentration" tracer that should remain .EQ.1.
139     if (SItrName(iTr).EQ.'one') SItracer(i,j,bi,bj,iTr)=1. _d 0
140     ENDDO
141     DO jTh = 1, 5
142     SItrHEFF (i,j,bi,bj,jTh) = 0. _d 0
143     ENDDO
144     DO jTh = 1, 3
145     SItrAREA (i,j,bi,bj,jTh) = 0. _d 0
146     ENDDO
147     #endif
148     TICE(i,j,bi,bj) = 0. _d 0
149     DO k=1,MULTDIM
150     TICES(i,j,k,bi,bj)=0. _d 0
151     ENDDO
152     TAUX(i,j,bi,bj) = 0. _d 0
153     TAUY(i,j,bi,bj) = 0. _d 0
154     #ifdef ALLOW_SEAICE_COST_EXPORT
155     uHeffExportCell(i,j,bi,bj) = 0. _d 0
156     vHeffExportCell(i,j,bi,bj) = 0. _d 0
157     #endif
158     saltWtrIce(i,j,bi,bj) = 0. _d 0
159     frWtrIce(i,j,bi,bj) = 0. _d 0
160     #if (defined (ALLOW_MEAN_SFLUX_COST_CONTRIBUTION) || defined (ALLOW_SSH_GLOBMEAN_COST_CONTRIBUTION))
161     frWtrAtm(i,j,bi,bj) = 0. _d 0
162     AREAforAtmFW(i,j,bi,bj)=0. _d 0
163     #endif
164     ENDDO
165     ENDDO
166     ENDDO
167     ENDDO
168    
169     #ifdef ALLOW_TIMEAVE
170     C Initialize averages to zero
171     DO bj = myByLo(myThid), myByHi(myThid)
172     DO bi = myBxLo(myThid), myBxHi(myThid)
173     CALL TIMEAVE_RESET( FUtave , 1, bi, bj, myThid )
174     CALL TIMEAVE_RESET( FVtave , 1, bi, bj, myThid )
175     CALL TIMEAVE_RESET( EmPmRtave, 1, bi, bj, myThid )
176     CALL TIMEAVE_RESET( QNETtave , 1, bi, bj, myThid )
177     CALL TIMEAVE_RESET( QSWtave , 1, bi, bj, myThid )
178     CALL TIMEAVE_RESET( UICEtave , 1, bi, bj, myThid )
179     CALL TIMEAVE_RESET( VICEtave , 1, bi, bj, myThid )
180     CALL TIMEAVE_RESET( HEFFtave , 1, bi, bj, myThid )
181     CALL TIMEAVE_RESET( AREAtave , 1, bi, bj, myThid )
182     SEAICE_timeAve(bi,bj) = ZERO
183     ENDDO
184     ENDDO
185     #endif /* ALLOW_TIMEAVE */
186    
187     C-- Initialize (variable) grid info. As long as we allow masking of
188     C-- velocities outside of ice covered areas (in seaice_dynsolver)
189     C-- we need to re-initialize seaiceMaskU/V here for TAF/TAMC
190     #ifdef SEAICE_CGRID
191     DO bj=myByLo(myThid),myByHi(myThid)
192     DO bi=myBxLo(myThid),myBxHi(myThid)
193     DO j=1-OLy+1,sNy+OLy
194     DO i=1-OLx+1,sNx+OLx
195     seaiceMaskU(i,j,bi,bj)= 0.0 _d 0
196     seaiceMaskV(i,j,bi,bj)= 0.0 _d 0
197     mask_uice=HEFFM(i,j,bi,bj)+HEFFM(i-1,j ,bi,bj)
198     IF(mask_uice.GT.1.5 _d 0) seaiceMaskU(i,j,bi,bj)=1.0 _d 0
199     mask_uice=HEFFM(i,j,bi,bj)+HEFFM(i ,j-1,bi,bj)
200     IF(mask_uice.GT.1.5 _d 0) seaiceMaskV(i,j,bi,bj)=1.0 _d 0
201     ENDDO
202     ENDDO
203     ENDDO
204     ENDDO
205     #endif /* SEAICE_CGRID */
206    
207     DO bj=myByLo(myThid),myByHi(myThid)
208     DO bi=myBxLo(myThid),myBxHi(myThid)
209     #ifdef OBCS_UVICE_OLD
210     #ifdef SEAICE_CGRID
211     IF (useOBCS) THEN
212     C-- If OBCS is turned on, close southern and western boundaries
213     DO i=1-OLx,sNx+OLx
214     C Southern boundary
215     J_obc = OB_Js(i,bi,bj)
216     IF (J_obc.NE.0) THEN
217     seaiceMaskU(i,J_obc,bi,bj)= 0.0 _d 0
218     seaiceMaskV(i,J_obc,bi,bj)= 0.0 _d 0
219     ENDIF
220     ENDDO
221     DO j=1-OLy,sNy+OLy
222     C Western boundary
223     I_obc=OB_Iw(j,bi,bj)
224     IF (I_obc.NE.0) THEN
225     seaiceMaskU(I_obc,j,bi,bj)= 0.0 _d 0
226     seaiceMaskV(I_obc,j,bi,bj)= 0.0 _d 0
227     ENDIF
228     ENDDO
229     ENDIF
230     #endif /* SEAICE_CGRID */
231     #endif /* OBCS_UVICE_OLD */
232    
233     DO j=1-OLy,sNy+OLy
234     DO i=1-OLx,sNx+OLx
235     TICE(i,j,bi,bj)=273.0 _d 0
236     DO k=1,MULTDIM
237     TICES(i,j,k,bi,bj)=273.0 _d 0
238     ENDDO
239     #ifndef SEAICE_CGRID
240     AMASS (i,j,bi,bj)=1000.0 _d 0
241     #else
242     seaiceMassC(i,j,bi,bj)=1000.0 _d 0
243     seaiceMassU(i,j,bi,bj)=1000.0 _d 0
244     seaiceMassV(i,j,bi,bj)=1000.0 _d 0
245     #endif
246     ENDDO
247     ENDDO
248    
249     ENDDO
250     ENDDO
251    
252     C-- Update overlap regions
253     #ifdef SEAICE_CGRID
254     CALL EXCH_UV_XY_RL(seaiceMaskU,seaiceMaskV,.FALSE.,myThid)
255     #else
256     _EXCH_XY_RS(UVM, myThid)
257     #endif
258    
259     C-- Now lets look at all these beasts
260     IF ( debugLevel .GE. debLevC ) THEN
261     CALL PLOT_FIELD_XYRL( HEFFM , 'Current HEFFM ' ,
262     & nIter0, myThid )
263     #ifdef SEAICE_CGRID
264     CALL PLOT_FIELD_XYRL( seaiceMaskU, 'Current seaiceMaskU',
265     & nIter0, myThid )
266     CALL PLOT_FIELD_XYRL( seaiceMaskV, 'Current seaiceMaskV',
267     & nIter0, myThid )
268     #else
269     CALL PLOT_FIELD_XYRS( UVM , 'Current UVM ' ,
270     & nIter0, myThid )
271     #endif
272     ENDIF
273    
274     C-- Set model variables to initial/restart conditions
275     IF ( .NOT. ( startTime .EQ. baseTime .AND. nIter0 .EQ. 0
276     & .AND. pickupSuff .EQ. ' ') ) THEN
277    
278     CALL SEAICE_READ_PICKUP ( myThid )
279    
280 dimitri 1.2 #ifdef SEAICE_ITD
281     CToM<<<
282     DO bj=myByLo(myThid),myByHi(myThid)
283     DO bi=myBxLo(myThid),myBxHi(myThid)
284     DO j=1-OLy,sNy+OLy
285     DO i=1-OLx,sNx+OLx
286     AREAITD(I,J,1,bi,bj) =AREA(I,J,bi,bj)
287     HEFFITD(I,J,1,bi,bj) =HEFF(I,J,bi,bj)
288     HSNOWITD(I,J,1,bi,bj)=HSNOW(I,J,bi,bj)
289     ENDDO
290     ENDDO
291     ENDDO
292     ENDDO
293     C CALL SEAICE_ITD_REDIST(myTime, myIter, myThid)
294     c should do no harm before first advection step and right after
295     c seaice_itd_redist is called (before growth)
296     C>>>ToM
297     #endif
298 dimitri 1.1 ELSE
299    
300     DO bj=myByLo(myThid),myByHi(myThid)
301     DO bi=myBxLo(myThid),myBxHi(myThid)
302     DO j=1-OLy,sNy+OLy
303     DO i=1-OLx,sNx+OLx
304     HEFF(i,j,bi,bj)=SEAICE_initialHEFF*HEFFM(i,j,bi,bj)
305     UICE(i,j,bi,bj)=ZERO
306     VICE(i,j,bi,bj)=ZERO
307     ENDDO
308     ENDDO
309     ENDDO
310     ENDDO
311    
312     C-- Read initial sea-ice velocity from file (if available)
313     IF ( uIceFile .NE. ' ' )
314     & CALL READ_FLD_XY_RL( uIceFile, ' ', uIce, 0, myThid )
315     IF ( vIceFile .NE. ' ' )
316     & CALL READ_FLD_XY_RL( vIceFile, ' ', vIce, 0, myThid )
317     IF ( uIceFile .NE. ' ' .OR. vIceFile .NE. ' ' ) THEN
318     #ifdef SEAICE_CGRID
319     DO bj=myByLo(myThid),myByHi(myThid)
320     DO bi=myBxLo(myThid),myBxHi(myThid)
321     DO j=1-OLy,sNy+OLy
322     DO i=1-OLx,sNx+OLx
323     uIce(i,j,bi,bj) = uIce(i,j,bi,bj)*seaiceMaskU(i,j,bi,bj)
324     vIce(i,j,bi,bj) = vIce(i,j,bi,bj)*seaiceMaskV(i,j,bi,bj)
325     ENDDO
326     ENDDO
327     ENDDO
328     ENDDO
329     #endif /* SEAICE_CGRID */
330     CALL EXCH_UV_XY_RL( uIce, vIce, .TRUE., myThid )
331     ENDIF
332    
333     C-- Read initial sea-ice thickness from file if available.
334     IF ( HeffFile .NE. ' ' ) THEN
335     CALL READ_FLD_XY_RL( HeffFile, ' ', HEFF, 0, myThid )
336     _EXCH_XY_RL(HEFF,myThid)
337     DO bj=myByLo(myThid),myByHi(myThid)
338     DO bi=myBxLo(myThid),myBxHi(myThid)
339     DO j=1-OLy,sNy+OLy
340     DO i=1-OLx,sNx+OLx
341     HEFF(i,j,bi,bj) = MAX(HEFF(i,j,bi,bj),ZERO)
342     ENDDO
343     ENDDO
344     ENDDO
345     ENDDO
346     ENDIF
347    
348     DO bj=myByLo(myThid),myByHi(myThid)
349     DO bi=myBxLo(myThid),myBxHi(myThid)
350     DO j=1-OLy,sNy+OLy
351     DO i=1-OLx,sNx+OLx
352     IF(HEFF(i,j,bi,bj).GT.ZERO) AREA(i,j,bi,bj)=ONE
353     ENDDO
354     ENDDO
355     ENDDO
356     ENDDO
357    
358     C-- Read initial sea-ice area from file if available.
359     IF ( AreaFile .NE. ' ' ) THEN
360     CALL READ_FLD_XY_RL( AreaFile, ' ', AREA, 0, myThid )
361     _EXCH_XY_RL(AREA,myThid)
362     DO bj=myByLo(myThid),myByHi(myThid)
363     DO bi=myBxLo(myThid),myBxHi(myThid)
364     DO j=1-OLy,sNy+OLy
365     DO i=1-OLx,sNx+OLx
366     AREA(i,j,bi,bj) = MAX(AREA(i,j,bi,bj),ZERO)
367     AREA(i,j,bi,bj) = MIN(AREA(i,j,bi,bj),ONE)
368     IF ( AREA(i,j,bi,bj) .LE. ZERO ) HEFF(i,j,bi,bj) = ZERO
369     IF ( HEFF(i,j,bi,bj) .LE. ZERO ) AREA(i,j,bi,bj) = ZERO
370     ENDDO
371     ENDDO
372     ENDDO
373     ENDDO
374     ENDIF
375    
376     DO bj=myByLo(myThid),myByHi(myThid)
377     DO bi=myBxLo(myThid),myBxHi(myThid)
378     DO j=1-OLy,sNy+OLy
379     DO i=1-OLx,sNx+OLx
380     HSNOW(i,j,bi,bj) = 0.2 _d 0 * AREA(i,j,bi,bj)
381     ENDDO
382     ENDDO
383     ENDDO
384     ENDDO
385    
386     C-- Read initial snow thickness from file if available.
387     IF ( HsnowFile .NE. ' ' ) THEN
388     CALL READ_FLD_XY_RL( HsnowFile, ' ', HSNOW, 0, myThid )
389     _EXCH_XY_RL(HSNOW,myThid)
390     DO bj=myByLo(myThid),myByHi(myThid)
391     DO bi=myBxLo(myThid),myBxHi(myThid)
392     DO j=1-OLy,sNy+OLy
393     DO i=1-OLx,sNx+OLx
394     HSNOW(i,j,bi,bj) = MAX(HSNOW(i,j,bi,bj),ZERO)
395     ENDDO
396     ENDDO
397     ENDDO
398     ENDDO
399     ENDIF
400    
401 dimitri 1.2 #ifdef SEAICE_ITD
402     CToM<<<
403     DO bj=myByLo(myThid),myByHi(myThid)
404     DO bi=myBxLo(myThid),myBxHi(myThid)
405     DO j=1-OLy,sNy+OLy
406     DO i=1-OLx,sNx+OLx
407     AREAITD(I,J,1,bi,bj) =AREA(I,J,bi,bj)
408     HEFFITD(I,J,1,bi,bj) =HEFF(I,J,bi,bj)
409     HSNOWITD(I,J,1,bi,bj)=HSNOW(I,J,bi,bj)
410     ENDDO
411     ENDDO
412     ENDDO
413     ENDDO
414     C CALL SEAICE_ITD_REDIST(myTime, myIter, myThid)
415     c should do no harm before first advection step and right after
416     c seaice_itd_redist is called (before growth)
417     C>>>ToM
418     #endif
419    
420 dimitri 1.1 #ifdef SEAICE_VARIABLE_SALINITY
421     DO bj=myByLo(myThid),myByHi(myThid)
422     DO bi=myBxLo(myThid),myBxHi(myThid)
423     DO j=1-OLy,sNy+OLy
424     DO i=1-OLx,sNx+OLx
425     HSALT(i,j,bi,bj)=HEFF(i,j,bi,bj)*salt(i,j,kSurface,bi,bj)*
426     & SEAICE_rhoIce*SEAICE_saltFrac
427     cif & ICE2WATR*rhoConstFresh*SEAICE_saltFrac
428    
429     ENDDO
430     ENDDO
431     ENDDO
432     ENDDO
433    
434     C-- Read initial sea ice salinity from file if available.
435     IF ( HsaltFile .NE. ' ' ) THEN
436     CALL READ_FLD_XY_RL( HsaltFile, ' ', HSALT, 0, myThid )
437     _EXCH_XY_RL(HSALT,myThid)
438     ENDIF
439     #endif /* SEAICE_VARIABLE_SALINITY */
440    
441     #ifdef ALLOW_SITRACER
442     C-- Read initial sea ice age from file if available.
443     DO iTr = 1, SItrMaxNum
444     IF ( SItrFile(iTr) .NE. ' ' ) THEN
445     CALL READ_FLD_XY_RL( siTrFile(iTr), ' ',
446     & SItracer(1-OLx,1-OLy,1,1,iTr), 0, myThid )
447     _EXCH_XY_RL(SItracer(1-OLx,1-OLy,1,1,iTr),myThid)
448     ENDIF
449     ENDDO
450     #endif /* ALLOW_SITRACER */
451    
452     ENDIF
453    
454     #if (defined (ALLOW_MEAN_SFLUX_COST_CONTRIBUTION) || defined (ALLOW_SSH_GLOBMEAN_COST_CONTRIBUTION))
455     DO bj=myByLo(myThid),myByHi(myThid)
456     DO bi=myBxLo(myThid),myBxHi(myThid)
457     DO j=1-OLy,sNy+OLy
458     DO i=1-OLx,sNx+OLx
459     AREAforAtmFW(i,j,bi,bj) = AREA(i,j,bi,bj)
460     ENDDO
461     ENDDO
462     ENDDO
463     ENDDO
464     #endif
465    
466     #ifdef ALLOW_OBCS
467     C-- In case we use scheme with a large stencil that extends into overlap:
468     C no longer needed with the right masking in advection & diffusion S/R.
469     c IF ( useOBCS ) THEN
470     c DO bj=myByLo(myThid),myByHi(myThid)
471     c DO bi=myBxLo(myThid),myBxHi(myThid)
472     c CALL OBCS_COPY_TRACER( HEFF(1-OLx,1-OLy,bi,bj),
473     c I 1, bi, bj, myThid )
474     c CALL OBCS_COPY_TRACER( AREA(1-OLx,1-OLy,bi,bj),
475     c I 1, bi, bj, myThid )
476     c CALL OBCS_COPY_TRACER( HSNOW(1-OLx,1-OLy,bi,bj),
477     c I 1, bi, bj, myThid )
478     #ifdef SEAICE_VARIABLE_SALINITY
479     c CALL OBCS_COPY_TRACER( HSALT(1-OLx,1-OLy,bi,bj),
480     c I 1, bi, bj, myThid )
481     #endif
482     c ENDDO
483     c ENDDO
484     c ENDIF
485     #endif /* ALLOW_OBCS */
486    
487     C--- Complete initialization
488     PSTAR = SEAICE_strength
489     DO bj=myByLo(myThid),myByHi(myThid)
490     DO bi=myBxLo(myThid),myBxHi(myThid)
491     DO j=1-OLy,sNy+OLy
492     DO i=1-OLx,sNx+OLx
493     ZETA(i,j,bi,bj) = HEFF(i,j,bi,bj)*(1.0 _d 11)
494     ETA(i,j,bi,bj) = ZETA(i,j,bi,bj)/SEAICE_eccen**2
495     PRESS0(i,j,bi,bj) = PSTAR*HEFF(i,j,bi,bj)
496     & *EXP(-20.0 _d 0*(ONE-AREA(i,j,bi,bj)))
497     ZMAX(I,J,bi,bj) = SEAICE_zetaMaxFac*PRESS0(I,J,bi,bj)
498     ZMIN(i,j,bi,bj) = SEAICE_zetaMin
499     PRESS0(i,j,bi,bj) = PRESS0(i,j,bi,bj)*HEFFM(i,j,bi,bj)
500     ENDDO
501     ENDDO
502     IF ( useRealFreshWaterFlux .AND. .NOT.useThSIce ) THEN
503     DO j=1-OLy,sNy+OLy
504     DO i=1-OLx,sNx+OLx
505     sIceLoad(i,j,bi,bj) = HEFF(i,j,bi,bj)*SEAICE_rhoIce
506     & + HSNOW(i,j,bi,bj)*SEAICE_rhoSnow
507    
508     ENDDO
509     ENDDO
510     ENDIF
511     ENDDO
512     ENDDO
513    
514     RETURN
515     END

  ViewVC Help
Powered by ViewVC 1.1.22