source: trunk/LMDZ.TITAN/libf/dynphy_lonlat/phytitan/comchem_startarch_h.F90 @ 1890

Last change on this file since 1890 was 1890, checked in by jvatant, 7 years ago

Making chemistry handling more flexible - step 2.5
+ For more convenience I introduce specific modules
for chemistry stuff specific to start2archive and newstart
and not to pollute main module comchem_h.
--JVO

File size: 7.0 KB
Line 
1MODULE comchem_startarch_h
2
3! Stores data and routines for chemistry management specific to start2archive
4
5! Author : Jan Vatant d'Ollone (2018)
6
7IMPLICIT NONE 
8
9  ! Allocatable arrays for start2archive
10  ! ------------------------------------
11 
12  ! 1. Grille physique
13  REAL,ALLOCATABLE :: H(:,:) 
14  REAL,ALLOCATABLE :: H2(:,:) 
15  REAL,ALLOCATABLE :: CH(:,:) 
16  REAL,ALLOCATABLE :: CH2s(:,:) 
17  REAL,ALLOCATABLE :: CH2(:,:) 
18  REAL,ALLOCATABLE :: CH3(:,:) 
19  REAL,ALLOCATABLE :: CH4(:,:) 
20  REAL,ALLOCATABLE :: C2(:,:) 
21  REAL,ALLOCATABLE :: C2H(:,:) 
22  REAL,ALLOCATABLE :: C2H2(:,:) 
23  REAL,ALLOCATABLE :: C2H3(:,:) 
24  REAL,ALLOCATABLE :: C2H4(:,:) 
25  REAL,ALLOCATABLE :: C2H5(:,:) 
26  REAL,ALLOCATABLE :: C2H6(:,:) 
27  REAL,ALLOCATABLE :: C3H3(:,:) 
28  REAL,ALLOCATABLE :: C3H5(:,:) 
29  REAL,ALLOCATABLE :: C3H6(:,:) 
30  REAL,ALLOCATABLE :: C3H7(:,:) 
31  REAL,ALLOCATABLE :: C4H(:,:) 
32  REAL,ALLOCATABLE :: C4H3(:,:) 
33  REAL,ALLOCATABLE :: C4H4(:,:) 
34  REAL,ALLOCATABLE :: C4H2s(:,:) 
35  REAL,ALLOCATABLE :: CH2CCH2(:,:) 
36  REAL,ALLOCATABLE :: CH3CCH(:,:) 
37  REAL,ALLOCATABLE :: C3H8(:,:) 
38  REAL,ALLOCATABLE :: C4H2(:,:) 
39  REAL,ALLOCATABLE :: C4H6(:,:) 
40  REAL,ALLOCATABLE :: C4H10(:,:) 
41  REAL,ALLOCATABLE :: AC6H6(:,:) 
42  REAL,ALLOCATABLE :: C3H2(:,:) 
43  REAL,ALLOCATABLE :: C4H5(:,:) 
44  REAL,ALLOCATABLE :: AC6H5(:,:) 
45  REAL,ALLOCATABLE :: N2(:,:) 
46  REAL,ALLOCATABLE :: N4S(:,:) 
47  REAL,ALLOCATABLE :: CN(:,:) 
48  REAL,ALLOCATABLE :: HCN(:,:) 
49  REAL,ALLOCATABLE :: H2CN(:,:) 
50  REAL,ALLOCATABLE :: CHCN(:,:) 
51  REAL,ALLOCATABLE :: CH2CN(:,:) 
52  REAL,ALLOCATABLE :: CH3CN(:,:) 
53  REAL,ALLOCATABLE :: C3N(:,:) 
54  REAL,ALLOCATABLE :: HC3N(:,:) 
55  REAL,ALLOCATABLE :: NCCN(:,:) 
56  REAL,ALLOCATABLE :: C4N2(:,:) 
57 
58  ! 2. Grille scalaire 
59  REAL,ALLOCATABLE :: H_S(:,:) 
60  REAL,ALLOCATABLE :: H2_S(:,:) 
61  REAL,ALLOCATABLE :: CH_S(:,:) 
62  REAL,ALLOCATABLE :: CH2s_S(:,:) 
63  REAL,ALLOCATABLE :: CH2_S(:,:) 
64  REAL,ALLOCATABLE :: CH3_S(:,:) 
65  REAL,ALLOCATABLE :: CH4_S(:,:) 
66  REAL,ALLOCATABLE :: C2_S(:,:) 
67  REAL,ALLOCATABLE :: C2H_S(:,:) 
68  REAL,ALLOCATABLE :: C2H2_S(:,:) 
69  REAL,ALLOCATABLE :: C2H3_S(:,:) 
70  REAL,ALLOCATABLE :: C2H4_S(:,:) 
71  REAL,ALLOCATABLE :: C2H5_S(:,:) 
72  REAL,ALLOCATABLE :: C2H6_S(:,:) 
73  REAL,ALLOCATABLE :: C3H3_S(:,:) 
74  REAL,ALLOCATABLE :: C3H5_S(:,:) 
75  REAL,ALLOCATABLE :: C3H6_S(:,:) 
76  REAL,ALLOCATABLE :: C3H7_S(:,:) 
77  REAL,ALLOCATABLE :: C4H_S(:,:) 
78  REAL,ALLOCATABLE :: C4H3_S(:,:) 
79  REAL,ALLOCATABLE :: C4H4_S(:,:) 
80  REAL,ALLOCATABLE :: C4H2s_S(:,:) 
81  REAL,ALLOCATABLE :: CH2CCH2_S(:,:) 
82  REAL,ALLOCATABLE :: CH3CCH_S(:,:) 
83  REAL,ALLOCATABLE :: C3H8_S(:,:) 
84  REAL,ALLOCATABLE :: C4H2_S(:,:) 
85  REAL,ALLOCATABLE :: C4H6_S(:,:) 
86  REAL,ALLOCATABLE :: C4H10_S(:,:) 
87  REAL,ALLOCATABLE :: AC6H6_S(:,:) 
88  REAL,ALLOCATABLE :: C3H2_S(:,:) 
89  REAL,ALLOCATABLE :: C4H5_S(:,:) 
90  REAL,ALLOCATABLE :: AC6H5_S(:,:) 
91  REAL,ALLOCATABLE :: N2_S(:,:) 
92  REAL,ALLOCATABLE :: N4S_S(:,:) 
93  REAL,ALLOCATABLE :: CN_S(:,:) 
94  REAL,ALLOCATABLE :: HCN_S(:,:) 
95  REAL,ALLOCATABLE :: H2CN_S(:,:) 
96  REAL,ALLOCATABLE :: CHCN_S(:,:) 
97  REAL,ALLOCATABLE :: CH2CN_S(:,:) 
98  REAL,ALLOCATABLE :: CH3CN_S(:,:) 
99  REAL,ALLOCATABLE :: C3N_S(:,:) 
100  REAL,ALLOCATABLE :: HC3N_S(:,:) 
101  REAL,ALLOCATABLE :: NCCN_S(:,:) 
102  REAL,ALLOCATABLE :: C4N2_S(:,:)
103 
104 
105  CONTAINS
106
107
108  SUBROUTINE alloc_kim_start2archive(ngridmx,ip1jmp1)
109 
110    USE comchem_h, ONLY: nlaykim_up
111 
112    IMPLICIT NONE
113
114    INTEGER,INTENT(IN) :: ngridmx
115    INTEGER,INTENT(IN) :: ip1jmp1
116   
117    allocate(H(ngridmx,nlaykim_up))
118    allocate(H_S(ip1jmp1,nlaykim_up))
119    allocate(H2(ngridmx,nlaykim_up))
120    allocate(H2_S(ip1jmp1,nlaykim_up))
121    allocate(CH(ngridmx,nlaykim_up))
122    allocate(CH_S(ip1jmp1,nlaykim_up))
123    allocate(CH2s(ngridmx,nlaykim_up))
124    allocate(CH2s_S(ip1jmp1,nlaykim_up))
125    allocate(CH2(ngridmx,nlaykim_up))
126    allocate(CH2_S(ip1jmp1,nlaykim_up))
127    allocate(CH3(ngridmx,nlaykim_up))
128    allocate(CH3_S(ip1jmp1,nlaykim_up))
129    allocate(CH4(ngridmx,nlaykim_up))
130    allocate(CH4_S(ip1jmp1,nlaykim_up))
131    allocate(C2(ngridmx,nlaykim_up))
132    allocate(C2_S(ip1jmp1,nlaykim_up))
133    allocate(C2H(ngridmx,nlaykim_up))
134    allocate(C2H_S(ip1jmp1,nlaykim_up))
135    allocate(C2H2(ngridmx,nlaykim_up))
136    allocate(C2H2_S(ip1jmp1,nlaykim_up))
137    allocate(C2H3(ngridmx,nlaykim_up))
138    allocate(C2H3_S(ip1jmp1,nlaykim_up))
139    allocate(C2H4(ngridmx,nlaykim_up))
140    allocate(C2H4_S(ip1jmp1,nlaykim_up))
141    allocate(C2H5(ngridmx,nlaykim_up))
142    allocate(C2H5_S(ip1jmp1,nlaykim_up))
143    allocate(C2H6(ngridmx,nlaykim_up))
144    allocate(C2H6_S(ip1jmp1,nlaykim_up))
145    allocate(C3H3(ngridmx,nlaykim_up))
146    allocate(C3H3_S(ip1jmp1,nlaykim_up))
147    allocate(C3H5(ngridmx,nlaykim_up))
148    allocate(C3H5_S(ip1jmp1,nlaykim_up))
149    allocate(C3H6(ngridmx,nlaykim_up))
150    allocate(C3H6_S(ip1jmp1,nlaykim_up))
151    allocate(C3H7(ngridmx,nlaykim_up))
152    allocate(C3H7_S(ip1jmp1,nlaykim_up))
153    allocate(C4H(ngridmx,nlaykim_up))
154    allocate(C4H_S(ip1jmp1,nlaykim_up))
155    allocate(C4H3(ngridmx,nlaykim_up))
156    allocate(C4H3_S(ip1jmp1,nlaykim_up))
157    allocate(C4H4(ngridmx,nlaykim_up))
158    allocate(C4H4_S(ip1jmp1,nlaykim_up))
159    allocate(C4H2s(ngridmx,nlaykim_up))
160    allocate(C4H2s_S(ip1jmp1,nlaykim_up))
161    allocate(CH2CCH2(ngridmx,nlaykim_up))
162    allocate(CH2CCH2_S(ip1jmp1,nlaykim_up))
163    allocate(CH3CCH(ngridmx,nlaykim_up))
164    allocate(CH3CCH_S(ip1jmp1,nlaykim_up))
165    allocate(C3H8(ngridmx,nlaykim_up))
166    allocate(C3H8_S(ip1jmp1,nlaykim_up))
167    allocate(C4H2(ngridmx,nlaykim_up))
168    allocate(C4H2_S(ip1jmp1,nlaykim_up))
169    allocate(C4H6(ngridmx,nlaykim_up))
170    allocate(C4H6_S(ip1jmp1,nlaykim_up))
171    allocate(C4H10(ngridmx,nlaykim_up))
172    allocate(C4H10_S(ip1jmp1,nlaykim_up))
173    allocate(AC6H6(ngridmx,nlaykim_up))
174    allocate(AC6H6_S(ip1jmp1,nlaykim_up))
175    allocate(C3H2(ngridmx,nlaykim_up))
176    allocate(C3H2_S(ip1jmp1,nlaykim_up))
177    allocate(C4H5(ngridmx,nlaykim_up))
178    allocate(C4H5_S(ip1jmp1,nlaykim_up))
179    allocate(AC6H5(ngridmx,nlaykim_up))
180    allocate(AC6H5_S(ip1jmp1,nlaykim_up))
181    allocate(N2(ngridmx,nlaykim_up))
182    allocate(N2_S(ip1jmp1,nlaykim_up))
183    allocate(N4S(ngridmx,nlaykim_up))
184    allocate(N4S_S(ip1jmp1,nlaykim_up))
185    allocate(CN(ngridmx,nlaykim_up))
186    allocate(CN_S(ip1jmp1,nlaykim_up))
187    allocate(HCN(ngridmx,nlaykim_up))
188    allocate(HCN_S(ip1jmp1,nlaykim_up))
189    allocate(H2CN(ngridmx,nlaykim_up))
190    allocate(H2CN_S(ip1jmp1,nlaykim_up))
191    allocate(CHCN(ngridmx,nlaykim_up))
192    allocate(CHCN_S(ip1jmp1,nlaykim_up))
193    allocate(CH2CN(ngridmx,nlaykim_up))
194    allocate(CH2CN_S(ip1jmp1,nlaykim_up))
195    allocate(CH3CN(ngridmx,nlaykim_up))
196    allocate(CH3CN_S(ip1jmp1,nlaykim_up))
197    allocate(C3N(ngridmx,nlaykim_up))
198    allocate(C3N_S(ip1jmp1,nlaykim_up))
199    allocate(HC3N(ngridmx,nlaykim_up))
200    allocate(HC3N_S(ip1jmp1,nlaykim_up))
201    allocate(NCCN(ngridmx,nlaykim_up))
202    allocate(NCCN_S(ip1jmp1,nlaykim_up))
203    allocate(C4N2(ngridmx,nlaykim_up))
204    allocate(C4N2_S(ip1jmp1,nlaykim_up))
205 
206  END SUBROUTINE alloc_kim_start2archive
207
208END MODULE comchem_startarch_h
Note: See TracBrowser for help on using the repository browser.