source: trunk/LMDZ.MARS/libf/aeronomars/param_read.F @ 290

Last change on this file since 290 was 38, checked in by emillour, 14 years ago

Ajout du modè Martien (mon LMDZ.MARS.BETA, du 28/01/2011) dans le rértoire mars, pour pouvoir suivre plus facilement les modifs.
EM

File size: 5.6 KB
Line 
1      subroutine param_read
2
3      implicit none
4
5
6c     common variables and constants
7
8#include "param.h"
9#include "param_v3.h"
10#include "datafile.h"
11
12
13c     local variables
14
15      integer    i,j,k,inter                          !indexes
16      integer ierr
17      real       nada
18      logical,save :: firstcall=.true.
19
20     
21c*************************+PROGRAM STARTS**************************
22
23
24c     data
25      if (firstcall) then
26      anchint(:)=(/4.9,5.3,6.1,12.8,2.0,6.9,11.8,0.4,1.9,4.9,0.9,4.0,
27     $6.9,4.9,4.9,10.2,5.6,1.9,0.9,0.9,0.9,0.9,3.7
28     $,13.1,3.9,6.0,4.8,23.9,8.4,8.5,26.8,7.5,127.6/)
29
30      crscabsi2(1,1:ninter2)=(/0.0,4.42e-18,7.51e-18
31     $,1.498e-17,2.344e-17,2.388e-17,2.927E-17,3.161e-17,3.161e-17,
32     $3.4e-17,3.4e-17,2.588e-17,2.596e-17,2.248e-17,3.183e-17,
33     $1.284e-17/)
34
35      crscabsi2(2,1:ninter2)=(/2.736e-19,1.055e-18,4.789e-18
36     $,1.063e-17,1.559e-17,1.698e-17,2.164e-17,2.241e-17,2.427e-17,
37     $2.444e-17,2.502e-17,2.516e-17,2.907e-17,3.649e-17,3.066e-17,
38     $2.093e-17/)
39
40      crscabsi2(3,1:ninter2)=(/2.603e-19,6.985e-19,3.97e-18
41     $,6.621e-18,8.433e-18,9.011e-18,9.862e-18,1.033e-17,1.012e-17,
42     $1.033e-17,1.033e-17,1.034e-17,9.0e-18,3.564e-18,3.572e-18
43     $,3.47E-18/)
44
45      freccen(:)=(/3.4,7.5,14.5,23.0,30.3,34.1,49.6,50.5,52.5,56.0,
46     $59.0,61.5,68.7,73.1,78.4,83.1,92.4,97.5,99.3,100.1,100.7,102.1,
47     $104.5,116.8,121.3,127.0,130.6,153.7,162.8,171.4
48     $,195.6,206.3,273.5/)
49
50      co2crsc195(:)=(/3.691e-19,4.44216e-20,3.86945e-19,5.94208e-19,
51     $2.93217e-19,7.58769e-20,8.60192e-21,4.20007e-24,2.29996e-26/)
52
53      co2crsc295(:)=(/3.691e-19,5.21572e-20,4.23488e-19,6.54728e-19,
54     $3.30227e-19,1.03183e-19,1.55722e-20,1.72317e-23,7.0e-25/)
55     
56      firstcall=.false.
57      endif ! of if (firstcall)
58
59c     Reads tabulated functions
60
61      open(210,status='old',file=trim(datafile)//'/EUVDAT/coln.dat',
62     & iostat=ierr)
63
64      IF (ierr.NE.0) THEN
65       write(*,*)'cant find directory EUVDAT and content coln.dat'
66       write(*,*)'(in aeronomars/param_read.F)'
67       write(*,*)'It should be in :',trim(datafile),'/'
68       write(*,*)'1) You can change this directory address in '
69       write(*,*)'   file phymars/datafile.h'
70       write(*,*)'2) If necessary, EUVDAT (and other datafiles)'
71       write(*,*)'   can be obtained online on:'
72       write(*,*)'   http://www.lmd.jussieu.fr/~forget/datagcm/datafile'
73       STOP
74      ENDIF
75
76      open(220,file=trim(datafile)//'/EUVDAT/j2_an.dat')
77      open(230,file=trim(datafile)//'/EUVDAT/j3_an.dat')
78      open(240,file=trim(datafile)//'/EUVDAT/j1_an.dat')
79      open(250,file=trim(datafile)//'/EUVDAT/j2_bn.dat')
80      open(260,file=trim(datafile)//'/EUVDAT/j2_cn.dat')
81      open(270,file=trim(datafile)//'/EUVDAT/j1_bn.dat')
82      open(280,file=trim(datafile)//'/EUVDAT/j1_cn.dat')
83      open(290,file=trim(datafile)//'/EUVDAT/j1_dn.dat')
84      open(150,file=trim(datafile)//'/EUVDAT/j4n.dat')
85      open(160,file=trim(datafile)//'/EUVDAT/j5n.dat')
86      open(170,file=trim(datafile)//'/EUVDAT/j6n.dat')
87
88      do i=210,290,10
89         read(i,*)
90         read(i,*)
91      end do
92
93      do i=150,170,10
94         read(i,*)
95         read(i,*)
96      end do
97
98      do i=nz2,1,-1
99        read(210,*) c23(i),(c123(j,i),j=2,ninter2),c12(i),c1(i),ch2o2(i)
100      end do
101
102      do i=nz2,1,-1
103         read(220,*) (jabsifotsint(j,2,i),j=1,ninter2)
104      end do
105     
106      do i=nz2,1,-1
107         read(230,*) (jabsifotsint(j,3,i),j=1,ninter2)
108      end do
109
110      do i=nz2,1,-1
111         read(240,*) (jabsifotsint(j,1,i),j=2,ninter2)
112      end do
113
114      do i=nz2,1,-1
115         read(250,*) (jabsifotsint(j,2,i),j=17,24)
116      end do
117
118      do i=nz2,1,-1
119         read(260,*) (jabsifotsint(j,2,i),j=25,31)
120      end do
121
122      do i=nz2,1,-1
123         read(270,*) (jabsifotsint(j,1,i),j=17,24)
124      end do
125
126      do i=nz2,1,-1
127         read(280,*) (jabsifotsint(j,1,i),j=25,31)
128      end do
129
130      do i=nz2,1,-1
131         read(290,*) jabsifotsint(32,1,i)
132      end do
133
134      do i=nz2,1,-1
135         read(160,*) (jabsifotsint(j,5,i),j=1,15)
136      end do
137
138      do i=nz2,1,-1
139         read(150,*) (jabsifotsint(j,4,i),j=25,31)
140      end do
141
142      do i=nz2,1,-1
143         read(170,*) (jabsifotsint(j,6,i),j=25,33)
144      end do
145
146      do i=210,290,10
147         close(i)
148      end do
149
150      do i=150,170,10
151         close(i)
152      end do
153
154
155c     reads t0
156
157      open(120,file=trim(datafile)//'/EUVDAT/t0.dat')
158      do i=1,201
159         read(120,*)t0(i)
160      end do
161      close(120)
162
163      open(100,file=trim(datafile)//'/EUVDAT/flujo.dat')
164      do i=1,ninter
165         read(100,*) inter,fluxtophr(i)
166      end do
167      close(100)
168
169
170      open(99,file=trim(datafile)//'/EUVDAT/varflujo.dat')
171      read(99,*)
172      do i=1,24
173         read(99,*) inter,ct1(i),p1(i),ct2(i),p2(i),nada
174      end do
175      close(99)
176
177c     eficiencias de disociacion (de Torr et al, 1979)
178
179      do inter=1,11
180         efdisco2(inter) = 0.
181         efdiso2(inter) = 0.
182      end do
183
184      do inter=1,15
185         efdish2(inter) = 1.
186      end do
187
188      efdisco2(12) = 0.183
189      efdiso2(12) = 0.003
190
191      efdisco2(13) = 0.163
192      efdiso2(13) = 0.170
193
194      efdisco2(14) = 0.243
195      efdiso2(14) =0.180
196
197      efdisco2(15) = 0.323
198      efdiso2(15) =0.653
199
200      efdisco2(16) = 0.235
201      efdiso2(16) =0.616
202
203      do inter=17,32
204         efdisco2(inter) = 1.0
205      end do
206
207      efdiso2(17) = 0.399
208      do inter=18,20
209         efdiso2(inter) = 0.261
210      end do
211
212      do inter=21,23
213         efdiso2(inter) = 0.755
214      end do
215
216
217      do inter=24,31
218         efdiso2(inter) = 1.
219      end do
220
221      do inter=25,31
222         efdish2o(inter) = 1.
223      end do
224
225      do inter=25,33
226         efdish2o2(inter) = 1.
227      end do
228
229
230      return
231
232
233      end
Note: See TracBrowser for help on using the repository browser.