source: trunk/LMDZ.TITAN/libf/phytitan/phys_state_var_mod.F90 @ 1056

Last change on this file since 1056 was 1056, checked in by slebonnois, 11 years ago

SL: Titan runs ! see DOC/chantiers/commit_importants.log

File size: 5.5 KB
Line 
1!
2! $Id: phys_state_var_mod.F90 1670 2012-10-17 08:42:04Z idelkadi $
3!
4      MODULE phys_state_var_mod
5! Variables sauvegardees pour le startphy.nc
6!======================================================================
7!
8!
9!======================================================================
10! Declaration des variables
11      USE dimphy
12!      INTEGER, SAVE :: radpas
13!!$OMP THREADPRIVATE(radpas)
14!      REAL, SAVE :: dtime
15!!$OMP THREADPRIVATE(dtime)
16
17      REAL, ALLOCATABLE, SAVE :: ftsol(:)
18!$OMP THREADPRIVATE(ftsol)
19      REAL, ALLOCATABLE, SAVE :: ftsoil(:,:)
20!$OMP THREADPRIVATE(ftsoil)
21      REAL, ALLOCATABLE, SAVE :: falbe(:)
22!$OMP THREADPRIVATE(falbe)
23
24!clesphy0 param physiq
25!
26! Parametres de l'Orographie a l'Echelle Sous-Maille (OESM):
27!
28      REAL, ALLOCATABLE, SAVE :: zmea(:), zstd(:), zsig(:), zgam(:)
29!$OMP THREADPRIVATE(zmea, zstd, zsig, zgam)
30      REAL, ALLOCATABLE, SAVE :: zthe(:), zpic(:), zval(:)
31!$OMP THREADPRIVATE(zthe, zpic, zval)
32!     REAL tabcntr0(100)
33      REAL, ALLOCATABLE, SAVE :: rugoro(:)
34!$OMP THREADPRIVATE(rugoro)
35      REAL, ALLOCATABLE, SAVE :: t_ancien(:,:), q_ancien(:,:)
36!$OMP THREADPRIVATE(t_ancien, q_ancien)
37      REAL, ALLOCATABLE, SAVE :: u_ancien(:,:), v_ancien(:,:)
38!$OMP THREADPRIVATE(u_ancien, v_ancien)
39      LOGICAL, SAVE :: ancien_ok
40!$OMP THREADPRIVATE(ancien_ok)
41! pressure level
42      REAL,ALLOCATABLE,SAVE :: zuthe(:),zvthe(:)
43!$OMP THREADPRIVATE(zuthe,zvthe)
44!
45! heat : chauffage solaire
46! heat0: chauffage solaire ciel clair
47! cool : refroidissement infrarouge
48! cool0 : refroidissement infrarouge ciel clair
49! sollwdown : downward LW flux at surface
50! sollwdownclr : downward CS LW flux at surface
51! toplwdown : downward CS LW flux at TOA
52! toplwdownclr : downward CS LW flux at TOA
53      REAL,ALLOCATABLE,SAVE :: swnet(:,:)   
54!$OMP THREADPRIVATE(swnet)
55      REAL,ALLOCATABLE,SAVE :: lwnet(:,:)   
56!$OMP THREADPRIVATE(lwnet)
57      REAL,ALLOCATABLE,SAVE :: heat(:,:)   
58!$OMP THREADPRIVATE(heat)
59      REAL,ALLOCATABLE,SAVE :: heat0(:,:)
60!$OMP THREADPRIVATE(heat0)
61      REAL,ALLOCATABLE,SAVE :: cool(:,:)
62!$OMP THREADPRIVATE(cool)
63      REAL,ALLOCATABLE,SAVE :: cool0(:,:)
64!$OMP THREADPRIVATE(cool0)
65      REAL,ALLOCATABLE,SAVE :: dtrad(:,:)   
66!$OMP THREADPRIVATE(dtrad)
67      REAL,ALLOCATABLE,SAVE :: topsw(:), toplw(:)
68!$OMP THREADPRIVATE(topsw,toplw)
69      REAL, ALLOCATABLE, SAVE :: solsw(:), sollw(:)
70!$OMP THREADPRIVATE(solsw, sollw)
71      REAL, ALLOCATABLE, SAVE :: radsol(:)
72!$OMP THREADPRIVATE(radsol)
73      REAL,ALLOCATABLE,SAVE :: sollwdown(:)
74!$OMP THREADPRIVATE(sollwdown)
75      REAL,ALLOCATABLE,SAVE :: sollwdownclr(:)
76!$OMP THREADPRIVATE(sollwdownclr)
77      REAL,ALLOCATABLE,SAVE :: toplwdown(:)
78!$OMP THREADPRIVATE(toplwdown)
79      REAL,ALLOCATABLE,SAVE :: toplwdownclr(:)
80!$OMP THREADPRIVATE(toplwdownclr)
81      REAL,ALLOCATABLE,SAVE :: topsw0(:),toplw0(:),solsw0(:),sollw0(:)
82!$OMP THREADPRIVATE(topsw0,toplw0,solsw0,sollw0)
83      REAL,save,allocatable :: dlw(:)  ! derivee infra rouge
84      REAL,save,allocatable :: fder(:) ! Derive de flux (sensible et latente)
85!$OMP THREADPRIVATE(dlw,fder)
86
87!
88! Parametres pour le cycle du methane:
89!
90      REAL,save,allocatable :: resch4(:) ! surface reservoir CH4
91!$OMP THREADPRIVATE(resch4)
92
93CONTAINS
94
95!======================================================================
96SUBROUTINE phys_state_var_init
97use dimphy
98USE control_mod
99IMPLICIT NONE
100#include "dimsoil.h"
101
102      ALLOCATE(ftsol(klon))            ! temperature de surface
103      ALLOCATE(ftsoil(klon,nsoilmx))   ! temperature dans le sol
104      ALLOCATE(falbe(klon))            ! albedo
105
106!  Parametres de l'Orographie a l'Echelle Sous-Maille (OESM):
107!
108!zmea(:)   ! orographie moyenne
109!zstd(:)   ! deviation standard de l'OESM
110!zsig(:)   ! pente de l'OESM
111!zgam(:)   ! anisotropie de l'OESM
112!zthe(:)   ! orientation de l'OESM
113!zpic(:)   ! Maximum de l'OESM
114!zval(:)   ! Minimum de l'OESM
115!rugoro(:) ! longueur de rugosite de l'OESM
116      ALLOCATE(zmea(klon), zstd(klon), zsig(klon), zgam(klon))
117      ALLOCATE(zthe(klon), zpic(klon), zval(klon))
118      ALLOCATE(rugoro(klon))
119
120      ALLOCATE(t_ancien(klon,klev), q_ancien(klon,klev))
121      ALLOCATE(u_ancien(klon,klev), v_ancien(klon,klev))
122
123      ALLOCATE(zuthe(klon),zvthe(klon))
124!
125      ALLOCATE(swnet(klon,klev+1), lwnet(klon,klev+1))
126      ALLOCATE(heat(klon,klev), heat0(klon,klev))
127      ALLOCATE(cool(klon,klev), cool0(klon,klev))
128      ALLOCATE(dtrad(klon,klev))
129      ALLOCATE(topsw(klon), toplw(klon))
130      ALLOCATE(solsw(klon), sollw(klon))
131      ALLOCATE(radsol(klon))  ! bilan radiatif au sol calcule par code radiatif
132      ALLOCATE(sollwdown(klon), sollwdownclr(klon))
133      ALLOCATE(toplwdown(klon), toplwdownclr(klon))
134      ALLOCATE(topsw0(klon),toplw0(klon),solsw0(klon),sollw0(klon))
135      ALLOCATE(dlw(klon), fder(klon))
136     
137      ALLOCATE(resch4(klon))
138
139END SUBROUTINE phys_state_var_init
140
141!======================================================================
142SUBROUTINE phys_state_var_end
143use dimphy
144use control_mod
145IMPLICIT NONE
146
147      deallocate(ftsol, ftsoil, falbe)
148      deallocate(zmea, zstd, zsig, zgam)
149      deallocate(zthe, zpic, zval)
150      deallocate(rugoro, t_ancien, q_ancien)
151      deallocate(        u_ancien, v_ancien)
152      deallocate(zuthe, zvthe)
153      deallocate(swnet, lwnet)
154      deallocate(heat, heat0)
155      deallocate(cool, cool0)
156      deallocate(dtrad)
157      deallocate(solsw, sollw, radsol)
158      deallocate(topsw, toplw)
159      deallocate(sollwdown, sollwdownclr)
160      deallocate(toplwdown, toplwdownclr)
161      deallocate(topsw0,toplw0,solsw0,sollw0)
162      deallocate(dlw, fder)
163
164      deallocate(resch4)
165
166END SUBROUTINE phys_state_var_end
167
168      END MODULE phys_state_var_mod
Note: See TracBrowser for help on using the repository browser.