Specs, Data, and Web By Ben Jolitz

advertisement

Specs, Data, and Web

By Ben Jolitz

Specs

Professional projects use specifications

 Ensures quality

Ensures product does what it should.

Example: “Speedy” Alice and “Solid” Bill

Wrote eight page specification

 Hammered out what needs to be done

 Preliminary logic written up.

Useful for future years, provides short walk through without pawing through manuals and PPTs.

Specs II

All programs written in Python.

 Extendable

 Easy to adapt

Other languages (C, Perl, VB) were rejected due to maintenance reasons.

Specs -> Program

Muon lifetime's logic was to search for a “start” trigger, find that trigger's end, and check the time index spacing between the first triggers “end” and the next ones “start”.

 3

μs <

Space

< 10μs.

ADOM logic:

 Find the number of “events” in two minute intervals.

 Ignore x seconds of data

balloon.py

....

tim = int(columns[0], 16) if tim < self.last_tim : self.rollover_time += 4294967296

....

if data_timestamp >= self.trigger_next_interval : print "interval %04d: triggers %04d [lines %d-%d]" % ( self.interval_count, self.trigger_count, self.interval_first_line, line_count-1) self.interval_first_line = line_count self.interval_count = self.interval_count + 1 self.trigger_count = 0 self.trigger_next_interval = self.trigger_next_interval + self.interval_time

lifetime.py

...

...

if columns[1] == '80' : # trigger self.trigger = True self.trigger_time = data_timestamp if self.trigger : self.trigger_accumulator = self.trigger_accumulator + [columns] if self.trigger and columns[5] == '00' : self.trigger = False self.trigger_accumulator = []

Issues

ADOM balloon.py has a “dropout” mechanism to remove invalid lines or typed in commands.

 Prints out dropouts along with line number

 Assumes all valid data lines are 16 columns.

“Smiley face”

Help

Issue fixed by simply tracking down the false data lines using the other dropout prints to get an idea, delete by hand or by command piping.

Data Lore

ADOM experiment was carried out on 25 July,

2007 at around 11AM.

Muon life time has not been carried out yet, due to equipment issues.

Balloon was pulled lower due to winds

Unknown

Data Lore II

Cannot account for the count drop on ground.

Lowest point is 18mins for both experiments.

 Coindicidence?

 Time dependent error?

Ground Data had 6 dropouts.

 Mainly commands ['DS'], ...

Aerial Data had ~162 dropouts.

 Data lines that were “mangled” (repeating section, transmission error).

Data Lore III

Potential sources of error:

 Power fluctuating somewhere?

 ADOM transmitter encountering interference?

 Changing altitude suddenly

 The null-modem serial piece was not fastened in and

 slightly loose.

Tether may have brought around flex error because the setup was bouncing all over the place, due to lack of stabilizers.

ADOM's balloon did not reach 1000ft.

Lack of sufficient lift.

Winds

Web site

Developed on live CMF webserver

 http://zbenjamin.telemuse.net/

 http://objectis.net

 http://www.zope.org

Content kept on scipp server.

XHTML 1.0/CSS 2/JScript 1.5

 Ported over with browser “View HTML” and “Save as”

 Full versions working perfectly on FF 1.5+, IE 7+,

Opera, Safari.

Partial version working on IE 5.5, 6

Round up

Wrote specification

 Good for later years as logic reference

 Data format section good as long Qnet boards “speak” that format

Two programs:

 Proven “balloon.py” program

Invoked by python balloon.py datafile.txt [secs to ignore] ([] optional)

 Experimental “lifetime.py” program

Clean website supported by standards.

Download