;cpd.ini.sgp - Example full setup of instruments [Global] ;Full path to the cpd executable (based on CPD), used when restarting (or if it is PATH, just "cpd") CPDBin=/bin/cpd ;Full path to the state file (again $(CPD)this) CPDState=/etc/cpdstate ;Path to the binarys, must have the trailing / BaseBin=/bin/ ;Instruments to spawn, HEADING:binary ;Or pause:time ;First the instruments Instrument=CNC1:cnserial ;Instrument=CNC2:cnserial Instrument=NEPH1:neph Instrument=NEPH2:neph Instrument=UMAC1:umac ;Instrument=UMAC2:umac Instrument=LOVEPID1:lovepid ;Instrument=LOVEPID2:lovepid ;Instrument=RAWDATA:rawdatarec Instrument=CCN:ccn ;Can only be here if it is in serial mode Instrument=PSAP3:psap3 ;Now the controllers Instrument=pause:2.0 Instrument=LOVEPIDUMAC1:lovepidumac ;Instrument=LOVEPIDUMAC2:lovepidumac Instrument=pause:2.0 ;Must be here (after delay) if it is in analog mode (it uses the uMAC) Instrument=AEROSOL:aerosol ;Wait to let aerosol spawn (others use it) Instrument=pause:2.0 Instrument=HUMIDOGRAPH:humidograph ;Instrument=FILTER1:filter ;Wait for others to spawn, aeromon reads from filter Instrument=pause:2.0 Instrument=AEROMON:aeromon ;Full path to the serial server, if null, looks in the instrument bin dir for sersrv, if it cant open the file as a full pathname, prepends the bin dir to it, or just sersrv if it's in PATH) SerSrvBin=/aer/prg/cpd/bin/sersrv ;List of headings that designate spanchecks Spancheck=SPANCHECK ;List of uMACs, HEADING:id (id is hundreds digit on analog channels) uMAC=UMAC1:0 ;uMAC=UMAC2:1 uMAC=LOVEPIDUMAC1:2 ;uMAC=LOVEPIDUMAC2:3 ;Heading that other instruments will open to get aerosol data Aerosol=AEROSOL ;Heading instruments open filter as (to bypass mainly) ;Filter=FILTER1 ;Heading that cpx will use to get aeromon data Aeromon=AEROMON ;Password for the client to use ;ClientPassword=cmdl [Disk] ;Place to create log files, must have the trailing / LogDir=/aer/sgp/log/ ;Monitor file to use (gets the log timestamp appended) MonitorFile=CPDMON ;Time to rotate the files, hh:mm format LogRotateInterval=24:00 ;Do log rotation on the day boundary, regardless LogRotateOnDay=TRUE ;Interval to flush files, in minutes FlushInterval=15 ;First field after the timestamp (when writing records) StationID=SGP ;Maximum file size (more causes an auto-switch); in KB MaxFileSize=1024 ;Default for unspcified logging or "GLOBAL" GlobalLogging=TRUE ;Interval to calculate averages GlobalAvgInterval=1:00 ;Default interval for logging, if not specified or set to GLOBAL, mm:ss GlobalLogInterval=15:00 [SPANCHECK] ;List of nephs to check Neph=NEPH1 Neph=NEPH2 ;Time to measure CO2 on spancheck, mm:ss SpanCO2Time=5:00 ;Air SpanAirTime=10:00 ;Time to flush with CO2 SpanCO2FlushTime=7:00 ;With air SpanAirFlushTime=3:00 ;Name for the clients to use ClientName=Spancheck Humidograph=HUMIDOGRAPH Humidograph_SP=30.0, 0.0, 20.0, L [CNC1] ;Port description Port=/dev/ttyUSB8:9600E71 ;Printable name (used mainly for error printing) NiceName=CNC3010 ;Used to create status strings by the client ShortName=C ;Type (3010, 3010Polled, 3703, Pulse) CNType=3010Polled ;Are we logging? (initially, can be changed while running) IsLogging=GLOBAL ;Gets "_yyyymmdd_hhmm" appended to it, and used as the log out file LogBase=CNC001 ;Prepend this to all log entries LogPrepend= ;Interval between log entries, in mm:ss, or GLOBAL (to use to default) LogInterval=GLOBAL ;Flow (cc/s) Q_cnc_cc_s=16.732;100930/aj;16.43;090708;15.88;090112/aj;16.38;070607/PJS@SGP;13.667; 070601/aj ;Create ca_ records Run_Averages=TRUE ;Reference Neph serial number 1008 [NEPH1] ;Port description Port=/dev/ttyUSB0:9600E71 ;Printable name NiceName=TSI Neph-1:1047 ;Used to create status strings by the client ShortName=N ;Are we logging? (initially, can be changed while running) IsLogging=GLOBAL ;Gets "_yyyymmdd_hhmm" appended to it, and used as the log out file LogBase=NEPH01 ;Prepend this to all log entries LogPrepend= ;Interval between log entries, in mm:ss, or GLOBAL (to use to default) LogInterval=GLOBAL ;Strings to send during init, after all defaults InitStr=L1 InitStr=B255 ;Values to set SMZ=4 STA=1 STB=61 STP=30600 STZ=300 SMB=1 SP=75 ;Set lamp wattage to this on server exit SPexit=75 ;Times to zero check on, seconds into the hour ZeroAt=3418 ;Wavelengths Lambda_Green=550.0 Lambda_Red=700.0 ;Create na_ records Run_Averages=TRUE ;Wet Neph serial number 1045 [NEPH2] ;Port description Port=/dev/ttyUSB1:9600E71 ;Printable name NiceName=TSI Neph-2:1046 ;Used to create status strings by the client ShortName=O ;Are we logging? (initially, can be changed while running) IsLogging=GLOBAL ;Gets "_yyyymmdd_hhmm" appended to it, and used as the log out file LogBase=NEPH02 ;Prepend this to all log entries LogPrepend= ;Interval between log entries, in mm:ss, or GLOBAL (to use to default) LogInterval=GLOBAL ;Strings to send during init, after all defaults InitStr=L1 InitStr=B255 ;Values to set SMZ=4 STA=1 STB=61 STP=30600 STZ=300 SMB=1 SP=75 ;Set lamp wattage to this on server exit SPexit=75 ;Times to zero check on, seconds into the hour ZeroAt=3418 ;Wavelengths Lambda_Green=550.0 Lambda_Red=700.0 ;Create ca_ records Run_Averages=TRUE ;Aerosol rack uMAC [UMAC1] ;Port description Port=/dev/ttyUSB2:9600N81 ;Printable name NiceName=uMAC-1 ;Used to create status strings by the client ShortName=U ;Are we logging? (initially, can be changed while running) IsLogging=GLOBAL ;Gets "_yyyymmdd_hhmm" appended to it, and used as the log out file LogBase=UMAC01 ;Address on uMAC chain Addr=0 ;Number of analog input channels to use CountAIch=24 ;Digital channels CountDch=2 ;Minium digital channel MinDch=0 ;Intial values for the analog out channels InitAO=0.0,3.0 ;Intial value for digital channels, hex, 2 digits per channel, accending channel order, left to right InitDO=0000 ;Filter rack uMAC [UMAC2] ;Port description Port=/dev/ttyUSB6:9600N81 ;Printable name NiceName=uMAC-2 ;Used to create status strings by the client ShortName=V ;Are we logging? (initially, can be changed while running) IsLogging=GLOBAL ;Gets "_yyyymmdd_hhmm" appended to it, and used as the log out file LogBase=UMAC02 ;Address on uMAC chain Addr=0 ;Number of analog input channels to use CountAIch=24 ;Digital channels CountDch=2 ;Minium digital channel MinDch=0 ;Intial values for the analog out channels InitAO=0.0,3.0 ;Intial value for digital channels, hex, 2 digits per channel, accending channel order, left to right InitDO=0020 [AEROSOL] ;Show window initially DefaultShow=FALSE ;Printable name (used mainly for error printing) NiceName=Aerosol ;Used to create status strings by the client ShortName=A ;Are we logging? (initially, can be changed while running) IsLogging=GLOBAL ;Gets "_yyyymmdd_hhmm" appended to it, and used as the log out file LogBase=AEROSL ;Prepend this to all log entries LogPrepend= ;Interval between log entries, in mm:ss, or GLOBAL (to use to default) LogInterval=GLOBAL Average_On_Contam=TRUE;temporarily set this per derek email 8/15/2006/eja ;uMAC to use for digital out Dig_uMAC=0 ;DOT channel for the impactor Dig_Chan_AnalyzerImpactor=1 ;For the bypass Dig_Chan_Bypass=0 ;Reference neph to use, the heading RefNeph=NEPH1 ;Humidified neph WetNeph=NEPH2 ;CN counter to use field 5=CNC field 6=CNA CNA=CCN CNC=CNC1 ;Single-wavelength psap CLAP=CLAP ;3 wavelength PSAP PSAP3=PSAP3 ;Seconds to pause averaging after a valve change SecondsToFlush=35 ;Seconds to pause averaging at startup SecondsToSpinup=90 ;Use linear out for cn out CN_Out_Lin=FALSE ;Channel on uMAC to output to, -1 disables CN_uMAC_Chan=-1 ;MFC voltage at STP MFC_Set_V=3.000 ;MFC output channel, -1 disables MFC_uMAC_Chan=-1 ;Default cut to use DefaultCut=FINE ;Cutpoints, format is mm:ss(or just seconds), FINE/COARSE Cutpoint=00:00,COARSE Cutpoint=30:00,FINE ;uMAC channel assignments ;T&RH sensor pairs, -1 disables a channel ;Inlet sensor Chan_Inlet_T=8 Chan_Inlet_RH=200 ;Humido preheater Chan_HumidoPreheat_T=9 Chan_HumidoPreheat_RH=202 ;Humido controller Chan_HumidoControl_T=10 Chan_HumidoControl_RH=201 ;Ambient Chan_Ambient_T=-1 Chan_Ambient_RH=-1 ;Sample Chan_Sample_T=8 Chan_Sample_RH=200 ;Rack Chan_Rack_T=-1 Chan_Rack_RH=-1 ;Stack ;Chan_Stack_T=118 ;Chan_Stack_RH=302 ;Pumpbox Chan_Pumpbox_T=-1 Chan_Pumpbox_RH=1 ;Heater Chan_Heater_T=-1 Chan_Heater_RH=-1 ;uMAC internal sensor Chan_uMAC_T=60 ;dP sensors Chan_dP_Pitot=19 Chan_dP_Purge=-1 Chan_dP_NephImp=20 Chan_dP_Spare1=-1 Chan_dP_Spare2=21 ;Flowrate sensors Chan_Q_Filter=-1 Chan_Q_Analyzer=203 Chan_Q_Spare3=-1 Chan_Q_Spare4=-1 Chan_Q_Bypass=-1 Chan_Q_CNDrier=14 Chan_Q_CN=12 ;General Chan_Wind_S=-1 Chan_Wind_D=-1 Chan_P_ambient=-1 ;Calibration info ;For T&RH sensors Cal_RefInlet_T=-273.15,1.0 Cal_WetInlet_T=-273.15,1.0 Cal_Inlet_T=-39.97,99.6;090112/aj-40.0,100;070523/aj Cal_Inlet_RH=1.3595,1.0364;101007/aj;2.5359,0.9786;090107/aj;1.3074,1.0057;071023/aj;-0.7347,1.0251;070523/aj Cal_HumidoPreheat_T=-41.0634,103.21;090112/aj; -40,100;070523/aj Cal_HumidoPreheat_RH=-1.6597,0.9844;101007/aj;0.3195,0.9906;090107/aj;-0.5639,1.0039;070523/aj Cal_HumidoControl_T=-41.3061,104.46;090708/aj;-40.7936,102.23;090112/aj-40.0,100.0;070523/aj Cal_HumidoControl_RH=2.5774,1.0764;101007/aj;2.994,1.0543;090708/aj;1.7428,1.0909;090107/aj;2.3997,1.0552;071023/aj;1.907,1.0118;070523/aj Cal_Ambient_T=-40.0,100.0 Cal_Ambient_RH=0.0,1.0 Cal_Sample_T=-39.97,99.6;090112/aj-40.0,100.0;070523/aj Cal_Sample_RH=2.5359,0.9786;090107/aj;-0.7347,1.0251;070523/aj Cal_Rack_T=-40.0,100.0 Cal_Stack_T=-40.45,101.97;090112/aj;-40.0,100.0;070523/aj Cal_Stack_RH=0.4945,1.0731;090107/aj;-0.9028,1.0982;070523/aj Cal_Pumpbox_T=-40.0,100.0 Cal_uMAC_T=0.0,1.0 Cal_RefNeph_T=-273.15,1.0 Cal_RefNeph_RH=0.0,1.0 Cal_WetNeph_T=-273.15,1.0 Cal_WetNeph_RH=0.0,1.0;090112/aj-7.4591,1.1753;070523/aj ;dP sensors Cal_dP_Pitot=-0.855,17.149;090708/aj;-0.7739,14.148;090112/aj;-0.21,3.6; 060815/eja;-0.311,77.8 Cal_dP_Purge=0.0 Cal_dP_NephImp=-201.91,322.4;090112/aj;-202.98,326.47;070501/aj Cal_dP_Spare1=0.0 Cal_dP_Spare2=-195.68,320.16;090112/aj;-199.71,326.47;070501/aj ;Flowrate sensors Cal_Q_Filter=-0.5066,1.0162;070502/aj Cal_Q_Analyzer=0.9681,0.8343;100930/aj;0.1686,0.8244;090708/aj-0.0417,0.8016;090112/aj;-0.0876,0.9497;070502/aj Cal_Q_Spare3=30.0 Cal_Q_Spare4=30.0 Cal_Q_Bypass=30.0 Cal_Q_CNDrier=0.0671,1.9557;070502/aj Cal_Q_CN=-0.0281,0.3842;070502/aj ;General Cal_Wind_S=0.0,10.0 Cal_Wind_D=0.0,73.0;aligned to true N/jao Cal_P_ambient=1000.0,0.0 [HUMIDOGRAPH] ;Show window initially DefaultShow=FALSE ;Printable name (used mainly for error printing) NiceName=Humidograph ;Used to create status strings by the client ShortName=H ;Are we logging? (initially, can be changed while running) IsLogging=GLOBAL ;Gets "_yyyymmdd_hhmm" appended to it, and used as the log out file LogBase=HUMGR1 ;Prepend this to all log entries LogPrepend= ;Interval between log entries, in mm:ss, or GLOBAL (to use to default) LogInterval=GLOBAL ;LovePID DeviceChanAandB=lovepid LovePIDChanA=LOVEPID1:33:1 LovePIDChanB=LOVEPID1:32:1 ;uMAC channel for the pump Pump_uMAC_ch=0 ;uMAC to use for digital out Dig_uMAC=0 ;uMAC Channel for pumprange PumpRange_uMAC_ch=4 ;Stop scanning if aerosol Q_Analyzer is less than 10 lpm Q_Analyzer_Min=10.0 ;If false, do not do any setpoints Scanning=TRUE ;Initial (and default) setpoint ;ChanA,ChanB,ChanC,ChanD SP_init=50.0, 30.0, 25.0, L ;Set this on exit SP_idle=100.0, 0.0, 0.0, L ;Setpoints ;Time (either seconds, or mm:ss, both after the hour),ChanA,ChanB,ChanC,ChanD Setpoint=3:00, 38.0, 0.0, 30.0, L;measure at lowest RH Setpoint=06:00, 38.0, 30.0, 28.0, H;prime the pump, start humidifying Setpoint=08:00, 38.0, 45.0, 28.0, L Setpoint=10:00, 38.0, 50.0, 28.0, L Setpoint=12:00, 38.0, 56.0, 28.0, L Setpoint=14:00, 38.0, 61.0, 28.0, L Setpoint=16:00, 38.0, 64.0, 28.0, L Setpoint=18:00, 38.0, 67.0, 28.0, L Setpoint=20:00, 38.0, 70.0, 28.0, L Setpoint=22:00, 38.0, 72.0, 28.0, L Setpoint=24:00, 38.0, 74.0, 28.0, L Setpoint=26:00, 38.0, 76.0, 28.0, L Setpoint=27:00, 38.0, 77.0, 28.0, L Setpoint=28:00, 38.0, 78.0, 28.0, L Setpoint=29:00, 38.0, 79.0, 28.0, L Setpoint=30:00, 38.0, 79.0, 28.0, L Setpoint=31:00, 38.0, 78.0, 28.0, L Setpoint=32:00, 38.0, 77.0, 28.0, L Setpoint=34:00, 38.0, 76.0, 28.0, L Setpoint=36:00, 38.0, 74.0, 28.0, L Setpoint=38:00, 38.0, 72.0, 28.0, L Setpoint=40:00, 38.0, 69.0, 28.0, L Setpoint=42:00, 38.0, 65.0, 28.0, L Setpoint=44:00, 38.0, 61.0, 28.0, L Setpoint=46:00, 38.0, 56.0, 28.0, L Setpoint=48:00, 38.0, 51.0, 28.0, L Setpoint=50:00, 38.0, 45.0, 28.0, L Setpoint=52:00, 38.0, 40.0, 28.0, L Setpoint=53:00, 38.0, 30.0, 28.0, L Setpoint=57:00, 38.0, 00.0, 28.0, L;start neph zero check Setpoint=58:00, 38.0, 00.0, 28.0, L; [FILTER1] ;Show window initially DefaultShow=FALSE ;Printable name (used mainly for error printing) NiceName=Filter-1 ;Used to create status strings by the client ShortName=F ;Are we logging? (initially, can be changed while running) IsLogging=GLOBAL ;Gets "_yyyymmdd_hhmm" appended to it, and used as the log out file LogBase=FILTER01 ;Interval between log entries, in mm:ss, or GLOBAL (to use to default) LogInterval=GLOBAL ;Neph to use, for temp+pressure Neph=NEPH1 ;Filter ID number FilterID=0 ;uMAC to use for digital output Dig_uMAC=1 ;Channel to control the bypass uMAC_ChanBypass=12 ;uMAC digital channels for filter control uMAC_Chan_F1=4 uMAC_Chan_F2=5 uMAC_Chan_F3=6 uMAC_Chan_F4=7 uMAC_Chan_F5=8 uMAC_Chan_F6=9 uMAC_Chan_F7=10 uMAC_Chan_F8=11 ;uMAC analog inputs uMAC_Chan_T_Rack=117 uMAC_Chan_T_Sample=116 uMAC_Chan_RH_Sample=300 uMAC_Chan_Q_Filter=303 ;uMAC channels for dP sensors across filters uMAC_Chan_dp_F1=108 uMAC_Chan_dp_F2=109 uMAC_Chan_dp_F3=110 uMAC_Chan_dp_F4=111 uMAC_Chan_dp_F5=112 uMAC_Chan_dp_F6=113 uMAC_Chan_dp_F7=114 uMAC_Chan_dp_F8=115 ;uMAC analog out channel to use for MFC uMAC_ChanMFC=-1 ;Hours to use each filter for HoursEachFilter=24 ;Hour to start sampling, hours after midnight StartHour=0 ;Seconds to pull air though blank before sampling SecondsOnBlank=10 ;Voltage to set, at STP MFC_SetQ=3.0 DisableRackHeaters=TRUE ;Rack heat, watts RackHeat=50 ;uMAC channel for the 25 watt heater uMAC_Chan_25w_Heater=-1 ;uMAC channels for the two 50 watt heaters uMAC_Chan_50w_Heaters=-1,-1; added second -1 per dereks email 081606 eja ;Calibration for the dp sensors Cal_dp_F1=-235.22,320.73;070430/aj Cal_dp_F2=-236.88,317.46;070430/aj Cal_dp_F3=-231.66,319.52;070430/aj Cal_dp_F4=-226.09,317.46;070430/aj Cal_dp_F5=-225.7,319.52;070430/aj Cal_dp_F6=-235.5,319.52;070430/aj Cal_dp_F7=-230.73,320.73;070430/aj Cal_dp_F8=-230.69,319.16;070430/aj Cal_Q_Filter=-0.5066,1.0162;070502/aj ;Cal_MFC_Out=0.0,1.0 Cal_T_Rack=-40.,100. Cal_T_Sample=-40.,100. Cal_RH_Sample=0.0,1.0 [AEROMON] ;Show window initially DefaultShow=FALSE ;Printable name (used mainly for error printing) NiceName=Aerosol Contamination ;Used to create status strings by the client ShortName=M ;Are we logging? (initially, can be changed while running) IsLogging=GLOBAL ;Gets "_yyyymmdd_hhmm" appended to it, and used as the log out file LogBase=AERMON ;Prepend this to all log entries LogPrepend= ;Interval between log entries, in mm:ss, or GLOBAL (to use to default) LogInterval=GLOBAL ;CN counter to use for contamination control ;CNC=CNC1 ;Filter, used to log its dP sensors ;Filter=FILTER1 ;Maximum dP across the Neph impactor, -1.0 disables Max_NephImp_dP=100.0 ;CNC contamination control ;CNC>this is always contaminated CNCC_Dirty=80000.0 ;CNC