Ignore:
Timestamp:
Dec 19, 2002, 5:46:39 PM (22 years ago)
Author:
lmdzadmin
Message:

Convergence avec la version de Ionela dec 2002

YOMCST.? : suppression RI0 (IM)
albedo.F : facteur 1.2 sur le nouveau calcul (IM)
clesphys.h : rajout de différentes ctes (concentration des gaz) (IM)
clmain.F : separation des flux LW, SW (JLD)

remplace qsurf par yqsol (IM)

conf_phys.F90 : rajout de différentes ctes (gaz + orbite) (IM)
convect3.F : DPINV+SIGD*0.5*(EVAP(1)+EVAP(2)) (SBL)
cv3_routines.F:
cvparam3.h : compatibilite avec conema3 TEMPORAIRE (FH)
phyetat0.F : lecture de co2_ppm et solaire pour tests de coherence
phyredem.F : co2_ppm et solaire passé en common
physiq.F : separation flux LW, SW

rajout diagnostiques (slp, w500)
suppression iflag_con = 4
clwcon0=qcondc (FH)
position dU "ENDIF ! ok_cvl"

radlwsw.F : passage des concentrations gaz dans un common (IM)

PEMIS(i) = 1.0 (JLD pour cohérence ORCHIDEE)

stdlevvar.F90 :
suphec.F : suppression init. des ctes orbitales (IM)

nouvelles E/S (ini_hist..., write_hist...)

File:
1 edited

Legend:

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

    r422 r433  
    123123      save ok_journe
    124124c      PARAMETER (ok_journe=.true.)
     125
     126      integer lev_histday
     127      save lev_histday
     128      data lev_histday/1/
    125129c
    126130      LOGICAL ok_mensuel ! sortir le fichier mensuel
     
    199203cccIM cf. FH
    200204      real u850(klon),v850(klon),u200(klon),v200(klon)
    201       real u500(klon),v500(klon),phi500(klon)
     205      real u500(klon),v500(klon),phi500(klon),w500(klon)
    202206
    203207      logical ok_hf
     
    248252      SAVE itap                   ! compteur pour la physique
    249253c
    250       REAL co2_ppm
    251       SAVE co2_ppm                ! concentration du CO2
    252 c
    253       REAL solaire
    254       SAVE solaire                ! constante solaire
    255 c
     254      REAL co2_ppm_etat0
     255c
     256      REAL solaire_etat0
     257c
     258      real slp(klon) ! sea level pressure
     259
    256260      REAL ftsol(klon,nbsrf)
    257261      SAVE ftsol                  ! temperature du sol
     
    384388      REAL dlw(klon)    ! derivee infra rouge
    385389      REAL bils(klon) ! bilan de chaleur au sol
     390cIM cf. JLD
     391      REAL wfbils(klon,nbsrf) ! bilan de chaleur au sol, pour chaque
     392C                   type de sous-surface et pondere par la fraction
    386393      REAL fder(klon) ! Derive de flux (sensible et latente)
    387394      save fder
     
    481488      REAL topsw0(klon), toplw0(klon), solsw0(klon), sollw0(klon)
    482489      REAL albpla(klon)
     490cIM cf. JLD
     491      REAL fsollw(klon, nbsrf)   ! bilan flux IR pour chaque sous surface
     492      REAL fsolsw(klon, nbsrf)   ! flux solaire absorb. pour chaque sous surface
    483493c Le rayonnement n'est pas calcule tous les pas, il faut donc
    484494c                      sauvegarder les sorties du rayonnement
     
    529539      REAL cape(klon)           ! CAPE
    530540      SAVE cape
     541cccIM
     542      CHARACTER*40 capemaxcels
     543
    531544      REAL pbase(klon)          ! cloud base pressure
    532545      SAVE pbase
     
    726739     .                  ok_instan, fact_cldcon, facttemps,ok_newmicro,
    727740     .                  iflag_cldcon,ratqsbas,ratqshaut, if_ebil)
     741cIM  .                  , RI0)
    728742
    729743         DO k = 2, nvm          ! pas de vegetation
     
    745759         itaprad = 0
    746760c
    747          CALL phyetat0 ("startphy.nc",dtime,co2_ppm,solaire,
     761         CALL phyetat0 ("startphy.nc",dtime,co2_ppm_etat0,solaire_etat0,
    748762     .       rlat,rlon,pctsrf, ftsol,ftsoil,deltat,fqsol,fsnow,
    749763     .       falbe, fevap, rain_fall,snow_fall,solsw, sollwdown,
     
    799813           ema_workcbmf(i) = 0.
    800814          ENDDO
     815
     816cIM15/11/02 rajout initialisation ibas_con,itop_con cf. SB =>BEG
     817          DO i = 1, klon
     818           ibas_con(i) = 1
     819           itop_con(i) = klev+1
     820          ENDDO
     821cIM15/11/02 rajout initialisation ibas_con,itop_con cf. SB =>END
     822
    801823         ENDIF
     824
    802825c34EK
    803826         IF (ok_orodr) THEN
     
    856879c
    857880cccIM
     881      capemaxcels = 't_max(X)'
    858882      t2mincels = 't_min(X)'
    859883      t2maxcels = 't_max(X)'
     
    10761100      ENDIF
    10771101
     1102      DO nsrf = 1, nbsrf
     1103      DO i = 1, klon
     1104        fsollw(i,nsrf) = sollwdown(i) - RSIGMA*ftsol(i,nsrf)**4
     1105        fsolsw(i,nsrf) = solsw(i)*(1.-falbe(i,nsrf))/(1.-albsol(i))
     1106      ENDDO
     1107      ENDDO
     1108
    10781109      fder = dlw
    10791110
     
    10851116     $            paprs,pplay,radsol, fsnow,fqsol,fevap,falbe,falblw,
    10861117     $            fluxlat,
    1087      e            rain_fall, snow_fall, solsw, sollw, sollwdown, fder,
     1118cIM cf. JLD  e            rain_fall, snow_fall, solsw, sollw, sollwdown, fder,
     1119     e            rain_fall, snow_fall, fsolsw, fsollw, sollwdown, fder,
    10881120     e            rlon, rlat, cufi, cvfi, frugs,
    10891121     e            debut, lafin, agesno,rugoro ,
     
    11661198c        IF (pctsrf(i,nsrf) .GE. EPSFRA) THEN
    11671199            ftsol(i,nsrf) = ftsol(i,nsrf) + d_ts(i,nsrf)
     1200cIM cf. JLD
     1201            wfbils(i,nsrf) = ( fsolsw(i,nsrf) + fsollw(i,nsrf)
     1202     $         + fluxt(i,nsrf) + fluxlat(i,nsrf) ) * pctsrf(i,nsrf)
    11681203            zxtsol(i) = zxtsol(i) + ftsol(i,nsrf)*pctsrf(i,nsrf)
    11691204            zxfluxlat(i) = zxfluxlat(i) + fluxlat(i,nsrf)*pctsrf(i,nsrf)
     
    12711306     .        Ma,cape,tvp,iflagctrl,
    12721307     .        pbase,bbase,dtvpdt1,dtvpdq1,dplcldt,dplcldr,qcondc,wd)
     1308cIM cf. FH
     1309              clwcon0=qcondc
    12731310
    12741311          ELSE ! ok_cvl
    1275 
    1276           if (iflag_con.eq.4) then ! vectorise
    1277           CALL conemav (dtime,paprs,pplay,t_seri,q_seri,
    1278      .        u_seri,v_seri,tr_seri,nbtr,
    1279      .        ema_work1,ema_work2,
    1280      .        d_t_con,d_q_con,d_u_con,d_v_con,d_tr,
    1281      .        rain_con, snow_con, ibas_con, itop_con,
    1282      .        upwd,dnwd,dnwd0,
    1283 c    .        Ma,cape,tvp,(/(nint(rflag(i)),i=1,size(rflag))/),
    1284      .        Ma,cape,tvp,iflagctrl,
    1285      .        pbase,bbase,dtvpdt1,dtvpdq1,dplcldt,dplcldr)
    1286 
    1287             qcondc=0.0
    1288 
    1289           else
    12901312
    12911313c          print*,'Avant conema OUI'
     
    13031325          print*,'Apres conema3 '
    13041326
     1327          ENDIF ! ok_cvl
     1328
    13051329           IF (.NOT. ok_gust) THEN
    13061330           do i = 1, klon
     
    13091333           ENDIF
    13101334
    1311 c Calculer l'humidite relative pour diagnostique
     1335c =================================================================== c
     1336c Calcul des proprietes des nuages convectifs
    13121337c
    13131338      DO k = 1, klev
     
    13361361     s       (klon,klev,q_seri,zqsat,clwcon0,ptconv,ratqsc,rnebcon0)
    13371362
    1338           endif
    1339 
    1340           ENDIF ! ok_cvl
     1363c =================================================================== c
    13411364
    13421365          DO i = 1, klon
     
    16681691!      albsollw = albsollw1
    16691692      CALL radlwsw ! nouveau rayonnement (compatible Arpege-IFS)
    1670      e            (dist, rmu0, fract, co2_ppm, solaire,
     1693cIM  e            (dist, rmu0, fract, co2_ppm, solaire,
     1694     e            (dist, rmu0, fract,
    16711695     e             paprs, pplay,zxtsol,albsol, albsollw, t_seri,q_seri,
    16721696     e             wo,
     
    16811705      ENDIF
    16821706      itaprad = itaprad + 1
     1707
    16831708c
    16841709c Ajouter la tendance des rayonnements (tous les pas)
     
    19231948      call plevel(klon,klev,.false.,pplay,20000.,v_seri,v200)
    19241949      call plevel(klon,klev,.true. ,pplay,50000.,zphi,phi500)
     1950      call plevel(klon,klev,.true. ,paprs,50000.,omega,w500)
     1951
     1952      slp(:) = paprs(:,1)*exp(pphis(:)/(289.*t_seri(:,1)))
     1953c
     1954
    19251955
    19261956c=============================================================
Note: See TracChangeset for help on using the changeset viewer.