Changeset 504 for LMDZ.3.3


Ignore:
Timestamp:
Mar 24, 2004, 9:32:33 AM (20 years ago)
Author:
lmdzadmin
Message:

IM: ajout nouveaux diagnostiques

File:
1 edited

Legend:

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

    r486 r504  
    124124c      PARAMETER (ok_journe=.true.)
    125125
    126       integer lev_histday
    127       save lev_histday
    128       data lev_histday/1/
     126cIM lev_histday ==> clesphys     
     127cIM     integer lev_histday
     128cIM     save lev_histday
     129cIM     data lev_histday/1/
    129130c
    130131      LOGICAL ok_mensuel ! sortir le fichier mensuel
     
    195196#include "raddim.h"
    196197c
    197       REAL swdn0(klon,2), swdn(klon,2), swup0(klon,2), swup(klon,2)
     198cIM 080304   REAL swdn0(klon,2), swdn(klon,2), swup0(klon,2), swup(klon,2)
     199      REAL swdn0(klon,klevp1), swdn(klon,klevp1)
     200      REAL swup0(klon,klevp1), swup(klon,klevp1)
    198201      SAVE swdn0 , swdn, swup0, swup
    199 
     202c
     203      REAL SWdn200clr(klon), SWdn200(klon)
     204      REAL SWup200clr(klon), SWup200(klon)
     205      SAVE SWdn200clr, SWdn200, SWup200clr, SWup200
     206c
     207      REAL lwdn0(klon,klevp1), lwdn(klon,klevp1)
     208      REAL lwup0(klon,klevp1), lwup(klon,klevp1)
     209      SAVE lwdn0 , lwdn, lwup0, lwup
     210c
     211      REAL LWdn200clr(klon), LWdn200(klon)
     212      REAL LWup200clr(klon), LWup200(klon)
     213      SAVE LWdn200clr, LWdn200, LWup200clr, LWup200
     214c
     215      REAL LWdnTOA(klon), LWdnTOAclr(klon)
     216      SAVE LWdnTOA, LWdnTOAclr
     217c
    200218c vents meridien et zonal a un niveau de pression
    201       real u1000(klon), v1000(klon) !vents a 1000 hPa
    202       real u925(klon), v925(klon)   !vents a  925 hPa
    203       real u850(klon),v850(klon)    !vents a  850 hPa
    204       real u700(klon),v700(klon)
    205       real u600(klon),v600(klon)
    206       real u500(klon),v500(klon)
    207       real u400(klon),v400(klon)
    208       real u300(klon),v300(klon)
    209       real u250(klon),v250(klon)
    210       real u200(klon),v200(klon)
    211       real u150(klon),v150(klon)
    212       real u100(klon),v100(klon)
    213       real u70(klon),v70(klon)
    214       real u50(klon),v50(klon)
    215       real u30(klon),v30(klon)
    216       real u20(klon),v20(klon)
    217       real u10(klon),v10(klon)
    218       real phi500(klon),w500(klon)
     219c
     220      integer nlevSTD
     221      PARAMETER(nlevSTD=17)
     222      real rlevSTD(nlevSTD)
     223      DATA rlevSTD/100000., 92500., 85000., 70000.,
     224     .60000., 50000., 40000., 30000., 25000., 20000.,
     225     .15000., 10000., 7000., 5000., 3000., 2000., 1000./
     226      CHARACTER*5 clevSTD(nlevSTD), aa, bb
     227      DATA clevSTD/'1000','925 ','850 ','700 ','600 ',
     228     .'500 ','400 ','300 ','250 ','200 ','150 ','100 ',
     229     .'70  ','50  ','30  ','20  ','10  '/
     230c
     231      real tlevSTD(klon,nlevSTD), qlevSTD(klon,nlevSTD)
     232      real rhlevSTD(klon,nlevSTD), philevSTD(klon,nlevSTD)
     233      real ulevSTD(klon,nlevSTD), vlevSTD(klon,nlevSTD)
     234c
     235cIM ENSEMBLES BEG
     236c
     237      integer nlevENS
     238      PARAMETER(nlevENS=4)
     239      integer indENS(nlevENS)
     240      save indENS
     241      real rlevENS(nlevENS)
     242      DATA rlevENS/85000., 70000., 50000., 20000./
     243      CHARACTER*3 clev(nlevENS)
     244      DATA clev/'850','700','500','200'/
     245 
     246      real tlev(klon,nlevENS), qlev(klon,nlevENS), rhlev(klon,nlevENS)
     247      real ulev(klon,nlevENS), vlev(klon,nlevENS), philev(klon,nlevENS)
     248      real wlev(klon,nlevENS)
     249cIM ENSEMBLES END
     250c
    219251c prw: precipitable water
    220252      real prw(klon)
     
    322354      SAVE nhistoWt
    323355
     356      INTEGER linv
    324357      INTEGER pct_ocean(klon,nbregdyn)
    325358      REAL rlonPOS(klon)
     
    380413      logical ok_hf
    381414      real ecrit_hf
    382       integer nid_hf
    383       save ok_hf, ecrit_hf, nid_hf       
     415      integer nid_hf, nid_hf3d
     416      save ok_hf, ecrit_hf, nid_hf, nid_hf3d
    384417
    385418c  QUESTION : noms de variables ?
    386419
     420#undef histhf
    387421#define histhf
    388422#ifdef histhf
     
    566600      REAL snow_fall(klon) ! neige
    567601      save snow_fall, rain_fall
     602cIM 050204 BEG
     603      REAL total_rain(klon), nday_rain(klon)
     604      save total_rain, nday_rain
     605cIM 050204 END
    568606      REAL evap(klon), devap(klon) ! evaporation et sa derivee
    569607      REAL sens(klon), dsens(klon) ! chaleur sensible et sa derivee
     
    571609      REAL bils(klon) ! bilan de chaleur au sol
    572610      REAL wfbils(klon,nbsrf) ! bilan de chaleur au sol, pour chaque
    573 C                   type de sous-surface et pondere par la fraction
     611C                             ! type de sous-surface et pondere par la fraction
    574612      REAL fder(klon) ! Derive de flux (sensible et latente)
    575613      save fder
     
    590628      SAVE lmt_pas                ! frequence de mise a jour
    591629      REAL pctsrf(klon,nbsrf)
     630cIM
     631      REAL pctsrf_new(klon,nbsrf) !pourcentage surfaces issus d'ORCHIDEE
     632      REAL paire_ter(klon)        !surfaces terre
     633cIM
    592634      SAVE pctsrf                 ! sous-fraction du sol
    593635      REAL albsol(klon)
     
    632674cIM
    633675      EXTERNAL haut2bas  !variables de haut en bas
     676      INTEGER lnblnk1
     677      EXTERNAL lnblnk1   !enleve les blancs a la fin d'une variable de type
     678                         !caracter
    634679c
    635680c Variables locales
     
    664709      REAL topsw(klon), toplw(klon), solsw(klon), sollw(klon)
    665710      real sollwdown(klon)    ! downward LW flux at surface
     711cIM BEG
     712      real sollwdownclr(klon)    ! downward CS LW flux at surface
     713      real toplwdown(klon)       ! downward CS LW flux at TOA
     714      real toplwdownclr(klon)    ! downward CS LW flux at TOA
     715cIM END
    666716      REAL topsw0(klon), toplw0(klon), solsw0(klon), sollw0(klon)
    667717      REAL albpla(klon)
    668 cIM cf. JLD
    669718      REAL fsollw(klon, nbsrf)   ! bilan flux IR pour chaque sous surface
    670719      REAL fsolsw(klon, nbsrf)   ! flux solaire absorb. pour chaque sous surface
     
    672721c                      sauvegarder les sorties du rayonnement
    673722      SAVE  heat,cool,albpla,topsw,toplw,solsw,sollw,sollwdown
     723      SAVE  sollwdownclr, toplwdown, toplwdownclr
    674724      SAVE  topsw0,toplw0,solsw0,sollw0, heat0, cool0
    675 cccIM
    676 
     725c
    677726      INTEGER itaprad
    678727      SAVE itaprad
     
    832881c
    833882      INTEGER nhori, nvert
    834       REAL zsto, zout
     883      REAL zsto, zout, zsto1, zsto2
    835884      real zjulian
    836885      save zjulian
     
    899948      IF (debut) THEN
    900949         CALL suphec ! initialiser constantes et parametres phys.
    901       ENDIF
    902 
    903 
     950c
     951cIM 050204 BEG
     952         DO i=1, klon
     953          nday_rain(i)=0.
     954         ENDDO
     955cIM 050204 END
     956c
    904957c======================================================================
     958cIM BEG
     959        DO k=1, nlev
     960          DO l=1, nlevSTD
     961c
     962            bb=clevSTD(l)
     963c
     964            IF(l.GE.2) THEN
     965             aa=clevSTD(l)
     966             bb=aa(1:lnblnk1(aa))
     967            ENDIF
     968c
     969            IF(bb.EQ.clev(k)) THEN
     970c             print*,'k=',k,'l=',l,'clev=',clev(k)
     971              indENS(k)=l
     972c             print*,'k=',k,'l=',l,'clev=',clev(k),'indENS=',indENS(k)
     973            ENDIF
     974c
     975          ENDDO
     976        ENDDO
     977c
     978      ENDIF !debut
     979cIM END
    905980      xjour = rjourvrai
    906981c
     
    9271002         itap    = 0
    9281003         itaprad = 0
    929 c
    9301004         CALL phyetat0 ("startphy.nc",dtime,co2_ppm_etat0,solaire_etat0,
    9311005     .       rlat,rlon,pctsrf, ftsol,ftsoil,deltat,fqsurf,qsol,fsnow,
     
    9381012         radpas = NINT( 86400./dtime/nbapp_rad)
    9391013c
    940 C on remet le calendrier à zero
     1014C on remet le calendrier a zero
    9411015c
    9421016         IF (raz_date .eq. 1) THEN
     
    10531127c
    10541128c
    1055 cccIM
     1129cIM
    10561130      capemaxcels = 't_max(X)'
    10571131      t2mincels = 't_min(X)'
     
    11561230      ENDIF
    11571231C
     1232      DO i = 1, klon
     1233        ztsol(i) = 0.
     1234      ENDDO
     1235      DO nsrf = 1, nbsrf
    11581236        DO i = 1, klon
    1159           ztsol(i) = 0.
     1237          ztsol(i) = ztsol(i) + ftsol(i,nsrf)*pctsrf(i,nsrf)
    11601238        ENDDO
    1161         DO nsrf = 1, nbsrf
    1162           DO i = 1, klon
    1163             ztsol(i) = ztsol(i) + ftsol(i,nsrf)*pctsrf(i,nsrf)
    1164           ENDDO
    1165         ENDDO
     1239      ENDDO
    11661240C
    11671241      IF (if_ebil.ge.1) THEN
     
    13241398      fder = dlw
    13251399
    1326       CALL clmain(dtime,itap,date0,pctsrf,
     1400
     1401cIM   CALL clmain(dtime,itap,date0,pctsrf,
     1402      CALL clmain(dtime,itap,date0,pctsrf,pctsrf_new,
    13271403     e            t_seri,q_seri,u_seri,v_seri,
    13281404     e            julien, rmu0, co2_ppm,
     
    13391415     s            fluxt,fluxq,fluxu,fluxv,cdragh,cdragm,
    13401416     s            dsens, devap,
    1341 cIM cf JLD    s            ycoefh,yu1,yv1, t2m, q2m, u10m, v10m)
    13421417     s            ycoefh,yu1,yv1, t2m, q2m, u10m, v10m,
    13431418     s            fqcalving,ffonte)
     
    13991474         zxtsol(i) = 0.0
    14001475         zxfluxlat(i) = 0.0
    1401 cccIM
     1476c
    14021477         zt2m(i) = 0.0
    14031478         zq2m(i) = 0.0
     
    19522027      ENDDO !nreg
    19532028cIM somme de toutes les nhistoW END
    1954 c
     2029      ENDIF
    19552030cIM: initialisation de seed
    19562031        DO i=1, klon
    19572032          seed(i)=i+100
    19582033        ENDDO
    1959       ENDIF !debut
     2034     
    19602035cIM: pas de debug, debugcol
    19612036      debug=0
     
    21522227     s             topsw,toplw,solsw,sollw,
    21532228     s             sollwdown,
     2229cIM  s             sollwdown, sollwdownclr,
     2230cIM
     2231cIM  s             toplwdown, toplwdownclr,
     2232cIM
    21542233     s             topsw0,toplw0,solsw0,sollw0,
     2234     s             lwdn0, lwdn, lwup0, lwup,
    21552235     s             swdn0, swdn, swup0, swup     )
    21562236      itaprad = 0
     
    23932473c   -----------------------------------------------
    23942474c
    2395 cIM sorties sur les 17 niveaux de pression du NMC
    2396 c 1000 hPa
    2397       call plevel(klon,klev,.true. ,pplay,100000.,u_seri,u1000)
    2398       call plevel(klon,klev,.false.,pplay,100000.,v_seri,v1000)
    2399 c 925 hPa
    2400       call plevel(klon,klev,.true. ,pplay,92500.,u_seri,u925)
    2401       call plevel(klon,klev,.false.,pplay,92500.,v_seri,v925)
    2402 c 850 hPa
    2403       call plevel(klon,klev,.true. ,pplay,85000.,u_seri,u850)
    2404       call plevel(klon,klev,.false.,pplay,85000.,v_seri,v850)
    2405 c 700 hPa
    2406       call plevel(klon,klev,.true. ,pplay,70000.,u_seri,u700)
    2407       call plevel(klon,klev,.false.,pplay,70000.,v_seri,v700)
    2408 c 600 hPa
    2409       call plevel(klon,klev,.true. ,pplay,60000.,u_seri,u600)
    2410       call plevel(klon,klev,.false.,pplay,60000.,v_seri,v600)
    2411 c 500 hPa
    2412       call plevel(klon,klev,.true. ,pplay,50000.,u_seri,u500)
    2413       call plevel(klon,klev,.false.,pplay,50000.,v_seri,v500)
    2414 c 400 hPa
    2415       call plevel(klon,klev,.true. ,pplay,40000.,u_seri,u400)
    2416       call plevel(klon,klev,.false.,pplay,40000.,v_seri,v400)
    2417 c 300 hPa
    2418       call plevel(klon,klev,.true. ,pplay,30000.,u_seri,u300)
    2419       call plevel(klon,klev,.false.,pplay,30000.,v_seri,v300)
    2420 c 250 hPa
    2421       call plevel(klon,klev,.true. ,pplay,25000.,u_seri,u250)
    2422       call plevel(klon,klev,.false.,pplay,25000.,v_seri,v250)
    2423 c 200 hPa
    2424       call plevel(klon,klev,.true. ,pplay,20000.,u_seri,u200)
    2425       call plevel(klon,klev,.false.,pplay,20000.,v_seri,v200)
    2426 c 150 hPa
    2427       call plevel(klon,klev,.true. ,pplay,15000.,u_seri,u150)
    2428       call plevel(klon,klev,.false.,pplay,15000.,v_seri,v150)
    2429 c 100 hPa
    2430       call plevel(klon,klev,.true. ,pplay,10000.,u_seri,u100)
    2431       call plevel(klon,klev,.false.,pplay,10000.,v_seri,v100)
    2432 c 70 hPa
    2433       call plevel(klon,klev,.true. ,pplay,7000.,u_seri,u70)
    2434       call plevel(klon,klev,.false.,pplay,7000.,v_seri,v70)
    2435 c 50 hPa
    2436       call plevel(klon,klev,.true. ,pplay,5000.,u_seri,u50)
    2437       call plevel(klon,klev,.false.,pplay,5000.,v_seri,v50)
    2438 c 30 hPa
    2439       call plevel(klon,klev,.true. ,pplay,3000.,u_seri,u30)
    2440       call plevel(klon,klev,.false.,pplay,3000.,v_seri,v30)
    2441 c 20 hPa
    2442       call plevel(klon,klev,.true. ,pplay,2000.,u_seri,u20)
    2443       call plevel(klon,klev,.false.,pplay,2000.,v_seri,v20)
    2444 c 10 hPa
    2445       call plevel(klon,klev,.true. ,pplay,1000.,u_seri,u10)
    2446       call plevel(klon,klev,.false.,pplay,1000.,v_seri,v10)
    2447 c
    2448       call plevel(klon,klev,.true. ,pplay,50000.,zphi,phi500)
    2449       call plevel(klon,klev,.true. ,paprs,50000.,omega,w500)
     2475c on moyenne mensuellement les champs 3D et on les interpole sur les niveaux STD
     2476c     if(itap.EQ.1.OR.itap.EQ.13.OR.itap.EQ.25.OR.itap.EQ.37) THEN
     2477c     if(MOD(itap,12).EQ.1) THEN
     2478cIM 120304 END
     2479      DO k=1, nlevSTD
     2480       call plevel(klon,klev,.true.,pplay,rlevSTD(k),
     2481     .             t_seri,tlevSTD(:,k))
     2482       call plevel(klon,klev,.false.,pplay,rlevSTD(k),
     2483     .             u_seri,ulevSTD(:,k))
     2484       call plevel(klon,klev,.false.,pplay,rlevSTD(k),
     2485     .             v_seri,vlevSTD(:,k))
     2486       call plevel(klon,klev,.false.,pplay,rlevSTD(k),
     2487     .             zphi,philevSTD(:,k))
     2488       call plevel(klon,klev,.false.,pplay,rlevSTD(k),
     2489     .             qx(:,:,ivap),qlevSTD(:,k))
     2490       call plevel(klon,klev,.false.,pplay,rlevSTD(k),
     2491     .             zx_rh,rhlevSTD(:,k))
     2492      ENDDO !nlevSTD
     2493c ENSEMBLES BEG
     2494      DO k=1, nlevENS
     2495cIM 170304
     2496       tlev(:,k)=tlevSTD(:,indENS(k))
     2497       ulev(:,k)=ulevSTD(:,indENS(k))
     2498       vlev(:,k)=vlevSTD(:,indENS(k))
     2499       philev(:,k)=philevSTD(:,indENS(k))
     2500       qlev(:,k)=qlevSTD(:,indENS(k))
     2501       rhlev(:,k)=rhlevSTD(:,indENS(k))
     2502c
     2503       call plevel(klon,klevp1,.true.,paprs,rlevENS(k),
     2504     .             omega,wlev(:,k))
     2505c
     2506       ENDDO !k=1, nlevENS
     2507cIM 170304
     2508c      IF(1.EQ.0) THEN
     2509c
     2510c      call plevel(klon,klev,.true.,pplay,rlevENS(k),
     2511c    .             t_seri,tlev(:,k))
     2512c    .             t_seri,tlevSTD(:,indENS(k)))
     2513c      call plevel(klon,klev,.false.,pplay,rlevENS(k),
     2514c    .             qx(:,:,ivap),qlev(:,k))
     2515c     .             qx(:,:,ivap),qlevSTD(:,indENS(k)))
     2516c      call plevel(klon,klev,.false.,pplay,rlevENS(k),
     2517c    .             zx_rh,rhlev(:,k))
     2518c    .             zx_rh,rhlevSTD(:,indENS(k)))
     2519c
     2520c      IF(k.EQ.1) THEN
     2521c       ulev(:,k)=u850(:)
     2522c       vlev(:,k)=v850(:)
     2523c       philev(:,k)=phi850(:)
     2524c       ulev(:,k)=ulevSTD(:,3)
     2525c       vlev(:,k)=vlevSTD(:,3)
     2526c       philev(:,k)=philevSTD(:,3)
     2527c      ELSEIF(k.EQ.2) THEN
     2528c       ulev(:,k)=u500(:)
     2529c       vlev(:,k)=v500(:)
     2530c       philev(:,k)=phi500(:)
     2531c       ulev(:,k)=ulevSTD(:,6)
     2532c       vlev(:,k)=vlevSTD(:,6)
     2533c       philev(:,k)=philevSTD(:,6)
     2534c      ELSEIF(k.EQ.3) THEN
     2535c       ulev(:,k)=u200(:)
     2536c       vlev(:,k)=v200(:)
     2537c       philev(:,k)=phi200(:)
     2538c       ulev(:,k)=ulevSTD(:,10)
     2539c       vlev(:,k)=vlevSTD(:,10)
     2540c       philev(:,k)=philevSTD(:,10)
     2541c       ENDIF !k
     2542c
     2543c      ENDIF !1.EQ.0
     2544c
     2545c     ENDDO !nlevENS
     2546c120304     ENDIF !IF (MOD(itap,ecrit_mth) .EQ. 0) THEN
     2547c     endif !(itap.EQ.ecrit_mth) THEN
     2548cIM 100304 BEG
     2549cIM interpolation a chaque pas de temps du SWup(clr) et SWdn(clr) a 200 hPa
     2550      call plevel(klon,klevp1,.true.,paprs,20000.,
     2551     $     swdn0,SWdn200clr)
     2552      call plevel(klon,klevp1,.false.,paprs,20000.,
     2553     $     swdn,SWdn200)
     2554      call plevel(klon,klevp1,.false.,paprs,20000.,
     2555     $     swup0,SWup200clr)
     2556      call plevel(klon,klevp1,.false.,paprs,20000.,
     2557     $     swup,SWup200)
     2558c
     2559      call plevel(klon,klevp1,.false.,paprs,20000.,
     2560     $     lwdn0,LWdn200clr)
     2561      call plevel(klon,klevp1,.false.,paprs,20000.,
     2562     $     lwdn,LWdn200)
     2563      call plevel(klon,klevp1,.false.,paprs,20000.,
     2564     $     lwup0,LWup200clr)
     2565      call plevel(klon,klevp1,.false.,paprs,20000.,
     2566     $     lwup,LWup200)
     2567c
     2568cIM 100304 END
     2569c     
     2570c ENSEMBLES END
     2571c
    24502572c slp sea level pressure
    24512573      slp(:) = paprs(:,1)*exp(pphis(:)/(RD*t_seri(:,1)))
     
    24672589      ENDDO
    24682590      ENDDO
     2591cIM 050204 BEG
     2592c
     2593      IF (MOD(itap-1,lmt_pas) .EQ. 0) THEN
     2594cIM      PRINT *,' PHYS cond  julien ',julien
     2595c        CALL ozonecm( FLOAT(julien), rlat, paprs, wo)
     2596        DO i = 1, klon
     2597         total_rain(i)=rain_fall(i)+snow_fall(i) 
     2598         IF(total_rain(i).GT.0.) nday_rain(i)=nday_rain(i)+1.
     2599        ENDDO
     2600c
     2601      ENDIF
     2602c surface terre
     2603      IF (debut) THEN
     2604       DO i=1, klon
     2605         IF(pctsrf_new(i,is_ter).GT.0.) THEN
     2606            paire_ter(i)=paire(i)*pctsrf_new(i,is_ter)
     2607         ENDIF
     2608       ENDDO
     2609      ENDIF
     2610cIM 050204 END
     2611
     2612c=============================================================
     2613c
     2614c Convertir les incrementations en tendances
     2615c
     2616      DO k = 1, klev
     2617      DO i = 1, klon
     2618         d_u(i,k) = ( u_seri(i,k) - u(i,k) ) / dtime
     2619         d_v(i,k) = ( v_seri(i,k) - v(i,k) ) / dtime
     2620         d_t(i,k) = ( t_seri(i,k)-t(i,k) ) / dtime
     2621         d_qx(i,k,ivap) = ( q_seri(i,k) - qx(i,k,ivap) ) / dtime
     2622         d_qx(i,k,iliq) = ( ql_seri(i,k) - qx(i,k,iliq) ) / dtime
     2623      ENDDO
     2624      ENDDO
     2625c
     2626      IF (nqmax.GE.3) THEN
     2627      DO iq = 3, nqmax
     2628      DO  k = 1, klev
     2629      DO  i = 1, klon
     2630         d_qx(i,k,iq) = ( tr_seri(i,k,iq-2) - qx(i,k,iq) ) / dtime
     2631      ENDDO
     2632      ENDDO
     2633      ENDDO
     2634      ENDIF
     2635c
     2636c Sauvegarder les valeurs de t et q a la fin de la physique:
     2637c
     2638      DO k = 1, klev
     2639      DO i = 1, klon
     2640         t_ancien(i,k) = t_seri(i,k)
     2641         q_ancien(i,k) = q_seri(i,k)
     2642      ENDDO
     2643      ENDDO
     2644c
     2645c 22.03.04 BEG
    24692646c=============================================================
    24702647c   Ecriture des sorties
     
    24852662#include "write_histmth.h"
    24862663
    2487 #ifdef histmthNMC
    2488 #include "write_histmthNMC.h"
    2489 #endif
     2664c#ifdef histmthNMC
     2665c#include "write_histmthNMC.h"
     2666c#endif
    24902667
    24912668#include "write_histins.h"
    24922669
    2493 c=============================================================
    2494 c
    2495 c Convertir les incrementations en tendances
    2496 c
    2497       DO k = 1, klev
    2498       DO i = 1, klon
    2499          d_u(i,k) = ( u_seri(i,k) - u(i,k) ) / dtime
    2500          d_v(i,k) = ( v_seri(i,k) - v(i,k) ) / dtime
    2501          d_t(i,k) = ( t_seri(i,k)-t(i,k) ) / dtime
    2502          d_qx(i,k,ivap) = ( q_seri(i,k) - qx(i,k,ivap) ) / dtime
    2503          d_qx(i,k,iliq) = ( ql_seri(i,k) - qx(i,k,iliq) ) / dtime
    2504       ENDDO
    2505       ENDDO
    2506 c
    2507       IF (nqmax.GE.3) THEN
    2508       DO iq = 3, nqmax
    2509       DO  k = 1, klev
    2510       DO  i = 1, klon
    2511          d_qx(i,k,iq) = ( tr_seri(i,k,iq-2) - qx(i,k,iq) ) / dtime
    2512       ENDDO
    2513       ENDDO
    2514       ENDDO
    2515       ENDIF
    2516 c
    2517 c Sauvegarder les valeurs de t et q a la fin de la physique:
    2518 c
    2519       DO k = 1, klev
    2520       DO i = 1, klon
    2521          t_ancien(i,k) = t_seri(i,k)
    2522          q_ancien(i,k) = q_seri(i,k)
    2523       ENDDO
    2524       ENDDO
     2670c 22.03.04 END
    25252671c
    25262672c====================================================================
Note: See TracChangeset for help on using the changeset viewer.