6/8
6/9
Understanding Antenna Commands
Adding commands to BICEP1
6/10
Try adding a command aimed for the MCE
6/11
Try an Mce command
6/12
Continue following "slew" command
6/15
SPT group meeting
6/16
MCE Commands
6/17
MCE commands
MCE command with just an int
6/18
Mce Commands
commint to CVS so I can use bicep account
Try running real MCE
MCE command is propagating to MASD!
National Instruments Driver
Add new MCE command
6/22
ssh commands
6/23
Lakeshore Driver
McMaster Carr order
6/15
shell commands from gcp
6/26
Get gcp working again
6/29
IDL for SPT: email from Ryan
6/30
idl investigation
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
Jamie Bock: EPIC mission overview
Adrian Lee: EPIC
Huan T Tran: Optical Design
Warren Holmes: Focal plane cooling
Brian Keating: Systematic Errors
Pannel Discussion: What is the path beyond the current round?

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.html

control/code/unix/control_src/bicep/ SpecificNetCmd

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, finally

Mce 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

6/19

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

Three types of commands:

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.

> > _Fluctuations:_ > Curvature perturbations -> way to describe fluctuations. > - exit the horizon at very high energies, and re-enters much later > - stays constant outside the horizon, "classical freeze-out" > - re-enters as density perturbations > Compute fluctions as 2-point correlation function of Zeta > > Scalar Fluctuations: > \Delta_s^2 (H/2pi)^2 (H/phi_dot)^2


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

> > _Science_ > - better TT power spectrum than WMAP > - test n_s > - accell at high l > - neutrino species > - very good EE spectrum for l ~ 40 -> 1200 > - first all-sky survey at these frequencies since IRAS > - non gaussianity > > Scan strategy is not optimal for polarimitry. > > Planck will NOT detect cosmological B-modes > Planck will: > - measure a high-precision measurement of n_x > - high sensitivity to non-gaussianity > ** Akito Kusaka: QUIET > "Detector on a chip" > Has been observing since 11/08 > Just finished Q-band > Now about to start W-band > > scan at 2 deg /sec on the sky > > _W-band_ > 90 pixels, 84 polarization pixels > Array sensitivity: 60 uk/sqrt(s) > > _Calibration_ > Gain stability > - Noise source, every 1.5 hours > - tau A, once per 2 days > - Moon observation (Rel. gain, angles) > - elnod (gain, stability) > - Jupiter, once every 7 days. > > _Systematic Errors:_ > Fake signal sources > - instrumental I->Q/U: due to imperfection of OMT > - Gain fluctuations > - Noise misestimate > E-B mixing > > Use full simulations for parameter estimation. ** Amber Miller: EBEX > Balloon experiment > 150/250/410 GHz > 80, 50, 80 detectors > > TES detectors built at Berkeley > rotates on a superconducting magnetic bearing > Read out using squid arrays (NIST) > Digital Frequency Domain Multiplexing (McGill) > Scan: constant Elevation > > _Calibration:_ > Absolute Calibration -> WMAP temperature maps > Main Beam adn near sidelobes: Jupiter scan. > Polarization Modulation Efficiency: blackbody source with wire-grid polarizer > > _Systematic Errors:_ > - Independent measurements of Q, U, T with each detector on each pixel (no differencing between diff detectors) > - Instrumental polarization from elements on teh detector side of the HWP are not modulated > don't affect sky signals


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.