/[MITgcm]/MITgcm/verification/aim.5l_Equatorial_Channel/code/aim_surf_bc.F
ViewVC logotype

Annotation of /MITgcm/verification/aim.5l_Equatorial_Channel/code/aim_surf_bc.F

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


Revision 1.9 - (hide annotations) (download)
Mon Dec 12 19:05:41 2011 UTC (12 years, 5 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63g, checkpoint64, checkpoint65, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, HEAD
Changes since 1.8: +14 -2 lines
- bring this local copy up-to-date with standard version (from pkg/aim_v23)
- move delX,delY to new header file (SET_GRID.h)

1 jmc 1.9 C $Header: /u/gcmpack/MITgcm/pkg/aim_v23/aim_surf_bc.F,v 1.18 2010/10/26 20:59:53 dfer Exp $
2 jmc 1.1 C $Name: $
3    
4     #include "AIM_OPTIONS.h"
5    
6 jmc 1.8 CBOP
7     C !ROUTINE: AIM_SURF_BC
8     C !INTERFACE:
9 jmc 1.5 SUBROUTINE AIM_SURF_BC(
10     U tYear,
11     O aim_sWght0, aim_sWght1,
12     I bi, bj, myTime, myIter, myThid )
13 jmc 1.8
14     C !DESCRIPTION: \bv
15 jmc 1.1 C *================================================================*
16     C | S/R AIM_SURF_BC
17 jmc 1.5 C | Set surface Boundary Conditions
18 jmc 1.1 C | for the atmospheric physics package
19     C *================================================================*
20     c | was part of S/R FORDATE in Franco Molteni SPEEDY code (ver23).
21     C | For now, surface BC are loaded from files (S/R AIM_FIELDS_LOAD)
22     C | and imposed (= surf. forcing).
23 jmc 1.5 C | In the future, will add
24 jmc 1.1 C | a land model and a coupling interface with an ocean GCM
25     C *================================================================*
26 jmc 1.8 C \ev
27    
28     C !USES:
29 jmc 1.1 IMPLICIT NONE
30    
31     C -------------- Global variables --------------
32     C-- size for MITgcm & Physics package :
33     #include "AIM_SIZE.h"
34    
35     C-- MITgcm
36     #include "EEPARAMS.h"
37     #include "PARAMS.h"
38 jmc 1.9 C_EqCh: start
39     #ifdef ALLOW_EXCH2
40     # include "W2_EXCH2_SIZE.h"
41     #endif /* ALLOW_EXCH2 */
42     #include "SET_GRID.h"
43     C_EqCh: end
44     #include "GRID.h"
45 jmc 1.1 c #include "DYNVARS.h"
46     c #include "SURFACE.h"
47    
48     C-- Physics package
49     #include "AIM_PARAMS.h"
50     #include "AIM_FFIELDS.h"
51     c #include "AIM_GRID.h"
52     #include "com_forcon.h"
53     #include "com_forcing.h"
54     c #include "com_physvar.h"
55 jmc 1.8 #include "AIM_CO2.h"
56 jmc 1.1
57     C-- Coupled to the Ocean :
58     #ifdef COMPONENT_MODULE
59     #include "CPL_PARAMS.h"
60     #include "ATMCPL.h"
61     #endif
62    
63 jmc 1.8 C !INPUT/OUTPUT PARAMETERS:
64 jmc 1.1 C == Routine arguments ==
65 jmc 1.5 C tYear :: Fraction into year
66     C aim_sWght0 :: weight for time interpolation of surface BC
67     C aim_sWght1 :: 0/1 = time period before/after the current time
68     C bi,bj :: Tile indices
69     C myTime :: Current time of simulation ( s )
70     C myIter :: Current iteration number in simulation
71     C myThid :: my Thread number Id.
72     _RL tYear
73     _RL aim_sWght0, aim_sWght1
74     INTEGER bi, bj
75     _RL myTime
76     INTEGER myIter, myThid
77 jmc 1.8 CEOP
78 jmc 1.1
79     #ifdef ALLOW_AIM
80 jmc 1.8 C !FUNCTIONS:
81     C !LOCAL VARIABLES:
82     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
83     C-- Local Variables originally (Speedy) in common bloc (com_forcing.h):
84     C-- COMMON /FORDAY/ Daily forcing fields (updated in FORDATE)
85     C oice1 :: sea ice fraction
86     C snow1 :: snow depth (mm water)
87     _RL oice1(NGP)
88     _RL snow1(NGP)
89     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
90 jmc 1.1 C == Local variables ==
91 jmc 1.5 C i,j,k,I2,k :: Loop counters
92     INTEGER i,j,I2,k, nm0
93     _RL t0prd, tNcyc, tmprd, dTprd
94 jmc 1.1 _RL SDEP1, IDEP2, SDEP2, SWWIL2, RSW, soilw_0, soilw_1
95 jmc 1.8 _RL RSD, alb_land, oceTfreez, ALBSEA1, ALPHA, CZEN, CZEN2
96     _RL RZEN, ZS, ZC, SJ, CJ, TMPA, TMPB, TMPL, hlim
97 jmc 1.2 c _RL DALB, alb_sea
98 jmc 1.8 #ifdef ALLOW_AIM_CO2
99     #ifdef ALLOW_DIAGNOSTICS
100     _RL pCO2scl
101     #endif
102     #endif /* ALLOW_AIM_CO2 */
103 jmc 1.1
104     C_EqCh: start
105     CHARACTER*(MAX_LEN_MBUF) suff
106     _RL xBump, yBump, dxBump, dyBump
107 jmc 1.6 xBump = xgOrigin + delX(1)*64.
108     yBump = ygOrigin + delY(1)*11.5
109 jmc 1.1 dxBump= delX(1)*12.
110     dyBump= delY(1)*6.
111     C_EqCh: Fix solar insolation with Sun directly overhead on Equator
112     tYear = 0.25 _d 0 - 10. _d 0/365. _d 0
113     C_EqCh: end
114    
115 jmc 1.4 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
116     C- Set Land-sea mask (in [0,1]) from aim_landFr to fMask1:
117     DO j=1,sNy
118     DO i=1,sNx
119     I2 = i+(j-1)*sNx
120     fMask1(I2,1,myThid) = aim_landFr(i,j,bi,bj)
121     ENDDO
122     ENDDO
123    
124 jmc 1.1 IF (aim_useFMsurfBC) THEN
125     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
126    
127 jmc 1.5 C aim_surfForc_TimePeriod :: Length of forcing time period (e.g. 1 month)
128     C aim_surfForc_NppCycle :: Number of time period per Cycle (e.g. 12)
129     C aim_surfForc_TransRatio ::
130     C- define how fast the (linear) transition is from one month to the next
131     C = 1 -> linear between 2 midle month
132     C > TimePeriod/deltaT -> jump from one month to the next one
133    
134     C-- Calculate weight for linear interpolation between 2 month centers
135     t0prd = myTime / aim_surfForc_TimePeriod
136     tNcyc = aim_surfForc_NppCycle
137     tmprd = t0prd - 0.5 _d 0 + tNcyc
138     tmprd = MOD(tmprd,tNcyc)
139     C- indices of previous month (nm0) and next month (nm1):
140     nm0 = 1 + INT(tmprd)
141     c nm1 = 1 + MOD(nm0,aim_surfForc_NppCycle)
142     C- interpolation weight:
143     dTprd = tmprd - (nm0 - 1)
144     aim_sWght1 = 0.5 _d 0+(dTprd-0.5 _d 0)*aim_surfForc_TransRatio
145     aim_sWght1 = MAX( 0. _d 0, MIN(1. _d 0, aim_sWght1) )
146     aim_sWght0 = 1. _d 0 - aim_sWght1
147    
148 jmc 1.1 C-- Compute surface forcing at present time (linear Interp in time)
149     C using F.Molteni surface BC form ; fields needed are:
150 jmc 1.4 C 1. Sea Surface temperatures (in situ Temp. [K])
151     C 2. Land Surface temperatures (in situ Temp. [K])
152     C 3. Soil moisture (between 0-1)
153     C 4. Snow depth, Sea Ice : used to compute albedo (=> local arrays)
154     C 5. Albedo (between 0-1)
155 jmc 1.1
156 jmc 1.5 C- Surface Temperature:
157 jmc 1.1 DO j=1,sNy
158     DO i=1,sNx
159     I2 = i+(j-1)*sNx
160 jmc 1.5 sst1(I2,myThid) = aim_sWght0*aim_sst0(i,j,bi,bj)
161 jmc 1.1 & + aim_sWght1*aim_sst1(i,j,bi,bj)
162     stl1(I2,myThid) = aim_sWght0*aim_lst0(i,j,bi,bj)
163     & + aim_sWght1*aim_lst1(i,j,bi,bj)
164     ENDDO
165     ENDDO
166    
167     C- Soil Water availability : (from F.M. INFORC S/R)
168     SDEP1 = 70. _d 0
169     IDEP2 = 3. _d 0
170     SDEP2 = IDEP2*SDEP1
171    
172     SWWIL2= SDEP2*SWWIL
173     RSW = 1. _d 0/(SDEP1*SWCAP+SDEP2*(SWCAP-SWWIL))
174 jmc 1.5
175 jmc 1.1 DO j=1,sNy
176     DO i=1,sNx
177     I2 = i+(j-1)*sNx
178 jmc 1.5 soilw_0 = ( aim_sw10(i,j,bi,bj)
179 jmc 1.1 & +aim_veget(i,j,bi,bj)*
180     & MAX(IDEP2*aim_sw20(i,j,bi,bj)-SWWIL2, 0. _d 0)
181 jmc 1.5 & )*RSW
182     soilw_1 = ( aim_sw11(i,j,bi,bj)
183 jmc 1.1 & +aim_veget(i,j,bi,bj)*
184     & MAX(IDEP2*aim_sw21(i,j,bi,bj)-SWWIL2, 0. _d 0)
185 jmc 1.5 & )*RSW
186     soilw1(I2,myThid) = aim_sWght0*soilw_0
187 jmc 1.1 & + aim_sWght1*soilw_1
188     soilw1(I2,myThid) = MIN(1. _d 0, soilw1(I2,myThid) )
189     ENDDO
190     ENDDO
191    
192     C- Set snow depth & sea-ice fraction :
193     DO j=1,sNy
194     DO i=1,sNx
195     I2 = i+(j-1)*sNx
196     snow1(I2) = aim_sWght0*aim_snw0(i,j,bi,bj)
197 jmc 1.5 & + aim_sWght1*aim_snw1(i,j,bi,bj)
198 jmc 1.1 oice1(I2) = aim_sWght0*aim_oic0(i,j,bi,bj)
199 jmc 1.5 & + aim_sWght1*aim_oic1(i,j,bi,bj)
200 jmc 1.1 ENDDO
201     ENDDO
202    
203 jmc 1.2 IF (aim_splitSIOsFx) THEN
204     C- Split Ocean and Sea-Ice surf. temp. ; remove ice-fraction < 1 %
205 jmc 1.4 c oceTfreez = tFreeze - 1.9 _d 0
206     oceTfreez = celsius2K - 1.9 _d 0
207 jmc 1.2 DO J=1,NGP
208 jmc 1.5 sti1(J,myThid) = sst1(J,myThid)
209 jmc 1.2 IF ( oice1(J) .GT. 1. _d -2 ) THEN
210 jmc 1.4 sst1(J,myThid) = MAX(sst1(J,myThid),oceTfreez)
211 jmc 1.5 sti1(J,myThid) = sst1(J,myThid)
212 jmc 1.2 & +(sti1(J,myThid)-sst1(J,myThid))/oice1(J)
213     ELSE
214     oice1(J) = 0. _d 0
215     ENDIF
216     ENDDO
217     ELSE
218     DO J=1,NGP
219 jmc 1.5 sti1(J,myThid) = sst1(J,myThid)
220 jmc 1.2 ENDDO
221     ENDIF
222    
223 jmc 1.1 C- Surface Albedo : (from F.M. FORDATE S/R)
224 jmc 1.2 c_FM DALB=ALBICE-ALBSEA
225 jmc 1.1 RSD=1. _d 0/SDALB
226 jmc 1.8 ALPHA= 2. _d 0*PI*(TYEAR+10. _d 0/365. _d 0)
227 jmc 1.9 #ifdef ALLOW_INSOLATION
228     ZS = - SIN(OBLIQ * deg2rad) * COS(ALPHA)
229     ZC = ASIN( ZS )
230     ZC = COS(ZC)
231     #else /* ALLOW_INSOLATION */
232 jmc 1.8 RZEN = COS(ALPHA) * ( -23.45 _d 0 * deg2rad)
233     ZC = COS(RZEN)
234     ZS = SIN(RZEN)
235 jmc 1.9 #endif /* ALLOW_INSOLATION */
236 jmc 1.1 DO j=1,sNy
237     DO i=1,sNx
238     c_FM SNOWC=MIN(1.,RSD*SNOW1(I,J))
239     c_FM ALBL=ALB0(I,J)+MAX(ALBSN-ALB0(I,J),0.0)*SNOWC
240     c_FM ALBS=ALBSEA+DALB*OICE1(I,J)
241     c_FM ALB1(I,J)=FMASK1(I,J)*ALBL+FMASK0(I,J)*ALBS
242     I2 = i+(j-1)*sNx
243     alb_land = aim_albedo(i,j,bi,bj)
244     & + MAX( 0. _d 0, ALBSN-aim_albedo(i,j,bi,bj) )
245     & *MIN( 1. _d 0, RSD*snow1(I2))
246 jmc 1.2 c alb_sea = ALBSEA + DALB*oice1(I2)
247 jmc 1.5 c alb1(I2,0,myThid) = alb_sea
248 jmc 1.2 c & + (alb_land - alb_sea)*fMask1(I2,1,myThid)
249 jmc 1.8 ALBSEA1 = ALBSEA
250     IF ( aim_selectOceAlbedo .EQ. 1) THEN
251     SJ = SIN(yC(i,j,bi,bj) * deg2rad)
252     CJ = COS(yC(i,j,bi,bj) * deg2rad)
253     TMPA = SJ*ZS
254     TMPB = CJ*ZC
255     TMPL = -TMPA/TMPB
256     IF (TMPL .GE. 1.0 _d 0) THEN
257     CZEN = 0.0 _d 0
258     ELSEIF (TMPL .LE. -1.0 _d 0) THEN
259     CZEN = (2.0 _d 0)*TMPA*PI
260     CZEN2= PI*((2.0 _d 0)*TMPA*TMPA + TMPB*TMPB)
261     CZEN = CZEN2/CZEN
262     ELSE
263     hlim = ACOS(TMPL)
264     CZEN = 2.0 _d 0*(TMPA*hlim + TMPB*SIN(hlim))
265     CZEN2= 2.0 _d 0*TMPA*TMPA*hlim
266     & + 4.0 _d 0*TMPA*TMPB*SIN(hlim)
267     & + TMPB*TMPB*( hlim + 0.5 _d 0*SIN(2.0 _d 0*hlim) )
268     CZEN = CZEN2/CZEN
269     ENDIF
270     ALBSEA1 = ( ( 2.6 _d 0 / (CZEN**(1.7 _d 0) + 0.065 _d 0) )
271     & + ( 15. _d 0 * (CZEN-0.1 _d 0) * (CZEN-0.5 _d 0)
272     & * (CZEN-1.0 _d 0) ) ) / 100.0 _d 0
273     ENDIF
274 jmc 1.2 alb1(I2,1,myThid) = alb_land
275 jmc 1.8 C_DE alb1(I2,2,myThid) = ALBSEA
276     alb1(I2,2,myThid) = 0.5 _d 0 * ALBSEA
277     & + 0.5 _d 0 * ALBSEA1
278 jmc 1.2 alb1(I2,3,myThid) = ALBICE
279 jmc 1.1 ENDDO
280     ENDDO
281    
282     C-- else aim_useFMsurfBC
283     ELSE
284     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
285    
286 jmc 1.5 C- safer to initialise output argument aim_sWght0,1
287     C even if they are not used when aim_useFMsurfBC=F
288     aim_sWght1 = 0. _d 0
289     aim_sWght0 = 1. _d 0
290    
291 jmc 1.1 C- Set surface forcing fields needed by atmos. physics package
292     C 1. Albedo (between 0-1)
293     C 2. Sea Surface temperatures (in situ Temp. [K])
294     C 3. Land Surface temperatures (in situ Temp. [K])
295     C 4. Soil moisture (between 0-1)
296 jmc 1.5 C Snow depth, Sea Ice (<- no need for now)
297 jmc 1.1
298     C Set surface albedo data (in [0,1]) from aim_albedo to alb1 :
299     IF (aim_useMMsurfFc) THEN
300     DO j=1,sNy
301     DO i=1,sNx
302     I2 = i+(j-1)*sNx
303 jmc 1.2 alb1(I2,1,myThid) = aim_albedo(i,j,bi,bj)
304     alb1(I2,2,myThid) = aim_albedo(i,j,bi,bj)
305     alb1(I2,3,myThid) = aim_albedo(i,j,bi,bj)
306 jmc 1.1 ENDDO
307     ENDDO
308     ELSE
309     DO j=1,sNy
310     DO i=1,sNx
311     I2 = i+(j-1)*sNx
312 jmc 1.2 alb1(I2,1,myThid) = 0.
313     alb1(I2,2,myThid) = 0.
314     alb1(I2,3,myThid) = 0.
315 jmc 1.1 ENDDO
316     ENDDO
317     ENDIF
318     C Set surface temperature data from aim_S/LSurfTemp to sst1 & stl1 :
319     IF (aim_useMMsurfFc) THEN
320     DO j=1,sNy
321     DO i=1,sNx
322     I2 = i+(j-1)*sNx
323 jmc 1.5 sst1(I2,myThid) = aim_sst0(i,j,bi,bj)
324     stl1(I2,myThid) = aim_sst0(i,j,bi,bj)
325     sti1(I2,myThid) = aim_sst0(i,j,bi,bj)
326 jmc 1.1 ENDDO
327     ENDDO
328     ELSE
329     DO j=1,sNy
330     DO i=1,sNx
331     I2 = i+(j-1)*sNx
332     sst1(I2,myThid) = 300.
333     stl1(I2,myThid) = 300.
334 jmc 1.2 sti1(I2,myThid) = 300.
335 jmc 1.1 C_EqCh: start
336     sst1(I2,myThid) = 280.
337 jmc 1.2 & +20. _d 0 *exp( -((xC(i,j,bi,bj)-xBump)/dxBump)**2
338 jmc 1.1 & -((yC(i,j,bi,bj)-yBump)/dyBump)**2 )
339     stl1(I2,myThid) = sst1(I2,myThid)
340 jmc 1.2 sti1(I2,myThid) = sst1(I2,myThid)
341 jmc 1.1 C_EqCh: end
342     ENDDO
343     ENDDO
344     C_EqCh: start
345 jmc 1.2 IF (myIter.EQ.nIter0) THEN
346 jmc 1.1 WRITE(suff,'(I10.10)') myIter
347 jmc 1.7 CALL AIM_WRITE_PHYS( 'aim_SST.', suff, 1,sst1,
348     & 1, bi, bj, 1, myIter, myThid )
349 jmc 1.1 ENDIF
350     C_EqCh: end
351     ENDIF
352    
353 jmc 1.5 C- Set soil water availability (in [0,1]) from aim_sw10 to soilw1 :
354 jmc 1.1 IF (aim_useMMsurfFc) THEN
355     DO j=1,sNy
356     DO i=1,sNx
357     I2 = i+(j-1)*sNx
358 jmc 1.5 soilw1(I2,myThid) = aim_sw10(i,j,bi,bj)
359 jmc 1.1 ENDDO
360     ENDDO
361     ELSE
362     DO j=1,sNy
363     DO i=1,sNx
364     I2 = i+(j-1)*sNx
365     soilw1(I2,myThid) = 0.
366     ENDDO
367     ENDDO
368     ENDIF
369    
370 jmc 1.5 C- Set Snow depth and Sea Ice
371 jmc 1.1 C (not needed here since albedo is loaded from file)
372 jmc 1.2 DO j=1,sNy
373     DO i=1,sNx
374     I2 = i+(j-1)*sNx
375     oice1(I2) = 0.
376     snow1(I2) = 0.
377     ENDDO
378     ENDDO
379 jmc 1.1
380     C-- endif/else aim_useFMsurfBC
381     ENDIF
382    
383     #ifdef COMPONENT_MODULE
384     IF ( useCoupler ) THEN
385 jmc 1.5 C-- take surface data from the ocean component
386 jmc 1.4 C to replace MxL fields (if use sea-ice) or directly AIM SST
387     CALL ATM_APPLY_IMPORT(
388     I aim_landFr,
389 jmc 1.5 U sst1(1,myThid), oice1,
390     I myTime, myIter, bi, bj, myThid )
391 jmc 1.1 ENDIF
392     #endif /* COMPONENT_MODULE */
393    
394 jmc 1.8 #ifdef ALLOW_AIM_CO2
395     DO j=1,sNy
396     DO i=1,sNx
397     I2 = i+(j-1)*sNx
398     aim_CO2(I2,myThid)= atm_pCO2
399     ENDDO
400     ENDDO
401     #ifdef ALLOW_DIAGNOSTICS
402     IF ( useDiagnostics ) THEN
403     pCO2scl = 1. _d 6
404     CALL DIAGNOSTICS_SCALE_FILL( aim_CO2(1,myThid), pCO2scl, 1,
405     & 'aim_pCO2', 1, 1, 3, bi, bj, myThid )
406     ENDIF
407     #endif /* ALLOW_DIAGNOSTICS */
408     #endif /* ALLOW_AIM_CO2 */
409    
410 jmc 1.1 #ifdef ALLOW_LAND
411     IF (useLand) THEN
412     C- Use land model output instead of prescribed Temp & moisture
413 jmc 1.5 CALL AIM_LAND2AIM(
414 jmc 1.2 I aim_landFr, aim_veget, aim_albedo, snow1,
415 jmc 1.5 U stl1(1,myThid), soilw1(1,myThid), alb1(1,1,myThid),
416     I myTime, myIter, bi, bj, myThid )
417 jmc 1.1 ENDIF
418     #endif /* ALLOW_LAND */
419 jmc 1.2
420 jmc 1.4 #ifdef ALLOW_THSICE
421     IF (useThSIce) THEN
422     C- Use thermo. sea-ice model output instead of prescribed Temp & albedo
423 jmc 1.5 CALL AIM_SICE2AIM(
424 jmc 1.4 I aim_landFr,
425 jmc 1.5 U sst1(1,myThid), oice1,
426     O sti1(1,myThid), alb1(1,3,myThid),
427     I myTime, myIter, bi, bj, myThid )
428 jmc 1.4 ENDIF
429     #endif /* ALLOW_THSICE */
430    
431 jmc 1.2 C-- set the sea-ice & open ocean fraction :
432     DO J=1,NGP
433     fMask1(J,3,myThid) =(1. _d 0 - fMask1(J,1,myThid))
434     & *oice1(J)
435 jmc 1.5 fMask1(J,2,myThid) = 1. _d 0 - fMask1(J,1,myThid)
436 jmc 1.2 & - fMask1(J,3,myThid)
437     ENDDO
438    
439     C-- set the mean albedo :
440     DO J=1,NGP
441     alb1(J,0,myThid) = fMask1(J,1,myThid)*alb1(J,1,myThid)
442     & + fMask1(J,2,myThid)*alb1(J,2,myThid)
443     & + fMask1(J,3,myThid)*alb1(J,3,myThid)
444     ENDDO
445    
446 jmc 1.4 C-- initialize surf. temp. change to zero:
447     DO k=1,3
448     DO J=1,NGP
449     dTsurf(J,k,myThid) = 0.
450     ENDDO
451     ENDDO
452    
453 jmc 1.2 IF (.NOT.aim_splitSIOsFx) THEN
454     DO J=1,NGP
455     fMask1(J,3,myThid) = 0. _d 0
456 jmc 1.5 fMask1(J,2,myThid) = 1. _d 0 - fMask1(J,1,myThid)
457 jmc 1.2 ENDDO
458     ENDIF
459 jmc 1.1
460     #endif /* ALLOW_AIM */
461    
462     RETURN
463     END

  ViewVC Help
Powered by ViewVC 1.1.22