/[lmdze]/trunk/Sources/phylmd/clmain.f
ViewVC logotype

Diff of /trunk/Sources/phylmd/clmain.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/libf/phylmd/clmain.f90 revision 62 by guez, Thu Jul 26 14:37:37 2012 UTC trunk/phylmd/clmain.f revision 82 by guez, Wed Mar 5 14:57:53 2014 UTC
# Line 4  module clmain_m Line 4  module clmain_m
4    
5  contains  contains
6    
7    SUBROUTINE clmain(dtime, itap, date0, pctsrf, pctsrf_new, t, q, u, v, &    SUBROUTINE clmain(dtime, itap, pctsrf, pctsrf_new, t, q, u, v, &
8         jour, rmu0, co2_ppm, ok_veget, ocean, npas, nexca, ts, &         jour, rmu0, co2_ppm, ok_veget, ocean, ts, &
9         soil_model, cdmmax, cdhmax, ksta, ksta_ter, ok_kzmin, ftsoil, &         soil_model, cdmmax, cdhmax, ksta, ksta_ter, ok_kzmin, ftsoil, &
10         qsol, paprs, pplay, snow, qsurf, evap, albe, alblw, fluxlat, &         qsol, paprs, pplay, snow, qsurf, evap, albe, alblw, fluxlat, &
11         rain_fall, snow_f, solsw, sollw, sollwdown, fder, rlon, rlat, cufi, &         rain_fall, snow_f, solsw, sollw, fder, rlon, rlat, &
12         cvfi, rugos, debut, lafin, agesno, rugoro, d_t, d_q, d_u, d_v, &         rugos, debut, agesno, rugoro, d_t, d_q, d_u, d_v, &
13         d_ts, flux_t, flux_q, flux_u, flux_v, cdragh, cdragm, q2, &         d_ts, flux_t, flux_q, flux_u, flux_v, cdragh, cdragm, q2, &
14         dflux_t, dflux_q, zcoefh, zu1, zv1, t2m, q2m, u10m, v10m, pblh, &         dflux_t, dflux_q, ycoefh, zu1, zv1, t2m, q2m, u10m, v10m, pblh, &
15         capcl, oliqcl, cteicl, pblt, therm, trmb1, trmb2, trmb3, plcl, &         capcl, oliqcl, cteicl, pblt, therm, trmb1, trmb2, trmb3, plcl, &
16         fqcalving, ffonte, run_off_lic_0, flux_o, flux_g, tslab, seaice)         fqcalving, ffonte, run_off_lic_0, flux_o, flux_g, tslab, seaice)
17    
# Line 25  contains Line 25  contains
25      ! sol.      ! sol.
26    
27      ! Pour pouvoir extraire les coefficients d'échanges et le vent      ! Pour pouvoir extraire les coefficients d'échanges et le vent
28      ! dans la première couche, trois champs ont été créés : "zcoefh",      ! dans la première couche, trois champs ont été créés : "ycoefh",
29      ! "zu1" et "zv1". Nous avons moyenné les valeurs de ces trois      ! "zu1" et "zv1". Nous avons moyenné les valeurs de ces trois
30      ! champs sur les quatre sous-surfaces du modèle.      ! champs sur les quatre sous-surfaces du modèle.
31    
# Line 58  contains Line 58  contains
58    
59      REAL, INTENT(IN):: dtime ! interval du temps (secondes)      REAL, INTENT(IN):: dtime ! interval du temps (secondes)
60      INTEGER, INTENT(IN):: itap ! numero du pas de temps      INTEGER, INTENT(IN):: itap ! numero du pas de temps
     REAL, INTENT(IN):: date0 ! jour initial  
61      REAL, INTENT(inout):: pctsrf(klon, nbsrf)      REAL, INTENT(inout):: pctsrf(klon, nbsrf)
62    
63      ! la nouvelle repartition des surfaces sortie de l'interface      ! la nouvelle repartition des surfaces sortie de l'interface
# Line 69  contains Line 68  contains
68      REAL, INTENT(IN):: u(klon, klev), v(klon, klev) ! vitesse      REAL, INTENT(IN):: u(klon, klev), v(klon, klev) ! vitesse
69      INTEGER, INTENT(IN):: jour ! jour de l'annee en cours      INTEGER, INTENT(IN):: jour ! jour de l'annee en cours
70      REAL, intent(in):: rmu0(klon) ! cosinus de l'angle solaire zenithal          REAL, intent(in):: rmu0(klon) ! cosinus de l'angle solaire zenithal    
71        REAL co2_ppm ! taux CO2 atmosphere
72        LOGICAL ok_veget
73        CHARACTER(len=*), INTENT(IN):: ocean
74        REAL ts(klon, nbsrf) ! input-R- temperature du sol (en Kelvin)
75        LOGICAL, INTENT(IN):: soil_model
76        REAL, INTENT(IN):: cdmmax, cdhmax ! seuils cdrm, cdrh
77        REAL ksta, ksta_ter
78        LOGICAL ok_kzmin
79        REAL ftsoil(klon, nsoilmx, nbsrf)
80        REAL qsol(klon)
81      REAL, INTENT(IN):: paprs(klon, klev+1) ! pression a intercouche (Pa)      REAL, INTENT(IN):: paprs(klon, klev+1) ! pression a intercouche (Pa)
82      REAL, INTENT(IN):: pplay(klon, klev) ! pression au milieu de couche (Pa)      REAL, INTENT(IN):: pplay(klon, klev) ! pression au milieu de couche (Pa)
83        REAL snow(klon, nbsrf)
84        REAL qsurf(klon, nbsrf)
85        REAL evap(klon, nbsrf)
86        REAL albe(klon, nbsrf)
87        REAL alblw(klon, nbsrf)
88    
89        REAL fluxlat(klon, nbsrf)
90    
91        REAL, intent(in):: rain_fall(klon), snow_f(klon)
92        REAL, INTENT(IN):: solsw(klon, nbsrf), sollw(klon, nbsrf)
93        REAL fder(klon)
94      REAL, INTENT(IN):: rlon(klon)      REAL, INTENT(IN):: rlon(klon)
95      REAL, INTENT(IN):: rlat(klon) ! latitude en degrés      REAL, INTENT(IN):: rlat(klon) ! latitude en degrés
96      REAL cufi(klon), cvfi(klon)  
97      ! cufi-----input-R- resolution des mailles en x (m)      REAL rugos(klon, nbsrf)
98      ! cvfi-----input-R- resolution des mailles en y (m)      ! rugos----input-R- longeur de rugosite (en m)
99    
100        LOGICAL, INTENT(IN):: debut
101        real agesno(klon, nbsrf)
102        REAL, INTENT(IN):: rugoro(klon)
103    
104      REAL d_t(klon, klev), d_q(klon, klev)      REAL d_t(klon, klev), d_q(klon, klev)
105      ! d_t------output-R- le changement pour "t"      ! d_t------output-R- le changement pour "t"
106      ! d_q------output-R- le changement pour "q"      ! d_q------output-R- le changement pour "q"
# Line 83  contains Line 108  contains
108      REAL, intent(out):: d_u(klon, klev), d_v(klon, klev)      REAL, intent(out):: d_u(klon, klev), d_v(klon, klev)
109      ! changement pour "u" et "v"      ! changement pour "u" et "v"
110    
111        REAL d_ts(klon, nbsrf)
112        ! d_ts-----output-R- le changement pour "ts"
113    
114      REAL flux_t(klon, klev, nbsrf), flux_q(klon, klev, nbsrf)      REAL flux_t(klon, klev, nbsrf), flux_q(klon, klev, nbsrf)
115      ! flux_t---output-R- flux de chaleur sensible (CpT) J/m**2/s (W/m**2)      ! flux_t---output-R- flux de chaleur sensible (CpT) J/m**2/s (W/m**2)
116      !                    (orientation positive vers le bas)      !                    (orientation positive vers le bas)
117      ! flux_q---output-R- flux de vapeur d'eau (kg/m**2/s)      ! flux_q---output-R- flux de vapeur d'eau (kg/m**2/s)
118    
119        REAL flux_u(klon, klev, nbsrf), flux_v(klon, klev, nbsrf)
120        ! flux_u---output-R- tension du vent X: (kg m/s)/(m**2 s) ou Pascal
121        ! flux_v---output-R- tension du vent Y: (kg m/s)/(m**2 s) ou Pascal
122    
123        REAL, INTENT(out):: cdragh(klon), cdragm(klon)
124        real q2(klon, klev+1, nbsrf)
125    
126      REAL dflux_t(klon), dflux_q(klon)      REAL dflux_t(klon), dflux_q(klon)
127      ! dflux_t derive du flux sensible      ! dflux_t derive du flux sensible
128      ! dflux_q derive du flux latent      ! dflux_q derive du flux latent
129      !IM "slab" ocean      !IM "slab" ocean
130      REAL flux_o(klon), flux_g(klon)  
131      !IM "slab" ocean      REAL, intent(out):: ycoefh(klon, klev)
132      ! flux_g---output-R-  flux glace (pour OCEAN='slab  ')      REAL, intent(out):: zu1(klon)
133      ! flux_o---output-R-  flux ocean (pour OCEAN='slab  ')      REAL zv1(klon)
134      REAL y_flux_o(klon), y_flux_g(klon)      REAL t2m(klon, nbsrf), q2m(klon, nbsrf)
135      REAL tslab(klon), ytslab(klon)      REAL u10m(klon, nbsrf), v10m(klon, nbsrf)
136      ! tslab-in/output-R temperature du slab ocean (en Kelvin)  
137      ! uniqmnt pour slab      !IM cf. AM : pbl, hbtm (Comme les autres diagnostics on cumule ds
138      REAL seaice(klon), y_seaice(klon)      ! physiq ce qui permet de sortir les grdeurs par sous surface)
139      ! seaice---output-R-  glace de mer (kg/m2) (pour OCEAN='slab  ')      REAL pblh(klon, nbsrf)
140      REAL y_fqcalving(klon), y_ffonte(klon)      ! pblh------- HCL
141        REAL capcl(klon, nbsrf)
142        REAL oliqcl(klon, nbsrf)
143        REAL cteicl(klon, nbsrf)
144        REAL pblt(klon, nbsrf)
145        ! pblT------- T au nveau HCL
146        REAL therm(klon, nbsrf)
147        REAL trmb1(klon, nbsrf)
148        ! trmb1-------deep_cape
149        REAL trmb2(klon, nbsrf)
150        ! trmb2--------inhibition
151        REAL trmb3(klon, nbsrf)
152        ! trmb3-------Point Omega
153        REAL plcl(klon, nbsrf)
154      REAL fqcalving(klon, nbsrf), ffonte(klon, nbsrf)      REAL fqcalving(klon, nbsrf), ffonte(klon, nbsrf)
155      ! ffonte----Flux thermique utilise pour fondre la neige      ! ffonte----Flux thermique utilise pour fondre la neige
156      ! fqcalving-Flux d'eau "perdue" par la surface et necessaire pour limiter la      ! fqcalving-Flux d'eau "perdue" par la surface et necessaire pour limiter la
157      !           hauteur de neige, en kg/m2/s      !           hauteur de neige, en kg/m2/s
158      REAL run_off_lic_0(klon), y_run_off_lic_0(klon)      REAL run_off_lic_0(klon)
   
     REAL flux_u(klon, klev, nbsrf), flux_v(klon, klev, nbsrf)  
     ! flux_u---output-R- tension du vent X: (kg m/s)/(m**2 s) ou Pascal  
     ! flux_v---output-R- tension du vent Y: (kg m/s)/(m**2 s) ou Pascal  
     REAL rugmer(klon), agesno(klon, nbsrf)  
     REAL, INTENT(IN):: rugoro(klon)  
     REAL, INTENT(out):: cdragh(klon), cdragm(klon)  
     ! taux CO2 atmosphere                      
     REAL co2_ppm  
     LOGICAL, INTENT(IN):: debut  
     LOGICAL, INTENT(IN):: lafin  
     LOGICAL ok_veget  
     CHARACTER(len=*), INTENT(IN):: ocean  
     INTEGER npas, nexca  
159    
160      REAL ts(klon, nbsrf)      REAL flux_o(klon), flux_g(klon)
161      ! ts-------input-R- temperature du sol (en Kelvin)      !IM "slab" ocean
162      REAL d_ts(klon, nbsrf)      ! flux_g---output-R-  flux glace (pour OCEAN='slab  ')
163      ! d_ts-----output-R- le changement pour "ts"      ! flux_o---output-R-  flux ocean (pour OCEAN='slab  ')
     REAL snow(klon, nbsrf)  
     REAL qsurf(klon, nbsrf)  
     REAL evap(klon, nbsrf)  
     REAL albe(klon, nbsrf)  
     REAL alblw(klon, nbsrf)  
   
     REAL fluxlat(klon, nbsrf)  
164    
165      REAL, intent(in):: rain_fall(klon), snow_f(klon)      REAL tslab(klon)
166      REAL fder(klon)      ! tslab-in/output-R temperature du slab ocean (en Kelvin)
167        ! uniqmnt pour slab
168    
169      REAL sollw(klon, nbsrf), solsw(klon, nbsrf), sollwdown(klon)      REAL seaice(klon)
170      REAL rugos(klon, nbsrf)      ! seaice---output-R-  glace de mer (kg/m2) (pour OCEAN='slab  ')
     ! rugos----input-R- longeur de rugosite (en m)  
171    
172      REAL zcoefh(klon, klev)      ! Local:
     REAL zu1(klon)  
     REAL zv1(klon)  
173    
174      !$$$ PB ajout pour soil      REAL y_flux_o(klon), y_flux_g(klon)
175      LOGICAL, INTENT(IN):: soil_model      real ytslab(klon)
176      !IM ajout seuils cdrm, cdrh      real y_seaice(klon)
177      REAL cdmmax, cdhmax      REAL y_fqcalving(klon), y_ffonte(klon)
178        real y_run_off_lic_0(klon)
179    
180      REAL ksta, ksta_ter      REAL rugmer(klon)
     LOGICAL ok_kzmin  
181    
     REAL ftsoil(klon, nsoilmx, nbsrf)  
182      REAL ytsoil(klon, nsoilmx)      REAL ytsoil(klon, nsoilmx)
     REAL qsol(klon)  
183    
184      REAL yts(klon), yrugos(klon), ypct(klon), yz0_new(klon)      REAL yts(klon), yrugos(klon), ypct(klon), yz0_new(klon)
185      REAL yalb(klon)      REAL yalb(klon)
# Line 165  contains Line 189  contains
189      ! la premiere couche      ! la premiere couche
190      REAL ysnow(klon), yqsurf(klon), yagesno(klon), yqsol(klon)      REAL ysnow(klon), yqsurf(klon), yagesno(klon), yqsol(klon)
191      REAL yrain_f(klon), ysnow_f(klon)      REAL yrain_f(klon), ysnow_f(klon)
192      REAL ysollw(klon), ysolsw(klon), ysollwdown(klon)      REAL ysollw(klon), ysolsw(klon)
193      REAL yfder(klon), ytaux(klon), ytauy(klon)      REAL yfder(klon), ytaux(klon), ytauy(klon)
194      REAL yrugm(klon), yrads(klon), yrugoro(klon)      REAL yrugm(klon), yrads(klon), yrugoro(klon)
195    
# Line 182  contains Line 206  contains
206      REAL yt(klon, klev), yq(klon, klev)      REAL yt(klon, klev), yq(klon, klev)
207      REAL ypaprs(klon, klev+1), ypplay(klon, klev), ydelp(klon, klev)      REAL ypaprs(klon, klev+1), ypplay(klon, klev), ydelp(klon, klev)
208    
     LOGICAL ok_nonloc  
     PARAMETER (ok_nonloc=.FALSE.)  
209      REAL ycoefm0(klon, klev), ycoefh0(klon, klev)      REAL ycoefm0(klon, klev), ycoefh0(klon, klev)
210    
211      REAL yzlay(klon, klev), yzlev(klon, klev+1), yteta(klon, klev)      REAL yzlay(klon, klev), yzlev(klon, klev+1), yteta(klon, klev)
212      REAL ykmm(klon, klev+1), ykmn(klon, klev+1)      REAL ykmm(klon, klev+1), ykmn(klon, klev+1)
213      REAL ykmq(klon, klev+1)      REAL ykmq(klon, klev+1)
214      REAL yq2(klon, klev+1), q2(klon, klev+1, nbsrf)      REAL yq2(klon, klev+1)
215      REAL q2diag(klon, klev+1)      REAL q2diag(klon, klev+1)
216    
217      REAL u1lay(klon), v1lay(klon)      REAL u1lay(klon), v1lay(klon)
# Line 221  contains Line 243  contains
243      DATA first_appel/ .TRUE./      DATA first_appel/ .TRUE./
244      LOGICAL:: debugindex = .FALSE.      LOGICAL:: debugindex = .FALSE.
245      INTEGER idayref      INTEGER idayref
     REAL t2m(klon, nbsrf), q2m(klon, nbsrf)  
     REAL u10m(klon, nbsrf), v10m(klon, nbsrf)  
246    
247      REAL yt2m(klon), yq2m(klon), yu10m(klon)      REAL yt2m(klon), yq2m(klon), yu10m(klon)
248      REAL yustar(klon)      REAL yustar(klon)
# Line 233  contains Line 253  contains
253      ! -- LOOP      ! -- LOOP
254    
255      REAL yt10m(klon), yq10m(klon)      REAL yt10m(klon), yq10m(klon)
     !IM cf. AM : pbl, hbtm (Comme les autres diagnostics on cumule ds  
     ! physiq ce qui permet de sortir les grdeurs par sous surface)  
     REAL pblh(klon, nbsrf)  
     ! pblh------- HCL  
     REAL plcl(klon, nbsrf)  
     REAL capcl(klon, nbsrf)  
     REAL oliqcl(klon, nbsrf)  
     REAL cteicl(klon, nbsrf)  
     REAL pblt(klon, nbsrf)  
     ! pblT------- T au nveau HCL  
     REAL therm(klon, nbsrf)  
     REAL trmb1(klon, nbsrf)  
     ! trmb1-------deep_cape  
     REAL trmb2(klon, nbsrf)  
     ! trmb2--------inhibition  
     REAL trmb3(klon, nbsrf)  
     ! trmb3-------Point Omega  
256      REAL ypblh(klon)      REAL ypblh(klon)
257      REAL ylcl(klon)      REAL ylcl(klon)
258      REAL ycapcl(klon)      REAL ycapcl(klon)
# Line 271  contains Line 274  contains
274      LOGICAL zxli      LOGICAL zxli
275      PARAMETER (zxli=.FALSE.)      PARAMETER (zxli=.FALSE.)
276    
     REAL zt, zqs, zdelta, zcor  
     REAL t_coup  
     PARAMETER (t_coup=273.15)  
   
     CHARACTER(len=20):: modname = 'clmain'  
   
277      !------------------------------------------------------------      !------------------------------------------------------------
278    
279      ytherm = 0.      ytherm = 0.
# Line 343  contains Line 340  contains
340      ytauy = 0.      ytauy = 0.
341      ysolsw = 0.      ysolsw = 0.
342      ysollw = 0.      ysollw = 0.
     ysollwdown = 0.  
343      yrugos = 0.      yrugos = 0.
344      yu1 = 0.      yu1 = 0.
345      yv1 = 0.      yv1 = 0.
# Line 379  contains Line 375  contains
375      d_q = 0.      d_q = 0.
376      d_u = 0.      d_u = 0.
377      d_v = 0.      d_v = 0.
378      zcoefh = 0.      ycoefh = 0.
379    
380      ! Boucler sur toutes les sous-fractions du sol:      ! Boucler sur toutes les sous-fractions du sol:
381    
# Line 434  contains Line 430  contains
430               ytauy(j) = flux_v(i, 1, nsrf)               ytauy(j) = flux_v(i, 1, nsrf)
431               ysolsw(j) = solsw(i, nsrf)               ysolsw(j) = solsw(i, nsrf)
432               ysollw(j) = sollw(i, nsrf)               ysollw(j) = sollw(i, nsrf)
              ysollwdown(j) = sollwdown(i)  
433               yrugos(j) = rugos(i, nsrf)               yrugos(j) = rugos(i, nsrf)
434               yrugoro(j) = rugoro(i)               yrugoro(j) = rugoro(i)
435               yu1(j) = u1lay(i)               yu1(j) = u1lay(i)
# Line 486  contains Line 481  contains
481               coefh(:knon, :) = max(coefh(:knon, :), ycoefh0(:knon, :))               coefh(:knon, :) = max(coefh(:knon, :), ycoefh0(:knon, :))
482            END IF            END IF
483    
484            ! on seuille coefm et coefh            ! on met un seuil pour coefm et coefh
485            IF (nsrf == is_oce) THEN            IF (nsrf == is_oce) THEN
486               coefm(:knon, 1) = min(coefm(:knon, 1), cdmmax)               coefm(:knon, 1) = min(coefm(:knon, 1), cdmmax)
487               coefh(:knon, 1) = min(coefh(:knon, 1), cdhmax)               coefh(:knon, 1) = min(coefh(:knon, 1), cdhmax)
# Line 495  contains Line 490  contains
490            IF (ok_kzmin) THEN            IF (ok_kzmin) THEN
491               ! Calcul d'une diffusion minimale pour les conditions tres stables               ! Calcul d'une diffusion minimale pour les conditions tres stables
492               CALL coefkzmin(knon, ypaprs, ypplay, yu, yv, yt, yq, &               CALL coefkzmin(knon, ypaprs, ypplay, yu, yv, yt, yq, &
493                    coefm(:, 1), ycoefm0, ycoefh0)                    coefm(:knon, 1), ycoefm0, ycoefh0)
494               coefm(:knon, :) = max(coefm(:knon, :), ycoefm0(:knon, :))               coefm(:knon, :) = max(coefm(:knon, :), ycoefm0(:knon, :))
495               coefh(:knon, :) = max(coefh(:knon, :), ycoefh0(:knon, :))               coefh(:knon, :) = max(coefh(:knon, :), ycoefh0(:knon, :))
496             END IF             END IF
# Line 551  contains Line 546  contains
546            END IF            END IF
547    
548            ! calculer la diffusion des vitesses "u" et "v"            ! calculer la diffusion des vitesses "u" et "v"
549            CALL clvent(knon, dtime, yu1, yv1, coefm, yt, yu, ypaprs, ypplay, &            CALL clvent(knon, dtime, yu1, yv1, coefm(:knon, :), yt, yu, ypaprs, &
550                 ydelp, y_d_u, y_flux_u)                 ypplay, ydelp, y_d_u, y_flux_u)
551            CALL clvent(knon, dtime, yu1, yv1, coefm, yt, yv, ypaprs, ypplay, &            CALL clvent(knon, dtime, yu1, yv1, coefm(:knon, :), yt, yv, ypaprs, &
552                 ydelp, y_d_v, y_flux_v)                 ypplay, ydelp, y_d_v, y_flux_v)
553    
554            ! pour le couplage            ! pour le couplage
555            ytaux = y_flux_u(:, 1)            ytaux = y_flux_u(:, 1)
556            ytauy = y_flux_v(:, 1)            ytauy = y_flux_v(:, 1)
557    
558            ! calculer la diffusion de "q" et de "h"            ! calculer la diffusion de "q" et de "h"
559            CALL clqh(dtime, itap, date0, jour, debut, lafin, rlon, rlat, &            CALL clqh(dtime, itap, jour, debut, rlat, knon, nsrf, ni, pctsrf, &
560                 cufi, cvfi, knon, nsrf, ni, pctsrf, soil_model, ytsoil, &                 soil_model, ytsoil, yqsol, ok_veget, ocean, rmu0, co2_ppm, &
561                 yqsol, ok_veget, ocean, npas, nexca, rmu0, co2_ppm, yrugos, &                 yrugos, yrugoro, yu1, yv1, coefh(:knon, :), yt, yq, yts, &
562                 yrugoro, yu1, yv1, coefh, yt, yq, yts, ypaprs, ypplay, &                 ypaprs, ypplay, ydelp, yrads, yalb, yalblw, ysnow, yqsurf, &
563                 ydelp, yrads, yalb, yalblw, ysnow, yqsurf, yrain_f, ysnow_f, &                 yrain_f, ysnow_f, yfder, ysolsw, yfluxlat, pctsrf_new, &
564                 yfder, ytaux, ytauy, ywindsp, ysollw, ysollwdown, ysolsw, &                 yagesno, y_d_t, y_d_q, y_d_ts, yz0_new, y_flux_t, y_flux_q, &
565                 yfluxlat, pctsrf_new, yagesno, y_d_t, y_d_q, y_d_ts, &                 y_dflux_t, y_dflux_q, y_fqcalving, y_ffonte, y_run_off_lic_0, &
566                 yz0_new, y_flux_t, y_flux_q, y_dflux_t, y_dflux_q, &                 y_flux_o, y_flux_g, ytslab, y_seaice)
                y_fqcalving, y_ffonte, y_run_off_lic_0, y_flux_o, y_flux_g, &  
                ytslab, y_seaice)  
567    
568            ! calculer la longueur de rugosite sur ocean            ! calculer la longueur de rugosite sur ocean
569            yrugm = 0.            yrugm = 0.
# Line 663  contains Line 656  contains
656                  d_q(i, k) = d_q(i, k) + y_d_q(j, k)                  d_q(i, k) = d_q(i, k) + y_d_q(j, k)
657                  d_u(i, k) = d_u(i, k) + y_d_u(j, k)                  d_u(i, k) = d_u(i, k) + y_d_u(j, k)
658                  d_v(i, k) = d_v(i, k) + y_d_v(j, k)                  d_v(i, k) = d_v(i, k) + y_d_v(j, k)
659                  zcoefh(i, k) = zcoefh(i, k) + coefh(j, k)                  ycoefh(i, k) = ycoefh(i, k) + coefh(j, k)
660               END DO               END DO
661            END DO            END DO
662    

Legend:
Removed from v.62  
changed lines
  Added in v.82

  ViewVC Help
Powered by ViewVC 1.1.21