source: trunk/LMDZ.TITAN.old/libf/phytitan/inimuphy3D.F @ 3094

Last change on this file since 3094 was 175, checked in by slebonnois, 14 years ago

S.LEBONNOIS:

  • Revision majeure de la physique Titan => ajout des nuages version 10 bins (Jeremie Burgalat) Cette version reste a tester mais avec clouds=0, on reste sur l'ancienne.
  • Quelques ajouts dans la doc.
File size: 2.9 KB
Line 
1
2************************************************************************
3*      inimphycst()
4*      initialise les constante utilisée dans la microphysique.
5*
6*      Oui je sais certaine constantes, voir toutes les definitions
7*      faites ici devraient etre dans YOMCST.h mais la j'ai pas le
8*      courage pour le moment !
9************************************************************************
10       subroutine inimphycst()
11       implicit none
12#include "dimensions.h"
13#include "microtab.h"
14#include "varmuphy.h"
15#include "YOMCST.h"
16
17         pi = RPI
18
19         nav = RNAVO
20         rgp = R
21         kbz = RKBOL
22
23         rtit = RA
24         g0   = RG
25
26         mch4  = 16.e-3      ! kg/mol !!!!
27         mc2h6 = 30.e-3
28         mc2h2 = 26.e-3
29         mar   = 36.4e-3
30         mn2   = 28.e-3
31         mair  = 28.e-3      ! l'air c'est du N2 ^^
32 
33         rhol      = 1.e+3     ! rho aerosols
34         rhoi_ch4  = 425.
35         rhoi_c2h6 = 544.6
36         rhoi_c2h2 = 615.0
37
38         mtetach4  = 0.92
39         mtetac2h6 = 0.92
40         mtetac2h2 = 0.92
41
42         return
43       end
44************************************************************************
45*      Routine calculant/initialisant la grille verticale
46*      ainsi que tous les variables communes aux routines microphysique.
47*
48*      CONVENTION :
49*      suffixe b    : bord des couches.
50*      SANS suffixe : centre des couches.
51************************************************************************
52       subroutine inimuphy(ihor,tplev,tplay,tzlev,tzlay,tpt)
53       implicit none
54#include "dimensions.h"
55#include "microtab.h"
56#include "varmuphy.h"
57*
58*      INPUT :
59*
60       integer ihor
61       real tplev(nz+1),tplay(nz),tzlev(nz+1),tzlay(nz),tpt(nz)
62*
63*      LOCAL
64*
65       integer i,j
66       real plev(nz+1),play(nz),zlev(nz+1),zlay(nz),pt(nz)
67
68
69       if (nz.ne.llm) then
70         print*,"<nz.ne.llm> dans inimuphys !"
71         STOP
72       endif
73
74*-----------------------
75*      INVERSION DES TABLEAUX
76*-----------------------
77
78      do j=1,nz+1
79        plev(j)=tplev(nz-j+2)
80        zlev(j)=tzlev(nz-j+2)
81      enddo
82      do j=1,nz
83        play(j)=tplay(nz-j+1)
84        zlay(j)=tzlay(nz-j+1)
85        pt(j) = tpt(nz-j+1)
86      enddo
87*
88*      Calcul de la grille verticale :
89*      z,dz,zb,dzb
90*     
91       do i=1,nz-1         
92         dz(i)=zlay(i)-zlay(i+1)
93         dzb(i)=zlev(i)-zlev(i+1)
94       enddo
95       dz(nz)=dz(nz-1)                 ! ARBITRAIRE 
96       dzb(nz)=zlev(nz)-zlev(nz+1)
97       z=zlay
98       zb=zlev
99       p=play
100       pb=plev
101
102*
103*      conditions speciale pour le dernier niveau de pression
104*      on crée un niveau tres tres tres fin mais qui existe quand meme !)
105       pb(1) = plev(2)*1.e-7
106
107
108c Interpolation de tb a partir de t
109c*******************************************************
110       t=pt
111       do i=1,nz-1
112         tb(i+1)=(t(i)+t(i+1))/2. 
113       enddo
114       tb(1)=t(1)
115       tb(nz+1)=(t(nz)-t(nz-1))*.5+t(nz)
116
117         return
118       end
Note: See TracBrowser for help on using the repository browser.