- 6/8
- 6/9
- 6/10
- 6/11
- 6/12
- 6/15
- 6/16
- 6/17
- 6/18
- 6/22
- 6/23
- 6/15
- 6/26
- 6/29
- 6/30
- 7/1: CMB Polarization Conference
-
- David Bowman: Theory Overview
- Joanna Dunkley: Galactic Foregrounds
- Steve Meyer: Summar of Mission Concept Study Reports for CMBPol
- Gary Hinshaw: Polarization Systematics in WMAP
- Colin Bischoff: CAPMAP
- Clement L. Pryke: Systematics in QUaD
- Cynth Chiang: BICEP1 data
- Andrew E. Lange: PLANK hardware and status
- William Jones: SPIDER
- Al Kogut: PIPER
- Huan T Tran: POLARBEAR
- 7/2
-
- John Kovak: BICEP
- Joseph W. Fowler: ABS
- Nils W. Halverson: SPT-Pol
- Michael D. Niemack: ACT-Pol
- Walter K. Gear: Clover
- Ricardo T. Genova-Santos: QUIJOTE
- Timothy J. Pearson: C-BASS
- Aurelien A. Fraisse: Improving Galactic Foreground Models through Dust Studies
- Pannel Discussion
- Peter Timbie: Bolometric interferometry
- Kendrick Smith: de-lensing
- Chao-Lin Kuo: Prospects for lensing measurements from the ground
- Michael Mortonson: Reionization with future CMB science
- 7/3
6/8
Message Flow:
AntennaControl
Service MsgQ()
processTaskMsg()
processMsg(AntennaControlMsg* msg)
switch(msg->type)
case AntennacontrolMsg::NetCmd:
sendRtcNetCmd(msg)
sendRtcNetCmd(msg)
NetCommHandler* str = connectedHandlers_[iant];
str->packRtcNetCmd(rtc cmd, opcode);
NetCommHandler::packRtcNetCmd(rtc, opcode)
netCmdHandler_.packNetCmd(rtc, opcode)
NetCmdHandler::packNetCmd(rtc, opcode)
nss_->startPut(...)
...
nss_->endPut(...)
Control.cc
CONTROL_TASK_FWD_FN(forwardAntennaControlMsg)
ProcessMsg(ControlMsg* msg)
case ControlMsg::ANTENNA_CONTROL_MSG
forwardAntennaControlMsg(msg);
forwardAntennaControlMsg(ControlMsg* msg)
antennaControl_->sendTaskMsg(msg->getAntennaControlMsg() )
ControlMsg.h
getAntennaControlMsg() // returns a pointer to antennControlMsg
genericMsgType_ = TASK_SPECIFIC;
type = ANTENNA_CONTROL_MSG;
return & body.antennaControlMsg;
this gets called in:
- AntennaNetCmdForwarderNormal.cc:27
- Control.cc:312
- Control.cc:325
- Control.cc:719
- ControlMsg.h:102
- Scanner.cc:875
6/9
Understanding Antenna Commands
AntennaNetCmdForwarderNormal.cc
forwardNetCmd(NetCmd* netCmd)
Commands seem to be defined in control/code/unix/libunix_src/bicep/rtcnetcoms.h
RtcNetCmd {
NetMask receivers; NetCmd cmd; }
typedef union {
NetFridgeCmd fridge; ... } NetCmd;
?? does ANTENNA_CONTROL_MSG ever get used?
Try to run -> error:
090609 16:59:26 /home/kstory/gcp/control/conf/bicep/control.init 47: Error: '/data/bicep2daq/log' is not a writable directory. 090609 16:59:26 The control program is being shut down because a thread exited.
comment this out, it works now.
Can't type into bicepViewer. solution: turn off NumLock key.
Adding commands to BICEP1
http://bicep.caltech.edu/~bicep/control_software/adding_commands/set_power_example.htmlcontrol/code/unix/control_src/bicep/ SpecificNetCmd
- NewNetSelectRxCmd
- NewNetSetAntennaDDSCmd
- NewNetSetAntennaPhaseCmd
- NewNetSetAntennaFreqCmd
- NewNetSetAntennaParamsCmd ...
- SpecificNetCmd enum NetCmdId contains all commands above
SpecificNetMsg
- NewNetCalTertDoneMsg ...
- SpecificNetMsg
1) control/code/unix/libunix_src/bicep/rtcnetcoms.c
Name of command, arguments 2) control/code/unix/libunix_src/bicep/rtcnetcoms.h Name of command 3) control/code/unix/control_src/bicep/specificscript.c Take tcl command and queue the equivalent RtcNetCmd 4) util/bicep/ArrayNetCmdForwarder.cc Forward RtcNetCmd to the antenna (and mce) forwardNetCmd(NetCmd* netCmd) switch(opdcode) case NET_HALT_CMD: forwardAntennaNetCmd(netCmd); 5) util/bicep/AntennaNetCmdForwarder.cc Forward RtcNetCmd to the receiver task forwardNetCmd(NetCmd* netCmd) 6) antenna/control/bicep/AntNetCmdForwarder.cc Turn RtcNetCmd into the equivalent AntennaRxMsg, and send it to the receiver task forwardRxNetCmd(NetCmd* netCmd) 7) antenna/control/bicep/AntennaRxMsg.h Define AntennaRxMsg and new commands 8) antenna/control/bicep/AntennaRx.cc Parse AntennaRxMsg
6/10
Try adding a command aimed for the MCE
1) control/code/unix/libunix_src/bicep/ rtcnetcoms.c
add to cmd_objects[] = {
...
"mce_test"
add NetObjMember mce_test_cmd_members[] = {
"test_str",
"test_int", ... }
2) rtcnetcoms.h
add NET_MCE_TEST_CMD to enum NetCmdId
add struct NetMceTestCmd
add mce_test to struct NetCmd
3) code/unix/control_src/specific/ specificscript.c
??
4) util/bicep/ ArrayNetCmdForwarder.cc
case NET_MCE_TEST_CMD:
forwardMceNetCmd(netCmd)
5) util/bicep/ MceNetCmdForwarder.cc
add case NET_MCE_TEST_CMD to forwardNetCmd()
6) masd/bicep/ MasdNetCmdForwarder.cc
add case NET_MCE_TEST_CMD to forwardRxNetCmd()
7) masd/bicep/ MceRxMsg.h
add MCE_TEST to enum MsgType
add struct mce_test
6/11
Try an Mce command
error:bicepViewer> mce_test "my message here" 9 Symbol 'mce_test' is unknown bicepViewer>
grep for this. This error msg comes from:
control/code/unix/libscript_src/scope.c:135
in function find_ScriptSymbol()
This function is called from
- control/code/unix/libscript_src/statement.c:456
- control/code/unix/libscript_src/statement.c:1394
- control/code/unix/libscript_src/datatype.c:2878
- control/code/unix/libscript_src/expr.c:316
- control/code/unix/libscript_src/variable.c:358
- control/code/unix/libscript_src/variable.c:376
- control/code/unix/libscript_src/procedure.c:127
- control/code/unix/libscript_src/scope.c:160
used in find_DataType(...) -> NO
- control/code/unix/control_src/common/genericscript.c:4477 -> NO
- control/code/unix/control_src/common/generictypes.c:308 -> NO
- control/code/unix/libunix_src/common/script.h:1189 -> ?
- control/code/unix/libscript_src/datatype.c:319 -> maybe
- control/code/unix/libscript_src/script.h:1189 -> defined here
libunix_src/common/script.h
libscript_src/script.h appear to be the same.
** Follow through "slew" command
specificscript.c: add_SpecificScriptCommands()
control/code/unix/control_src/bicep/specificscript.c
add_SpecificScriptCommands()
6/12
Continue following "slew" command
find_ScriptSymbol() in libscript_src/
Where is this getting called from?
libscript_src/statement.c
- parse_Statement() -> YES
- parse_ImportStmt() -> NO
libscript_src/expr.c
- parse_dollar_expr -> NO
libscript_src/variable.c
- parse_TypeSpec() -> NO
libscript_src/procedure.c
- add_LoopStateFunction() -> NO
"slew" calls statement.c::parse_Statement()
Commands are in a HashTable, and are found with
find_HashSymbol(hash, name)
node = sc->script.scopes->head;
HashTable* hash = (HashTable* )node->data
How are symbols added to the hash table?
scope.c::add_ScriptSymbol()
called from
- control_src/common/generictypes.c
add_ScanDataType()
add_ScriptDataType()
- libscript_src/statement.c
parse_VariableStmt()
- libscript_src/procedure.c -> maybe
add_BuiltinFunction()
add_LoopStateFunction()
add_UserFunction()
add_BuiltinCommand()
add_UserCommand()
parse_ArgumentList()
parse_Modifiers()
- libscript_src/script.c -> NO
new_Script()
- libscript_src/datatype.c -> I don't think si
add_SignalDataType()
...
- libscript_src/variable.c
add_BuiltinVariable()
Come in from the other direction: where is cmd_objects used?
- rtcnetcoms.c
defined,
rtc_cmd_table = { "cmd", cmd_objects,...}
- libunix_src/common/control.c
another definition
cc_cmd_table = ...
Where is rtc_cmd_table used?
- control_src/common/genericcontrol.c
new_RtController()
rtc->sock = new_SockChan(cp,NULL, +size(rtc_cmd_table),...) -> sets size
PIPE_RCVD_FN(rtc_pipe_rcvd_fn)
obj_to_net(&rtc_cmd_table, ...)
connect_controller()
obj_to_net(&rtc_cmd_table, ...)
- util/common/NetCmdHandler.cc
NetCmdHandler constructor
nrs_->setBuffer(...size(&rtc_cmd_table)) -> sets size
packNetCmd(rtc, opcode)
nss_->putObj(&rtc_cmd_table)
readNetCmd()
nrs_->getObj(&rtc_cmd_table,...)
Blech!! I'll try again on Monday.
6/15
SPT group meeting
Web page:
https://spt.uchicago.edu/trac/wiki/PreF2FMeetingJun09
Pipelines
Pre Processing:
IDL pipeline.
- Find bad scans
- Filter out pulse tube cooling line
- Time Constant deconvolution
output fit-files
Map Making:
Two pipelines: IDL and C
IDL: currently "scanmap.pro"
C: Should mirror IDL
Simulation:
- Used as a development tool
- Currently only make simulated maps, not timestreams.
McGill Pipeline:
Polarization Simulation:
2. Finalize Data Structures for Standard Data Products
Standard Data Products
- scan fits files
- output SPT maps
- output sims
- simulation input maps
- catalogs for point sources and clusters
3. Plan for Achiving Data Products and Ensuring Reproducible Results
4. Autotools
Tools for winter-overs
Intermediate
Questions
- What are the auto-generated intermediate data files
Things for me to work on
- Polarization Simulation -> Probably not now.
- Autotools / data monitoring
Critical Analysis Inputs
- Pointing, Astronometry checks
- Beams. Standardize output.
- Atmosphere Filter studies
6/16
MCE Commands
Calibration command:
rtcnetcoms.c
NET_CALIB_CMD
struct {
bool enable
} NetCalibCmd
specificscript.c
CMD_FN(sc_calibrator_cmd)
add_SpecificScriptCommands(...)
if (!add_BuiltinCommand(sc, "calibrator(SwitchState state)",
sc_calibrator_cmd))
CMD_FN(sc_calibrator_cmd) {
get_Arguments(args, &vstate
rtc_offline()
defined in control_src/common/controlscript
Look up defaultMceSet -> ok
STRING_VARIABLE
defined in libunix_src/common/script.h
closer...
6/17
MCE commands
Current error:
"The last argument of the 'mceTest' command is garbled"
This comes from control/code/unix/libscript_src/expr.c
int parse_procedure_arguments(...)
defined in script.h
struct Variable {
ScriptObj header;
TypeSpec* type;
unsigned flags;
}
struct TypeSpec {
ScriptObj header;
char* name
DataType* dt
int is_list
}
where does parse_procedure_arguments() get called from?
expr.c::parse_function_call -> NOT CALLED
libunix_src/common/script.h -> NO
libscript_src/statement.c:: parse_CallStmt() -> YES
in specificscript.c, need to fix add_BuiltinCommand(sc, "mceTest(stuff)},...)
Idea: get command with just a doule working first, then try for a string.
MCE command with just an int
Change the following:
1) rtcnetcoms.c
2) rtcnetcoms.h
NetMceTestCmd mce_test
NET_MCE_TEST_CMD
3) speceficscript.c
add_BuiltinCommand(sc, "mceTest(Integer test_int)",sc_mceTest_cmd)
CMD_FN(sc_mceTest_cmd)
4) MceRxMsg.h
5) MasdNetCmdForwarder.cc
Q1: does arg in add_BuiltinCommand have to match name in rtcnetcoms?
A1: NO (I think)
"setBias([Generic type, Integer freq, Double voltage, Double percent, Integer value, Generic device])"
// setBias type=dc, size=-1.0
Next error:
"Missing integer 'Integer' value"
passed:
expr.c::parse_procedure_arguments: db0
expr.c::parse_procedure_arguments: Variable = intVal, db1
expr.c::parse_procedure_arguments: Variable = intVal
in expr.c
parse_argument(sc, TypeSpec* target, InputStream* stream, Expr* e)
parse_list_expr()
look for parse_fn(), called from expr.c::parse_argument
6/18
spt meeting is over, finallyMce Commands
parse_fn():
libunix_scr/common/script.h -> NO
libscript_src/datatype.c -> Maybe
libscript_src/script.h -> NO
It appears to be working!
bicepControl libscript_src/statement.c: parse_CallStmt() libscript_src/exp.c: parse_procedure_arguments(mceTest) expr.c::parse_procedure_arguments: db0 expr.c::parse_procedure_arguments: Variable = intVal, db1 expr.c::parse_procedure_arguments: Variable = intVal, 0 expr.c::parse_procedure_arguments: db2 - parse_argument expr.c::parse_argument: db1 - top expr.c::parse_argument: db2 expr.c::parse_procedure_arguments: db2.5 - after parse_argument expr.c::parse_procedure_arguments: db3 expr.c::parse_procedure_arguments: db8 - terminator character Sending MCE command: test_int = 42
The command chain
1) libscript_src/statement.c: parse_CallStmt()
2) libscript_src/expr.c: parsee_procedure_arguments()
- Modifier arguments
- read arguments from args into Variable data type
- call parse_arguments
- parse optional arguments db4-db7
- terminator character
3) control_src/bicep/specificscript.c
4) util/ArrayNetCmdForwarder.cc
5) MceNetCmdForwarder.cc
6) masd/bicep/MasdNetCmdForwarder.cc
7) masd/bicep/MceRxMsg.h: packMceTestMsg()
- type = MCE_TEST
8) MceRx.cc
- processMsg() -> forwardDataMsg
commint to CVS so I can use bicep account
control/code/unix/control_src/bicep/specificscript.c -> OK
control/code/unix/control_src/common/genericcontrol.c -> OK
control/code/unix/control_src/common/genericcontrol.h -> OK
control/code/unix/libscript_src/datatype.c -> OK
control/code/unix/libscript_src/expr.c -> OK
control/code/unix/libscript_src/statement.c -> OK
control/code/unix/libunix_src/bicep/rtcnetcoms.c -> OK
control/code/unix/libunix_src/bicep/rtcnetcoms.h -> OK
control/conf/bicep/control.init
masd/bicep/MasdNetCmdForwarder.cc -> OK
masd/bicep/MceRx.cc -> OK
masd/bicep/MceRxMsg.h -> OK
mediator/bicep/bin_Mediator.cc -> OK
util/bicep/ArrayNetCmdForwarder.cc -> OK
util/bicep/MceNetCmdForwarder.cc -> OK
Try running real MCE
gtkterm does not seem to work from my kstory account on bicep31.
using bicep account, I find
FR = 150
RL = 50
NR = 33
on bicep31:
kstory uname
run bicepControl, bicepAntenna, bicepMediator
on bicep32:
bicep uname
run bicepMasd first, then start mce:
./mce_pipe_acq 1000 1 100 33
This doesn't seem to be doing anything. ??
Also, the Frame merging page is not printing anything out, even from the Antenna. This is probably because Walt changed the register maps.
MCE command is propagating to MASD!
Output in Masd:MceNetCmdForwarder:: NET_MCE_TEST_CMD MasdNetCmdForwarder: Got a MCE command MceRxMsg::packMceTestMsg() MasdNetCmdForwarder: Got a MCE command MceRxMsg::packMceTestMsg()
It is working: I now have a command propagating to the CommandTask in
the masd. It can then call a command from here.
National Instruments Driver
Google search for
"National Instruments GPIB driver linux 64-bit" -> first hit
http://joule.ni.com/nidu/cds/view/p/id/1000/lang/en
NI_488.2 Version 2.5 Driver for Linux 64-bit
Download the instillation file.
unpack: tar -xzvf ni...tar.gz
Install:
root]# sh ./INSTALL
*****************************************************************************
NI-488.2 Distribution
version 2.5.4b1 for Linux
*****************************************************************************
National Instruments products support the following Linux distributions:
Mandriva Linux Official
openSUSE
Red Hat Enterprise Linux Desktop + Workstation
Refer to README.txt for the latest information at the time of release.
Refer to www.ni.com/linux for the most recent information about Linux
support at National Instruments.
*****************************************************************************
NATIONAL INSTRUMENTS CONFIDENTIAL
THE SOFTWARE YOU ARE ABOUT TO INSTALL IS NOT A RELEASED VERSION
REFER TO README.txt FOR A LIST OF KNOWN ISSUES
*****************************************************************************
Error:
Install gcc:
$ yum install gcc
Install g++
$ yum install gcc-c++.x86_64
Try again. New error:
************************************ ERROR ************************************* * Kernel source does not appear to be installed for the 2.6.18-128.1.10.el5 kernel. * Installation of the kernel-source package for kernel 2.6.18-128.1.10.el5 is * required to continue this installation. ************************************ ERROR *************************************??
root]# cat /etc/grub.conf | grep kernel
# all kernel and initrd paths are relative to /, eg.
# kernel /boot/vmlinuz-version ro root=/dev/md0
kernel /boot/vmlinuz-2.6.18-128.1.10.el5 ro root=/dev/md0 rhgb quiet
kernel /boot/vmlinuz-2.6.18-53.el5 ro root=/dev/md0 rhgb quiet
root]# more /proc/version
Linux version 2.6.18-128.1.10.el5 (mockbuild@ls20-bc2-14.build.redhat.com) (gcc version 4.1.2 20080704 (Red Hat 4.1
.2-44)) #1 SMP Wed Apr 29 13:53:08 EDT 2009
So I am running Red Hat 4.1. The driver wants 5.0 or 5.1
Options:
- Look into getting Red Hat 5.0 or 5.1
- Other drivers:
NI-488.2 - Beta 64 Bit
NI-VISA
GPIB-ENET Firmware
Talk to Leo:
For some reason the kernal was not up to date:
root]# cat /etc/grub.conf |grep kernel
# all kernel and initrd paths are relative to /, eg.
# kernel /boot/vmlinuz-version ro root=/dev/md0
kernel /boot/vmlinuz-2.6.18-128.1.14.el5 ro root=/dev/md0 rhgb quiet
Fixed!
Utilities:
gpibexplorer - utility to brows, add, and delete GPIB interfaces.
gpibtsw - GPIB trouble shooting wizard
gpibintctrl - GPIB Interactive Control utility
firmwareupdate - GPIB Firmware Update utility
ethernetconfig - GPIB ethernet device conviguration utility
You ca get to everything from the gpibexplorer
Add new MCE command
1) rtcnetcoms.h
- add NET_MCE_GENERIC_CMD to the enum NetCmdId
- typedef struct{
char message[MCE_MAX_CMD+1];
} NetMceGenericCommand;
- add NetMceGenericCmd mce_generic; to union NetCmd
2) rtcnetcoms.c
- NetObjMember mce_generic_cmd_members[] = {
{"message", offsetof(NetMceGenericCommand, message), NET_ASCII, MCE_MAX_CMD},
};
- add {"mce_generic", ...} to cmd_objects[]
3) control_src/bicep/specificscript.c
- static CMD_FN(sc_mceGeneric_cmd)
4) util/bicep/ArrayNetCmdForwarder.cc
- forwardNetCmd()
case NET_MCE_GENERIC_CMD:
forwardMceNetCmd(netCmd)
5) util/bicep/MceNetCmdForwarder.cc
- in forwardNetCmd()
case NET_MCE_GENERIC_CMD:
forwardRxNetCmd(netCmd)
6) masd/bicep/MasdNetCmdForwarder.cc
- in forwardRxNetCmd()
caseNET_MCE_GENERIC_CMD:
rxMsg->getCommandMsg()->packMceGenericMsg()
7) masd/bicep/CommandMsg.h
- in MsgType
add MCE_GENERIC
- packMceGenericMsg(char* message)
genericMsgType = TASK_SPECIFIC
type = MCE_GENERIC
8) masd/bicep/CommandTask.cc
- in processMsg()
case MCE_GENERIC
6/22
see Above.
String command is working!
Next, figure out why the command appears to be arriving twice.
MceNetCmdForwarder:: NET_MCE_GENERIC_CMD MasdNetCmdForwarder: Got a MCE_GENERIC command Masd/CommandMsg::packMceMsg(hello, world!) MasdNetCmdForwarder: Got a MCE_GENERIC command Masd/CommandMsg::packMceMsg(hello, world!) CommandTask: case MCE_GENERC *** hello, world! CommandTask: case MCE_GENERC *** hello, world!currently,
MceNetCmdForwarder::forwardNetCmd( NET_MCE_GENERIC_CMD ) MasdNetCmdForwarder::forwardRxNetCmd - MCE_GENERIC command Masd/CommandMsg::packMceGenericMsg(hello, World!) MasdMaster::forwardMasterMsg MceNetCmdForwarder::forwardNetCmd( NET_RESET_CMD ) MasdNetCmdForwarder::forwardRxNetCmd - MCE_GENERIC command Masd/CommandMsg::packMceGenericMsg(hello, World!) MasdMaster::forwardMasterMsg MasdMaster::processMsg - case RX_MSG MasdMaster::forwardRxMsg MceRx::processMsg() CommandTask: case MCE_GENERC *** hello, World! MasdMaster::processMsg - case RX_MSG MasdMaster::forwardRxMsg MceRx::processMsg() CommandTask: case MCE_GENERC *** hello, World!
I was missing a break statement in MceNetCmdForwarder!!
Mystery Solved!
ssh commands
Next, get an ssh command to work.
try system() or popen()
To Do:
- check out register maps, fix merging.page
6/23
bicep31 got hacked.Lakeshore Driver
Lakeshore Manual:
http://www.lakeshore.com/pdf_files/instruments/218_Manual.pdf
Utilities:
gpibexplorer - utility to brows, add, and delete GPIB interfaces.
gpibtsw - GPIB trouble shooting wizard
gpibintctrl - GPIB Interactive Control utility
firmwareupdate - GPIB Firmware Update utility
ethernetconfig - GPIB ethernet device conviguration utility
You ca get to everything from the gpibexplorer
Chapter 6 on computer interface
Mode 318 IEEE-488 interface capabilities
• SH1: Source handshake capability.
• RL1: Complete remote/local capability.
• DC1: Full device clear capability.
• DT0: No device trigger capability.
• C0: No system controller capability.
• T5: Basic TALKER, serial poll capability, talk only, unaddressed to talk if addressed to listen.
• L4: Basic LISTENER, unaddressed to listen if addressed to talk.
• SR1: Service request capability.
• AH1: Acceptor handshake capability.
• PP0: No parallel poll capability.
• E1: Open collector electronics.
Set the Interface to Baud 9600
Select Address 12
Terminator setting: Cr Lf
Power down and back up
1) Bus Control 2) Common 3) Interface and Device Specific
McMaster Carr order
Please order:
1/4 inch screws:
1 of 92196A551 @ $10.40 per Pack, 18-8 Stainless Steel Socket Head Cap Screw 1/4"-20 Thread, 2-1/4" Length
5/16-24 socket head 1/2 inch long
1/4 inch washers:
1 of 90945A761 @ $10.44 per Pack, 18-8 Stainless Steel NAS 620 Flat Washer 1/4" Sz, .468" OD, .060"-.067" Thk, Dash No. C416
1 of 90313A107 @ $7.45 per Pack, 18-8 SS Large-Diameter Flat Washer 1/4" Screw Size, 1" OD, .040"-.060" Thick
1 of 92146A029 @ $4.44 per Pack, 18-8 Stainless Steel Spring Lock Washer 1/4" Screw Size, .487" OD, .062" min Thick
5/16 washers:
1 of 98017A690 @ $7.55 per Pack, 18-8 Stainless Steel AN 960 Flat Washer 5/16" Sz, .562" OD, .057"-.069" Thk, Dash No. C516
1 of 92146A030 @ $6.56 per Pack, 18-8 Stainless Steel Spring Lock Washer 5/16" Screw Size, .583" OD, .078" min Thick
3/8 washers: done
1/2 washers: done
Hex wrench: 3/8
Regular files
Needle files
m8 (0.8inch long, 20mm long)
6/15
shell commands from gcp
Look at util/common/CoProc.h, .cc
c++ function fork()
fork_ret = fork();
if (fork_ret == 0) {
// Child process
}
example of popen:
http://www.linuxquestions.org/questions/programming-9/cc-popen-launch-process-in-specific-directory-620305/
popen() is used in the gcp:
control/code/unix/misc_scr/logfile.c
debug masd/bicep/CommandTask::runGenericCommand()
6/26
Get gcp working again
Problem 1: kstory can't write to /data/bicep2_daq/acq/
I am part of group staff, not sure what the problem is.
Problem 2: no pipes for masd to write to.
add them:
/data/cryo$ mkfifo mas_data_pipe.run /data/cryo$ mkfifo mas_data_pipe
It works!!
spt data analysis; work through Ryan's email.
Can't find function make_data_struct:
IDL> data=make_data_struct('01-Jun-2009:00:00:00','01-Jun-2009:00:04:00')
% Variable is undefined: MAKE_DATA_STRUCT.
% Execution halted at: $MAIN$
this runs from directory /data/sptdat/fits/calibraror
6/29
to do
1) solid works model of 50k plate -> DONE
2) Wind IL edits -> DONE
3) IDL stuff
4) other Solid Works models
IDL for SPT: email from Ryan
=== IDL STUFF ===
Lists of functions:
http://physics.nyu.edu/grierlab/idl_html_help/idl_alph.html
http://idlastro.gsfc.nasa.gov/contents.html (the so-called "astro-lib"
library, which we have on spt, is astronomy specific)
Quite annoyingly, you have to use the 'print' command to get an answer
to a simple calculation.
> print,3+3
(at least you don't have to type ; at the end of all commands, like
you do in matlab...)
It's a very good idea to get in the habit of turning all numbers into
"decimal-point-containing" numbers (or at least understand the rules
IDL uses for arithmetic). For example,
> print,3/4
0
> print, 3./4.
0.750000
$ allows you to "wrap-around" a command within some code, if you like
the way that looks better.
a = [1, 2, 3, 4, 5, $
6, 7, 8, 9, 10]
The WHERE command is very useful. It's like FIND in matlab. It
returns the indices of the elements in an array which satisfy some
criterion.
> a = [1, 2, 3, 4, 5]
> wh = where(a gt 3)
> print,a[wh]
4 5
Here's a script plotting some random numbers.
n=100
seed = systime(/sec)
x = randomn(seed,n)
y = randomn(seed,n)
plot,x,y, ps=2, xtitle='Apples', ytitle='Bananas', title='Duh',
charsize=1.6, xr=[-2,2], yr=[-2,2], /xst, /yst
wh_big_x = where(x gt 1.)
wh_big_y = where(y gt 1.)
oplot,x[wh_big_x],y[wh_big_x],ps=4,color=!red, symsize=2
oplot,x[wh_big_y],y[wh_big_y],ps=4,color=!blue, symsize=2
legend,['BIG X','BIG Y'], textc=[!red, !blue], charsize=1.7, /bottom, /left
SPT Specific...
to read in some data,
data=make_data_struct('01-Jun-2009:00:00:00','01-Jun-2009:00:04:00)
to read in a fits file,
data=read_spt_fits('calibrator_20090623_191359.fits')
to convert between date strings and date numbers in Modified Julian Date (MJD)
mjd = date_string_to_mjd('01-Jun-2009:00:00:00')
date = mjd_to_date_string(mjd)
=== FITS FILES ===
/data/sptdat/fits/calibrator
/data/sptdat/fits/elnod
etc.
Again, to read in a fits file,
data=read_spt_fits('calibrator_20090623_191359.fits')
plot,data.observation.bolo_cal_response,/ps
=== CUTS ===
Martin's page on Cuts:
https://spt.uchicago.edu/trac/wiki/CutsJuly16
spt_analysis/cuts/get_cuts.pro is the parent program.
There are sub-routines. get_response_cuts.pro is probably the one you
want to explore the most.
=== SUMMARY TABLES ===
I don't think we need to work on this stuff in the short-term, but
here's some information on Kathryn's summary tables.
http://spt.uchicago.edu/intweb/analysis/autotools/summary/summary.html
This is the starting page for the "Summary Tables". Kathryn automated
the creation of these tables a while back, but nobody is keeping an
eye one them.
From there you can navigate to plots showing fridge performance,
weather, and, most importantly, bolometer performance. Over time we
can build up a specific list of things to report back to the group on
(on a weekly telecon, for example), but for now we should just
familiarize ourselves with the plots (what's typical and what's not).
from spt_analysis/fits/
type:
> data=read_spt_fits('/data/sptdat/fits/calibrator/calibrator_20090623_191359.fits')
> plot,data.observation.bolo_cal_response,/ps
6/30
to do for mce:
add 3 commands:
- mce_cmd
- start_acquisition: 4 agruments
- stop_acquisition: not implemented yet, put in stub
stand-alone fridge control:
- in antenna layer, put
idl investigation
cuts: this works:
> data = read_spt_fits('/data/sptdat/fits/calibrator/calibrator_20090623_191359.fits')
> get_cuts, data
> print, data.observation.bolo_flags
goal 1: make plot of response as a fn of bolometers
looking at spt_analysis/cuts/get_cuts.pro
Sub-routines:
- get_lowlevel_cuts
- get_response_cuts
- get_outlier_cuts
- get_line_cuts
- get_calibration_failed_cut
- get_cal_wt_outlier_cuts
look at get_response_cuts.pro
cuts are stored in data.observation.bolo_flags
obs_tags = tag_names(data.observation)
nbolos = n_elements(data.observation.bolo_readout_idx)
bolo_elnod_response = data.observation.bolo_elnod_response
bolo_elnod_gof = data.observation.bolo_elnod_gof
bolo_cal_response = data.observation.bolo_cal_response
cutindex = cut_flag_name_to_index('CALIBRATOR_RESPONSE_CUT', /obs_bolo_flags)
in cut_flag_name_to_index.pro,
- define_cut_flags ;; assigns names to each cut flag, stores names in system variable
keyword_set(expr) is a standard function, returns true or false depending if expr is defined
if(cond1 + cond2) means "and", I think
defsysv, defines a system variable
Questions:
- Is there a way to look for functions, i.e. "which"? ->
- "ls" function? -> $ls
- "pwd" function? -> $pwd
- what is the / notation? -> I think it means "this variable will be filled"
- how can I see what is inside a struct?
- what does if(cond1 + cond2) mean? -> I think "and"
- how about "or"?
- what is the ! notation?, i.e. master_names=!SPT_CUT_DEFS.obs_bolo_cut_names
- where is the data struct defined? what are its members?
- what is aux_bolo_psd_9to11, bolo_psd_9to11 ?
- obs_tags is defined twice? on L108, L145
7/1: CMB Polarization Conference
David Bowman: Theory Overview
Requirements for Inflation
1) accelerated expansion: d2a/dt2 > 0
2) Negative pressure: w < -1/3
3) shrinking comoving horizon
Flat scalar potential:
epsilon = Mp^2/2(V'/V)^2
Quantum fluctuations lead to local time delay in the end of inflation > density fluctuations after reheating.
Scale dependence is parametrized by
\Delta_s^2 = A_s k^{n_s-1}
Obesevations:
Flatness
Scalar Fluctuations
- percent deviations from n_s = 1
- Gaussian, Adiabatic
- Correlations of Superhorizon Fluctuations
Tensor Fluctuations:
Gravitational waves
appears as a massless field during inflation
\Delta_t^2 = 8/mp^2(H/2pi)^2
r \equiv (\Delta_t^2)/(\Delta_s^2)
Prediction for tensors is the same for all models!
Current upper limit: r < 0.22
Superhorizon B-modes?
B-modes as a probe of high energy physics:
E_inf = 10^16 (r/0.01)^1/4 GeV
the Lythe Bound
if r>0.01, means that phi moved over a distance that was larger than a plank distance.
In an effective field theory with Cutoff Lamda < Mp, expect structure over lengths of order plank scale.
Effective Field Theory:
UV completion (string theory)
low-energy EFT
Cutoff scale has to be set below the lightest particle that we are ignoring.
- If we new the complete theory, we could integrate out the heavy fields, leaving an effective potential in terms of only the inflaton.
\Delta V = O(delta)/M^{delta-4}
- If we do NOT know the theory, we add up all corrections consistent with symmetries.
UV sensitivity of inflation is especially strong in any model with observable gravity waves.
- we generically don't expect a smooth potential over a super-Planckian range
Shift symmetry in UV:
phi -> phi + const
This would allow us to get rid of this sum of corrections.
Why should this be valid?
Seeing B-modes would show that the inflaton field respected a shift symmetry up to the Planck scale.
Axions have this property.
Large-field v.s. Small-field
This means, does the phi field move over a large or small distance during inflation.
Small Field
Patch Problem
- at the start of inflation, the field has to be homogeneous over a distance that is a few times the horizon scale at that time.
- This problem is more severe for small-field (low-r) models
Overshoot problem
- field crosses the flat part of the potential too fast.
Fine-Tuned Potentials
- need to go from epsilon << 1 to epsilon ~ 1 very quickly.
- requires a very steep potential cliff after the flat part.
Large Field
Potentials are "Simple"
Attractor Solutions
Improved Initial Conditions
Joanna Dunkley: Galactic Foregrounds
Two components get polarized from Galactic magnetic field:
1) Synchrotron emission: electrons spiral in B-field
The signal is larger than even the EE signal.
Synchrotron index: beta ~ -3
Should expect some variation of syncotron index with frquency and space
Synchotron emission seems vairly pervasive, even above galactic plane
2) Thermal dust emission
A non-spherical grain of dust will emit thermal radiation non-isotropically
Observations:
- FDS dust intensity (94 GHz) -> dust is low off Galactic plane
- expect dust to be polarized at ~1-10%
Removing Foregrounds:
1) Template Cleaning (WMAP)
- Construct a synchrotron and dust template, and subtract them
2) Parametric cleaning
- Try to parametrize contaminates in each pixel, and remove them
- Uses astrophysical inputs to give values to these parameters.
3) Blind Cleaning
- Does not use astrophysical inputs.
Frequency Allocation
- Want to include the foreground min
- Want at least 5 channels: 3 per foreground, 1 for CMB
- Choose frequency to minimize marginalized errors with respect to parametric fit
Galactic Science Goals:
- Magnetic field: origin of field, turbulence
- Dust: alignment efficiency with density and temp, dust composition
- Cosmic Rays: CMB haze, DM annihilation?
Steve Meyer: Summar of Mission Concept Study Reports for CMBPol
2003: Beyond Einstein
2005: Weiss Report: yes, we can in principle reach B-mode detection
2007: PPPDT: NASA committee, defining what will happen in the next decade
2008: CMBpol AMCS: CMBpol mission study,
2010: Decadal Survey
Gary Hinshaw: Polarization Systematics in WMAP
WMAP optics
Back-to-back Gregorian telescope
Radiometers. The two orientations of polarization go through different, parallel paths of electronics.
radiometers measure:
d1 = Delta T + Delta P
d2 = Delta T - Delta P
WMAP baseline processing:
- baseline due to fixed instrument asymmetries and 1/f noise
- long time scales, baseline parameters are fitted and removed
baseline covariance effects polarization at low l
Colin Bischoff: CAPMAP
40/90 GHz
Ring Scan pattern
Use a 5 parameter fit:
M(theta) = A0 + A1 sin(theta) + A2 cos(theta) + A3 sin^2(theta) + A4 cos^2(theta)
Used full-season simulations to estimate systematics
Clement L. Pryke: Systematics in QUaD
100/150 GHz
Sky coverage: 60 deg
Systematics:
Sidelobes
- Ground pickup
- moon pickup
Beam mismatch
Ground Pickup
Used a 12-piece ground shield
snow collected in pannel junctions, caused contamination signal
How do you get rid of this?
- field differencing
- ground template removal
- throws away large-scale structure, below l ~ 200
Moon causes scattering through the foam cone.
- throw out days when the moon was up
Detector Timeconstant devolution
use elnod to measure relative gain calibration
By using an unpolarized source to calibrate, instrumental polarization is not relevant.
Cynth Chiang: BICEP1 data
100/150/(220) GHz
25/ 22 / 2 pixels
Observation: fixed el, boresight; Az scans
Instrument Characterization:
bolometer transfer functions
- use microwave source
- square wave bias
Relative gains
- elnods, 1.5 deg in motion
- removes common mode atmosphere
Absolute gains and detector pointing
- cross-correlate BICEP with WMAP
- cross-correlate temperature maps of BICEP data to get detector pointing
Cross-polar leakage and plzn orientation angle
- rotating polarized sources: dielectric sheet, wire grid
Beam shapes
- map far-field sources
Systematics
two potential problems:
- realitve gain uncertainty
- differential pointing.
Constraints on r from BB
assume fixed LCDM parameters
calculate upper limit on r: integrate Maximum Likelyhood curve up to 95%
Andrew E. Lange: PLANK hardware and status
Has all-sky coverage
> good understanding of polarized foregrounds
First flight in New Mexico
William Jones: SPIDER
96 / 145 / 220 GHz
Systematics:
- receiver 1/f knee
- pointing jitter
- absolute pol angle offset
- relative pol angle offset
- knowledge of beam centroids
- optical Ghosting: stray refracting between optical elements
- calibration drift in phase: e.g. from altitude variation
- calibration drift out of phase: different between detectors
Science goals:
Test Flight
- E-mode complementary to Planck
- r < 0.15
- Galactic dust polarization
Long flight
- r < 0.05
- T/S limit extremely complementary to Planck
Tau -> optical depth to reionization
Limits on B-modes similar for McMurdo and Alice Springs flight
Al Kogut: PIPER
Looking for reionization bump: low l
5120 detectors
200, 270, 350, 600 GHz
4 flights in 2013 and 2014
Detector Array:
TES bolometer at 0.100 K
Waveplate technology
Uses the fact that V is zero on the sky. What is V?
The entire experiment lives in a 5000 L liquid He dour
- simplifies beam-spillover effects
Foregrounds: only worry about dust.
Scan Pattern: slow spin gondola
Detects intensity, circular polarization
Huan T Tran: POLARBEAR
Monochromatic - switch focal planes for different frequencies
90/150/220 GHz
Monolithic central primary mirror
7 wafers, 6xx detectors
Both continuous and stepped rotation
Use a large Ground-shield
Systematics: focus on Beam Distortions
Scan Regions match QUIET
7/2
John Kovak: BICEP
Could have used a Temperature template map. What is this?
measured r < 0.7
Results are a factor of 4 higher than projected. Why?
What is OK:
- Time on target > 3000 hrs
- foreground removal
- 1/f noise
- E/B separation
- Chance fluctuation
Small factors:
- (numerous)
BICEP2 and KECK
~2500 detectors
Joseph W. Fowler: ABS
Small feed horns - hand made in the Princeton machine shop
Array is not close packed - requires scan strategy to get rid of effects
Spinning HWP?
only at 1 frequency.
Nils W. Halverson: SPT-Pol
10m off-axis gregorian
1 arc-minute resolution
600 sq degrees of observation
GroundShield: not sure if it is going to work yet.
Digital frequency multiplexed readout: same as IBEX
Use corrigated horn feeds
150GHz -> 637 pixels, NIST
90 GHz -> 198 pixels, Argonne
OMT - Ortho Mode Transducer
Calibration
- Absolute gains: WMAP & Planck
- gain stability: chopped IR source
- absolute relative gains: elnods
- unpolarized beam response: planet observations
- Polarization orientation angle
- Polarized beam response: mirror on a pole
Michael D. Niemack: ACT-Pol
145, 220, 280 GHz
In Chile
Start 2012
Science Goals:
- High l power spectra
- Lensing signal
3 independent optics paths
1 deg Field of View per array
640 polarimeters
Detectors same as SPT and ABS
Detectors are small; 5mm across
Why is sapphire used? here, sapphire thermal isolation
First light; 2012
Walter K. Gear: Clover
target r ~ 0.03
Design:
- 97 / 150 / 225 GHz
- No lenses
- Pulse tube cooler
- large mirrors on small central bearing
Clover is officially cancelled
Ricardo T. Genova-Santos: QUIJOTE
Low frequencies (11-40 GHz)
Algular resolution: 1 deg
Operates in the Canary islands
Science:
- Constrain B-modes
- measure foregrounds: synchrotron signal dominates at low freq
Scanning strategy
- spins at a fixed elevation with constant velocity in azimuth. Earth rotation provides daily sky coverage
- need to subtract radio sources
Timothy J. Pearson: C-BASS
C-band All Sky Survey
5 GHz
Two telescopes, one in CA and one in South Africa
Completion in 2011
Science:
- survey difuse Galactic emission; dominated by synchrotron radiation but high enough to be uncorrupted by Faraday rotation
- Enable accurate subtraction of foregroud contaminating signals from high freq CMB
- Major source of foregrounds for studying inter-stellar radiation
Goal: Polarized synchroton template
will need to subtract off point sources individually.
Systematics:
- 1/f -> rapid scanning in AZ
- highly redundant coverage
- sidelobes: optical layout and feed-horn design
- Radio Frequency Interference
Scanning Strategy:
- 6 deg per sec
Comissioning NOW
Data release in 2011, 2012
Aurelien A. Fraisse: Improving Galactic Foreground Models through Dust Studies
Building Dust Models
- Composition of dust grains: mixture of carbonaceous and silicate grains
- should reproduce: MW extinction, starlight plzn, most extreme polarizations
Pannel Discussion
"What i practice will be the biggest issues for the upcoming round of ground/alloon based experiments?"
Andrew Lang
The issue is not technical; it is sociological and financial.
This is hard; no longer a low hanging fruit.
We need to put money and time into data analysis, not just hardware.
Gary Hinshaw
Nothing has been limited by systematics yet.
Challenge: sensitivity.
Large scales: foregrounds are the largest problem
Small Scales:
We should start seeing systematics and foregrounds.
John Roul
Need to organize group to focus on analysis.
Scaling to more complicated experiments and more data
Bruce Winstein
1) Null Tests (Jacknife tests).
2) South Pole; Huge ifrastructure, good cooperation. Bicep2/Keck, and SPT
3) Atacama; No cooperation.
4) Need more financial resources.
5) Use multiple detector technologies
??
We have multiple good types of detector technologies
Characterization and Calibration need resources
Financial challenge: how to have the capability to maintain the current program, and improve it.
Atacoma Cooperation
NSF is interested.
Sensitivity
We need high sensitivity because we are going to have to throw out a bunch of data that we can't trim down, regardless.
Were we are stuck right now is making arrays: stable, characterized, calibrated
The existing round is using technologies that have been developing over 10 years. The next round is using new technology that is not necessarily well understood.
Roul: We are using both new detector technology, and new focal plane technology (wave plate)
Analysis
Lang: We need to spend more money on analysis
Pryke: Collaboration on data analysis?
??: Need more coordination between data analysis and calibration/characterization.
Career prospects for "Data Analysists"
Peter Timbie: Bolometric interferometry
Beam Combination for Large N
1) Pairwise: signals are split and combined pairwise
- N(N-1)/2 pairs
- multiplying correlator
- doesn't work (not sure why)
2) Fizeau: signals from all antennas appear at all detectors
- Signal enters feed horns
- OMT's
- phase modulators
- beam combiner
- detectors
Kendrick Smith: de-lensing
E-mode:
B-mode:
d_a(n): distance between where a light source is and where it appears to be
CMB lense reconstruction
Lense breaks translation invariance
Two-point correlation function is non-zero for different fourier modes
Sum over all modes in the CMB whos fourier modes are different
From T(n), can calculate the power spectrum, and a 4-point estimator for the CMB
First detection from WMAP
1. Lens reconstruction estimators
Quadratic estimator is also useful for
- Reionization bubbles generate B-modes, via scattering (large scales) and screening (small scales)
2.
WMAP six-parameter space: {Omega_b h^2, Omega_m h^2, A_s, tau, n_s, Omega_Lamgea}
First 5 are constrained through tthe shape of the power spectrum
"Angular diameter distance degeneracy"
Lensing breaks this degeneracy.
Neutrino Mass:
Lensing potential is sensitive to the sum of the masses.
Dark Energy:
Lensing would add to the constraint of Omega_Lambda in combination with SNAP
3. Prospects for delensing
Lensing ooks like white nose with amplitude 5.5 uk-arcmin
Forecasts for "r"
This will be very sensitive to what assumptions you make about foregrounds.
Improvement ratio:
"No go" result: cannot de-lens polarization using small-scale temperature.
"No go" result: cannot delense polarization using large-scale structure.
Chao-Lin Kuo: Prospects for lensing measurements from the ground
By simple scaling, want 10,000 detectors to make a statistical measurement of the lensing B-modes with current detector technology.
Proposed experiment: array of crossed Dragone telescopes
Pol-Len
~ 2000 detectors, 5 telescopes
Another possibility: 8,000 detectors on a single telescope
Then we make 10 telescopes with 80,000 detectors.
Trade-offs:
- NO HWP modulators
- No full psi-rotation
- Modulation relies on scanning - QUaD / BICEP style
- For the same (theta, phi), two possible psi angles can serve as a systematic check.
Michael Mortonson: Reionization with future CMB science
Origin of the Reionization bump
- Free electrons from reionizaation rescatter CMB photons
- Local quadrupole generates polarization
- Scattering at low redshifts projects onto large angular scales
WMAP > optical depth tau 0.09
Physical Parameters
1. Optical Depth
2.
3.
Physical models
- Simple model: assume that DM halos of mass M host radiation sources that ionize regions of mass
- Degeneracy between M_min and Cxi
- We will need some other input from theory or observation to break this degeneracy.
We can have confusion between inflationary signals and reionization.
Summary:
- Future data will improve reonization parameters
- can measure 5 params
- need additional information beyond large-scale CMB
- potential confusion between effects of reionization and othe rlarge-scale polarization parameters.
7/3
Jamie Bock: EPIC mission overview
Science Goals:
- Inflationary B-modes
- B-mode cosmic shear spectrum
- E-mode spectrum to cosmic variance to damping tail
- Map galacitc magnetic fields via dust polarization
Scan strategy gives very uniform coverage.
30 / 45 / 70 / 100 / 150 / 220 / 340 / 500 / 850
Detector sensitivity is similar to Plank, but there are a lot more of them!
Space mission gains:
- all sky coverage
- systematic erro rcontrol
- multi-band coverage
- sensitivity
Adrian Lee: EPIC
1. Cold telescope in space => Extremely high sensitivity focal plane
2. Focal plane technologies being tested now.
Possible Focal plane technologies:
- Scalar horn coupling
ACT-pol, SPT-pol, ABS
Low horn sidelobes
low mass design required -> horns at higher T
- Phased-array antenna coupling
BICEP2, KECK
low mass, mechanically simple
- Antenna Contacting lense coupling
POLAR-BEAR
multichroic
reduce focal plane area by 3x
Multiplexed readout technologies:
- Multiplexed kinetic inductance detectors
- time domain multiplexed TES
- Frequency domain multiplexed TES
Huan T Tran: Optical Design
Warren Holmes: Focal plane cooling
Adiabatic Demagenitization Refrigerator (ADR)
- cooling through magnetization / de-magnetization
Brian Keating: Systematic Errors
Beam effects
- differential FWHM (monopole effect)
- differential beam offset (dipole IP effect)
- differential ellipticity (quadrupole effect)
- differential gain (monopole effect)
Systematics both degrade and bias measurement of parameters
Pannel Discussion: What is the path beyond the current round?
Chao-Lin Kuo
How do you simplify a system, and how do you scale up the number
Al Krugut
What happens if we don't get a bunch of new money?
What is the unused capacity in the system?
Ballooning: American flights
Clem Pryke
There are a lot of experiments right now (8 or so). This is ok for now, as we investigate new technology.
We need fewer, larger collaborations.
As a community we are too modest; we need to advocate for more ambitious experiments.
Jamie Bock
Good momentum right now. Our future challengs are not technical.
Systematic errors, foreground problem.
Medium Term: ready for mid-decadal review
Shaul Heniny
There is certainly space for another round of experiments that will actually push up to 0.01
Need to put up a lot of detectors.
EPIC-IM on the ground.
Fewer, more expensive experiments
Currently, we get ~ $1 million per year.
Proposal: We need to do something about the data that we need to make public anyhow.