/[MITgcm]/MITgcm/pkg/seaice/growth.F
ViewVC logotype

Annotation of /MITgcm/pkg/seaice/growth.F

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


Revision 1.10 - (hide annotations) (download)
Thu Oct 23 07:14:49 2003 UTC (20 years, 7 months ago) by dimitri
Branch: MAIN
CVS Tags: checkpoint51n_post
Branch point for: checkpoint51n_branch
Changes since 1.9: +1 -2 lines
o modifications to make FREEZE flux visible to pkg/kpp
  - moved surfaceTendencyTice from pkg/seaice to main code
  - FREEZE & EXTERNAL_FORCING_SURF moved to FORWARD_STEP
  - subroutine FREEZE now limits only surface temperature
    (this means new output.txt for global_ocean.90x40x15,
     global_ocean.cs32x15, and global_with_exf)
o added surface flux output variables to TIMEAVE_STATVARS

1 dimitri 1.10 C $Header: /usr/local/gcmpack/MITgcm/pkg/seaice/growth.F,v 1.9 2003/10/09 04:19:20 edhill Exp $
2 edhill 1.9 C $Name: $
3 heimbach 1.2
4     #include "SEAICE_OPTIONS.h"
5    
6     CStartOfInterface
7     SUBROUTINE growth( myTime, myIter, myThid )
8     C /==========================================================\
9     C | SUBROUTINE growth |
10     C | o Updata ice thickness and snow depth |
11     C |==========================================================|
12     C \==========================================================/
13     IMPLICIT NONE
14    
15     C === Global variables ===
16     #include "SIZE.h"
17     #include "EEPARAMS.h"
18     #include "PARAMS.h"
19     #include "DYNVARS.h"
20     #include "GRID.h"
21     #include "FFIELDS.h"
22     #include "SEAICE_PARAMS.h"
23     #include "SEAICE.h"
24     #include "SEAICE_FFIELDS.h"
25    
26 heimbach 1.7 #ifdef ALLOW_AUTODIFF_TAMC
27     # include "tamc.h"
28     #endif
29 heimbach 1.2 C === Routine arguments ===
30     C myTime - Simulation time
31     C myIter - Simulation timestep number
32     C myThid - Thread no. that called this routine.
33     _RL myTime
34     INTEGER myIter, myThid
35     CEndOfInterface
36    
37     #ifdef ALLOW_SEAICE
38    
39     C === Local variables ===
40 dimitri 1.4 C i,j,bi,bj - Loop counters
41 heimbach 1.2
42 dimitri 1.4 INTEGER i, j, bi, bj
43 dimitri 1.3 _RL TBC, salinity_ice, SDF, Q0, QS
44 heimbach 1.2 _RL theta_old
45    
46     _RL GAREA( 1-OLx:sNx+OLx, 1-OLy:sNy+OLy )
47     _RL GHEFF( 1-OLx:sNx+OLx, 1-OLy:sNy+OLy )
48     _RL AR ( 1-OLx:sNx+OLx, 1-OLy:sNy+OLy, nSx, nSy )
49    
50 dimitri 1.3 salinity_ice=4.0 _d 0 ! ICE SALINITY
51     TBC=271.2 _d 0-273.16 _d 0 ! FREEZING TEMP. OF SEA WATER
52     SDF=1000.0 _d 0/330.0 _d 0 ! RATIO OF WATER DESITY AND SNOW DENSITY
53     Q0=1.0D-06/302.0 _d +00 ! INVERSE HEAT OF FUSION OF ICE
54     QS=1.1 _d +08 ! HEAT OF FUSION OF SNOW
55 heimbach 1.2
56     DO bj=myByLo(myThid),myByHi(myThid)
57     DO bi=myBxLo(myThid),myBxHi(myThid)
58 heimbach 1.7 c
59     cph(
60     #ifdef ALLOW_AUTODIFF_TAMC
61     act1 = bi - myBxLo(myThid)
62     max1 = myBxHi(myThid) - myBxLo(myThid) + 1
63     act2 = bj - myByLo(myThid)
64     max2 = myByHi(myThid) - myByLo(myThid) + 1
65     act3 = myThid - 1
66     max3 = nTx*nTy
67     act4 = ikey_dynamics - 1
68     iicekey = (act1 + 1) + act2*max1
69     & + act3*max1*max2
70     & + act4*max1*max2*max3
71     #endif /* ALLOW_AUTODIFF_TAMC */
72     c
73     #ifdef ALLOW_AUTODIFF_TAMC
74     CADJ STORE theta(:,:,:,bi,bj)= comlev1_bibj,
75     CADJ & key = iicekey, byte = isbyte
76     CADJ STORE area(:,:,:,bi,bj) = comlev1_bibj,
77     CADJ & key = iicekey, byte = isbyte
78     CADJ STORE atemp(:,:,bi,bj) = comlev1_bibj,
79     CADJ & key = iicekey, byte = isbyte
80     #endif /* ALLOW_AUTODIFF_TAMC */
81     cph)
82 heimbach 1.2 DO J=1,sNy
83     DO I=1,sNx
84 dimitri 1.3 SEAICE_SALT(I,J,bi,bj)=ZERO
85     WATR(I,J,bi,bj)=ZERO
86 heimbach 1.7 ENDDO
87     ENDDO
88     #ifdef ALLOW_AUTODIFF_TAMC
89     CADJ STORE area(:,:,:,bi,bj) = comlev1_bibj,
90     CADJ & key = iicekey, byte = isbyte
91     CADJ STORE heff(:,:,:,bi,bj) = comlev1_bibj,
92     CADJ & key = iicekey, byte = isbyte
93     #endif /* ALLOW_AUTODIFF_TAMC */
94     DO J=1,sNy
95     DO I=1,sNx
96 dimitri 1.3 AR(I,J,bi,bj)=MIN(AREA(I,J,2,bi,bj),
97     & HEFF(I,J,2,bi,bj)*1.0 _d +04)
98 heimbach 1.7 ENDDO
99     ENDDO
100     #ifdef ALLOW_AUTODIFF_TAMC
101     CADJ STORE heff(:,:,:,bi,bj) = comlev1_bibj,
102     CADJ & key = iicekey, byte = isbyte
103     #endif /* ALLOW_AUTODIFF_TAMC */
104     DO J=1,sNy
105     DO I=1,sNx
106 heimbach 1.2 C NOW BALANCE THE HEAT IN OCEAN FIRT LEVEL
107 dimitri 1.5 C Here the units of YNEG are m of sea-ice.
108     C The factor dRf(1)/72.0764, used to convert temperature
109     C change in deg K to m of sea-ice, is approximately:
110     C dRf(1) * (sea water heat capacity = 3996 J/kg/K)
111     C * (density of sea-water = 1026 kg/m^3)
112     C / (latent heat of fusion of sea-ice = 334000 J/kg)
113     C / (density of sea-ice = 910 kg/m^3)
114 dimitri 1.3 YNEG(I,J,bi,bj)=(theta(I,J,1,bi,bj)-TBC)*dRf(1)/72.0764 _d 0
115 heimbach 1.2 IF(YNEG(I,J,bi,bj).LE.ZERO) THEN
116     C SUPERCOOLING, CONVERT TO ICE
117     HEFF(I,J,1,bi,bj)=HEFF(I,J,1,bi,bj)-YNEG(I,J,bi,bj)
118     SEAICE_SALT(I,J,bi,bj)=SEAICE_SALT(I,J,bi,bj)-YNEG(I,J,bi,bj)
119     C HERE YNEG IS THE OCEAN TEMP. DIFFERENCE WITH SUPER-COOLING
120     YNEG(I,J,bi,bj)=TBC-theta(I,J,1,bi,bj)
121     theta(I,J,1,bi,bj)=TBC
122     ELSE
123     C NOW CORRECT ICE THICKNESS
124     GHEFF(I,J)=HEFF(I,J,1,bi,bj)
125     HEFF(I,J,3,bi,bj)=HEFF(I,J,1,bi,bj)-YNEG(I,J,bi,bj)
126 dimitri 1.3 HEFF(I,J,1,bi,bj)=MAX(ZERO,HEFF(I,J,3,bi,bj))
127 heimbach 1.2 C NOW CORRECT YNEG
128     YNEG(I,J,bi,bj)=HEFF(I,J,1,bi,bj)-HEFF(I,J,3,bi,bj)
129     SEAICE_SALT(I,J,bi,bj)=SEAICE_SALT(I,J,bi,bj)
130     & +(HEFF(I,J,1,bi,bj)-GHEFF(I,J))
131     theta_old=theta(I,J,1,bi,bj)
132     theta(I,J,1,bi,bj)=
133 dimitri 1.3 & (YNEG(I,J,bi,bj)*72.0764 _d 0/dRf(1)+TBC)
134 heimbach 1.2 C HERE YNEG IS THE OCEAN TEMP. DIFFERENCE WITH NO SUPER-COOLING
135     YNEG(I,J,bi,bj)=theta(I,J,1,bi,bj)-theta_old
136     ENDIF
137     C surfaceTendencyTice is the equivalent amount of surface heating
138     C implied by above change in surface level temperature (YNEG).
139     C Units are degrees/s (>0 for ocean warming).
140     surfaceTendencyTice(I,J,bi,bj)=YNEG(I,J,bi,bj)/deltaTtracer
141     ENDDO
142     ENDDO
143 heimbach 1.7 c
144 heimbach 1.2 ENDDO
145     ENDDO
146    
147 heimbach 1.7 cph(
148     #ifdef ALLOW_AUTODIFF_TAMC
149     CADJ STORE area = comlev1, key = ikey_dynamics
150     CADJ STORE atemp = comlev1, key = ikey_dynamics
151     CADJ STORE heff = comlev1, key = ikey_dynamics
152     CADJ STORE hsnow = comlev1, key = ikey_dynamics
153     CADJ STORE lwdown = comlev1, key = ikey_dynamics
154     CADJ STORE tice = comlev1, key = ikey_dynamics
155     CADJ STORE uwind = comlev1, key = ikey_dynamics
156     CADJ STORE vwind = comlev1, key = ikey_dynamics
157     #endif /* ALLOW_AUTODIFF_TAMC */
158     cph)
159 heimbach 1.2 C GROWTH SUBROUTINE CALCULATES TOTAL GROWTH TENDENCIES,
160     C INCLUDING SNOWFALL
161     CALL GROATB(A22,myThid)
162    
163     DO bj=myByLo(myThid),myByHi(myThid)
164     DO bi=myBxLo(myThid),myBxHi(myThid)
165 heimbach 1.7 cph(
166     #ifdef ALLOW_AUTODIFF_TAMC
167     act1 = bi - myBxLo(myThid)
168     max1 = myBxHi(myThid) - myBxLo(myThid) + 1
169     act2 = bj - myByLo(myThid)
170     max2 = myByHi(myThid) - myByLo(myThid) + 1
171     act3 = myThid - 1
172     max3 = nTx*nTy
173     act4 = ikey_dynamics - 1
174     iicekey = (act1 + 1) + act2*max1
175     & + act3*max1*max2
176     & + act4*max1*max2*max3
177     #endif /* ALLOW_AUTODIFF_TAMC */
178     c
179     #ifdef ALLOW_AUTODIFF_TAMC
180     CADJ STORE area(:,:,:,bi,bj) = comlev1_bibj,
181     CADJ & key = iicekey, byte = isbyte
182     CADJ STORE heff(:,:,:,bi,bj) = comlev1_bibj,
183     CADJ & key = iicekey, byte = isbyte
184     CADJ STORE hsnow(:,:,bi,bj) = comlev1_bibj,
185     CADJ & key = iicekey, byte = isbyte
186     CADJ STORE fo(:,:,bi,bj) = comlev1_bibj,
187     CADJ & key = iicekey, byte = isbyte
188     CADJ STORE fice(:,:,bi,bj) = comlev1_bibj,
189     CADJ & key = iicekey, byte = isbyte
190     #endif /* ALLOW_AUTODIFF_TAMC */
191     cph)
192 heimbach 1.2 C NOW CALCULATE CORRECTED GROWTH
193     DO J=1,sNy
194     DO I=1,sNx
195     GHEFF(I,J)=-DELTAT*FICE(I,J,bi,bj)
196     GAREA(I,J)=HSNOW(I,J,bi,bj)*QS
197     IF(GHEFF(I,J).GT.ZERO.AND.GHEFF(I,J).LE.GAREA(I,J)) THEN
198     HSNOW(I,J,bi,bj)=HSNOW(I,J,bi,bj)-GHEFF(I,J)/QS
199     C SNOW CONVERTED INTO WATER AND THEN INTO ICE
200 dimitri 1.5 C The factor 0.920 is used to convert m of sea-ice to m of freshwater
201 heimbach 1.2 SEAICE_SALT(I,J,bi,bj)=SEAICE_SALT(I,J,bi,bj)
202 dimitri 1.3 & -(GHEFF(I,J)/QS)/SDF/0.920 _d 0*AR(I,J,bi,bj)
203 heimbach 1.2 WATR(I,J,bi,bj)=WATR(I,J,bi,bj)
204 dimitri 1.3 & -(GHEFF(I,J)/QS)/SDF/0.920 _d 0*AR(I,J,bi,bj)
205     FICE(I,J,bi,bj)=ZERO
206 heimbach 1.2 ELSE IF(GHEFF(I,J).GT.GAREA(I,J)) THEN
207     FICE(I,J,bi,bj)=-(GHEFF(I,J)-GAREA(I,J))/DELTAT
208     SEAICE_SALT(I,J,bi,bj)=SEAICE_SALT(I,J,bi,bj)
209 dimitri 1.3 & -HSNOW(I,J,bi,bj)/SDF/0.920 _d 0*AR(I,J,bi,bj)
210 heimbach 1.2 WATR(I,J,bi,bj)=WATR(I,J,bi,bj)
211     & -HSNOW(I,J,bi,bj)/SDF/0.920*AR(I,J,bi,bj)
212     HSNOW(I,J,bi,bj)=0.0
213     END IF
214    
215     ENDDO
216     ENDDO
217    
218     C NOW GET TOTAL GROWTH RATE
219     DO J=1,sNy
220     DO I=1,sNx
221     FHEFF(I,J,bi,bj)=FICE(I,J,bi,bj)*AR(I,J,bi,bj)
222 dimitri 1.3 & +(ONE-AR(I,J,bi,bj))*FO(I,J,bi,bj)
223 heimbach 1.2 ENDDO
224     ENDDO
225    
226    
227     C NOW UPDATE AREA
228     DO J=1,sNy
229     DO I=1,sNx
230     GHEFF(I,J)=-DELTAT*FHEFF(I,J,bi,bj)*Q0
231     GAREA(I,J)=DELTAT*FO(I,J,bi,bj)*Q0
232 dimitri 1.3 GHEFF(I,J)=-ONE*MIN(HEFF(I,J,1,bi,bj),GHEFF(I,J))
233 heimbach 1.2 GAREA(I,J)=MAX(ZERO,GAREA(I,J))
234     HCORR(I,J,bi,bj)=MIN(ZERO,GHEFF(I,J))
235     ENDDO
236     ENDDO
237     DO J=1,sNy
238     DO I=1,sNx
239 dimitri 1.3 GAREA(I,J)=TWO*(ONE-AREA(I,J,2,bi,bj))*GAREA(I,J)/HO
240     & +HALF*HCORR(I,J,bi,bj)*AREA(I,J,2,bi,bj)
241     & /(HEFF(I,J,1,bi,bj)+.00001 _d 0)
242 heimbach 1.2 AREA(I,J,1,bi,bj)=AREA(I,J,1,bi,bj)+GAREA(I,J)
243     ENDDO
244     ENDDO
245    
246     C NOW UPDATE HEFF
247     DO J=1,sNy
248     DO I=1,sNx
249     GHEFF(I,J)=-DELTAT*FICE(I,J,bi,bj)*Q0*AR(I,J,bi,bj)
250 dimitri 1.3 GHEFF(I,J)=-ONE*MIN(HEFF(I,J,1,bi,bj),GHEFF(I,J))
251 heimbach 1.2 HEFF(I,J,1,bi,bj)=HEFF(I,J,1,bi,bj)+GHEFF(I,J)
252     SEAICE_SALT(I,J,bi,bj)=SEAICE_SALT(I,J,bi,bj)+GHEFF(I,J)
253     C NOW CALCULATE QNETI UNDER ICE IF ANY
254     QNETI(I,J,bi,bj)=(GHEFF(I,J)-DELTAT*FICE(I,J,bi,bj)
255     & *Q0*AR(I,J,bi,bj))/Q0/DELTAT
256     ENDDO
257     ENDDO
258    
259     C NOW GET TOTAL QNET AND QSW
260     DO J=1,sNy
261     DO I=1,sNx
262     QNET(I,J,bi,bj)=QNETI(I,J,bi,bj)*AR(I,J,bi,bj)
263 dimitri 1.3 & +(ONE-AR(I,J,bi,bj))*QNETO(I,J,bi,bj)
264 heimbach 1.2 QSW(I,J,bi,bj)=QSWI(I,J,bi,bj)*AR(I,J,bi,bj)
265 dimitri 1.3 & +(ONE-AR(I,J,bi,bj))*QSWO(I,J,bi,bj)
266 dimitri 1.5 #ifndef SHORTWAVE_HEATING
267     QNET(I,J,bi,bj)=QNET(I,J,bi,bj)+QSW(I,J,bi,bj)
268     #endif
269 heimbach 1.2 ENDDO
270     ENDDO
271    
272     C NOW UPDATE OTHER THINGS
273     DO J=1,sNy
274     DO I=1,sNx
275     IF(FICE(I,J,bi,bj).GT.ZERO) THEN
276     C FREEZING, PRECIP ADDED AS SNOW
277     HSNOW(I,J,bi,bj)=HSNOW(I,J,bi,bj)
278 dimitri 1.4 & +DELTAT*PRECIP(I,J,bi,bj)*AREA(I,J,2,bi,bj)*SDF
279 heimbach 1.2 ELSE
280 dimitri 1.3 C ADD PRECIP AS RAIN, WATER CONVERTED INTO ICE BY /0.920 _d 0
281 heimbach 1.2 SEAICE_SALT(I,J,bi,bj)=SEAICE_SALT(I,J,bi,bj)
282 dimitri 1.4 & -PRECIP(I,J,bi,bj)*AREA(I,J,2,bi,bj)*DELTAT/0.920 _d 0
283 heimbach 1.2 WATR(I,J,bi,bj)=WATR(I,J,bi,bj)
284 dimitri 1.4 & -PRECIP(I,J,bi,bj)*AREA(I,J,2,bi,bj)*DELTAT/0.920 _d 0
285 heimbach 1.2 ENDIF
286     c Now add in precip over open water directly into ocean as negative salt
287     SEAICE_SALT(I,J,bi,bj)=SEAICE_SALT(I,J,bi,bj)
288 dimitri 1.4 & -PRECIP(I,J,bi,bj)*(ONE-AREA(I,J,2,bi,bj))
289 dimitri 1.3 & *DELTAT/0.920 _d 0
290 heimbach 1.2 WATR(I,J,bi,bj)=WATR(I,J,bi,bj)
291 dimitri 1.4 & -PRECIP(I,J,bi,bj)*(ONE-AREA(I,J,2,bi,bj))
292 dimitri 1.3 & *DELTAT/0.920 _d 0
293 heimbach 1.2 C NOW GET FRESH WATER FLUX
294     EmPmR(I,J,bi,bj)=EVAP(I,J,bi,bj)-RUNOFF(I,J,bi,bj)
295 dimitri 1.3 & +SEAICE_SALT(I,J,bi,bj)*0.92 _d 0/DELTAT
296 heimbach 1.2 ENDDO
297     ENDDO
298    
299     #ifdef SEAICE_DEBUG
300 dimitri 1.4 c CALL PLOT_FIELD_XYRS( UWIND,'Current UWIND ', myIter, myThid )
301     c CALL PLOT_FIELD_XYRS( VWIND,'Current VWIND ', myIter, myThid )
302 heimbach 1.2 CALL PLOT_FIELD_XYRS( GWATX,'Current GWATX ', myIter, myThid )
303     CALL PLOT_FIELD_XYRS( GWATY,'Current GWATY ', myIter, myThid )
304     CALL PLOT_FIELD_XYRL( FO,'Current FO ', myIter, myThid )
305     CALL PLOT_FIELD_XYRL( FHEFF,'Current FHEFF ', myIter, myThid )
306     CALL PLOT_FIELD_XYRL( QSW,'Current QSW ', myIter, myThid )
307     CALL PLOT_FIELD_XYRL( QNET,'Current QNET ', myIter, myThid )
308     CALL PLOT_FIELD_XYRL( EmPmR,'Current EmPmR ', myIter, myThid )
309     DO j=1-OLy,sNy+OLy
310     DO i=1-OLx,sNx+OLx
311     GHEFF(I,J)=SQRT(UICE(I,J,1,bi,bj)**2+VICE(I,J,1,bi,bj)**2)
312     GAREA(I,J)=HEFF(I,J,1,bi,bj)
313     print*,'I J QNET:',I, J, QNET(i,j,bi,bj), QSW(I,J,bi,bj)
314     ENDDO
315     ENDDO
316     CALL PLOT_FIELD_XYRL( GHEFF,'Current UICE ', myIter, myThid )
317     CALL PLOT_FIELD_XYRL( GAREA,'Current HEFF ', myIter, myThid )
318     DO j=1-OLy,sNy+OLy
319     DO i=1-OLx,sNx+OLx
320     if(HEFF(i,j,1,bi,bj).gt.1.) then
321     print '(A,2i4,3f10.2)','#### i j heff theta yneg',i,j,
322     & HEFF(i,j,1,bi,bj),theta(I,J,1,bi,bj),yneg(I,J,bi,bj)
323     print '(A,3f10.2)','QSW, QNET before/after correction',
324     & QSW(I,J,bi,bj),QNETI(I,J,bi,bj)*AR(I,J,bi,bj)
325 dimitri 1.3 & +(ONE-AR(I,J,bi,bj))*QNETO(I,J,bi,bj), QNET(I,J,bi,bj)
326 heimbach 1.2 endif
327     ENDDO
328     ENDDO
329 dimitri 1.5 #endif /* SEAICE_DEBUG */
330 heimbach 1.2
331 dimitri 1.3 crg Added by Ralf Giering: do we need DO_WE_NEED_THIS ?
332     #define DO_WE_NEED_THIS
333 heimbach 1.2 C NOW ZERO OUTSIDE POINTS
334     DO J=1,sNy
335     DO I=1,sNx
336     C NOW SET AREA(I,J,1,bi,bj)=0 WHERE NO ICE IS
337     AREA(I,J,1,bi,bj)=MIN(AREA(I,J,1,bi,bj)
338 dimitri 1.3 & ,HEFF(I,J,1,bi,bj)/.0001 _d 0)
339 heimbach 1.7 ENDDO
340     ENDDO
341     #ifdef ALLOW_AUTODIFF_TAMC
342     CADJ STORE area(:,:,:,bi,bj) = comlev1_bibj,
343     CADJ & key = iicekey, byte = isbyte
344     #endif /* ALLOW_AUTODIFF_TAMC */
345     DO J=1,sNy
346     DO I=1,sNx
347 heimbach 1.2 C NOW TRUNCATE AREA
348 dimitri 1.3 #ifdef DO_WE_NEED_THIS
349 heimbach 1.2 AREA(I,J,1,bi,bj)=MIN(ONE,AREA(I,J,1,bi,bj))
350 heimbach 1.7 ENDDO
351     ENDDO
352     #ifdef ALLOW_AUTODIFF_TAMC
353     CADJ STORE area(:,:,:,bi,bj) = comlev1_bibj,
354     CADJ & key = iicekey, byte = isbyte
355     #endif /* ALLOW_AUTODIFF_TAMC */
356     DO J=1,sNy
357     DO I=1,sNx
358 heimbach 1.2 AREA(I,J,1,bi,bj)=MAX(ZERO,AREA(I,J,1,bi,bj))
359     HSNOW(I,J,bi,bj)=MAX(ZERO,HSNOW(I,J,bi,bj))
360 dimitri 1.5 #endif
361 heimbach 1.2 AREA(I,J,1,bi,bj)=AREA(I,J,1,bi,bj)*HEFFM(I,J,bi,bj)
362     HEFF(I,J,1,bi,bj)=HEFF(I,J,1,bi,bj)*HEFFM(I,J,bi,bj)
363 dimitri 1.3 #ifdef DO_WE_NEED_THIS
364 dimitri 1.6 c HEFF(I,J,1,bi,bj)=MIN(MAX_HEFF,HEFF(I,J,1,bi,bj))
365 dimitri 1.5 #endif
366 heimbach 1.2 HSNOW(I,J,bi,bj)=HSNOW(I,J,bi,bj)*HEFFM(I,J,bi,bj)
367     ENDDO
368     ENDDO
369    
370     ENDDO
371     ENDDO
372    
373 dimitri 1.5 #endif /* ALLOW_SEAICE */
374 heimbach 1.2
375     RETURN
376     END

  ViewVC Help
Powered by ViewVC 1.1.22