Ignore:
Timestamp:
Dec 17, 2013, 1:02:44 PM (11 years ago)
Author:
slebonnois
Message:

SL: update of Titan photochemical module to include computation of chemistry up to 1300 km

Location:
trunk/LMDZ.COMMON/libf/dyn3d
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.COMMON/libf/dyn3d/calfis.F

    r1107 r1126  
    199199      REAL,allocatable,save :: tmpvarbar(:)
    200200      REAL,allocatable,save :: tmpvarbarp1(:)
     201      real :: zz1,zz2
    201202
    202203c-----------------------------------------------------------------------
     
    232233c----------------------------------------------
    233234c moyennes globales pour le profil de pression
    234       if(planet_type.eq."titan") then
     235       if(planet_type.eq."titan".or.planet_type.eq."venus") then
    235236        ALLOCATE(plevmoy(llm+1))
    236237        ALLOCATE(playmoy(llm))
     
    238239        ALLOCATE(tetamoy(llm))
    239240        ALLOCATE(pkmoy(llm))
     241        ALLOCATE(phimoy(0:llm))
     242        ALLOCATE(zlevmoy(llm+1))
     243        ALLOCATE(zlaymoy(llm))
    240244        plevmoy=0.
    241245        do l=1,llmp1
     
    248252        tetamoy=0.
    249253        pkmoy=0.
     254        phimoy=0.
     255        do i=1,iip1
     256         do j=1,jjp1
     257            phimoy(0)=phimoy(0)+pphis(i,j)/(iip1*jjp1)
     258         enddo
     259        enddo
    250260        do l=1,llm
    251261         do i=1,iip1
     
    253263            tetamoy(l)=tetamoy(l)+pteta(i,j,l)/(iip1*jjp1)
    254264            pkmoy(l)=pkmoy(l)+ppk(i,j,l)/(iip1*jjp1)
     265            phimoy(l)=phimoy(l)+pphi(i,j,l)/(iip1*jjp1)
    255266          enddo
    256267         enddo
    257268        enddo
    258         playmoy = preff * (pkmoy/cpp) ** unskap
     269        playmoy(:) = preff * (pkmoy(:)/cpp) ** unskap
    259270        call tpot2t(llm,tetamoy,tmoy,pkmoy)
     271c SI ON TIENT COMPTE DE LA VARIATION DE G AVEC L'ALTITUDE:
     272        zlaymoy(:) = g*rad*rad/(g*rad-phimoy(:))-rad
     273        zlevmoy(1) = phimoy(0)/g
     274        DO l=2,llm
     275            zz1=(playmoy(l-1)+plevmoy(l))/(playmoy(l-1)-plevmoy(l))
     276            zz2=(plevmoy(l)  +playmoy(l))/(plevmoy(l)  -playmoy(l))
     277            zlevmoy(l)=(zz1*zlaymoy(l-1)+zz2*zlaymoy(l))/(zz1+zz2)
     278        ENDDO
     279        zlevmoy(llmp1)=zlaymoy(llm)+(zlaymoy(llm)-zlevmoy(llm))
    260280c-------------------
    261281c + lat index
     
    265285        ig0  = 2
    266286        DO j = 2,jjm
    267            do i=0,iim-1
    268             klat(ig0+i) = j
    269            enddo
    270            ig0 = ig0+iim
     287         do i=0,iim-1
     288          klat(ig0+i) = j
     289         enddo
     290         ig0 = ig0+iim
    271291        ENDDO
    272292        klat(ngridmx)  = jjp1
    273       endif   ! planet_type=titan
     293       endif   ! planet_type=titan
    274294c----------------------------------------------
    275295      ELSE
  • trunk/LMDZ.COMMON/libf/dyn3d/moyzon_mod.F90

    r1107 r1126  
    1818! to be changed...
    1919      REAL,ALLOCATABLE,SAVE :: plevmoy(:),playmoy(:)
     20      REAL,ALLOCATABLE,SAVE :: zlevmoy(:),zlaymoy(:),phimoy(:)
    2021      REAL,ALLOCATABLE,SAVE :: tmoy(:),tetamoy(:),pkmoy(:)
    2122      INTEGER,ALLOCATABLE,SAVE :: klat(:)
Note: See TracChangeset for help on using the changeset viewer.