Changeset 156


Ignore:
Timestamp:
Nov 10, 2000, 11:45:53 AM (24 years ago)
Author:
lmdzadmin
Message:

Menage et initialisation a zero des variables locales
LF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ.3.3/branches/rel-LF/libf/phylmd/clmain.F

    r150 r156  
    4343c pplay----input-R- pression au milieu de couche (Pa)
    4444c radsol---input-R- flux radiatif net (positif vers le sol) en W/m**2
    45 c capsol---input-R- inversion de l'effective capacite du sol (J/m2/K)
    46 c beta-----input-R- coefficient de l'evaporation reelle (0 a 1)
    47 c dif_grnd-input-R- coeff. de diffusion (chaleur) vers le sol profond
    4845c rlat-----input-R- latitude en degree
    4946c rugos----input-R- longeur de rugosite (en m)
     
    7471#include "indicesol.h"
    7572c
    76       LOGICAL soil_model
    7773c
    7874      REAL dtime
     
    121117c======================================================================
    122118      REAL yts(klon), yrugos(klon), ypct(klon), yz0_new(klon)
    123       REAL ycal(klon), ybeta(klon), ydif(klon), yalb(klon),yevap(klon)
     119      REAL yalb(klon),yevap(klon)
    124120      REAL yu1(klon), yv1(klon)
    125121      real ysnow(klon), yqsol(klon)
    126122      real yrain_f(klon), ysnow_f(klon)
    127       real ysollw(klon), ysolsw(klon), ysolswnet(klon)
     123      real ysollw(klon), ysolsw(klon)
    128124      real yfder(klon), ytaux(klon), ytauy(klon)
    129125      REAL yrugm(klon), yrads(klon)
     
    135131      REAL y_dflux_t(klon), y_dflux_q(klon)
    136132      REAL ycoefh(klon,klev), ycoefm(klon,klev)
    137       REAL ygamt(klon,2:klev) ! contre-gradient pour temperature
    138       REAL ygamq(klon,2:klev) ! contre-gradient pour humidite
    139133      REAL yu(klon,klev), yv(klon,klev)
    140134      REAL yt(klon,klev), yq(klon,klev)
     
    149143      LOGICAL ok_nonloc
    150144      PARAMETER (ok_nonloc=.FALSE.)
    151       REAL y_cd_h(klon), y_cd_m(klon)
    152145      REAL ycoefm0(klon,klev), ycoefh0(klon,klev)
    153146c
     
    155148      REAL u1lay(klon), v1lay(klon)
    156149      REAL delp(klon,klev)
    157       REAL capsol(klon), beta(klon), dif_grnd(klon)
    158       REAL cal(klon)
    159       REAL soilcap(klon,nbsrf), soilflux(klon,nbsrf)
    160150      REAL totalflu(klon)
    161151      INTEGER i, k, nsrf
     
    194184         zv1(i) = 0.0
    195185      ENDDO
     186      ypct = 0.0
     187      yts = 0.0
     188      ysnow = 0.0
     189      yevap = 0.0
     190      yqsol = 0.0
     191      yalb = 0.0
     192      yrain_f = 0.0
     193      ysnow_f = 0.0
     194      yfder = 0.0
     195      ytaux = 0.0
     196      ytauy = 0.0
     197      ysolsw = 0.0
     198      ysollw = 0.0
     199      yrugos = 0.0
     200      yu1 = 0.0
     201      yv1 = 0.0
     202      yrads = 0.0
     203      ypaprs = 0.0
     204      ypaprs = 0.0
     205      ypplay = 0.0
     206      ydelp = 0.0
     207      yu = 0.0
     208      yv = 0.0
     209      yt = 0.0
     210      yq = 0.0
     211      pctsrf_new = 0.0
     212      y_flux_u = 0.0
     213      y_flux_v = 0.0
     214
    196215      DO nsrf = 1, nbsrf
    197216      DO i = 1, klon
     
    238257
    239258      DO 99999 nsrf = 1, nbsrf
    240 c
    241 c prescrire les proprietes du sol:
    242 c      CALL calbeta(dtime,nsrf,snow,qsol, beta,capsol,dif_grnd)
    243 c      IF (.NOT.soil_model) THEN
    244 c         DO i = 1, klon
    245 c            cal(i) = RCPD * capsol(i)
    246 c            totalflu(i) = radsol(i)
    247 c         ENDDO
    248 c      ELSE
    249 c         DO i = 1, klon
    250 c            totalflu(i) = soilflux(i,nsrf) + radsol(i)
    251 c            IF (nsrf.EQ.is_oce) THEN
    252 c               cal(i) = 0.0
    253 c            ELSE
    254 c               cal(i) = RCPD / soilcap(i,nsrf)
    255 c            ENDIF
    256 c         ENDDO
    257 c      ENDIF
    258 c
    259259      totalflu = radsol
    260260
     
    339339     e          knon, nsrf, ni, pctsrf,
    340340     e          ok_veget, ocean, npas, nexca,
    341      e          rmu0,
     341     e          rmu0, yrugos,
    342342     e          yu1, yv1, ycoefh,
    343343     e          yt,yq,yts,ypaprs,ypplay,
     
    437437     e                knon, nisurf, knindex, pctsrf,
    438438     e                ok_veget, ocean, npas, nexca,
    439      e                rmu0,
     439     e                rmu0, rugos,
    440440     e                u1lay,v1lay,coef,
    441441     e                t,q,ts,paprs,pplay,
     
    469469c                               vent (dV/dz); la premiere valeur
    470470c                               indique la valeur de Cdrag (sans unite)
    471       REAL cal(klon)          ! Cp/cal indique la capacite calorifique
    472 c                               surfacique du sol
    473       REAL beta(klon)         ! evap. reelle / evapotranspiration
    474       REAL dif_grnd(klon)     ! coeff. diffusion vers le sol profond
    475471      REAL t(klon,klev)       ! temperature (K)
    476472      REAL q(klon,klev)       ! humidite specifique (kg/kg)
     
    488484      integer jour            ! jour de l'annee en cours
    489485      real rmu0(klon)         ! cosinus de l'angle solaire zenithal
     486      real rugos(klon)        ! rugosite
    490487      integer knindex(klon)
    491488      real pctsrf(klon,nbsrf)
     
    505502      REAL dflux_s(klon) ! derivee du flux sensible dF/dTs
    506503      REAL dflux_l(klon) ! derivee du flux latent dF/dTs
    507       REAL dflux_g(klon) ! derivee du flux du sol profond dF/dTs
    508504c======================================================================
    509505      REAL t_grnd  ! temperature de rappel pour glace de mer
     
    513509c======================================================================
    514510      INTEGER i, k
    515       REAL zx_a
    516       REAL zx_b
    517       REAL zx_qs
    518       REAL zx_dq_s_dh
    519       REAL zx_h_grnd
    520       REAL zx_cq0(klon)
    521       REAL zx_dq0(klon)
    522511      REAL zx_cq(klon,klev)
    523512      REAL zx_dq(klon,klev)
     
    527516      REAL zx_buf2(klon)
    528517      REAL zx_coef(klon,klev)
    529       REAL zx_q_0(klon)
    530       REAL zx_h_ts(klon)
    531       REAL zx_sl(klon)
    532518      REAL local_h(klon,klev) ! enthalpie potentielle
    533519      REAL local_q(klon,klev)
     
    543529      REAL zdelz
    544530c======================================================================
    545 C Variables intermediaires pour le calcul des fluxs a la surface
    546       real zx_mh(klon), zx_nh(klon), zx_oh(klon)
    547       real zx_mq(klon), zx_nq(klon), zx_oq(klon)
    548       real zx_k1(klon), zx_dq_s_dt(klon)
    549       real zx_qsat(klon)
    550 c======================================================================
    551       REAL zcor, zdelta, zcvm5
    552531      logical contreg
    553532      parameter (contreg=.true.)
     
    563542      real tq_cdrag(klon), petAcoef(klon), peqAcoef(klon)
    564543      real petBcoef(klon), peqBcoef(klon)
    565       real lwdown(klon), swnet(klon), swdown(klon), ps(klon)
     544      real lwdown(klon), swnet(klon), swdown(klon)
    566545      real p1lay(klon)
    567       real coef1lay(klon)
    568546
    569547! Parametres de sortie
     
    703681     e tq_cdrag, petAcoef, peqAcoef, petBcoef, peqBcoef,
    704682     e precip_rain, precip_snow, lwdown, swnet, swdown,
    705      e fder, taux, tauy,
     683     e fder, taux, tauy, rugos,
    706684     e albedo, snow, qsol,
    707685     e ts, p1lay, psref, radsol,
     
    891869c ts-------input-R- temperature du sol (en Kelvin)
    892870c rugos----input-R- longeur de rugosite (en m)
    893 c xlat-----input-R- latitude en degree
    894871c u--------input-R- vitesse u
    895872c v--------input-R- vitesse v
     
    913890      REAL u(klon,klev), v(klon,klev), t(klon,klev), q(klon,klev)
    914891      REAL rugos(klon)
    915       REAL xlat(klon)
    916892c
    917893      REAL pcfm(klon,klev), pcfh(klon,klev)
     
    12931269c Calculer quelques parametres pour appliquer la couche limite
    12941270c ------------------------------------------------------------
    1295 !#include "dimensions.h"
    1296 !#include "dimphy.h"
     1271#include "dimensions.h"
     1272#include "dimphy.h"
    12971273#include "YOMCST.h"
    12981274#include "indicesol.h"
     
    13111287c
    13121288      REAL dtime
    1313       REAL snow(knon,nbsrf), qsol(knon,nbsrf)
     1289      REAL snow(klon), qsol(klon)
    13141290      INTEGER indice, knon
    13151291C
    1316       REAL vbeta(knon)
    1317       REAL vcal(knon)
    1318       REAL vdif(knon)
    1319 C
     1292      REAL vbeta(klon)
     1293      REAL vcal(klon)
     1294      REAL vdif(klon)
     1295C
     1296
    13201297      IF (indice.EQ.is_oce) THEN
    13211298      DO i = 1, knon
     
    13291306      DO i = 1, knon
    13301307          vcal(i) = calice
    1331           IF (snow(i,is_sic) .GT. 0.0) vcal(i) = calsno
     1308          IF (snow(i) .GT. 0.0) vcal(i) = calsno
    13321309          vbeta(i)  = 1.0
    13331310          vdif(i) = 1.0/tau_gl
     
    13391316      DO i = 1, knon
    13401317          vcal(i) = calsol
    1341           IF (snow(i,is_ter) .GT. 0.0) vcal(i) = calsno
    1342           vbeta(i)  = MIN(2.0*qsol(i,is_ter)/mx_eau_sol, 1.0)
     1318          IF (snow(i) .GT. 0.0) vcal(i) = calsno
     1319          vbeta(i)  = MIN(2.0*qsol(i)/mx_eau_sol, 1.0)
    13431320          vdif(i) = 0.0
    13441321      ENDDO
     
    13481325      DO i = 1, knon
    13491326          vcal(i) = calice
    1350           IF (snow(i,is_lic) .GT. 0.0) vcal(i) = calsno
     1327          IF (snow(i) .GT. 0.0) vcal(i) = calsno
    13511328          vbeta(i)  = 1.0
    13521329          vdif(i) = 0.0
Note: See TracChangeset for help on using the changeset viewer.