Skip to content

Commit 7e17d56

Browse files
authored
Load data from txt files
Python class for loading data from multiple txt files.
1 parent 6e3c9bd commit 7e17d56

File tree

1 file changed

+129
-0
lines changed

1 file changed

+129
-0
lines changed

load_data.py

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
from pylab import sqrt, loadtxt, zeros, ones, linspace, pi
2+
#from magic import anelprof
3+
4+
class LD:
5+
6+
def __init__(self, which_data='MB'):
7+
8+
if ( which_data=='FSH' or which_data=='FSD' or \
9+
which_data=='FSM' or which_data=='FSDyn' or \
10+
which_data=='NSH' or which_data=='NSD'
11+
):
12+
#-----------------------
13+
data_set1={'FSH':'free_hyd', 'FSD':'free_dip',
14+
'FSM':'free_multi', 'FSDyn':'free_dyn',
15+
'NSH':'no-slip_hyd', 'NSD':'no-slip_dyn'}
16+
data=loadtxt(data_set1[which_data])
17+
self.Ra=data[:, 0]
18+
self.Rac=ones(len(self.Ra))
19+
self.shell_vol=ones(len(self.Ra))*14.59
20+
self.E=data[:,1]
21+
self.Pr=data[:, 2]
22+
self.Pm=data[:, 3]
23+
self.Nrho = data[:, 4]
24+
self.ekin_pol = data[:, 5]
25+
self.ekin_tor = data[:, 6]
26+
self.ekin_pola = data[:, 7]
27+
self.ekin_tora = data[:, 8]
28+
self.emag_pol = data[:, 13]
29+
self.emag_tor = data[:, 14]
30+
self.emag_pola = data[:, 15]
31+
self.emag_tora = data[:, 16]
32+
self.Rm = data[:, 17]
33+
self.Rol = data[:, 19]
34+
self.Dip = data[:,21]
35+
self.DipCMB = data[:, 22]
36+
self.Els = data[:, 23]
37+
self.ElsCMB = data[:,24]
38+
self.Nu = data[:, 25]
39+
self.dlV = data[:,26]
40+
self.dlVc = data[:,41]
41+
self.dlB=data[:,28]
42+
self.dmB=data[:,29]
43+
self.diptotal=data[:,30]
44+
self.Dipl11=data[:,31]
45+
self.diptotl11 = data[:,32]
46+
self.dip3=data[:,33]
47+
self.buoyancy = data[:, 34]
48+
self.ohm_diss = data[:, 35]
49+
self.fohm = data[:, 36]
50+
#-------------------------------
51+
self.Numod=(self.Nu-1.)*(self.E/self.Pr)
52+
self.RaQ=self.Ra*self.Numod*(self.E**2.)/self.Pr
53+
#-------------------------------
54+
self.Ekin=self.ekin_pol+self.ekin_tor
55+
self.Emag=self.emag_pol+self.emag_tor
56+
self.Ekin_convec=self.Ekin-self.ekin_tora
57+
self.EkinENZ=self.Ekin/self.Ekin_convec
58+
#--------------------------------
59+
self.Ro=self.E*sqrt((2.*self.Ekin)/self.shell_vol)
60+
self.zonal_Ro=self.E*sqrt((2.*self.ekin_tora)/self.shell_vol)
61+
self.convec_Ro=self.E*sqrt((2.*self.Ekin_convec)/self.shell_vol)
62+
#--------------------------------
63+
if ( which_data=='FSD' or which_data=='FSM' or which_data=='NSD'):
64+
self.Els=(2.*self.Emag*(self.E*self.Pm))/(self.shell_vol)
65+
self.Els_pol=(2.*self.emag_pol*(self.E*self.Pm))/(self.shell_vol)
66+
self.Els_tor=(2.*self.emag_tor*(self.E*self.Pm))/(self.shell_vol)
67+
self.Lo=(self.Els*self.E/self.Pm)**0.5
68+
self.LoCMB=(self.ElsCMB*self.E/self.Pm)**0.5
69+
self.Lo_pol=(self.Els_pol*self.E/self.Pm)**0.5
70+
self.Lo_tor=(self.Els_tor*self.E/self.Pm)**0.5
71+
self.Lofohm=self.Lo/(self.fohm**0.5)
72+
self.Lofohm_pol=self.Lo_pol/(self.fohm**0.5)
73+
self.Lofohm_tor=self.Lo_tor/(self.fohm**0.5)
74+
self.tmag=(self.Emag)/(self.ohm_diss)
75+
elif ((which_data=='Lucia')):
76+
#------------------------
77+
data=loadtxt(which_data)
78+
self.Nrho = data[:,0]
79+
self.Ra = data[:,1]
80+
self.E = data[:,2]
81+
self.Pm = data[:,3]
82+
self.shell_vol=ones(len(self.Ra))*8.11
83+
self.Pr = ones(len(self.Ra))
84+
self.Rol= data[:,4]
85+
self.u_Rol = data[:,5]
86+
self.Nu_IC = data[:,6]
87+
self.Nu_OC = data[:,7]
88+
self.Nu = self.Nu_IC
89+
self.ekin_pol = data[:, 8]
90+
self.ekin_tor = data[:, 9]
91+
self.ekin_pola = data[:, 10]
92+
self.ekin_tora = data[:, 11]
93+
#-------------------------------
94+
self.Numod=(self.Nu-1.)*(self.E/self.Pr)
95+
self.RaQ=self.Ra*self.Numod*(self.E**2.)/self.Pr
96+
#-------------------------------
97+
self.Ekin=self.ekin_pol+self.ekin_tor
98+
self.Ekin_convec=self.Ekin-self.ekin_tora
99+
self.EkinENZ=self.Ekin/self.Ekin_convec
100+
#--------------------------------
101+
self.Ro=self.E*sqrt((2.*self.Ekin)/self.shell_vol)
102+
self.zonal_Ro=self.E*sqrt((2.*self.ekin_tora)/self.shell_vol)
103+
self.convec_Ro=self.E*sqrt((2.*self.Ekin_convec)/self.shell_vol)
104+
elif ((which_data=='Thomas_FSH') or (which_data=='Thomas_NSH') or \
105+
(which_data=='Thomas_FSDyn')):
106+
#------------------------
107+
data=loadtxt(which_data)
108+
self.Ra = data[:,0]
109+
self.E = data[:,1]
110+
self.Nrho = 0*data[:,2]
111+
self.Pr = data[:,3]
112+
self.shell_vol=ones(len(self.Ra))*51.3
113+
self.ekin_pol = data[:, 8]
114+
self.ekin_tor = data[:, 9]
115+
self.ekin_pola = data[:, 10]
116+
self.ekin_tora = data[:, 11]
117+
self.Rol = data[:, 15]
118+
self.Nu = data[:, 16]
119+
#-------------------------------
120+
self.Numod=(self.Nu-1.)*(self.E/self.Pr)
121+
self.RaQ=self.Ra*self.Numod*(self.E**2.)/self.Pr
122+
#-------------------------------
123+
self.Ekin=self.ekin_pol+self.ekin_tor
124+
self.Ekin_convec=self.Ekin-self.ekin_tora
125+
self.EkinENZ=self.Ekin/self.Ekin_convec
126+
#--------------------------------
127+
self.Ro=self.E*sqrt((2.*self.Ekin)/self.shell_vol)
128+
self.zonal_Ro=self.E*sqrt((2.*self.ekin_tora)/self.shell_vol)
129+
self.convec_Ro=self.E*sqrt((2.*self.Ekin_convec)/self.shell_vol)

0 commit comments

Comments
 (0)