source:
trunk/UTIL/PYTHON/zrecast_wrapper.py
@
439
Last change on this file since 439 was 417, checked in by , 14 years ago | |
---|---|
File size: 3.3 KB |
Rev | Line | |
---|---|---|
[361] | 1 | |
2 | ### A. Colaitis -- LMD -- 08/11/2011 | |
3 | ||
[364] | 4 | def call_zrecast ( interp_mode = '4', \ |
[361] | 5 | input_name = None, \ |
[409] | 6 | fields = 'all', \ |
7 | predifined = None): | |
[361] | 8 | |
9 | import numpy as np | |
10 | from myplot import separatenames | |
11 | from os import system | |
[409] | 12 | pressure_axis_tes=[1658.152,1291.37,1005.72,783.2555,610.,475.0685,369.9837,288.1436,224.4065,174.7679,136.1094,106.0021,82.55452,64.29353,50.07185,38.99599,30.37011,23.65227,18.4204,14.34583,11.17254] |
[417] | 13 | pressure_axis_mcs=[1878.9, 1658.2, 1463.3, 1291.4, 1139.6, 1005.7, 887.54, 783.26,691.22, 610., 538.32, 475.07, 419.25, 369.98, 326.51, 288.14, 254.29,224.41, 198.04, 174.77, 154.23, 136.11, 120.12, 106., 93.547, 82.555,72.854, 64.294, 56.739, 50.072, 44.188, 38.996, 34.414, 30.37, 26.802,23.652, 20.873, 18.42, 16.256, 14.346, 12.66, 11.173, 9.8597, 8.7012,7.6788, 6.7765, 5.9802, 5.2775, 4.6574, 4.1101, 3.6272, 3.201, 2.8249,2.4929, 2.2, 1.9415, 1.7134, 1.512, 1.3344, 1.1776, 1.0392, 0.9171,0.80934, 0.71424, 0.63031, 0.55625, 0.49089, 0.43321, 0.3823, 0.33738,0.29774, 0.26275, 0.23188, 0.20463, 0.18059, 0.15937, 0.14064, 0.12412,0.10953, 0.096661, 0.085303, 0.07528, 0.066434, 0.058628, 0.051739,0.04566, 0.040294, 0.03556, 0.031381, 0.027694, 0.02444, 0.021568,0.019034, 0.016797, 0.014824, 0.013082, 0.011545, 0.010188, 0.0089909,0.0079345, 0.0070021, 0.0061794, 0.0054533, 0.0048125, 0.004247] |
[361] | 14 | system("rm -f zrecast.auto.def") |
15 | system("touch zrecast.auto.def") | |
16 | indicefile=0 | |
17 | outputfilename="" | |
[417] | 18 | f = open('zrecast.auto.def', 'w') |
[361] | 19 | for zfile in input_name: |
[417] | 20 | f.write(zfile+"\n") |
[396] | 21 | for zvar in fields: |
[417] | 22 | f.write(zvar+"\n") |
23 | f.write("\n") | |
[361] | 24 | if interp_mode == 4: |
[363] | 25 | append="_S" |
[417] | 26 | f.write("3"+"\n") |
27 | f.write("yes"+"\n") | |
28 | f.write("0 150000"+"\n") | |
[361] | 29 | elif interp_mode == 2: |
[363] | 30 | append="_P" |
[417] | 31 | if predifined in ["TES","tes"]: |
32 | print "Using TES pressure levels" | |
33 | f.write("1"+"\n") | |
34 | f.write("no"+"\n") | |
35 | f.write(str(len(pressure_axis_tes))+"\n") | |
[409] | 36 | for zp in pressure_axis_tes: |
[417] | 37 | f.write(str(zp)+"\n") |
38 | f.write("\n") | |
39 | elif predifined in ["MCS","mcs"]: | |
40 | print "Using MCS pressure levels" | |
41 | f.write("1"+"\n") | |
42 | f.write("no"+"\n") | |
43 | f.write(str(len(pressure_axis_mcs))+"\n") | |
[409] | 44 | for zp in pressure_axis_mcs: |
[417] | 45 | f.write(str(zp)+"\n") |
46 | f.write("\n") | |
[409] | 47 | else: |
[417] | 48 | f.write("1"+"\n") |
49 | f.write("yes"+"\n") | |
50 | f.write("370 0.1"+"\n") | |
51 | f.write("20"+"\n") | |
[361] | 52 | else: |
53 | print "zrecast interp option unsupported for now. Exiting." | |
54 | exit() | |
[417] | 55 | f.close() |
[361] | 56 | system("zrecast.e < zrecast.auto.def") |
[363] | 57 | |
[361] | 58 | if indicefile is 0: |
[363] | 59 | outputfilename=input_name[indicefile][0:len(input_name[0])-3]+append+".nc" |
[361] | 60 | else: |
[363] | 61 | outputfilename=outputfilename+","+input_name[indicefile][0:len(input_name[0])-3]+append+".nc" |
[361] | 62 | indicefile = indicefile +1 |
63 | ||
64 | for i in range(len(outputfilename)): | |
65 | output_name = separatenames(outputfilename) | |
66 | ||
67 | return output_name | |
68 |
Note: See TracBrowser
for help on using the repository browser.