##// END OF EJS Templates
add fitacf_guess.f
rflores -
r1612:3e57003ca20e
parent child
Show More
@@ -0,0 +1,88
1 subroutine guess(acf,tau,npts,zero,amin,te,tr)
2 c
3 c find zero crossing (zero), depth of minimum (amin), height of maximum
4 c
5
6 real acf(npts),tau(npts)
7 c write(*,*) 'acf: ',acf
8 c write(*,*) 'tau: ',tau
9 c read(*,*) xx
10
11 zero=0.0
12 amin=1.0
13 tmin=0.0
14 jmin=0
15
16 do i=npts,2,-1
17 if(acf(i)*acf(i-1).lt.0.0) then
18 zero=(tau(i-1)*acf(i)-tau(i)*acf(i-1))/(acf(i)-acf(i-1))
19 end if
20 if(acf(i).lt.amin) then
21 amin=acf(i)
22 jmin=i
23 end if
24 end do
25
26 if(jmin.gt.0) then
27 call parab1(tau(jmin-1),acf(jmin-1),a,b,c)
28 tmin=-b/(2.0*a)
29 amin=c+tmin*(b+tmin*a)
30 end if
31
32 tr=cdtr1(-amin)
33 te=czte1(zero*1000.0,tr)
34 c write(*,*) 'zero: ',zero
35 c write(*,*) 'amin: ',amin
36 c write(*,*) 'te: ',te
37 c write(*,*) 'tr: ',tr
38 c read(*,*) xx
39
40 return
41 end
42
43 subroutine parab1(x,y,a,b,c)
44 C-----
45 dimension x(3),y(3)
46 delta=x(1)-x(2)
47 a=(y(1)-2.*y(2)+y(3))/(2.*delta*delta)
48 b=(y(1)-y(2))/delta - a*(x(1)+x(2))
49 c=y(1)-a*x(1)*x(1)-b*x(1)
50 return
51 end
52
53 real function cdtr1(depth)
54 C-----convert depth to te/ti ratio
55 dimension tr(4)
56 C according to the curve published in farley et al 1967
57 c modified for 2004 conditions on axis
58 c data tr/7.31081,3.53286,5.92271,.174/
59 data tr/9.5,4.0,8.5,.3/
60 data nt/4/
61 cdtr1=tr(1)
62 do i=2,nt
63 cdtr1=cdtr1*depth + tr(i)
64 end do
65 return
66 end
67
68 real function czte1(zlag,tr)
69 C-----convert zero crossing point to te
70 C according to the curve published in farley et al 1967
71 c modified for 2004 conditions on axis
72 dimension dt(4)
73 c data dt/0.00945025,-0.0774338,.203626,.812397/,nd/4/
74 data dt/0.00945025,-0.0774338,.2,0.9/,nd/4/
75 data t0/1000./
76 tr1=min(abs(tr),5.)
77 if(zlag .eq. 0)then
78 czte1=1000000.
79 else
80 dt0=dt(1)
81 do i=2,nd
82 dt0=dt0*tr1 + dt(i)
83 end do
84 czte1=t0*(dt0/zlag)**2
85 end if
86 return
87 end
88
@@ -1,396 +1,398
1 1 # Copyright (c) 2012-2020 Jicamarca Radio Observatory
2 2 # All rights reserved.
3 3 #
4 4 # Distributed under the terms of the BSD 3-clause license.
5 5 """schainpy is an open source library to read, write and process radar data
6 6
7 7 Signal Chain is a radar data processing library wich includes modules to read,
8 8 and write different files formats, besides modules to process and visualize the
9 9 data.
10 10 """
11 11
12 12 import os
13 13 from setuptools import setup, Extension
14 14 from setuptools.command.build_ext import build_ext as _build_ext
15 15 from schainpy import __version__
16 16
17 17 DOCLINES = __doc__.split("\n")
18 18
19 19 class build_ext(_build_ext):
20 20 def finalize_options(self):
21 21 _build_ext.finalize_options(self)
22 22 # Prevent numpy from thinking it is still in its setup process:
23 23 __builtins__.__NUMPY_SETUP__ = False
24 24 import numpy
25 25 self.include_dirs.append(numpy.get_include())
26 26
27 27 setup(
28 28 name = "schainpy",
29 29 version = __version__,
30 30 description = DOCLINES[0],
31 31 long_description = "\n".join(DOCLINES[2:]),
32 32 url = "https://github.com/JRO-Peru/schainpy",
33 33 author = "Jicamarca Radio Observatory",
34 34 author_email = "jro-developers@jro.igp.gob.pe",
35 35 license="BSD-3-Clause",
36 36 classifiers=[
37 37 "Development Status :: 4 - Beta",
38 38 "Environment :: Console",
39 39 "Intended Audience :: Science/Research",
40 40 "License :: OSI Approved :: BSD License",
41 41 "Operating System :: MacOS :: MacOS X",
42 42 "Operating System :: POSIX :: Linux",
43 43 "Programming Language :: Python :: 2",
44 44 "Programming Language :: Python :: 2.7",
45 45 "Programming Language :: Python :: 3",
46 46 "Programming Language :: Python :: 3.5",
47 47 "Programming Language :: Python :: 3.6",
48 48 "Programming Language :: Python :: 3.7",
49 49 "Programming Language :: Python :: 3.8",
50 50 "Topic :: Scientific/Engineering",
51 51 ],
52 52 packages = {
53 53 'schainpy',
54 54 'schainpy.model',
55 55 'schainpy.model.data',
56 56 'schainpy.model.graphics',
57 57 'schainpy.model.io',
58 58 'schainpy.model.proc',
59 59 'schainpy.model.utils',
60 60 'schainpy.utils',
61 61 'schainpy.gui',
62 62 'schainpy.cli',
63 63 },
64 64 package_data = {'': ['schain.conf.template'],
65 65 'schainpy.files': ['*.oga']
66 66 },
67 67 include_package_data = False,
68 68 scripts = ['schainpy/gui/schainGUI'],
69 69 entry_points = {
70 70 'console_scripts': [
71 71 'schain = schainpy.cli.cli:main',
72 72 ],
73 73 },
74 74 cmdclass = {'build_ext': build_ext},
75 75 ext_modules=[
76 76 Extension("schainpy.model.data._noise", ["schainc/_noise.c"]),
77 77 Extension("schainpy.model.data._HS_algorithm", ["schainc/_HS_algorithm.c"]),
78 78 ],
79 79 setup_requires = ["numpy"],
80 80 install_requires = [
81 81 "scipy",
82 82 "h5py",
83 83 "matplotlib",
84 84 "pyzmq",
85 85 "fuzzywuzzy",
86 86 "click",
87 87 ],
88 88 )
89 89
90 90 main_path = os.getcwd()
91 91 child_path = '/schainf/Ffiles/bfmodel/'
92 92 #print("main_path: ", main_path)
93 93 my_str = ' '+"ppath = "+"\""+main_path+"\"\n"
94 94 my_str_2 = ' '+"cpath = "+"\""+child_path+"\""
95 95
96 96 #'''
97 97 with open('./schainf/Ffiles/get_path_1.f', 'r') as path1: data1 = path1.read()
98 98 with open('./schainf/Ffiles/get_path_2.f', 'r') as path2: data2 = path2.read()
99 99 with open('./schainf/Ffiles/get_path.f', 'w') as final: final.write(data1+my_str+my_str_2+data2)
100 100 #'''
101 101
102 102 from numpy.distutils.core import Extension, setup
103 103
104 104 setup(name='schainpy',
105 105 ext_modules = [
106 106 Extension("schainpy.model.proc.mkfact_short_2020_2",
107 107 sources=[
108 108 "schainf/Ffiles/mkfact_short_2020_2.pyf",
109 109 "schainf/Ffiles/lmdif1.f",
110 110 "schainf/Ffiles/mkfact.f",
111 111 "schainf/Ffiles/r1mach.f",
112 112 "schainf/Ffiles/bfield2.f",
113 113 "schainf/Ffiles/get_path.f"],
114 114 extra_f77_compile_args=["-fallow-argument-mismatch"]),
115 115 Extension("schainpy.model.proc.fitacf_guess",
116 116 sources=[
117 "schainf/Ffiles/fitacf_guess.pyf"],
117 "schainf/Ffiles/fitacf_guess.pyf",
118 "schainf/Ffiles/fitacf_guess.f",],
118 119 extra_f77_compile_args=["-fallow-argument-mismatch"]),
119 120 Extension("schainpy.model.proc.fitacf_acf2",
120 121 sources = [
121 122 "schainf/Ffiles/fitacf_acf2.pyf",
122 123 "schainf/Ffiles/full_profile_profile.f",
123 124 "schainf/Ffiles/fitacf.f",
124 125 "schainf/Ffiles/r1mach.f",
125 126 "schainf/Ffiles/lmdif1.f",
126 127 "schainf/Ffiles/lagp.f",
127 128 "schainf/Ffiles/reader.c",
128 129 "schainf/Ffiles/cbesi.f",
129 130 "schainf/Ffiles/i1mach.f",
130 131 "schainf/Ffiles/zeta.f",
131 132 "schainf/Ffiles/qc25f.f",
132 133 "schainf/Ffiles/qwgtf.f",
133 134 "schainf/Ffiles/qcheb.f",
134 135 "schainf/Ffiles/sgtsl.f",
135 136 "schainf/Ffiles/qk15w.f",
136 137 "schainf/Ffiles/complex.c",
137 138 "schainf/Ffiles/cbinu.f",
138 139 "schainf/Ffiles/cseri.f",
139 140 "schainf/Ffiles/cwrsk.f",
140 141 "schainf/Ffiles/crati.f",
141 142 "schainf/Ffiles/casyi.f",
142 143 "schainf/Ffiles/cbuni.f",
143 144 "schainf/Ffiles/cuni2.f",
144 145 "schainf/Ffiles/gamln.f",
145 146 "schainf/Ffiles/cuchk.f",
146 147 "schainf/Ffiles/cbknu.f",
147 148 "schainf/Ffiles/cshch.f",
148 149 "schainf/Ffiles/ckscl.f",
149 150 "schainf/Ffiles/cuoik.f",
150 151 "schainf/Ffiles/cunik.f",
151 152 "schainf/Ffiles/cuni1.f",
152 153 "schainf/Ffiles/cairy.f",
153 154 "schainf/Ffiles/cmlri.f",
154 155 "schainf/Ffiles/cunhj.f",
155 156 "schainf/Ffiles/cacai.f",
156 157 "schainf/Ffiles/csisl.f",
157 158 "schainf/Ffiles/caxpy.f",
158 159 "schainf/Ffiles/cs1s2.f",
159 160 "schainf/Ffiles/scabs1.f",
160 161 "schainf/Ffiles/cdotu.f",
161 162 "schainf/Ffiles/rs.f",
162 163 "schainf/Ffiles/sppfa.f",
163 164 "schainf/Ffiles/sdot.f",
164 165 "schainf/Ffiles/tred2.f",
165 166 "schainf/Ffiles/tql2.f",
166 167 "schainf/Ffiles/sppdi.f",
167 168 "schainf/Ffiles/saxpy.f",
168 169 "schainf/Ffiles/sscal.f",
169 170 "schainf/Ffiles/pythag.f",
170 171 "schainf/Ffiles/tql1.f",
171 172 "schainf/Ffiles/get_path.f",
172 173 "schainf/Ffiles/tred1.f"],
173 174 extra_f77_compile_args=["-fallow-argument-mismatch"]),
174 175 Extension("schainpy.model.proc.fitacf_fit_short",
175 176 sources = [
176 177 "schainf/Ffiles/fitacf_fit_short.pyf",
177 178 "schainf/Ffiles/cairy.f",
178 179 "schainf/Ffiles/casyi.f",
179 180 "schainf/Ffiles/cbesi.f",
180 181 "schainf/Ffiles/cbinu.f",
181 182 "schainf/Ffiles/cbknu.f",
182 183 "schainf/Ffiles/cbuni.f",
183 184 "schainf/Ffiles/ckscl.f",
184 185 "schainf/Ffiles/cmlri.f",
185 186 "schainf/Ffiles/cs1s2.f",
186 187 "schainf/Ffiles/cseri.f",
187 188 "schainf/Ffiles/cshch.f",
188 189 "schainf/Ffiles/cuchk.f",
189 190 "schainf/Ffiles/cunhj.f",
190 191 "schainf/Ffiles/cuni1.f",
191 192 "schainf/Ffiles/complex.c",
192 193 "schainf/Ffiles/cuni2.f",
193 194 "schainf/Ffiles/cunik.f",
194 195 "schainf/Ffiles/cuoik.f",
195 196 "schainf/Ffiles/cwrsk.f",
196 197 "schainf/Ffiles/fitacf_fit_short.f",
197 198 "schainf/Ffiles/gamln.f",
198 199 "schainf/Ffiles/i1mach.f",
199 200 "schainf/Ffiles/lmdif1.f",
200 201 "schainf/Ffiles/pythag.f",
201 202 "schainf/Ffiles/qc25f.f",
202 203 "schainf/Ffiles/qcheb.f",
203 204 "schainf/Ffiles/qk15w.f",
204 205 "schainf/Ffiles/qwgtf.f",
205 206 "schainf/Ffiles/r1mach.f",
206 207 "schainf/Ffiles/reader.c",
207 208 "schainf/Ffiles/rs.f",
208 209 "schainf/Ffiles/saxpy.f",
209 210 "schainf/Ffiles/sdot.f",
210 211 "schainf/Ffiles/sgtsl.f",
211 212 "schainf/Ffiles/sppdi.f",
212 213 "schainf/Ffiles/sppfa.f",
213 214 "schainf/Ffiles/sscal.f",
214 215 "schainf/Ffiles/tql1.f",
215 216 "schainf/Ffiles/tql2.f",
216 217 "schainf/Ffiles/tred1.f",
217 218 "schainf/Ffiles/tred2.f",
218 219 "schainf/Ffiles/get_path.f",
219 220 "schainf/Ffiles/zeta.f"],
220 221 extra_f77_compile_args=["-fallow-argument-mismatch"]),
221 222 Extension("schainpy.model.proc.full_profile_profile",
222 223 sources = [
223 224 "schainf/Ffiles/full_profile_profile.pyf",
224 225 "schainf/Ffiles/full_profile_profile.f",
225 226 "schainf/Ffiles/fitacf.f",
226 227 "schainf/Ffiles/r1mach.f",
227 228 "schainf/Ffiles/lmdif1.f",
228 229 "schainf/Ffiles/reader.c",
229 230 "schainf/Ffiles/cbesi.f",
231 "schainf/Ffiles/lagp.f",
230 232 "schainf/Ffiles/i1mach.f",
231 233 "schainf/Ffiles/zeta.f",
232 234 "schainf/Ffiles/qc25f.f",
233 235 "schainf/Ffiles/qwgtf.f",
234 236 "schainf/Ffiles/qcheb.f",
235 237 "schainf/Ffiles/sgtsl.f",
236 238 "schainf/Ffiles/qk15w.f",
237 239 "schainf/Ffiles/cbinu.f",
238 240 "schainf/Ffiles/complex.c",
239 241 "schainf/Ffiles/cseri.f",
240 242 "schainf/Ffiles/cwrsk.f",
241 243 "schainf/Ffiles/crati.f",
242 244 "schainf/Ffiles/casyi.f",
243 245 "schainf/Ffiles/cbuni.f",
244 246 "schainf/Ffiles/cuni2.f",
245 247 "schainf/Ffiles/gamln.f",
246 248 "schainf/Ffiles/cuchk.f",
247 249 "schainf/Ffiles/cbknu.f",
248 250 "schainf/Ffiles/cshch.f",
249 251 "schainf/Ffiles/ckscl.f",
250 252 "schainf/Ffiles/cuoik.f",
251 253 "schainf/Ffiles/cunik.f",
252 254 "schainf/Ffiles/cuni1.f",
253 255 "schainf/Ffiles/cairy.f",
254 256 "schainf/Ffiles/cmlri.f",
255 257 "schainf/Ffiles/cunhj.f",
256 258 "schainf/Ffiles/cacai.f",
257 259 "schainf/Ffiles/csisl.f",
258 260 "schainf/Ffiles/caxpy.f",
259 261 "schainf/Ffiles/cs1s2.f",
260 262 "schainf/Ffiles/scabs1.f",
261 263 "schainf/Ffiles/cdotu.f",
262 264 "schainf/Ffiles/rs.f",
263 265 "schainf/Ffiles/sppfa.f",
264 266 "schainf/Ffiles/sdot.f",
265 267 "schainf/Ffiles/tred2.f",
266 268 "schainf/Ffiles/tql2.f",
267 269 "schainf/Ffiles/sppdi.f",
268 270 "schainf/Ffiles/saxpy.f",
269 271 "schainf/Ffiles/sscal.f",
270 272 "schainf/Ffiles/pythag.f",
271 273 "schainf/Ffiles/tql1.f",
272 274 "schainf/Ffiles/get_path.f",
273 275 "schainf/Ffiles/tred1.f"],
274 276 extra_f77_compile_args=["-fallow-argument-mismatch"])
275 277 ]
276 278 )
277 279
278 280 '''
279 281 setup(name='schainpy',
280 282 ext_modules = [
281 283 Extension("schainpy.model.proc.mkfact_short_2020_2",
282 284 sources=[
283 285 "schainf/mkfact/mkfact_short_2020_2.pyf",
284 286 "schainf/mkfact/lmdif1.f",
285 287 "schainf/mkfact/mkfact.f",
286 288 "schainf/mkfact/r1mach.f",
287 289 "schainf/mkfact/bfield2.f"]),
288 290 Extension("schainpy.model.proc.full_profile_profile",
289 291 sources=[
290 292 "schainf/full_profile/full_profile_profile.pyf",
291 293 "schainf/full_profile/full_profile_profile.f",
292 294 "schainf/full_profile/fitacf.f",
293 295 "schainf/full_profile/r1mach.f",
294 296 "schainf/full_profile/lmdif1.f",
295 297 "schainf/full_profile/lagp.f",
296 298 "schainf/full_profile/reader.c",
297 299 "schainf/full_profile/cbesi.f",
298 300 "schainf/full_profile/i1mach.f",
299 301 "schainf/full_profile/zeta.f",
300 302 "schainf/full_profile/qc25f.f",
301 303 "schainf/full_profile/qwgtf.f",
302 304 "schainf/full_profile/qcheb.f",
303 305 "schainf/full_profile/sgtsl.f",
304 306 "schainf/full_profile/qk15w.f",
305 307 "schainf/full_profile/complex.c",
306 308 "schainf/full_profile/cbinu.f",
307 309 "schainf/full_profile/cseri.f",
308 310 "schainf/full_profile/cwrsk.f",
309 311 "schainf/full_profile/crati.f",
310 312 "schainf/full_profile/casyi.f",
311 313 "schainf/full_profile/cbuni.f",
312 314 "schainf/full_profile/cuni2.f",
313 315 "schainf/full_profile/gamln.f",
314 316 "schainf/full_profile/cuchk.f",
315 317 "schainf/full_profile/cbknu.f",
316 318 "schainf/full_profile/cshch.f",
317 319 "schainf/full_profile/ckscl.f",
318 320 "schainf/full_profile/cuoik.f",
319 321 "schainf/full_profile/cunik.f",
320 322 "schainf/full_profile/cuni1.f",
321 323 "schainf/full_profile/cairy.f",
322 324 "schainf/full_profile/cmlri.f",
323 325 "schainf/full_profile/cunhj.f",
324 326 "schainf/full_profile/cacai.f",
325 327 "schainf/full_profile/csisl.f",
326 328 "schainf/full_profile/caxpy.f",
327 329 "schainf/full_profile/cs1s2.f",
328 330 "schainf/full_profile/scabs1.f",
329 331 "schainf/full_profile/cdotu.f",
330 332 "schainf/full_profile/rs.f",
331 333 "schainf/full_profile/sppfa.f",
332 334 "schainf/full_profile/sdot.f",
333 335 "schainf/full_profile/tred2.f",
334 336 "schainf/full_profile/tql2.f",
335 337 "schainf/full_profile/sppdi.f",
336 338 "schainf/full_profile/saxpy.f",
337 339 "schainf/full_profile/sscal.f",
338 340 "schainf/full_profile/pythag.f",
339 341 "schainf/full_profile/tql1.f",
340 342 "schainf/full_profile/tred1.f"]),
341 343 Extension("schainpy.model.proc.fitacf_acf2",
342 344 sources = [
343 345 "schainf/acf2/fitacf_acf2.pyf",
344 346 "schainf/acf2/full_profile_profile.f",
345 347 "schainf/acf2/fitacf.f",
346 348 "schainf/acf2/r1mach.f",
347 349 "schainf/acf2/lmdif1.f",
348 350 "schainf/acf2/lagp.f",
349 351 "schainf/acf2/reader.c",
350 352 "schainf/acf2/cbesi.f",
351 353 "schainf/acf2/i1mach.f",
352 354 "schainf/acf2/zeta.f",
353 355 "schainf/acf2/qc25f.f",
354 356 "schainf/acf2/qwgtf.f",
355 357 "schainf/acf2/qcheb.f",
356 358 "schainf/acf2/sgtsl.f",
357 359 "schainf/acf2/qk15w.f",
358 360 "schainf/acf2/complex.c",
359 361 "schainf/acf2/cbinu.f",
360 362 "schainf/acf2/cseri.f",
361 363 "schainf/acf2/cwrsk.f",
362 364 "schainf/acf2/crati.f",
363 365 "schainf/acf2/casyi.f",
364 366 "schainf/acf2/cbuni.f",
365 367 "schainf/acf2/cuni2.f",
366 368 "schainf/acf2/gamln.f",
367 369 "schainf/acf2/cuchk.f",
368 370 "schainf/acf2/cbknu.f",
369 371 "schainf/acf2/cshch.f",
370 372 "schainf/acf2/ckscl.f",
371 373 "schainf/acf2/cuoik.f",
372 374 "schainf/acf2/cunik.f",
373 375 "schainf/acf2/cuni1.f",
374 376 "schainf/acf2/cairy.f",
375 377 "schainf/acf2/cmlri.f",
376 378 "schainf/acf2/cunhj.f",
377 379 "schainf/acf2/cacai.f",
378 380 "schainf/acf2/csisl.f",
379 381 "schainf/acf2/caxpy.f",
380 382 "schainf/acf2/cs1s2.f",
381 383 "schainf/acf2/scabs1.f",
382 384 "schainf/acf2/cdotu.f",
383 385 "schainf/acf2/rs.f",
384 386 "schainf/acf2/sppfa.f",
385 387 "schainf/acf2/sdot.f",
386 388 "schainf/acf2/tred2.f",
387 389 "schainf/acf2/tql2.f",
388 390 "schainf/acf2/sppdi.f",
389 391 "schainf/acf2/saxpy.f",
390 392 "schainf/acf2/sscal.f",
391 393 "schainf/acf2/pythag.f",
392 394 "schainf/acf2/tql1.f",
393 395 "schainf/acf2/tred1.f"])
394 396 ]
395 397 )
396 398 '''
General Comments 0
You need to be logged in to leave comments. Login now