Skip to content
Snippets Groups Projects
Commit eb3920ee authored by David Verelst's avatar David Verelst
Browse files

Merge branch 'regexp'

parents 00e6196a 202d8867
No related branches found
No related tags found
No related merge requests found
...@@ -18,6 +18,9 @@ wetb/hawc2/tests/test_files/htcfiles/tmp.htc ...@@ -18,6 +18,9 @@ wetb/hawc2/tests/test_files/htcfiles/tmp.htc
wetb/hawc2/ascii2bin/tests/test_files/Hawc2ascii_bin.sel wetb/hawc2/ascii2bin/tests/test_files/Hawc2ascii_bin.sel
wetb/hawc2/ascii2bin/tests/test_files/Hawc2ascii_bin.dat wetb/hawc2/ascii2bin/tests/test_files/Hawc2ascii_bin.dat
wetb/prepost/tests/data/demo_dlc/remote* wetb/prepost/tests/data/demo_dlc/remote*
wetb/*/*/*.c
.cache/
tests/temp.htc
/wetb/fatigue_tools/rainflowcounting/compile.py /wetb/fatigue_tools/rainflowcounting/compile.py
/docs/api /docs/api
......
chi,azimuth,bearing_name,blade_nr,bodyname,component,coord,direction,dll,flap_nr,io,io_nr,output_type,pos,radius,sensortag,sensortype,unique_ch_name,units
0,,,,,,,,,,,,,,,Time,,Time,s
1,,shaft_rot,,,,,,,,,,angle,,,,,bearing-shaft_rot-angle-deg,deg
2,,shaft_rot,,,,,,,,,,angle_speed,,,,,bearing-shaft_rot-angle_speed-rpm,rpm
3,,pitch1,,,,,,,,,,angle,,,,,bearing-pitch1-angle-deg,deg
4,,pitch1,,,,,,,,,,angle_speed,,,,,bearing-pitch1-angle_speed-deg/s,deg/s
5,,pitch2,,,,,,,,,,angle,,,,,bearing-pitch2-angle-deg,deg
6,,pitch2,,,,,,,,,,angle_speed,,,,,bearing-pitch2-angle_speed-deg/s,deg/s
7,,pitch3,,,,,,,,,,angle,,,,,bearing-pitch3-angle-deg,deg
8,,pitch3,,,,,,,,,,angle_speed,,,,,bearing-pitch3-angle_speed-deg/s,deg/s
9,,,,,,,,,,,,,,,Rotor speed,,Omega,rad/s
10,,,,,,,,,,,,,,,Aero rotor torque,,Ae rot. torque,kNm
11,,,,,,,,,,,,,,,Aero rotor power,,Ae rot. power,kW
12,,,,,,,,,,,,,,,Aero rotor thrust,,Ae rot. thrust,kN
13,,,,,,global,Vx,,,,,,"('0.00', '0.00', '-119.00')",,,wsp-global,windspeed-global-Vx-0.00-0.00--119.00,m/s
14,,,,,,global,Vy,,,,,,"('0.00', '0.00', '-119.00')",,,wsp-global,windspeed-global-Vy-0.00-0.00--119.00,m/s
15,,,,,,global,Vz,,,,,,"('0.00', '0.00', '-119.00')",,,wsp-global,windspeed-global-Vz-0.00-0.00--119.00,m/s
16,,,,shaft,x,shaft_nonrotate,,,,,,,node-004,,non rotating shaft tip,momentvec,shaft_nonrotate-shaft-node-004-momentvec-x,kNm
17,,,,shaft,y,shaft_nonrotate,,,,,,,node-004,,non rotating shaft tip,momentvec,shaft_nonrotate-shaft-node-004-momentvec-y,kNm
18,,,,shaft,z,shaft_nonrotate,,,,,,,node-004,,non rotating shaft tip,momentvec,shaft_nonrotate-shaft-node-004-momentvec-z,kNm
19,,,,shaft,x,shaft_nonrotate,,,,,,,node-004,,non rotating shaft tip,forcevec,shaft_nonrotate-shaft-node-004-forcevec-x,kN
20,,,,shaft,y,shaft_nonrotate,,,,,,,node-004,,non rotating shaft tip,forcevec,shaft_nonrotate-shaft-node-004-forcevec-y,kN
21,,,,shaft,z,shaft_nonrotate,,,,,,,node-004,,non rotating shaft tip,forcevec,shaft_nonrotate-shaft-node-004-forcevec-z,kN
22,,,,tower,x,tower,,,,,,,node-001,,tower base,momentvec,tower-tower-node-001-momentvec-x,kNm
23,,,,tower,y,tower,,,,,,,node-001,,tower base,momentvec,tower-tower-node-001-momentvec-y,kNm
24,,,,tower,z,tower,,,,,,,node-001,,tower base,momentvec,tower-tower-node-001-momentvec-z,kNm
25,,,,tower,x,tower,,,,,,,node-020,,tower yaw bearing,momentvec,tower-tower-node-020-momentvec-x,kNm
26,,,,tower,y,tower,,,,,,,node-020,,tower yaw bearing,momentvec,tower-tower-node-020-momentvec-y,kNm
27,,,,tower,z,tower,,,,,,,node-020,,tower yaw bearing,momentvec,tower-tower-node-020-momentvec-z,kNm
28,,,,shaft,x,shaft,,,,,,,node-004,,main bearing,momentvec,shaft-shaft-node-004-momentvec-x,kNm
29,,,,shaft,y,shaft,,,,,,,node-004,,main bearing,momentvec,shaft-shaft-node-004-momentvec-y,kNm
30,,,,shaft,z,shaft,,,,,,,node-004,,main bearing,momentvec,shaft-shaft-node-004-momentvec-z,kNm
31,,,,blade1,x,blade1,,,,,,,node-001,,blade 1 root,momentvec,blade1-blade1-node-001-momentvec-x,kNm
32,,,,blade1,y,blade1,,,,,,,node-001,,blade 1 root,momentvec,blade1-blade1-node-001-momentvec-y,kNm
33,,,,blade1,z,blade1,,,,,,,node-001,,blade 1 root,momentvec,blade1-blade1-node-001-momentvec-z,kNm
34,,,,blade2,x,blade2,,,,,,,node-001,,blade 2 root,momentvec,blade2-blade2-node-001-momentvec-x,kNm
35,,,,blade2,y,blade2,,,,,,,node-001,,blade 2 root,momentvec,blade2-blade2-node-001-momentvec-y,kNm
36,,,,blade2,z,blade2,,,,,,,node-001,,blade 2 root,momentvec,blade2-blade2-node-001-momentvec-z,kNm
37,,,,blade3,x,blade3,,,,,,,node-001,,blade 3 root,momentvec,blade3-blade3-node-001-momentvec-x,kNm
38,,,,blade3,y,blade3,,,,,,,node-001,,blade 3 root,momentvec,blade3-blade3-node-001-momentvec-y,kNm
39,,,,blade3,z,blade3,,,,,,,node-001,,blade 3 root,momentvec,blade3-blade3-node-001-momentvec-z,kNm
40,,,,blade1,x,local,,,,,,,node-003,,,momentvec,local-blade1-node-003-momentvec-x,kNm
41,,,,blade1,y,local,,,,,,,node-003,,,momentvec,local-blade1-node-003-momentvec-y,kNm
42,,,,blade1,z,local,,,,,,,node-003,,,momentvec,local-blade1-node-003-momentvec-z,kNm
43,,,,blade1,x,local,,,,,,,node-004,,,momentvec,local-blade1-node-004-momentvec-x,kNm
44,,,,blade1,y,local,,,,,,,node-004,,,momentvec,local-blade1-node-004-momentvec-y,kNm
45,,,,blade1,z,local,,,,,,,node-004,,,momentvec,local-blade1-node-004-momentvec-z,kNm
46,,,,blade1,x,local,,,,,,,node-005,,,momentvec,local-blade1-node-005-momentvec-x,kNm
47,,,,blade1,y,local,,,,,,,node-005,,,momentvec,local-blade1-node-005-momentvec-y,kNm
48,,,,blade1,z,local,,,,,,,node-005,,,momentvec,local-blade1-node-005-momentvec-z,kNm
49,,,,blade1,x,local,,,,,,,node-006,,,momentvec,local-blade1-node-006-momentvec-x,kNm
50,,,,blade1,y,local,,,,,,,node-006,,,momentvec,local-blade1-node-006-momentvec-y,kNm
51,,,,blade1,z,local,,,,,,,node-006,,,momentvec,local-blade1-node-006-momentvec-z,kNm
52,,,,blade1,x,local,,,,,,,node-007,,,momentvec,local-blade1-node-007-momentvec-x,kNm
53,,,,blade1,y,local,,,,,,,node-007,,,momentvec,local-blade1-node-007-momentvec-y,kNm
54,,,,blade1,z,local,,,,,,,node-007,,,momentvec,local-blade1-node-007-momentvec-z,kNm
55,,,,blade1,x,local,,,,,,,node-008,,,momentvec,local-blade1-node-008-momentvec-x,kNm
56,,,,blade1,y,local,,,,,,,node-008,,,momentvec,local-blade1-node-008-momentvec-y,kNm
57,,,,blade1,z,local,,,,,,,node-008,,,momentvec,local-blade1-node-008-momentvec-z,kNm
58,,,,blade1,x,local,,,,,,,node-009,,,momentvec,local-blade1-node-009-momentvec-x,kNm
59,,,,blade1,y,local,,,,,,,node-009,,,momentvec,local-blade1-node-009-momentvec-y,kNm
60,,,,blade1,z,local,,,,,,,node-009,,,momentvec,local-blade1-node-009-momentvec-z,kNm
61,,,,blade1,x,local,,,,,,,node-010,,,momentvec,local-blade1-node-010-momentvec-x,kNm
62,,,,blade1,y,local,,,,,,,node-010,,,momentvec,local-blade1-node-010-momentvec-y,kNm
63,,,,blade1,z,local,,,,,,,node-010,,,momentvec,local-blade1-node-010-momentvec-z,kNm
64,,,,blade1,x,local,,,,,,,node-011,,,momentvec,local-blade1-node-011-momentvec-x,kNm
65,,,,blade1,y,local,,,,,,,node-011,,,momentvec,local-blade1-node-011-momentvec-y,kNm
66,,,,blade1,z,local,,,,,,,node-011,,,momentvec,local-blade1-node-011-momentvec-z,kNm
67,,,,blade1,x,local,,,,,,,node-012,,,momentvec,local-blade1-node-012-momentvec-x,kNm
68,,,,blade1,y,local,,,,,,,node-012,,,momentvec,local-blade1-node-012-momentvec-y,kNm
69,,,,blade1,z,local,,,,,,,node-012,,,momentvec,local-blade1-node-012-momentvec-z,kNm
70,,,,blade1,x,local,,,,,,,node-013,,,momentvec,local-blade1-node-013-momentvec-x,kNm
71,,,,blade1,y,local,,,,,,,node-013,,,momentvec,local-blade1-node-013-momentvec-y,kNm
72,,,,blade1,z,local,,,,,,,node-013,,,momentvec,local-blade1-node-013-momentvec-z,kNm
73,,,,blade1,x,local,,,,,,,node-014,,,momentvec,local-blade1-node-014-momentvec-x,kNm
74,,,,blade1,y,local,,,,,,,node-014,,,momentvec,local-blade1-node-014-momentvec-y,kNm
75,,,,blade1,z,local,,,,,,,node-014,,,momentvec,local-blade1-node-014-momentvec-z,kNm
76,,,,blade1,x,local,,,,,,,node-015,,,momentvec,local-blade1-node-015-momentvec-x,kNm
77,,,,blade1,y,local,,,,,,,node-015,,,momentvec,local-blade1-node-015-momentvec-y,kNm
78,,,,blade1,z,local,,,,,,,node-015,,,momentvec,local-blade1-node-015-momentvec-z,kNm
79,,,,blade1,x,local,,,,,,,node-016,,,momentvec,local-blade1-node-016-momentvec-x,kNm
80,,,,blade1,y,local,,,,,,,node-016,,,momentvec,local-blade1-node-016-momentvec-y,kNm
81,,,,blade1,z,local,,,,,,,node-016,,,momentvec,local-blade1-node-016-momentvec-z,kNm
82,,,,blade1,x,local,,,,,,,node-017,,,momentvec,local-blade1-node-017-momentvec-x,kNm
83,,,,blade1,y,local,,,,,,,node-017,,,momentvec,local-blade1-node-017-momentvec-y,kNm
84,,,,blade1,z,local,,,,,,,node-017,,,momentvec,local-blade1-node-017-momentvec-z,kNm
85,,,,blade1,x,local,,,,,,,node-018,,,momentvec,local-blade1-node-018-momentvec-x,kNm
86,,,,blade1,y,local,,,,,,,node-018,,,momentvec,local-blade1-node-018-momentvec-y,kNm
87,,,,blade1,z,local,,,,,,,node-018,,,momentvec,local-blade1-node-018-momentvec-z,kNm
88,,,,blade1,x,local,,,,,,,node-019,,,momentvec,local-blade1-node-019-momentvec-x,kNm
89,,,,blade1,y,local,,,,,,,node-019,,,momentvec,local-blade1-node-019-momentvec-y,kNm
90,,,,blade1,z,local,,,,,,,node-019,,,momentvec,local-blade1-node-019-momentvec-z,kNm
91,,,,blade1,x,local,,,,,,,node-020,,,momentvec,local-blade1-node-020-momentvec-x,kNm
92,,,,blade1,y,local,,,,,,,node-020,,,momentvec,local-blade1-node-020-momentvec-y,kNm
93,,,,blade1,z,local,,,,,,,node-020,,,momentvec,local-blade1-node-020-momentvec-z,kNm
94,,,,blade1,x,local,,,,,,,node-021,,,momentvec,local-blade1-node-021-momentvec-x,kNm
95,,,,blade1,y,local,,,,,,,node-021,,,momentvec,local-blade1-node-021-momentvec-y,kNm
96,,,,blade1,z,local,,,,,,,node-021,,,momentvec,local-blade1-node-021-momentvec-z,kNm
97,,,,blade1,x,local,,,,,,,node-022,,,momentvec,local-blade1-node-022-momentvec-x,kNm
98,,,,blade1,y,local,,,,,,,node-022,,,momentvec,local-blade1-node-022-momentvec-y,kNm
99,,,,blade1,z,local,,,,,,,node-022,,,momentvec,local-blade1-node-022-momentvec-z,kNm
100,,,,blade1,x,local,,,,,,,node-023,,,momentvec,local-blade1-node-023-momentvec-x,kNm
101,,,,blade1,y,local,,,,,,,node-023,,,momentvec,local-blade1-node-023-momentvec-y,kNm
102,,,,blade1,z,local,,,,,,,node-023,,,momentvec,local-blade1-node-023-momentvec-z,kNm
103,,,,blade1,x,local,,,,,,,node-024,,,momentvec,local-blade1-node-024-momentvec-x,kNm
104,,,,blade1,y,local,,,,,,,node-024,,,momentvec,local-blade1-node-024-momentvec-y,kNm
105,,,,blade1,z,local,,,,,,,node-024,,,momentvec,local-blade1-node-024-momentvec-z,kNm
106,,,,blade1,x,local,,,,,,,node-025,,,momentvec,local-blade1-node-025-momentvec-x,kNm
107,,,,blade1,y,local,,,,,,,node-025,,,momentvec,local-blade1-node-025-momentvec-y,kNm
108,,,,blade1,z,local,,,,,,,node-025,,,momentvec,local-blade1-node-025-momentvec-z,kNm
109,,,,blade1,x,local,,,,,,,node-026,,,momentvec,local-blade1-node-026-momentvec-x,kNm
110,,,,blade1,y,local,,,,,,,node-026,,,momentvec,local-blade1-node-026-momentvec-y,kNm
111,,,,blade1,z,local,,,,,,,node-026,,,momentvec,local-blade1-node-026-momentvec-z,kNm
112,,,,blade1,x,local,,,,,,,node-027,,,momentvec,local-blade1-node-027-momentvec-x,kNm
113,,,,blade1,y,local,,,,,,,node-027,,,momentvec,local-blade1-node-027-momentvec-y,kNm
114,,,,blade1,z,local,,,,,,,node-027,,,momentvec,local-blade1-node-027-momentvec-z,kNm
115,,,,tower,x,global,,,,,,,elem-019-zrel-1.00,,tower top fa displ,State pos,global-tower-elem-019-zrel-1.00-State pos-x,m
116,,,,tower,y,global,,,,,,,elem-019-zrel-1.00,,tower top ss displ,State pos,global-tower-elem-019-zrel-1.00-State pos-y,m
117,,,,tower,x,global,,,,,,,elem-019-zrel-1.00,,tower top fa acc,State acc,global-tower-elem-019-zrel-1.00-State acc-x,m/s^2
118,,,,tower,y,global,,,,,,,elem-019-zrel-1.00,,tower top ss acc,State acc,global-tower-elem-019-zrel-1.00-State acc-y,m/s^2
119,,,,blade1,x,global,,,,,,,elem-026-zrel-1.00,,gl blade 1 tip pos,State pos,global-blade1-elem-026-zrel-1.00-State pos-x,m
120,,,,blade1,y,global,,,,,,,elem-026-zrel-1.00,,gl blade 1 tip pos,State pos,global-blade1-elem-026-zrel-1.00-State pos-y,m
121,,,,blade1,z,global,,,,,,,elem-026-zrel-1.00,,gl blade 1 tip pos,State pos,global-blade1-elem-026-zrel-1.00-State pos-z,m
122,,,,blade2,x,global,,,,,,,elem-026-zrel-1.00,,gl blade 2 tip pos,State pos,global-blade2-elem-026-zrel-1.00-State pos-x,m
123,,,,blade2,y,global,,,,,,,elem-026-zrel-1.00,,gl blade 2 tip pos,State pos,global-blade2-elem-026-zrel-1.00-State pos-y,m
124,,,,blade2,z,global,,,,,,,elem-026-zrel-1.00,,gl blade 2 tip pos,State pos,global-blade2-elem-026-zrel-1.00-State pos-z,m
125,,,,blade3,x,global,,,,,,,elem-026-zrel-1.00,,gl blade 3 tip pos,State pos,global-blade3-elem-026-zrel-1.00-State pos-x,m
126,,,,blade3,y,global,,,,,,,elem-026-zrel-1.00,,gl blade 3 tip pos,State pos,global-blade3-elem-026-zrel-1.00-State pos-y,m
127,,,,blade3,z,global,,,,,,,elem-026-zrel-1.00,,gl blade 3 tip pos,State pos,global-blade3-elem-026-zrel-1.00-State pos-z,m
128,,,,blade1,x,blade1,,,,,,,elem-026-zrel-1.00,,blade 1 tip pos,State pos,blade1-blade1-elem-026-zrel-1.00-State pos-x,m
129,,,,blade1,y,blade1,,,,,,,elem-026-zrel-1.00,,blade 1 tip pos,State pos,blade1-blade1-elem-026-zrel-1.00-State pos-y,m
130,,,,blade1,z,blade1,,,,,,,elem-026-zrel-1.00,,blade 1 tip pos,State pos,blade1-blade1-elem-026-zrel-1.00-State pos-z,m
131,,,,blade2,x,blade2,,,,,,,elem-026-zrel-1.00,,blade 2 tip pos,State pos,blade2-blade2-elem-026-zrel-1.00-State pos-x,m
132,,,,blade2,y,blade2,,,,,,,elem-026-zrel-1.00,,blade 2 tip pos,State pos,blade2-blade2-elem-026-zrel-1.00-State pos-y,m
133,,,,blade2,z,blade2,,,,,,,elem-026-zrel-1.00,,blade 2 tip pos,State pos,blade2-blade2-elem-026-zrel-1.00-State pos-z,m
134,,,,blade3,x,blade3,,,,,,,elem-026-zrel-1.00,,blade 3 tip pos,State pos,blade3-blade3-elem-026-zrel-1.00-State pos-x,m
135,,,,blade3,y,blade3,,,,,,,elem-026-zrel-1.00,,blade 3 tip pos,State pos,blade3-blade3-elem-026-zrel-1.00-State pos-y,m
136,,,,blade3,z,blade3,,,,,,,elem-026-zrel-1.00,,blade 3 tip pos,State pos,blade3-blade3-elem-026-zrel-1.00-State pos-z,m
137,,,,tower,x,global,,,,,,,elem-005-zrel-0.00,,,State pos,global-tower-elem-005-zrel-0.00-State pos-x,m
138,,,,tower,y,global,,,,,,,elem-005-zrel-0.00,,,State pos,global-tower-elem-005-zrel-0.00-State pos-y,m
139,,,,tower,z,global,,,,,,,elem-005-zrel-0.00,,,State pos,global-tower-elem-005-zrel-0.00-State pos-z,m
140,,,1,,,,,,,,,,,45.25,,Tors_e,Tors_e-1-45.25,deg
141,,,1,,,,,,,,,,,58.04,,Tors_e,Tors_e-1-58.04,deg
142,,,1,,,,,,,,,,,70.32,,Tors_e,Tors_e-1-70.32,deg
143,,,1,,,,,,,,,,,81.26,,Tors_e,Tors_e-1-81.26,deg
144,,,1,,,,,,,,,,,83.71,,Tors_e,Tors_e-1-83.71,deg
145,,,1,,,,,,,,,,,88.17,,Tors_e,Tors_e-1-88.17,deg
146,,,1,,,,,,,,,,,92.01,,Tors_e,Tors_e-1-92.01,deg
147,,,1,,,,,,,,,,,96.45,,Tors_e,Tors_e-1-96.45,deg
148,,,1,,,,,,,,,,,98.47,,Tors_e,Tors_e-1-98.47,deg
149,,,1,,,,,,,,,,,100.11,,Tors_e,Tors_e-1-100.11,deg
150,,,1,,,global coo.,Vx,,,,,,,73.21,,wsp-blade,wsp-blade-Vx-1-73.21-global coo.,m/s
151,,,1,,,global coo.,Vy,,,,,,,73.21,,wsp-blade,wsp-blade-Vy-1-73.21-global coo.,m/s
152,,,1,,,global coo.,Vz,,,,,,,73.21,,wsp-blade,wsp-blade-Vz-1-73.21-global coo.,m/s
153,,,1,,,,,,,,,,,73.21,,Alfa,Alfa-1-73.21,deg
154,,,2,,,,,,,,,,,73.21,,Alfa,Alfa-2-73.21,deg
155,,,3,,,,,,,,,,,73.21,,Alfa,Alfa-3-73.21,deg
156,,,1,,,,,,,,,,,73.21,,Cl,Cl-1-73.21,deg
157,,,2,,,,,,,,,,,73.21,,Cl,Cl-2-73.21,deg
158,,,3,,,,,,,,,,,73.21,,Cl,Cl-3-73.21,deg
159,,,1,,,,,,,,,,,73.21,,Cd,Cd-1-73.21,deg
160,,,2,,,,,,,,,,,73.21,,Cd,Cd-2-73.21,deg
161,,,3,,,,,,,,,,,73.21,,Cd,Cd-3-73.21,deg
162,,,,,,,,1,,inpvec,1,,,,generator torque reference [nm],dll-io,DLL-1-inpvec-1,-
163,,,,,,,,1,,inpvec,2,,,,pitch angle reference of blade 1 [rad],dll-io,DLL-1-inpvec-2,-
164,,,,,,,,1,,inpvec,3,,,,pitch angle reference of blade 2 [rad],dll-io,DLL-1-inpvec-3,-
165,,,,,,,,1,,inpvec,4,,,,pitch angle reference of blade 3 [rad],dll-io,DLL-1-inpvec-4,-
166,,,,,,,,1,,inpvec,14,,,,torque limit switch based on pitch [-],dll-io,DLL-1-inpvec-14,-
167,,,,,,,,2,,inpvec,1,,,,mgen lss [nm],dll-io,DLL-2-inpvec-1,-
168,,,,,,,,2,,inpvec,2,,,,pelec w,dll-io,DLL-2-inpvec-2,-
169,,,,,,,,2,,inpvec,3,,,,mframe,dll-io,DLL-2-inpvec-3,-
170,,,,,,,,2,,inpvec,4,,,,mgen hss,dll-io,DLL-2-inpvec-4,-
171,,,,,,,,2,,inpvec,5,,,,generator pmech kw,dll-io,DLL-2-inpvec-5,-
172,,,,,,,,2,,inpvec,6,,,,filtered gen speed,dll-io,DLL-2-inpvec-6,-
173,,,,,,,,2,,inpvec,7,,,,resulting eff,dll-io,DLL-2-inpvec-7,-
174,,,,,,,,2,,inpvec,8,,,,grid flag,dll-io,DLL-2-inpvec-8,-
175,,,,,,,,5,,inpvec,1,,,,bltip tow min d [m],dll-io,DLL-5-inpvec-1,-
176,,,1,,,global coo.,Vx,,,,,,,64.3,,wsp-blade,wsp-blade-Vx-1-64.3-global coo.,m/s
177,,,1,,,global coo.,Vy,,,,,,,64.3,,wsp-blade,wsp-blade-Vy-1-64.3-global coo.,m/s
178,,,1,,,global coo.,Vz,,,,,,,64.3,,wsp-blade,wsp-blade-Vz-1-64.3-global coo.,m/s
179,,,1,,Fx,RP coo.,,,,,,,,0.0,,intfrc,aero-RP coo.-blade-1-intfrc-Fx-r-0.0,kN
180,,,1,,Fy,RP coo.,,,,,,,,0.0,,intfrc,aero-RP coo.-blade-1-intfrc-Fy-r-0.0,kN
181,,,1,,Mx,RP coo.,,,,,,,,0.0,,intmom,aero-RP coo.-blade-1-intmom-Mx-r-0.0,kNm
182,,,1,,My,RP coo.,,,,,,,,0.0,,intmom,aero-RP coo.-blade-1-intmom-My-r-0.0,kNm
183,,,1,,Fy,aero,,,,,,,,24.11,,secfrc,aero-aero-blade-1-secfrc-Fy-r-24.1,kN/m
184,,,1,,,,,,,,,,,81.26,,Alfa,Alfa-1-81.26,deg
185,,,1,,,,,,,,,,,67.34,,Alfa,Alfa-1-67.34,deg
186,,,1,,,,,,,,,,,32.77,,Alfa,Alfa-1-32.77,deg
187,,,1,,,,,,,,,,,24.11,,Alfa,Alfa-1-24.11,deg
188,,,1,,,,,,,,,,,81.26,,Cl,Cl-1-81.26,deg
189,,,1,,,,,,,,,,,81.26,,Cd,Cd-1-81.26,deg
190,,,1,,,,,,,,,,,67.34,,Cl,Cl-1-67.34,deg
191,,,1,,,,,,,,,,,67.34,,Cd,Cd-1-67.34,deg
192,,,1,,,,,,,,,,,32.77,,Cl,Cl-1-32.77,deg
193,,,1,,,,,,,,,,,32.77,,Cd,Cd-1-32.77,deg
194,,,1,,,,,,,,,,,24.11,,Cl,Cl-1-24.11,deg
195,,,1,,,,,,,,,,,24.11,,Cd,Cd-1-24.11,deg
196,,,1,,Fx,aero,,,,,,,,88.17,,secfrc,aero-aero-blade-1-secfrc-Fx-r-88.2,kN/m
197,,,1,,Fy,aero,,,,,,,,88.17,,secfrc,aero-aero-blade-1-secfrc-Fy-r-88.2,kN/m
198,,,1,,Fx,aero,,,,,,,,64.3,,secfrc,aero-aero-blade-1-secfrc-Fx-r-64.3,kN/m
199,,,1,,Fy,aero,,,,,,,,64.3,,secfrc,aero-aero-blade-1-secfrc-Fy-r-64.3,kN/m
200,,,1,,Fx,aero,,,,,,,,42.07,,secfrc,aero-aero-blade-1-secfrc-Fx-r-42.1,kN/m
201,,,1,,Fy,aero,,,,,,,,42.07,,secfrc,aero-aero-blade-1-secfrc-Fy-r-42.1,kN/m
202,,,1,,Fx,aero,,,,,,,,29.79,,secfrc,aero-aero-blade-1-secfrc-Fx-r-29.8,kN/m
203,,,1,,Fy,aero,,,,,,,,29.79,,secfrc,aero-aero-blade-1-secfrc-Fy-r-29.8,kN/m
204,,,1,,Vx,RP. coo.,,,,,,,,88.17,,induction,induc-RP. coo.-blade-1-Vx-r-88.2,m/s
205,,,1,,Vy,RP. coo.,,,,,,,,88.17,,induction,induc-RP. coo.-blade-1-Vy-r-88.2,m/s
206,,,1,,Vx,RP. coo.,,,,,,,,64.3,,induction,induc-RP. coo.-blade-1-Vx-r-64.3,m/s
207,,,1,,Vy,RP. coo.,,,,,,,,64.3,,induction,induc-RP. coo.-blade-1-Vy-r-64.3,m/s
208,,,1,,Vx,RP. coo.,,,,,,,,42.07,,induction,induc-RP. coo.-blade-1-Vx-r-42.1,m/s
209,,,1,,Vy,RP. coo.,,,,,,,,42.07,,induction,induc-RP. coo.-blade-1-Vy-r-42.1,m/s
210,,,1,,Vx,RP. coo.,,,,,,,,29.79,,induction,induc-RP. coo.-blade-1-Vx-r-29.8,m/s
211,,,1,,Vy,RP. coo.,,,,,,,,29.79,,induction,induc-RP. coo.-blade-1-Vy-r-29.8,m/s
212,,,1,,,RP coo.,Vy,,,,,,,88.17,,wsp-blade,wsp-blade-Vy-1-88.17-RP coo.,m/s
213,,,1,,,RP coo.,Vy,,,,,,,64.3,,wsp-blade,wsp-blade-Vy-1-64.3-RP coo.,m/s
214,,,1,,,RP coo.,Vy,,,,,,,42.07,,wsp-blade,wsp-blade-Vy-1-42.07-RP coo.,m/s
215,,,1,,,RP coo.,Vy,,,,,,,29.79,,wsp-blade,wsp-blade-Vy-1-29.79-RP coo.,m/s
216,,,1,,,RP coo.,Vy,,,,,,,0.92,,wsp-blade,wsp-blade-Vy-1-0.92-RP coo.,m/s
217,,,1,,,RP coo.,Vy,,,,,,,0.1,,wsp-blade,wsp-blade-Vy-1-0.1-RP coo.,m/s
218,,,1,,x,global coo.,,,,,,,,88.17,,pos,aero-global coo.-blade-1-pos-x-r-88.2,m
219,,,1,,y,global coo.,,,,,,,,88.17,,pos,aero-global coo.-blade-1-pos-y-r-88.2,m
220,,,1,,z,global coo.,,,,,,,,88.17,,pos,aero-global coo.-blade-1-pos-z-r-88.2,m
221,,,1,,x,global coo.,,,,,,,,0.1,,pos,aero-global coo.-blade-1-pos-x-r-0.1,m
222,,,1,,y,global coo.,,,,,,,,0.1,,pos,aero-global coo.-blade-1-pos-y-r-0.1,m
223,,,1,,z,global coo.,,,,,,,,0.1,,pos,aero-global coo.-blade-1-pos-z-r-0.1,m
224,,,1,,,,,,,,,,,54.86,,Lift,Lift-1-54.86,kN/m
225,,,1,,,,,,,,,,,35.81,,Lift,Lift-1-35.81,kN/m
226,,,1,,x,RP coo.,,,,,,,,64.3,,pos,aero-RP coo.-blade-1-pos-x-r-64.3,m
227,,,1,,y,RP coo.,,,,,,,,64.3,,pos,aero-RP coo.-blade-1-pos-y-r-64.3,m
228,,,1,,z,RP coo.,,,,,,,,64.3,,pos,aero-RP coo.-blade-1-pos-z-r-64.3,m
229,,,2,,x,RP coo.,,,,,,,,64.3,,pos,aero-RP coo.-blade-2-pos-x-r-64.3,m
230,,,2,,y,RP coo.,,,,,,,,64.3,,pos,aero-RP coo.-blade-2-pos-y-r-64.3,m
231,,,2,,z,RP coo.,,,,,,,,64.3,,pos,aero-RP coo.-blade-2-pos-z-r-64.3,m
232,,,3,,x,RP coo.,,,,,,,,64.3,,pos,aero-RP coo.-blade-3-pos-x-r-64.3,m
233,,,3,,y,RP coo.,,,,,,,,64.3,,pos,aero-RP coo.-blade-3-pos-y-r-64.3,m
234,,,3,,z,RP coo.,,,,,,,,64.3,,pos,aero-RP coo.-blade-3-pos-z-r-64.3,m
235,,,1,,Vx,RP coo.,,,,,,,,64.3,,vel,aero-RP coo.-blade-1-vel-Vx-r-64.3,m/s
236,,,1,,Vy,RP coo.,,,,,,,,64.3,,vel,aero-RP coo.-blade-1-vel-Vy-r-64.3,m/s
237,,,1,,Vz,RP coo.,,,,,,,,64.3,,vel,aero-RP coo.-blade-1-vel-Vz-r-64.3,m/s
238,,,1,,x,global coo.,,,,,,,,64.3,,pos,aero-global coo.-blade-1-pos-x-r-64.3,m
239,,,1,,y,global coo.,,,,,,,,64.3,,pos,aero-global coo.-blade-1-pos-y-r-64.3,m
240,,,1,,z,global coo.,,,,,,,,64.3,,pos,aero-global coo.-blade-1-pos-z-r-64.3,m
241,,,1,,Vx,global coo.,,,,,,,,64.3,,vel,aero-global coo.-blade-1-vel-Vx-r-64.3,m/s
242,,,1,,Vy,global coo.,,,,,,,,64.3,,vel,aero-global coo.-blade-1-vel-Vy-r-64.3,m/s
243,,,1,,Vz,global coo.,,,,,,,,64.3,,vel,aero-global coo.-blade-1-vel-Vz-r-64.3,m/s
244,,,1,,tx,Bl.co,,,,,,,,64.3,,rot,aero-Bl.co-blade-1-rot-tx-r-64.3,deg
245,,,1,,ty,Bl.co,,,,,,,,64.3,,rot,aero-Bl.co-blade-1-rot-ty-r-64.3,deg
246,,,1,,tz,Bl.co,,,,,,,,64.3,,rot,aero-Bl.co-blade-1-rot-tz-r-64.3,deg
247,,,,,,global,Vx,,,,,,"('0.00', '0.00', '-90.00')",,tower top,wsp-global,windspeed-global-Vx-0.00-0.00--90.00,m/s
248,,,,,,global,Vy,,,,,,"('0.00', '0.00', '-90.00')",,tower top,wsp-global,windspeed-global-Vy-0.00-0.00--90.00,m/s
249,,,,,,global,Vz,,,,,,"('0.00', '0.00', '-90.00')",,tower top,wsp-global,windspeed-global-Vz-0.00-0.00--90.00,m/s
250,,,,,,global,Vx,,,,,,"('44.54', '0.00', '-134.54')",,1 radius at 45 deg,wsp-global,windspeed-global-Vx-44.54-0.00--134.54,m/s
251,,,,,,global,Vy,,,,,,"('44.54', '0.00', '-134.54')",,1 radius at 45 deg,wsp-global,windspeed-global-Vy-44.54-0.00--134.54,m/s
252,,,,,,global,Vz,,,,,,"('44.54', '0.00', '-134.54')",,1 radius at 45 deg,wsp-global,windspeed-global-Vz-44.54-0.00--134.54,m/s
253,,,,,,global,Vx,,,,,,"('22.27', '0.00', '-112.27')",,0.5 radius at 45 deg,wsp-global,windspeed-global-Vx-22.27-0.00--112.27,m/s
254,,,,,,global,Vy,,,,,,"('22.27', '0.00', '-112.27')",,0.5 radius at 45 deg,wsp-global,windspeed-global-Vy-22.27-0.00--112.27,m/s
255,,,,,,global,Vz,,,,,,"('22.27', '0.00', '-112.27')",,0.5 radius at 45 deg,wsp-global,windspeed-global-Vz-22.27-0.00--112.27,m/s
256,0.0,,,,,,,,,,,,,44.9,,CT,CT-azi-0.00-r-44.90,-
257,22.5,,,,,,,,,,,,,44.9,,CT,CT-azi-22.50-r-44.90,-
258,45.0,,,,,,,,,,,,,44.9,,CT,CT-azi-45.00-r-44.90,-
259,90.0,,,,,,,,,,,,,44.9,,CT,CT-azi-90.00-r-44.90,-
260,0.0,,,,,,,,,,,,,44.9,,CQ,CQ-azi-0.00-r-44.90,-
261,22.5,,,,,,,,,,,,,44.9,,CQ,CQ-azi-22.50-r-44.90,-
262,45.0,,,,,,,,,,,,,44.9,,CQ,CQ-azi-45.00-r-44.90,-
263,90.0,,,,,,,,,,,,,44.9,,CQ,CQ-azi-90.00-r-44.90,-
264,0.0,,,,,,,,,,,,,44.9,,a_grid,a_grid-azi-0.00-r-44.90,-
265,22.5,,,,,,,,,,,,,44.9,,a_grid,a_grid-azi-22.50-r-44.90,-
266,45.0,,,,,,,,,,,,,44.9,,a_grid,a_grid-azi-45.00-r-44.90,-
267,90.0,,,,,,,,,,,,,44.9,,a_grid,a_grid-azi-90.00-r-44.90,-
268,0.0,,,,,,,,,,,,,44.9,,am_grid,am_grid-azi-0.00-r-44.90,-
269,22.5,,,,,,,,,,,,,44.9,,am_grid,am_grid-azi-22.50-r-44.90,-
270,45.0,,,,,,,,,,,,,44.9,,am_grid,am_grid-azi-45.00-r-44.90,-
271,90.0,,,,,,,,,,,,,44.9,,am_grid,am_grid-azi-90.00-r-44.90,-
272,0.0,,,,,,,,,,,,,24.32,,CT,CT-azi-0.00-r-24.32,-
273,22.5,,,,,,,,,,,,,24.32,,CT,CT-azi-22.50-r-24.32,-
274,45.0,,,,,,,,,,,,,24.32,,CT,CT-azi-45.00-r-24.32,-
275,90.0,,,,,,,,,,,,,24.32,,CT,CT-azi-90.00-r-24.32,-
276,0.0,,,,,,,,,,,,,24.32,,CQ,CQ-azi-0.00-r-24.32,-
277,22.5,,,,,,,,,,,,,24.32,,CQ,CQ-azi-22.50-r-24.32,-
278,45.0,,,,,,,,,,,,,24.32,,CQ,CQ-azi-45.00-r-24.32,-
279,90.0,,,,,,,,,,,,,24.32,,CQ,CQ-azi-90.00-r-24.32,-
280,0.0,,,,,,,,,,,,,24.32,,a_grid,a_grid-azi-0.00-r-24.32,-
281,22.5,,,,,,,,,,,,,24.32,,a_grid,a_grid-azi-22.50-r-24.32,-
282,45.0,,,,,,,,,,,,,24.32,,a_grid,a_grid-azi-45.00-r-24.32,-
283,90.0,,,,,,,,,,,,,24.32,,a_grid,a_grid-azi-90.00-r-24.32,-
284,0.0,,,,,,,,,,,,,24.32,,am_grid,am_grid-azi-0.00-r-24.32,-
285,22.5,,,,,,,,,,,,,24.32,,am_grid,am_grid-azi-22.50-r-24.32,-
286,45.0,,,,,,,,,,,,,24.32,,am_grid,am_grid-azi-45.00-r-24.32,-
287,90.0,,,,,,,,,,,,,24.32,,am_grid,am_grid-azi-90.00-r-24.32,-
288,,,1,,,RP coo.,Vy,,,,,,,24.11,,wsp-blade,wsp-blade-Vy-1-24.11-RP coo.,m/s
289,,,,,,,,,,,,,,,,aero,aero-induc_a_norm,m/s
290,,,1,,tz,RP.co,,,,,,,,90.17,,rot,aero-RP.co-blade-1-rot-tz-r-90.2,deg
291,,,2,,tz,RP.co,,,,,,,,90.17,,rot,aero-RP.co-blade-2-rot-tz-r-90.2,deg
292,,,1,,tz,Bl.co,,,,,,,,90.17,,rot,aero-Bl.co-blade-1-rot-tz-r-90.2,deg
293,,,2,,tz,Bl.co,,,,,,,,90.17,,rot,aero-Bl.co-blade-2-rot-tz-r-90.2,deg
...@@ -16,6 +16,7 @@ import os ...@@ -16,6 +16,7 @@ import os
import tempfile import tempfile
import numpy as np import numpy as np
import pandas as pd
from wetb.prepost import windIO from wetb.prepost import windIO
...@@ -207,7 +208,7 @@ class TestsLoadResults(unittest.TestCase): ...@@ -207,7 +208,7 @@ class TestsLoadResults(unittest.TestCase):
exp = [[38, 'global-blade2-elem-019-zrel-1.00-State pos-z', 'm'], exp = [[38, 'global-blade2-elem-019-zrel-1.00-State pos-z', 'm'],
[200, 'blade2-blade2-node-017-momentvec-z', 'kNm'], [200, 'blade2-blade2-node-017-momentvec-z', 'kNm'],
[296, 'blade1-blade1-node-008-forcevec-z', 'kN'], [296, 'blade1-blade1-node-008-forcevec-z', 'kN'],
[415, 'Cl-1-55.7', 'deg'], [415, 'Cl-1-54.82', 'deg'],
[421, 'qwerty-is-azerty', 'is'] [421, 'qwerty-is-azerty', 'is']
] ]
for k in exp: for k in exp:
...@@ -229,11 +230,49 @@ class TestsLoadResults(unittest.TestCase): ...@@ -229,11 +230,49 @@ class TestsLoadResults(unittest.TestCase):
res = windIO.LoadResults(self.respath, self.f3_chant, readdata=False) res = windIO.LoadResults(self.respath, self.f3_chant, readdata=False)
self.assertFalse(hasattr(res, 'sig')) self.assertFalse(hasattr(res, 'sig'))
np.testing.assert_array_equal(res.ch_df.index.values, np.arange(0,294)) np.testing.assert_array_equal(res.ch_df.index.values, np.arange(0,294))
df = res.ch_df df1 = res.ch_df
self.assertEqual(8, len(df[df['sensortype']=='CT'])) self.assertEqual(8, len(df1[df1['sensortype']=='CT']))
self.assertEqual(8, len(df[df['sensortype']=='CQ'])) self.assertEqual(8, len(df1[df1['sensortype']=='CQ']))
self.assertEqual(8, len(df[df['sensortype']=='a_grid'])) self.assertEqual(8, len(df1[df1['sensortype']=='a_grid']))
self.assertEqual(84, len(df[df['blade_nr']==1])) self.assertEqual(84, len(df1[df1['blade_nr']==1]))
fname = os.path.join(self.respath, self.f3_chant.replace('.sel',
'.ch_df.csv'))
# FIXME: read_csv for older pandas versions fails on reading the
# mixed str/tuple column. Ignore the pos column for now
colref = ['azimuth', 'bearing_name', 'blade_nr', 'bodyname',
'component', 'coord', 'direction', 'dll', 'flap_nr', 'io',
'io_nr', 'output_type', 'radius', 'sensortag',
'sensortype', 'unique_ch_name', 'units'] # 'pos',
# keep_default_na: leave empyt strings as empty strings and not nan's
# you can't have nice things: usecols in combination with index_col
# doesn't work
df2 = pd.read_csv(fname, usecols=['chi']+colref, keep_default_na=False)
df2.index = df2['chi']
df2.drop(labels='chi', inplace=True, axis=1)
# for the comparison we need to have the columns with empty/number
# mixed data types in a consistent data type
for col in ['azimuth', 'radius', 'blade_nr', 'io_nr', 'flap_nr', 'dll']:
df1.loc[df1[col]=='', col] = np.nan
df1[col] = df1[col].astype(np.float32)
df2.loc[df2[col]=='', col] = np.nan
df2[col] = df2[col].astype(np.float32)
# print(df1.pos[14], df2.pos[14])
# the pos columns contains also tuples, read from csv doesn't get that
# df1['pos'] = df1['pos'].astype(np.str)
# df1['pos'] = df1['pos'].str.replace("'", "")
# print(df1.pos[14], df2.pos[14])
# sort columns in the same way so we can assert the df are equal
# df1 = df1[colref].copy()
# df2 = df2[colref].copy()
# FIXME: when pandas is more recent we can use assert_frame_equal
# pd.testing.assert_frame_equal(df1, df2)
# ...but there is no testing.assert_frame_equal in pandas 0.14
for col in colref:
np.testing.assert_array_equal(df1[col].values, df2[col].values)
class TestUserWind(unittest.TestCase): class TestUserWind(unittest.TestCase):
......
...@@ -28,6 +28,7 @@ import math ...@@ -28,6 +28,7 @@ import math
from time import time from time import time
import codecs import codecs
from itertools import chain from itertools import chain
import re as re
import numpy as np import numpy as np
import scipy as sp import scipy as sp
...@@ -1026,18 +1027,18 @@ class LoadResults(ReadHawc2): ...@@ -1026,18 +1027,18 @@ class LoadResults(ReadHawc2):
dscr_list = self.ch_details[ch, 2].split(' ') dscr_list = self.ch_details[ch, 2].split(' ')
dscr_list = misc.remove_items(dscr_list, '') dscr_list = misc.remove_items(dscr_list, '')
sensortype = self.ch_details[ch, 0].split(',')[0] sensortype = self.ch_details[ch, 0].split(',')[0]
# Blade number is identified as the first integer in the string
# is this always valid? blade_nr = re.search(r'\d+', self.ch_details[ch, 2]).group()
blade_nr = self.ch_details[ch, 2].split('blade ')[1].split()[0] blade_nr = int(blade_nr)
# sometimes the units for aero sensors are wrong! # sometimes the units for aero sensors are wrong!
units = self.ch_details[ch, 1] units = self.ch_details[ch, 1]
# there is no label option # there is no label option
# radius what you get # radius what you get
# radius = dscr_list[-1] # radius = dscr_list[-1]
# radius what you asked for # radius what you asked for, identified as the last float in the string
tmp = self.ch_details[ch, 0].split('R=') s = self.ch_details[ch, 2]
radius = misc.remove_items(tmp, '')[-1].strip() radius = float(re.findall(r"[-+]?\d*\.\d+|\d+", s)[-1])
# and tag it # and tag it
tag = '%s-%s-%s' % (sensortype, blade_nr, radius) tag = '%s-%s-%s' % (sensortype, blade_nr, radius)
...@@ -1045,7 +1046,7 @@ class LoadResults(ReadHawc2): ...@@ -1045,7 +1046,7 @@ class LoadResults(ReadHawc2):
channelinfo = {} channelinfo = {}
channelinfo['sensortype'] = sensortype channelinfo['sensortype'] = sensortype
channelinfo['radius'] = float(radius) channelinfo['radius'] = float(radius)
channelinfo['blade_nr'] = int(blade_nr) channelinfo['blade_nr'] = blade_nr
channelinfo['units'] = units channelinfo['units'] = units
channelinfo['chi'] = ch channelinfo['chi'] = ch
...@@ -1091,10 +1092,10 @@ class LoadResults(ReadHawc2): ...@@ -1091,10 +1092,10 @@ class LoadResults(ReadHawc2):
blade_nr = int(items[5]) blade_nr = int(items[5])
# radius what you get # radius what you get
# radius = float(items[8].replace(',', '')) # radius = float(items[8].replace(',', ''))
# radius what you asked for # radius what you asked for, identified as the last float in the string
tmp = self.ch_details[ch, 0].split(' ') s = self.ch_details[ch, 2]
radius = float(misc.remove_items(tmp, '')[-1]) radius = float(re.findall(r"[-+]?\d*\.\d+|\d+", s)[-1])
items = self.ch_details[ch, 0].split(',') items = self.ch_details[ch, 0].split(',')
component = items[0][-2:] component = items[0][-2:]
...@@ -1126,17 +1127,16 @@ class LoadResults(ReadHawc2): ...@@ -1126,17 +1127,16 @@ class LoadResults(ReadHawc2):
items = self.ch_details[ch, 2].split(' ') items = self.ch_details[ch, 2].split(' ')
items = misc.remove_items(items, '') items = misc.remove_items(items, '')
# find blade number # Blade number is identified as the first integer in the string
tmp = self.ch_details[ch, 2].split('blade ')[1].strip() blade_nr = re.search(r'\d+', self.ch_details[ch, 2]).group()
blade_nr = int(tmp.split(' ')[0]) blade_nr = int(blade_nr)
# radius what you get
tmp = self.ch_details[ch, 2].split('radius ')[1].strip() tmp = self.ch_details[ch, 2].split('radius ')[1].strip()
tmp = tmp.split(',') tmp = tmp.split(',')
# radius = float(tmp[0])
# radius what you get # radius what you asked for, identified as the last float in the string
# radius = float(tmp[0]) s = self.ch_details[ch, 2]
# radius what you asked for radius = float(re.findall(r"[-+]?\d*\.\d+|\d+", s)[-1])
tmp = self.ch_details[ch, 0].split(' ')
radius = float(misc.remove_items(tmp, '')[-1])
if len(tmp) > 1: if len(tmp) > 1:
coord = tmp[1].strip() coord = tmp[1].strip()
...@@ -1222,16 +1222,17 @@ class LoadResults(ReadHawc2): ...@@ -1222,16 +1222,17 @@ class LoadResults(ReadHawc2):
units = self.ch_details[ch, 1].strip() units = self.ch_details[ch, 1].strip()
tmp = self.ch_details[ch, 0].split(' ')[1].strip() tmp = self.ch_details[ch, 0].split(' ')[1].strip()
direction = tmp.replace(',', '') direction = tmp.replace(',', '')
blade_nr = self.ch_details[ch, 2].split('blade')[1].strip()[:2]
coord = self.ch_details[ch, 2].split(',')[1].strip() coord = self.ch_details[ch, 2].split(',')[1].strip()
blade_nr = blade_nr.strip() # Blade number is identified as the first integer in the string
blade_nr = re.search(r'\d+', self.ch_details[ch, 2]).group()
blade_nr = int(blade_nr)
# radius what you get # radius what you get
# radius = self.ch_details[ch, 2].split('radius')[1].split(',')[0] # radius = self.ch_details[ch, 2].split('radius')[1].split(',')[0]
# radius = radius.strip() # radius = radius.strip()
# radius what you asked for # radius what you asked for, identified as the last float in the string
tmp = self.ch_details[ch, 0].split(' ') s=self.ch_details[ch, 2]
radius = misc.remove_items(tmp, '')[-1].strip() radius=float(re.findall(r"[-+]?\d*\.\d+|\d+", s)[-1])
# and tag it # and tag it
rpl = (direction, blade_nr, radius, coord) rpl = (direction, blade_nr, radius, coord)
...@@ -1241,7 +1242,7 @@ class LoadResults(ReadHawc2): ...@@ -1241,7 +1242,7 @@ class LoadResults(ReadHawc2):
channelinfo['coord'] = coord channelinfo['coord'] = coord
# FIXME: direction is the same as component, right? # FIXME: direction is the same as component, right?
channelinfo['direction'] = direction channelinfo['direction'] = direction
channelinfo['blade_nr'] = int(blade_nr) channelinfo['blade_nr'] = blade_nr
channelinfo['radius'] = float(radius) channelinfo['radius'] = float(radius)
channelinfo['units'] = units channelinfo['units'] = units
channelinfo['chi'] = ch channelinfo['chi'] = ch
...@@ -1251,18 +1252,17 @@ class LoadResults(ReadHawc2): ...@@ -1251,18 +1252,17 @@ class LoadResults(ReadHawc2):
# 2: Flap angle for blade 3 flap number 1 # 2: Flap angle for blade 3 flap number 1
elif self.ch_details[ch, 0][:7] == 'setbeta': elif self.ch_details[ch, 0][:7] == 'setbeta':
units = self.ch_details[ch, 1].strip() units = self.ch_details[ch, 1].strip()
blade_nr = self.ch_details[ch, 2].split('blade')[1].strip() # Blade number is identified as the first integer in the string
blade_nr = blade_nr.split(' ')[0].strip() blade_nr = re.search(r'\d+', self.ch_details[ch, 2]).group()
blade_nr = int(blade_nr)
flap_nr = self.ch_details[ch, 2].split(' ')[-1].strip() flap_nr = self.ch_details[ch, 2].split(' ')[-1].strip()
blade_nr = blade_nr.strip()
# and tag it # and tag it
tag = 'setbeta-bladenr-%s-flapnr-%s' % (blade_nr, flap_nr) tag = 'setbeta-bladenr-%s-flapnr-%s' % (blade_nr, flap_nr)
# save all info in the dict # save all info in the dict
channelinfo = {} channelinfo = {}
channelinfo['flap_nr'] = int(flap_nr) channelinfo['flap_nr'] = int(flap_nr)
channelinfo['blade_nr'] = int(blade_nr) channelinfo['blade_nr'] = blade_nr
channelinfo['units'] = units channelinfo['units'] = units
channelinfo['chi'] = ch channelinfo['chi'] = ch
...@@ -1284,6 +1284,13 @@ class LoadResults(ReadHawc2): ...@@ -1284,6 +1284,13 @@ class LoadResults(ReadHawc2):
tag_nr = int(tag.split('_')[-1]) + 1 tag_nr = int(tag.split('_')[-1]) + 1
tag = base + '_%i' % tag_nr tag = base + '_%i' % tag_nr
elif self.ch_details[ch, 0][:6] == 'a_norm':
channelinfo = {}
channelinfo['chi'] = ch
channelinfo['units'] = self.ch_details[ch, 1].strip()
channelinfo['sensortype'] = 'aero'
tag = 'aero-induc_a_norm'
# ----------------------------------------------------------------- # -----------------------------------------------------------------
# If all this fails, just combine channel name and description # If all this fails, just combine channel name and description
else: else:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment