/[MITgcm]/MITgcm_contrib/high_res_cube/code-mods/growth.F
ViewVC logotype

Annotation of /MITgcm_contrib/high_res_cube/code-mods/growth.F

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


Revision 1.1 - (hide annotations) (download)
Thu Nov 2 06:05:17 2006 UTC (18 years, 8 months ago) by dimitri
Branch: MAIN
preparing for cube43

1 dimitri 1.1 C $Header: /u/gcmpack/MITgcm/pkg/seaice/growth.F,v 1.28 2006/10/05 18:41:32 jmc Exp $
2     C $Name: $
3    
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     #ifdef ALLOW_AUTODIFF_TAMC
27     # include "tamc.h"
28     #endif
29     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     C === Local variables ===
38     C i,j,bi,bj - Loop counters
39    
40     INTEGER i, j, bi, bj
41     _RL TBC, salinity_ice, SDF, Q0, QS
42     _RL hDraft, hFlood
43     _RL GAREA( 1-OLx:sNx+OLx, 1-OLy:sNy+OLy )
44     _RL GHEFF( 1-OLx:sNx+OLx, 1-OLy:sNy+OLy )
45     _RL AR ( 1-OLx:sNx+OLx, 1-OLy:sNy+OLy, nSx, nSy )
46    
47     C number of surface interface layer
48     INTEGER kSurface
49    
50     if ( buoyancyRelation .eq. 'OCEANICP' ) then
51     kSurface = Nr
52     else
53     kSurface = 1
54     endif
55    
56     salinity_ice=4.0 _d 0 ! ICE SALINITY
57     TBC=SEAICE_freeze ! FREEZING TEMP. OF SEA WATER
58     SDF=1000.0 _d 0/330.0 _d 0 ! RATIO OF WATER DESITY AND SNOW DENSITY
59     Q0=1.0D-06/302.0 _d +00 ! INVERSE HEAT OF FUSION OF ICE
60     QS=1.1 _d +08 ! HEAT OF FUSION OF SNOW
61    
62     DO bj=myByLo(myThid),myByHi(myThid)
63     DO bi=myBxLo(myThid),myBxHi(myThid)
64     c
65     cph(
66     #ifdef ALLOW_AUTODIFF_TAMC
67     act1 = bi - myBxLo(myThid)
68     max1 = myBxHi(myThid) - myBxLo(myThid) + 1
69     act2 = bj - myByLo(myThid)
70     max2 = myByHi(myThid) - myByLo(myThid) + 1
71     act3 = myThid - 1
72     max3 = nTx*nTy
73     act4 = ikey_dynamics - 1
74     iicekey = (act1 + 1) + act2*max1
75     & + act3*max1*max2
76     & + act4*max1*max2*max3
77     #endif /* ALLOW_AUTODIFF_TAMC */
78     c
79     #ifdef ALLOW_AUTODIFF_TAMC
80     CADJ STORE theta(:,:,:,bi,bj)= comlev1_bibj,
81     CADJ & key = iicekey, byte = isbyte
82     CADJ STORE area(:,:,:,bi,bj) = comlev1_bibj,
83     CADJ & key = iicekey, byte = isbyte
84     CADJ STORE atemp(:,:,bi,bj) = comlev1_bibj,
85     CADJ & key = iicekey, byte = isbyte
86     #endif /* ALLOW_AUTODIFF_TAMC */
87     cph)
88     DO J=1,sNy
89     DO I=1,sNx
90     SEAICE_SALT(I,J,bi,bj)=ZERO
91     ENDDO
92     ENDDO
93     #ifdef ALLOW_AUTODIFF_TAMC
94     CADJ STORE area(:,:,:,bi,bj) = comlev1_bibj,
95     CADJ & key = iicekey, byte = isbyte
96     CADJ STORE heff(:,:,:,bi,bj) = comlev1_bibj,
97     CADJ & key = iicekey, byte = isbyte
98     #endif /* ALLOW_AUTODIFF_TAMC */
99     DO J=1,sNy
100     DO I=1,sNx
101     AR(I,J,bi,bj)=MIN(AREA(I,J,2,bi,bj),
102     & HEFF(I,J,2,bi,bj)*1.0 _d +04)
103     ENDDO
104     ENDDO
105     #ifdef ALLOW_AUTODIFF_TAMC
106     CADJ STORE heff(:,:,:,bi,bj) = comlev1_bibj,
107     CADJ & key = iicekey, byte = isbyte
108     #endif /* ALLOW_AUTODIFF_TAMC */
109     DO J=1,sNy
110     DO I=1,sNx
111     C-- Create or melt sea-ice so that first-level oceanic temperature
112     C is approximately at the freezing point when there is sea-ice.
113     C Initially the units of YNEG are m of sea-ice.
114     C The factor dRf(1)/72.0764, used to convert temperature
115     C change in deg K to m of sea-ice, is approximately:
116     C dRf(1) * (sea water heat capacity = 3996 J/kg/K)
117     C * (density of sea-water = 1026 kg/m^3)
118     C / (latent heat of fusion of sea-ice = 334000 J/kg)
119     C / (density of sea-ice = 910 kg/m^3)
120     C Negative YNEG leads to ice growth.
121     C Positive YNEG leads to ice melting.
122     if ( .NOT. inAdMode ) then
123     #ifdef SEAICE_VARIABLE_FREEZING_POINT
124     TBC = -0.0575 _d 0*salt(I,J,kSurface,bi,bj) + 0.0901 _d 0
125     #endif /* SEAICE_VARIABLE_FREEZING_POINT */
126     YNEG(I,J,bi,bj)=(theta(I,J,kSurface,bi,bj)-TBC)
127     & *dRf(1)/72.0764 _d 0
128     else
129     YNEG(I,J,bi,bj)= 0.
130     endif
131     GHEFF(I,J)=HEFF(I,J,1,bi,bj)
132     HEFF(I,J,1,bi,bj)=MAX(ZERO,HEFF(I,J,1,bi,bj)-YNEG(I,J,bi,bj))
133     YNEG(I,J,bi,bj)=GHEFF(I,J)-HEFF(I,J,1,bi,bj)
134     SEAICE_SALT(I,J,bi,bj)=SEAICE_SALT(I,J,bi,bj)-YNEG(I,J,bi,bj)
135     C-- Now convert YNEG back to deg K.
136     YNEG(I,J,bi,bj)=YNEG(I,J,bi,bj)*recip_dRf(1)*72.0764 _d 0
137     ENDDO
138     ENDDO
139     c
140     ENDDO
141     ENDDO
142    
143     cph(
144     #ifdef ALLOW_AUTODIFF_TAMC
145     CADJ STORE area = comlev1, key = ikey_dynamics
146     CADJ STORE atemp = comlev1, key = ikey_dynamics
147     CADJ STORE heff = comlev1, key = ikey_dynamics
148     CADJ STORE hsnow = comlev1, key = ikey_dynamics
149     CADJ STORE lwdown = comlev1, key = ikey_dynamics
150     CADJ STORE tice = comlev1, key = ikey_dynamics
151     CADJ STORE uwind = comlev1, key = ikey_dynamics
152     CADJ STORE vwind = comlev1, key = ikey_dynamics
153     # ifdef SEAICE_MULTILEVEL
154     CADJ STORE tices = comlev1, key = ikey_dynamics
155     # endif
156     #endif /* ALLOW_AUTODIFF_TAMC */
157     cph)
158     C GROWTH SUBROUTINE CALCULATES TOTAL GROWTH TENDENCIES,
159     C INCLUDING SNOWFALL
160     CALL GROATB(A22,myThid)
161    
162     DO bj=myByLo(myThid),myByHi(myThid)
163     DO bi=myBxLo(myThid),myBxHi(myThid)
164     cph(
165     #ifdef ALLOW_AUTODIFF_TAMC
166     act1 = bi - myBxLo(myThid)
167     max1 = myBxHi(myThid) - myBxLo(myThid) + 1
168     act2 = bj - myByLo(myThid)
169     max2 = myByHi(myThid) - myByLo(myThid) + 1
170     act3 = myThid - 1
171     max3 = nTx*nTy
172     act4 = ikey_dynamics - 1
173     iicekey = (act1 + 1) + act2*max1
174     & + act3*max1*max2
175     & + act4*max1*max2*max3
176     #endif /* ALLOW_AUTODIFF_TAMC */
177     c
178     #ifdef ALLOW_AUTODIFF_TAMC
179     CADJ STORE area(:,:,:,bi,bj) = comlev1_bibj,
180     CADJ & key = iicekey, byte = isbyte
181     CADJ STORE heff(:,:,:,bi,bj) = comlev1_bibj,
182     CADJ & key = iicekey, byte = isbyte
183     CADJ STORE hsnow(:,:,bi,bj) = comlev1_bibj,
184     CADJ & key = iicekey, byte = isbyte
185     CADJ STORE fo(:,:,bi,bj) = comlev1_bibj,
186     CADJ & key = iicekey, byte = isbyte
187     CADJ STORE fice(:,:,bi,bj) = comlev1_bibj,
188     CADJ & key = iicekey, byte = isbyte
189     #endif /* ALLOW_AUTODIFF_TAMC */
190     cph)
191     C NOW CALCULATE CORRECTED GROWTH
192     DO J=1,sNy
193     DO I=1,sNx
194     GHEFF(I,J)=-SEAICE_deltaTtherm*FICE(I,J,bi,bj)
195     GAREA(I,J)=HSNOW(I,J,bi,bj)*QS
196     IF(GHEFF(I,J).GT.ZERO.AND.GHEFF(I,J).LE.GAREA(I,J)) THEN
197     C not enough heat to melt all snow:
198     C use up all heat flux FICE
199     HSNOW(I,J,bi,bj)=HSNOW(I,J,bi,bj)-GHEFF(I,J)/QS
200     C SNOW CONVERTED INTO WATER AND THEN INTO ICE
201     C The factor 0.920 is used to convert m of sea-ice to m of freshwater
202     SEAICE_SALT(I,J,bi,bj)=SEAICE_SALT(I,J,bi,bj)
203     & -(GHEFF(I,J)/QS)/SDF/0.920 _d 0*AR(I,J,bi,bj)
204     FICE(I,J,bi,bj)=ZERO
205     ELSE IF(GHEFF(I,J).GT.GAREA(I,J)) THEN
206     C enought heat to melt snow completely:
207     C compute remaining heat flux that will melt ice
208     FICE(I,J,bi,bj)=-(GHEFF(I,J)-GAREA(I,J))/SEAICE_deltaTtherm
209     C convert all snow to melt water (fresh water flux)
210     SEAICE_SALT(I,J,bi,bj)=SEAICE_SALT(I,J,bi,bj)
211     & -HSNOW(I,J,bi,bj)/SDF/0.920 _d 0*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     & +(ONE-AR(I,J,bi,bj))*FO(I,J,bi,bj)
223     ENDDO
224     ENDDO
225    
226    
227     C NOW UPDATE AREA
228     DO J=1,sNy
229     DO I=1,sNx
230     GHEFF(I,J)=-SEAICE_deltaTtherm*FHEFF(I,J,bi,bj)*Q0
231     GAREA(I,J)=SEAICE_deltaTtherm*FO(I,J,bi,bj)*Q0
232     GHEFF(I,J)=-ONE*MIN(HEFF(I,J,1,bi,bj),GHEFF(I,J))
233     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     GAREA(I,J)=(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     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)=-SEAICE_deltaTtherm*
250     & FICE(I,J,bi,bj)*Q0*AR(I,J,bi,bj)
251     GHEFF(I,J)=-ONE*MIN(HEFF(I,J,1,bi,bj),GHEFF(I,J))
252     HEFF(I,J,1,bi,bj)=HEFF(I,J,1,bi,bj)+GHEFF(I,J)
253     SEAICE_SALT(I,J,bi,bj)=SEAICE_SALT(I,J,bi,bj)+GHEFF(I,J)
254     C NOW CALCULATE QNETI UNDER ICE IF ANY
255     QNETI(I,J,bi,bj)=(GHEFF(I,J)-SEAICE_deltaTtherm*
256     & FICE(I,J,bi,bj)*Q0*AR(I,J,bi,bj))/Q0/SEAICE_deltaTtherm
257     ENDDO
258     ENDDO
259    
260     CMLC NOW GET TOTAL QNET AND QSW
261     CML DO J=1,sNy
262     CML DO I=1,sNx
263     CML QNET(I,J,bi,bj)=QNETI(I,J,bi,bj)*AR(I,J,bi,bj)
264     CML & +(ONE-AR(I,J,bi,bj))*QNETO(I,J,bi,bj)
265     CML QSW(I,J,bi,bj)=QSWI(I,J,bi,bj)*AR(I,J,bi,bj)
266     CML & +(ONE-AR(I,J,bi,bj))*QSWO(I,J,bi,bj)
267     CMLc #ifndef SHORTWAVE_HEATING
268     CMLc QNET(I,J,bi,bj)=QNET(I,J,bi,bj)+QSW(I,J,bi,bj)
269     CMLc #endif
270     CMLC Add YNEG contribution to QNET
271     CML QNET(I,J,bi,bj)=QNET(I,J,bi,bj)
272     CML & +YNEG(I,J,bi,bj)/SEAICE_deltaTtherm
273     CML & *maskC(I,J,kSurface,bi,bj)
274     CML & *HeatCapacity_Cp*recip_horiVertRatio*rhoConst
275     CML & *drF(kSurface)*hFacC(i,j,kSurface,bi,bj)
276     CML ENDDO
277     CML ENDDO
278    
279     C NOW UPDATE OTHER THINGS
280     DO J=1,sNy
281     DO I=1,sNx
282     IF(FICE(I,J,bi,bj).GT.ZERO) THEN
283     C FREEZING, PRECIP ADDED AS SNOW
284     HSNOW(I,J,bi,bj)=HSNOW(I,J,bi,bj)+SEAICE_deltaTtherm*
285     & PRECIP(I,J,bi,bj)*AREA(I,J,2,bi,bj)*SDF
286     ELSE
287     C ADD PRECIP AS RAIN, WATER CONVERTED INTO ICE BY /0.920 _d 0
288     SEAICE_SALT(I,J,bi,bj)=SEAICE_SALT(I,J,bi,bj)
289     & -PRECIP(I,J,bi,bj)*AREA(I,J,2,bi,bj)*
290     & SEAICE_deltaTtherm/0.920 _d 0
291     ENDIF
292     c Now add in precip over open water directly into ocean as negative salt
293     SEAICE_SALT(I,J,bi,bj)=SEAICE_SALT(I,J,bi,bj)
294     & -PRECIP(I,J,bi,bj)*(ONE-AREA(I,J,2,bi,bj))
295     & *SEAICE_deltaTtherm/0.920 _d 0
296     Cjz NOW CORRECT SNOW IF ANY LEFT
297     IF(YNEG(I,J,bi,bj).GT.ZERO.AND.HSNOW(I,J,bi,bj).GT.ZERO) THEN
298     GHEFF(I,J)=MIN(HSNOW(I,J,bi,bj)/SDF,YNEG(I,J,bi,bj))
299     YNEG(I,J,bi,bj)=YNEG(I,J,bi,bj)-GHEFF(I,J)
300     HSNOW(I,J,bi,bj)=HSNOW(I,J,bi,bj)-GHEFF(I,J)*SDF
301     SEAICE_SALT(I,J,bi,bj)=SEAICE_SALT(I,J,bi,bj)
302     & -GHEFF(I,J)/0.920 _d 0
303     ENDIF
304     C NOW GET FRESH WATER FLUX
305     EmPmR(I,J,bi,bj)= maskC(I,J,kSurface,bi,bj)*(
306     & EVAP(I,J,bi,bj)*(ONE-AREA(I,J,2,bi,bj))
307     & -RUNOFF(I,J,bi,bj)
308     & +SEAICE_SALT(I,J,bi,bj)*0.92 _d 0/SEAICE_deltaTtherm
309     & )
310     ENDDO
311     ENDDO
312    
313     C NOW GET TOTAL QNET AND QSW
314     DO J=1,sNy
315     DO I=1,sNx
316     QNET(I,J,bi,bj)=QNETI(I,J,bi,bj)*AR(I,J,bi,bj)
317     & +(ONE-AR(I,J,bi,bj))*QNETO(I,J,bi,bj)
318     QSW(I,J,bi,bj)=QSWI(I,J,bi,bj)*AR(I,J,bi,bj)
319     & +(ONE-AR(I,J,bi,bj))*QSWO(I,J,bi,bj)
320     C Add YNEG contribution to QNET
321     QNET(I,J,bi,bj)=QNET(I,J,bi,bj)
322     & +YNEG(I,J,bi,bj)/SEAICE_deltaTtherm
323     & *maskC(I,J,kSurface,bi,bj)
324     & *HeatCapacity_Cp*recip_horiVertRatio*rhoConst
325     & *drF(kSurface)*hFacC(i,j,kSurface,bi,bj)
326     ENDDO
327     ENDDO
328    
329     #ifdef SEAICE_DEBUG
330     c CALL PLOT_FIELD_XYRS( UWIND,'Current UWIND ', myIter, myThid )
331     c CALL PLOT_FIELD_XYRS( VWIND,'Current VWIND ', myIter, myThid )
332     CALL PLOT_FIELD_XYRS( GWATX,'Current GWATX ', myIter, myThid )
333     CALL PLOT_FIELD_XYRS( GWATY,'Current GWATY ', myIter, myThid )
334     CALL PLOT_FIELD_XYRL( FO,'Current FO ', myIter, myThid )
335     CALL PLOT_FIELD_XYRL( FHEFF,'Current FHEFF ', myIter, myThid )
336     CALL PLOT_FIELD_XYRL( QSW,'Current QSW ', myIter, myThid )
337     CALL PLOT_FIELD_XYRL( QNET,'Current QNET ', myIter, myThid )
338     CALL PLOT_FIELD_XYRL( EmPmR,'Current EmPmR ', myIter, myThid )
339     DO j=1-OLy,sNy+OLy
340     DO i=1-OLx,sNx+OLx
341     GHEFF(I,J)=SQRT(UICE(I,J,1,bi,bj)**2+VICE(I,J,1,bi,bj)**2)
342     GAREA(I,J)=HEFF(I,J,1,bi,bj)
343     print*,'I J QNET:',I, J, QNET(i,j,bi,bj), QSW(I,J,bi,bj)
344     ENDDO
345     ENDDO
346     CALL PLOT_FIELD_XYRL( GHEFF,'Current UICE ', myIter, myThid )
347     CALL PLOT_FIELD_XYRL( GAREA,'Current HEFF ', myIter, myThid )
348     DO j=1-OLy,sNy+OLy
349     DO i=1-OLx,sNx+OLx
350     if(HEFF(i,j,1,bi,bj).gt.1.) then
351     print '(A,2i4,3f10.2)','#### i j heff theta yneg',i,j,
352     & HEFF(i,j,1,bi,bj),theta(I,J,1,bi,bj),yneg(I,J,bi,bj)
353     print '(A,3f10.2)','QSW, QNET before/after correction',
354     & QSW(I,J,bi,bj),QNETI(I,J,bi,bj)*AR(I,J,bi,bj)
355     & +(ONE-AR(I,J,bi,bj))*QNETO(I,J,bi,bj), QNET(I,J,bi,bj)
356     endif
357     ENDDO
358     ENDDO
359     #endif /* SEAICE_DEBUG */
360    
361     crg Added by Ralf Giering: do we need DO_WE_NEED_THIS ?
362     #define DO_WE_NEED_THIS
363     C NOW ZERO OUTSIDE POINTS
364     DO J=1,sNy
365     DO I=1,sNx
366     C NOW SET AREA(I,J,1,bi,bj)=0 WHERE NO ICE IS
367     AREA(I,J,1,bi,bj)=MIN(AREA(I,J,1,bi,bj)
368     & ,HEFF(I,J,1,bi,bj)/.0001 _d 0)
369     ENDDO
370     ENDDO
371     #ifdef ALLOW_AUTODIFF_TAMC
372     CADJ STORE area(:,:,:,bi,bj) = comlev1_bibj,
373     CADJ & key = iicekey, byte = isbyte
374     #endif /* ALLOW_AUTODIFF_TAMC */
375     DO J=1,sNy
376     DO I=1,sNx
377     C NOW TRUNCATE AREA
378     #ifdef DO_WE_NEED_THIS
379     AREA(I,J,1,bi,bj)=MIN(ONE,AREA(I,J,1,bi,bj))
380     ENDDO
381     ENDDO
382     #ifdef ALLOW_AUTODIFF_TAMC
383     CADJ STORE area(:,:,:,bi,bj) = comlev1_bibj,
384     CADJ & key = iicekey, byte = isbyte
385     #endif /* ALLOW_AUTODIFF_TAMC */
386     DO J=1,sNy
387     DO I=1,sNx
388     AREA(I,J,1,bi,bj)=MAX(ZERO,AREA(I,J,1,bi,bj))
389     HSNOW(I,J,bi,bj)=MAX(ZERO,HSNOW(I,J,bi,bj))
390     #endif
391     AREA(I,J,1,bi,bj)=AREA(I,J,1,bi,bj)*HEFFM(I,J,bi,bj)
392     HEFF(I,J,1,bi,bj)=HEFF(I,J,1,bi,bj)*HEFFM(I,J,bi,bj)
393     #ifdef DO_WE_NEED_THIS
394     c HEFF(I,J,1,bi,bj)=MIN(MAX_HEFF,HEFF(I,J,1,bi,bj))
395     #endif
396     HSNOW(I,J,bi,bj)=HSNOW(I,J,bi,bj)*HEFFM(I,J,bi,bj)
397     ENDDO
398     ENDDO
399    
400     #ifdef ALLOW_SEAICE_FLOODING
401     IF ( SEAICEuseFlooding ) THEN
402     C convert snow to ice if submerged
403     DO J=1,sNy
404     DO I=1,sNx
405     hDraft = (HSNOW(I,J,bi,bj)*330. _d 0
406     & +HEFF(I,J,1,bi,bj)*SEAICE_rhoIce)/1000. _d 0
407     hFlood = hDraft - MIN(hDraft,HEFF(I,J,1,bi,bj))
408     HEFF(I,J,1,bi,bj) = HEFF(I,J,1,bi,bj) + hFlood
409     HSNOW(I,J,bi,bj) = MAX(0. _d 0,HSNOW(I,J,bi,bj)-hFlood/SDF)
410     ENDDO
411     ENDDO
412     ENDIF
413     #endif /* ALLOW_SEAICE_FLOODING */
414    
415     #ifdef ATMOSPHERIC_LOADING
416     IF ( useRealFreshWaterFlux ) THEN
417     DO J=1,sNy
418     DO I=1,sNx
419     sIceLoad(i,j,bi,bj) = HEFF(I,J,1,bi,bj)*SEAICE_rhoIce
420     & + HSNOW(I,J,bi,bj)* 330. _d 0
421     ENDDO
422     ENDDO
423     ENDIF
424     #endif
425    
426     ENDDO
427     ENDDO
428    
429     RETURN
430     END

  ViewVC Help
Powered by ViewVC 1.1.22