/[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

revision 38 by guez, Thu Jan 6 17:52:19 2011 UTC revision 40 by guez, Tue Feb 22 13:49:36 2011 UTC
# Line 16  contains Line 16  contains
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    
18      ! From phylmd/clmain.F, version 1.6 2005/11/16 14:47:19      ! From phylmd/clmain.F, version 1.6 2005/11/16 14:47:19
19        ! Author: Z.X. Li (LMD/CNRS), date: 1993/08/18
20        ! Objet : interface de "couche limite" (diffusion verticale)
21    
22      ! Tout ce qui a trait aux traceurs est dans phytrac maintenant.      ! Tout ce qui a trait aux traceurs est dans "phytrac" maintenant.
23      ! Pour l'instant le calcul de la couche limite pour les traceurs      ! Pour l'instant le calcul de la couche limite pour les traceurs
24      ! se fait avec cltrac et ne tient pas compte de la différentiation      ! se fait avec "cltrac" et ne tient pas compte de la différentiation
25      ! des sous-fractions de sol.      ! des sous-fractions de 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 supplémentaires ont été créés :      ! dans la première couche, trois champs supplémentaires ont été
29      ! zcoefh, zu1 et zv1. Pour l'instant nous avons moyenné les valeurs      ! créés : "zcoefh", "zu1" et "zv1". Pour l'instant nous avons
30      ! de ces trois champs sur les 4 sous-surfaces du modèle. Dans l'avenir      ! moyenné les valeurs de ces trois champs sur les 4 sous-surfaces
31      ! si les informations des sous-surfaces doivent être prises en compte      ! du modèle. Dans l'avenir, si les informations des sous-surfaces
32      ! il faudra sortir ces mêmes champs en leur ajoutant une dimension,      ! doivent être prises en compte, il faudra sortir ces mêmes champs
33      ! c'est a dire nbsrf (nombre de sous-surfaces).      ! en leur ajoutant une dimension, c'est-à-dire "nbsrf" (nombre de
34        ! sous-surfaces).
     ! Auteur Z.X. Li (LMD/CNRS) date: 1993/08/18  
     ! Objet : interface de "couche limite" (diffusion verticale)  
35    
36      ! Arguments:      ! Arguments:
37      ! dtime----input-R- interval du temps (secondes)      ! dtime----input-R- interval du temps (secondes)
# Line 221  contains Line 221  contains
221      INTEGER i, k, nsrf      INTEGER i, k, nsrf
222    
223      INTEGER ni(klon), knon, j      INTEGER ni(klon), knon, j
224      ! Introduction d'une variable "pourcentage potentiel" pour tenir compte  
     ! des eventuelles apparitions et/ou disparitions de la glace de mer  
225      REAL pctsrf_pot(klon, nbsrf)      REAL pctsrf_pot(klon, nbsrf)
226        ! "pourcentage potentiel" pour tenir compte des éventuelles
227        ! apparitions ou disparitions de la glace de mer
228    
229      REAL zx_alf1, zx_alf2 !valeur ambiante par extrapola.      REAL zx_alf1, zx_alf2 !valeur ambiante par extrapola.
230    
# Line 298  contains Line 299  contains
299    
300      !------------------------------------------------------------      !------------------------------------------------------------
301    
     ! initialisation Anne  
302      ytherm = 0.      ytherm = 0.
303    
304      IF (debugindex .AND. first_appel) THEN      IF (debugindex .AND. first_appel) THEN
# Line 307  contains Line 307  contains
307         ! initialisation sorties netcdf         ! initialisation sorties netcdf
308    
309         idayref = day_ini         idayref = day_ini
310         CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian)         CALL ymds2ju(annee_ref, 1, idayref, 0., zjulian)
311         CALL gr_fi_ecrit(1, klon, iim, jjm+1, rlon, zx_lon)         CALL gr_fi_ecrit(1, klon, iim, jjm+1, rlon, zx_lon)
312         DO i = 1, iim         DO i = 1, iim
313            zx_lon(i, 1) = rlon(i+1)            zx_lon(i, 1) = rlon(i+1)
# Line 342  contains Line 342  contains
342         v1lay(i) = v(i, 1)*zx_alf1 + v(i, 2)*zx_alf2         v1lay(i) = v(i, 1)*zx_alf1 + v(i, 2)*zx_alf2
343      END DO      END DO
344    
345      ! initialisation:      ! Initialization:
346        rugmer = 0.
347      DO i = 1, klon      cdragh = 0.
348         rugmer(i) = 0.0      cdragm = 0.
349         cdragh(i) = 0.0      dflux_t = 0.
350         cdragm(i) = 0.0      dflux_q = 0.
351         dflux_t(i) = 0.0      zu1 = 0.
352         dflux_q(i) = 0.0      zv1 = 0.
353         zu1(i) = 0.0      ypct = 0.
354         zv1(i) = 0.0      yts = 0.
355      END DO      ysnow = 0.
356      ypct = 0.0      yqsurf = 0.
357      yts = 0.0      yalb = 0.
358      ysnow = 0.0      yalblw = 0.
359      yqsurf = 0.0      yrain_f = 0.
360      yalb = 0.0      ysnow_f = 0.
361      yalblw = 0.0      yfder = 0.
362      yrain_f = 0.0      ytaux = 0.
363      ysnow_f = 0.0      ytauy = 0.
364      yfder = 0.0      ysolsw = 0.
365      ytaux = 0.0      ysollw = 0.
366      ytauy = 0.0      ysollwdown = 0.
367      ysolsw = 0.0      yrugos = 0.
368      ysollw = 0.0      yu1 = 0.
369      ysollwdown = 0.0      yv1 = 0.
370      yrugos = 0.0      yrads = 0.
371      yu1 = 0.0      ypaprs = 0.
372      yv1 = 0.0      ypplay = 0.
373      yrads = 0.0      ydelp = 0.
374      ypaprs = 0.0      yu = 0.
375      ypplay = 0.0      yv = 0.
376      ydelp = 0.0      yt = 0.
377      yu = 0.0      yq = 0.
378      yv = 0.0      pctsrf_new = 0.
379      yt = 0.0      y_flux_u = 0.
380      yq = 0.0      y_flux_v = 0.
     pctsrf_new = 0.0  
     y_flux_u = 0.0  
     y_flux_v = 0.0  
381      !$$ PB      !$$ PB
382      y_dflux_t = 0.0      y_dflux_t = 0.
383      y_dflux_q = 0.0      y_dflux_q = 0.
384      ytsoil = 999999.      ytsoil = 999999.
385      yrugoro = 0.      yrugoro = 0.
386      ! -- LOOP      ! -- LOOP
387      yu10mx = 0.0      yu10mx = 0.
388      yu10my = 0.0      yu10my = 0.
389      ywindsp = 0.0      ywindsp = 0.
390      ! -- LOOP      ! -- LOOP
391      DO nsrf = 1, nbsrf      d_ts = 0.
        DO i = 1, klon  
           d_ts(i, nsrf) = 0.0  
        END DO  
     END DO  
392      !§§§ PB      !§§§ PB
393      yfluxlat = 0.      yfluxlat = 0.
394      flux_t = 0.      flux_t = 0.
395      flux_q = 0.      flux_q = 0.
396      flux_u = 0.      flux_u = 0.
397      flux_v = 0.      flux_v = 0.
398      DO k = 1, klev      d_t = 0.
399         DO i = 1, klon      d_q = 0.
400            d_t(i, k) = 0.0      d_u = 0.
401            d_q(i, k) = 0.0      d_v = 0.
402            d_u(i, k) = 0.0      zcoefh = 0.
           d_v(i, k) = 0.0  
           zcoefh(i, k) = 0.0  
        END DO  
     END DO  
403    
404      ! Boucler sur toutes les sous-fractions du sol:      ! Boucler sur toutes les sous-fractions du sol:
405    
# Line 427  contains Line 416  contains
416         ni = 0         ni = 0
417         knon = 0         knon = 0
418         DO i = 1, klon         DO i = 1, klon
419            ! pour determiner le domaine a traiter on utilise les surfaces            ! Pour déterminer le domaine à traiter, on utilise les surfaces
420            ! "potentielles"            ! "potentielles"
421            IF (pctsrf_pot(i, nsrf) > epsfra) THEN            IF (pctsrf_pot(i, nsrf) > epsfra) THEN
422               knon = knon + 1               knon = knon + 1
# Line 621  contains Line 610  contains
610         ytaux = y_flux_u(:, 1)         ytaux = y_flux_u(:, 1)
611         ytauy = y_flux_v(:, 1)         ytauy = y_flux_v(:, 1)
612    
        ! FH modif sur le cdrag temperature  
        !$$$PB : déplace dans clcdrag  
        !$$$      do i=1, knon  
        !$$$         ycoefh(i, 1)=ycoefm(i, 1)*0.8  
        !$$$      enddo  
   
613         ! calculer la diffusion de "q" et de "h"         ! calculer la diffusion de "q" et de "h"
614         CALL clqh(dtime, itap, date0, jour, debut, lafin, rlon, rlat,&         CALL clqh(dtime, itap, date0, jour, debut, lafin, rlon, rlat,&
615              cufi, cvfi, knon, nsrf, ni, pctsrf, soil_model, ytsoil,&              cufi, cvfi, knon, nsrf, ni, pctsrf, soil_model, ytsoil,&

Legend:
Removed from v.38  
changed lines
  Added in v.40

  ViewVC Help
Powered by ViewVC 1.1.21