Compare commits

...

5 Commits

  1. 1
      .gitignore
  2. 50
      01.py
  3. 2698
      84E3/84E3.dat
  4. 297
      84E3/Back_SAM_84E3.dat
  5. 297
      84E3/CalAQ_SAM_84E3.dat
  6. 297
      84E3/Cal_SAM_84E3.dat
  7. 10
      84E3/RAMSES光谱数据校准.txt
  8. 150
      84E3/RamsesData.py
  9. 31
      84E3/SAM_84E3.ini
  10. 2698
      84E3/data_test.txt
  11. 642
      84E3/myRamses.py
  12. 45
      84E3/t01.py
  13. BIN
      84E3/光谱试算.txt
  14. 297
      85C2/Back_SAM_85C2.dat
  15. 300
      85C2/CALIBRATE.dat
  16. 297
      85C2/CalAQ_SAM_85C2.dat
  17. 297
      85C2/Cal_SAM_85C2.dat
  18. 150
      85C2/RamsesData.py
  19. 30
      85C2/SAM_85C2.ini
  20. 642
      85C2/myRamses.py
  21. 45
      85C2/t01.py
  22. 150
      RamsesData.py
  23. 189
      app.py
  24. 509
      awrams.py
  25. 297
      calfile/awrams/Back_SAM_852F.dat
  26. 297
      calfile/awrams/Back_SAM_859F.dat
  27. 297
      calfile/awrams/Back_SAM_85B5.dat
  28. 297
      calfile/awrams/Back_SAM_85C2.dat
  29. 297
      calfile/awrams/CalAQ_SAM_852F.dat
  30. 297
      calfile/awrams/CalAQ_SAM_859F.dat
  31. 297
      calfile/awrams/CalAQ_SAM_85B5.dat
  32. 297
      calfile/awrams/CalAQ_SAM_85C2.dat
  33. 297
      calfile/awrams/Cal_SAM_852F.dat
  34. 297
      calfile/awrams/Cal_SAM_859F.dat
  35. 297
      calfile/awrams/Cal_SAM_85B5.dat
  36. 297
      calfile/awrams/Cal_SAM_85C2.dat
  37. 81
      calfile/awrams/SAMIP_50ED_ALL.ini
  38. 32
      calfile/awrams/SAM_852F.ini
  39. 30
      calfile/awrams/SAM_859F.ini
  40. 30
      calfile/awrams/SAM_85B5.ini
  41. 30
      calfile/awrams/SAM_85C2.ini
  42. 747
      calfile/awrams/myRamses.py
  43. 20
      config.yml
  44. 237
      configuration.py
  45. 207
      dealfolder.py
  46. 789
      myRamses.py
  47. 322
      myconfig.py
  48. 1008
      readcal.py
  49. 587
      receive.py
  50. 4
      retrieve.yml
  51. 235
      t_algorith.py
  52. 300
      tcp_awrams.py
  53. 0
      tools/__init__.py
  54. 11
      tools/myexception.py
  55. 287
      tools/mylogger.py
  56. 265
      tools/mypath.py
  57. 66
      tools/mytime.py

1
.gitignore vendored

@ -1,5 +1,6 @@
/__pycache__/ /__pycache__/
/dist/ /dist/
/build/ /build/
/data/
/*/__pycache__ /*/__pycache__
*.log *.log

50
01.py

@ -0,0 +1,50 @@
aa = "23a0000007fefe0b095b094e09550954094a094d0949094e093b093f09460941093a0941094b0946094c0951094c09510943094d094a0957094f0953094a095209560976097809c123a0000006fefe86098c0991099e09ad09bf09e6092f0a770a620a200a040a000a040a070af409f109e209ee09de09e709ed090b0a260a310a2d0a2c0a1f0a120a230a320a440a9723a0000005fefe570a6d0a760a860ab60a080b160c0f0e27107d10050f0f0dc90b0e0bbf0a900a890ab10a140b8f0b180c650c840c7e0c8d0ca30c2f0d550f44124e130c1247103623a0000004fefe310fa20e180e640da20c180cd80bbf0bc40bb30bb10ba80ba10ba70b930b7b0b780b6a0b5b0b460b230bf90aea0aec0a330b980bc00b610be60a800a4c0a4a0ae923a0000003fefe530a7c0a930ac60ad10aec0ae00ae00aa00a530a350a4c0a680a8f0a860a7b0a6b0a530a340a260a140a020a030af809dd09c509aa09980990098d0995099009c123a0000002fefe9a098e0993098a09870985097b097f097b0970096b0964096e0976096c0964095f09580954093e094909450943093f093509400936093609410934093a0937098a23a0000001fefe2e0935093409330939092e0936093f0942093809350943093a093e09430940093c09450942094609430943093f09470946093509440944093d093c0947093c098323a0000000fefe4d09370943094309440945095509490941094e0952094309510946094b09580954094a09550956095509560957095d097409660972097109690973095c0957098a"
aaa = bytes.fromhex(aa)
def removeMask(byt:bytes):
'''去除遮罩 0x64 0x65 0x66 0x67'''
ret = b''
flag = False
sign = [100,101,102,103]
buf = byt
blen = len(buf)
for i in range(blen):
print(f" {i} == {buf[i]}")
if flag == False and buf[i] == 64:
if buf[i+1] in sign:
i-=1
flag = True
continue
if flag == False and buf[i] != 64:
continue
if flag == True and buf[i] == 100:
buf = buf[:i-1] + b'\x40' + buf[i:] # buf 拼接法
# ret = ret + b'\x40'
flag = False
continue
if flag == True and buf[i] == 101:
buf = buf[:i-1] + b'\x23' + buf[i:] # buf 拼接法
# ret = ret + b'\x23'
flag = False
continue
if flag == True and buf[i] == 102:
buf = buf[:i-1] + b'\x11' + buf[i:] # buf 拼接法
# ret = ret + b'\x11'
flag = False
continue
if flag == True and buf[i] == 103:
buf = buf[:i-1] + b'\x13' + buf[i:] # buf 拼接法
# ret = ret + b'\x13'
flag = False
continue
# self.data_after_remove_mask = buf
return buf
pass
dd = removeMask(aaa)
print(dd.hex())
zz =[ 1,2,3,4]
print( ';'.join(zz) )

File diff suppressed because it is too large Load Diff

@ -0,0 +1,297 @@
[Spectrum]
Version = 1
IDData = DLAB_2015-04-23_13-17-20_480_231
IDDevice = SAM_84E3
IDDataType = SPECTRUM
IDDataTypeSub1 = BACK
IDDataTypeSub2 =
IDDataTypeSub3 =
DateTime = 2015-04-23 13:10:52
PositionLatitude = 0
PositionLongitude = 0
Comment =
CommentSub1 =
CommentSub2 =
CommentSub3 =
IDMethodType = SAM Calibration Station
MethodName = SAM_Calibration_Station
Mission =
MissionSub = 0
RecordType = 0
[Attributes]
CalFactor = 1
IDBasisSpec =
IDDataBack =
IDDataCal =
IntegrationTime = 8192
P31 = -1
P31e = 0
PathLength = +INF
RAWDynamic = 65535
Temperature = +NAN
Unit1 = $05 $00 Pixel
Unit2 = $03 $05 Intensity counts
Unit3 = $03 $05 Intensity counts
Unit4 = $f1 $00 Status
[END] of [Attributes]
[DATA]
0 12 0 0
1 0.0171524736127934 0.0218650527298769 0
2 0.0169729054794042 0.0217163644852297 0
3 0.017003727635839 0.0219620520054736 0
4 0.0170695726463301 0.0216829933325641 0
5 0.0170653447303655 0.0216913569372244 0
6 0.0170193989458433 0.0217075260724905 0
7 0.0170320854853621 0.0217224790357398 0
8 0.0170469364065886 0.0217613199076495 0
9 0.0170659149197585 0.0217013024208593 0
10 0.0170399118058684 0.0216067686560369 0
11 0.0170563323182148 0.0216197481982083 0
12 0.0170509619297453 0.0217408713900106 0
13 0.0170678475965966 0.0217678148283081 0
14 0.0170598881504762 0.0218372825669243 0
15 0.0170613214754039 0.022044780505311 0
16 0.0170513642726892 0.0217536182413109 0
17 0.0170667717741371 0.0215783280012347 0
18 0.0170595112811099 0.0217841808692774 0
19 0.0170513346116742 0.0215688386475668 0
20 0.0170491232957723 0.0216952695652687 0
21 0.0170667096604823 0.0218576247764309 0
22 0.0170706432344928 0.0217160563836638 0
23 0.017058320653075 0.0217562555208903 0
24 0.0170696532545001 0.0218147337217835 0
25 0.0170811974959906 0.0219386277329374 0
26 0.0170621523327753 0.0219201838829375 0
27 0.0170640600594655 0.0219335382092799 0
28 0.017070867611347 0.0218548019376648 0
29 0.0170754767585918 0.0217973974663647 0
30 0.017069294879649 0.0218100903780708 0
31 0.0170729426610567 0.0220056214072514 0
32 0.017074107466561 0.02213115472821 0
33 0.0170877044247618 0.0217639678354983 0
34 0.0170758640965516 0.0218055386792998 0
35 0.0170604832900171 0.0217429505955354 0
36 0.0170806759855574 0.0218890261738162 0
37 0.017089665890232 0.0219160373420896 0
38 0.0170798903176146 0.0218222945167545 0
39 0.0170841693552109 0.0221520932408038 0
40 0.017092654848155 0.0218650138025968 0
41 0.0170946728440302 0.0220240944090709 0
42 0.0170757669131085 0.0219955308627659 0
43 0.0170889911893805 0.0218681217007721 0
44 0.0170832369524824 0.021856071001905 0
45 0.0170840817679785 0.0219355098847399 0
46 0.0170759771573615 0.0218310107362381 0
47 0.0170830678846973 0.0219390348110403 0
48 0.0170777049987199 0.0219808805896669 0
49 0.0171084168859697 0.0219529850913465 0
50 0.0170882529790616 0.0220642144698049 0
51 0.0171123239395433 0.0217668632919705 0
52 0.0170939866277257 0.0219677181067357 0
53 0.0170998516572384 0.0221350308728393 0
54 0.0170905033777126 0.0219640697652472 0
55 0.0171027270309218 0.0219430883104521 0
56 0.0170969108548455 0.0219794270136107 0
57 0.0171141360530795 0.0218614188770172 0
58 0.0170972355557208 0.0219844409520115 0
59 0.0171029876989001 0.0218820161213043 0
60 0.0171053047475965 0.0218965906345848 0
61 0.0171094628729377 0.0221246713286298 0
62 0.0170810994401647 0.0219883687669317 0
63 0.0171084200265478 0.0218918846231882 0
64 0.0171150454249022 0.0214716573040191 0
65 0.0171210906886997 0.0217801097391245 0
66 0.0171272882705328 0.0219723872855939 0
67 0.0171141688546725 0.0221368086101465 0
68 0.0171121874988746 0.0222731127429007 0
69 0.0171186884954429 0.0218847874643413 0
70 0.0171187928324248 0.0218034901966506 0
71 0.0171298365006691 0.021941480596332 0
72 0.0171111783264605 0.0221153336691606 0
73 0.0171263905886395 0.0219345588720878 0
74 0.0171206745621078 0.0219173168800375 0
75 0.0171334207726096 0.021803756403386 0
76 0.0171212307933762 0.0220705391927146 0
77 0.0171378889427952 0.0219978919855877 0
78 0.0171146069653108 0.0217999411808226 0
79 0.0171255129715505 0.0217696070542441 0
80 0.0171276640930397 0.0219119560873527 0
81 0.0171273163612587 0.0217096855764405 0
82 0.0171315687039415 0.0219157379686134 0
83 0.0171297501347727 0.0217372878109475 0
84 0.0171235591830488 0.0219723986321105 0
85 0.0171302657130029 0.0218403873229873 0
86 0.0171311665354743 0.0216949834584888 0
87 0.0171360356527912 0.0218789815390825 0
88 0.0171409462955291 0.0217715054137507 0
89 0.0171414943263992 0.0219028724152933 0
90 0.0171301652145052 0.0217384446319544 0
91 0.0171244076625526 0.0219659232623728 0
92 0.0171338147406786 0.0219759392689724 0
93 0.0171362905630431 0.0218332391920966 0
94 0.0171358083098355 0.0220265150574643 0
95 0.017137519924874 0.0218969961416316 0
96 0.0171271326374427 0.0219702834668561 0
97 0.0171315273529971 0.0219963420514213 0
98 0.0171337154635168 0.0218377252556332 0
99 0.0171407193015265 0.0220526167587925 0
100 0.0171400468688702 0.0219703265836192 0
101 0.0171482919331168 0.0220217556301587 0
102 0.0171431989623753 0.0218802956402655 0
103 0.0171458339073612 0.0219762913601102 0
104 0.017132015014978 0.0218717058035206 0
105 0.0171527691760834 0.0218322211477157 0
106 0.0171277710471701 0.0216083119568551 0
107 0.0171547269775459 0.0216713682153502 0
108 0.017158141483795 0.0217206183815806 0
109 0.0171534255568964 0.0217448484313567 0
110 0.0171328275523108 0.0220497778603414 0
111 0.0171536197493059 0.0217961439381241 0
112 0.0171184007835979 0.0218889079954818 0
113 0.0171458239621974 0.0219515927864799 0
114 0.0171383052438637 0.0219522817818796 0
115 0.0171520901133179 0.02206869163069 0
116 0.0171439675316154 0.0217439805101183 0
117 0.0171437932295335 0.021909059234386 0
118 0.0171447476163082 0.0216562005410946 0
119 0.017140740064237 0.0219312106023226 0
120 0.0171355132699752 0.0218952262596052 0
121 0.0171520452728424 0.021768626366087 0
122 0.0171420261309494 0.021958085612397 0
123 0.0171438279503686 0.0219678347140139 0
124 0.0171496511055072 0.0218550868225121 0
125 0.0171565882934716 0.0218665227147417 0
126 0.0171346735142993 0.0217747030366879 0
127 0.0171619197736684 0.0217601400444858 0
128 0.0171491540217921 0.0218786863550893 0
129 0.0171630308403927 0.0219578263881333 0
130 0.0171445757568982 0.0218737308948894 0
131 0.0171637889410392 0.0221231393743282 0
132 0.0171468333090881 0.0220320834041218 0
133 0.0171443527758564 0.0218571017892969 0
134 0.0171494316139967 0.0219195224683011 0
135 0.0171595434029422 0.0218292298568187 0
136 0.0171527368979201 0.0217142611901772 0
137 0.017162185501467 0.0219404133255252 0
138 0.0171493333836942 0.021699239624143 0
139 0.0171526311651257 0.0219778173793109 0
140 0.0171409471679119 0.0216798969554673 0
141 0.0171570553672186 0.0218041331077368 0
142 0.0171547421570065 0.0216521180644251 0
143 0.0171493576359359 0.0217123308858624 0
144 0.0171382602289116 0.0220615508313946 0
145 0.0171565108258796 0.0216336073572582 0
146 0.017153291733376 0.0217396421258592 0
147 0.0171655926797006 0.0218637957104004 0
148 0.017149073064669 0.0218080157111525 0
149 0.0171466214945461 0.0217433972991656 0
150 0.0171432602036474 0.0218452720856607 0
151 0.0171616906859472 0.0218265896096888 0
152 0.0171373684792213 0.0218061098454888 0
153 0.0171627010796972 0.0220167965041612 0
154 0.017146152501557 0.0219422521594602 0
155 0.0171589027250196 0.0217799856256892 0
156 0.0171497714943325 0.0218613951366133 0
157 0.0171619550179333 0.0217778811087042 0
158 0.0171553168827901 0.0220837500292626 0
159 0.0171558486873403 0.0220798056309719 0
160 0.0171456477408733 0.0219525780132436 0
161 0.0171572424060892 0.0217753583416615 0
162 0.0171408923822725 0.0217005371419557 0
163 0.0171569543452912 0.0218252821418539 0
164 0.0171343913857043 0.0219342893486783 0
165 0.0171329142671603 0.0217444481611637 0
166 0.0171495472919549 0.0218190172936394 0
167 0.0171548888917922 0.0218279759794544 0
168 0.0171298598805279 0.0217818794465892 0
169 0.0171540397143822 0.0218001094583918 0
170 0.0171536071869937 0.0218907435127427 0
171 0.0171651762041556 0.0217128519528166 0
172 0.0171529839567269 0.0219701181568374 0
173 0.0171594987369433 0.0220606268758205 0
174 0.0171419080103193 0.0219794228241276 0
175 0.0171587812893349 0.0217803679160174 0
176 0.0171317138684381 0.0215983151520529 0
177 0.0171504835331676 0.021849742264074 0
178 0.0171427348547298 0.0218195666396042 0
179 0.0171550940762249 0.0217131275858889 0
180 0.0171617489611177 0.0218717476983511 0
181 0.0171508762799007 0.0217251964391825 0
182 0.0171397814900248 0.0217871869979269 0
183 0.0171580889663509 0.0219606892015502 0
184 0.0171526578600391 0.0217733344722252 0
185 0.0171468507567439 0.0219498340764082 0
186 0.0171390406625576 0.021889801402742 0
187 0.0171508518531825 0.0218552303123065 0
188 0.0171300591327577 0.0217968613870962 0
189 0.0171611231137025 0.0219024892521561 0
190 0.0171411160612204 0.0218679150196083 0
191 0.0171424082346124 0.0219567428830797 0
192 0.0171263422586328 0.0220476810240753 0
193 0.0171442316891249 0.0218956464298427 0
194 0.0171476978404352 0.0216180072934396 0
195 0.0171397846306028 0.0217222699107109 0
196 0.0171527892408877 0.0221192009111384 0
197 0.0171411041968145 0.0217917132106761 0
198 0.0171414402386661 0.0217851524802212 0
199 0.0171516849787492 0.0219958637521065 0
200 0.0171325307676848 0.0219061042523421 0
201 0.0171625281734278 0.0219900747593417 0
202 0.0171411547950164 0.021894205073112 0
203 0.0171581632933648 0.021767131942571 0
204 0.017150874186182 0.0219074630413443 0
205 0.0171479984635455 0.0218370168838743 0
206 0.0171479886928582 0.0220060098072424 0
207 0.0171601519771781 0.0217051712338933 0
208 0.017155871718246 0.02185150917855 0
209 0.0171668705460148 0.0219527810286097 0
210 0.0171424003831673 0.0218480556480232 0
211 0.0171666391900982 0.0217587713054613 0
212 0.017141074361323 0.0219027235140833 0
213 0.0171521012798177 0.0217622850598069 0
214 0.0171395471680068 0.0218928145138633 0
215 0.0171663314134491 0.0218022330026123 0
216 0.0171485358513455 0.0218540024446496 0
217 0.0171583056662365 0.0216586997422952 0
218 0.0171477318633641 0.021700644322897 0
219 0.0171473680797397 0.021891662231463 0
220 0.0171473804675754 0.0218295058390145 0
221 0.0171429231149364 0.0218499360276651 0
222 0.0171509984134916 0.0220816603500301 0
223 0.0171517971671763 0.0219536004216693 0
224 0.017154382386343 0.0216713439512608 0
225 0.0171593021018619 0.021893905525074 0
226 0.0171429700491306 0.0220383421426736 0
227 0.0171757461685436 0.0218455599380585 0
228 0.0171449920579666 0.0218548370245853 0
229 0.0171568372715205 0.0219515648565929 0
230 0.0171494488871759 0.0219374613110318 0
231 0.0171710209943874 0.0218326797215478 0
232 0.0171556122716036 0.0220623702244543 0
233 0.0171638484375457 0.021868679425703 0
234 0.0171605419322863 0.0216464928106227 0
235 0.0171574313642021 0.0216387429652291 0
236 0.0171396987881361 0.0216106243769364 0
237 0.0171671029487906 0.0216601603008231 0
238 0.017155503049278 0.0218908702446049 0
239 0.0171715726892653 0.0216682184223444 0
240 0.0171487262052708 0.0215713860278224 0
241 0.017168583033436 0.0216009344517675 0
242 0.0171504359010672 0.0216937850917749 0
243 0.0171735758546329 0.0218236456250378 0
244 0.0171630805662119 0.0217702648030828 0
245 0.0171668599029447 0.0216418437063708 0
246 0.0171625787716298 0.0218416239187339 0
247 0.0171805065869647 0.0218666396711435 0
248 0.0171624315134144 0.0216781757761813 0
249 0.0171885227379666 0.0217497942906579 0
250 0.0171774856998315 0.0216966506981805 0
251 0.0171981526226576 0.0216371347274237 0
252 0.0172034085545047 0.0219046580078812 0
253 0.0172264216636125 0.021547387272423 0
254 0.017299763757344 0.0217898003625406 0
255 0.0177729417412163 0.0234579390475124 0
[END] of [DATA]
[END] of [Spectrum]

@ -0,0 +1,297 @@
[Spectrum]
Version = 1
IDData = DLAB_2015-04-27_13-12-54_588_573
IDDevice = SAM_84E3
IDDataType = SPECTRUM
IDDataTypeSub1 = CAL
IDDataTypeSub2 = Aqua
IDDataTypeSub3 =
DateTime = 2015-04-27 13:11:54
PositionLatitude = 0
PositionLongitude = 0
Comment =
CommentSub1 =
CommentSub2 =
CommentSub3 =
IDMethodType =
MethodName =
Mission = No Mission
MissionSub = 1
RecordType = 0
[Attributes]
CalFactor = 1
IDBasisSpec =
IDDataBack = DLAB_2015-04-23_13-17-20_480_231
IDDataCal =
IntegrationTime = 256
P31 = -1
P31e = 0
PathLength = +INF
RAWDynamic = 65535
Temperature = +NAN
Unit1 = $05 $00 Pixel
Unit2 = $04 $09 1/Intensity (m^2 nm)/mW
Unit3 = $04 $09 1/Intensity (m^2 nm)/mW
Unit4 = $f1 $00 Status
[END] of [Attributes]
[DATA]
0 7 0 0
1 +NAN 0 0
2 +NAN 0 0
3 +NAN 0 0
4 0.0639626594292163 0 0
5 0.0761186332523634 0 0
6 0.0859736567414456 0 0
7 0.0917555320832833 0 0
8 0.0926726479707457 0 0
9 0.0919971601762811 0 0
10 0.0907092566760718 0 0
11 0.0909084022288411 0 0
12 0.0898026601348198 0 0
13 0.0911768027519654 0 0
14 0.0940106349121975 0 0
15 0.0982721535936733 0 0
16 0.103951200480323 0 0
17 0.11151945259402 0 0
18 0.121469998877133 0 0
19 0.132101341085677 0 0
20 0.142968043628643 0 0
21 0.152370818054494 0 0
22 0.158748610291206 0 0
23 0.161534596722603 0 0
24 0.161163469375412 0 0
25 0.158496266611239 0 0
26 0.155092847146785 0 0
27 0.15122706187325 0 0
28 0.147915995552921 0 0
29 0.145551771193796 0 0
30 0.143967870357453 0 0
31 0.143884608228214 0 0
32 0.144961496938848 0 0
33 0.147160549493366 0 0
34 0.150831154670171 0 0
35 0.155787436929653 0 0
36 0.161803470421699 0 0
37 0.16921906563584 0 0
38 0.177722815687568 0 0
39 0.187290525779601 0 0
40 0.197630537835732 0 0
41 0.208195356498117 0 0
42 0.217765093829476 0 0
43 0.22641181899464 0 0
44 0.233297159230364 0 0
45 0.238160562788499 0 0
46 0.241193334367343 0 0
47 0.24239085609259 0 0
48 0.241483418897362 0 0
49 0.239361401296195 0 0
50 0.236035158619177 0 0
51 0.231818228524626 0 0
52 0.226960297981895 0 0
53 0.221224584525203 0 0
54 0.214185815425282 0 0
55 0.206940097796839 0 0
56 0.199958594161336 0 0
57 0.193640331500501 0 0
58 0.188508002461916 0 0
59 0.184464975267021 0 0
60 0.181314871711972 0 0
61 0.179425928011873 0 0
62 0.178354338441761 0 0
63 0.178313589116474 0 0
64 0.179431062753507 0 0
65 0.181447532870041 0 0
66 0.184472812579435 0 0
67 0.187668653439444 0 0
68 0.190320070625297 0 0
69 0.191923599851912 0 0
70 0.192636781189683 0 0
71 0.19286161734119 0 0
72 0.193017909034216 0 0
73 0.193535325691956 0 0
74 0.194368731698507 0 0
75 0.195599269410719 0 0
76 0.197092878496086 0 0
77 0.198621455336892 0 0
78 0.200084372673682 0 0
79 0.201442176494965 0 0
80 0.202492947542439 0 0
81 0.202903156210483 0 0
82 0.20227159261013 0 0
83 0.200395088767544 0 0
84 0.197836792355401 0 0
85 0.195643353092176 0 0
86 0.193860224574108 0 0
87 0.192192959958473 0 0
88 0.190286934394321 0 0
89 0.188203576809068 0 0
90 0.186368020802222 0 0
91 0.184515839969636 0 0
92 0.182770714611897 0 0
93 0.181226279357459 0 0
94 0.179832200640671 0 0
95 0.178341694831955 0 0
96 0.176571658272696 0 0
97 0.173967156509072 0 0
98 0.17031174671914 0 0
99 0.16573146255487 0 0
100 0.160558822626473 0 0
101 0.155290540982903 0 0
102 0.149804710585539 0 0
103 0.143730921767791 0 0
104 0.137794226338604 0 0
105 0.132904925117463 0 0
106 0.128943411985897 0 0
107 0.125738277187983 0 0
108 0.123029913160705 0 0
109 0.120328673883332 0 0
110 0.117841592088007 0 0
111 0.115465653020091 0 0
112 0.113187624764016 0 0
113 0.111051196976259 0 0
114 0.109023041888432 0 0
115 0.107152096488286 0 0
116 0.105346079037686 0 0
117 0.103538283756282 0 0
118 0.101666744267368 0 0
119 0.100002165308749 0 0
120 0.0984652184553234 0 0
121 0.0970289969422529 0 0
122 0.095787446122295 0 0
123 0.0947205629825277 0 0
124 0.0939204500646334 0 0
125 0.0934914454992708 0 0
126 0.0933836592197018 0 0
127 0.093413066210716 0 0
128 0.0936053077959552 0 0
129 0.0936990031274746 0 0
130 0.0936271792806188 0 0
131 0.0934129052757143 0 0
132 0.0929409477679593 0 0
133 0.0922111660520162 0 0
134 0.0913099236972746 0 0
135 0.0902562321785754 0 0
136 0.0891609901779313 0 0
137 0.0879809421895976 0 0
138 0.0868434378002528 0 0
139 0.085843900608993 0 0
140 0.0848938622647938 0 0
141 0.0840107444403116 0 0
142 0.0829989653167666 0 0
143 0.08179197294942 0 0
144 0.0802686318513122 0 0
145 0.0785217346863345 0 0
146 0.0766524528592095 0 0
147 0.0746485233657852 0 0
148 0.0725288919633818 0 0
149 0.0703895753920542 0 0
150 0.0682541847501918 0 0
151 0.0661742059790556 0 0
152 0.06416451958121 0 0
153 0.0622158236436603 0 0
154 0.0603646575802928 0 0
155 0.0586162635082399 0 0
156 0.0568772077032173 0 0
157 0.0551663034753856 0 0
158 0.0534554859127405 0 0
159 0.0517611897201407 0 0
160 0.0500733260316374 0 0
161 0.0483112998923427 0 0
162 0.0464860898348103 0 0
163 0.0446837583165121 0 0
164 0.0428172433669461 0 0
165 0.041002185896394 0 0
166 0.0392242305636443 0 0
167 0.0374905785321226 0 0
168 0.0358608074623243 0 0
169 0.0342787865125786 0 0
170 0.0327957267188647 0 0
171 0.0313851860170829 0 0
172 0.0301076734774782 0 0
173 0.0289069023260921 0 0
174 0.0277803714895504 0 0
175 0.0267563709571282 0 0
176 0.0257218081322439 0 0
177 0.0247729674715589 0 0
178 0.0238824039045579 0 0
179 0.0229468672188216 0 0
180 0.0220317863192088 0 0
181 0.0211148554665291 0 0
182 0.0202240820399308 0 0
183 0.019342652885569 0 0
184 0.0184757486263308 0 0
185 0.0176124887617254 0 0
186 0.0167802193161593 0 0
187 0.0159442023951008 0 0
188 0.0150938946442385 0 0
189 0.0142266616656384 0 0
190 0.0133400780609536 0 0
191 0.0124677696276766 0 0
192 0.0116857667245466 0 0
193 0.0109434531330157 0 0
194 0.0102683291202449 0 0
195 0.00966202164948752 0 0
196 +NAN 0 0
197 +NAN 0 0
198 +NAN 0 0
199 +NAN 0 0
200 +NAN 0 0
201 +NAN 0 0
202 +NAN 0 0
203 +NAN 0 0
204 +NAN 0 0
205 +NAN 0 0
206 +NAN 0 0
207 +NAN 0 0
208 +NAN 0 0
209 +NAN 0 0
210 +NAN 0 0
211 +NAN 0 0
212 +NAN 0 0
213 +NAN 0 0
214 +NAN 0 0
215 +NAN 0 0
216 +NAN 0 0
217 +NAN 0 0
218 +NAN 0 0
219 +NAN 0 0
220 +NAN 0 0
221 +NAN 0 0
222 +NAN 0 0
223 +NAN 0 0
224 +NAN 0 0
225 +NAN 0 0
226 +NAN 0 0
227 +NAN 0 0
228 +NAN 0 0
229 +NAN 0 0
230 +NAN 0 0
231 +NAN 0 0
232 +NAN 0 0
233 +NAN 0 0
234 +NAN 0 0
235 +NAN 0 0
236 +NAN 0 0
237 +NAN 0 0
238 +NAN 0 0
239 +NAN 0 0
240 +NAN 0 0
241 +NAN 0 0
242 +NAN 0 0
243 +NAN 0 0
244 +NAN 0 0
245 +NAN 0 0
246 +NAN 0 0
247 +NAN 0 0
248 +NAN 0 0
249 +NAN 0 0
250 +NAN 0 0
251 +NAN 0 0
252 +NAN 0 0
253 +NAN 0 0
254 +NAN 0 0
255 +NAN 0 0
[END] of [DATA]
[END] of [Spectrum]

@ -0,0 +1,297 @@
[Spectrum]
Version = 1
IDData = DLAB_2015-04-27_13-10-34_825_538
IDDevice = SAM_84E3
IDDataType = SPECTRUM
IDDataTypeSub1 = CAL
IDDataTypeSub2 = Air
IDDataTypeSub3 =
DateTime = 2015-04-27 13:09:28
PositionLatitude = 0
PositionLongitude = 0
Comment =
CommentSub1 =
CommentSub2 =
CommentSub3 =
IDMethodType =
MethodName =
Mission = No Mission
MissionSub = 1
RecordType = 0
[Attributes]
CalFactor = 1
IDBasisSpec =
IDDataBack = DLAB_2015-04-23_13-17-20_480_231
IDDataCal =
IntegrationTime = 128
P31 = -1
P31e = 0
PathLength = +INF
RAWDynamic = 65535
Temperature = +NAN
Unit1 = $05 $00 Pixel
Unit2 = $04 $09 1/Intensity (m^2 nm)/mW
Unit3 = $04 $09 1/Intensity (m^2 nm)/mW
Unit4 = $f1 $00 Status
[END] of [Attributes]
[DATA]
0 6 0 0
1 +NAN 0 0
2 +NAN 0 0
3 +NAN 0 0
4 0.0856984615434185 0 0
5 0.102722719497288 0 0
6 0.116129124423835 0 0
7 0.122931179530873 0 0
8 0.126475310394687 0 0
9 0.124494492036215 0 0
10 0.123160525582801 0 0
11 0.121967578354153 0 0
12 0.120882267927115 0 0
13 0.123086078167351 0 0
14 0.126518805192916 0 0
15 0.132323749716293 0 0
16 0.140760429795789 0 0
17 0.150208622043398 0 0
18 0.163454316630823 0 0
19 0.178463009212756 0 0
20 0.1932743440142 0 0
21 0.205987263676649 0 0
22 0.215104139315375 0 0
23 0.219389592681559 0 0
24 0.218164237821863 0 0
25 0.214796501065329 0 0
26 0.21060690930009 0 0
27 0.205201545125586 0 0
28 0.200608681087391 0 0
29 0.197478316542278 0 0
30 0.195170832286292 0 0
31 0.19546722785733 0 0
32 0.196697328993289 0 0
33 0.199374284727889 0 0
34 0.204660824136072 0 0
35 0.211705855481629 0 0
36 0.21932807459082 0 0
37 0.229450371018024 0 0
38 0.241018855906113 0 0
39 0.25397239158187 0 0
40 0.268396698398822 0 0
41 0.282503502801444 0 0
42 0.295560553875446 0 0
43 0.307026707475355 0 0
44 0.316483147141842 0 0
45 0.322821107559973 0 0
46 0.326809005794211 0 0
47 0.328269399869299 0 0
48 0.327178878835099 0 0
49 0.324149521414206 0 0
50 0.319702789097048 0 0
51 0.313978402520469 0 0
52 0.307330309149164 0 0
53 0.29947443505298 0 0
54 0.289998834356583 0 0
55 0.280154480370137 0 0
56 0.270475995880695 0 0
57 0.261761208188211 0 0
58 0.254815161374031 0 0
59 0.249583896529849 0 0
60 0.24525681421245 0 0
61 0.242539716623981 0 0
62 0.241131750550181 0 0
63 0.241077260327955 0 0
64 0.242662483396638 0 0
65 0.245504715798072 0 0
66 0.249539007561731 0 0
67 0.253903518897602 0 0
68 0.257443988436811 0 0
69 0.259631278252238 0 0
70 0.260559718293713 0 0
71 0.260859920977723 0 0
72 0.261108976709407 0 0
73 0.261719881447421 0 0
74 0.262761947485516 0 0
75 0.264709334453111 0 0
76 0.266642024921852 0 0
77 0.268719957796186 0 0
78 0.2706935594135 0 0
79 0.272559206753269 0 0
80 0.273926752363069 0 0
81 0.274510726882438 0 0
82 0.27361548863403 0 0
83 0.270955127537445 0 0
84 0.267364194505017 0 0
85 0.264564133830711 0 0
86 0.262272278550497 0 0
87 0.259972680945282 0 0
88 0.257442500950317 0 0
89 0.254652606066068 0 0
90 0.252207737317713 0 0
91 0.249626914074076 0 0
92 0.247263261344856 0 0
93 0.245123589531297 0 0
94 0.243225859423995 0 0
95 0.241153458897532 0 0
96 0.238593405107967 0 0
97 0.234996962617532 0 0
98 0.229953124670146 0 0
99 0.223736577185262 0 0
100 0.216651883736929 0 0
101 0.209530202840276 0 0
102 0.202147957765555 0 0
103 0.193938091501462 0 0
104 0.185808313583987 0 0
105 0.179063973127102 0 0
106 0.173667751834249 0 0
107 0.169373202787616 0 0
108 0.16556857004577 0 0
109 0.162018892461483 0 0
110 0.158542136666029 0 0
111 0.155356369872988 0 0
112 0.152296069722626 0 0
113 0.14932531019408 0 0
114 0.146633601920912 0 0
115 0.1440233609775 0 0
116 0.141579921906003 0 0
117 0.139139938858686 0 0
118 0.136651362657312 0 0
119 0.134402549853242 0 0
120 0.132301569181149 0 0
121 0.130325395329265 0 0
122 0.128697263602329 0 0
123 0.127269587118836 0 0
124 0.126227313287007 0 0
125 0.125693189488144 0 0
126 0.125619878444632 0 0
127 0.125673694202955 0 0
128 0.125989585903982 0 0
129 0.126157510565818 0 0
130 0.126128122432138 0 0
131 0.125911359052987 0 0
132 0.125205640595771 0 0
133 0.124207042788258 0 0
134 0.123025809845466 0 0
135 0.121484973532127 0 0
136 0.119976382902789 0 0
137 0.118416618404532 0 0
138 0.116875206352005 0 0
139 0.115425032853017 0 0
140 0.114136707898209 0 0
141 0.112865754769564 0 0
142 0.111515866879238 0 0
143 0.10982823398611 0 0
144 0.107729298116846 0 0
145 0.105380597977288 0 0
146 0.102808398077772 0 0
147 0.100035370952558 0 0
148 0.0971692294787904 0 0
149 0.0942315637988505 0 0
150 0.0913407939430463 0 0
151 0.0885709820904402 0 0
152 0.0858423189221838 0 0
153 0.083193782109924 0 0
154 0.0807162121969417 0 0
155 0.0783655971035001 0 0
156 0.076046330827928 0 0
157 0.0737689263015087 0 0
158 0.0715376867191755 0 0
159 0.0693183125783651 0 0
160 0.0670042235321775 0 0
161 0.0646486576140405 0 0
162 0.0622444954175436 0 0
163 0.0597739142794252 0 0
164 0.0573203755684898 0 0
165 0.0548503119037425 0 0
166 0.0524681120633213 0 0
167 0.050129475053349 0 0
168 0.0479336895901596 0 0
169 0.0458524499090549 0 0
170 0.0438636158517219 0 0
171 0.0419799785957937 0 0
172 0.0402765338845226 0 0
173 0.0386402211789019 0 0
174 0.0371620433604702 0 0
175 0.0357614856325005 0 0
176 0.0344495090859111 0 0
177 0.0331310153399323 0 0
178 0.0319633360960362 0 0
179 0.0307159945304004 0 0
180 0.0294958696392003 0 0
181 0.028259208698245 0 0
182 0.027065871655394 0 0
183 0.0258962749345283 0 0
184 0.0248023337181348 0 0
185 0.023686525089067 0 0
186 0.0225866237851268 0 0
187 0.021466248158336 0 0
188 0.0203929110926785 0 0
189 0.0193224731252769 0 0
190 0.0181545308634649 0 0
191 0.0170788119519516 0 0
192 0.0160531626406233 0 0
193 0.0151536650692306 0 0
194 0.0143423958939967 0 0
195 0.013614917852694 0 0
196 +NAN 0 0
197 +NAN 0 0
198 +NAN 0 0
199 +NAN 0 0
200 +NAN 0 0
201 +NAN 0 0
202 +NAN 0 0
203 +NAN 0 0
204 +NAN 0 0
205 +NAN 0 0
206 +NAN 0 0
207 +NAN 0 0
208 +NAN 0 0
209 +NAN 0 0
210 +NAN 0 0
211 +NAN 0 0
212 +NAN 0 0
213 +NAN 0 0
214 +NAN 0 0
215 +NAN 0 0
216 +NAN 0 0
217 +NAN 0 0
218 +NAN 0 0
219 +NAN 0 0
220 +NAN 0 0
221 +NAN 0 0
222 +NAN 0 0
223 +NAN 0 0
224 +NAN 0 0
225 +NAN 0 0
226 +NAN 0 0
227 +NAN 0 0
228 +NAN 0 0
229 +NAN 0 0
230 +NAN 0 0
231 +NAN 0 0
232 +NAN 0 0
233 +NAN 0 0
234 +NAN 0 0
235 +NAN 0 0
236 +NAN 0 0
237 +NAN 0 0
238 +NAN 0 0
239 +NAN 0 0
240 +NAN 0 0
241 +NAN 0 0
242 +NAN 0 0
243 +NAN 0 0
244 +NAN 0 0
245 +NAN 0 0
246 +NAN 0 0
247 +NAN 0 0
248 +NAN 0 0
249 +NAN 0 0
250 +NAN 0 0
251 +NAN 0 0
252 +NAN 0 0
253 +NAN 0 0
254 +NAN 0 0
255 +NAN 0 0
[END] of [DATA]
[END] of [Spectrum]

@ -0,0 +1,10 @@
RAMSES光谱数据校准
1.波长校准:λ(N) = C0s + C1s·N + C2s· N2 + C3s·N3 (N=1…255,C0s…C3s等数据在对应设备文件如SAM_84E3.ini中)
2.仪器导出的16位raw数据I(n):如84E3.dat中line42-296
3.数据标准化:M(n)=I(n)/65535
4.背景扣除:C(n) := M(n) - B(n)
B = B0 + t/t0 · B1(t为积分时间(如84E3.dat中line26),t0=8192,B0,B1在Back_SAM_××××.dat(如Back_SAM_84E3.dat)文档中,第二列为B0,第三列为B1)
5.电子偏移扣除:D(n) := C(n) - Offset
Offset=Mean(C(i),i=n1..n2), n1和n2是设备属性(在对应设备文件.ini中,如SAM_84E3.ini里DarkPixelStart = 237,DarkPixelStop = 254,那么n1=237,n2=254), Offset=均值(C(i),i=237...254),C(i)为第4步计算的值。
6.积分时间标准化E(n) = D(n) · t0 / t(t为积分时间(如84E3.dat中line26),t0=8192)
7.灵敏度校准F(n) := E(n) / S(n) (S(n)为校准文件中数据,空气中测量时使用Cal_SAM_****.dat,水中测量时使用CalAQ_SAM_****.dat)

File diff suppressed because one or more lines are too long

@ -0,0 +1,31 @@
[Device]
Version = 0
IDDevice = SAM_84E3
IDDeviceType = SAM
IDDeviceTypeSub1 = ACC-2
IDDeviceTypeSub2 = VIS
IDDeviceTypeSub3 =
RecordType = 0
DateTime = 2015-04-27 13:23:13
IDDeviceMaster =
Comment = ACC-2 VIS
[Attributes]
DarkPixelStart = 237
DarkPixelStop = 254
Firmware = 2.06
IDDataBack = DLAB_2015-04-23_13-17-20_480_231
IDDataCal = DLAB_2015-04-27_13-10-34_825_538
IDDataCalAQ = DLAB_2015-04-27_13-12-54_588_573
IntegrationTime = 0
Reverse = 0
SerialNo_MMS = 099433
WavelengthRange = 310..1100
c0s = 301.582
c1s = 3.30685
c2s = 0.000501047
c3s = -2.1516e-06
cs = 102646
[END] of [Attributes]
[END] of [Device]

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

@ -0,0 +1,45 @@
integratedTime = 256
int2 = 1088
# Mn = 0.016601815823605707
# Bn = 0.017751576487153618
# Cn = -0.0011497606635479107
# Dn = 0.0009618522119974396
# En = 0.030403547263606567
# Fn = 0.295976853147947
B0 = 0.0170653447303655
B1 = 0.0216913569372244
offset = -0.0016466910934066525 # ???????????? 对于单个数据模拟,自行设定
cal = 0.102722719497288
calaq = 0.0761186332523634
t0 = 8192
Mn = int2/65535
print( f"Mn {Mn}")
Bn = B0 +B1*(integratedTime/t0)
print( f"Bn {Bn}")
Cn = Mn-Bn
print( f"Cn {Cn}")
print( f"=====================")
Dn = Cn - offset
print( f"Dn {Dn}")
En = Dn * (t0/integratedTime)
print( f"En {En}")
Fn = En / cal
print( f"Fn {Fn}")
# integratedTime : 256 int : 1088
# int : 1088
# Mn : 0.016601815823605707
# Bn : 0.017751576487153618 B0 : 0.0170653447303655 B1 : 0.0216913569372244
# Cn : -0.0011497606635479107
# Dn : 0.0009618522119974396
# En : 0.030403547263606567
# Fn : 0.295976853147947
# cal : 0.102722719497288 calaq : 0.0761186332523634
# 5 1088 0 0 0.016601816 0.0177432 -0.001141384 0.000505308 0.016169857 0.102722719 0.157412665 0.157412431

Binary file not shown.

@ -0,0 +1,297 @@
[Spectrum]
Version = 1
IDData = DLAB_2018-07-02_16-15-52_275_586
IDDevice = SAM_85C2
IDDataType = SPECTRUM
IDDataTypeSub1 = BACK
IDDataTypeSub2 =
IDDataTypeSub3 =
DateTime = 2018-07-02 16:09:35
PositionLatitude = 0
PositionLongitude = 0
Comment =
CommentSub1 =
CommentSub2 =
CommentSub3 =
IDMethodType = SAM Calibration Station
MethodName = SAM_Calibration_Station
Mission =
MissionSub = 0
RecordType = 0
[Attributes]
CalFactor = 1
IDBasisSpec =
IDDataBack =
IDDataCal =
IntegrationTime = 8192
P31 = -1
P31e = 0
PathLength = +INF
RAWDynamic = 65535
Temperature = +NAN
Unit1 = $05 $00 Pixel
Unit2 = $03 $05 Intensity counts
Unit3 = $03 $05 Intensity counts
Unit4 = $f1 $00 Status
[END] of [Attributes]
[DATA]
0 12 0 0
1 0.0167342121256965 0.0168913253365429 0
2 0.0166272578208838 0.0166791480947141 0
3 0.0166286620082263 0.0169747489414428 0
4 0.0167322590351011 0.0167706507685505 0
5 0.0166920032801035 0.0167499611810745 0
6 0.0166775698812814 0.0168839981052519 0
7 0.0166447407209946 0.0168264213414614 0
8 0.0166906961017275 0.0170086107873105 0
9 0.0166809423386799 0.0168850491418118 0
10 0.0166877673382172 0.0168500119713871 0
11 0.0166557529834584 0.0170821184095186 0
12 0.0166967839378053 0.0168872250545704 0
13 0.0166669086656532 0.0168648846362113 0
14 0.0166892149702227 0.016992469931055 0
15 0.0166767580418549 0.0171467378688764 0
16 0.0166905701296523 0.0169317564663933 0
17 0.0166797450805357 0.0170060449035047 0
18 0.0166853286793596 0.0169903947404513 0
19 0.0166606032573071 0.0169514527972631 0
20 0.0166908025324281 0.016996943775266 0
21 0.0166781405941041 0.0168920295188188 0
22 0.0166909536291278 0.0169695187209796 0
23 0.016658955500689 0.0169094752244822 0
24 0.0166904685842953 0.0170826763090113 0
25 0.0166691280074769 0.0170169785814538 0
26 0.0167018280551104 0.0170845636711249 0
27 0.0166777291783793 0.0169070530050327 0
28 0.0166913413160407 0.0170568509390025 0
29 0.0166761335902522 0.0169742290964211 0
30 0.016706050038872 0.0169703541737244 0
31 0.0166582396233696 0.016693127352278 0
32 0.0166925097855527 0.0167815989351284 0
33 0.0166940355830564 0.016990941642551 0
34 0.0167090314943029 0.0169070091900225 0
35 0.0166814589637695 0.016947108477903 0
36 0.0167022263850933 0.0168397329001644 0
37 0.0166789583657336 0.0169154708984108 0
38 0.0167125271321517 0.0170660484253514 0
39 0.0167029600590216 0.0169203949374878 0
40 0.0167033172125368 0.0169889800916751 0
41 0.0166891849602547 0.0168200981896078 0
42 0.016717239220566 0.0166983649043365 0
43 0.0166950287036272 0.0169160836103067 0
44 0.0167214463738202 0.0169049146230597 0
45 0.0167003460512228 0.0172020140827875 0
46 0.0167208076151397 0.0172544859614827 0
47 0.0167006723223871 0.0168596984053201 0
48 0.0167002158917102 0.0170316986792703 0
49 0.016694364122416 0.0167926783721753 0
50 0.0167280688060731 0.0169303102219324 0
51 0.0166797285052627 0.0169470697251848 0
52 0.0167266316426611 0.0169785680043656 0
53 0.0167086472969212 0.0169713491759485 0
54 0.0167237098582131 0.0168609210361233 0
55 0.0167077462999733 0.016910657531511 0
56 0.0167322560689996 0.0168641905785195 0
57 0.0167032709762488 0.0169026608557411 0
58 0.0167360191794125 0.017002157237797 0
59 0.0167094863546909 0.017056576353301 0
60 0.0167321362036039 0.0168407017181195 0
61 0.0167044837628067 0.0171230816037162 0
62 0.0167368275293078 0.0170056650570416 0
63 0.0167091722968856 0.0169474424146144 0
64 0.0167287705507912 0.0169244955685839 0
65 0.0167181887219972 0.0171115600016459 0
66 0.0167349817417959 0.0168694972570483 0
67 0.0167306388457792 0.0167703526170068 0
68 0.0167342461486254 0.0170216701042216 0
69 0.0167197319671568 0.016901836749513 0
70 0.0167519464465281 0.0170673187115242 0
71 0.0166999253882404 0.0170244000761134 0
72 0.0167488868255989 0.0168948935541682 0
73 0.016719535855505 0.0167532385787514 0
74 0.0167381012081846 0.0169219944472036 0
75 0.016714746997405 0.0167925835851213 0
76 0.0167499849810578 0.0168808996334135 0
77 0.0167221554465538 0.0168016955361912 0
78 0.0167373439799208 0.0170095228726826 0
79 0.0167244929090075 0.0168141370789144 0
80 0.0167622135196106 0.016859864413586 0
81 0.0167296907401605 0.0169525347312605 0
82 0.0167466896422982 0.0169839569014993 0
83 0.0167188426601383 0.0168162084291586 0
84 0.0167413380972971 0.0169273999277077 0
85 0.0167347596331369 0.0169807152889901 0
86 0.0167533143427464 0.0170102816927999 0
87 0.0167352247876418 0.0169689170064767 0
88 0.0167353516320998 0.0170848820718366 0
89 0.0167414953006763 0.0171890165607514 0
90 0.016749848191436 0.0172478463290971 0
91 0.0167323993142541 0.0171135568140042 0
92 0.0167619493621011 0.016861817410934 0
93 0.0167279053215378 0.0170351581448981 0
94 0.0167620692274968 0.0171095326409737 0
95 0.0167349965723033 0.0169284916371655 0
96 0.0167560658380733 0.0167662697912137 0
97 0.0167266768320897 0.0169589875825269 0
98 0.0167505611026539 0.0169346709501011 0
99 0.0167372640696571 0.0170533392793984 0
100 0.0167451675088022 0.0170522329067499 0
101 0.0167349737158742 0.016856227418614 0
102 0.0167567040733241 0.0169100022265374 0
103 0.0167333020559676 0.0168937077559035 0
104 0.0167609921837014 0.0171910392082551 0
105 0.0167265123006951 0.0169340819786091 0
106 0.0167540701751976 0.0172338230819611 0
107 0.0167341789751504 0.0170901543616921 0
108 0.0167567098310506 0.0167868528959956 0
109 0.0167278048230401 0.0171335879543943 0
110 0.0167495269800919 0.0171073040105534 0
111 0.0167406579876722 0.0169701885145821 0
112 0.0167589262067727 0.0170029078535099 0
113 0.0167242688811064 0.0169215596137755 0
114 0.0167535141184058 0.0169346131701474 0
115 0.016737757663841 0.0169591706978485 0
116 0.0167484752353975 0.0169375894487302 0
117 0.0167302035267659 0.0168295302870074 0
118 0.0167375224694401 0.016924547064313 0
119 0.0167320194787863 0.0169383559495664 0
120 0.016746486202631 0.0167915482591228 0
121 0.016722477006851 0.0170090248478852 0
122 0.0167550999358457 0.0169868139543769 0
123 0.0167311361039708 0.0168841494503271 0
124 0.0167435888449013 0.0172432628600796 0
125 0.016719886378911 0.0172512663437595 0
126 0.0167514476180474 0.0166901924448404 0
127 0.016733504972205 0.0170508184325355 0
128 0.0167560567652923 0.0169314384148052 0
129 0.0167352814925233 0.0170312671625162 0
130 0.016753138644852 0.0167689058488605 0
131 0.0167400480176239 0.0171305203799934 0
132 0.0167452113024184 0.0168542409054016 0
133 0.0167247150176664 0.0171618674886609 0
134 0.0167355227936036 0.0170515112682947 0
135 0.0167245276298426 0.0172975114287112 0
136 0.0167448593832 0.0169936038844669 0
137 0.0167307758098776 0.0169549054549809 0
138 0.0167412056695892 0.0169298114988878 0
139 0.0167255880983649 0.0170253563256194 0
140 0.0167422534013228 0.0168266819622194 0
141 0.0167193516082593 0.0170997161585044 0
142 0.0167385023297925 0.0168946802396562 0
143 0.016705906968094 0.016992920125921 0
144 0.0167404309936697 0.016921162311133 0
145 0.0167155682585657 0.0169877344187152 0
146 0.0167350478684115 0.0169613225210795 0
147 0.0167151202027635 0.0170480064166006 0
148 0.0167373663129203 0.0169424862561673 0
149 0.016693902980872 0.0169208393718146 0
150 0.0167265196287105 0.0171000242600703 0
151 0.0167148515088635 0.0170023016004004 0
152 0.0167491921595762 0.0168152008584853 0
153 0.0167138374511057 0.0168970548037361 0
154 0.01672268288919 0.0170935871193654 0
155 0.016713883163964 0.0170835660504739 0
156 0.0167278643195466 0.0168896237081778 0
157 0.016726385107284 0.0169240319324598 0
158 0.0167313726941841 0.0171229468420115 0
159 0.0167074498643005 0.0169091491430516 0
160 0.0167181608057478 0.0171242712423403 0
161 0.0167095725461107 0.0169583039985427 0
162 0.0167157395945461 0.016980123873633 0
163 0.0167250866527359 0.0168419522788097 0
164 0.0167240209499168 0.0168699013676008 0
165 0.016707788697777 0.0170141937971587 0
166 0.016726686602777 0.0168653728855483 0
167 0.0167067578902697 0.0170303089928306 0
168 0.0167323436562319 0.0169958541605496 0
169 0.0166997167142764 0.0169007481821674 0
170 0.016728047519933 0.0168055502097199 0
171 0.0167000236185428 0.016751384907064 0
172 0.0167135718977838 0.0170459629962434 0
173 0.0167101554722925 0.0171742067381729 0
174 0.0167162518577217 0.017009789952227 0
175 0.016698760233783 0.017035314726827 0
176 0.0167259262339352 0.0170120934696568 0
177 0.0167001843114531 0.0168354903503301 0
178 0.0167124269826071 0.0170146720964735 0
179 0.0166979893963477 0.0168405631160553 0
180 0.0167173175605408 0.0169598953038541 0
181 0.0167030137978017 0.0170114023795155 0
182 0.0167130235179605 0.0169785282042766 0
183 0.0166889363311589 0.0170050780057293 0
184 0.0167049515344599 0.0167849335890737 0
185 0.0166891643720208 0.0170350095928116 0
186 0.0167144257860609 0.0167703564573663 0
187 0.0166950775570635 0.0168229929478329 0
188 0.0167066258115149 0.0170766078428147 0
189 0.0166899927867203 0.0169629183649976 0
190 0.0167204148684066 0.0170641607141142 0
191 0.0166873287041492 0.0169760169583123 0
192 0.0167186125255577 0.0169847640752334 0
193 0.0166735365066795 0.017033343924176 0
194 0.0167133203025865 0.0169504539546795 0
195 0.0166931954784274 0.0168980927481615 0
196 0.0167035377509067 0.0170428481155964 0
197 0.0166783023338738 0.0169532237266603 0
198 0.0167123730693506 0.0169255748841544 0
199 0.016688532417926 0.0170238355432726 0
200 0.0167097555720206 0.017064109218385 0
201 0.0166789950058109 0.0168959845653789 0
202 0.0166970927613137 0.016870468169745 0
203 0.0166853232705863 0.0172003683141964 0
204 0.0166682147971699 0.0169669170520062 0
205 0.0166882733202367 0.0170209620815863 0
206 0.0166994431350328 0.0171222604650386 0
207 0.016669055250752 0.0171542234277143 0
208 0.0167072431095787 0.0169524532109029 0
209 0.0166842073185183 0.017089563819144 0
210 0.0167115228450812 0.0169282528366317 0
211 0.0166787196818017 0.017089845561879 0
212 0.0166820776576458 0.0170309442231979 0
213 0.0166828917652676 0.0171422081648913 0
214 0.0166828919397441 0.0169198881846007 0
215 0.0166886184348693 0.0169923559422037 0
216 0.0167101844354013 0.0170145441426787 0
217 0.0166679419158325 0.0167905391173934 0
218 0.0167196613041506 0.0169942132796888 0
219 0.0166913228215255 0.0170522837042319 0
220 0.0166967333396033 0.016866790501875 0
221 0.0166900756630856 0.0168580034103032 0
222 0.0166983214252384 0.0170697227765472 0
223 0.0166703969754865 0.0168474858876703 0
224 0.0167076025312892 0.0171097497958451 0
225 0.0166881337389899 0.0168593377606543 0
226 0.0167046749891148 0.0169034298004424 0
227 0.0166851051748882 0.0170586911694318 0
228 0.0166903757627661 0.016946299558551 0
229 0.0166863544270468 0.016882736372607 0
230 0.0167023502634498 0.0172839598475418 0
231 0.0166933265103228 0.0170588570031359 0
232 0.0166808331163543 0.0169339589125446 0
233 0.0166929039280982 0.0171035821785497 0
234 0.0166964178859856 0.01705823067542 0
235 0.0166797501403559 0.0169105737418501 0
236 0.0166952298750991 0.0171094713697842 0
237 0.0166972180354827 0.0168824476474002 0
238 0.0166983521331127 0.0169520237888903 0
239 0.0166914643220144 0.0171060674148068 0
240 0.0167088154923236 0.0170696843729526 0
241 0.0166859086394399 0.0168485220864778 0
242 0.0167097267833884 0.0170749217504493 0
243 0.0166896925125632 0.0168917989226893 0
244 0.0167073085382882 0.0169097503338691 0
245 0.0167009005377256 0.0168361954054149 0
246 0.0167047615294878 0.016864311200719 0
247 0.0166963988680408 0.0169334457008711 0
248 0.0167178228446541 0.0173226382024216 0
249 0.0167224817177181 0.017014697931619 0
250 0.0167383386707806 0.0171750945594558 0
251 0.0167398232918166 0.0171205895595492 0
252 0.0167536060675521 0.0170395124142804 0
253 0.0167773394158932 0.017286882535654 0
254 0.016865794494642 0.017103441481744 0
255 0.0172802874625528 0.0182295080172893 0
[END] of [DATA]
[END] of [Spectrum]

@ -0,0 +1,300 @@
[Spectrum]
Version = 1
IDData = 4AE0_2023-05-30_15-17-06_301_081
IDDevice = SAM_85C2
IDDataType = SPECTRUM
IDDataTypeSub1 = CALIBRATED
IDDataTypeSub2 =
IDDataTypeSub3 =
DateTime = 2023-05-30 15:17:06
PositionLatitude = 0
PositionLongitude = 0
Comment =
CommentSub1 =
CommentSub2 =
CommentSub3 =
IDMethodType = SAM Control
MethodName = SAM_85C2
Mission = No Mission
MissionSub = 1
RecordType = 0
[Attributes]
CalFactor = 1
IDBasisSpec =
IDDataBack = DLAB_2018-07-02_16-15-52_275_586
IDDataCal = DLAB_2018-07-03_17-15-16_983_888
IntegrationTime = 4096
P31 = -1
P31e = 0
PathLength = +INF
PathLengthCustomOn = 0
RAWDynamic = 65535
Salinity = 0
Temperature = -NAN
Unit1 = $01 $01 Wavelength nm
Unit2 = $03 $03 Intensity mW/(m^2 nm Sr)
Unit3 = $f0 $03 Error mW/(m^2 nm Sr)
Unit4 = $f1 $00 Status
p999 = 12
[END] of [Attributes]
[DATA]
0 11 0 0
304.48099608248 -NAN 0 0
307.81937464637 -NAN 0 0
311.15832552384 -NAN 0 0
314.49783768875 -NAN 0 0
317.83790011496 -0.000374079098737787 0 0
321.17850177633 -0.000350299564017366 0 0
324.51963164672 -0.000308288008900915 0 0
327.86127869999 -0.000406703215465772 0 0
331.20343191 -0.000782517236811813 0 0
334.54608025061 -0.000573793416652615 0 0
337.88921269568 -0.00047858675513217 0 0
341.23281821907 -0.000458967816052652 0 0
344.57688579464 -0.000504287959184394 0 0
347.92140439625 -0.000447624498184785 0 0
351.26636299776 -0.000329929609474648 0 0
354.61175057303 -0.000311089539389908 0 0
357.95755609592 -0.000241426218650632 0 0
361.30376854029 -0.000155549081409335 0 0
364.65037688 -0.000206674384776802 0 0
367.99737008891 -0.000184117260326514 0 0
371.34473714088 -0.000400515105322605 0 0
374.69246700977 -0.000261175276588761 0 0
378.04054866944 -0.000236936402106257 0 0
381.38897109375 -0.000119852454613561 0 0
384.73772325656 -0.000208571462271621 0 0
388.08679413173 -0.000206679452776187 0 0
391.43617269312 -0.000226110950449552 0 0
394.78584791459 -0.000173668389025741 0 0
398.13580877 -3.47786870511508e-05 0 0
401.48604423321 0.000431565020333614 0 0
404.83654327808 0.00060663534388101 0 0
408.18729487847 0.000686332535266336 0 0
411.53828800824 0.000633997985788337 0 0
414.88951164125 0.000683426784665538 0 0
418.24095475136 0.000810376424462623 0 0
421.59260631243 0.000977487972122931 0 0
424.94445529832 0.0011488859191218 0 0
428.29649068289 0.0014900751089907 0 0
431.64870144 0.00236075482596874 0 0
435.00107654351 0.00317145485715499 0 0
438.35360496728 0.00306344143526345 0 0
441.70627568517 0.00239474261673403 0 0
445.05907767104 0.00205440437580532 0 0
448.41199989875 0.00204355781858809 0 0
451.76503134216 0.00204429770678325 0 0
455.11816097513 0.00209619386228008 0 0
458.47137777152 0.00207745353977213 0 0
461.82467070519 0.00199742689110857 0 0
465.17802875 0.00192757766039574 0 0
468.53144087981 0.0020065090567182 0 0
471.88489606848 0.00182051371982471 0 0
475.23838328987 0.00186917458547627 0 0
478.59189151784 0.00194444798970978 0 0
481.94540972625 0.00234835283496405 0 0
485.29892688896 0.00266579974374106 0 0
488.65243197983 0.0027830862127088 0 0
492.00591397272 0.00271431366916961 0 0
495.35936184149 0.00260138246593869 0 0
498.71276456 0.00239968576472302 0 0
502.06611110211 0.00226612671845309 0 0
505.41939044168 0.00233318764447794 0 0
508.77259155257 0.002477902713819 0 0
512.12570340864 0.00267311416614577 0 0
515.47871498375 0.00282127726501227 0 0
518.83161525176 0.00294799569217471 0 0
522.18439318653 0.00306502167633045 0 0
525.53703776192 0.00322048967901495 0 0
528.88953795179 0.00358661823161985 0 0
532.24188273 0.00444376849744876 0 0
535.59406107041 0.00709769628665171 0 0
538.94606194688 0.0122939906493291 0 0
542.29787433327 0.0178687992140181 0 0
545.64948720344 0.0190586666416918 0 0
549.00088953125 0.0153888081761835 0 0
552.35207029056 0.0103872547168006 0 0
555.70301845523 0.00698417532956371 0 0
559.05372299912 0.00509764884563052 0 0
562.40417289609 0.00422591904697052 0 0
565.75435712 0.00386707466583264 0 0
569.10426464471 0.00384686852617558 0 0
572.45388444408 0.00447141724614518 0 0
575.80320549197 0.00590161416357564 0 0
579.15221676224 0.007873557921568 0 0
582.50090722875 0.00996619981983026 0 0
585.84926586536 0.0113439756242113 0 0
589.19728164593 0.012084175791068 0 0
592.54494354432 0.0123503468366184 0 0
595.89224053439 0.0128315769774279 0 0
599.23916159 0.0134171101680466 0 0
602.58569568501 0.0158548765344763 0 0
605.93183179328 0.0251673080552834 0 0
609.27755888867 0.0379065605827745 0 0
612.62286594504 0.042387765328768 0 0
615.96774193625 0.0369642797766271 0 0
619.31217583616 0.0295323766185935 0 0
622.65615661863 0.0249389916459621 0 0
625.99967325752 0.0225330956746252 0 0
629.34271472669 0.0203635029149668 0 0
632.68527 0.017488211846103 0 0
636.02732805131 0.0144173463999943 0 0
639.36887785448 0.0123843317165635 0 0
642.70990838337 0.0114019411929529 0 0
646.05040861184 0.0111789416833658 0 0
649.39036751375 0.0111983305027625 0 0
652.72977406296 0.0111816710067684 0 0
656.06861723333 0.0109885513820978 0 0
659.40688599872 0.0109633402330548 0 0
662.74456933299 0.0110017793246396 0 0
666.08165621 0.0109832096077767 0 0
669.41813560361 0.0106716412939721 0 0
672.75399648768 0.0104078212338621 0 0
676.08922783607 0.0103919268874104 0 0
679.42381862264 0.0102905529527295 0 0
682.75775782125 0.0100064099889762 0 0
686.09103440576 0.00964945409395506 0 0
689.42363735003 0.00899980577717771 0 0
692.75555562792 0.00831372402870705 0 0
696.08677821329 0.00800337054781435 0 0
699.41729408 0.00810514020113715 0 0
702.74709220191 0.00971396906367039 0 0
706.07616155288 0.0117824377898393 0 0
709.40449110677 0.0126979589566504 0 0
712.73206983744 0.0109268574102577 0 0
716.05888671875 0.0081569795955378 0 0
719.38493072456 0.00608231125321172 0 0
722.71019082873 0.00536903424151555 0 0
726.03465600512 0.00515095650570321 0 0
729.35831522759 0.00546548370495543 0 0
732.68115747 0.0064179576919473 0 0
736.00317170621 0.00721254810630632 0 0
739.32434691008 0.00825843331877762 0 0
742.64467205547 0.00887563044281818 0 0
745.96413611624 0.00948465628057633 0 0
749.28272806625 0.00943521661796268 0 0
752.60043687936 0.00941805233807299 0 0
755.91725152943 0.00817507910055595 0 0
759.23316099032 0.0063828758650207 0 0
762.54815423589 0.00570037632756356 0 0
765.86222024 0.00633569879150338 0 0
769.17534797651 0.00732621550364458 0 0
772.48752641928 0.00831023416555818 0 0
775.79874454217 0.00836735731185972 0 0
779.10899131904 0.00820248787987211 0 0
782.41825572375 0.00795009752959998 0 0
785.72652673016 0.00744731623661109 0 0
789.03379331213 0.00671449314373285 0 0
792.34004444352 0.00645207600119107 0 0
795.64526909819 0.00616258170999556 0 0
798.94945625 0.00590238723485042 0 0
802.25259487281 0.00588270560496661 0 0
805.55467394048 0.00585040636258424 0 0
808.85568242687 0.00518275446860646 0 0
812.15560930584 0.00440486341620425 0 0
815.45444355125 0.00315120935801831 0 0
818.75217413696 0.00253079254867871 0 0
822.04879003683 0.00251838946943526 0 0
825.34428022472 0.00243187254323672 0 0
828.63863367449 0.00259689067651864 0 0
831.93183936 0.00289685708625053 0 0
835.22388625511 0.00315532785371054 0 0
838.51476333368 0.00296567127201329 0 0
841.80445956957 0.00334361133423194 0 0
845.09296393664 0.00319068613593708 0 0
848.38026540875 0.00309682930380023 0 0
851.66635295976 0.00286002840321542 0 0
854.95121556353 0.00253771928508401 0 0
858.23484219392 0.00264889595570155 0 0
861.51722182479 0.00240781581677323 0 0
864.79834343 0.0020407357823836 0 0
868.07819598341 0.00180265159879711 0 0
871.35676845888 0.00157073370925985 0 0
874.63404983027 0.00157924570585415 0 0
877.91002907144 0.00202043219973252 0 0
881.18469515625 0.00159325094929071 0 0
884.45803705856 0.00085772022208578 0 0
887.73004375223 0.000251532984769505 0 0
891.00070421112 0.000311108954835756 0 0
894.27000740909 -0.000875645379648505 0 0
897.53794232 -0.00268532065037732 0 0
900.80449791771 -0.00208008227276827 0 0
904.06966317608 -0.00274502459967993 0 0
907.33342706897 -0.00305638482684573 0 0
910.59577857024 -0.00361809694485078 0 0
913.85670665375 -0.00429916070213808 0 0
917.11620029336 -0.00391814239802678 0 0
920.37424846293 -0.00452869412271439 0 0
923.63084013632 -0.00479470431408746 0 0
926.88596428739 -0.00469215687138475 0 0
930.13960989 -0.00632120636391946 0 0
933.39176591801 -0.00651219754894255 0 0
936.64242134528 -0.00647707031799787 0 0
939.89156514567 -0.00911082930810711 0 0
943.13918629304 -0.00782001901579526 0 0
946.38527376125 -0.00839643026395382 0 0
949.62981652416 -0.00830231747176574 0 0
952.87280355563 -0.00852361857772266 0 0
956.11422382952 -NAN 0 0
959.35406631969 -NAN 0 0
962.59232 -NAN 0 0
965.82897384431 -NAN 0 0
969.06401682648 -NAN 0 0
972.29743792037 -NAN 0 0
975.52922609984 -NAN 0 0
978.75937033875 -NAN 0 0
981.98785961096 -NAN 0 0
985.21468289033 -NAN 0 0
988.43982915072 -NAN 0 0
991.66328736599 -NAN 0 0
994.88504651 -NAN 0 0
998.10509555661 -NAN 0 0
1001.32342347968 -NAN 0 0
1004.54001925307 -NAN 0 0
1007.75487185064 -NAN 0 0
1010.96797024625 -NAN 0 0
1014.17930341376 -NAN 0 0
1017.38886032703 -NAN 0 0
1020.59662995992 -NAN 0 0
1023.80260128629 -NAN 0 0
1027.00676328 -NAN 0 0
1030.20910491491 -NAN 0 0
1033.40961516488 -NAN 0 0
1036.60828300377 -NAN 0 0
1039.80509740544 -NAN 0 0
1043.00004734375 -NAN 0 0
1046.19312179256 -NAN 0 0
1049.38430972573 -NAN 0 0
1052.57360011712 -NAN 0 0
1055.76098194059 -NAN 0 0
1058.94644417 -NAN 0 0
1062.12997577921 -NAN 0 0
1065.31156574208 -NAN 0 0
1068.49120303247 -NAN 0 0
1071.66887662424 -NAN 0 0
1074.84457549125 -NAN 0 0
1078.01828860736 -NAN 0 0
1081.19000494643 -NAN 0 0
1084.35971348232 -NAN 0 0
1087.52740318889 -NAN 0 0
1090.69306304 -NAN 0 0
1093.85668200951 -NAN 0 0
1097.01824907128 -NAN 0 0
1100.17775319917 -NAN 0 0
1103.33518336704 -NAN 0 0
1106.49052854875 -NAN 0 0
1109.64377771816 -NAN 0 0
1112.79491984913 -NAN 0 0
1115.94394391552 -NAN 0 0
1119.09083889119 -NAN 0 0
1122.23559375 -NAN 0 0
1125.37819746581 -NAN 0 0
1128.51863901248 -NAN 0 0
1131.65690736387 -NAN 0 0
1134.79299149384 -NAN 0 0
1137.92688037625 -NAN 0 0
1141.05856298496 -NAN 0 0
[END] of [DATA]
[END] of Spectrum

@ -0,0 +1,297 @@
[Spectrum]
Version = 1
IDData = DLAB_2018-07-03_17-15-53_767_889
IDDevice = SAM_85C2
IDDataType = SPECTRUM
IDDataTypeSub1 = CAL
IDDataTypeSub2 = Aqua
IDDataTypeSub3 =
DateTime = 2018-07-03 17:15:53
PositionLatitude = 0
PositionLongitude = 0
Comment =
CommentSub1 =
CommentSub2 =
CommentSub3 =
IDMethodType =
MethodName =
Mission = No Mission
MissionSub = 1
RecordType = 0
[Attributes]
CalFactor = 1
IDBasisSpec =
IDDataBack = DLAB_2018-07-02_16-15-52_275_586
IDDataCal =
IntegrationTime = 64
P31 = -1
P31e = 0
PathLength = +INF
RAWDynamic = 65535
Temperature = +NAN
Unit1 = $05 $00 Pixel
Unit2 = $04 $04 1/Intensity (m^2 nm Sr)/mW
Unit3 = $04 $04 1/Intensity (m^2 nm Sr)/mW
Unit4 = $f1 $00 Status
[END] of [Attributes]
[DATA]
0 5 0 0
1 +NAN 0 0
2 +NAN 0 0
3 +NAN 0 0
4 +NAN 0 0
5 0.356482954042082 0 0
6 0.402818840212745 0 0
7 0.455981796582809 0 0
8 0.513790947820199 0 0
9 0.581106393394544 0 0
10 0.652400597895999 0 0
11 0.729165245163259 0 0
12 0.809695951374305 0 0
13 0.88453433247143 0 0
14 0.944944312747719 0 0
15 0.981931183530144 0 0
16 0.97890644433893 0 0
17 0.956596648488616 0 0
18 0.914337507780978 0 0
19 0.864381326448261 0 0
20 0.827167246646249 0 0
21 0.800694416668645 0 0
22 0.78986648983256 0 0
23 0.793342729280327 0 0
24 0.809072983311401 0 0
25 0.834767169405595 0 0
26 0.872805947088459 0 0
27 0.921221494674019 0 0
28 0.980173791184887 0 0
29 1.05102154902541 0 0
30 1.12930675423331 0 0
31 1.21095167248078 0 0
32 1.29504423201304 0 0
33 1.3761833690735 0 0
34 1.44941098633961 0 0
35 1.51258129060157 0 0
36 1.56003462286042 0 0
37 1.58613256964525 0 0
38 1.59595706282003 0 0
39 1.58646705138274 0 0
40 1.56463589386165 0 0
41 1.53756622064089 0 0
42 1.50241608927798 0 0
43 1.4657899060372 0 0
44 1.42819643066784 0 0
45 1.39093699353292 0 0
46 1.35640193401339 0 0
47 1.3291366616142 0 0
48 1.3074826757329 0 0
49 1.29371125003749 0 0
50 1.28918595210661 0 0
51 1.29271559006051 0 0
52 1.30520259911165 0 0
53 1.32173660739306 0 0
54 1.33791597187085 0 0
55 1.35239128956384 0 0
56 1.36440760724462 0 0
57 1.37762092569269 0 0
58 1.39461338947335 0 0
59 1.4169141265919 0 0
60 1.44343724653861 0 0
61 1.47409755299312 0 0
62 1.50670023106802 0 0
63 1.53949706626466 0 0
64 1.57379985877493 0 0
65 1.60506087092559 0 0
66 1.63474977349559 0 0
67 1.66262314886676 0 0
68 1.6867112751644 0 0
69 1.70497845407306 0 0
70 1.71722612221823 0 0
71 1.72015067971529 0 0
72 1.71182391495322 0 0
73 1.69060216043102 0 0
74 1.65693636912006 0 0
75 1.615276853664 0 0
76 1.56885138733016 0 0
77 1.51988696317221 0 0
78 1.47238950135993 0 0
79 1.42841545003656 0 0
80 1.38597016134539 0 0
81 1.34644570226061 0 0
82 1.30918427370975 0 0
83 1.272833651334 0 0
84 1.23871854263795 0 0
85 1.20592126590957 0 0
86 1.17421842576069 0 0
87 1.14414540628486 0 0
88 1.11675959841052 0 0
89 1.09205554594672 0 0
90 1.07713100431408 0 0
91 1.06771250877206 0 0
92 1.06114445201819 0 0
93 1.05828511190168 0 0
94 1.05789551638809 0 0
95 1.05839987869692 0 0
96 1.05968794981088 0 0
97 1.05760658826783 0 0
98 1.05021868492741 0 0
99 1.03840218029399 0 0
100 1.02171038385539 0 0
101 1.00303608270452 0 0
102 0.985587384786529 0 0
103 0.969155119807841 0 0
104 0.957250725878805 0 0
105 0.948805673627153 0 0
106 0.943690255948233 0 0
107 0.94115052725798 0 0
108 0.940311121408207 0 0
109 0.936426058319819 0 0
110 0.929831072715321 0 0
111 0.92137487467603 0 0
112 0.913920568414937 0 0
113 0.907455306712896 0 0
114 0.902686110798026 0 0
115 0.898125710110949 0 0
116 0.894320543495939 0 0
117 0.888988205031672 0 0
118 0.882478589132188 0 0
119 0.875643320641074 0 0
120 0.866960905236801 0 0
121 0.85808331524723 0 0
122 0.850036611133456 0 0
123 0.842116721554211 0 0
124 0.834155584125161 0 0
125 0.825870667226897 0 0
126 0.818085734330888 0 0
127 0.80937333573889 0 0
128 0.799879100950076 0 0
129 0.789014440994224 0 0
130 0.776809660553211 0 0
131 0.764233867550572 0 0
132 0.750465870807386 0 0
133 0.736420569195548 0 0
134 0.723278335744868 0 0
135 0.710854686038585 0 0
136 0.699063893618938 0 0
137 0.687876475273581 0 0
138 0.67752433279025 0 0
139 0.668033624297236 0 0
140 0.658549260619002 0 0
141 0.647871055584177 0 0
142 0.636008041103345 0 0
143 0.622741859229467 0 0
144 0.607099198838907 0 0
145 0.589718195082128 0 0
146 0.571231808679594 0 0
147 0.551840143680759 0 0
148 0.531790313016104 0 0
149 0.511904550502093 0 0
150 0.492533916324242 0 0
151 0.473976829140493 0 0
152 0.455993213863435 0 0
153 0.438494694002521 0 0
154 0.421582939065556 0 0
155 0.405202246583534 0 0
156 0.389190520866554 0 0
157 0.373672278430399 0 0
158 0.357837814065771 0 0
159 0.342680416381626 0 0
160 0.327270394695731 0 0
161 0.312343150425572 0 0
162 0.297642550528398 0 0
163 0.283655852976372 0 0
164 0.270238359496543 0 0
165 0.257493807901754 0 0
166 0.245735256551437 0 0
167 0.234775054990433 0 0
168 0.224782070488707 0 0
169 0.21527102824311 0 0
170 0.206925139776841 0 0
171 0.19920428909151 0 0
172 0.192067375381572 0 0
173 0.18546450086342 0 0
174 0.17936649692309 0 0
175 0.1740492565549 0 0
176 0.168716810424925 0 0
177 0.163453964529452 0 0
178 0.158330867670766 0 0
179 0.153113270397234 0 0
180 0.147968724530474 0 0
181 0.142859028020375 0 0
182 0.137484591721589 0 0
183 0.132300435162079 0 0
184 0.12719275157505 0 0
185 0.122161584010771 0 0
186 0.117397671330868 0 0
187 0.112581820604776 0 0
188 0.107730813198643 0 0
189 0.102970640334024 0 0
190 0.0980763328283588 0 0
191 0.0929722067690889 0 0
192 0.0882049761452578 0 0
193 0.0837708982222196 0 0
194 0.0799092380316381 0 0
195 0.0764642971780796 0 0
196 0.0732754076052096 0 0
197 +NAN 0 0
198 +NAN 0 0
199 +NAN 0 0
200 +NAN 0 0
201 +NAN 0 0
202 +NAN 0 0
203 +NAN 0 0
204 +NAN 0 0
205 +NAN 0 0
206 +NAN 0 0
207 +NAN 0 0
208 +NAN 0 0
209 +NAN 0 0
210 +NAN 0 0
211 +NAN 0 0
212 +NAN 0 0
213 +NAN 0 0
214 +NAN 0 0
215 +NAN 0 0
216 +NAN 0 0
217 +NAN 0 0
218 +NAN 0 0
219 +NAN 0 0
220 +NAN 0 0
221 +NAN 0 0
222 +NAN 0 0
223 +NAN 0 0
224 +NAN 0 0
225 +NAN 0 0
226 +NAN 0 0
227 +NAN 0 0
228 +NAN 0 0
229 +NAN 0 0
230 +NAN 0 0
231 +NAN 0 0
232 +NAN 0 0
233 +NAN 0 0
234 +NAN 0 0
235 +NAN 0 0
236 +NAN 0 0
237 +NAN 0 0
238 +NAN 0 0
239 +NAN 0 0
240 +NAN 0 0
241 +NAN 0 0
242 +NAN 0 0
243 +NAN 0 0
244 +NAN 0 0
245 +NAN 0 0
246 +NAN 0 0
247 +NAN 0 0
248 +NAN 0 0
249 +NAN 0 0
250 +NAN 0 0
251 +NAN 0 0
252 +NAN 0 0
253 +NAN 0 0
254 +NAN 0 0
255 +NAN 0 0
[END] of [DATA]
[END] of [Spectrum]

@ -0,0 +1,297 @@
[Spectrum]
Version = 1
IDData = DLAB_2018-07-03_17-15-16_983_888
IDDevice = SAM_85C2
IDDataType = SPECTRUM
IDDataTypeSub1 = CAL
IDDataTypeSub2 = Air
IDDataTypeSub3 =
DateTime = 2018-07-03 17:14:21
PositionLatitude = 0
PositionLongitude = 0
Comment =
CommentSub1 =
CommentSub2 =
CommentSub3 =
IDMethodType =
MethodName =
Mission = No Mission
MissionSub = 1
RecordType = 0
[Attributes]
CalFactor = 1
IDBasisSpec =
IDDataBack = DLAB_2018-07-02_16-15-52_275_586
IDDataCal =
IntegrationTime = 64
P31 = -1
P31e = 0
PathLength = +INF
RAWDynamic = 65535
Temperature = +NAN
Unit1 = $05 $00 Pixel
Unit2 = $04 $04 1/Intensity (m^2 nm Sr)/mW
Unit3 = $04 $04 1/Intensity (m^2 nm Sr)/mW
Unit4 = $f1 $00 Status
[END] of [Attributes]
[DATA]
0 5 0 0
1 +NAN 0 0
2 +NAN 0 0
3 +NAN 0 0
4 +NAN 0 0
5 0.63607834406219 0 0
6 0.718127096538326 0 0
7 0.812216798598817 0 0
8 0.914442457893824 0 0
9 1.03343454996493 0 0
10 1.15933885373154 0 0
11 1.29479643420084 0 0
12 1.43677001665361 0 0
13 1.56848190839848 0 0
14 1.67447970580786 0 0
15 1.73889146263122 0 0
16 1.73244260903254 0 0
17 1.69192414835577 0 0
18 1.61622082709111 0 0
19 1.5270353751059 0 0
20 1.46047364317447 0 0
21 1.41296265347303 0 0
22 1.39311700938614 0 0
23 1.39852760194912 0 0
24 1.42554260762195 0 0
25 1.4700968507055 0 0
26 1.53635620441153 0 0
27 1.62082921439482 0 0
28 1.7237742274692 0 0
29 1.84755749123585 0 0
30 1.98432162640748 0 0
31 2.12689147788928 0 0
32 2.27366206436985 0 0
33 2.41515311346652 0 0
34 2.54267625633242 0 0
35 2.65248757975216 0 0
36 2.73468816910085 0 0
37 2.77942967914337 0 0
38 2.79565522877852 0 0
39 2.77806955157777 0 0
40 2.73891358506136 0 0
41 2.69063680629234 0 0
42 2.6282750012231 0 0
43 2.56338981635672 0 0
44 2.49687123158122 0 0
45 2.4309933291301 0 0
46 2.36993023507549 0 0
47 2.32161558853422 0 0
48 2.28314087424895 0 0
49 2.25846162084215 0 0
50 2.24994522727437 0 0
51 2.25549954861938 0 0
52 2.27668712518828 0 0
53 2.30493256690767 0 0
54 2.33255656715114 0 0
55 2.35720768052834 0 0
56 2.37757260164886 0 0
57 2.40002374613635 0 0
58 2.42905705371268 0 0
59 2.4673307146952 0 0
60 2.51294806887351 0 0
61 2.56575613007937 0 0
62 2.62193109349514 0 0
63 2.67842958533042 0 0
64 2.73753357518048 0 0
65 2.7913329207665 0 0
66 2.8423865946084 0 0
67 2.89027340109411 0 0
68 2.93157202353872 0 0
69 2.96274906831744 0 0
70 2.98346548286676 0 0
71 2.98798866816702 0 0
72 2.97297872291037 0 0
73 2.93559195933884 0 0
74 2.87662286787444 0 0
75 2.80380712732453 0 0
76 2.72275302648293 0 0
77 2.6373282860483 0 0
78 2.55448424591999 0 0
79 2.47778601018081 0 0
80 2.40377038673745 0 0
81 2.33484934711808 0 0
82 2.2698793292122 0 0
83 2.20651375086021 0 0
84 2.14704740380438 0 0
85 2.08988763493926 0 0
86 2.0346458333411 0 0
87 1.98224825426305 0 0
88 1.93452491480363 0 0
89 1.89146397238956 0 0
90 1.8653548650058 0 0
91 1.84879059497611 0 0
92 1.8371693859594 0 0
93 1.83197484046632 0 0
94 1.83105981302589 0 0
95 1.83169544364263 0 0
96 1.83369029033973 0 0
97 1.82985806236537 0 0
98 1.81684973319988 0 0
99 1.7961872241934 0 0
100 1.76710061502081 0 0
101 1.73459539138238 0 0
102 1.70421983997876 0 0
103 1.67561137148482 0 0
104 1.65483955955664 0 0
105 1.64005456402998 0 0
106 1.63103006074007 0 0
107 1.62646109446179 0 0
108 1.62483351776729 0 0
109 1.61794627041935 0 0
110 1.60638099649103 0 0
111 1.59160518167625 0 0
112 1.57856502215575 0 0
113 1.56723770329055 0 0
114 1.55884357172436 0 0
115 1.55081356970191 0 0
116 1.5440909800073 0 0
117 1.53473504989623 0 0
118 1.52335047710565 0 0
119 1.51140772671503 0 0
120 1.49628095199023 0 0
121 1.48082183121466 0 0
122 1.4668009209167 0 0
123 1.45300293604089 0 0
124 1.43913779397284 0 0
125 1.42471804569399 0 0
126 1.41116472805909 0 0
127 1.39601546893463 0 0
128 1.3795217760198 0 0
129 1.36066889187826 0 0
130 1.3395095955925 0 0
131 1.31771535033317 0 0
132 1.29387042583309 0 0
133 1.26955248066416 0 0
134 1.24679628762607 0 0
135 1.22528340309588 0 0
136 1.20486570624273 0 0
137 1.18549206002717 0 0
138 1.16756178865017 0 0
139 1.15111957559202 0 0
140 1.13469169498467 0 0
141 1.11621030173639 0 0
142 1.09569135455521 0 0
143 1.07275908862679 0 0
144 1.04573742076401 0 0
145 1.01572627731635 0 0
146 0.98381634710957 0 0
147 0.950352559222019 0 0
148 0.915760692099546 0 0
149 0.881456713194727 0 0
150 0.848044938315892 0 0
151 0.816038892625263 0 0
152 0.785024915273114 0 0
153 0.754850603543375 0 0
154 0.725690734641156 0 0
155 0.697449171016547 0 0
156 0.669846688269734 0 0
157 0.643097402076866 0 0
158 0.615807664216611 0 0
159 0.589686777991522 0 0
160 0.563134754809732 0 0
161 0.537416951715189 0 0
162 0.512092492411016 0 0
163 0.487999533569422 0 0
164 0.464888888064952 0 0
165 0.442938789447448 0 0
166 0.422687485052752 0 0
167 0.403811887358409 0 0
168 0.386602162003576 0 0
169 0.370223420179536 0 0
170 0.355850417036878 0 0
171 0.342554004485098 0 0
172 0.330263308885894 0 0
173 0.318892349787717 0 0
174 0.308390808825048 0 0
175 0.29923285616278 0 0
176 0.290049870831026 0 0
177 0.280987628676386 0 0
178 0.272166680353347 0 0
179 0.263184326446838 0 0
180 0.254328565772045 0 0
181 0.245533707259442 0 0
182 0.236284846332185 0 0
183 0.227364007848682 0 0
184 0.218575558150069 0 0
185 0.209919539318749 0 0
186 0.201723665364338 0 0
187 0.193439417628863 0 0
188 0.185095630044576 0 0
189 0.176908759167827 0 0
190 0.168492281717065 0 0
191 0.15971620196905 0 0
192 0.151519711134016 0 0
193 0.143896290701505 0 0
194 0.137256829327417 0 0
195 0.131333761731513 0 0
196 0.125851036682123 0 0
197 +NAN 0 0
198 +NAN 0 0
199 +NAN 0 0
200 +NAN 0 0
201 +NAN 0 0
202 +NAN 0 0
203 +NAN 0 0
204 +NAN 0 0
205 +NAN 0 0
206 +NAN 0 0
207 +NAN 0 0
208 +NAN 0 0
209 +NAN 0 0
210 +NAN 0 0
211 +NAN 0 0
212 +NAN 0 0
213 +NAN 0 0
214 +NAN 0 0
215 +NAN 0 0
216 +NAN 0 0
217 +NAN 0 0
218 +NAN 0 0
219 +NAN 0 0
220 +NAN 0 0
221 +NAN 0 0
222 +NAN 0 0
223 +NAN 0 0
224 +NAN 0 0
225 +NAN 0 0
226 +NAN 0 0
227 +NAN 0 0
228 +NAN 0 0
229 +NAN 0 0
230 +NAN 0 0
231 +NAN 0 0
232 +NAN 0 0
233 +NAN 0 0
234 +NAN 0 0
235 +NAN 0 0
236 +NAN 0 0
237 +NAN 0 0
238 +NAN 0 0
239 +NAN 0 0
240 +NAN 0 0
241 +NAN 0 0
242 +NAN 0 0
243 +NAN 0 0
244 +NAN 0 0
245 +NAN 0 0
246 +NAN 0 0
247 +NAN 0 0
248 +NAN 0 0
249 +NAN 0 0
250 +NAN 0 0
251 +NAN 0 0
252 +NAN 0 0
253 +NAN 0 0
254 +NAN 0 0
255 +NAN 0 0
[END] of [DATA]
[END] of [Spectrum]

File diff suppressed because one or more lines are too long

@ -0,0 +1,30 @@
[Device]
Version = 0
IDDevice = SAM_85C2
IDDeviceType = SAM
IDDeviceTypeSub1 = ARC
IDDeviceTypeSub2 = VIS
IDDeviceTypeSub3 =
RecordType = 0
DateTime = 2018-07-03 17:16:14
IDDeviceMaster =
Comment = ARC VIS
[Attributes]
DarkPixelStart = 237
DarkPixelStop = 254
Firmware = 2.06
IDDataBack = DLAB_2018-07-02_16-15-52_275_586
IDDataCal = DLAB_2018-07-03_17-15-16_983_888
IDDataCalAQ = DLAB_2018-07-03_17-15-53_767_889
IntegrationTime = 0
Reverse = 0
SerialNo_MMS =
c0s = 297.806
c1s = 3.3369
c2s = 0.000302696
c3s = -1.83769e-06
c4s = +0.000000000E+00
[END] of [Attributes]
[END] of [Device]

File diff suppressed because one or more lines are too long

@ -0,0 +1,45 @@
integratedTime = 256
int2 = 1088
# Mn = 0.016601815823605707
# Bn = 0.017751576487153618
# Cn = -0.0011497606635479107
# Dn = 0.0009618522119974396
# En = 0.030403547263606567
# Fn = 0.295976853147947
B0 = 0.0170653447303655
B1 = 0.0216913569372244
offset = -0.0016466910934066525 # ???????????? 对于单个数据模拟,自行设定
cal = 0.102722719497288
calaq = 0.0761186332523634
t0 = 8192
Mn = int2/65535
print( f"Mn {Mn}")
Bn = B0 +B1*(integratedTime/t0)
print( f"Bn {Bn}")
Cn = Mn-Bn
print( f"Cn {Cn}")
print( f"=====================")
Dn = Cn - offset
print( f"Dn {Dn}")
En = Dn * (t0/integratedTime)
print( f"En {En}")
Fn = En / cal
print( f"Fn {Fn}")
# integratedTime : 256 int : 1088
# int : 1088
# Mn : 0.016601815823605707
# Bn : 0.017751576487153618 B0 : 0.0170653447303655 B1 : 0.0216913569372244
# Cn : -0.0011497606635479107
# Dn : 0.0009618522119974396
# En : 0.030403547263606567
# Fn : 0.295976853147947
# cal : 0.102722719497288 calaq : 0.0761186332523634
# 5 1088 0 0 0.016601816 0.0177432 -0.001141384 0.000505308 0.016169857 0.102722719 0.157412665 0.157412431

File diff suppressed because one or more lines are too long

189
app.py

@ -0,0 +1,189 @@
from pathlib import *
from tools.mylogger import log
from configuration import Configuration
from receive import MyServer,MyThreadingTCPServer
from myconfig import MyConfig,DeviceType
from myconfig import DEVICE_ID ,FILE_MARK,YAML_FILE_NAME,CURRENT_DIR,DATA_DIR,CAL_DIR
from myconfig import BEGIN_WAVELENGTH,END_WAVELENGTH,INTERVAL,ROWFACTOR
from awrams import AwramsHandle
IP = ""
PORT = 7887
ADDRESS = (IP, PORT) # 绑定地址
class MyApp(object):
def __init__(self,):
log.info(f"******** Awarms server initiate.... *********", __name__, "", "")
self.device_type = DeviceType.AWRAMS.name
self.mycfg = MyConfig() # 传入 cfg retrieve 的yml文件
# 配置反演需要的参数 波长 间隔 , rowFactor
self.retrieve = self.mycfg.get_retrieve() # 读retrieve.yml
log.info(f"Retrieve: {self.retrieve}", __name__, "", "")
# log.info(f"syscfg: {device}", __name__, "", "")
self.mycfg.setDeviceType( DeviceType.AWRAMS )
self.sensor_cfg = self.mycfg.read_yaml() # 读config.yml, 多个device_id 配置
log.info(f"Current Device: {self.device_type} ", __name__, "", "")
log.info(f"Sensor cfg: {self.sensor_cfg}", __name__, "", "")
self.cal_cfg = {}
cfgr = Configuration( )
cfgr.setDeviceType(self.device_type)
cfgr.setSystemCfgDict(self.sensor_cfg)
for k,v in self.sensor_cfg.items():
cfgr.setSystemCfgDict(v)
try:
cfgr.getCalConfiguration()
except Exception as e:
log.error(f"读取配置文件失败. \n {e}",__name__, "", "" )
raise
log.info(f"v: {cfgr.configuration}", __name__, "", "")
self.cal_cfg.update({k:cfgr.cal_configuration})
log.debug(f"cal_cfg: {self.cal_cfg}", __name__, "", "")
log.warning(f"cal_cfg 2: {self.cal_cfg[2].keys()}", __name__, "", "")
# log.warning(f"cal_cfg 3: {self.cal_cfg[3].keys()}", __name__, "", "")
log.info(f"传感器配置文件读取成功", __name__, "", "")
pass
def init_data_process(self, mode = 0):
''' 多个handle '''
self.awrams_handle = { }
for k,v in self.cal_cfg.items():
ah = AwramsHandle( deviceid=k, cfg=self.sensor_cfg[k], calcfg=v, rtv=self.retrieve)
self.awrams_handle.update( {k:ah } )
def run_server(self,):
# 启动接受服务器
log.info(f"启动接受服务器, IP: {IP} , Port:{PORT} ", __name__, "", "")
server_ = MyThreadingTCPServer(ADDRESS, MyServer, cfg=self.cal_cfg, retrieve = self.retrieve ,awrams_handle=self.awrams_handle )
try:
server_.serve_forever()
except KeyboardInterrupt:
log.warning(" Ctrl+C 退出主程序 ",__name__, "", "")
server_.server_close()
except Exception as e:
log.info(" 系统异常, 如下: \n ",__name__, "", "")
log.info(e)
pass
if __name__ == "__main__":
log.info(f"******** Yiwin Awarms server initiate.... *********", __name__, "", "")
app = MyApp()
app.init_data_process( )
app.run_server()
# init_config()
# run_server()
# #######################################
# device_id = DEVICE_ID # 多个设备
# device_type = DeviceType.AWRAMS.name
# mycfg = MyConfig()
# # 配置反演需要的参数 波长 间隔
# retrieve = mycfg.get_retrieve()
# log.info(f"Retrieve: {retrieve}", __name__, "", "")
# # log.info(f"syscfg: {device}", __name__, "", "")
# mycfg.setDeviceType(DeviceType.AWRAMS)
# init_para = mycfg.read_yaml()
# log.info(f"Current Device: {device_type} ", __name__, "", "")
# log.info(f"Sensor: {init_para}", __name__, "", "")
# cal_cfg = {}
# cfgr = Configuration( )
# cfgr.setDeviceType(device_type)
# cfgr.setSystemCfgDict(init_para)
# for k,v in init_para.items():
# cfgr.setSystemCfgDict(v)
# try:
# cfgr.getCalConfiguration()
# except Exception as e:
# log.error(f"读取配置文件失败. \n {e}",__name__, "", "" )
# raise
# log.info(f"v: {cfgr.configuration}", __name__, "", "")
# cal_cfg.update({k:cfgr.cal_configuration})
# # log.warning(f"cal_cfg: {cal_cfg}", __name__, "", "")
# log.warning(f"cal_cfg 2: {cal_cfg[2].keys()}", __name__, "", "")
# log.warning(f"cal_cfg 3: {cal_cfg[3].keys()}", __name__, "", "")
# log.info(f"传感器配置文件读取成功", __name__, "", "")
# # ????????????
# # 不同设备类型接收不同,修改receive.py
# # 不同数据裂隙数据处理不同,修改AWRAMS.py
# # 分支:服务器:处理不同的文件夹 awramse surface profile c
# # 桌面: 服务器的, 读取标准trios文件处理的 -- 暂不考虑
# # 启动接受服务器
# log.info(f"启动接受服务器, IP: {IP} , Port:{PORT} ", __name__, "", "")
# server_ = MyThreadingTCPServer(ADDRESS, MyServer, cfg=cal_cfg, retrieve = retrieve )
# try:
# server_.serve_forever()
# except KeyboardInterrupt:
# log.warning(" Ctrl+C 退出主程序 ",__name__, "", "")
# server_.server_close()
# except Exception as e:
# log.info(" 系统异常, 如下: \n ",__name__, "", "")
# log.info(e)
# r= Ramses()
# p = Path("0.bin")
# buf = r.read_bin(p)
# print(buf.hex())
# buf_str= "\
# 23a0000007fefe0a0781067d067d068e0693069c069c06b006b506cb06e40619076607e1076c081509cd09bb0a7d0bee0b1d0c6d0cca0ca40ddc0f30135b18b4224d320e43f852c8\
# 23a0000006fefe17639c71c97c9484bb89358be98e5d98b1a37eadccb66abd26be31b97db124aa18a3f29c0499349735968e93a48eea8a028bc28cec8d048f1c92c096de9ab99d43\
# 23a0000005fefee0a157a9ecb1b1b97dc034c507c741c7d2c65ec550c20dbde9b535ae56a60a9e2296cd8ee887278129798170c669b16503632e61605f3a5def5a8e5862561154be\
# 23a0000004fefe3c51f54dda4a0c48634595426a3f5a3cc539903767362b36cc351f356634b633fc32c4310630fb2ec32fe63199349037e03ac03dc03eae3c303a9639d13a413da7\
# 23a0000003fefe97412746bc49404caa4dc54d374ca646d63bde326b332739e43c503d2b3c363aca37ef342d32c22f782d1d2bd328ec250222101e691b2b1a7119d3184018fa174d\
# 23a0000002fefed3177a17e3160616f81423149313f11233126711d8103b10a40f160f8a0efb0d580d660c6f0bd80aa10a580a000ab4099b0994097109e2082c087a0736072c077d\
# 23a0000001fefe2a071e071607140718071e073c074d076a076e076b076007670763076c0760075c073d07350724071207fb06ef06d706cc06b706a506960684067b0672066306a2\
# 23a0000000fefe58065406500642064e064306470642063f064806410644064306430641064206460640063c063e063e063d064406430644063c063c063c063c06400640064906ed\
# 23a0000007fefe0a071b071c07260737073e0749075907650774078b07c0072c08e3082b0ada0be80d9c107b147318931ae51add1a271a77192f1bfb1d99207c265c30c738f03d53\
# 23a0000006fefe07438f489d4d8452d957945cff639171a5832a97deab7fbe09c86cc5acb9d5ab299e90915287de7f8b7ae275ed6f056aff664f662665bc63936335655767926879\
# 23a0000005fefec269206d3e724377fe7b7a8050831f85b68637881689e4884787008580823d7f887bee773d7496702a6cde654c5f895a1f570d5416514d4e9d4bde4897468c44c3\
# 23a0000004fefe71421640db3dc83bbb39533777346c31b92e912c152b5b2aff292129e727cb26d925fd249223b4214020da1fe91ff41f28209420dc201520071e671c221c8d1cfe\
# 23a0000003fefecd1dd31fe72164235924cb24b924f72331211e1ca018ef19221d121f621fe91e081ed51c761b311a2f193c18651788166015a013de11d1106e1041101810e80f2e\
# 23a0000002fefee50fd90fbc0f6d0ff70e610ee00d930d460de40c900c450c010cbd0b7c0b480bfc0aab0a2c0a9e094d092b09fb08d008a208990881087d083908e6078d07660747\
# 23a0000001fefe5b075a07500751074d074e0751075d076807730788077e077c077c07810777077a076c0765075c075607480740073607270723070d070d070b07ff06fd06f0062f\
# 23a0000000fefef606f106ed06f506ef06eb06f106ec06f006e906e806ed06e606ef06e506ea06ec06ee06eb06e906ee06f006ef06ea06e906e606e606e606ec06ea06ea06f506f2\
# 23a0000007fefe0605830479047d047e04810482048204850487048b048c04850487048c049304950498049c04a804a904b604b804c604d004e104f104190546059805ff059a06bb\
# 23a0000006fefe90073209ea0b7610c117cc22b2324a487b645e8798acf2c927d28dc1f2a1ac809664804e543d7a308327a321d81dab1b0f1bca1bb41dba2098243329382e773335\
# 23a0000005fefeca38213e544329486f4c1c500653335592564f577d573b57a556b4557e540a534451424f004d714a9b47994458410e3e9c3af8368c33b630982eca2c052b3429ae\
# 23a0000004fefe632763255a234821321f0e1d061b291983171e16d814a91379124b1138104b0f610e990dd80c240c880bfc0a7b0af8097709020990082508de07c507ba07a50762\
# 23a0000003fefe950781076407460727070007d306ab066e06270605060d0614061306fe05e805d105b405a00586057105630549053d0528051105fd04f304ee04e404dc04dd04c3\
# 23a0000002fefed804d904d004c604bf04b904b904b104a804a604a6049d04980496048f04970491048c04880486047e0484047a047d047b047c0478047a04760476047004700430\
# 23a0000001fefe6f0474046c046d0472046d047304750470046e04760472046f047604700473046f04730470047504700470046d046b047004710470046e046d046a046b046904e4\
# 23a0000000fefe690470046e046b046c04680468046e0466046a046a0469046b046d04640466046c046c046b046a04660466046b046c046a046a0468046f046804740471048d0417\
# "
# buf = bytearray.fromhex(buf_str)
# one_senor = buf
# r.setBuf(one_senor)
# r.setCalCfg(cal_cfg[2]["Lsky"])
# r.dealBuf()
# print(r.cal_cfg)

File diff suppressed because one or more lines are too long

@ -0,0 +1,297 @@
[Spectrum]
Version = 1
IDData = DLAB_2016-11-29_14-47-59_729_812
IDDevice = SAM_852F
IDDataType = SPECTRUM
IDDataTypeSub1 = BACK
IDDataTypeSub2 =
IDDataTypeSub3 =
DateTime = 2016-11-29 14:41:43
PositionLatitude = 0
PositionLongitude = 0
Comment =
CommentSub1 =
CommentSub2 =
CommentSub3 =
IDMethodType = SAM Calibration Station
MethodName = SAM_Calibration_Station
Mission =
MissionSub = 0
RecordType = 0
[Attributes]
CalFactor = 1
IDBasisSpec =
IDDataBack =
IDDataCal =
IntegrationTime = 8192
P31 = -1
P31e = 0
PathLength = +INF
RAWDynamic = 65535
Temperature = +NAN
Unit1 = $05 $00 Pixel
Unit2 = $03 $05 Intensity counts
Unit3 = $03 $05 Intensity counts
Unit4 = $f1 $00 Status
[END] of [Attributes]
[DATA]
0 12 0 0
1 0.0181271394490075 0.0246216519286131 0
2 0.0179948670252732 0.024510637261161 0
3 0.0180195207374602 0.0246496004937187 0
4 0.0181005261905924 0.0246158903420498 0
5 0.018089553708784 0.0244170047588795 0
6 0.0180460947386496 0.0245126709060577 0
7 0.0180426749981038 0.0246256846551714 0
8 0.0180534564280807 0.0247016785610073 0
9 0.0180790359128869 0.0245795106168697 0
10 0.0180635226786445 0.024601391414026 0
11 0.0180649523395645 0.0247430929974417 0
12 0.0180630058790784 0.0246690990460763 0
13 0.0180600544336154 0.0246595979967682 0
14 0.0180597668962471 0.024549218035998 0
15 0.0180588020408788 0.0245417076893854 0
16 0.0180498552319141 0.0249321420235364 0
17 0.0180704773142647 0.0245095865737246 0
18 0.0180562171706652 0.0245109975567032 0
19 0.0180717635554537 0.0246271043662396 0
20 0.0180430410499234 0.0249088567021879 0
21 0.0180523488508876 0.0244657876231882 0
22 0.0180618142041841 0.0248177038501861 0
23 0.0180579205853055 0.0247746806522609 0
24 0.0180626933915622 0.0246467759093347 0
25 0.0180613022899616 0.0244827044066167 0
26 0.0180574472304024 0.0246539416709665 0
27 0.0180710633810246 0.024721638131062 0
28 0.0180638238251844 0.0244816703025508 0
29 0.0180615148024098 0.0248143197952532 0
30 0.0180669541091198 0.0247325126325631 0
31 0.0180750465063777 0.0245241834309148 0
32 0.0180621163975833 0.0244880571694591 0
33 0.0180742925931686 0.0247891481591618 0
34 0.0180599654505706 0.0245174540737672 0
35 0.0180625609638543 0.0248839095525633 0
36 0.018079003460247 0.0244844522938572 0
37 0.0180789446616468 0.024819053561975 0
38 0.0180641596925595 0.0246153722426461 0
39 0.0180789860125912 0.0244569738236619 0
40 0.0180726758933779 0.024594164032081 0
41 0.0180883707577176 0.024739169721128 0
42 0.0180761767655234 0.0246157473759408 0
43 0.0180788425928601 0.0245033974853286 0
44 0.0180748167207502 0.0247480762129667 0
45 0.018087924097728 0.0246028704761041 0
46 0.0180769134055532 0.0245055458173238 0
47 0.0180908061015206 0.02469614722145 0
48 0.0180821035597377 0.0244073975760008 0
49 0.0180826006434528 0.0245040215437411 0
50 0.0180812086694694 0.0244248794159556 0
51 0.0180992416941691 0.0244697287048048 0
52 0.0180889166948691 0.0246472875499521 0
53 0.0180883470289057 0.0246650067939463 0
54 0.0180961206574913 0.0244401485106133 0
55 0.0180961166445305 0.0243791267698239 0
56 0.0180882432153534 0.0246499286698909 0
57 0.0180960383045557 0.0243780806209942 0
58 0.0180981065496797 0.0247780093711051 0
59 0.0180892262162838 0.0247202135322636 0
60 0.018090062656905 0.0245516643449751 0
61 0.0181151497688632 0.0244492274695042 0
62 0.0180994168686337 0.0246700816544131 0
63 0.0180945880554018 0.0246774251199509 0
64 0.0181024354875717 0.0245070955769284 0
65 0.0180812022138367 0.0246320020464858 0
66 0.018095840622615 0.0244041100537399 0
67 0.0181047246200187 0.0245954472358265 0
68 0.0180913783846324 0.0243854736620815 0
69 0.0181042299789754 0.0245493665880845 0
70 0.018097802960468 0.0247136054955626 0
71 0.0180910716548426 0.0246331129577409 0
72 0.0181013286082848 0.0247415952572516 0
73 0.0180952437383085 0.0248944354541623 0
74 0.0181025522123893 0.0247328998106215 0
75 0.0180982995207534 0.0246575704615342 0
76 0.0180837411967154 0.0247710366748172 0
77 0.0181112380044225 0.0247250916615888 0
78 0.0181073538072781 0.0247268100478861 0
79 0.018103745283096 0.0248027810861271 0
80 0.0180962696604722 0.0248363912138882 0
81 0.0181080471771214 0.0249100102065207 0
82 0.0180900361364681 0.0245452771289432 0
83 0.0181011494208593 0.0246815472221476 0
84 0.0181086649986149 0.0246684887780455 0
85 0.0181182547536976 0.0248864084046402 0
86 0.0181057997445719 0.024731509076811 0
87 0.0181089392757648 0.0246692868745663 0
88 0.0181055429150778 0.0245807166643024 0
89 0.0181146218027973 0.0247555966841634 0
90 0.0181128730242519 0.024710914276389 0
91 0.0181162224507446 0.0247437058838994 0
92 0.018127437978399 0.0247758020372237 0
93 0.0181252793544177 0.0244627418690115 0
94 0.0181109518628667 0.0246814871728906 0
95 0.0181264111838525 0.0246144002825787 0
96 0.018109165222908 0.0247326369205602 0
97 0.0181143328696165 0.0247778595970861 0
98 0.0181233651720949 0.0250858798171903 0
99 0.0181237422159377 0.02491093660596 0
100 0.0181142894249535 0.0248098248290651 0
101 0.0181268594141312 0.0248231980080813 0
102 0.0181223244194237 0.0247223508668658 0
103 0.0181331201564784 0.0247285340201608 0
104 0.0181055589669212 0.0245271073409594 0
105 0.0181385395728607 0.0246145044959695 0
106 0.0181050559510032 0.0247301532553592 0
107 0.0181237826944993 0.0247854968501228 0
108 0.0181113664191696 0.0249164176717207 0
109 0.0181140599882791 0.0248323871154641 0
110 0.0181137768128247 0.0245063201734407 0
111 0.0181257021111189 0.0249895534773082 0
112 0.0181361358093148 0.0247316035147414 0
113 0.0181222916178307 0.0250480786353239 0
114 0.0181118017381829 0.0245604978699841 0
115 0.0181256476744327 0.0248995078707639 0
116 0.0181248496186543 0.0247918838915929 0
117 0.0181254770363585 0.0246323141629729 0
118 0.0181331583668447 0.0246174315481265 0
119 0.0181230066227672 0.0245240120112333 0
120 0.0181144363342157 0.0247643169185683 0
121 0.0181321676889458 0.0246655463644507 0
122 0.0181179351126425 0.024543567994421 0
123 0.0181364284065034 0.0246558676112366 0
124 0.0181453949313192 0.0245943996905025 0
125 0.0181325621804444 0.0250753080058395 0
126 0.0181156688366246 0.0250045579362867 0
127 0.0181297948077507 0.0246554029277417 0
128 0.0181383919656923 0.0250264155167244 0
129 0.0181374979478067 0.0246469593737799 0
130 0.0181199012889798 0.024665052703698 0
131 0.0181422937849691 0.0248279473108028 0
132 0.0181196791803209 0.0246961217354281 0
133 0.0181355928382649 0.0245553355540586 0
134 0.0181084210803862 0.0245557204628138 0
135 0.018133168137532 0.0247270518159704 0
136 0.0181404589894803 0.0247966155635732 0
137 0.0181418954549861 0.0247140158903397 0
138 0.0181177946590129 0.0247626610253931 0
139 0.0181147076452641 0.0248185803249523 0
140 0.0181089181641013 0.024609407466155 0
141 0.0181443674388664 0.0247364268316634 0
142 0.0181377502409103 0.0246575409605911 0
143 0.0181289850620429 0.0248112543155938 0
144 0.0181158340659255 0.0245781406559126 0
145 0.0181305586661236 0.0247824863574285 0
146 0.0181270701818138 0.0246500847281345 0
147 0.0181084884283378 0.0247009649523946 0
148 0.0181265399475526 0.0248219430833464 0
149 0.0181359089897888 0.024708337569752 0
150 0.0181099418180697 0.0246372621170157 0
151 0.0181312042293899 0.0247286281089676 0
152 0.0181193782082575 0.0245687148427376 0
153 0.0181291396482737 0.0244441117615777 0
154 0.0181114958807759 0.0246077550642157 0
155 0.018131541667054 0.0247010606122576 0
156 0.0181167600130213 0.0247215691791535 0
157 0.018133784563213 0.0245714196777312 0
158 0.01811013496362 0.024795434478477 0
159 0.018139256671516 0.0244320022353862 0
160 0.0181215378790981 0.0247462735133231 0
161 0.0181241962039428 0.0246903013215404 0
162 0.0181255386265836 0.0245514873393163 0
163 0.0181152391008612 0.0245751469211505 0
164 0.0181239868320727 0.0246573018109337 0
165 0.018128921378099 0.0244665511564739 0
166 0.0181191986718789 0.0246441606245413 0
167 0.0181302022105147 0.0244944379267046 0
168 0.0181156925654366 0.0247590790173862 0
169 0.018128299020215 0.0244953459971555 0
170 0.0181149622065629 0.0247222716158114 0
171 0.0181265924649967 0.0246553421802375 0
172 0.0181200464534764 0.0246119307568831 0
173 0.018134817115486 0.0246354342804737 0
174 0.0181138528846042 0.0243070187840778 0
175 0.0181302275096157 0.0247393772751007 0
176 0.0181219730236349 0.0245134415963769 0
177 0.0181227435121171 0.0247120136665658 0
178 0.0181128882037125 0.0245733489346753 0
179 0.0181298839652721 0.0244120664057354 0
180 0.0181217728990224 0.0245414062211677 0
181 0.0181271213034454 0.0248899691161084 0
182 0.0181002302783493 0.0246153303478156 0
183 0.0181198512142075 0.0247247613906751 0
184 0.0181077788321745 0.0246353044064992 0
185 0.0181113704321304 0.0248533992931349 0
186 0.0181110165936699 0.0244737232023303 0
187 0.0181200574454996 0.0247406206787574 0
188 0.0181026958065969 0.0245452593236402 0
189 0.0181267051768535 0.0245186117675831 0
190 0.018099050467861 0.024411721471631 0
191 0.0181217983725999 0.0246871115538839 0
192 0.0181250125797599 0.0245525059073826 0
193 0.018113538826799 0.0247245782753535 0
194 0.0181123129544992 0.0246827284818056 0
195 0.0181229691103072 0.0247343388980489 0
196 0.0181081715789076 0.0248475752134495 0
197 0.0181231769118883 0.024459163701364 0
198 0.0181145502674084 0.0247058137553385 0
199 0.0181123405217955 0.0246986457244034 0
200 0.0181137211548025 0.024567998615698 0
201 0.0181167594895916 0.0243962081650239 0
202 0.0181050918931742 0.02490341386546 0
203 0.0181182652222911 0.024537072550077 0
204 0.0181006336681525 0.0244906673919604 0
205 0.0181259247432075 0.0245997164936153 0
206 0.018101253059935 0.0246575069210413 0
207 0.018119688602055 0.0242198948182748 0
208 0.018109630726366 0.024409780344485 0
209 0.0181146952574284 0.0242338197871209 0
210 0.0181041917686091 0.0244076180475463 0
211 0.0181114787820732 0.0245564188845504 0
212 0.0181135109105496 0.0246008453847352 0
213 0.0181156468525783 0.0245239058776628 0
214 0.0180992396004504 0.0246243248187984 0
215 0.0181260718269463 0.0246248141155061 0
216 0.0181003136781442 0.0243052663582307 0
217 0.0181070481243477 0.0245985008452839 0
218 0.0181074850136501 0.0243217586073769 0
219 0.0181076732738566 0.0246622282938758 0
220 0.0181037805273608 0.0246268287331674 0
221 0.0181054610855719 0.0244327690853459 0
222 0.0180953817492662 0.0245608707339754 0
223 0.0181251186615074 0.0244063069139137 0
224 0.0181015350140535 0.0246343666605434 0
225 0.0181170220768121 0.0244305303303416 0
226 0.0180958751689736 0.0247014261446536 0
227 0.0181153706561862 0.0246118652962104 0
228 0.0181087792807607 0.0246281107149804 0
229 0.0181190203568361 0.0246470772029907 0
230 0.0181090340165361 0.0247607972291217 0
231 0.0181264401469612 0.0247295342592388 0
232 0.0181213607853913 0.0246461279359564 0
233 0.0181053968781984 0.0245565616760977 0
234 0.0181112694102031 0.0244480411475541 0
235 0.0181143349633352 0.0245717391258137 0
236 0.0181028416689998 0.0246028116487796 0
237 0.0181058145750794 0.0248620650642601 0
238 0.018112246653407 0.0244563693161703 0
239 0.018102646778684 0.0245400739655581 0
240 0.0181018787328736 0.024658254394642 0
241 0.0181089858610059 0.0247536939606119 0
242 0.0181129695097887 0.024581995678565 0
243 0.0181304682872664 0.024518225986019 0
244 0.0181118867082669 0.0249431329577538 0
245 0.0181302966023328 0.024793957860264 0
246 0.0181224601621861 0.0246779200026361 0
247 0.0181439211278299 0.0246277942344484 0
248 0.0181333813478864 0.0245882612250266 0
249 0.0181515932110585 0.0245443142460891 0
250 0.0181361972250634 0.0244427728726199 0
251 0.0181645852590311 0.0245225095578749 0
252 0.018168622995547 0.0246755827947801 0
253 0.0182029242145575 0.0244593372157869 0
254 0.01826668143855 0.0246154502717679 0
255 0.0187321041138753 0.0255941653568822 0
[END] of [DATA]
[END] of [Spectrum]

@ -0,0 +1,297 @@
[Spectrum]
Version = 1
IDData = DLAB_2018-05-04_11-56-28_529_586
IDDevice = SAM_859F
IDDataType = SPECTRUM
IDDataTypeSub1 = BACK
IDDataTypeSub2 =
IDDataTypeSub3 =
DateTime = 2018-05-04 11:50:12
PositionLatitude = 0
PositionLongitude = 0
Comment =
CommentSub1 =
CommentSub2 =
CommentSub3 =
IDMethodType = SAM Calibration Station
MethodName = SAM_Calibration_Station
Mission =
MissionSub = 0
RecordType = 0
[Attributes]
CalFactor = 1
IDBasisSpec =
IDDataBack =
IDDataCal =
IntegrationTime = 8192
P31 = -1
P31e = 0
PathLength = +INF
RAWDynamic = 65535
Temperature = +NAN
Unit1 = $05 $00 Pixel
Unit2 = $03 $05 Intensity counts
Unit3 = $03 $05 Intensity counts
Unit4 = $f1 $00 Status
[END] of [Attributes]
[DATA]
0 12 0 0
1 0.0165892037855774 0.018605511502516 0
2 0.0165122714877024 0.0184837131056956 0
3 0.0164973019224162 0.0183851120510798 0
4 0.0166164505683762 0.0184840774161591 0
5 0.0165490556826164 0.0185292503425739 0
6 0.0165598147795938 0.0186302980552904 0
7 0.0164974439463348 0.0183759157866635 0
8 0.0165638938670541 0.0186312056020559 0
9 0.0165295399561229 0.0185970883722841 0
10 0.0165679375357729 0.018610557385725 0
11 0.0165135498774463 0.018696732782741 0
12 0.0165496044113927 0.0185527901750176 0
13 0.0165162233817516 0.0184841121539561 0
14 0.0165748471564411 0.0185602766066645 0
15 0.0165168071803162 0.0183555554227304 0
16 0.016561615028724 0.0185179326286786 0
17 0.0165228899565738 0.0185996666499772 0
18 0.0165630265440819 0.0186817794703681 0
19 0.0165138880130166 0.0184706934143117 0
20 0.016557182975186 0.0185104139030999 0
21 0.0165155392591658 0.0185717901788923 0
22 0.0165657065040199 0.0185864488309574 0
23 0.016518681058554 0.0184904599190226 0
24 0.0165595148543898 0.0185467707606851 0
25 0.0165168741793146 0.0185513739551852 0
26 0.0165713147040385 0.0186439978394227 0
27 0.0165192898072665 0.0185915799003217 0
28 0.0165624174464164 0.0186942077463949 0
29 0.0165336104942318 0.0186620183770728 0
30 0.0165711529642688 0.0186390987626822 0
31 0.0165277786152653 0.0185678106936811 0
32 0.0165778362888406 0.0186122998615499 0
33 0.0165368341231259 0.0184338018739524 0
34 0.0165763434674064 0.0186563994074951 0
35 0.0165347332508855 0.0186582494133848 0
36 0.0165844704110229 0.0184381484626158 0
37 0.0165276158286362 0.0187957369005385 0
38 0.016561547855249 0.0184585601477162 0
39 0.0165227810832013 0.018382363401076 0
40 0.0165862270410135 0.0185619393077496 0
41 0.0165383602695828 0.0188072553604966 0
42 0.0165776928691096 0.018482204891798 0
43 0.0165375732058275 0.0185649745882186 0
44 0.0165658438170714 0.0189122127337069 0
45 0.0165459794864142 0.0186279875553889 0
46 0.0165800024153139 0.0184615582465232 0
47 0.0165525603932462 0.0185698745377681 0
48 0.0165907623846741 0.0185120261558266 0
49 0.0165508449397234 0.0184379972921025 0
50 0.0165903560287695 0.0185804266236362 0
51 0.0165476473078365 0.0185466583428899 0
52 0.0165857165226035 0.0185885491584593 0
53 0.0165481178711146 0.0184078979511364 0
54 0.0165957271151451 0.0184049089295427 0
55 0.0165507685189908 0.0184970417714545 0
56 0.0165883062781607 0.0184417327399261 0
57 0.0165548565047555 0.0183843069720872 0
58 0.0166030835702795 0.0185357707492544 0
59 0.0165500053585241 0.018271672720313 0
60 0.0165961038100348 0.018684147226538 0
61 0.0165517131350783 0.0187957920620654 0
62 0.0166133108627067 0.0182829548236024 0
63 0.0165473248751564 0.0184118543941909 0
64 0.0165983146025071 0.0184413151881155 0
65 0.0165525591719102 0.0184057733595452 0
66 0.0166064242729443 0.0182871827102461 0
67 0.0165435383848847 0.0183972310036081 0
68 0.0165950365369267 0.0185852110132782 0
69 0.0165586482293239 0.0183187237570663 0
70 0.0166092385798323 0.0184794824260633 0
71 0.0165697841956677 0.0185034061198914 0
72 0.0165967129077004 0.0181402547467266 0
73 0.0165732545344154 0.0184165518520597 0
74 0.0166026855892496 0.0183788985240326 0
75 0.0165687354170748 0.0181609569026518 0
76 0.0166129015407006 0.0186252303518572 0
77 0.0165534954131229 0.0183105499010758 0
78 0.0166168593669527 0.0181418076484435 0
79 0.0165646865140591 0.0183057028437498 0
80 0.0166018156491291 0.018502016957137 0
81 0.0165586096700045 0.0184040678908206 0
82 0.0166129247460829 0.0184980723842845 0
83 0.0165712166482126 0.0184303921584359 0
84 0.0166143243970348 0.0185389638335849 0
85 0.0165701301826831 0.0182085812003356 0
86 0.0166189659969196 0.0184602108040376 0
87 0.0165676643054824 0.0184275042081207 0
88 0.0166299271377517 0.0185323186152219 0
89 0.0165751742999882 0.0182322636497648 0
90 0.0166072596667062 0.0183371464850892 0
91 0.0165629157514673 0.0182259586523378 0
92 0.0166089130065742 0.018483065481441 0
93 0.0165693558557167 0.0182905728748417 0
94 0.0166203017894511 0.0184016187888549 0
95 0.0165698981288603 0.0183132295991711 0
96 0.0166107804291794 0.0181924879994499 0
97 0.0165637935430329 0.0184099916452902 0
98 0.0166245248200721 0.0187024550929006 0
99 0.0165754381085446 0.0183715293979111 0
100 0.0166166770389491 0.0183022039271567 0
101 0.01656780789969 0.0184077949596782 0
102 0.0166270111110302 0.0183611756142407 0
103 0.0165662229546329 0.018411879705651 0
104 0.0166136421936913 0.0183403743072167 0
105 0.0165698424708382 0.0184016243748323 0
106 0.0166173691874565 0.0184520221102946 0
107 0.0165821997730911 0.0183486391099018 0
108 0.0166164975025705 0.01861046347148 0
109 0.0165739878593907 0.0185649627180167 0
110 0.016623824645643 0.0184582639163523 0
111 0.0165631308810639 0.0186787228933602 0
112 0.0166247172677161 0.0185190477294169 0
113 0.0165669479047333 0.0186510274428554 0
114 0.0166042075482691 0.0186025957968757 0
115 0.0165806895040011 0.0183767100428249 0
116 0.0166075213815439 0.0183237705130843 0
117 0.0165708319274012 0.0183277608211268 0
118 0.0166233251192561 0.0185572685578353 0
119 0.0165772010196913 0.0184446809140601 0
120 0.016621139974838 0.0186042166031303 0
121 0.0165690780890356 0.0186733833972142 0
122 0.0166295818486425 0.0186773335560441 0
123 0.0165801878838955 0.0184308924525366 0
124 0.0166132293821539 0.0186073100126766 0
125 0.0165742146789166 0.0183468275076066 0
126 0.0166257485986531 0.0185506345114271 0
127 0.0165839324997932 0.0186062746866781 0
128 0.0166274820232614 0.0184876664066378 0
129 0.0165711257459257 0.0182968567502917 0
130 0.0166118375826471 0.0184814123812545 0
131 0.0165702390560556 0.0186338901878814 0
132 0.0166138555785223 0.0185727479994544 0
133 0.0165495885340259 0.0184737700659259 0
134 0.0166076853895089 0.0185519168423637 0
135 0.0165715106412136 0.0184109360245942 0
136 0.0165914878582042 0.0186137698464147 0
137 0.0165708420470416 0.0184927182249478 0
138 0.0166090042578143 0.0183322589294271 0
139 0.0165677817282062 0.0184634239629744 0
140 0.0166140523880802 0.0185381407747276 0
141 0.0165772907006423 0.0183129747389523 0
142 0.0166172060518744 0.018566407740545 0
143 0.0165733789362016 0.0184619363473684 0
144 0.0166208616847272 0.0185385801467623 0
145 0.0165699940909675 0.0184219012982279 0
146 0.0166094990733341 0.0184126872285087 0
147 0.0165568282643426 0.0186440826764544 0
148 0.0166152531357555 0.0184714934310123 0
149 0.0165675189665092 0.0186275679088368 0
150 0.0166057366608274 0.0184197444127049 0
151 0.0165695308557048 0.0184460824707018 0
152 0.0165973481768498 0.018243945325 0
153 0.0165636400036615 0.018415498022511 0
154 0.0166118299056785 0.0184500097619367 0
155 0.0165665354421491 0.0185133976878398 0
156 0.0165949780872796 0.0184093356420695 0
157 0.0165594520428288 0.0185570035730324 0
158 0.0166050473039449 0.0186677780434563 0
159 0.0165700478297475 0.0187476308123041 0
160 0.0166062033856213 0.0184833070749635 0
161 0.0165620390067611 0.0183987680202018 0
162 0.0165990297819202 0.0183971864903508 0
163 0.016574294763657 0.0184699862644854 0
164 0.0165960321001693 0.0186248246702486 0
165 0.016567221483977 0.0185793174579989 0
166 0.0166072507684017 0.0187341727962561 0
167 0.0165554031398131 0.0185118727160099 0
168 0.0166002793830319 0.0185141533658448 0
169 0.0165516576515327 0.0185683596905223 0
170 0.0166026362123836 0.0185158860662092 0
171 0.0165560230550254 0.0183562021741761 0
172 0.0166113124082061 0.018351702145696 0
173 0.0165672890064051 0.0183285858001638 0
174 0.016604050693843 0.0184325741808572 0
175 0.0165640243755198 0.0182299784613234 0
176 0.0166057021144688 0.0183180300484981 0
177 0.0165508046356384 0.0186951084852505 0
178 0.0165935180674385 0.0184788363728647 0
179 0.0165675029146658 0.0183958849576168 0
180 0.0165893028882626 0.0184240855899527 0
181 0.0165492090475113 0.0185323332784126 0
182 0.0165956159735774 0.0186074587393249 0
183 0.0165528561310127 0.0186410439047495 0
184 0.0166073952349921 0.0184129410413568 0
185 0.0165463099450159 0.0183934452819879 0
186 0.0166001891786512 0.0185733495393955 0
187 0.0165482056328235 0.0185109349700541 0
188 0.0165952621351168 0.0185722325184776 0
189 0.0165536456374398 0.0184577447695778 0
190 0.0165997360630289 0.0184457087339014 0
191 0.0165524916494821 0.0183168259212451 0
192 0.0165986206343906 0.0184703884548581 0
193 0.0165521507222869 0.0184217183574681 0
194 0.016599824522644 0.0185029386434078 0
195 0.0165434263709342 0.0186379566048659 0
196 0.0166010940140834 0.018342027581965 0
197 0.0165431388335659 0.0184254820843023 0
198 0.0165863373101985 0.0186074793376165 0
199 0.0165434326520903 0.0184241568111645 0
200 0.0166064767903884 0.0182465302360413 0
201 0.016561522556148 0.0184340305499022 0
202 0.0165987263671851 0.0186743681002925 0
203 0.0165499257972134 0.0184118549178763 0
204 0.0165839637310972 0.0184971573313619 0
205 0.0165457994266058 0.0183981095731159 0
206 0.0165795458101604 0.018496162154576 0
207 0.0165524665248577 0.0184611797965545 0
208 0.016595737060309 0.0186299800037023 0
209 0.0165466772181714 0.018466689839573 0
210 0.0165879578484734 0.0186946017323634 0
211 0.0165430683450362 0.0185245357776493 0
212 0.0165948067512992 0.018476103782546 0
213 0.0165396531408809 0.0182796915654308 0
214 0.0165652856665609 0.0185767679830018 0
215 0.0165523227561735 0.0183549425362727 0
216 0.0165783818770389 0.0183019200896801 0
217 0.0165503544861175 0.0185407187032971 0
218 0.016572293692008 0.0184576592342989 0
219 0.0165450638334354 0.0184396004676159 0
220 0.0165749698134617 0.0183728665412509 0
221 0.01655305398743 0.018711382183031 0
222 0.0165967214570518 0.0185027394684012 0
223 0.0165454616399886 0.0184419015411806 0
224 0.0165946692637712 0.0184852501222893 0
225 0.0165392806334286 0.0186597281263393 0
226 0.0165890797327443 0.0187948452388963 0
227 0.0165355112418597 0.0182642088071376 0
228 0.0165804930433963 0.0186078693086637 0
229 0.0165460245013662 0.0186437127800135 0
230 0.0165847202614547 0.0185804302894338 0
231 0.0165448417247764 0.0185832597615481 0
232 0.0165611542361331 0.0185230038233477 0
233 0.0165515342966058 0.0187595940557125 0
234 0.0165765880835414 0.0185726041605364 0
235 0.0165339756736686 0.018819251596084 0
236 0.0165878632821788 0.0186927800054842 0
237 0.0165440089481629 0.0187059691963698 0
238 0.0165963711081224 0.0186125063681518 0
239 0.0165516928957975 0.0187091867193515 0
240 0.0165934388550809 0.0187669087185543 0
241 0.0165544309564294 0.0187420275532877 0
242 0.0165877533619469 0.0185165169325316 0
243 0.0165399865655842 0.0184496782690904 0
244 0.0165907330726123 0.0184827699483242 0
245 0.016550628937744 0.0184833114390083 0
246 0.0166034288593887 0.0188096297500146 0
247 0.0165659505967252 0.0186457825592016 0
248 0.0166105647761531 0.0186986550572133 0
249 0.0165655829746165 0.018635516056428 0
250 0.0166172674676229 0.0185666859920442 0
251 0.0165796119367761 0.0185794000257273 0
252 0.0166424952076873 0.0185533461543306 0
253 0.0166246136286404 0.0186423201260233 0
254 0.0167334388455894 0.0186220849228963 0
255 0.0171297295465388 0.0196555486961812 0
[END] of [DATA]
[END] of [Spectrum]

@ -0,0 +1,297 @@
[Spectrum]
Version = 1
IDData = DLAB_2018-06-11_15-23-57_730_586
IDDevice = SAM_85B5
IDDataType = SPECTRUM
IDDataTypeSub1 = BACK
IDDataTypeSub2 =
IDDataTypeSub3 =
DateTime = 2018-06-11 15:17:40
PositionLatitude = 0
PositionLongitude = 0
Comment =
CommentSub1 =
CommentSub2 =
CommentSub3 =
IDMethodType = SAM Calibration Station
MethodName = SAM_Calibration_Station
Mission =
MissionSub = 0
RecordType = 0
[Attributes]
CalFactor = 1
IDBasisSpec =
IDDataBack =
IDDataCal =
IntegrationTime = 8192
P31 = -1
P31e = 0
PathLength = +INF
RAWDynamic = 65535
Temperature = +NAN
Unit1 = $05 $00 Pixel
Unit2 = $03 $05 Intensity counts
Unit3 = $03 $05 Intensity counts
Unit4 = $f1 $00 Status
[END] of [Attributes]
[DATA]
0 12 0 0
1 0.0164817607719245 0.0184759992200316 0
2 0.0163219290778752 0.018442149942613 0
3 0.0163731972698131 0.0187318928446685 0
4 0.0164399246082603 0.0186864332877884 0
5 0.0164430241843214 0.0188479230215774 0
6 0.0163983356778795 0.0188454845678811 0
7 0.0163990512062458 0.0188404723750983 0
8 0.0163901000353671 0.0187262068433619 0
9 0.0164207307910173 0.0187526368954241 0
10 0.0164008709967505 0.018602897614217 0
11 0.0164082743860791 0.0187456469175185 0
12 0.0163908071888585 0.0186707166166917 0
13 0.0164252516531235 0.0185607140585195 0
14 0.0163975419840151 0.0187588039890341 0
15 0.0164170151382283 0.0188965777575295 0
16 0.0163836419600322 0.0187075898280626 0
17 0.0164195574361616 0.0187674584136427 0
18 0.0163940245365965 0.0186381709667486 0
19 0.0164118187028877 0.0186427120172502 0
20 0.016392199511795 0.0187927918685168 0
21 0.0164065571877907 0.0186624507666358 0
22 0.0163945228416475 0.0187624519813991 0
23 0.0164219489863484 0.0187392302005435 0
24 0.0163932453242865 0.0185522851677484 0
25 0.0164305632429927 0.0186472895511667 0
26 0.0163847816409121 0.018535703368402 0
27 0.0164318688510797 0.0186348291557698 0
28 0.0164176912348923 0.0186553691437886 0
29 0.0164202520273408 0.0187121064399131 0
30 0.0164088639423701 0.0186093935822463 0
31 0.0164306347783817 0.0187113848014579 0
32 0.0164189001829659 0.0186487433017847 0
33 0.0164341838060573 0.0187725126758178 0
34 0.0164138319878957 0.0187999361590481 0
35 0.0164304957205646 0.0187205484228188 0
36 0.016429661373662 0.0188728539369552 0
37 0.0164248637917341 0.0187682175828836 0
38 0.0164295341802509 0.0187626176405413 0
39 0.0164375396881828 0.0188624825225437 0
40 0.0164033339078497 0.0187837980957813 0
41 0.0164426914575244 0.0188658971257905 0
42 0.0164161851532397 0.0186604942780519 0
43 0.0164508810382254 0.0189255700275998 0
44 0.0164265781983975 0.0186329430155887 0
45 0.0164319475400075 0.0188553270600577 0
46 0.016422878946405 0.0187585744402754 0
47 0.0164658096015204 0.0188853157288465 0
48 0.016435585550728 0.0188095644639038 0
49 0.016451332060129 0.0189702224107457 0
50 0.0164379950720003 0.0190654765920908 0
51 0.0164365183024095 0.0188298321355244 0
52 0.0164243435026367 0.0189752702141345 0
53 0.0164365261538547 0.0190654219542494 0
54 0.0164254425304785 0.0188267308706973 0
55 0.0164527732365019 0.0190373731906741 0
56 0.0164500622197366 0.0189250398834323 0
57 0.0164541095524632 0.0189864086530676 0
58 0.0164375095037381 0.0190345625712336 0
59 0.0164747180256422 0.0188082665969675 0
60 0.0164484643634142 0.0190122781872102 0
61 0.0164537975883766 0.0188972889222771 0
62 0.0164461544682567 0.0185940174812091 0
63 0.0164698387886849 0.0187732280300485 0
64 0.0164431478882013 0.0188341576022108 0
65 0.0164654240083262 0.0188008229329601 0
66 0.0164472887403633 0.0188143481552986 0
67 0.0164750846008916 0.0188958311567378 0
68 0.016451503570586 0.0186248391588775 0
69 0.0164619681511328 0.0188025980518404 0
70 0.0164507452954629 0.0189280180821948 0
71 0.0164756266995587 0.0188994067059584 0
72 0.0164519861727467 0.0187979548826894 0
73 0.0164677262265151 0.0188527726973303 0
74 0.0164529956941139 0.0189566842708345 0
75 0.0164743584294553 0.0188313071826812 0
76 0.0164623034950781 0.0188952770976046 0
77 0.0164737165301967 0.0189118414407716 0
78 0.0164694078315855 0.0185289364804688 0
79 0.0164841373171273 0.0186616668096203 0
80 0.0164653304888909 0.0188390641851084 0
81 0.0164847460658397 0.0188772853626504 0
82 0.0164548329322745 0.0188133788136582 0
83 0.0164595881163988 0.019095000402823 0
84 0.016470273409792 0.0189106139222383 0
85 0.0164793578807614 0.0190673035558238 0
86 0.0164794932745707 0.0189999768176074 0
87 0.0164779744561293 0.0188888352437313 0
88 0.0164553809631447 0.0191460724704944 0
89 0.0164876681992408 0.0188107766209993 0
90 0.0164698851994495 0.0192259407753418 0
91 0.0164899871671793 0.0189064331672789 0
92 0.0164501525985938 0.0190127816234232 0
93 0.0164753983097437 0.0187168141969277 0
94 0.0164809215396783 0.0190825361670666 0
95 0.0164902986078362 0.0190127334443682 0
96 0.0164763052388946 0.0191085322585096 0
97 0.0164924607213486 0.0188582193744177 0
98 0.0164652690731423 0.0188903102908881 0
99 0.0164867010756773 0.0189330562846849 0
100 0.0164660367699995 0.0190078099289766 0
101 0.0164911903575265 0.0189027331554994 0
102 0.0164677717648968 0.0189810824236179 0
103 0.0165022066329511 0.0189551510946003 0
104 0.0164662370690886 0.0189044651576166 0
105 0.016489524978776 0.0187674423539577 0
106 0.0164685029961533 0.0189472727717265 0
107 0.0164921269476923 0.0189907035714401 0
108 0.0164558499561338 0.019064578646224 0
109 0.0164738716398572 0.0188920054604669 0
110 0.0164762743565437 0.0190449437611056 0
111 0.0164791764251406 0.018889919447032 0
112 0.0164705429760749 0.0187988736014097 0
113 0.0164789927013245 0.0192020416947266 0
114 0.016473611669785 0.0188233049209339 0
115 0.0164614993326202 0.0187371501222097 0
116 0.0164598238342293 0.0189721827396891 0
117 0.0164727508024456 0.0188261000043749 0
118 0.0164582863467961 0.0186942695412699 0
119 0.0164685862214717 0.0189034198815958 0
120 0.0164525792185689 0.0187198665844525 0
121 0.0164773030703324 0.0186137942850658 0
122 0.0164670838038268 0.0189533499660128 0
123 0.0164831073820027 0.0187808211189513 0
124 0.0164667688736388 0.0188594921044556 0
125 0.0164761180255473 0.0188539249797306 0
126 0.0164464892887724 0.0188040633235368 0
127 0.0164720077067831 0.0187732121449252 0
128 0.0164452072350208 0.018962250173627 0
129 0.0164870899839261 0.0190127418233343 0
130 0.016459772189168 0.0191750319229475 0
131 0.0164701266750064 0.0189599365316131 0
132 0.0164611727125027 0.0190203120446422 0
133 0.0164680781457335 0.0190216017071741 0
134 0.0164568425532749 0.0186128352425711 0
135 0.0164788192716254 0.019228758377254 0
136 0.0164516724638946 0.0189206767113985 0
137 0.016478949431138 0.0188962342199195 0
138 0.0164561298165336 0.0191006190232771 0
139 0.0164755542917869 0.0190500058785614 0
140 0.0164556124935377 0.0187485043195198 0
141 0.0164507196474088 0.0190170367417068 0
142 0.0164471687004911 0.0188547895842948 0
143 0.0164601098013086 0.0188974739577785 0
144 0.0164608579567913 0.0189445812034293 0
145 0.0164729301643477 0.0189157249169963 0
146 0.0164409632672129 0.0191215468876016 0
147 0.0164714560119053 0.0187773754437052 0
148 0.016453806137728 0.0190317306552542 0
149 0.016458409701723 0.0190325910703354 0
150 0.016446300156183 0.0190408668704134 0
151 0.0164759950195736 0.0189401984804746 0
152 0.0164447300416335 0.0190495591749313 0
153 0.0164623949207948 0.0187950388279255 0
154 0.0164359400870948 0.0189297027780659 0
155 0.0164562215912033 0.0189593482583683 0
156 0.0164493753055259 0.0190509148218212 0
157 0.0164598233107996 0.0188672314761416 0
158 0.0164437951962332 0.0189148159737365 0
159 0.0164648208428636 0.0191385526975449 0
160 0.0164373709693507 0.0190494453606418 0
161 0.0164554146371204 0.0190579196374793 0
162 0.0164451486108972 0.019121285044911 0
163 0.0164645650602289 0.019044043895059 0
164 0.0164504392635794 0.0186976181601587 0
165 0.0164504671798287 0.0189873739797868 0
166 0.0164356687760464 0.0191378319318987 0
167 0.0164534369453303 0.0190663267080262 0
168 0.0164388145883954 0.0190936695437077 0
169 0.0164527186253391 0.0191095358142617 0
170 0.0164332435518838 0.0189574708462769 0
171 0.0164442846029797 0.0187806189763942 0
172 0.0164340580084587 0.0189485074472935 0
173 0.0164485673045837 0.0187745148995917 0
174 0.0164290273258486 0.018830215822347 0
175 0.016450102349345 0.0188787988134019 0
176 0.0164311430285965 0.0189920377472294 0
177 0.0164412099770665 0.0188564391932454 0
178 0.0164335047432918 0.0190900863137682 0
179 0.0164442961184326 0.0189570108759505 0
180 0.0164228450979527 0.0190537807773504 0
181 0.016437492579512 0.0188639551258354 0
182 0.0164196870722445 0.0189272838752905 0
183 0.016438840061973 0.0189407244351591 0
184 0.0164283787964808 0.0191445909645512 0
185 0.0164416083070495 0.0190009035661702 0
186 0.016412027202375 0.0190382999392369 0
187 0.016431280341648 0.0191088417565699 0
188 0.0164384511537241 0.0189974830278224 0
189 0.0164345854510949 0.0189503359820826 0
190 0.0164129589071972 0.0189001894410414 0
191 0.0164313105260926 0.0186533777428459 0
192 0.0164068407121982 0.0188463448084005 0
193 0.0164422922551586 0.0188216286040289 0
194 0.0164141230147952 0.0190486301570651 0
195 0.0164350718917399 0.0189039538661228 0
196 0.0163981727167739 0.018976088908947 0
197 0.0164302013786105 0.0186541344682217 0
198 0.0164117635682952 0.0187053388537327 0
199 0.0164348827591505 0.0188468777455567 0
200 0.0164084963202615 0.0189798348304782 0
201 0.0164184283983518 0.0190289182901957 0
202 0.0164093013551022 0.0189938748355464 0
203 0.0164248964188505 0.0188985777120001 0
204 0.0163861197016389 0.0189140892729893 0
205 0.0164414938504271 0.0189945299659582 0
206 0.0163912936295035 0.0190288961208479 0
207 0.0164153211453222 0.0188169428418004 0
208 0.0164085420331198 0.0190174979339657 0
209 0.0164144138672182 0.0187582286333621 0
210 0.0163877472189763 0.0188360660863014 0
211 0.016438808830669 0.0188666440757058 0
212 0.0163928122734684 0.018693495185153 0
213 0.016421485227656 0.0187786836097873 0
214 0.0164041312657219 0.0186433495169208 0
215 0.0164178255818423 0.0188323175463432 0
216 0.0163971898903201 0.018976409578962 0
217 0.0164201696744052 0.0187435457172076 0
218 0.0163995320636409 0.018987845122068 0
219 0.0164209146893099 0.0186761889543627 0
220 0.0164032430055628 0.0190061624147675 0
221 0.0164164507065617 0.0187835201934057 0
222 0.0163974777766416 0.0188749633416704 0
223 0.0164176661102679 0.0189686084124011 0
224 0.0163930417101427 0.0188226435062976 0
225 0.0164141233637484 0.0187423426373254 0
226 0.01640118889304 0.018996327428748 0
227 0.0164288055661428 0.0186609085131884 0
228 0.0164032700494293 0.0187348848338127 0
229 0.0164078024269885 0.0187956862776184 0
230 0.0163929630212149 0.0190963977699816 0
231 0.0164272534226787 0.0185138758125928 0
232 0.0163858681064416 0.0187250730645117 0
233 0.0164185958958479 0.0188906307863414 0
234 0.0164030676566215 0.0188630606712045 0
235 0.0164018004333774 0.0188464739841278 0
236 0.0163995488133905 0.0189781192371696 0
237 0.0164085041717066 0.0187965507076208 0
238 0.0163987202242144 0.0186990834318551 0
239 0.0164206611748704 0.0186847039040981 0
240 0.0164022528510935 0.0187928330651002 0
241 0.0164241117977671 0.0187593187717638 0
242 0.016396216660077 0.0188783466983562 0
243 0.0164233505565425 0.0187352552539389 0
244 0.0164139434784166 0.0188740873905896 0
245 0.0164194745597963 0.0187454707846687 0
246 0.0163983088084895 0.0189869951806945 0
247 0.016435900480916 0.0189396802065091 0
248 0.0164233186273323 0.0187842685398153 0
249 0.0164390513530853 0.0186674191444085 0
250 0.0164271529241811 0.0189300391586424 0
251 0.0164633723384753 0.0190247289817084 0
252 0.016452145295368 0.01897844723878 0
253 0.0165066871909724 0.0188266460336656 0
254 0.0165379624630295 0.019144633383067 0
255 0.0170330815720343 0.0204797029287844 0
[END] of [DATA]
[END] of [Spectrum]

@ -0,0 +1,297 @@
[Spectrum]
Version = 1
IDData = DLAB_2018-07-02_16-15-52_275_586
IDDevice = SAM_85C2
IDDataType = SPECTRUM
IDDataTypeSub1 = BACK
IDDataTypeSub2 =
IDDataTypeSub3 =
DateTime = 2018-07-02 16:09:35
PositionLatitude = 0
PositionLongitude = 0
Comment =
CommentSub1 =
CommentSub2 =
CommentSub3 =
IDMethodType = SAM Calibration Station
MethodName = SAM_Calibration_Station
Mission =
MissionSub = 0
RecordType = 0
[Attributes]
CalFactor = 1
IDBasisSpec =
IDDataBack =
IDDataCal =
IntegrationTime = 8192
P31 = -1
P31e = 0
PathLength = +INF
RAWDynamic = 65535
Temperature = +NAN
Unit1 = $05 $00 Pixel
Unit2 = $03 $05 Intensity counts
Unit3 = $03 $05 Intensity counts
Unit4 = $f1 $00 Status
[END] of [Attributes]
[DATA]
0 12 0 0
1 0.0167342121256965 0.0168913253365429 0
2 0.0166272578208838 0.0166791480947141 0
3 0.0166286620082263 0.0169747489414428 0
4 0.0167322590351011 0.0167706507685505 0
5 0.0166920032801035 0.0167499611810745 0
6 0.0166775698812814 0.0168839981052519 0
7 0.0166447407209946 0.0168264213414614 0
8 0.0166906961017275 0.0170086107873105 0
9 0.0166809423386799 0.0168850491418118 0
10 0.0166877673382172 0.0168500119713871 0
11 0.0166557529834584 0.0170821184095186 0
12 0.0166967839378053 0.0168872250545704 0
13 0.0166669086656532 0.0168648846362113 0
14 0.0166892149702227 0.016992469931055 0
15 0.0166767580418549 0.0171467378688764 0
16 0.0166905701296523 0.0169317564663933 0
17 0.0166797450805357 0.0170060449035047 0
18 0.0166853286793596 0.0169903947404513 0
19 0.0166606032573071 0.0169514527972631 0
20 0.0166908025324281 0.016996943775266 0
21 0.0166781405941041 0.0168920295188188 0
22 0.0166909536291278 0.0169695187209796 0
23 0.016658955500689 0.0169094752244822 0
24 0.0166904685842953 0.0170826763090113 0
25 0.0166691280074769 0.0170169785814538 0
26 0.0167018280551104 0.0170845636711249 0
27 0.0166777291783793 0.0169070530050327 0
28 0.0166913413160407 0.0170568509390025 0
29 0.0166761335902522 0.0169742290964211 0
30 0.016706050038872 0.0169703541737244 0
31 0.0166582396233696 0.016693127352278 0
32 0.0166925097855527 0.0167815989351284 0
33 0.0166940355830564 0.016990941642551 0
34 0.0167090314943029 0.0169070091900225 0
35 0.0166814589637695 0.016947108477903 0
36 0.0167022263850933 0.0168397329001644 0
37 0.0166789583657336 0.0169154708984108 0
38 0.0167125271321517 0.0170660484253514 0
39 0.0167029600590216 0.0169203949374878 0
40 0.0167033172125368 0.0169889800916751 0
41 0.0166891849602547 0.0168200981896078 0
42 0.016717239220566 0.0166983649043365 0
43 0.0166950287036272 0.0169160836103067 0
44 0.0167214463738202 0.0169049146230597 0
45 0.0167003460512228 0.0172020140827875 0
46 0.0167208076151397 0.0172544859614827 0
47 0.0167006723223871 0.0168596984053201 0
48 0.0167002158917102 0.0170316986792703 0
49 0.016694364122416 0.0167926783721753 0
50 0.0167280688060731 0.0169303102219324 0
51 0.0166797285052627 0.0169470697251848 0
52 0.0167266316426611 0.0169785680043656 0
53 0.0167086472969212 0.0169713491759485 0
54 0.0167237098582131 0.0168609210361233 0
55 0.0167077462999733 0.016910657531511 0
56 0.0167322560689996 0.0168641905785195 0
57 0.0167032709762488 0.0169026608557411 0
58 0.0167360191794125 0.017002157237797 0
59 0.0167094863546909 0.017056576353301 0
60 0.0167321362036039 0.0168407017181195 0
61 0.0167044837628067 0.0171230816037162 0
62 0.0167368275293078 0.0170056650570416 0
63 0.0167091722968856 0.0169474424146144 0
64 0.0167287705507912 0.0169244955685839 0
65 0.0167181887219972 0.0171115600016459 0
66 0.0167349817417959 0.0168694972570483 0
67 0.0167306388457792 0.0167703526170068 0
68 0.0167342461486254 0.0170216701042216 0
69 0.0167197319671568 0.016901836749513 0
70 0.0167519464465281 0.0170673187115242 0
71 0.0166999253882404 0.0170244000761134 0
72 0.0167488868255989 0.0168948935541682 0
73 0.016719535855505 0.0167532385787514 0
74 0.0167381012081846 0.0169219944472036 0
75 0.016714746997405 0.0167925835851213 0
76 0.0167499849810578 0.0168808996334135 0
77 0.0167221554465538 0.0168016955361912 0
78 0.0167373439799208 0.0170095228726826 0
79 0.0167244929090075 0.0168141370789144 0
80 0.0167622135196106 0.016859864413586 0
81 0.0167296907401605 0.0169525347312605 0
82 0.0167466896422982 0.0169839569014993 0
83 0.0167188426601383 0.0168162084291586 0
84 0.0167413380972971 0.0169273999277077 0
85 0.0167347596331369 0.0169807152889901 0
86 0.0167533143427464 0.0170102816927999 0
87 0.0167352247876418 0.0169689170064767 0
88 0.0167353516320998 0.0170848820718366 0
89 0.0167414953006763 0.0171890165607514 0
90 0.016749848191436 0.0172478463290971 0
91 0.0167323993142541 0.0171135568140042 0
92 0.0167619493621011 0.016861817410934 0
93 0.0167279053215378 0.0170351581448981 0
94 0.0167620692274968 0.0171095326409737 0
95 0.0167349965723033 0.0169284916371655 0
96 0.0167560658380733 0.0167662697912137 0
97 0.0167266768320897 0.0169589875825269 0
98 0.0167505611026539 0.0169346709501011 0
99 0.0167372640696571 0.0170533392793984 0
100 0.0167451675088022 0.0170522329067499 0
101 0.0167349737158742 0.016856227418614 0
102 0.0167567040733241 0.0169100022265374 0
103 0.0167333020559676 0.0168937077559035 0
104 0.0167609921837014 0.0171910392082551 0
105 0.0167265123006951 0.0169340819786091 0
106 0.0167540701751976 0.0172338230819611 0
107 0.0167341789751504 0.0170901543616921 0
108 0.0167567098310506 0.0167868528959956 0
109 0.0167278048230401 0.0171335879543943 0
110 0.0167495269800919 0.0171073040105534 0
111 0.0167406579876722 0.0169701885145821 0
112 0.0167589262067727 0.0170029078535099 0
113 0.0167242688811064 0.0169215596137755 0
114 0.0167535141184058 0.0169346131701474 0
115 0.016737757663841 0.0169591706978485 0
116 0.0167484752353975 0.0169375894487302 0
117 0.0167302035267659 0.0168295302870074 0
118 0.0167375224694401 0.016924547064313 0
119 0.0167320194787863 0.0169383559495664 0
120 0.016746486202631 0.0167915482591228 0
121 0.016722477006851 0.0170090248478852 0
122 0.0167550999358457 0.0169868139543769 0
123 0.0167311361039708 0.0168841494503271 0
124 0.0167435888449013 0.0172432628600796 0
125 0.016719886378911 0.0172512663437595 0
126 0.0167514476180474 0.0166901924448404 0
127 0.016733504972205 0.0170508184325355 0
128 0.0167560567652923 0.0169314384148052 0
129 0.0167352814925233 0.0170312671625162 0
130 0.016753138644852 0.0167689058488605 0
131 0.0167400480176239 0.0171305203799934 0
132 0.0167452113024184 0.0168542409054016 0
133 0.0167247150176664 0.0171618674886609 0
134 0.0167355227936036 0.0170515112682947 0
135 0.0167245276298426 0.0172975114287112 0
136 0.0167448593832 0.0169936038844669 0
137 0.0167307758098776 0.0169549054549809 0
138 0.0167412056695892 0.0169298114988878 0
139 0.0167255880983649 0.0170253563256194 0
140 0.0167422534013228 0.0168266819622194 0
141 0.0167193516082593 0.0170997161585044 0
142 0.0167385023297925 0.0168946802396562 0
143 0.016705906968094 0.016992920125921 0
144 0.0167404309936697 0.016921162311133 0
145 0.0167155682585657 0.0169877344187152 0
146 0.0167350478684115 0.0169613225210795 0
147 0.0167151202027635 0.0170480064166006 0
148 0.0167373663129203 0.0169424862561673 0
149 0.016693902980872 0.0169208393718146 0
150 0.0167265196287105 0.0171000242600703 0
151 0.0167148515088635 0.0170023016004004 0
152 0.0167491921595762 0.0168152008584853 0
153 0.0167138374511057 0.0168970548037361 0
154 0.01672268288919 0.0170935871193654 0
155 0.016713883163964 0.0170835660504739 0
156 0.0167278643195466 0.0168896237081778 0
157 0.016726385107284 0.0169240319324598 0
158 0.0167313726941841 0.0171229468420115 0
159 0.0167074498643005 0.0169091491430516 0
160 0.0167181608057478 0.0171242712423403 0
161 0.0167095725461107 0.0169583039985427 0
162 0.0167157395945461 0.016980123873633 0
163 0.0167250866527359 0.0168419522788097 0
164 0.0167240209499168 0.0168699013676008 0
165 0.016707788697777 0.0170141937971587 0
166 0.016726686602777 0.0168653728855483 0
167 0.0167067578902697 0.0170303089928306 0
168 0.0167323436562319 0.0169958541605496 0
169 0.0166997167142764 0.0169007481821674 0
170 0.016728047519933 0.0168055502097199 0
171 0.0167000236185428 0.016751384907064 0
172 0.0167135718977838 0.0170459629962434 0
173 0.0167101554722925 0.0171742067381729 0
174 0.0167162518577217 0.017009789952227 0
175 0.016698760233783 0.017035314726827 0
176 0.0167259262339352 0.0170120934696568 0
177 0.0167001843114531 0.0168354903503301 0
178 0.0167124269826071 0.0170146720964735 0
179 0.0166979893963477 0.0168405631160553 0
180 0.0167173175605408 0.0169598953038541 0
181 0.0167030137978017 0.0170114023795155 0
182 0.0167130235179605 0.0169785282042766 0
183 0.0166889363311589 0.0170050780057293 0
184 0.0167049515344599 0.0167849335890737 0
185 0.0166891643720208 0.0170350095928116 0
186 0.0167144257860609 0.0167703564573663 0
187 0.0166950775570635 0.0168229929478329 0
188 0.0167066258115149 0.0170766078428147 0
189 0.0166899927867203 0.0169629183649976 0
190 0.0167204148684066 0.0170641607141142 0
191 0.0166873287041492 0.0169760169583123 0
192 0.0167186125255577 0.0169847640752334 0
193 0.0166735365066795 0.017033343924176 0
194 0.0167133203025865 0.0169504539546795 0
195 0.0166931954784274 0.0168980927481615 0
196 0.0167035377509067 0.0170428481155964 0
197 0.0166783023338738 0.0169532237266603 0
198 0.0167123730693506 0.0169255748841544 0
199 0.016688532417926 0.0170238355432726 0
200 0.0167097555720206 0.017064109218385 0
201 0.0166789950058109 0.0168959845653789 0
202 0.0166970927613137 0.016870468169745 0
203 0.0166853232705863 0.0172003683141964 0
204 0.0166682147971699 0.0169669170520062 0
205 0.0166882733202367 0.0170209620815863 0
206 0.0166994431350328 0.0171222604650386 0
207 0.016669055250752 0.0171542234277143 0
208 0.0167072431095787 0.0169524532109029 0
209 0.0166842073185183 0.017089563819144 0
210 0.0167115228450812 0.0169282528366317 0
211 0.0166787196818017 0.017089845561879 0
212 0.0166820776576458 0.0170309442231979 0
213 0.0166828917652676 0.0171422081648913 0
214 0.0166828919397441 0.0169198881846007 0
215 0.0166886184348693 0.0169923559422037 0
216 0.0167101844354013 0.0170145441426787 0
217 0.0166679419158325 0.0167905391173934 0
218 0.0167196613041506 0.0169942132796888 0
219 0.0166913228215255 0.0170522837042319 0
220 0.0166967333396033 0.016866790501875 0
221 0.0166900756630856 0.0168580034103032 0
222 0.0166983214252384 0.0170697227765472 0
223 0.0166703969754865 0.0168474858876703 0
224 0.0167076025312892 0.0171097497958451 0
225 0.0166881337389899 0.0168593377606543 0
226 0.0167046749891148 0.0169034298004424 0
227 0.0166851051748882 0.0170586911694318 0
228 0.0166903757627661 0.016946299558551 0
229 0.0166863544270468 0.016882736372607 0
230 0.0167023502634498 0.0172839598475418 0
231 0.0166933265103228 0.0170588570031359 0
232 0.0166808331163543 0.0169339589125446 0
233 0.0166929039280982 0.0171035821785497 0
234 0.0166964178859856 0.01705823067542 0
235 0.0166797501403559 0.0169105737418501 0
236 0.0166952298750991 0.0171094713697842 0
237 0.0166972180354827 0.0168824476474002 0
238 0.0166983521331127 0.0169520237888903 0
239 0.0166914643220144 0.0171060674148068 0
240 0.0167088154923236 0.0170696843729526 0
241 0.0166859086394399 0.0168485220864778 0
242 0.0167097267833884 0.0170749217504493 0
243 0.0166896925125632 0.0168917989226893 0
244 0.0167073085382882 0.0169097503338691 0
245 0.0167009005377256 0.0168361954054149 0
246 0.0167047615294878 0.016864311200719 0
247 0.0166963988680408 0.0169334457008711 0
248 0.0167178228446541 0.0173226382024216 0
249 0.0167224817177181 0.017014697931619 0
250 0.0167383386707806 0.0171750945594558 0
251 0.0167398232918166 0.0171205895595492 0
252 0.0167536060675521 0.0170395124142804 0
253 0.0167773394158932 0.017286882535654 0
254 0.016865794494642 0.017103441481744 0
255 0.0172802874625528 0.0182295080172893 0
[END] of [DATA]
[END] of [Spectrum]

@ -0,0 +1,297 @@
[Spectrum]
Version = 1
IDData = AquaDLAB_2016-12-07_12-02-43_591_545
IDDevice = SAM_852F
IDDataType = SPECTRUM
IDDataTypeSub1 = CAL
IDDataTypeSub2 = Aqua
IDDataTypeSub3 =
DateTime = 2016-12-07 12:01:43
PositionLatitude = 0
PositionLongitude = 0
Comment =
CommentSub1 =
CommentSub2 =
CommentSub3 =
IDMethodType =
MethodName =
Mission = No Mission
MissionSub = 1
RecordType = 0
[Attributes]
CalFactor = 1
IDBasisSpec =
IDDataBack = DLAB_2016-11-29_14-47-59_729_812
IDDataCal =
IntegrationTime = 256
P31 = -1
P31e = 0
PathLength = +INF
RAWDynamic = 65535
Temperature = +NAN
Unit1 = $05 $00 Pixel
Unit2 = $04 $09 1/Intensity (m^2 nm)/mW
Unit3 = $04 $09 1/Intensity (m^2 nm)/mW
Unit4 = $f1 $00 Status
[END] of [Attributes]
[DATA]
0 7 0 0
1 +NAN 0 0
2 +NAN 0 0
3 +NAN 0 0
4 +NAN 0 0
5 0.0757791569140749 0 0
6 0.0831133762408903 0 0
7 0.0873256015093429 0 0
8 0.088798490578607 0 0
9 0.0893180250587088 0 0
10 0.0912184306930603 0 0
11 0.0934315009445713 0 0
12 0.0978927038642625 0 0
13 0.10316713605413 0 0
14 0.111042352696646 0 0
15 0.119482024262908 0 0
16 0.129446496806651 0 0
17 0.140324929207819 0 0
18 0.149929004563169 0 0
19 0.157951375798488 0 0
20 0.163167079267684 0 0
21 0.163684554455683 0 0
22 0.161710955408623 0 0
23 0.158158176144384 0 0
24 0.153120816765498 0 0
25 0.149159625705894 0 0
26 0.146361065436421 0 0
27 0.144318454214309 0 0
28 0.144129633718655 0 0
29 0.144738939517372 0 0
30 0.146583353055999 0 0
31 0.149927549178646 0 0
32 0.154781330782628 0 0
33 0.161281049713208 0 0
34 0.169324782015295 0 0
35 0.178566729488516 0 0
36 0.188750791302883 0 0
37 0.199826540979236 0 0
38 0.211193704798505 0 0
39 0.222305048038871 0 0
40 0.232787040612667 0 0
41 0.242185638548782 0 0
42 0.249199329450493 0 0
43 0.253905646769863 0 0
44 0.255480704613068 0 0
45 0.254086308176615 0 0
46 0.250712203525897 0 0
47 0.245637528877396 0 0
48 0.239859851966525 0 0
49 0.233843628655063 0 0
50 0.228059104546805 0 0
51 0.222661940533832 0 0
52 0.218199567518201 0 0
53 0.214240155949967 0 0
54 0.21061280671042 0 0
55 0.206823867975479 0 0
56 0.202504211638902 0 0
57 0.198378089686984 0 0
58 0.195008429198418 0 0
59 0.192596053511712 0 0
60 0.1913409806608 0 0
61 0.191204589224151 0 0
62 0.191982450755957 0 0
63 0.193875999271111 0 0
64 0.196568015329539 0 0
65 0.200197325412529 0 0
66 0.204781342874412 0 0
67 0.210052890237844 0 0
68 0.215505542064364 0 0
69 0.22102191587617 0 0
70 0.225647984382987 0 0
71 0.229501509141454 0 0
72 0.232213608637945 0 0
73 0.233859853462842 0 0
74 0.234864695710533 0 0
75 0.235347731196379 0 0
76 0.235169523165461 0 0
77 0.2348286160222 0 0
78 0.23395735104209 0 0
79 0.232593294508701 0 0
80 0.230910869907075 0 0
81 0.228844605598996 0 0
82 0.226021135136259 0 0
83 0.222713212172475 0 0
84 0.218813740820075 0 0
85 0.214437631947854 0 0
86 0.20945948892298 0 0
87 0.203847193841702 0 0
88 0.197707092492944 0 0
89 0.191556734852924 0 0
90 0.18600061167507 0 0
91 0.181873354953207 0 0
92 0.178782316057322 0 0
93 0.176167924779435 0 0
94 0.174141863608666 0 0
95 0.172744990342331 0 0
96 0.171801376758966 0 0
97 0.170954015345458 0 0
98 0.169960140045412 0 0
99 0.168049955384139 0 0
100 0.165224777136175 0 0
101 0.161531979240228 0 0
102 0.157405412608478 0 0
103 0.153570487964493 0 0
104 0.150141271545146 0 0
105 0.14725256652001 0 0
106 0.144660342475923 0 0
107 0.142269456600007 0 0
108 0.139762314536934 0 0
109 0.136963054606891 0 0
110 0.133984343960448 0 0
111 0.131197679174342 0 0
112 0.129003116254732 0 0
113 0.127069994503092 0 0
114 0.125436648144931 0 0
115 0.12397269238396 0 0
116 0.122419985358787 0 0
117 0.120693422850158 0 0
118 0.118931546980571 0 0
119 0.117166660339047 0 0
120 0.115631793601506 0 0
121 0.114393230429202 0 0
122 0.113425752529033 0 0
123 0.112707849783804 0 0
124 0.112359222280159 0 0
125 0.11219082672674 0 0
126 0.112343608199868 0 0
127 0.112664705152637 0 0
128 0.112877954686814 0 0
129 0.112998494144185 0 0
130 0.112887922565457 0 0
131 0.11253063359053 0 0
132 0.111841159102354 0 0
133 0.110997003525569 0 0
134 0.109948198155768 0 0
135 0.108874849717231 0 0
136 0.107795318097265 0 0
137 0.106637360724801 0 0
138 0.105678694194695 0 0
139 0.104756017092462 0 0
140 0.103825430274706 0 0
141 0.102939456306441 0 0
142 0.102001186921616 0 0
143 0.100737446991222 0 0
144 0.0991453606719906 0 0
145 0.0971498679860747 0 0
146 0.0948117209915638 0 0
147 0.0924075366042346 0 0
148 0.0899484551808979 0 0
149 0.0873520434504222 0 0
150 0.0848497958878303 0 0
151 0.0823900490277647 0 0
152 0.0799786063537234 0 0
153 0.0776610830064481 0 0
154 0.0752837851752474 0 0
155 0.0729604964467151 0 0
156 0.0707262742573907 0 0
157 0.0684046065784823 0 0
158 0.0660274200992436 0 0
159 0.0636252573638505 0 0
160 0.0612270512870042 0 0
161 0.0587905905539405 0 0
162 0.0563195707029216 0 0
163 0.0538582650571118 0 0
164 0.0514203967394221 0 0
165 0.0490721477077881 0 0
166 0.0468328465329872 0 0
167 0.044723244642693 0 0
168 0.0427398639178554 0 0
169 0.0408841538190041 0 0
170 0.0391762093418711 0 0
171 0.0375882143782858 0 0
172 0.0361234008364646 0 0
173 0.0347811387811729 0 0
174 0.0335210387242261 0 0
175 0.0323747022105674 0 0
176 0.0312594345687719 0 0
177 0.030174948252246 0 0
178 0.0291339080526091 0 0
179 0.0281312995576928 0 0
180 0.027138393963344 0 0
181 0.0260756668210364 0 0
182 0.0250906058668046 0 0
183 0.0240551778532538 0 0
184 0.0230712653382013 0 0
185 0.0221310389230639 0 0
186 0.0211757703478467 0 0
187 0.0202209094313405 0 0
188 0.0192572613107586 0 0
189 0.0182920464007378 0 0
190 0.0172950661682144 0 0
191 0.0163207919630062 0 0
192 0.0153269728531649 0 0
193 0.0143853788804443 0 0
194 0.0135213976548868 0 0
195 0.0127456574145877 0 0
196 0.0120278700767597 0 0
197 +NAN 0 0
198 +NAN 0 0
199 +NAN 0 0
200 +NAN 0 0
201 +NAN 0 0
202 +NAN 0 0
203 +NAN 0 0
204 +NAN 0 0
205 +NAN 0 0
206 +NAN 0 0
207 +NAN 0 0
208 +NAN 0 0
209 +NAN 0 0
210 +NAN 0 0
211 +NAN 0 0
212 +NAN 0 0
213 +NAN 0 0
214 +NAN 0 0
215 +NAN 0 0
216 +NAN 0 0
217 +NAN 0 0
218 +NAN 0 0
219 +NAN 0 0
220 +NAN 0 0
221 +NAN 0 0
222 +NAN 0 0
223 +NAN 0 0
224 +NAN 0 0
225 +NAN 0 0
226 +NAN 0 0
227 +NAN 0 0
228 +NAN 0 0
229 +NAN 0 0
230 +NAN 0 0
231 +NAN 0 0
232 +NAN 0 0
233 +NAN 0 0
234 +NAN 0 0
235 +NAN 0 0
236 +NAN 0 0
237 +NAN 0 0
238 +NAN 0 0
239 +NAN 0 0
240 +NAN 0 0
241 +NAN 0 0
242 +NAN 0 0
243 +NAN 0 0
244 +NAN 0 0
245 +NAN 0 0
246 +NAN 0 0
247 +NAN 0 0
248 +NAN 0 0
249 +NAN 0 0
250 +NAN 0 0
251 +NAN 0 0
252 +NAN 0 0
253 +NAN 0 0
254 +NAN 0 0
255 +NAN 0 0
[END] of [DATA]
[END] of [Spectrum]

@ -0,0 +1,297 @@
[Spectrum]
Version = 1
IDData = DLAB_2018-05-24_13-29-21_895_177
IDDevice = SAM_859F
IDDataType = SPECTRUM
IDDataTypeSub1 = CAL
IDDataTypeSub2 = Aqua
IDDataTypeSub3 =
DateTime = 2018-05-24 13:29:21
PositionLatitude = 0
PositionLongitude = 0
Comment =
CommentSub1 =
CommentSub2 =
CommentSub3 =
IDMethodType =
MethodName =
Mission = No Mission
MissionSub = 1
RecordType = 0
[Attributes]
CalFactor = 1
IDBasisSpec =
IDDataBack = DLAB_2018-05-04_11-56-28_529_586
IDDataCal =
IntegrationTime = 64
P31 = -1
P31e = 0
PathLength = +INF
RAWDynamic = 65535
Temperature = +NAN
Unit1 = $05 $00 Pixel
Unit2 = $04 $04 1/Intensity (m^2 nm Sr)/mW
Unit3 = $04 $04 1/Intensity (m^2 nm Sr)/mW
Unit4 = $f1 $00 Status
[END] of [Attributes]
[DATA]
0 5 0 0
1 +NAN 0 0
2 +NAN 0 0
3 +NAN 0 0
4 +NAN 0 0
5 0.308009257704273 0 0
6 0.348985396550329 0 0
7 0.39611199753429 0 0
8 0.43986968240828 0 0
9 0.477232425339663 0 0
10 0.536318311921194 0 0
11 0.599255756896796 0 0
12 0.660195405447511 0 0
13 0.721940911560072 0 0
14 0.778381764258939 0 0
15 0.806518994572799 0 0
16 0.812862184246214 0 0
17 0.800779958731845 0 0
18 0.768238986615194 0 0
19 0.729324871828135 0 0
20 0.701235591002145 0 0
21 0.674572715683613 0 0
22 0.663056816542841 0 0
23 0.662699926877705 0 0
24 0.669382520005193 0 0
25 0.684772623825422 0 0
26 0.710275115045633 0 0
27 0.74145572495904 0 0
28 0.783988164111933 0 0
29 0.834525694448954 0 0
30 0.886966821712609 0 0
31 0.949247521262016 0 0
32 1.01565043430167 0 0
33 1.07897249264832 0 0
34 1.14377888540009 0 0
35 1.19997013476615 0 0
36 1.24429313837597 0 0
37 1.2763795229717 0 0
38 1.29391228294411 0 0
39 1.29587029284695 0 0
40 1.29012478792631 0 0
41 1.27276079346714 0 0
42 1.2450982196578 0 0
43 1.21375364521069 0 0
44 1.17906121512383 0 0
45 1.14422362714978 0 0
46 1.11315509839511 0 0
47 1.08731507394343 0 0
48 1.06746197368796 0 0
49 1.05494171300318 0 0
50 1.04869254224893 0 0
51 1.04747349722362 0 0
52 1.04822757370139 0 0
53 1.04856210675178 0 0
54 1.04679141002185 0 0
55 1.04513065036628 0 0
56 1.04725995618916 0 0
57 1.0535067386541 0 0
58 1.06471361999517 0 0
59 1.08034380002613 0 0
60 1.10113009018595 0 0
61 1.12455239246124 0 0
62 1.15132895471663 0 0
63 1.1795169782144 0 0
64 1.20798673857183 0 0
65 1.23708055274173 0 0
66 1.26532262623006 0 0
67 1.29064822236823 0 0
68 1.31210337451311 0 0
69 1.32736540301797 0 0
70 1.33430139824988 0 0
71 1.33335932325033 0 0
72 1.32335113190924 0 0
73 1.30558590461423 0 0
74 1.28227321775146 0 0
75 1.25498704776805 0 0
76 1.22525023251367 0 0
77 1.19392661641762 0 0
78 1.16317225749886 0 0
79 1.13207700011805 0 0
80 1.10111674556499 0 0
81 1.07075040366943 0 0
82 1.03893893539784 0 0
83 1.0081446443131 0 0
84 0.97774721715577 0 0
85 0.947774052897518 0 0
86 0.919152947182789 0 0
87 0.894963764571428 0 0
88 0.87836395884067 0 0
89 0.867156996532193 0 0
90 0.858153034494107 0 0
91 0.851906778357719 0 0
92 0.847981268808314 0 0
93 0.844919850173329 0 0
94 0.841944554421527 0 0
95 0.83721825473176 0 0
96 0.828398944802337 0 0
97 0.815351600734525 0 0
98 0.799543228463232 0 0
99 0.782489183888857 0 0
100 0.765962841341892 0 0
101 0.751320667184625 0 0
102 0.737812095757199 0 0
103 0.725090001717255 0 0
104 0.712873061263532 0 0
105 0.698758948036327 0 0
106 0.683766639638848 0 0
107 0.672493396285743 0 0
108 0.664610527729123 0 0
109 0.658092136872804 0 0
110 0.652228157780532 0 0
111 0.645754399378545 0 0
112 0.639368207275896 0 0
113 0.633138158063289 0 0
114 0.628392493836991 0 0
115 0.626088937445665 0 0
116 0.625599854321674 0 0
117 0.627001238574581 0 0
118 0.630202545823175 0 0
119 0.632703647598273 0 0
120 0.633210363154327 0 0
121 0.63123164301687 0 0
122 0.626485370072314 0 0
123 0.618891745640103 0 0
124 0.609361448964366 0 0
125 0.598872648152344 0 0
126 0.58927447780469 0 0
127 0.580815044730471 0 0
128 0.573341941514821 0 0
129 0.567484926926375 0 0
130 0.562800136636572 0 0
131 0.558223116403165 0 0
132 0.553158922485434 0 0
133 0.547084299354418 0 0
134 0.539847820827437 0 0
135 0.531432360197925 0 0
136 0.521203701656628 0 0
137 0.509855867118928 0 0
138 0.498554054755033 0 0
139 0.487573187562371 0 0
140 0.476425489189536 0 0
141 0.466415695619565 0 0
142 0.456641365086098 0 0
143 0.446540473657011 0 0
144 0.436135290849149 0 0
145 0.424928637592468 0 0
146 0.412541586513936 0 0
147 0.399056656796071 0 0
148 0.384717912438278 0 0
149 0.369579305401316 0 0
150 0.353784632326527 0 0
151 0.337380068381195 0 0
152 0.321095903578543 0 0
153 0.305495669126019 0 0
154 0.290421643260465 0 0
155 0.276140762920409 0 0
156 0.262854333224098 0 0
157 0.250936131068681 0 0
158 0.240006392992584 0 0
159 0.229965608856624 0 0
160 0.220954309792884 0 0
161 0.212487857424938 0 0
162 0.204661532835082 0 0
163 0.197216204057537 0 0
164 0.189605277840326 0 0
165 0.182475141050851 0 0
166 0.175121099828465 0 0
167 0.167843462384963 0 0
168 0.160673785509465 0 0
169 0.153434661065448 0 0
170 0.146286002352245 0 0
171 0.139523451810534 0 0
172 0.133107862589632 0 0
173 0.126994143420237 0 0
174 0.121367561058691 0 0
175 0.116037239577153 0 0
176 0.111252442566666 0 0
177 0.106669531239736 0 0
178 0.102319284531729 0 0
179 0.098450973344807 0 0
180 0.0947593486764351 0 0
181 0.0911919684356708 0 0
182 0.0879361030612687 0 0
183 0.0844573547823388 0 0
184 0.0813058869947144 0 0
185 0.0782782092672921 0 0
186 0.0751117681314502 0 0
187 0.0722888539254525 0 0
188 0.0693076153913147 0 0
189 0.0660732713239472 0 0
190 0.0627758734115707 0 0
191 0.0592551057473219 0 0
192 0.0560010918166818 0 0
193 0.0532135140872552 0 0
194 0.0505779890461858 0 0
195 0.0480767985810033 0 0
196 +NAN 0 0
197 +NAN 0 0
198 +NAN 0 0
199 +NAN 0 0
200 +NAN 0 0
201 +NAN 0 0
202 +NAN 0 0
203 +NAN 0 0
204 +NAN 0 0
205 +NAN 0 0
206 +NAN 0 0
207 +NAN 0 0
208 +NAN 0 0
209 +NAN 0 0
210 +NAN 0 0
211 +NAN 0 0
212 +NAN 0 0
213 +NAN 0 0
214 +NAN 0 0
215 +NAN 0 0
216 +NAN 0 0
217 +NAN 0 0
218 +NAN 0 0
219 +NAN 0 0
220 +NAN 0 0
221 +NAN 0 0
222 +NAN 0 0
223 +NAN 0 0
224 +NAN 0 0
225 +NAN 0 0
226 +NAN 0 0
227 +NAN 0 0
228 +NAN 0 0
229 +NAN 0 0
230 +NAN 0 0
231 +NAN 0 0
232 +NAN 0 0
233 +NAN 0 0
234 +NAN 0 0
235 +NAN 0 0
236 +NAN 0 0
237 +NAN 0 0
238 +NAN 0 0
239 +NAN 0 0
240 +NAN 0 0
241 +NAN 0 0
242 +NAN 0 0
243 +NAN 0 0
244 +NAN 0 0
245 +NAN 0 0
246 +NAN 0 0
247 +NAN 0 0
248 +NAN 0 0
249 +NAN 0 0
250 +NAN 0 0
251 +NAN 0 0
252 +NAN 0 0
253 +NAN 0 0
254 +NAN 0 0
255 +NAN 0 0
[END] of [DATA]
[END] of [Spectrum]

@ -0,0 +1,297 @@
[Spectrum]
Version = 1
IDData = DLAB_2018-06-13_11-58-21_312_112
IDDevice = SAM_85B5
IDDataType = SPECTRUM
IDDataTypeSub1 = CAL
IDDataTypeSub2 = Aqua
IDDataTypeSub3 =
DateTime = 2018-06-13 11:58:21
PositionLatitude = 0
PositionLongitude = 0
Comment =
CommentSub1 =
CommentSub2 =
CommentSub3 =
IDMethodType =
MethodName =
Mission = No Mission
MissionSub = 1
RecordType = 0
[Attributes]
CalFactor = 1
IDBasisSpec =
IDDataBack = DLAB_2018-06-11_15-23-57_730_586
IDDataCal =
IntegrationTime = 64
P31 = -1
P31e = 0
PathLength = +INF
RAWDynamic = 65535
Temperature = +NAN
Unit1 = $05 $00 Pixel
Unit2 = $04 $04 1/Intensity (m^2 nm Sr)/mW
Unit3 = $04 $04 1/Intensity (m^2 nm Sr)/mW
Unit4 = $f1 $00 Status
[END] of [Attributes]
[DATA]
0 5 0 0
1 +NAN 0 0
2 +NAN 0 0
3 +NAN 0 0
4 0.213368170535889 0 0
5 0.269708461889978 0 0
6 0.323681305990691 0 0
7 0.361686162925288 0 0
8 0.399727885563257 0 0
9 0.426595980991839 0 0
10 0.455395402116462 0 0
11 0.489873358069589 0 0
12 0.521706723967902 0 0
13 0.569424753191682 0 0
14 0.613678281579101 0 0
15 0.668568867138568 0 0
16 0.729648774358889 0 0
17 0.791588424733509 0 0
18 0.846278067578305 0 0
19 0.889326585618736 0 0
20 0.912464300651466 0 0
21 0.912041091772509 0 0
22 0.896201537846271 0 0
23 0.875528861051999 0 0
24 0.850358796139941 0 0
25 0.830813460904554 0 0
26 0.816907084374381 0 0
27 0.809230927534884 0 0
28 0.809079793968319 0 0
29 0.815347896421343 0 0
30 0.825892411944005 0 0
31 0.84503183706585 0 0
32 0.873670658313288 0 0
33 0.907826486501149 0 0
34 0.950360287322641 0 0
35 1.00114116281862 0 0
36 1.05504053595122 0 0
37 1.11205216981838 0 0
38 1.17221784963607 0 0
39 1.22975299376536 0 0
40 1.2826684244193 0 0
41 1.32878263374036 0 0
42 1.35908629098684 0 0
43 1.37850707003827 0 0
44 1.38104038663283 0 0
45 1.36883708486346 0 0
46 1.34742818899357 0 0
47 1.31902470629713 0 0
48 1.28498732451399 0 0
49 1.25220172471482 0 0
50 1.22068349763187 0 0
51 1.1925789464318 0 0
52 1.16935370804616 0 0
53 1.14646179324841 0 0
54 1.12109994325093 0 0
55 1.09422415317439 0 0
56 1.06828767805555 0 0
57 1.04445396328421 0 0
58 1.02753751191562 0 0
59 1.01678817181089 0 0
60 1.01144651696064 0 0
61 1.01173798764201 0 0
62 1.0164772818471 0 0
63 1.02628160092791 0 0
64 1.04098599390468 0 0
65 1.05940120890642 0 0
66 1.08286747681355 0 0
67 1.10823034660724 0 0
68 1.13310605067389 0 0
69 1.1547273364889 0 0
70 1.17166412724341 0 0
71 1.183983471337 0 0
72 1.19136561427902 0 0
73 1.19606418873222 0 0
74 1.19672161290192 0 0
75 1.19671286046196 0 0
76 1.19421014531398 0 0
77 1.18916801665381 0 0
78 1.18305692745573 0 0
79 1.17490571141989 0 0
80 1.16334076115534 0 0
81 1.14948755782896 0 0
82 1.13252619591223 0 0
83 1.11230773028189 0 0
84 1.09067725991727 0 0
85 1.06664792919033 0 0
86 1.03995448729021 0 0
87 1.01197155529512 0 0
88 0.982502268789757 0 0
89 0.950934147643801 0 0
90 0.921876981717461 0 0
91 0.899503833526815 0 0
92 0.884246887000271 0 0
93 0.871798641947689 0 0
94 0.860748919530635 0 0
95 0.851106201938694 0 0
96 0.841814387319495 0 0
97 0.830400473286421 0 0
98 0.814782119978127 0 0
99 0.796371468702983 0 0
100 0.774800085650998 0 0
101 0.751694156127581 0 0
102 0.729723545880894 0 0
103 0.70902256138046 0 0
104 0.69215621992056 0 0
105 0.678393548274155 0 0
106 0.667293944696908 0 0
107 0.65649797079901 0 0
108 0.6446860376968 0 0
109 0.629464240966416 0 0
110 0.615183928901848 0 0
111 0.602591773736883 0 0
112 0.590820336228123 0 0
113 0.580150915843665 0 0
114 0.571621329022329 0 0
115 0.563766808252911 0 0
116 0.556883367165026 0 0
117 0.549917569359012 0 0
118 0.542933812612894 0 0
119 0.535932724580549 0 0
120 0.528043359268253 0 0
121 0.520231538772767 0 0
122 0.513331529426342 0 0
123 0.507286194391832 0 0
124 0.502222099629004 0 0
125 0.498298138845332 0 0
126 0.496514280280116 0 0
127 0.495442722847893 0 0
128 0.494658216836534 0 0
129 0.494062920786886 0 0
130 0.492582820232232 0 0
131 0.490091285479962 0 0
132 0.485745623273317 0 0
133 0.480328740541132 0 0
134 0.473945880321646 0 0
135 0.466683779528739 0 0
136 0.458932848241851 0 0
137 0.451064706693729 0 0
138 0.443865689279125 0 0
139 0.437073402888952 0 0
140 0.430871678484112 0 0
141 0.424656716266769 0 0
142 0.418021794802865 0 0
143 0.410821018781503 0 0
144 0.402243888142941 0 0
145 0.392571430814996 0 0
146 0.381881477324506 0 0
147 0.36994612437875 0 0
148 0.35763078427341 0 0
149 0.344551257226534 0 0
150 0.332004497779552 0 0
151 0.319784344441634 0 0
152 0.307705241065949 0 0
153 0.296024637721301 0 0
154 0.285201831804588 0 0
155 0.27477331903475 0 0
156 0.2649271655017 0 0
157 0.255311286750044 0 0
158 0.245955888598912 0 0
159 0.237139128199368 0 0
160 0.228125758026999 0 0
161 0.218973368669899 0 0
162 0.210024147431339 0 0
163 0.201001563461602 0 0
164 0.192143502318544 0 0
165 0.183367668918973 0 0
166 0.17479218252589 0 0
167 0.166354193257315 0 0
168 0.158270839921817 0 0
169 0.15057933833141 0 0
170 0.14334907901495 0 0
171 0.136492914420144 0 0
172 0.130248971747009 0 0
173 0.124351585245978 0 0
174 0.119145124817533 0 0
175 0.114204124468303 0 0
176 0.10955932586493 0 0
177 0.105201972954921 0 0
178 0.100976345428583 0 0
179 0.0970301944120184 0 0
180 0.0930794320815323 0 0
181 0.0893096045786908 0 0
182 0.0855242301014967 0 0
183 0.0818515687486457 0 0
184 0.0783728272346642 0 0
185 0.0747373637294556 0 0
186 0.0714485344156491 0 0
187 0.0680790457826121 0 0
188 0.0647379875159452 0 0
189 0.0614749247480892 0 0
190 0.0581599202112611 0 0
191 0.0547153945113677 0 0
192 0.0515011739034831 0 0
193 0.0485390098580295 0 0
194 0.045947792932824 0 0
195 0.0435560478479539 0 0
196 0.0413612446534424 0 0
197 +NAN 0 0
198 +NAN 0 0
199 +NAN 0 0
200 +NAN 0 0
201 +NAN 0 0
202 +NAN 0 0
203 +NAN 0 0
204 +NAN 0 0
205 +NAN 0 0
206 +NAN 0 0
207 +NAN 0 0
208 +NAN 0 0
209 +NAN 0 0
210 +NAN 0 0
211 +NAN 0 0
212 +NAN 0 0
213 +NAN 0 0
214 +NAN 0 0
215 +NAN 0 0
216 +NAN 0 0
217 +NAN 0 0
218 +NAN 0 0
219 +NAN 0 0
220 +NAN 0 0
221 +NAN 0 0
222 +NAN 0 0
223 +NAN 0 0
224 +NAN 0 0
225 +NAN 0 0
226 +NAN 0 0
227 +NAN 0 0
228 +NAN 0 0
229 +NAN 0 0
230 +NAN 0 0
231 +NAN 0 0
232 +NAN 0 0
233 +NAN 0 0
234 +NAN 0 0
235 +NAN 0 0
236 +NAN 0 0
237 +NAN 0 0
238 +NAN 0 0
239 +NAN 0 0
240 +NAN 0 0
241 +NAN 0 0
242 +NAN 0 0
243 +NAN 0 0
244 +NAN 0 0
245 +NAN 0 0
246 +NAN 0 0
247 +NAN 0 0
248 +NAN 0 0
249 +NAN 0 0
250 +NAN 0 0
251 +NAN 0 0
252 +NAN 0 0
253 +NAN 0 0
254 +NAN 0 0
255 +NAN 0 0
[END] of [DATA]
[END] of [Spectrum]

@ -0,0 +1,297 @@
[Spectrum]
Version = 1
IDData = DLAB_2018-07-03_17-15-53_767_889
IDDevice = SAM_85C2
IDDataType = SPECTRUM
IDDataTypeSub1 = CAL
IDDataTypeSub2 = Aqua
IDDataTypeSub3 =
DateTime = 2018-07-03 17:15:53
PositionLatitude = 0
PositionLongitude = 0
Comment =
CommentSub1 =
CommentSub2 =
CommentSub3 =
IDMethodType =
MethodName =
Mission = No Mission
MissionSub = 1
RecordType = 0
[Attributes]
CalFactor = 1
IDBasisSpec =
IDDataBack = DLAB_2018-07-02_16-15-52_275_586
IDDataCal =
IntegrationTime = 64
P31 = -1
P31e = 0
PathLength = +INF
RAWDynamic = 65535
Temperature = +NAN
Unit1 = $05 $00 Pixel
Unit2 = $04 $04 1/Intensity (m^2 nm Sr)/mW
Unit3 = $04 $04 1/Intensity (m^2 nm Sr)/mW
Unit4 = $f1 $00 Status
[END] of [Attributes]
[DATA]
0 5 0 0
1 +NAN 0 0
2 +NAN 0 0
3 +NAN 0 0
4 +NAN 0 0
5 0.356482954042082 0 0
6 0.402818840212745 0 0
7 0.455981796582809 0 0
8 0.513790947820199 0 0
9 0.581106393394544 0 0
10 0.652400597895999 0 0
11 0.729165245163259 0 0
12 0.809695951374305 0 0
13 0.88453433247143 0 0
14 0.944944312747719 0 0
15 0.981931183530144 0 0
16 0.97890644433893 0 0
17 0.956596648488616 0 0
18 0.914337507780978 0 0
19 0.864381326448261 0 0
20 0.827167246646249 0 0
21 0.800694416668645 0 0
22 0.78986648983256 0 0
23 0.793342729280327 0 0
24 0.809072983311401 0 0
25 0.834767169405595 0 0
26 0.872805947088459 0 0
27 0.921221494674019 0 0
28 0.980173791184887 0 0
29 1.05102154902541 0 0
30 1.12930675423331 0 0
31 1.21095167248078 0 0
32 1.29504423201304 0 0
33 1.3761833690735 0 0
34 1.44941098633961 0 0
35 1.51258129060157 0 0
36 1.56003462286042 0 0
37 1.58613256964525 0 0
38 1.59595706282003 0 0
39 1.58646705138274 0 0
40 1.56463589386165 0 0
41 1.53756622064089 0 0
42 1.50241608927798 0 0
43 1.4657899060372 0 0
44 1.42819643066784 0 0
45 1.39093699353292 0 0
46 1.35640193401339 0 0
47 1.3291366616142 0 0
48 1.3074826757329 0 0
49 1.29371125003749 0 0
50 1.28918595210661 0 0
51 1.29271559006051 0 0
52 1.30520259911165 0 0
53 1.32173660739306 0 0
54 1.33791597187085 0 0
55 1.35239128956384 0 0
56 1.36440760724462 0 0
57 1.37762092569269 0 0
58 1.39461338947335 0 0
59 1.4169141265919 0 0
60 1.44343724653861 0 0
61 1.47409755299312 0 0
62 1.50670023106802 0 0
63 1.53949706626466 0 0
64 1.57379985877493 0 0
65 1.60506087092559 0 0
66 1.63474977349559 0 0
67 1.66262314886676 0 0
68 1.6867112751644 0 0
69 1.70497845407306 0 0
70 1.71722612221823 0 0
71 1.72015067971529 0 0
72 1.71182391495322 0 0
73 1.69060216043102 0 0
74 1.65693636912006 0 0
75 1.615276853664 0 0
76 1.56885138733016 0 0
77 1.51988696317221 0 0
78 1.47238950135993 0 0
79 1.42841545003656 0 0
80 1.38597016134539 0 0
81 1.34644570226061 0 0
82 1.30918427370975 0 0
83 1.272833651334 0 0
84 1.23871854263795 0 0
85 1.20592126590957 0 0
86 1.17421842576069 0 0
87 1.14414540628486 0 0
88 1.11675959841052 0 0
89 1.09205554594672 0 0
90 1.07713100431408 0 0
91 1.06771250877206 0 0
92 1.06114445201819 0 0
93 1.05828511190168 0 0
94 1.05789551638809 0 0
95 1.05839987869692 0 0
96 1.05968794981088 0 0
97 1.05760658826783 0 0
98 1.05021868492741 0 0
99 1.03840218029399 0 0
100 1.02171038385539 0 0
101 1.00303608270452 0 0
102 0.985587384786529 0 0
103 0.969155119807841 0 0
104 0.957250725878805 0 0
105 0.948805673627153 0 0
106 0.943690255948233 0 0
107 0.94115052725798 0 0
108 0.940311121408207 0 0
109 0.936426058319819 0 0
110 0.929831072715321 0 0
111 0.92137487467603 0 0
112 0.913920568414937 0 0
113 0.907455306712896 0 0
114 0.902686110798026 0 0
115 0.898125710110949 0 0
116 0.894320543495939 0 0
117 0.888988205031672 0 0
118 0.882478589132188 0 0
119 0.875643320641074 0 0
120 0.866960905236801 0 0
121 0.85808331524723 0 0
122 0.850036611133456 0 0
123 0.842116721554211 0 0
124 0.834155584125161 0 0
125 0.825870667226897 0 0
126 0.818085734330888 0 0
127 0.80937333573889 0 0
128 0.799879100950076 0 0
129 0.789014440994224 0 0
130 0.776809660553211 0 0
131 0.764233867550572 0 0
132 0.750465870807386 0 0
133 0.736420569195548 0 0
134 0.723278335744868 0 0
135 0.710854686038585 0 0
136 0.699063893618938 0 0
137 0.687876475273581 0 0
138 0.67752433279025 0 0
139 0.668033624297236 0 0
140 0.658549260619002 0 0
141 0.647871055584177 0 0
142 0.636008041103345 0 0
143 0.622741859229467 0 0
144 0.607099198838907 0 0
145 0.589718195082128 0 0
146 0.571231808679594 0 0
147 0.551840143680759 0 0
148 0.531790313016104 0 0
149 0.511904550502093 0 0
150 0.492533916324242 0 0
151 0.473976829140493 0 0
152 0.455993213863435 0 0
153 0.438494694002521 0 0
154 0.421582939065556 0 0
155 0.405202246583534 0 0
156 0.389190520866554 0 0
157 0.373672278430399 0 0
158 0.357837814065771 0 0
159 0.342680416381626 0 0
160 0.327270394695731 0 0
161 0.312343150425572 0 0
162 0.297642550528398 0 0
163 0.283655852976372 0 0
164 0.270238359496543 0 0
165 0.257493807901754 0 0
166 0.245735256551437 0 0
167 0.234775054990433 0 0
168 0.224782070488707 0 0
169 0.21527102824311 0 0
170 0.206925139776841 0 0
171 0.19920428909151 0 0
172 0.192067375381572 0 0
173 0.18546450086342 0 0
174 0.17936649692309 0 0
175 0.1740492565549 0 0
176 0.168716810424925 0 0
177 0.163453964529452 0 0
178 0.158330867670766 0 0
179 0.153113270397234 0 0
180 0.147968724530474 0 0
181 0.142859028020375 0 0
182 0.137484591721589 0 0
183 0.132300435162079 0 0
184 0.12719275157505 0 0
185 0.122161584010771 0 0
186 0.117397671330868 0 0
187 0.112581820604776 0 0
188 0.107730813198643 0 0
189 0.102970640334024 0 0
190 0.0980763328283588 0 0
191 0.0929722067690889 0 0
192 0.0882049761452578 0 0
193 0.0837708982222196 0 0
194 0.0799092380316381 0 0
195 0.0764642971780796 0 0
196 0.0732754076052096 0 0
197 +NAN 0 0
198 +NAN 0 0
199 +NAN 0 0
200 +NAN 0 0
201 +NAN 0 0
202 +NAN 0 0
203 +NAN 0 0
204 +NAN 0 0
205 +NAN 0 0
206 +NAN 0 0
207 +NAN 0 0
208 +NAN 0 0
209 +NAN 0 0
210 +NAN 0 0
211 +NAN 0 0
212 +NAN 0 0
213 +NAN 0 0
214 +NAN 0 0
215 +NAN 0 0
216 +NAN 0 0
217 +NAN 0 0
218 +NAN 0 0
219 +NAN 0 0
220 +NAN 0 0
221 +NAN 0 0
222 +NAN 0 0
223 +NAN 0 0
224 +NAN 0 0
225 +NAN 0 0
226 +NAN 0 0
227 +NAN 0 0
228 +NAN 0 0
229 +NAN 0 0
230 +NAN 0 0
231 +NAN 0 0
232 +NAN 0 0
233 +NAN 0 0
234 +NAN 0 0
235 +NAN 0 0
236 +NAN 0 0
237 +NAN 0 0
238 +NAN 0 0
239 +NAN 0 0
240 +NAN 0 0
241 +NAN 0 0
242 +NAN 0 0
243 +NAN 0 0
244 +NAN 0 0
245 +NAN 0 0
246 +NAN 0 0
247 +NAN 0 0
248 +NAN 0 0
249 +NAN 0 0
250 +NAN 0 0
251 +NAN 0 0
252 +NAN 0 0
253 +NAN 0 0
254 +NAN 0 0
255 +NAN 0 0
[END] of [DATA]
[END] of [Spectrum]

@ -0,0 +1,297 @@
[Spectrum]
Version = 1
IDData = AirDLAB_2016-12-07_12-00-24_364_510
IDDevice = SAM_852F
IDDataType = SPECTRUM
IDDataTypeSub1 = CAL
IDDataTypeSub2 = Air
IDDataTypeSub3 =
DateTime = 2016-12-07 11:59:26
PositionLatitude = 0
PositionLongitude = 0
Comment =
CommentSub1 =
CommentSub2 =
CommentSub3 =
IDMethodType =
MethodName =
Mission = No Mission
MissionSub = 1
RecordType = 0
[Attributes]
CalFactor = 1
IDBasisSpec =
IDDataBack = DLAB_2016-11-29_14-47-59_729_812
IDDataCal =
IntegrationTime = 128
P31 = -1
P31e = 0
PathLength = +INF
RAWDynamic = 65535
Temperature = +NAN
Unit1 = $05 $00 Pixel
Unit2 = $04 $09 1/Intensity (m^2 nm)/mW
Unit3 = $04 $09 1/Intensity (m^2 nm)/mW
Unit4 = $f1 $00 Status
[END] of [Attributes]
[DATA]
0 6 0 0
1 +NAN 0 0
2 +NAN 0 0
3 +NAN 0 0
4 +NAN 0 0
5 0.099081925071204 0 0
6 0.107353085872454 0 0
7 0.113070264290883 0 0
8 0.114376499819276 0 0
9 0.116544285861757 0 0
10 0.1185169696214 0 0
11 0.121561138979849 0 0
12 0.126964155564462 0 0
13 0.134364254054539 0 0
14 0.144053858633949 0 0
15 0.154882735476408 0 0
16 0.16719673162462 0 0
17 0.181437615712041 0 0
18 0.194237970806716 0 0
19 0.20386154720656 0 0
20 0.211556336359081 0 0
21 0.211417859085921 0 0
22 0.208790218500257 0 0
23 0.20437467341685 0 0
24 0.198246352046376 0 0
25 0.192966396099738 0 0
26 0.18897229193584 0 0
27 0.186243043953596 0 0
28 0.18578727224224 0 0
29 0.187114583931684 0 0
30 0.189090911319999 0 0
31 0.193600418301244 0 0
32 0.200054490546523 0 0
33 0.208072057884887 0 0
34 0.218285958582262 0 0
35 0.230634876630779 0 0
36 0.243459214546046 0 0
37 0.257752719558026 0 0
38 0.272580246630834 0 0
39 0.286712281491418 0 0
40 0.300342726342385 0 0
41 0.312249154496702 0 0
42 0.321331680226083 0 0
43 0.327112591435919 0 0
44 0.329469692698771 0 0
45 0.327542874308678 0 0
46 0.322985767437387 0 0
47 0.316224456423823 0 0
48 0.308782990589082 0 0
49 0.301183418606427 0 0
50 0.293575702556702 0 0
51 0.286696408065096 0 0
52 0.280798842600295 0 0
53 0.275808444038661 0 0
54 0.271299340181449 0 0
55 0.266225534078626 0 0
56 0.260785177597799 0 0
57 0.255342424416527 0 0
58 0.250947812402455 0 0
59 0.24777514930692 0 0
60 0.246247860756574 0 0
61 0.246092032695547 0 0
62 0.247219177075727 0 0
63 0.249675195006791 0 0
64 0.253195744885965 0 0
65 0.257788026175471 0 0
66 0.26369589320837 0 0
67 0.270555680751329 0 0
68 0.277823002163503 0 0
69 0.284937579021833 0 0
70 0.291097253127256 0 0
71 0.296043211270752 0 0
72 0.299540235735164 0 0
73 0.301795150475552 0 0
74 0.303069111244916 0 0
75 0.30355995799167 0 0
76 0.303606664702465 0 0
77 0.303007474849756 0 0
78 0.302001653949665 0 0
79 0.300361927400822 0 0
80 0.297986890885497 0 0
81 0.295325565249305 0 0
82 0.291656567474701 0 0
83 0.287335862742648 0 0
84 0.282306131698578 0 0
85 0.276702242286357 0 0
86 0.270280607979823 0 0
87 0.263050805729498 0 0
88 0.255009286552014 0 0
89 0.247098798503932 0 0
90 0.2398191835424 0 0
91 0.23466817932016 0 0
92 0.230585310303585 0 0
93 0.227279061892254 0 0
94 0.224693206022759 0 0
95 0.222993136629962 0 0
96 0.221791418806722 0 0
97 0.220695274517678 0 0
98 0.219442816624831 0 0
99 0.217000405185694 0 0
100 0.213283732282521 0 0
101 0.208384750595562 0 0
102 0.202985389753009 0 0
103 0.197924660371165 0 0
104 0.193409646692029 0 0
105 0.189628652821804 0 0
106 0.186318519164064 0 0
107 0.183315563032657 0 0
108 0.180098687261504 0 0
109 0.176492614557115 0 0
110 0.172650422408531 0 0
111 0.168979191040057 0 0
112 0.166106531649937 0 0
113 0.163622827054655 0 0
114 0.161570328667133 0 0
115 0.159693607722301 0 0
116 0.157690305409947 0 0
117 0.15544650006387 0 0
118 0.153185383511044 0 0
119 0.150954772341381 0 0
120 0.148960802743881 0 0
121 0.147350785081686 0 0
122 0.146182367433256 0 0
123 0.145312879880878 0 0
124 0.144781245193999 0 0
125 0.14473607505965 0 0
126 0.144976432177203 0 0
127 0.145464936657928 0 0
128 0.145889790468872 0 0
129 0.146174517595681 0 0
130 0.14615421098877 0 0
131 0.145743119998859 0 0
132 0.144922809795091 0 0
133 0.143805231938307 0 0
134 0.142492952453543 0 0
135 0.141053445832183 0 0
136 0.139720571628269 0 0
137 0.138186469198598 0 0
138 0.136919534961634 0 0
139 0.135732624874463 0 0
140 0.134597268963386 0 0
141 0.133432724955799 0 0
142 0.13211501546202 0 0
143 0.130478475600008 0 0
144 0.128290801143951 0 0
145 0.125726707508103 0 0
146 0.122634784100445 0 0
147 0.119472073398083 0 0
148 0.116199128230447 0 0
149 0.112813911251756 0 0
150 0.109547291781198 0 0
151 0.106268392530964 0 0
152 0.10313443150471 0 0
153 0.100113578226984 0 0
154 0.097073834113113 0 0
155 0.0941199411272616 0 0
156 0.0911853891891621 0 0
157 0.0882319764053268 0 0
158 0.085267274530049 0 0
159 0.0822333903307463 0 0
160 0.0792187073154596 0 0
161 0.0760907077820793 0 0
162 0.0728848234132589 0 0
163 0.0697048920692252 0 0
164 0.0665600438164166 0 0
165 0.0635411651500916 0 0
166 0.0606319242880778 0 0
167 0.0578670530064308 0 0
168 0.0553155735461356 0 0
169 0.0529193006810867 0 0
170 0.050722718025932 0 0
171 0.0486788470977319 0 0
172 0.0467747209472673 0 0
173 0.0450423813898501 0 0
174 0.0434307741189043 0 0
175 0.041915712424757 0 0
176 0.0405250313895705 0 0
177 0.0390895391040532 0 0
178 0.0377897158697839 0 0
179 0.0365016922380464 0 0
180 0.0351788001916396 0 0
181 0.0338645937424847 0 0
182 0.0325302009051183 0 0
183 0.0312848146149282 0 0
184 0.0300375958148976 0 0
185 0.0288302935207691 0 0
186 0.027652203865544 0 0
187 0.0264621566936286 0 0
188 0.0252688692008588 0 0
189 0.0241226625595337 0 0
190 0.0229255436965288 0 0
191 0.0217207281738409 0 0
192 0.0205701146867025 0 0
193 0.0193892949195812 0 0
194 0.0183936626191952 0 0
195 0.017494647116465 0 0
196 0.0167605279940225 0 0
197 +NAN 0 0
198 +NAN 0 0
199 +NAN 0 0
200 +NAN 0 0
201 +NAN 0 0
202 +NAN 0 0
203 +NAN 0 0
204 +NAN 0 0
205 +NAN 0 0
206 +NAN 0 0
207 +NAN 0 0
208 +NAN 0 0
209 +NAN 0 0
210 +NAN 0 0
211 +NAN 0 0
212 +NAN 0 0
213 +NAN 0 0
214 +NAN 0 0
215 +NAN 0 0
216 +NAN 0 0
217 +NAN 0 0
218 +NAN 0 0
219 +NAN 0 0
220 +NAN 0 0
221 +NAN 0 0
222 +NAN 0 0
223 +NAN 0 0
224 +NAN 0 0
225 +NAN 0 0
226 +NAN 0 0
227 +NAN 0 0
228 +NAN 0 0
229 +NAN 0 0
230 +NAN 0 0
231 +NAN 0 0
232 +NAN 0 0
233 +NAN 0 0
234 +NAN 0 0
235 +NAN 0 0
236 +NAN 0 0
237 +NAN 0 0
238 +NAN 0 0
239 +NAN 0 0
240 +NAN 0 0
241 +NAN 0 0
242 +NAN 0 0
243 +NAN 0 0
244 +NAN 0 0
245 +NAN 0 0
246 +NAN 0 0
247 +NAN 0 0
248 +NAN 0 0
249 +NAN 0 0
250 +NAN 0 0
251 +NAN 0 0
252 +NAN 0 0
253 +NAN 0 0
254 +NAN 0 0
255 +NAN 0 0
[END] of [DATA]
[END] of [Spectrum]

@ -0,0 +1,297 @@
[Spectrum]
Version = 1
IDData = DLAB_2018-05-24_13-29-20_305_176
IDDevice = SAM_859F
IDDataType = SPECTRUM
IDDataTypeSub1 = CAL
IDDataTypeSub2 = Air
IDDataTypeSub3 =
DateTime = 2018-05-24 13:28:25
PositionLatitude = 0
PositionLongitude = 0
Comment =
CommentSub1 =
CommentSub2 =
CommentSub3 =
IDMethodType =
MethodName =
Mission = No Mission
MissionSub = 1
RecordType = 0
[Attributes]
CalFactor = 1
IDBasisSpec =
IDDataBack = DLAB_2018-05-04_11-56-28_529_586
IDDataCal =
IntegrationTime = 64
P31 = -1
P31e = 0
PathLength = +INF
RAWDynamic = 65535
Temperature = +NAN
Unit1 = $05 $00 Pixel
Unit2 = $04 $04 1/Intensity (m^2 nm Sr)/mW
Unit3 = $04 $04 1/Intensity (m^2 nm Sr)/mW
Unit4 = $f1 $00 Status
[END] of [Attributes]
[DATA]
0 5 0 0
1 +NAN 0 0
2 +NAN 0 0
3 +NAN 0 0
4 +NAN 0 0
5 0.549282530081406 0 0
6 0.621825635483575 0 0
7 0.705214779700439 0 0
8 0.782494923890489 0 0
9 0.848306874043027 0 0
10 0.952625287085828 0 0
11 1.06364941208026 0 0
12 1.17099618224932 0 0
13 1.27964867192574 0 0
14 1.37878597375063 0 0
15 1.42771820575638 0 0
16 1.4380590385421 0 0
17 1.41583530083466 0 0
18 1.35751030831315 0 0
19 1.28801896577964 0 0
20 1.23773169248486 0 0
21 1.19003370359023 0 0
22 1.16911032524399 0 0
23 1.16789019991587 0 0
24 1.17908641221467 0 0
25 1.20561721452238 0 0
26 1.24993325867368 0 0
27 1.3042108426727 0 0
28 1.37841324495146 0 0
29 1.46663415660191 0 0
30 1.55813913029349 0 0
31 1.66686169700722 0 0
32 1.78274771118438 0 0
33 1.89315285694338 0 0
34 2.00609300108623 0 0
35 2.10386062632617 0 0
36 2.18077321675475 0 0
37 2.23620955735442 0 0
38 2.266135432154 0 0
39 2.26878990322214 0 0
40 2.25797663538301 0 0
41 2.22685859649013 0 0
42 2.17776313289299 0 0
43 2.1222752364519 0 0
44 2.06098344374156 0 0
45 1.99948809108821 0 0
46 1.94462577242816 0 0
47 1.8989381397134 0 0
48 1.8637403074385 0 0
49 1.84137175128878 0 0
50 1.82996842025894 0 0
51 1.82735603324287 0 0
52 1.82819560800875 0 0
53 1.82831225824908 0 0
54 1.82476779554239 0 0
55 1.82142520789599 0 0
56 1.82469614734563 0 0
57 1.83514598035505 0 0
58 1.85423698694933 0 0
59 1.88102853388183 0 0
60 1.91679111910883 0 0
61 1.95713305118927 0 0
62 2.0033013266641 0 0
63 2.05191276620812 0 0
64 2.10100127704333 0 0
65 2.15116215495783 0 0
66 2.19982933350689 0 0
67 2.24341508467426 0 0
68 2.28026480621138 0 0
69 2.30634686430023 0 0
70 2.31796219508283 0 0
71 2.31589695847203 0 0
72 2.29809543158409 0 0
73 2.2668387918562 0 0
74 2.22596956700897 0 0
75 2.17822422289454 0 0
76 2.1262484698939 0 0
77 2.07154274835781 0 0
78 2.01784816285075 0 0
79 1.9635850159156 0 0
80 1.90957838150673 0 0
81 1.85662335754133 0 0
82 1.80118393109592 0 0
83 1.74752896056537 0 0
84 1.69458207285898 0 0
85 1.64238998731142 0 0
86 1.59255947952261 0 0
87 1.55042463825823 0 0
88 1.52145095482736 0 0
89 1.50182839545807 0 0
90 1.48602912306116 0 0
91 1.47501182897849 0 0
92 1.46801797625318 0 0
93 1.46252443118698 0 0
94 1.4571840542778 0 0
95 1.44881752975571 0 0
96 1.433373570625 0 0
97 1.4106211402034 0 0
98 1.38310053980989 0 0
99 1.35343439202405 0 0
100 1.32469024445085 0 0
101 1.29921323938482 0 0
102 1.2757042981125 0 0
103 1.25356245928469 0 0
104 1.23230080447944 0 0
105 1.20776661327865 0 0
106 1.18172190161938 0 0
107 1.16211138784545 0 0
108 1.14836490545677 0 0
109 1.13698033747357 0 0
110 1.12673020620722 0 0
111 1.115430409999 0 0
112 1.10428562795353 0 0
113 1.0934141739792 0 0
114 1.0851095103506 0 0
115 1.08102444265095 0 0
116 1.08007408967758 0 0
117 1.08238869164072 0 0
118 1.08781099449618 0 0
119 1.09202496629142 0 0
120 1.09279743926351 0 0
121 1.08928198225434 0 0
122 1.08099296127192 0 0
123 1.06779395728469 0 0
124 1.05125732218958 0 0
125 1.03307124483462 0 0
126 1.01642561672595 0 0
127 1.0017478853335 0 0
128 0.98877464388953 0 0
129 0.978591382441999 0 0
130 0.970432000434175 0 0
131 0.962460675619692 0 0
132 0.953651636148435 0 0
133 0.943103023421902 0 0
134 0.930554197290447 0 0
135 0.915976069829803 0 0
136 0.89827602173614 0 0
137 0.878650755188226 0 0
138 0.859108524352699 0 0
139 0.840122962860222 0 0
140 0.820853477964574 0 0
141 0.803547895709764 0 0
142 0.786651104537257 0 0
143 0.769194844035412 0 0
144 0.751217544779413 0 0
145 0.731862968408631 0 0
146 0.710478767970412 0 0
147 0.687207420135085 0 0
148 0.662469528888512 0 0
149 0.636358233772055 0 0
150 0.609121332586544 0 0
151 0.580838486227566 0 0
152 0.552767035926316 0 0
153 0.525876935395925 0 0
154 0.499896413074609 0 0
155 0.475284681533185 0 0
156 0.452387885405863 0 0
157 0.431848904268036 0 0
158 0.413013739466993 0 0
159 0.395710805209202 0 0
160 0.380181587532903 0 0
161 0.365591896979342 0 0
162 0.352105459639395 0 0
163 0.339276260510366 0 0
164 0.32616389487977 0 0
165 0.313880254968568 0 0
166 0.301213081346406 0 0
167 0.28867892621412 0 0
168 0.276332017077307 0 0
169 0.263867205519659 0 0
170 0.251559483539307 0 0
171 0.239917175566115 0 0
172 0.228872841726392 0 0
173 0.218348838385983 0 0
174 0.208663588155861 0 0
175 0.199488791575245 0 0
176 0.191252859631973 0 0
177 0.183364916996847 0 0
178 0.175877803627425 0 0
179 0.169219899131997 0 0
180 0.162866423884395 0 0
181 0.156727192611269 0 0
182 0.151124000714184 0 0
183 0.145138407523578 0 0
184 0.13971586046093 0 0
185 0.134506608902369 0 0
186 0.129059486722317 0 0
187 0.124203168251957 0 0
188 0.119075347065844 0 0
189 0.113513221481262 0 0
190 0.107843336832916 0 0
191 0.101790305051534 0 0
192 0.0961960826886135 0 0
193 0.0914035900672732 0 0
194 0.0868727278958915 0 0
195 0.082573024301116 0 0
196 +NAN 0 0
197 +NAN 0 0
198 +NAN 0 0
199 +NAN 0 0
200 +NAN 0 0
201 +NAN 0 0
202 +NAN 0 0
203 +NAN 0 0
204 +NAN 0 0
205 +NAN 0 0
206 +NAN 0 0
207 +NAN 0 0
208 +NAN 0 0
209 +NAN 0 0
210 +NAN 0 0
211 +NAN 0 0
212 +NAN 0 0
213 +NAN 0 0
214 +NAN 0 0
215 +NAN 0 0
216 +NAN 0 0
217 +NAN 0 0
218 +NAN 0 0
219 +NAN 0 0
220 +NAN 0 0
221 +NAN 0 0
222 +NAN 0 0
223 +NAN 0 0
224 +NAN 0 0
225 +NAN 0 0
226 +NAN 0 0
227 +NAN 0 0
228 +NAN 0 0
229 +NAN 0 0
230 +NAN 0 0
231 +NAN 0 0
232 +NAN 0 0
233 +NAN 0 0
234 +NAN 0 0
235 +NAN 0 0
236 +NAN 0 0
237 +NAN 0 0
238 +NAN 0 0
239 +NAN 0 0
240 +NAN 0 0
241 +NAN 0 0
242 +NAN 0 0
243 +NAN 0 0
244 +NAN 0 0
245 +NAN 0 0
246 +NAN 0 0
247 +NAN 0 0
248 +NAN 0 0
249 +NAN 0 0
250 +NAN 0 0
251 +NAN 0 0
252 +NAN 0 0
253 +NAN 0 0
254 +NAN 0 0
255 +NAN 0 0
[END] of [DATA]
[END] of [Spectrum]

@ -0,0 +1,297 @@
[Spectrum]
Version = 1
IDData = DLAB_2018-06-13_11-56-08_604_111
IDDevice = SAM_85B5
IDDataType = SPECTRUM
IDDataTypeSub1 = CAL
IDDataTypeSub2 = Air
IDDataTypeSub3 =
DateTime = 2018-06-13 11:54:51
PositionLatitude = 0
PositionLongitude = 0
Comment =
CommentSub1 =
CommentSub2 =
CommentSub3 =
IDMethodType =
MethodName =
Mission = No Mission
MissionSub = 1
RecordType = 0
[Attributes]
CalFactor = 1
IDBasisSpec =
IDDataBack = DLAB_2018-06-11_15-23-57_730_586
IDDataCal =
IntegrationTime = 64
P31 = -1
P31e = 0
PathLength = +INF
RAWDynamic = 65535
Temperature = +NAN
Unit1 = $05 $00 Pixel
Unit2 = $04 $04 1/Intensity (m^2 nm Sr)/mW
Unit3 = $04 $04 1/Intensity (m^2 nm Sr)/mW
Unit4 = $f1 $00 Status
[END] of [Attributes]
[DATA]
0 5 0 0
1 +NAN 0 0
2 +NAN 0 0
3 +NAN 0 0
4 0.380824258865919 0 0
5 0.480956813156357 0 0
6 0.57671205380196 0 0
7 0.643896236957154 0 0
8 0.711054782209677 0 0
9 0.758265752350778 0 0
10 0.808854255795615 0 0
11 0.869466331079482 0 0
12 0.925321324749243 0 0
13 1.00927399148091 0 0
14 1.08699883630787 0 0
15 1.18347377446848 0 0
16 1.29079925777138 0 0
17 1.39953731633192 0 0
18 1.49536024576308 0 0
19 1.57053962346542 0 0
20 1.61051680455964 0 0
21 1.60891142181803 0 0
22 1.58014917632373 0 0
23 1.54292073894688 0 0
24 1.49782795775685 0 0
25 1.46270054563491 0 0
26 1.43754722159869 0 0
27 1.42339247548624 0 0
28 1.42249669690879 0 0
29 1.43289834559721 0 0
30 1.45081833970432 0 0
31 1.48383024473758 0 0
32 1.53350351710437 0 0
33 1.59283171118034 0 0
34 1.66682243068085 0 0
35 1.75523084376357 0 0
36 1.8490542829721 0 0
37 1.94827772413977 0 0
38 2.05297044933559 0 0
39 2.15300125225733 0 0
40 2.24489521732098 0 0
41 2.32484518002751 0 0
42 2.37710624055378 0 0
43 2.41032149129472 0 0
44 2.41401311078449 0 0
45 2.39196623346607 0 0
46 2.35386541795861 0 0
47 2.30358502851024 0 0
48 2.24350994611066 0 0
49 2.18566570348128 0 0
50 2.13007635400607 0 0
51 2.08048312730197 0 0
52 2.03943635277338 0 0
53 1.9990019487276 0 0
54 1.9542919602901 0 0
55 1.90697476815729 0 0
56 1.86132580586718 0 0
57 1.81936966943287 0 0
58 1.78948757961567 0 0
59 1.77036444175303 0 0
60 1.76067051308416 0 0
61 1.76079151769139 0 0
62 1.76865840458355 0 0
63 1.78533977613825 0 0
64 1.81054315659671 0 0
65 1.84219534093402 0 0
66 1.88262260694772 0 0
67 1.92633682221336 0 0
68 1.96919363361994 0 0
69 2.00638558730966 0 0
70 2.03543177536163 0 0
71 2.05645335730185 0 0
72 2.06889953924594 0 0
73 2.07668786673546 0 0
74 2.07746404954558 0 0
75 2.07708946852551 0 0
76 2.07239270419962 0 0
77 2.06329693588947 0 0
78 2.05235510505223 0 0
79 2.03788342455449 0 0
80 2.01750123705209 0 0
81 1.99316265318269 0 0
82 1.96344779927853 0 0
83 1.92810068074762 0 0
84 1.89032139564187 0 0
85 1.84840056738145 0 0
86 1.80188008685176 0 0
87 1.7531429855323 0 0
88 1.70184883503381 0 0
89 1.64693756964496 0 0
90 1.59639297188055 0 0
91 1.55743828612696 0 0
92 1.53081670223502 0 0
93 1.509066853406 0 0
94 1.48974595694359 0 0
95 1.47286758281018 0 0
96 1.45660325947575 0 0
97 1.43667408186819 0 0
98 1.40947906533906 0 0
99 1.37746325817173 0 0
100 1.3399910234164 0 0
101 1.29987620320872 0 0
102 1.26173586555032 0 0
103 1.22580130202006 0 0
104 1.19650560480134 0 0
105 1.17258287879559 0 0
106 1.15326969493003 0 0
107 1.13448708666807 0 0
108 1.11395465030131 0 0
109 1.08753684763482 0 0
110 1.06275254011917 0 0
111 1.0408908566722 0 0
112 1.02045255259373 0 0
113 1.00192289281247 0 0
114 0.987093337695555 0 0
115 0.973433543184599 0 0
116 0.961454156421677 0 0
117 0.949336048850277 0 0
118 0.937190359719721 0 0
119 0.925018119816345 0 0
120 0.911316167695048 0 0
121 0.897751565127677 0 0
122 0.885763756400802 0 0
123 0.875253674622747 0 0
124 0.866439225407856 0 0
125 0.859594015285511 0 0
126 0.856442344648432 0 0
127 0.854520610650332 0 0
128 0.853095084706978 0 0
129 0.851996897997662 0 0
130 0.849373999218705 0 0
131 0.845008414644852 0 0
132 0.837447706997702 0 0
133 0.828042280687475 0 0
134 0.816973957953628 0 0
135 0.804392597259629 0 0
136 0.790971383923797 0 0
137 0.777350907812577 0 0
138 0.764886212005326 0 0
139 0.753124860834896 0 0
140 0.74238339492221 0 0
141 0.731621293455726 0 0
142 0.720137856580817 0 0
143 0.707681887074656 0 0
144 0.692857487682284 0 0
145 0.676149155140644 0 0
146 0.657691286728854 0 0
147 0.637091724889135 0 0
148 0.615841105000382 0 0
149 0.593277961352052 0 0
150 0.571635565839856 0 0
151 0.550558744253774 0 0
152 0.529727893337181 0 0
153 0.50958610090654 0 0
154 0.490923786532866 0 0
155 0.472942835508178 0 0
156 0.455966760194577 0 0
157 0.439389399108222 0 0
158 0.42326262400571 0 0
159 0.408064966451864 0 0
160 0.392531100434587 0 0
161 0.376760145430696 0 0
162 0.361340837642809 0 0
163 0.345797349215964 0 0
164 0.330538900755072 0 0
165 0.315423852713651 0 0
166 0.300655326757946 0 0
167 0.286125136929255 0 0
168 0.27220666979537 0 0
169 0.258963801456755 0 0
170 0.246515726736969 0 0
171 0.23471243489257 0 0
172 0.223963260764627 0 0
173 0.213811227531161 0 0
174 0.204848303945938 0 0
175 0.196342813423038 0 0
176 0.188347519381911 0 0
177 0.180847277367304 0 0
178 0.173574321958823 0 0
179 0.166782572540461 0 0
180 0.159983659268987 0 0
181 0.153496471427164 0 0
182 0.146983276179518 0 0
183 0.140664487031456 0 0
184 0.134679615950644 0 0
185 0.128426075217298 0 0
186 0.122768803469292 0 0
187 0.116973531179931 0 0
188 0.111227699506044 0 0
189 0.10561644888568 0 0
190 0.0999165260100575 0 0
191 0.09399466356358 0 0
192 0.0884689961099718 0 0
193 0.0833768260697751 0 0
194 0.0789223013382674 0 0
195 0.0748108094846383 0 0
196 0.0710379549143775 0 0
197 +NAN 0 0
198 +NAN 0 0
199 +NAN 0 0
200 +NAN 0 0
201 +NAN 0 0
202 +NAN 0 0
203 +NAN 0 0
204 +NAN 0 0
205 +NAN 0 0
206 +NAN 0 0
207 +NAN 0 0
208 +NAN 0 0
209 +NAN 0 0
210 +NAN 0 0
211 +NAN 0 0
212 +NAN 0 0
213 +NAN 0 0
214 +NAN 0 0
215 +NAN 0 0
216 +NAN 0 0
217 +NAN 0 0
218 +NAN 0 0
219 +NAN 0 0
220 +NAN 0 0
221 +NAN 0 0
222 +NAN 0 0
223 +NAN 0 0
224 +NAN 0 0
225 +NAN 0 0
226 +NAN 0 0
227 +NAN 0 0
228 +NAN 0 0
229 +NAN 0 0
230 +NAN 0 0
231 +NAN 0 0
232 +NAN 0 0
233 +NAN 0 0
234 +NAN 0 0
235 +NAN 0 0
236 +NAN 0 0
237 +NAN 0 0
238 +NAN 0 0
239 +NAN 0 0
240 +NAN 0 0
241 +NAN 0 0
242 +NAN 0 0
243 +NAN 0 0
244 +NAN 0 0
245 +NAN 0 0
246 +NAN 0 0
247 +NAN 0 0
248 +NAN 0 0
249 +NAN 0 0
250 +NAN 0 0
251 +NAN 0 0
252 +NAN 0 0
253 +NAN 0 0
254 +NAN 0 0
255 +NAN 0 0
[END] of [DATA]
[END] of [Spectrum]

@ -0,0 +1,297 @@
[Spectrum]
Version = 1
IDData = DLAB_2018-07-03_17-15-16_983_888
IDDevice = SAM_85C2
IDDataType = SPECTRUM
IDDataTypeSub1 = CAL
IDDataTypeSub2 = Air
IDDataTypeSub3 =
DateTime = 2018-07-03 17:14:21
PositionLatitude = 0
PositionLongitude = 0
Comment =
CommentSub1 =
CommentSub2 =
CommentSub3 =
IDMethodType =
MethodName =
Mission = No Mission
MissionSub = 1
RecordType = 0
[Attributes]
CalFactor = 1
IDBasisSpec =
IDDataBack = DLAB_2018-07-02_16-15-52_275_586
IDDataCal =
IntegrationTime = 64
P31 = -1
P31e = 0
PathLength = +INF
RAWDynamic = 65535
Temperature = +NAN
Unit1 = $05 $00 Pixel
Unit2 = $04 $04 1/Intensity (m^2 nm Sr)/mW
Unit3 = $04 $04 1/Intensity (m^2 nm Sr)/mW
Unit4 = $f1 $00 Status
[END] of [Attributes]
[DATA]
0 5 0 0
1 +NAN 0 0
2 +NAN 0 0
3 +NAN 0 0
4 +NAN 0 0
5 0.63607834406219 0 0
6 0.718127096538326 0 0
7 0.812216798598817 0 0
8 0.914442457893824 0 0
9 1.03343454996493 0 0
10 1.15933885373154 0 0
11 1.29479643420084 0 0
12 1.43677001665361 0 0
13 1.56848190839848 0 0
14 1.67447970580786 0 0
15 1.73889146263122 0 0
16 1.73244260903254 0 0
17 1.69192414835577 0 0
18 1.61622082709111 0 0
19 1.5270353751059 0 0
20 1.46047364317447 0 0
21 1.41296265347303 0 0
22 1.39311700938614 0 0
23 1.39852760194912 0 0
24 1.42554260762195 0 0
25 1.4700968507055 0 0
26 1.53635620441153 0 0
27 1.62082921439482 0 0
28 1.7237742274692 0 0
29 1.84755749123585 0 0
30 1.98432162640748 0 0
31 2.12689147788928 0 0
32 2.27366206436985 0 0
33 2.41515311346652 0 0
34 2.54267625633242 0 0
35 2.65248757975216 0 0
36 2.73468816910085 0 0
37 2.77942967914337 0 0
38 2.79565522877852 0 0
39 2.77806955157777 0 0
40 2.73891358506136 0 0
41 2.69063680629234 0 0
42 2.6282750012231 0 0
43 2.56338981635672 0 0
44 2.49687123158122 0 0
45 2.4309933291301 0 0
46 2.36993023507549 0 0
47 2.32161558853422 0 0
48 2.28314087424895 0 0
49 2.25846162084215 0 0
50 2.24994522727437 0 0
51 2.25549954861938 0 0
52 2.27668712518828 0 0
53 2.30493256690767 0 0
54 2.33255656715114 0 0
55 2.35720768052834 0 0
56 2.37757260164886 0 0
57 2.40002374613635 0 0
58 2.42905705371268 0 0
59 2.4673307146952 0 0
60 2.51294806887351 0 0
61 2.56575613007937 0 0
62 2.62193109349514 0 0
63 2.67842958533042 0 0
64 2.73753357518048 0 0
65 2.7913329207665 0 0
66 2.8423865946084 0 0
67 2.89027340109411 0 0
68 2.93157202353872 0 0
69 2.96274906831744 0 0
70 2.98346548286676 0 0
71 2.98798866816702 0 0
72 2.97297872291037 0 0
73 2.93559195933884 0 0
74 2.87662286787444 0 0
75 2.80380712732453 0 0
76 2.72275302648293 0 0
77 2.6373282860483 0 0
78 2.55448424591999 0 0
79 2.47778601018081 0 0
80 2.40377038673745 0 0
81 2.33484934711808 0 0
82 2.2698793292122 0 0
83 2.20651375086021 0 0
84 2.14704740380438 0 0
85 2.08988763493926 0 0
86 2.0346458333411 0 0
87 1.98224825426305 0 0
88 1.93452491480363 0 0
89 1.89146397238956 0 0
90 1.8653548650058 0 0
91 1.84879059497611 0 0
92 1.8371693859594 0 0
93 1.83197484046632 0 0
94 1.83105981302589 0 0
95 1.83169544364263 0 0
96 1.83369029033973 0 0
97 1.82985806236537 0 0
98 1.81684973319988 0 0
99 1.7961872241934 0 0
100 1.76710061502081 0 0
101 1.73459539138238 0 0
102 1.70421983997876 0 0
103 1.67561137148482 0 0
104 1.65483955955664 0 0
105 1.64005456402998 0 0
106 1.63103006074007 0 0
107 1.62646109446179 0 0
108 1.62483351776729 0 0
109 1.61794627041935 0 0
110 1.60638099649103 0 0
111 1.59160518167625 0 0
112 1.57856502215575 0 0
113 1.56723770329055 0 0
114 1.55884357172436 0 0
115 1.55081356970191 0 0
116 1.5440909800073 0 0
117 1.53473504989623 0 0
118 1.52335047710565 0 0
119 1.51140772671503 0 0
120 1.49628095199023 0 0
121 1.48082183121466 0 0
122 1.4668009209167 0 0
123 1.45300293604089 0 0
124 1.43913779397284 0 0
125 1.42471804569399 0 0
126 1.41116472805909 0 0
127 1.39601546893463 0 0
128 1.3795217760198 0 0
129 1.36066889187826 0 0
130 1.3395095955925 0 0
131 1.31771535033317 0 0
132 1.29387042583309 0 0
133 1.26955248066416 0 0
134 1.24679628762607 0 0
135 1.22528340309588 0 0
136 1.20486570624273 0 0
137 1.18549206002717 0 0
138 1.16756178865017 0 0
139 1.15111957559202 0 0
140 1.13469169498467 0 0
141 1.11621030173639 0 0
142 1.09569135455521 0 0
143 1.07275908862679 0 0
144 1.04573742076401 0 0
145 1.01572627731635 0 0
146 0.98381634710957 0 0
147 0.950352559222019 0 0
148 0.915760692099546 0 0
149 0.881456713194727 0 0
150 0.848044938315892 0 0
151 0.816038892625263 0 0
152 0.785024915273114 0 0
153 0.754850603543375 0 0
154 0.725690734641156 0 0
155 0.697449171016547 0 0
156 0.669846688269734 0 0
157 0.643097402076866 0 0
158 0.615807664216611 0 0
159 0.589686777991522 0 0
160 0.563134754809732 0 0
161 0.537416951715189 0 0
162 0.512092492411016 0 0
163 0.487999533569422 0 0
164 0.464888888064952 0 0
165 0.442938789447448 0 0
166 0.422687485052752 0 0
167 0.403811887358409 0 0
168 0.386602162003576 0 0
169 0.370223420179536 0 0
170 0.355850417036878 0 0
171 0.342554004485098 0 0
172 0.330263308885894 0 0
173 0.318892349787717 0 0
174 0.308390808825048 0 0
175 0.29923285616278 0 0
176 0.290049870831026 0 0
177 0.280987628676386 0 0
178 0.272166680353347 0 0
179 0.263184326446838 0 0
180 0.254328565772045 0 0
181 0.245533707259442 0 0
182 0.236284846332185 0 0
183 0.227364007848682 0 0
184 0.218575558150069 0 0
185 0.209919539318749 0 0
186 0.201723665364338 0 0
187 0.193439417628863 0 0
188 0.185095630044576 0 0
189 0.176908759167827 0 0
190 0.168492281717065 0 0
191 0.15971620196905 0 0
192 0.151519711134016 0 0
193 0.143896290701505 0 0
194 0.137256829327417 0 0
195 0.131333761731513 0 0
196 0.125851036682123 0 0
197 +NAN 0 0
198 +NAN 0 0
199 +NAN 0 0
200 +NAN 0 0
201 +NAN 0 0
202 +NAN 0 0
203 +NAN 0 0
204 +NAN 0 0
205 +NAN 0 0
206 +NAN 0 0
207 +NAN 0 0
208 +NAN 0 0
209 +NAN 0 0
210 +NAN 0 0
211 +NAN 0 0
212 +NAN 0 0
213 +NAN 0 0
214 +NAN 0 0
215 +NAN 0 0
216 +NAN 0 0
217 +NAN 0 0
218 +NAN 0 0
219 +NAN 0 0
220 +NAN 0 0
221 +NAN 0 0
222 +NAN 0 0
223 +NAN 0 0
224 +NAN 0 0
225 +NAN 0 0
226 +NAN 0 0
227 +NAN 0 0
228 +NAN 0 0
229 +NAN 0 0
230 +NAN 0 0
231 +NAN 0 0
232 +NAN 0 0
233 +NAN 0 0
234 +NAN 0 0
235 +NAN 0 0
236 +NAN 0 0
237 +NAN 0 0
238 +NAN 0 0
239 +NAN 0 0
240 +NAN 0 0
241 +NAN 0 0
242 +NAN 0 0
243 +NAN 0 0
244 +NAN 0 0
245 +NAN 0 0
246 +NAN 0 0
247 +NAN 0 0
248 +NAN 0 0
249 +NAN 0 0
250 +NAN 0 0
251 +NAN 0 0
252 +NAN 0 0
253 +NAN 0 0
254 +NAN 0 0
255 +NAN 0 0
[END] of [DATA]
[END] of [Spectrum]

@ -0,0 +1,81 @@
[DEVICE]
Version = 0
IDDevice = SAMIP_50ED
IDDeviceType = SAMIP
IDDeviceTypeSub1 = ACC-2
IDDeviceTypeSub2 = VIS
IDDeviceTypeSub3 =
DateTime = 2018-06-19 12:08:40
Comment =
RecordType = 0
IDDeviceMaster =
[ATTRIBUTES]
IDDeviceSAM = SAM_859F
IDDeviceIP = IP_C121
[END] of [ATTRIBUTES]
[END] of [DEVICE]
[DEVICE]
Version = 0
IDDevice = IP_C121
IDDeviceType = IP
IDDeviceTypeSub1 =
IDDeviceTypeSub2 =
IDDeviceTypeSub3 =
DateTime = 2018-06-19 12:01:08
Comment =
RecordType = 0
IDDeviceMaster = SAMIP_50ED
[ATTRIBUTES]
Incl_Orientation = up
Incl_Xgain = 1.0
Incl_Xoffset = 125
Incl_Ygain = 0.9375
Incl_Yoffset = 126
Incl_KBG = 1.2073
Incl_Kref = 0.1275
Press_Current_mA = 1.08
Press_Surface_bar = 5.57
Press_Gain = 2.7
WithIncl = 1
WithPress = 1
Press_Sens_mV_bar_4mA = 71.36
Press_Sens_mV_bar_1mA = 17.84
Press_Type = PA-10/TAB/10bar
CalibrationDate = 08.06.2018
[END] of [ATTRIBUTES]
[END] of [DEVICE]
[DEVICE]
Version = 0
IDDevice = SAM_859F
IDDeviceType = SAM
IDDeviceTypeSub1 = ACC-2
IDDeviceTypeSub2 = VIS
IDDeviceTypeSub3 =
DateTime = 2018-05-30 12:14:10
Comment =
RecordType = 0
IDDeviceMaster = SAMIP_50ED
[ATTRIBUTES]
c0s = +3.019290000E+02
c1s = +3.345130000E+00
c2s = +2.651460000E-04
c3s = -1.753680000E-06
DarkPixelStart = 237
DarkPixelStop = 254
Reverse = 0
c4s = +0.000000000E+00
IDDataCal = DLAB_2019-08-28_14-44-55_098_198
IDDataBack = DLAB_2019-08-28_12-24-09_763_812
IDDataCalAQ = DLAB_2019-08-28_14-47-19_914_233
Firmware = 2.06
[END] of [ATTRIBUTES]
[END] of [DEVICE]

@ -0,0 +1,32 @@
[Device]
Version = 0
IDDevice = SAM_852F
IDDeviceType = SAM
IDDeviceTypeSub1 = ACC-2
IDDeviceTypeSub2 = VIS
IDDeviceTypeSub3 =
RecordType = 0
DateTime = 2016-12-07 12:03:12
IDDeviceMaster =
Comment =
[Attributes]
DarkPixelStart = 237
DarkPixelStop = 254
Firmware = 2.06
IDDataBack = DLAB_2016-11-29_14-47-59_729_812
IDDataCal = DLAB_2016-12-07_12-00-24_364_510
IDDataCalAQ = DLAB_2016-12-07_12-02-43_591_545
IntegrationTime = 0
Reverse = 0
SerialNo_MMS = 103307
WavelengthRange = 310..1100
c0s = 299.895
c1s = 3.31161
c2s = 0.00031652
c3s = -1.73194e-06
c4s = +0.000000000E+00
cs = 102842
[END] of [Attributes]
[END] of [Device]

@ -0,0 +1,30 @@
[Device]
Version = 0
IDDevice = SAM_859F
IDDeviceType = SAM
IDDeviceTypeSub1 = ARC
IDDeviceTypeSub2 = VIS
IDDeviceTypeSub3 =
RecordType = 0
DateTime = 2018-05-24 13:30:20
IDDeviceMaster =
Comment = ARC VIS
[Attributes]
DarkPixelStart = 237
DarkPixelStop = 254
Firmware = 2.06
IDDataBack = DLAB_2018-05-04_11-56-28_529_586
IDDataCal = DLAB_2018-05-24_13-29-20_305_176
IDDataCalAQ = DLAB_2018-05-24_13-29-21_895_177
IntegrationTime = 0
Reverse = 0
SerialNo_MMS =
c0s = 299.971
c1s = 3.32431
c2s = 0.000391882
c3s = -1.91435e-06
c4s = +0.000000000E+00
[END] of [Attributes]
[END] of [Device]

@ -0,0 +1,30 @@
[Device]
Version = 0
IDDevice = SAM_85B5
IDDeviceType = SAM
IDDeviceTypeSub1 = ARC
IDDeviceTypeSub2 = VIS
IDDeviceTypeSub3 =
RecordType = 0
DateTime = 2018-06-13 11:58:48
IDDeviceMaster =
Comment = ARC VIS
[Attributes]
DarkPixelStart = 237
DarkPixelStop = 254
Firmware = 2.06
IDDataBack = DLAB_2018-06-11_15-23-57_730_586
IDDataCal = DLAB_2018-06-13_11-56-08_604_111
IDDataCalAQ = DLAB_2018-06-13_11-58-21_312_112
IntegrationTime = 0
Reverse = 0
SerialNo_MMS =
c0s = 300.14
c1s = 3.3268
c2s = 0.000314225
c3s = -1.90331e-06
c4s = +0.000000000E+00
[END] of [Attributes]
[END] of [Device]

@ -0,0 +1,30 @@
[Device]
Version = 0
IDDevice = SAM_85C2
IDDeviceType = SAM
IDDeviceTypeSub1 = ARC
IDDeviceTypeSub2 = VIS
IDDeviceTypeSub3 =
RecordType = 0
DateTime = 2018-07-03 17:16:14
IDDeviceMaster =
Comment = ARC VIS
[Attributes]
DarkPixelStart = 237
DarkPixelStop = 254
Firmware = 2.06
IDDataBack = DLAB_2018-07-02_16-15-52_275_586
IDDataCal = DLAB_2018-07-03_17-15-16_983_888
IDDataCalAQ = DLAB_2018-07-03_17-15-53_767_889
IntegrationTime = 0
Reverse = 0
SerialNo_MMS =
c0s = 297.806
c1s = 3.3369
c2s = 0.000302696
c3s = -1.83769e-06
c4s = +0.000000000E+00
[END] of [Attributes]
[END] of [Device]

File diff suppressed because one or more lines are too long

@ -0,0 +1,20 @@
2:
1:
FUNC: Lsky
SN: '85C2'
2:
FUNC: Esky
SN: '50ED'
3:
FUNC: Lwater
SN: '852F'
# 3:
# 1:
# FUNC: Lsky
# SN: '85C2'
# 2:
# FUNC: Esky
# SN: '50ED'
# 3:
# FUNC: Lwater
# SN: '852F'

@ -0,0 +1,237 @@
from pathlib import Path, PurePath
from tools.mylogger import log
from readcal import ReadCal
from myconfig import CAL_DIR, DATA_DIR, FILE_MARK, DeviceType, RamsesFunc
class Configuration:
def __init__(self, ) -> None:
log.info(f"ConfigAWRAMS init: ", __name__, "", "")
self.device_type = None
self.configuration =None
self.cal_configuration = {}
pass
def setDeviceType(self, device_type:str) -> None:
self.device_type = device_type.lower()
pass
def setSystemCfgDict(self, cfg:dict) -> None:
self.configuration = cfg
log.info(f"self.configuration : {self.configuration} ", __name__, "", "")
pass
def getCalConfiguration(self) -> None:
if self.device_type == None:
self.cal_configuration = None
if self.configuration == None:
self.cal_configuration =None
for k,v in self.configuration.items():
if v["SN"] == "" or v['FUNC']=="":
pass
else:
self.cal_configuration.update( {v["FUNC"]:{}} )
self.cal_configuration[v["FUNC"]].update( {"SN":v['SN']} )
self.cal_configuration[v["FUNC"]].update( {"FUNC":v['FUNC']} )
self.__init_configuration_basic()
self.__init_configuration_cal()
self.__init_configuration_IP_SAM()
pass
def __init_configuration_basic(self ) -> None:
# self.cfgtool = Config()
for k in self.cal_configuration.keys():
sn = self.cal_configuration[k]["SN"]
if self.__isSamIniExisted(sn):
self.cal_configuration[k].update({ "TYPE" : "SAM" })
self.cal_configuration[k].update({ "samsn" : sn })
self.cal_configuration[k].update({ "inifile" : "SAM_"+sn+".ini" })
self.cal_configuration[k].update({ "calfile" : "Cal_SAM_"+sn+".dat" })
self.cal_configuration[k].update({ "calaqfile" : "CalAQ_SAM_"+sn+".dat" })
self.cal_configuration[k].update({ "backfile" : "Back_SAM_"+sn+".dat" })
if self.__isSamIPIniExisted(sn):
self.cal_configuration[k].update({ "TYPE" : "SAMIP" })
samsn = self.__getSAMSN(sn)
if samsn== None:
log.warning(f"Cannot get samsn from Sensor: {sn}", __name__, "", "" )
raise Exception(f"Cannot get samsn from Sensor: {sn}")
self.cal_configuration[k].update({ "samsn" : samsn })
self.cal_configuration[k].update({ "inifile" : "SAMIP_"+sn+"_ALL.ini" })
self.cal_configuration[k].update({ "calfile" : "Cal_SAM_"+samsn+".dat" })
self.cal_configuration[k].update({ "calaqfile" : "CalAQ_SAM_"+samsn+".dat" })
self.cal_configuration[k].update({ "backfile" : "Back_SAM_"+samsn+".dat" })
if not self.__isSamIniExisted(sn) and not self.__isSamIPIniExisted(sn):
log.warning(f"Cannot find ini file for Sensor: {sn}", __name__, "", "" )
raise Exception(f"Cannot find ini file for Sensor: {sn}")
pass
def __init_configuration_cal(self ) -> None:
# self.cfgtool = Config()
for k in self.cal_configuration.keys():
sn = self.cal_configuration[k]["SN"]
# Device File
calpath = CAL_DIR.joinpath(self.device_type, self.cal_configuration[k]["calfile"])
if calpath.exists( ):
res = ReadCal.read_columns_set_by_mark( calpath, FILE_MARK, 1 )
self.cal_configuration[k].update({ "cal" : res[1][0] })
calaqpath = CAL_DIR.joinpath(self.device_type, self.cal_configuration[k]["calaqfile"])
if calaqpath.exists( ):
res = ReadCal.read_columns_set_by_mark( calaqpath, FILE_MARK, 1 )
self.cal_configuration[k].update({ "calaq" : res[1][0] })
backpath = CAL_DIR.joinpath(self.device_type, self.cal_configuration[k]["backfile"])
if calaqpath.exists( ):
res = ReadCal.read_columns_set_by_mark( backpath, FILE_MARK, 1,2 )
self.cal_configuration[k].update({ "b0" : res[1][0] })
self.cal_configuration[k].update({ "b1" : res[1][1] })
pass
def __init_configuration_IP_SAM(self ) -> None:
# self.cfgtool = Config()
for j in self.cal_configuration.keys():
# log.debug(f"__init_configuration_IP_SAM {j}", __name__, "", "" )
inipath = CAL_DIR.joinpath(self.device_type, self.cal_configuration[j]["inifile"])
# log.debug(f"__init_configuration_IP_SAM {inipath}", __name__, "", "" )
sam = ReadCal.readSAMCalFromIni(inipath)
# log.debug(f"__init_configuration_IP_SAM {sam}", __name__, "", "" )
for k,v in sam.items():
self.cal_configuration[j].update({ k : v })
if self.cal_configuration[j]["TYPE"] == "SAMIP":
ip = ReadCal.readIPCalFromIni(inipath)
for k,v in ip.items():
self.cal_configuration[j].update({ k : v })
def __isSamIniExisted(self,sn) ->bool:
sn_0 = "SAM_"+str(sn)+".ini"
path_ = CAL_DIR.joinpath(self.device_type.lower(), sn_0)
if path_.exists():
return True
return False
def __isSamIPIniExisted(self,sn) ->bool:
sn_0 = "SAMIP_"+str(sn)+"_ALL.ini"
path_ = CAL_DIR.joinpath(self.device_type.lower(), sn_0)
if path_.exists():
return True
return False
def __getSAMSN(self,sn) -> None:
sn_0 = "SAMIP_"+str(sn)+"_ALL.ini"
path_ = CAL_DIR.joinpath(self.device_type.lower(), sn_0)
# path_ = DATA_DIR.joinpath(self.device.lower(), CAL_DIR, sn_0)
samsn = ReadCal.readSamSNFromIni( path_ )
if samsn == None:
return None
return samsn
pass
# def __init2__(self, device:str, **kwargs) -> None:
# """
# get cal parameter for every sensor
# para : {"1":{"SN":"85B5","FUNC","Lsky"},"2":{},"3":{}}
# """
# # log.info(f"ProcessAWRAMS kwargs: {kwargs}", __name__, "", "")
# # log.info(f"len: { len(kwargs)}", __name__, "", "")
# if len(kwargs) != 3:
# log.warning(f" pass a wrong para to ProcessAWRAMS {kwargs}", __name__, "", "")
# self.device = device.lower() # surface profile awrams
# self.ramses = {}
# # 生成标定文件 { }
# for k,v in kwargs.items():
# self.ramses.update( {v["FUNC"]:{}} )
# self.ramses[v["FUNC"]].update( {"SN":v['SN']} )
# self.ramses[v["FUNC"]].update( {"FUNC":v['FUNC']} )
# pass
# log.debug(f" ===== {self.ramses}",__name__, "", "" )
# # if kwargs.__contains__("1"):
# # self.ramses.append( self.cfgtool.getDictByAttr("ramses"))
# # self.cfgtool.set_attr(self.ramses[1],kwargs['1']"SN",kwargs['1'])
# # if kwargs.__contains__("2"):
# # self.ramses.append( self.cfgtool.getDictByAttr("ramses"))
# # self.cfgtool.set_attr(self.ramses[2],"SN",kwargs['1'])
# # if kwargs.__contains__("3"):
# # self.ramses.append( self.cfgtool.getDictByAttr("ramses"))
# # self.cfgtool.set_attr(self.ramses[3],"SN",kwargs['1'])
# self.__init_configuration_basic()
# self.__init_configuration_cal()
# self.__init_configuration_IP_SAM()
# # log.info(f"ProcessAWRAMS after initiate: {kwargs}", __name__, "", "")
# def __init_configuration_basic2(self ) -> None:
# # self.cfgtool = Config()
# for k in self.ramses.keys():
# sn = self.ramses[k]["SN"]
# if self.__isSamIniExisted(sn):
# self.ramses[k].update({ "TYPE" : "SAM" })
# self.ramses[k].update({ "samsn" : sn })
# self.ramses[k].update({ "inifile" : "SAM_"+sn+".ini" })
# self.ramses[k].update({ "calfile" : "Cal_SAM_"+sn+".dat" })
# self.ramses[k].update({ "calaqfile" : "CalAQ_SAM_"+sn+".dat" })
# self.ramses[k].update({ "backfile" : "Back_SAM_"+sn+".dat" })
# if self.__isSamIPIniExisted(sn):
# self.ramses[k].update({ "TYPE" : "SAMIP" })
# samsn = self.__getSAMSN(sn)
# if samsn== None:
# log.warning(f"Cannot get samsn from Sensor: {sn}", __name__, "", "" )
# raise Exception(f"Cannot get samsn from Sensor: {sn}")
# self.ramses[k].update({ "samsn" : samsn })
# self.ramses[k].update({ "inifile" : "SAMIP_"+sn+"_ALL.ini" })
# self.ramses[k].update({ "calfile" : "Cal_SAM_"+samsn+".dat" })
# self.ramses[k].update({ "calaqfile" : "CalAQ_SAM_"+samsn+".dat" })
# self.ramses[k].update({ "backfile" : "Back_SAM_"+samsn+".dat" })
# if not self.__isSamIniExisted(sn) and not self.__isSamIPIniExisted(sn):
# log.warning(f"Cannot find ini file for Sensor: {sn}", __name__, "", "" )
# raise Exception(f"Cannot find ini file for Sensor: {sn}")
# pass
# def __init_configuration_cal2(self ) -> None:
# # self.cfgtool = Config()
# for k in self.ramses.keys():
# sn = self.ramses[k]["SN"]
# # Device File
# calpath = CAL_DIR.joinpath(self.device, self.ramses[k]["calfile"])
# if calpath.exists( ):
# res = Readfile.read_columns_set_by_mark( calpath, FILE_MARK, 1 )
# self.ramses[k].update({ "cal" : res[1][0] })
# calaqpath = CAL_DIR.joinpath(self.device, self.ramses[k]["calaqfile"])
# if calaqpath.exists( ):
# res = Readfile.read_columns_set_by_mark( calaqpath, FILE_MARK, 1 )
# self.ramses[k].update({ "calaq" : res[1][0] })
# backpath = CAL_DIR.joinpath(self.device, self.ramses[k]["backfile"])
# if calaqpath.exists( ):
# res = Readfile.read_columns_set_by_mark( backpath, FILE_MARK, 1,2 )
# self.ramses[k].update({ "b0" : res[1][0] })
# self.ramses[k].update({ "b1" : res[1][1] })
# pass
# def __init_configuration_IP_SAM2(self ) -> None:
# # self.cfgtool = Config()
# for j in self.ramses.keys():
# # log.debug(f"__init_configuration_IP_SAM {j}", __name__, "", "" )
# inipath = CAL_DIR.joinpath(self.device, self.ramses[j]["inifile"])
# # log.debug(f"__init_configuration_IP_SAM {inipath}", __name__, "", "" )
# sam = Readfile.readSAMCalFromIni(inipath)
# # log.debug(f"__init_configuration_IP_SAM {sam}", __name__, "", "" )
# for k,v in sam.items():
# self.ramses[j].update({ k : v })
# if self.ramses[j]["TYPE"] == "SAMIP":
# ip = Readfile.readIPCalFromIni(inipath)
# for k,v in ip.items():
# self.ramses[j].update({ k : v })

@ -0,0 +1,207 @@
from pathlib import Path
from awrams import InfoFrame
class DealFolder(object):
def __init__(self,):
self.base_folder = Path()
self.old_folder = Path()
self.new_folder = Path()
self.info_frame = InfoFrame()
self.measure_con = None
pass
def setOlderFolder(self,pth:Path):
''' 解析信息帧, 获得新文件夹位置转移文件并 '''
self.old_folder = pth
pass
def getBaseFolder(self,grade=1):
''' 解析信息帧, 获得新文件夹位置转移文件并 '''
self.base_folder = self.old_folder
for i in range(grade):
try:
self.base_folder = self.base_folder.parent
except :
assert 1>2, f">>>> Fail to Get Base Folder"
assert self.base_folder.exists(), f">>>> Fail to Get Base Folder"
pass
def transferFromOldFolder(self, ):
bin_files = self.old_folder.glob('*.bin')
for bf in bin_files:
if bf.name == "pic.bin":
bf.replace( self.new_folder.joinpath( "pic.jpg" ) )
else:
bf.replace( self.new_folder.joinpath(bf.name) )
pass
def transferToNewFolder(self, mode=0):
''' pic.bin pic.jpg'''
self.new_folder = self.base_folder.joinpath(
"20" + str(self.info_frame.year)
, str(self.info_frame.month)
, str(self.info_frame.day)
, str(self.measure_con)
)
bin_files = self.old_folder.glob('*.bin')
for bf in bin_files:
if bf.name == "pic.bin":
bf.replace( self.new_folder.joinpath( "pic.jpg" ) )
else:
bf.replace( self.new_folder.joinpath(bf.name) )
pass
def deleteOldFolder(self,):
try:
if self.old_folder.exists():
self.old_folder.rmdir()
except OSError as e:
raise Exception(e)
def readOneFolder(self,):
ret =[]
f_lst = self.new_folder.glob('*.bin')
for fl in f_lst:
ret.append(self.read_bin(fl))
return ret
def read_bin(self,fpath: Path):
assert fpath.exists(), f">>>> not find {fpath} "
with open(fpath, 'rb') as file:
ret = file.read()
self.info_frame.set_info_frame(ret)
pass
def getSensorPathFromInfoPath(self, info_path: Path, ) -> Path:
# 服务器上转移后的模式
if self.mode == 1:
sensor_path = self.base_path.joinpath(
info_path.parent,
"sensor.bin"
)
elif self.mode == 0:
sensor_path = self.base_path.joinpath(
"data",
info_path.parts[1][:4] + "_" + info_path.parts[1][-2:],
info_path.parts[2],
"sensor",
info_path.name
)
else:
sensor_path = None
return sensor_path
pass
def getOutputPathFromSensorPath(self, sensor_path: Path) -> Path:
if self.mode == 1:
output_path = self.output_path.joinpath(
self.info_dict['year'] + "_" + self.info_dict['month']
+ "_" + self.info_dict['day'] + "_" + self.info_dict['hour']
+ "_" + self.info_dict['minute'] +
"_" + self.info_dict['second']
)
elif self.mode == 0:
output_path = self.output_path.joinpath(
sensor_path.parts[1][:4] + "_" + sensor_path.parts[1][-2:]
+ "_" + sensor_path.parts[2] + "_" + sensor_path.name
)
else:
output_path = None
return output_path
pass
def getCurrentMeasureTimeFromPath(self, fpath: Path) -> str:
ret = ''
if self.mode == 1: # 读信息txt获得时间
txt_path = fpath.parent.glob("*.txt")
txt_stem = txt_path[0].stem
ret = fpath.parts[1][:4]+"-"+fpath.parts[1][-2:]+"-"+fpath.parts[2]+" " \
+ txt_stem[-9:-7] + ":" + \
txt_stem[-6:-4] + ":" + txt_stem[-3:-1]
pass
elif self.mode == 0:
ret = fpath.parts[1][:4]+"-"+fpath.parts[1][-2:]+"-"+fpath.parts[2]+" " \
+ fpath.name[0:2] + ":" + \
fpath.name[3:5] + ":" + fpath.name[6:8]
else:
pass
return ret
pass
def getDataFileList(self, ):
'''
获得成对的info sensor 文件
[目录名文件名年月日时间, measure_id]
'''
# ret = []
fs = None
self.filelist = []
if self.mode == 1:
fs = self.server_path.glob("*/*/*/*/info.bin")
else:
fs = self.data_path.glob("*/*/info/*")
for f in fs:
error_file = {}
if f.stat().st_size == 0:
error_file.update({"path": f})
error_file.update({"error": "info file size is zero"})
self.error_result.append(error_file)
continue
# self.info_path_fname = f
sensor_path = self.getSensorPathFromInfoPath(f)
# sensor_path = Path(sensor_purepath)
# sensor 文件不存在
if not sensor_path.exists():
error_file.update({"path": f})
error_file.update({"error": "cannot find the sensor file "})
self.error_result.append(error_file)
continue
# sensor文件大小为0
if sensor_path.stat().st_size == 0:
error_file.update({"path": sensor_path})
error_file.update(
{"error": "sensor file size of the sensor is zero' "})
self.error_result.append(error_file)
continue
self.setFilelist(f, sensor_path)
pass
def getDataFileList_SERVER(self,):
'''
获得成对的info sensor 文件
[目录名文件名年月日时间]
'''
# log.info(f" === ", self.server_path, "getDataFileList_SERVER")
self.filelist = []
fs = self.server_path.glob("*/*/*/*/*/info.bin")
for f in fs:
# print(f)
error_file = {}
if f.stat().st_size == 0:
error_file.update({"path": f})
error_file.update({"error": "info file size is zero"})
self.error_result.append(error_file)
continue
# 获得全部bin文件 (info.bin (num).bin),不含 pic.bin
current_path = f.parent
bin_files = current_path.glob('*.bin')
res_files = []
# 检查(num).bin 是否有遗漏
for bl in bin_files:
if bl.stem.isdigit():
res_files.append(bl)
pass
if res_files != []:
res_files.append(f)
self.filelist.append(res_files)
pass

File diff suppressed because one or more lines are too long

@ -0,0 +1,322 @@
#! python3
# -*- encoding: utf-8 -*-
'''
@File : myconfig.py
@Time : 2023/03/01 15:28:20
@Author : Jim @ Yiwin
@Version : 1.0
@Contact : jim@yi-win.com
@Descrip : SysConfig
'''
import yaml
from enum import Enum
from pathlib import Path
DEVICE_ID = [2]
CURRENT_DIR = Path()
DATA_DIR = Path("data")
CAL_DIR = Path("calfile")
OUTPUT_DIR = Path("data", "output")
YAML_FILE_NAME = "config.yml"
RETRIEVE_CFG_FILE = "retrieve.yml"
FILE_MARK = ['Spectrum', 'DATA']
BEGIN_WAVELENGTH = 350
END_WAVELENGTH = 950
SAVE_EXT_NAME = ".csv"
INTERVAL = 1.0
SEPARATOR = ";"
TOKEN = ";"
NEWLINE = "\n"
ROWFACTOR = 0.026
class DeviceType(Enum) :
AWRAMS = 1
SURFACE = 2
PROFILE = 3
class RamsesFunc(Enum):
Lsky = 1
Esky = 2
Lwater = 3
Lw = 4
Rs = 5
class RamsesAWRAMS(Enum):
Lsky = 1
Esky = 2
Lwater = 3
Lw = 4
Rs = 5
class RamsesSURFACE(Enum):
Lsky = 1
Esky = 2
Lwater = 3
Lw = 4
Rs = 5
class RamsesPROFILE(Enum):
Ed = 1
Esky = 2
Lu = 3 #upwelling
Lw = 4
Rs = 5
IP_CAL = {
"Incl_Orientation": "up",
"Incl_Xgain": 1.0,
"Incl_Xoffset": 125,
"Incl_Ygain": 0.9375,
"Incl_Yoffset": 126,
"Incl_KBG": 1.2073,
"Incl_Kref": 0.1275,
"Press_Current_mA": 1.08,
"Press_Surface_bar": 5.57,
"Press_Gain": 2.7,
"WithIncl": 1,
"WithPress": 1,
"Press_Sens_mV_bar_4mA": 71.36,
"Press_Sens_mV_bar_1mA": 17.84,
"Press_Type": "PA-10/TAB/10bar",
"CalibrationDate": "08.06.2018",
}
RAMSES_CAL = {
"SN": "",
"TYPE": "SAM", # SAMIP or SAM
"FUNC": "Lsky",
"inifile": "",
"calfile": "",
"calaqfile": "",
"backfile": "",
"samsn": "",
"b0": [],
"b1": [],
"cal": [],
"calaq": [],
"DarkPixelStart": 237,
"DarkPixelStop": 254,
"Firmware": 2.06,
"IDDataBack": "DLAB_2016-11-29_14-47-59_729_812",
"IDDataCal": "DLAB_2016-12-07_12-00-24_364_510",
"IDDataCalAQ": "DLAB_2016-12-07_12-02-43_591_545",
"IntegrationTime": 0,
"Reverse": 0,
"SerialNo_MMS": 103307,
"WavelengthRange": "310..1100",
"c0s": 299.895,
"c1s": 3.31161,
"c2s": 0.00031652,
"c3s": -1.73194e-06,
"c4s": +0.000000000E+00,
"cs": 102842,
"savefile": ""
}
class MyConfig(object):
"""
设置 ID对应的传感器
"""
def __init__(self) -> None:
self.device_id = []
self.device_type = None
self.current_device_id = None
self.system_cfg = {}
self.cfg_path = Path()
self.yml_cfg_file = YAML_FILE_NAME
self.retrieve_cfg_file = Path(RETRIEVE_CFG_FILE)
self.system_cal_cfg = {}
self.validate = { }
def addDeviceID(self, id:int) -> None: #
self.device_id.append(id)
pass
def setDeviceID(self, id:int) -> bool: #
if id in self.device_id:
self.current_device_id = id
return True
else:
self.current_device_id = None
return False
pass
def setDeviceType(self, device_type:DeviceType) -> None:
self.device_type = device_type
pass
def setRetrieveCfg(self, rtv_yml:str="") -> None:
if rtv_yml =="":
return None
self.retrieve_cfg_file = Path(rtv_yml)
pass
def getSystemCfg(self,)->None:
'''
不同系统修改此函数或添加函数 getSystemCfg***()供调用
'''
if self.current_device_id == None:
self.system_cfg = None
if self.device_type == None:
self.system_cfg = None
temp_cfg = {}
if self.device_type == DeviceType.AWRAMS:
temp_cfg = {
1: {"SN": "85B5", "FUNC": RamsesAWRAMS(1).name},
2: {"SN": "50ED", "FUNC": RamsesAWRAMS(2).name},
3: {"SN": "852F", "FUNC": RamsesAWRAMS(3).name}
}
if self.device_type == DeviceType.SURFACE:
temp_cfg = {
1: {"SN": "85B5", "FUNC": RamsesSURFACE(1).name},
2: {"SN": "50ED", "FUNC": RamsesSURFACE(2).name},
3: {"SN": "852F", "FUNC": RamsesSURFACE(3).name}
}
if self.device_type == DeviceType.PROFILE:
temp_cfg = {
1: {"SN": "85B5", "FUNC": RamsesPROFILE(1).name},
2: {"SN": "50ED", "FUNC": RamsesPROFILE(2).name},
3: {"SN": "852F", "FUNC": RamsesPROFILE(3).name}
}
self.system_cfg.update( { self.current_device_id : temp_cfg } )
pass
def setCfgRamsesSN(self, sn_cfg: dict)->None:
if len(sn_cfg) == 0:
return None
for k in self.system_cfg[self.current_device_id].keys():
if str(k) in sn_cfg.keys() :
self.system_cfg[self.current_device_id][k]["SN"] = sn_cfg[str(k)]
else:
self.system_cfg[self.current_device_id][k]["SN"] = None
# if k in sn_cfg.keys() :
# self.system_cfg[self.current_device_id][k]["SN"] = sn_cfg[k]
pass
def setSystemCalCfg(self, sn_cfg: dict)->None:
if len(sn_cfg) == 0:
pass
def getDictByAttr(self, *args) -> dict:
ret = {}
if len(args) == 0:
return ret
if len(args) == 1:
if not hasattr(self, args[0]):
return ret
tmp = getattr(self, args[0])
if isinstance(tmp, dict):
ret.update(tmp)
return ret
if len(args) == 2:
if not hasattr(self, args[0]):
return ret
if not isinstance(getattr(self, args[0]), dict):
return ret
tmp: dict = getattr(self, args[0])
if not tmp.__contains__(args[1]):
# print(f"------------{args[1]}")
return ret
tmp2 = tmp[args[1]]
if isinstance(tmp2, dict):
ret.update(tmp2)
return ret
if len(args) > 2:
return ret
pass
# 设置字典对应的键值
def set_attr(self, d: dict, k, v) -> bool:
if d.__contains__(k):
d.update({k: v})
return True
return False
def write_yaml(self, d: dict):
with open(self.yml_cfg_file, "w", encoding="utf-8") as f:
yaml.dump(d, f)
def read_yaml(self ) -> dict:
with open(self.yml_cfg_file, "r", encoding="utf-8") as f:
content = f.read() # conent 读出来是字符串
d = yaml.load(content, Loader=yaml.FullLoader) # 用load方法转字典
return d
def write_rtv_yaml(self, d: dict):
with open(self.retrieve_cfg_file, "w", encoding="utf-8") as f:
yaml.dump(d, f)
def read_rtv_yaml(self ) -> dict:
with open(self.retrieve_cfg_file, "r", encoding="utf-8") as f:
content = f.read() # conent 读出来是字符串
d = yaml.load(content, Loader=yaml.FullLoader) # 用load方法转字典
return d
def get_retrieve(self) -> dict:
retrieve = {}
retrieve.update({"beginWL": BEGIN_WAVELENGTH})
retrieve.update({"endWL": END_WAVELENGTH})
retrieve.update({"interval": INTERVAL})
retrieve.update({"rowFactor": ROWFACTOR})
return retrieve
pass
ramses_buf_str= "\
23a0000007fefe0a0781067d067d068e0693069c069c06b006b506cb06e40619076607e1076c081509cd09bb0a7d0bee0b1d0c6d0cca0ca40ddc0f30135b18b4224d320e43f852c8\
23a0000006fefe17639c71c97c9484bb89358be98e5d98b1a37eadccb66abd26be31b97db124aa18a3f29c0499349735968e93a48eea8a028bc28cec8d048f1c92c096de9ab99d43\
23a0000005fefee0a157a9ecb1b1b97dc034c507c741c7d2c65ec550c20dbde9b535ae56a60a9e2296cd8ee887278129798170c669b16503632e61605f3a5def5a8e5862561154be\
23a0000004fefe3c51f54dda4a0c48634595426a3f5a3cc539903767362b36cc351f356634b633fc32c4310630fb2ec32fe63199349037e03ac03dc03eae3c303a9639d13a413da7\
23a0000003fefe97412746bc49404caa4dc54d374ca646d63bde326b332739e43c503d2b3c363aca37ef342d32c22f782d1d2bd328ec250222101e691b2b1a7119d3184018fa174d\
23a0000002fefed3177a17e3160616f81423149313f11233126711d8103b10a40f160f8a0efb0d580d660c6f0bd80aa10a580a000ab4099b0994097109e2082c087a0736072c077d\
23a0000001fefe2a071e071607140718071e073c074d076a076e076b076007670763076c0760075c073d07350724071207fb06ef06d706cc06b706a506960684067b0672066306a2\
23a0000000fefe58065406500642064e064306470642063f064806410644064306430641064206460640063c063e063e063d064406430644063c063c063c063c06400640064906ed\
23a0000007fefe0a071b071c07260737073e0749075907650774078b07c0072c08e3082b0ada0be80d9c107b147318931ae51add1a271a77192f1bfb1d99207c265c30c738f03d53\
23a0000006fefe07438f489d4d8452d957945cff639171a5832a97deab7fbe09c86cc5acb9d5ab299e90915287de7f8b7ae275ed6f056aff664f662665bc63936335655767926879\
23a0000005fefec269206d3e724377fe7b7a8050831f85b68637881689e4884787008580823d7f887bee773d7496702a6cde654c5f895a1f570d5416514d4e9d4bde4897468c44c3\
23a0000004fefe71421640db3dc83bbb39533777346c31b92e912c152b5b2aff292129e727cb26d925fd249223b4214020da1fe91ff41f28209420dc201520071e671c221c8d1cfe\
23a0000003fefecd1dd31fe72164235924cb24b924f72331211e1ca018ef19221d121f621fe91e081ed51c761b311a2f193c18651788166015a013de11d1106e1041101810e80f2e\
23a0000002fefee50fd90fbc0f6d0ff70e610ee00d930d460de40c900c450c010cbd0b7c0b480bfc0aab0a2c0a9e094d092b09fb08d008a208990881087d083908e6078d07660747\
23a0000001fefe5b075a07500751074d074e0751075d076807730788077e077c077c07810777077a076c0765075c075607480740073607270723070d070d070b07ff06fd06f0062f\
23a0000000fefef606f106ed06f506ef06eb06f106ec06f006e906e806ed06e606ef06e506ea06ec06ee06eb06e906ee06f006ef06ea06e906e606e606e606ec06ea06ea06f506f2\
23a0000007fefe0605830479047d047e04810482048204850487048b048c04850487048c049304950498049c04a804a904b604b804c604d004e104f104190546059805ff059a06bb\
23a0000006fefe90073209ea0b7610c117cc22b2324a487b645e8798acf2c927d28dc1f2a1ac809664804e543d7a308327a321d81dab1b0f1bca1bb41dba2098243329382e773335\
23a0000005fefeca38213e544329486f4c1c500653335592564f577d573b57a556b4557e540a534451424f004d714a9b47994458410e3e9c3af8368c33b630982eca2c052b3429ae\
23a0000004fefe632763255a234821321f0e1d061b291983171e16d814a91379124b1138104b0f610e990dd80c240c880bfc0a7b0af8097709020990082508de07c507ba07a50762\
23a0000003fefe950781076407460727070007d306ab066e06270605060d0614061306fe05e805d105b405a00586057105630549053d0528051105fd04f304ee04e404dc04dd04c3\
23a0000002fefed804d904d004c604bf04b904b904b104a804a604a6049d04980496048f04970491048c04880486047e0484047a047d047b047c0478047a04760476047004700430\
23a0000001fefe6f0474046c046d0472046d047304750470046e04760472046f047604700473046f04730470047504700470046d046b047004710470046e046d046a046b046904e4\
23a0000000fefe690470046e046b046c04680468046e0466046a046a0469046b046d04640466046c046c046b046a04660466046b046c046a046a0468046f046804740471048d0417\
"
if __name__ == "__main__":
cfg = MyConfig()
cfg.addDeviceID(2)
cfg.addDeviceID(3)
cfg.setDeviceType(DeviceType.AWRAMS)
cfg.setDeviceID(2)
cfg.getSystemCfg()
print(cfg.system_cfg)
d = {"1":"8888","2":["7777"],"3":["9999"]}
cfg.setCfgRamsesSN(d)
print("修改后。。。。。\n")
print(cfg.system_cfg)
# cfg.write_yaml( cfg.system_cfg)
dd = cfg.read_yaml()
# dd 作为cfg.system_cfg 使用
for k,v in dd.items():
print(k)
print(type(k))
retrieve = {
"beginWL": 350,
"endWL": 950,
"interval": 1,
"rowFactor": 0.026
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,587 @@
#!/usr/bin/env python
# coding:utf-8
'''
# 因为图片帧不是必须,必须按帧处理数据。 可能摄像头坏掉,没有传感器数据??
# 按帧处理数据,必须在每帧接收完毕判断,数据是否完整, 完整则进一步处理 !!!!!!!!!!!!
# 时间作为目录
'''
import socket
import socketserver
from socketserver import TCPServer,ThreadingMixIn
import threading
# import datetime
import time
# import os
import struct
from tools.mypath import MyDir
from tools.mylogger import log
from pathlib import Path,PurePath
from myconfig import DATA_DIR,DeviceType
from awrams import AWRAMS,InfoFrame
from awrams import AwramsHandle
IP = ""
PORT = 7887
ADDRESS = (IP, PORT) # 绑定地址
# LOGGING_LEVEL = logging.DEBUG
# LOGGING_LEVEL = logging.INFO
# LOGGING_LEVEL = logging.WARNING
DATA_FRAME_HEAD = b'\x11\x13\x55\xaa'
DATA_FRAME_TAIL = b'\xff\xd9'
PIC_BEGIN_BYTES = b'\xff\xd8'
# 连接超时
TIMEOUT_SECOND = 8 * 3600
# 连接线程池
conn_pool = []
# save_path = Path
class MyTCPServer(TCPServer):
def __init__(self, server_address, RequestHandlerClass, bind_and_activate=True, cfg=None, retrieve=None, awrams_handle:dict=None):
self.cfg = cfg
self.retrieve = retrieve
self.awrams_handle = awrams_handle
TCPServer.__init__(self, server_address, RequestHandlerClass, bind_and_activate=True )
class MyThreadingTCPServer(ThreadingMixIn, MyTCPServer): pass
class MyException(Exception):
def __init__(self, message="自定义异常"):
self.message = message
class illumination_sensor:
def __init__(self, socket: socket.socket) -> None:
self.__buf = b''
self.__head = {
# "id" : -1, # 设备id
# 'type' : -1, # 类型 信息 传感器 图片
# 'num' : -1, # 光学传感器的第几次测量
# 'con' : -1, # 总的测量序号
# 'size' : -1, # 字节大小
# 'packet_con' : -1, # 第几帧
# 'packet_all' : -1, # 总帧数
# 'head' : b'', # 帧头
# 'payload' : b'' # 具体内容
}
self.state = 0
self.socket = socket
self.id = 0
# self.is_data_complete = {
# "info_frame": False,
# 'sensor_frame': False,
# 'pic_frame': False
# }
# self.data = {
# "info_frame": {},
# 'sensor_frame': {},
# 'pic_frame': {}
# }
self.timeout_base = int(time.time())
def set_id(self, id) -> None: # 对应设备ID
self.id = id
# def set_socket(self,socket:socket.socket) -> socket.socket:
# tmp = self.socket
# self.socket=socket
# return tmp
def read_buf(self, size: int) -> bytes:
if size > self.__buf.__len__():
return b''
ret = self.__buf[0:size]
self.__buf = self.__buf[size:]
return ret
def write_buf(self, buf: bytes) -> None:
id = self.id
len = buf.__len__()
# logging.info(f'Received ID:{id} Size:{len}')
self.__buf = self.__buf+buf
def get_buf_size(self) -> int:
return self.__buf.__len__()
def back_bytes(self, buf: bytes) -> None:
self.__buf = buf+self.__buf
def reset_head(self) -> None:
self.__head = {}
# self.__head['id'] = -1
# self.__head['type'] = -1
# self.__head['num'] = -1
# self.__head['con'] = -1
# self.__head['size'] = -1
# self.__head['packet_con'] = -1
# self.__head['packet_all'] = -1
# self.__head['head'] = b''
# self.__head['payload'] = b''
def reset_data(self) -> None:
self.data['info_frame']: dict = {}
self.data['sensor_frame']: dict = {}
self.data['pic_frame']: dict = {}
def decode(self) -> dict:
if self.__head == {}:
while self.get_buf_size() >= 15:
if self.read_buf(1) != b'\x11':
continue
c = self.read_buf(1)
if c != b'\x13':
self.back_bytes(c)
continue
c = self.read_buf(1)
if c != b'\x55':
self.back_bytes(c)
continue
c = self.read_buf(1)
if c != b'\xaa':
self.back_bytes(c)
continue
head = self.read_buf(11)
head_list = struct.unpack('<HBIHBB', head)
self.__head['id'] = head_list[0]
self.__head['type'] = head_list[1] >> 4
self.__head['num'] = head_list[1] & 0x0f
self.__head['con'] = head_list[2]
self.__head['size'] = head_list[3]
self.__head['packet_con'] = head_list[4]
self.__head['packet_all'] = head_list[5]
self.__head['head'] = b'\x11\x13\x55\xaa'+head
break
if self.__head != {}:
payload = self.read_buf(self.__head['size'])
if payload != b'':
self.__head['payload'] = payload
data = self.__head.copy()
self.__head = {}
self.id = data['id']
return data
return {}
class DealData:
"""
@description : 调用AWRAMS类处理数据
@param :
@Returns :
"""
def __init__(self) -> None:
self.device_id = None
self.devie_type = DeviceType.AWRAMS.name
self.base_folder = Path()
self.old_folder = Path()
self.new_folder = Path()
self.info_frame = InfoFrame()
self.measure_con = None
pass
def deal( self, pth: Path, cfg: dict, retrieve, awrams_handle ) -> None: # 取字典中的 payload
log.info(f" 接收到数据开始处理数据, path : {pth} ")
self.old_folder = pth
self.base_folder = self.old_folder.parent
deviceid = int(self.base_folder.parts[-1]) ## 索引为数字
awrams_handle:AwramsHandle = awrams_handle[deviceid]
info_path = self.old_folder.joinpath("info.bin")
info_byte = self.read_bin(info_path)
awrams_handle.aw.data.set_info_frame(info_byte)
self.new_folder = self.base_folder.joinpath(
"20"+str(awrams_handle.aw.data.info_frame.year)
, str(awrams_handle.aw.data.info_frame.month)
, str(awrams_handle.aw.data.info_frame.day)
, self.old_folder.parts[-1]
)
if not self.new_folder.exists():
self.new_folder.mkdir( parents= True)
self.transferToNewFolder()
awrams_handle.read_one_folder_awrams_online( self.new_folder )
self.deleteOlderFolder()
def setOlderFolder(self,pth:Path):
''' 解析信息帧, 获得新文件夹位置转移文件并 '''
self.old_folder = pth
pass
def getBaseFolder(self,grade=1):
''' 解析信息帧, 获得新文件夹位置转移文件并 '''
self.base_folder = self.old_folder
for i in range(grade):
try:
self.base_folder = self.base_folder.parent
except :
assert 1>2, f">>>> Fail to Get Base Folder"
assert self.base_folder.exists(), f">>>> Fail to Get Base Folder"
pass
def deleteOlderFolder(self, ):
''' 删除文件夹 '''
try:
if self.old_folder.exists():
self.old_folder.rmdir()
except OSError as e:
raise Exception(e)
def transferToNewFolder(self, mode=0):
''' pic.bin pic.jpg'''
bin_files = self.old_folder.glob('*.bin')
for bf in bin_files:
if bf.name == "pic.bin":
bf.replace( self.new_folder.joinpath( "pic.jpg" ) )
else:
bf.replace( self.new_folder.joinpath(bf.name) )
pass
# self.getNewFolderFromOldFolder()
# bin_files = self.old_folder.glob('*.bin')
# for bf in bin_files:
# if bf.name == "pic.bin":
# bf.replace( self.new_folder.joinpath( "pic.jpg" ) )
# else:
# bf.replace( self.new_folder.joinpath(bf.name) )
# pass
def read_bin(self,fpath: Path):
assert fpath.exists(), f">>>> not find {fpath} "
ret =b''
with open(fpath, 'rb') as file:
ret = file.read()
return ret
pass
# @staticmethod
# def deal2(id: int, con: int) -> None: # 取字典中的 payload
# log.info(f" 修改目录为时间格式,并处理 device_id: {id}, measure_con: {con} ")
# src_dir = DATA_DIR.joinpath( str(id), str(con) )
# bin_file_list = src_dir.glob( '*.bin' )
# info_frame= DealData.read_bin( src_dir.joinpath('info.bin') )
# if info_frame == None:
# raise MyException("处理数据时,信息帧读取数据为空")
# info_dict:dict= DealData.decode_info(info_frame)
# if info_dict =={}:
# raise MyException("从文件读取信息帧后,解析信息帧遇到异常")
# # id/year/month/day/con
# dst_dir = DATA_DIR.joinpath("20"+str(info_dict["year"]), str(info_dict["month"]),str(info_dict["day"]), str(con))
# log.info( f"dst_dir: {dst_dir}")
# if dst_dir.exists() == False:
# dst_dir.mkdir(parents=True)
# # 保存info_dict到新的目录
# DealData.save_dict_to_file(info_dict, dst_dir.joinpath(
# "info_20"+str(info_dict["year"])
# +str(info_dict["month"])+"_"
# +str(info_dict["day"])+"_"
# +str(info_dict["hour"])+"_"
# +str(info_dict["minute"])+"_"
# +str(info_dict["second"])+"_"
# +".txt"))
# log.info(f" Src File path: {bin_file_list}" )
# # 将bin文件存到新的目录
# for bfl in bin_file_list:
# fname_without_path= bfl.name
# new_path = None
# if fname_without_path == "pic.bin":
# new_path = dst_dir.joinpath("pic.jpg" )
# else:
# new_path= dst_dir.joinpath( fname_without_path )
# bfl.replace(new_path )
# # shutil.move( bfl, new_path )
# pass
# # 判断目录是否为空,删除旧的目录
# flist = src_dir.glob('*.*')
# try:
# next(flist)
# log.warning(" 旧的文件夹还存在文件,不能删除,请仔细检测! ")
# raise MyException("旧的文件夹还存在文件,不能删除,请仔细检测!")
# except StopIteration:
# src_dir.rmdir()
# if DealData.check_spectrum_data(dst_dir):
# log.warning(" 目录光谱数据有异常 ")
# raise MyException(f"{dst_dir} 目录光谱数据有异常")
# pass
# DealData.calibrate_spectrum_data(dst_dir)
# DealData.retrieve_data(dst_dir)
# @staticmethod
# def read_bin(fpath:Path):
# ret = None
# if fpath.exists() == False:
# log.warning(f"not find file: {fpath} ")
# return ret
# ret = fpath.read_bytes()
# # with open( fpath, 'rb') as file:
# # ret = file.read()
# # return ret
# return ret
# pass
# @staticmethod
# def decode_info(info: bytes) -> dict:
# ret = {}
# try:
# temp = struct.unpack( "<BBBBBBHHHHHHIIHHHHHBBBHHIfffIIIII", info )
# except Exception as e:
# log.info( "decode info 有误, 收到info frame 字节有误" )
# return ret
# time_ = "20"+f"{temp[0]:02d}" + "-" + f"{temp[1]:02d}" + "-" + f"{temp[2]:02d}" + " " \
# + f"{temp[3]:02d}" + ":" + f"{temp[4]:02d}" + ":" + f"{temp[5]:02d}"
# ret.update({"time": time_})
# ret.update({"year": temp[0]})
# ret.update({"month": temp[1]})
# ret.update({"day": temp[2]})
# ret.update({"hour": temp[3]})
# ret.update({"minute": temp[4]})
# ret.update({"second": temp[5]})
# ret.update({"Roll": temp[6]})
# ret.update({"Pitch": temp[7]})
# ret.update({"Yaw": temp[8]})
# ret.update({"Hx": temp[9]})
# ret.update({"Hy": temp[10]})
# ret.update({"Hz": temp[11]})
# ret.update({"lon": temp[12]})
# ret.update({"lat": temp[13]})
# ret.update({"satelite_num": temp[14]})
# ret.update({"PDOP": temp[15]})
# ret.update({"HDOP": temp[16]})
# ret.update({"VDOP": temp[17]})
# ret.update({"Temperature": temp[18]})
# ret.update({"Humidity": temp[19]})
# ret.update({"Battery": temp[20]})
# ret.update({"ErrorCode": temp[21]})
# ret.update({"Azimuth": temp[22]})
# ret.update({"RunAngle": temp[23]})
# ret.update({"MeasuyeGroupNum": temp[24]})
# ret.update({"Tiltx": temp[25]})
# ret.update({"Tilty": temp[26]})
# ret.update({"Depth": temp[27]})
# ret.update({"Sensor1": hex(temp[28])[2:].upper()}) # 28 27 转16进制
# ret.update({"Sensor2": hex(temp[29])[2:].upper()}) # 30 29
# ret.update({"Sensor3": hex(temp[30])[2:].upper()}) # 32 31
# ret.update({"Measure_Num": temp[31]}) # 33
# ret.update({"Measure_Interval": temp[32]}) # 34
# ret.update({"Measure_Repeat": temp[33]}) # 35
# return ret
# pass
# @staticmethod
# def save_dict_to_file(info_dict:dict, fpath:Path) ->None:
# temp_str = ""
# for key, value in info_dict.items():
# temp_str = temp_str + key + " : " + str(value) + "\n"
# with open(fpath, "w+") as f:
# f.write(temp_str)
# ret = None
# if fpath.exists() == False:
# log.info(f"not find file: {fpath} ")
# return ret
# with open(fpath, 'rb') as file:
# ret = file.read()
# return ret
# return ret
# pass
# @staticmethod
# def check_spectrum_data(dst_dir:Path):
# # 判断目录下是否有 0.bin ...15.bin 文件
# sensor_file_list = dst_dir.glob( '*[0-9].bin' )
# fname_without_ext = []
# for fl in sensor_file_list:
# temp = fl.stem
# if not temp.isdigit:
# log.warning( f" {dst_dir} 目录光谱文件的文件名 {temp} 不为数字,type:{type(temp)},请检查异常" )
# return False
# fname_without_ext.append( int(temp) )
# if len(fname_without_ext) ==0:
# log.warning( f" {dst_dir} 目录没有发现光谱文件,请检查异常" )
# return False
# # 排序,然后检查是否有遗漏项
# fname_without_ext.sort()
# for i in fname_without_ext:
# if fname_without_ext[i] !=i:
# log.warning( f" {dst_dir} 目录,序号{i}光谱文件的文件名没有发现,请检查异常" )
# return False
# return False
# pass
# @staticmethod
# def calibrate_spectrum_data(dst_dir):
# '''
# 用ini back 等文件获得标定后数据
# '''
# log.info("calibrate_spectrum_data.... ")
# pass
# @staticmethod
# def retrieve_data(dst_dir):
# '''
# 反演遥感反射率等参数
# '''
# log.info(" retrieve_data.... ")
# pass
def save(self,data: dict) -> None:
log.info(f"save .....to first dir {str(data['con'])} - type:{data['type']} - num {data['num']}")
# 路径 传感器id/测量序号(唯一) -- 处理数据时候改时间
saveDir = DATA_DIR.joinpath(str(data['id']), str(data['con']) )
if saveDir.exists() == False:
saveDir.mkdir(parents=True)
if data['type'] == 0:
log.debug( f" {data['type']} - {data['num']}")
fpath = saveDir.joinpath("info.bin")
fpath.write_bytes( data['payload'] )
elif data['type'] == 1:
log.debug( f" {data['type']} - {data['num']}")
fpath = saveDir.joinpath( str(data['num'])+".bin")
fpath.write_bytes( data['payload'] )
elif data['type'] == 2:
log.debug( f" {data['type']} - {data['num']}")
fpath = saveDir.joinpath( "pic.bin" )
fpath.write_bytes( data['payload'] )
else:
pass
# class MyServer(socketserver.BaseRequestHandler):
class MyServer(socketserver.BaseRequestHandler):
def setup(self) -> None:
log.debug(f"retrieve {self.server.retrieve}",__name__, "", "" )
self.cfg =self.server.cfg
self.retrieve =self.server.retrieve
self.awrams_handle =self.server.awrams_handle
self.sk: socket.socket = self.request
self.sensor = illumination_sensor(self.request)
self.dealData = DealData()
self.begin_time = time.time()
# log.warning(f"client_address {self.client_address}",__name__, "", "" )
pass
def handle(self) -> None:
log.info( f'... connected from {self.client_address}' ,'__name__')
while True:
# self.request.recv 方法接收客户端发来的消息
try:
data_byte = self.sk.recv(1000)
except ConnectionResetError as e:
log.warning(
f"recv ConnectionResetError, client {self.client_address} had close .....")
break
except:
log.warning(" sk.recv(1000) exception .....")
pass
log.debug(len(data_byte))
# 客户端主动关闭连接后,会不断接收b'', 所以跳出循环,运行到程序结尾,自动关闭线程
if data_byte == b'':
log.info(
" b'' is received , maybe client {self.client_address} had close. ")
self.sk.close()
if hasattr(self, "sensor"):
del self.sensor # 销毁对象
break
else:
break
continue
else:
self.sensor.write_buf(data_byte)
data_byte = b'' # 客户端掉线后以前数据不长居内存
try:
data_ = self.sensor.decode()
except MyException as e:
log.warning(e)
break
except Exception as e:
log.warning("decode data 出现异常 ")
log.warning(e)
break
if data_ != {}:
id = data_['id']
data_code = data_['type']
log.info(f'Received From ID:{id} DATA CODE:{data_code}')
# 保存当前数据
self.dealData.save(data_)
head = data_['head']
log.info(f'Head :{head}')
# 返回head给服务器
self.sk.send(data_['head'])
# 判断是否是最后一帧, 修改目录为时间格式并
if data_["packet_con"] == data_["packet_all"]:
log.info(f'最后一帧数据已经收到并保存')
# id 为传感器测量id ,con 测量序号
pth = DATA_DIR.joinpath(str(data_['id']),str(data_['con']))
self.dealData.deal(pth, self.cfg, self.retrieve, self.awrams_handle)
pass
if time.time() - self.begin_time > TIMEOUT_SECOND:
log.info(f'Received data timeout')
break
def finish(self) -> None:
# 什么时候执行 finish
# 执行handle 出现意外错误时执行 finish,或handle break时执行 finish
# 关闭连接
if self.sk:
self.sk.close()
# conn_pool 连接池销毁
if self.client_address in conn_pool:
conn_pool.remove(self.client_address)
log.info(
f"finish(): stop one socket from client {self.client_address} ",__name__, "MyServer","finish")
if __name__ == '__main__':
server_ = socketserver.ThreadingTCPServer(ADDRESS, MyServer)
log.info('listening...........')
try:
server_.serve_forever()
except KeyboardInterrupt:
log.info(" Ctrl+C 退出主程序 ")
server_.server_close()
except Exception as e:
log.info(" 系统异常, 如下: \n ")
log.info(e)
# 有闪退,可以用线程将server_.serve_forever 包起来
# threading.Thread(target=server_.serve_forever).start()

@ -0,0 +1,4 @@
beginWL: 350
endWL: 950
interval: 1
rowFactor: 0.026

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,11 @@
class TCPIPException(Exception):
def __init__(self, message="TCPIP 自定义异常"):
self.message = "TCPIP exception : " + message
class SerialException(Exception):
def __init__(self, message="Serial 自定义异常"):
self.message = "serial exception : " + message
class MyException(Exception):
def __init__(self, message=" 自定义异常"):
self.message = "自定义异常: " + message

@ -0,0 +1,287 @@
# coding=utf-8
'''
单例模式日志 -- 使用一次关闭 handler
这种方法优缺点
缺点 输出的format 需要自己定义 并过滤
过滤要看是否以什么开头或包含什么
优点 不占用文件资源占用系统资源小
调用 log.info( ) log.error()
'''
import logging
import logging.handlers
import os
import time
import threading
# from config import LOG_PATH,LOG_LEVEL,LOG_ENABLED,LOG_FORMAT, \
# LOG_TO_CONSOLE,LOG_TO_FILE
MY_LOGGER_NAME = "DefaultLogger"
LOG_ENABLED = True # 是否启用日志
LOG_TO_CONSOLE = True # 是否启用控制台输出日志
LOG_TO_FILE = False # 是否启用文件输出
LOG_COLOR_ENABLE = True # 是否启用颜色日志
LOGGER_DIR = "logs"
LOGGER_PATH = os.path.join( os.path.dirname(__file__), LOGGER_DIR )
LOGGER_FILENAME = os.path.join( LOGGER_PATH, 'logs.log' )
"""
logging.INFO , logging.DEBUG , logging.WARNING , logging.ERROR ,
"""
LOG_LEVEL = logging.INFO # 日志等级DEBUG INFO WARNIG ERROR
# LOG_LEVEL = logging.DEBUG
# LOG_LEVEL = logging.WARNING
"""
# LOG_FORMAT = " %(name)s - %(module)s - %(filename)s - %(lineno)d | %(levelname)s : %(message)s"
# LOG_FORMAT = "%(levelname)s - %(asctime)s - process: %(process)d - threadname: %(thread)s " \
# "- %(filename)s - %(funcName)s - %(lineno)d - %(module)s " \
# "- %(message)s "
# LOG_FORMAT = "%(asctime)s - %(thread)s " \
# "- %(levelname)s ::: %(message)s "
# '[%(asctime)s] |%(thread)s| %(levelname)-6s: %(message)s'
# fm = '%(levelname):%(levelno)s:%(name)s:%(funcName)s:%(asctime):%(pathname):%(filename):%(module):%(thread):%(threadName)'
# 此处日志颜色,修改日志颜色是通过 Filter实现的
"""
LOG_FORMAT = '%(levelname)s\t[%(asctime)s] %(package)s:%(classname)s:%(funcname)s \t>> %(message)s'
"""
# 此处日志颜色,修改日志颜色是通过 Filter实现的
"""
LOG_FORMAT_COLOR_DICT = {
'ERROR' : "\033[31mERROR\033[0m",
'INFO' : "\033[36mINFO\033[0m",
'DEBUG' : "\033[1mDEBUG\033[0m",
'WARN' : "\033[33mWARN\033[0m",
'WARNING' : "\033[33mWARNING\033[0m",
'CRITICAL': "\033[35mCRITICAL\033[0m",
}
"""
# Filter 用法, 以package class function 过滤 __package__ __class__
# log.error( f"{__package__}::{__class__.__name__}::{sys._getframe().f_code.co_name} >> ")
# log.error( f"PacakgeName::ClassName::FunctionName:: ")
# LOGGER_FILTER_PACKAGE=[] 为空, 则Filter不起作用
# 不为空,则只显示定义的报名
# LOGGER_FILTER_CLASS=[] 为空, 则Filter不起作用
# 不为空,则只显示定义的类或
# LOGGER_FILTER_FUNCNAME=[] 为空, 则Filter不起作用
# 不为空,则只显示定义的函数
"""
# LOGGER_FILTER_PACKAGE = [ "test_logger" ] # 包名,文件名去 .py??
LOGGER_FILTER_PACKAGE = [ ]
LOGGER_FILTER_CLASS = [ ] # 类名,文件名去 .py??
# LOGGER_FILTER_CLASS = [ "LogTest" ]
# LOGGER_FILTER_FUNCNAME = [ "test1","test" ] # 函数名
LOGGER_FILTER_FUNCNAME = [ ]
LOGGER_FILTER_LEVELNAME = [ ] # INFO DEBUG WARNING
class PackageFilter(logging.Filter):
def __init__(self, filter_word:list = []):
self.filter_word = filter_word
pass
def filter(self, record: logging.LogRecord) -> bool:
if self.filter_word is not None:
return record.package in self.filter_word
class ClassFilter(logging.Filter):
''' 只显示 传入的类的数据 '''
def __init__(self, filter_word:list = []):
self.filter_word = filter_word
pass
def filter(self, record: logging.LogRecord) -> bool:
if self.filter_word is not None:
return record.classname in self.filter_word
pass
class FunctionFilter(logging.Filter):
'''只显示传入的函数'''
def __init__(self, filter_word:list = []):
self.filter_word = filter_word
pass
def filter(self, record:logging.LogRecord) -> bool:
if self.filter_word is not None:
return record.funcname in self.filter_word
class LevelNameFilter(logging.Filter):
def __init__(self, filter_word:list = []):
self.filter_word = filter_word
pass
def filter(self, record:logging.LogRecord) -> bool:
if self.filter_word is not None:
return record.levelname in self.filter_word
class ColorFilter(logging.Filter):
def __init__(self,):
pass
def filter(self, record: logging.LogRecord) -> bool:
record.levelname = LOG_FORMAT_COLOR_DICT.get(record.levelname)
return True
class Log(object):
_instance_lock = threading.Lock()
def __new__(cls, *args, **kwargs):
if not hasattr(Log, "_instance"):
with Log._instance_lock:
if not hasattr(Log, "_instance"):
Log._instance = object.__new__(cls)
return Log._instance
def __init__(self, loggername = "DefaultLog" ):
# 文件命名 os.path.join(): 将多个路径组合后返回
self.logger_filepath = LOGGER_FILENAME
self.loggername = loggername
self.level = LOG_LEVEL
# 日志输出格式
fm = LOG_FORMAT
self.formatter = logging.Formatter( fm )
# 生成记录器对象
self.logger = logging.getLogger( self.loggername )
self.logger.setLevel(LOG_LEVEL)
# 日志过滤
self.__add_filter()
def __console(self, level, message, extra={} ):
# 添加 handler
self.__add_handler()
# 判断日志级别
if level == logging.INFO:
self.logger.info( message, extra=extra)
elif level == logging.DEBUG:
self.logger.debug(message,extra=extra)
elif level == logging.WARNING:
self.logger.warning(message,extra=extra)
elif level == logging.ERROR:
self.logger.error(message,extra=extra)
# removeHandler在记录日志之后移除句柄,避免日志输出重复问题
self.__remove_handler()
# if LOG_TO_FILE and self.file_handler:
# self.logger.removeHandler(self.file_handler)
# # 关闭打开的文件
# self.file_handler.close()
# if LOG_TO_CONSOLE and self.stream_handler:
# self.logger.removeHandler(self.stream_handler)
# # 关闭打开的文件
# self.stream_handler.close()
pass
# debug < info< warning< error< critical
# debug模式
def debug(self, message, package="Unknown", classname="Unknown", funcname="Unknown" ):
self.__console(logging.DEBUG, message, extra={"package":package, "classname":classname, "funcname":funcname} )
# self.__remove_handler()
# info模式
def info(self, message, package="Unknown", classname="Unknown", funcname="Unknown" ):
self.__console(logging.INFO, message, extra={"package":package, "classname":classname, "funcname":funcname} )
# self.__remove_handler()
# warning模式
def warning(self, message, package="Unknown", classname="Unknown", funcname="Unknown"):
self.__console(logging.WARNING, message, extra={"package":package, "classname":classname, "funcname":funcname} )
# self.__remove_handler()
# error模式
def error(self, message, package="Unknown", classname="Unknown", funcname="Unknown"):
self.__console(logging.ERROR, message, extra={"package":package, "classname":classname, "funcname":funcname} )
# self.__remove_handler()
def __add_filter(self ):
if len( LOGGER_FILTER_PACKAGE ) > 0 :
self.logger.addFilter( PackageFilter( filter_word=LOGGER_FILTER_PACKAGE ) )
if len( LOGGER_FILTER_CLASS ) > 0 :
self.logger.addFilter( ClassFilter( filter_word=LOGGER_FILTER_CLASS ) )
if len( LOGGER_FILTER_FUNCNAME ) > 0 :
self.logger.addFilter( FunctionFilter( filter_word=LOGGER_FILTER_FUNCNAME ) )
if len(LOGGER_FILTER_LEVELNAME) > 0 :
self.logger.addFilter( LevelNameFilter( filter_word=LOGGER_FILTER_LEVELNAME ) )
def __add_handler(self ):
if LOG_ENABLED and LOG_TO_FILE:
# 考虑使用 RotatingFileHandler TimedRotatingFileHandler防止日志过大
# RotatingFileHandler("test", "a", 4096, 2, "utf-8")
# TimedRotatingFileHandler(filename=LOG_PATH+"thread_", when="D", interval=1, backupCount=7)
self.file_handler = logging.handlers.TimedRotatingFileHandler(filename=self.logger_filepath, when='D', interval=1, backupCount=30, encoding='utf-8')
# self.file_handler = logging.FileHandler( self.logger_filepath, encoding='utf-8' )
self.file_handler.setFormatter( self.formatter )
# self.file_handler.setLevel( LOG_LEVEL )
# if LOG_COLOR_ENABLE: # 文件日志无需加彩色
# self.file_handler.addFilter( ColorFilter( ) )
self.logger.addHandler(self.file_handler)
if LOG_ENABLED and LOG_TO_CONSOLE:
# 创建一个StreamHandler,用于输出到控制台
self.stream_handler = logging.StreamHandler()
self.stream_handler.setFormatter(self.formatter)
# self.stream_handler.setLevel( LOG_LEVEL )
if LOG_COLOR_ENABLE:
self.stream_handler.addFilter( ColorFilter( ) )
self.logger.addHandler(self.stream_handler)
def __remove_handler(self ):
if LOG_TO_FILE and self.file_handler:
self.logger.removeHandler(self.file_handler)
if len(self.logger.handlers)>0:
self.logger.handlers.pop()
# 关闭打开的文件
self.file_handler.close()
if LOG_TO_CONSOLE and self.stream_handler:
self.logger.removeHandler(self.stream_handler)
if len(self.logger.handlers)>0:
self.logger.handlers.pop()
# 关闭控制台
self.stream_handler.close()
def __remove_handler2(self ):
if LOG_ENABLED and LOG_TO_CONSOLE:
self.logger.removeHandler(self.stream_handler)
self.logger.handlers.pop()
# 关闭控制台
self.stream_handler.close()
if LOG_ENABLED and LOG_TO_FILE:
self.logger.removeHandler(self.file_handler)
self.logger.handlers.pop()
# 关闭打开的文件
self.file_handler.close()
log = Log( loggername = "DefaultLog")
"""
filename: 指定日志文件名
filemode: 和file函数意义相同指定日志文件的打开模式wa
format: 指定输出的格式和内容format可以输出很多有用信息显示的条目可以是以下内容
%(levelname) 日志级别的名字格式
%(levelno)s 日志级别的数字表示
%(name)s 日志名字 loggername
%(funcName)s 函数名字
%(asctime) 日志时间可以使用datefmt去定义时间格式如上图
%(pathname) 脚本的绝对路径
%(filename) 脚本的名字
%(module) 模块的名字
%(thread): thread id
%(threadName) 线程的名字
"""
"""
文件名行号 函数名, 要在调用的时候想办法了
# 绝对路径
print( __file__ )
print( sys.argv[0] )
# 文件名
print( os.path.basename(__file__) )
print( os.path.basename(sys.argv[0]) )
self.__class__.__name__
self.__class__.__name__, get_current_function_name()
logger名 __name__
"""

@ -0,0 +1,265 @@
from pathlib import PurePath, Path
# from myconfig import NEWLINE,TOKEN,SEPARATOR
"""
"""
class MyDir(object):
"""
操作方法:设置base tuple_dir header
设置的是路径, 文件名要 ifNotNewFile 传入
"""
def __init__(self) -> None:
self.base_dir = Path()
self.dir_tuple = ()
self.header = []
self.header_str = ""
self.content = []
self.content_str = ""
self.current_dir = None
self.current_filepath = None
pass
def getDir(self,):
return self.current_dir
pass
def setBaseDir(self, dir: Path):
self.base_dir = dir
self.current_dir = self.base_dir
pass
def setDir(self, t:tuple=()):
self.dir_tuple = t
if len(self.dir_tuple) == 0 :
self.current_dir = self.base_dir
else:
self.current_dir = self.base_dir.joinpath( *t )
pass
def getDirFromBaseAndTuple(self, base_dir:Path, dir_tuple: tuple):
'''外部调用返回路径'''
ret_path = base_dir
t = dir_tuple
if len(t) == 0 :
ret_path = ret_path
else:
ret_path = ret_path.joinpath( *t )
return ret_path
pass
def setHeader(self, headerlist:list, headerSeperator: str = ";", headerinfo: str = None):
header_str = ""
if len(headerlist) == 0:
return
if headerinfo != None:
header_str = headerinfo + headerSeperator
for hl in headerlist:
header_str = header_str + str(hl) + headerSeperator
self.header_str = header_str[:-1]
pass
def setContent(self, contentlist: list, contentSeperator: str = ";", contentinfo: str = None):
content_str = ""
if len(contentlist) == 0:
return
if contentinfo != None:
content_str = contentinfo + contentSeperator
tmp_str = ""
for cl in contentlist:
tmp_str = tmp_str + str(cl) + contentSeperator
self.content_str = content_str + tmp_str[:-1]
pass
def newDirIfNot(self,) -> None:
# self.current_path = self.base_path.joinpath(self.path_tuple)
self.current_dir.mkdir(parents=True, exist_ok=True)
pass
def newFileIfNot(self, fname: str) -> None:
self.newDirIfNot()
self.current_filepath = self.current_dir.joinpath(fname)
if not self.current_filepath.exists():
with open(self.current_filepath, 'a') as f:
pass
return
pass
def getCurrentFileSize(self,):
return self.current_filepath.stat().st_size
def getFirstline(self,):
first_line = ""
with open(self.current_filepath, 'r') as f: # 打开文件
first_line = f.readline() # 取第一行
return first_line.strip('\n').strip('\r')
def checkHeader(self,) -> int:
'''
返回:
0 : 文件为空,可以直接写header
1 : header对应上 无需处理
-1: 需要提醒用户保存数据后,删除文件后再处理
'''
if self.getCurrentFileSize() == 0:
return 0
first_line = self.getFirstline()
# print(f"firstline: {first_line}" )
# print(f"header_str: {self.header_str}" )
if first_line == self.header_str:
return 1
return -1
pass
def writeHeader(self,) -> None:
with open(self.current_filepath, "a") as f:
f.write(self.header_str)
return None
pass
def writeContent(self,new_line="\n") -> None:
with open(self.current_filepath, "a") as f:
f.write(new_line+self.content_str)
return None
pass
def is_dir_empty(self, ):
'''文件夹是否为空'''
has_next = next(self.current_dir.iterdir(), None)
if has_next is None:
return True
return False
def is_file_empty(self,):
'''文件是否为空'''
if self.current_dir.stat().st_size ==0:
return True
return False
def deleteDir(self,):
'''文件夹是否为空'''
try:
if self.current_dir.exists():
self.current_dir.rmdir()
except OSError as e:
raise Exception(e)
return True
## 其他需求
def get_child_dir(self,) -> list:
ret = []
tmp_dir = self.current_dir.glob("**/")
for td in tmp_dir:
if td.is_dir():
ret.append(td.relative_to(self.current_dir))
return ret
pass
def get_child_dir_only(self,) -> list:
ret = []
for d in self.current_dir.iterdir():
if d.is_dir():
ret.append(d.relative_to(self.current_dir))
return ret
pass
def get_files_from_currentdir(self, fmt:str="*/*" ) -> list:
'''fmt: * */* */*/*'''
ret = []
tmp_dir = self.current_dir.glob(fmt)
print(tmp_dir)
for td in tmp_dir:
if td.is_file():
ret.append(td)
return ret
pass
def sort_dir_and_check( self, dirs:list ):
'''相对目录排序,目录最后一级'''
ret = []
if len(dirs) == 0:
return ret
tmp = {}
tmp_lst = []
for d in dirs:
last:str = d.parts[-1]
if last.isdigit() :
tmp.update( {last:d} )
tmp_lst.append(int(last))
pass
tmp_lst.sort()
for t in tmp:
ret.append(tmp.get(str(t)))
pass
return ret
def sort_filepath_and_check(self, path_files:list):
'''相对目录排序,目录最后一级'''
ret = []
if len(path_files) == 0:
return ret
tmp = {}
tmp_lst = []
for d in path_files:
last:str = d.stem
if last.isdigit() :
tmp.update( {last:d} )
tmp_lst.append(int(last))
pass
tmp_lst.sort()
for t in tmp:
ret.append(tmp.get(str(t)))
pass
return ret
def group_and_sort_filepath(self,path_files:list):
ret = {}
# dirs_lst = []
# len_files = len(path_files)
# if len_files == 0:
# return False
# for pf in path_files:
# pf_dir:str = pf.parts[-2]
# if pf_dir.isdigit() and int(pf_dir) not in dirs_lst:
# dirs_lst.append( int(pf_dir) )
# dirs_lst.sort()
def check_dirs(self, dirs:list, begin:int =0, step:int=1):
'''检查目录是否从begin开始递增'''
len_dirs = len(dirs)
if len_dirs == 0:
return False
for i in range(begin,len_dirs,step) :
if dirs[i].parts[-1] != str(i) :
return False
return True
def check_path_files(self,path_files:list,begin:int =0, step:int=1):
'''检查文件名从begin开始递增'''
len_files = len(path_files)
if len_files == 0:
return False
for i in range(begin,len_files,step) :
if path_files[i].stem != str(i) :
return False
return True
if __name__ == "__main__":
mp = MyDir()
mp.setBaseDir(Path())
print(mp.current_dir)
# t = ("test_dir","1","11")
t = ("test_dir", )
mp.setDir( t )
print(mp.current_dir)
cd = mp.get_child_dir_only()
c = mp.sort_dir_and_check(cd)
print(cd )
print(c )

@ -0,0 +1,66 @@
from datetime import datetime, timedelta
# import locale
# locale.setlocale(locale.LC_ALL, '')
TIME_STR = "2022-06-10 16:16:16"
STD_TIME_STR_FMT = "%Y-%m-%d %H:%M:%S" # 小写y是两位年份
CUR_TIME_STR_FMT = "%Y-%m-%d %H:%M:%S"
class MyTime(object):
"""
操作方法:设置base tuple_path header
"""
def __init__(self) -> None:
self.cur_time_str_fmt = "%Y-%m-%d %H:%M:%S"
self.std_time_str_fmt = "%Y-%m-%d %H:%M:%S"
self.cur_time_str = ""
self.std_time_str = ""
self.cur_datetime = ""
pass
def setCurrentTimeStrFmt(self, s):
self.cur_time_str_fmt = s
pass
def setStdTimeStrFmt(self, s):
self.std_time_str_fmt = s
pass
def setCurrentTimeStr(self, s):
self.cur_time_str = s
self.cur_datetime = datetime.strptime(self.cur_time_str, self.cur_time_str_fmt)
pass
def setStdTimeStr(self, s):
self.std_time_str = s
self.cur_datetime = datetime.strptime(
self.std_time_str, STD_TIME_STR_FMT)
pass
def Current2STD(self):
# self.cur_datetime = datetime.strptime(self.cur_time_str , CUR_TIME_STR_FMT)
self.std_time_str = datetime.strftime(
self.cur_datetime, STD_TIME_STR_FMT)
pass
def STD2Current(self, format: str):
# self.cur_datetime = datetime.strptime(self.std_time_str , STD_TIME_STR_FMT)
self.cur_time_str = datetime.strftime(
self.cur_datetime, CUR_TIME_STR_FMT)
pass
def timeDelta(self, days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0):
self.cur_datetime = self.cur_datetime + \
timedelta(days=0, seconds=0, microseconds=0,
milliseconds=0, minutes=0, hours=0, weeks=0)
pass
if __name__ == "__main__":
s = "2023-02-07 14:02:46"
mt = MyTime()
mt.setCurrentTimeStr(s)
print(mt.cur_datetime)
pass
Loading…
Cancel
Save