Ignore:
Timestamp:
Mar 28, 2011, 11:39:43 AM (14 years ago)
Author:
slebonnois
Message:

SL: dernieres corrections pour que la compilation de Titan se fasse.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libf/phytitan/physiq.F

    r104 r105  
    117117      REAL qx(klon,klev,nqmax)
    118118
    119       REAL t_ancien(klon,klev)
    120       REAL u_ancien(klon,klev)
    121       SAVE t_ancien, u_ancien
     119      REAL,save,allocatable :: t_ancien(:,:)
     120      REAL,save,allocatable :: u_ancien(:,:)
    122121      LOGICAL ancien_ok
    123122      SAVE ancien_ok
     
    134133      REAL d_ps(klon)
    135134
    136       INTEGER klevp1, klevm1
    137       PARAMETER(klevp1=klev+1,klevm1=klev-1)
    138 c
    139       REAL swnet(klon,klevp1)
    140       SAVE swnet
    141 c
    142       REAL lwnet(klon,klevp1)
    143       SAVE lwnet
    144 c
    145       REAL LWdnTOA(klon)
    146       SAVE LWdnTOA
     135      REAL,save,allocatable :: swnet(:,:)
     136      REAL,save,allocatable :: lwnet(:,:)
    147137c
    148138c Variables propres a la physique
     
    157147      SAVE chimpas                 ! frequence d'appel chimie
    158148c
    159       REAL radsol(klon)
    160       SAVE radsol               ! bilan radiatif au sol calcule par code radiatif
    161 c
    162       REAL rlev(klon,klev+1)      ! altitude a chaque niveau (interface inferieure de la couche)
    163       SAVE rlev     
    164 ci 
    165       INTEGER itap
    166       SAVE itap                   ! compteur pour la physique
    167 c
    168       REAL ftsol(klon)
    169       SAVE ftsol                  ! temperature du sol
    170 c
    171       REAL ftsoil(klon,nsoilmx)
    172       SAVE ftsoil                 ! temperature dans le sol
    173 c
    174       REAL falbe(klon)
    175       SAVE falbe                  ! albedo
    176 
     149      REAL,save,allocatable :: radsol(:) ! bilan radiatif au sol calcule par code radiatif
     150      REAL,save,allocatable :: rlev(:,:) ! altitude a chaque niveau (interface inferieure de la couche)
     151      INTEGER,save :: itap        ! compteur pour la physique
     152      REAL,save,allocatable :: ftsol(:)    ! temperature du sol
     153      REAL,save,allocatable :: ftsoil(:,:) ! temperature dans le sol
     154      REAL,save,allocatable :: falbe(:)    ! albedo
    177155      REAL delp(klon,klev)        ! epaisseur d'une couche
    178156     
     
    181159c  Parametres de l'Orographie a l'Echelle Sous-Maille (OESM):
    182160c
    183       REAL zmea(klon)
    184       SAVE zmea                   ! orographie moyenne
    185 c
    186       REAL zstd(klon)
    187       SAVE zstd                   ! deviation standard de l'OESM
    188 c
    189       REAL zsig(klon)
    190       SAVE zsig                   ! pente de l'OESM
    191 c
    192       REAL zgam(klon)
    193       save zgam                   ! anisotropie de l'OESM
    194 c
    195       REAL zthe(klon)
    196       SAVE zthe                   ! orientation de l'OESM
    197 c
    198       REAL zpic(klon)
    199       SAVE zpic                   ! Maximum de l'OESM
    200 c
    201       REAL zval(klon)
    202       SAVE zval                   ! Minimum de l'OESM
    203 c
    204       REAL rugoro(klon)
    205       SAVE rugoro                 ! longueur de rugosite de l'OESM
     161      REAL,save,allocatable :: zmea(:)   ! orographie moyenne
     162      REAL,save,allocatable :: zstd(:)   ! deviation standard de l'OESM
     163      REAL,save,allocatable :: zsig(:)   ! pente de l'OESM
     164      REAL,save,allocatable :: zgam(:)   ! anisotropie de l'OESM
     165      REAL,save,allocatable :: zthe(:)   ! orientation de l'OESM
     166      REAL,save,allocatable :: zpic(:)   ! Maximum de l'OESM
     167      REAL,save,allocatable :: zval(:)   ! Minimum de l'OESM
     168      REAL,save,allocatable :: rugoro(:) ! longueur de rugosite de l'OESM
    206169
    207170      INTEGER igwd,idx(klon),itest(klon)
     
    234197      REAL zustrph(klon),zvstrph(klon)
    235198c
    236       REAL zuthe(klon),zvthe(klon)
    237       SAVE zuthe
    238       SAVE zvthe
     199      REAL,save,allocatable :: zuthe(:),zvthe(:)
    239200
    240201c Variables locales:
     
    245206cAA  Pour TRACEURS
    246207cAA
     208      REAL,save,allocatable :: source(:,:)
    247209      integer nmicro
    248       REAL source(klon,nqmax)
    249       save    nmicro,source
     210      save    nmicro
    250211
    251212      REAL ycoefh(klon,klev)    ! coef d'echange pour phytrac
     
    256217
    257218      REAL sens(klon), dsens(klon) ! chaleur sensible et sa derivee
    258       REAL dlw(klon)    ! derivee infra rouge
    259 cym
    260       SAVE dlw
    261 cym
    262       REAL fder(klon) ! Derive de flux (sensible et latente)
    263       save fder
     219      REAL,save,allocatable :: dlw(:)  ! derivee infra rouge
     220      REAL,save,allocatable :: fder(:) ! Derive de flux (sensible et latente)
    264221      REAL ve(klon) ! integr. verticale du transport meri. de l'energie
    265222      REAL vq(klon) ! integr. verticale du transport meri. de l'eau
     
    301258      REAL flux_ec(klon,klev)   ! flux de chaleur Ec
    302259c
    303 
    304 c RADIATIF
    305 
    306       REAL heat(klon,klev)    ! chauffage solaire
    307       REAL cool(klon,klev)    ! refroidissement infrarouge
    308       REAL dtrad(klon,klev)   ! K s-1
    309       REAL tmpout(klon,klev)  ! K s-1
    310       REAL topsw(klon), toplw(klon), solsw(klon), sollw(klon)
    311       real sollwdown(klon)    ! downward LW flux at surface
    312 
    313260c Le rayonnement n'est pas calcule tous les pas, il faut donc
    314261c                      sauvegarder les sorties du rayonnement
    315       SAVE  heat,cool,dtrad,topsw,toplw,solsw,sollw,sollwdown
    316 c
     262      REAL,save,allocatable :: heat(:,:)    ! chauffage solaire
     263      REAL,save,allocatable :: cool(:,:)    ! refroidissement infrarouge
     264      REAL,save,allocatable :: dtrad(:,:)   ! K s-1
     265      REAL,save,allocatable :: topsw(:), toplw(:)
     266      REAL,save,allocatable :: solsw(:), sollw(:)
     267      REAL,save,allocatable :: sollwdown(:) ! downward LW flux at surface
     268      REAL tmpout(klon,klev)  ! K s-1
     269
    317270      INTEGER itaprad
    318271      SAVE itaprad
     
    437390      REAL mangtot            ! moment cinetique total
    438391
     392      CHARACTER*2 str1
     393
    439394c Temporaire avant de trouver mieux :
    440395c Recuperation des TAU du TR
    441       CHARACTER*2 str1
     396      REAL t_tauhvd(klon,klev),t_khvd(klon,klev)
     397c  ASTUCE POUR EVITER klon... EN ATTENDANT MIEUX
     398      INTEGER   ngrid
     399      PARAMETER (ngrid=(jjm-1)*iim+2)  ! = klon
    442400      INTEGER NSPECV,NSPECI,NLAYER
    443       PARAMETER (NSPECV=24,NSPECI=46,NLAYER=klev)
    444       REAL t_tauhvd(klon,klev),t_khvd(klon,klev)
    445       REAL TAUHID(klon,NLAYER,NSPECI)
    446      &               ,TAUGID(klon,NLAYER,NSPECI)
    447      &               ,TAUHVD(klon,NLAYER,NSPECV)
    448      &               ,TAUGVD(klon,NLAYER,NSPECV)
     401      PARAMETER (NSPECV=24,NSPECI=46,NLAYER=llm)
     402      REAL TAUHID(ngrid,NLAYER,NSPECI)
     403     &               ,TAUGID(ngrid,NLAYER,NSPECI)
     404     &               ,TAUHVD(ngrid,NLAYER,NSPECV)
     405     &               ,TAUGVD(ngrid,NLAYER,NSPECV)
    449406
    450407      COMMON /TAUD/   TAUHID,TAUGID,TAUHVD,TAUGVD
     
    478435c========================
    479436      IF (debut) THEN
     437         allocate(t_ancien(klon,klev),u_ancien(klon,klev))
     438         allocate(swnet(klon,klevp1),lwnet(klon,klevp1))
     439         allocate(radsol(klon),ftsol(klon),falbe(klon))
     440         allocate(rlev(klon,klevp1),ftsoil(klon,nsoilmx))
     441         allocate(zmea(klon),zstd(klon),zsig(klon),zgam(klon))
     442         allocate(zthe(klon),zpic(klon),zval(klon),rugoro(klon))
     443         allocate(zuthe(klon),zvthe(klon),dlw(klon),fder(klon))
     444         allocate(heat(klon,klev),cool(klon,klev))
     445         allocate(dtrad(klon,klev),topsw(klon),toplw(klon))
     446         allocate(solsw(klon),sollw(klon),sollwdown(klon))
     447         allocate(source(klon,nqmax))
    480448
    481449         CALL suphec ! initialiser constantes et parametres phys.
     
    14421410          DO i = 1, klon
    14431411            qaer(i,l,iq) = qaer(i,l,iq) +
    1444      .                (d_tr_mph(i,l,iq)*delp(i,l)/RG)*ptimestep
     1412     .                (d_tr_mph(i,l,iq)*delp(i,l)/RG)*dtime
    14451413          ENDDO
    14461414         ENDDO
Note: See TracChangeset for help on using the changeset viewer.