Changeset 2684 for trunk/LMDZ.VENUS


Ignore:
Timestamp:
May 23, 2022, 6:29:21 PM (3 years ago)
Author:
flefevre
Message:

Venus: Modifications pour tourner en 1D avec la chimie. Provisoire (cles a ajouter dans le futur pour gerer les cas avec/sans chimie) mais fonctionne.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.VENUS/libf/phyvenus/dyn1d/rcm1d.F

    r2624 r2684  
    1111     .                       aps,bps,scaleheight,pseudoalt,
    1212     .                       disvert_type,pressure_exner
    13       use conc, only: rho
     13      use conc, only: rho,mmean
    1414      USE iniphysiq_mod, ONLY: iniphysiq
    1515      USE mod_const_mpi, ONLY: comm_lmdz
     
    4949      INTEGER unitstart      ! unite d'ecriture de "startphy.nc"
    5050      INTEGER nlayer,nlevel,nsoil,ndt
    51       INTEGER ilayer,ilevel,isoil,idt,iq
     51      INTEGER ilayer,ilevel,isoil,idt,iq,i
    5252      LOGICAl firstcall,lastcall
    5353c
     
    8484      real pi
    8585
    86 c=======================================================================
     86!     initialisation des traceurs
     87
     88      integer :: idummy
     89      real :: dummy
     90
     91      character*8  specname(36)                 
     92      real  mmol(36)
    8793
    8894c=======================================================================
    8995c INITIALISATION
    90 c=======================================================================
    9196
    9297      lunout = 6
     98
     99      mmol =     (/44., 28.,  2., 18., 16.,   
     100     &       16., 32., 32., 48.,  1.,   
     101     &       17., 33., 34., 35., 51.,   
     102     &       71., 36., 52., 63., 95.,   
     103     &       99., 32., 48., 64., 80.,   
     104     &       96., 60., 81., 98., 64.,   
     105     &       99., 83., 28., 4.,  18.,   
     106     &       98./)
     107
     108      specname = (/"co2", "co", "h2", "h2o", "o1d",           
     109     &       "o"  , "o2", "o2dg", "o3", "h",             
     110     &       "oh" , "ho2", "h2o2", "cl", "clo",         
     111     &       "cl2", "hcl", "hocl", "clco", "clco3",     
     112     &       "cocl2", "s", "so", "so2", "so3",           
     113     &       "s2o2", "ocs", "hso3", "h2so4", "s2",       
     114     &       "clso2", "oscl", "n2", "he", "h2oliq",
     115     &       "h2so4liq"/)
    93116
    94117c ------------------------------------------------------
     
    169192c     print*,nbapp_rad
    170193c LU DANS PHYSIQ.DEF...
    171       nbapp_rad = 1000.
     194      nbapp_rad = 24000
    172195
    173196      PRINT *,'nombre de jours simules ?'
     
    223246     &            (/cufi,0.,0.,0./),
    224247     &            (/cvfi,0./),
    225      &            rad,g,r,cpp,1)
     248     &             rad,g,r,cpp,1)
    226249
    227250c   le geopotentiel au sol est inutile en 1D car tout est controle
     
    323346      ENDDO
    324347
    325 c FULL CHEMISTRY !! AJOUTER INIT AURELIEN...
    326 C Faudrait lire les cles avant pour mettre ca en option....
    327 c ou alors mettre ca dans physiq
     348      print*,"lecture des profils chimiques"
     349      open(21, form = 'formatted', file = 'init_1D.txt')
     350      read(21,*)
     351      do ilayer = nlayer,1,-1
     352         read(21,*) idummy, dummy, dummy, (q(ilayer,iq), iq = 1,nqtot)
     353!        print*, idummy, q(ilayer,1), q(ilayer,nqtot)
     354      end do
     355      close(21)
    328356
    329357c    Initialisation des parametres d'oro
     
    367395c=======================================================================
    368396c
     397!TEMPOAIRE
     398
    369399      firstcall=.true.
    370400      lastcall=.false.
    371401
    372       DO idt=1,ndt
     402c     Ouverture du fichier d'écriture des VMR
     403
     404      OPEN(5,file='chem.txt',form = 'formatted')
     405      WRITE(5,'(2x,100a12)')'hpa',(specname(i), i=1,nqtot)
     406
     407!     debut de boucle temporelle
     408
     409      DO idt=1,48000
    373410        IF (idt.eq.ndt) then
    374411         lastcall=.true.
     
    470507           DO ilayer=1,nlayer
    471508             play(ilayer)=aps(ilayer)+psurf*bps(ilayer)
    472            ENDDO
    473 
     509           ENDDO
     510
     511c       ------------------------------------------------------------
     512c       sortie des VMR tous les 20% d'une journée vénusienne dans le
     513c       fichier chem.txt
     514c       ------------------------------------------------------------
     515
     516         if ((idt==1) .OR. (idt==9600) .OR. (idt==19200) .OR.
     517     $      (idt==28800) .OR. (idt==38400) .OR. (idt==48000)) then
     518              DO ilayer=1,nlayer
     519                 write (5,'(100e12.4)')play(ilayer)/100., q(ilayer,:)
     520     $                 *mmean(1,ilayer)/mmol(:)
     521              ENDDO   
     522         end if
    474523      ENDDO   ! fin de la boucle temporelle
    475524
     525c      close(5)
    476526c    ========================================================
    477527c    GESTION DES SORTIE
Note: See TracChangeset for help on using the changeset viewer.