The acquisition variable in the CONFIGURATION archive controls the realtime acquisition system.

This document lists some specific examples of how to configure the acquisition system and its components. In most cases, these examples can be combined together to form the complete configuration. However, the main reference should also bee used to understand how they interact with each other.

Minimal Acquisition System

In some cases, no configuration may be required at all. That is, if the acquisition system does not need fixed instruments or doesn’t need them to be assigned fixed identifiers, the entirely automatic auto-configuration can be used.

However, in most cases a minimal configuration is required. This provides a basic definition of the instruments connected to the system. The below example only contains a single instrument, but it can be extended to others by changing the unique identifier (the MCPC below).

/aerosol/Autoprobe/DisableDefaultComponents,TRUE (1)
/aerosol/Components/MCPC/Instrument,"N61" (2)
/aerosol/Components/MCPC/Name,"acquire_bmi_cpc1720" (3)
1 This line disables the default components involved in auto-detection. This means that only components explicitly listed will be considered, so all possible instruments on the system must also be defined.
2 This line sets the instrument code explicitly. Since all instruments are going to be defined, it makes sense to also set their instrument codes to fixed identifiers.
3 The final line sets the internal component name the instrument is using. Since the default component are disabled, an explicitly listed component is required. This component controls how the the system interacts over the serial port.

Manual Serial Number

For many instruments, the serial number and instrument identification can be read automatically. When it cannot be, it must then be specified manually. The most common example of this is the TSI 3563 Nephelometer, which is used as the below example.

/aerosol/Autoprobe/DisableDefaultComponents,TRUE
/aerosol/Components/Neph/Name,"acquire_tsi_neph3563"
/aerosol/Components/Neph/Source/SerialNumber,1087 (1)
1 This line sets the serial number added to all metadata generated by the component. Though text is allowed, if possible integer numbers are preferred, stripping out the boilerplate parts of the serial number that are constant between all instruments.

Manual Metadata

In some cases it makes sense to track additional metadata for variables generated by an instrument. The below case shows how to add metadata for a specific variable.

/aerosol/Components/CPC/Flow,1.5396 (1)
/aerosol/Components/CPC/Groups,|cpc (2)
/aerosol/Components/CPC/Instrument,"N61"
/aerosol/Components/CPC/MenuCharacter,"C" (3)
/aerosol/Components/CPC/Name,"acquire_gmd_cpcpulse"
/aerosol/Components/CPC/Source/Manufacturer,"TSI" (4)
/aerosol/Components/CPC/Source/Model,"3760"
/aerosol/Components/CPC/Source/SerialNumber,327
/aerosol/Components/CPC/VariableMetadata/N_.*/*dNoteFlow,"150123/PJS@GMD" (5)
1 Here an instrument specific parameter is set. In this case, this is the flow rate in LPM used to convert the count rate into a number concentration.
2 This line assigns the instrument to specific groups for control, which comes up later when the system needs to control different sets of instruments. For now, in this simple configuration, this does nothing.
3 This line sets a menu character for the instrument. This is the hot key on the realtime display menus, this can normally be left absent unless there are multiple instances of the same class of instrument. In that scenario it is often a good idea to specify so they get assigned to fixed constant ones.
4 As above, these lines set instrument specific metadata attached to all variables. In this case, the manufacturer and model are required, because the source component is a generic one not tied to a specific model of instrument.
5 Finally, the actual metadata specific line. The N_.* is the regular expression matching the variables to apply to. In this case, it matches anything starting with N_ meaning the concentration generated. The *dNoteFlow specifies the actual metadata path. Here it is a the key NoteFlow specific to real values.

Matched Metadata

Instruments that report disambiguation metadata can be used with a match entry to restrict the component to only apply to a specific physical instance. The common case for this is if a calibration is set in the configuration that should only be written to a specific instance of an instrument.

/aerosol/Components/CLAP/Area/#0,19.74
/aerosol/Components/CLAP/Area/#1,19.71
/aerosol/Components/CLAP/Area/#2,20.05
/aerosol/Components/CLAP/Area/#3,19.25
/aerosol/Components/CLAP/Area/#4,19.76
/aerosol/Components/CLAP/Area/#5,19.65
/aerosol/Components/CLAP/Area/#6,19.47
/aerosol/Components/CLAP/Area/#7,19.88
/aerosol/Components/CLAP/FlowScale,1.0
/aerosol/Components/CLAP/Groups,sample|spancheck (1)
/aerosol/Components/CLAP/HardwareFlowCalibration/#0,-0.13997
/aerosol/Components/CLAP/HardwareFlowCalibration/#1,0.0717
/aerosol/Components/CLAP/HardwareFlowCalibration/#2,0.04249
/aerosol/Components/CLAP/HardwareFlowCalibration/#3,0.01586
/aerosol/Components/CLAP/Instrument,"A11"
/aerosol/Components/CLAP/Match/SerialNumber,9 (2)
/aerosol/Components/CLAP/Name,"acquire_gmd_clap3w"
/aerosol/Components/CLAP/VariableMetadata/Q_.*/*dNoteCalibration,"10.009#2015-03-20/PJS@BND"
/aerosol/Components/CLAP/VariableMetadata/Q_.*/*dNoteScale,"10.009#2015-03-20/PJS@BND"
1 This line assigned the instrument to multiple control groups. Anything affecting either control group also affects this instrument.
2 This line sets the match required. The component will not be instantiated if it fails to match. The data here must match the generated metadata exactly (see the "Source" section of generated variables). Only the given keys here are required to exist and match, any additional ones in the metadata are ignored.

Fixed Control Interface

When an instrument cannot be auto-detected or disambiguated from another instance of it, a fixed interface can be used. This allows you to set the specific serial port the instrument is connected to, for example. However, this should be avoided, if possible, because it limits the ability of the system to compensate for unreliable hardware.

/aerosol/Autoprobe/DisableDefaultConfiguration,TRUE (1)
/aerosol/Autoprobe/DisableDefaultInterfaces,TRUE (2)
/aerosol/Components/N17/Instrument,"N17"
/aerosol/Components/N17/Interface/Port,"/dev/ttyUSB6" (3)
/aerosol/Components/N17/Interface/Type,"SerialPort" (4)
1 This example also demonstrates how to define instruments that are allowed to match multiple possible types. This line tells the system to only use the defined configurations of instruments, rather than allowing the default configured ones as well.
2 This line tells the system not to use any of the default system detected interfaces (serial ports). When only a part of the configuration is using fixed interfaces, this line must be omitted.
3 This line sets the port for the N17 instrument to /dev/ttyUSB6 (the seventh USB to serial port converter, on Linux).
4 This line sets the type of communications interface in use.

Generic Conversion

Some types of instruments do not automatically define variables for all their inputs. For example, all the forms of generic analog to digital converters. These instruments require definitions of the variables they generate from their raw sampling channels.

/aerosol/Components/uMAC/DigitalOutputs/DisableBypassValve,0 (1)
/aerosol/Components/uMAC/DigitalOutputs/PM1Impactor,1
/aerosol/Components/uMAC/Bypass/Digital/DisableBypassValve,FALSE (2)
/aerosol/Components/uMAC/Exit/Digital/DisableBypassValve,FALSE
/aerosol/Components/uMAC/Initialize/Digital/DisableBypassValve,TRUE
/aerosol/Components/uMAC/Groups,control|spancheck
/aerosol/Components/uMAC/Instrument,"X1"
/aerosol/Components/uMAC/Name,"acquire_azonix_umac1050"
/aerosol/Components/uMAC/UnBypass/Digital/DisableBypassValve,TRUE
/aerosol/Components/uMAC/VariableGroups/#0/Groups,|sample (3)
/aerosol/Components/uMAC/VariableGroups/#0/Variable,"T_V11"
/aerosol/Components/uMAC/VariableGroups/#1/Groups,|sample
/aerosol/Components/uMAC/VariableGroups/#1/Variable,"Pd_P11"
/aerosol/Components/uMAC/VariableGroups/#4/Groups,|control
/aerosol/Components/uMAC/VariableGroups/#4/Variable,"(T|(Pd?)|U|Q)_(T|P|V|Q)[560][0-9]"
/aerosol/Components/uMAC/Variables/Pd_P01/Channel,19 (4)
/aerosol/Components/uMAC/Variables/Pd_P01/Calibration/#0,-0.8193 (5)
/aerosol/Components/uMAC/Variables/Pd_P01/Calibration/#1,4.1192
/aerosol/Components/uMAC/Variables/Pd_P01/Metadata/*dDescription,"Stack pitot tube" (6)
/aerosol/Components/uMAC/Variables/Pd_P01/Metadata/*dFormat,"00.000"
/aerosol/Components/uMAC/Variables/Pd_P01/Metadata/*dGroupUnits,"dhPa"
/aerosol/Components/uMAC/Variables/Pd_P01/Metadata/*dNoteCalibration,"121014/PJS@BND#-0.743;4.012"
/aerosol/Components/uMAC/Variables/Pd_P01/Metadata/*dUnits,"hPa"
/aerosol/Components/uMAC/Variables/Pd_P11/Calibration/#0,-209.15
/aerosol/Components/uMAC/Variables/Pd_P11/Calibration/#1,338.15
/aerosol/Components/uMAC/Variables/Pd_P11/Channel,21
/aerosol/Components/uMAC/Variables/Pd_P11/Metadata/*dDescription,"Impactor pressure drop"
/aerosol/Components/uMAC/Variables/Pd_P11/Metadata/*dGroupUnits,"dhPa"
/aerosol/Components/uMAC/Variables/Pd_P11/Metadata/*dNoteCalibration,"#150318/PJS@BND#-210.64;338.82#121014/PJS@BND#-203.6;332.13#110808/PJS@BND#-202.71;325.15#101201/PJS@BND#-212.02;333.33"
/aerosol/Components/uMAC/Variables/Pd_P11/Metadata/*dUnits,"hPa"
1 In additional to pure analog inputs, the μMAC provides a number of digital outputs. This line defines channel zero with the name DisableBypassValve. That name can then be used by various control processes to manipulate the associated digital channel, without requiring them to know the exact assignment.
2 Once a digital channel has been defined, the μMAC is also capable of controlling it on its own for some simple conditions. This line indicates that the channel should be set to low when the system enters into bypass mode.
3 Control groups for variables determine how they are averaged and cut split. Any instrument can assign its resulting variables to different control groups (they default to the instrument global ones). However, this is normally only required for generic ones that may span different parts of the system. In this example, the μMAC itself is not part of the sample control group, which is what normally determines the cut size. Since the T_V11 variable is split by cut size, it must be placed into that control group so the system size selection applies to it
4 This line defines the variable Pd_P01 attached to analog input channel number 19.
5 Since the μMAC reads its inputs in raw voltages, a calibration is required to convert to physical units.
6 These lines set the base metadata for the specific variable. Generic defined variables should provide the basic set of metadata to describe the variable to the system.

Simple Scheduling

When a continuously cycling schedule is required, the control_cycle component is used to define a set of actions executed at various points within the greater interval. This example is a simple hourly zero.

/aerosol/Components/ZeroSchedule/Actions/#0/Unit,"second" (1)
/aerosol/Components/ZeroSchedule/Actions/#0/Count,3418
/aerosol/Components/ZeroSchedule/Actions/#0/Aligned,TRUE
/aerosol/Components/ZeroSchedule/Actions/#0/Commands/StartZero,TRUE (2)
/aerosol/Components/ZeroSchedule/Actions/#0/Description,"System Zero" (3)
/aerosol/Components/ZeroSchedule/Fixed,TRUE (4)
/aerosol/Components/ZeroSchedule/Groups,|sample
/aerosol/Components/ZeroSchedule/MenuCharacter,""
/aerosol/Components/ZeroSchedule/MenuEntry,"Zero Schedule" (5)
/aerosol/Components/ZeroSchedule/Name,"control_cycle"
1 Every entry within the action list is a based off a time interval definition. So, these lines define the point within the total time period to execute the action at. The total time interval defaults to one hour aligned, so this action is executed at 3418 seconds after the hour.
2 The action then contains the various operations it performs on execution. Here, the only action is to set the StartZero command to all instruments matching the output control groups. Since the schedule itself belongs to the sample control group, only other instruments also in that group receive the command.
3 This line sets a human readable description of the action. This is used to generate menu entries and in other locations where the automatically generated one is not clear.
4 This line tells the acquisition system to always create the component and to ignore all auto-detection. Since control components cannot be auto-detected, this is required for all of them.
5 This line sets the menu entry and window title for the controller.

Simple Triggering

To generate actions based on if a trigger condition is met, the control_trigger component is used. This example bypasses the system when the the impactor pressure exceeds a threshold then requires manual user interaction before un-bypassing.

/aerosol/Components/BypassFailsafe/Actions/#0/Bypass,Bypass|ImpactorPressureTooHigh (1)
/aerosol/Components/BypassFailsafe/Actions/#0/Continuous,TRUE (2)
/aerosol/Components/BypassFailsafe/Actions/#0/Dependencies/Acquire,|ImpactorPressureBypass (3)
/aerosol/Components/BypassFailsafe/Actions/#0/Dependencies/Hold,30.0 (4)
/aerosol/Components/BypassFailsafe/Actions/#0/Event,"Pressure across the impactor is too high.  System bypassed.  Please check the manual ball valve." (5)
/aerosol/Components/BypassFailsafe/Actions/#0/EventRealtime,TRUE (6)
/aerosol/Components/BypassFailsafe/Actions/#0/Triggers/#0/Input,"rt_instant:Pd_P11" (7)
/aerosol/Components/BypassFailsafe/Actions/#0/Triggers/#0/Threshold,100.0 (8)
/aerosol/Components/BypassFailsafe/Actions/#0/Triggers/#0/Type,"Threshold"
/aerosol/Components/BypassFailsafe/Actions/#1/ClearBypass,|ImpactorPressureTooHigh
/aerosol/Components/BypassFailsafe/Actions/#1/Dependencies/Release,|ImpactorPressureBypass (9)
/aerosol/Components/BypassFailsafe/Actions/#1/Event,"Pressure across the impactor returned to normal.  The system lock has been released but a manual release is required before sampling resumes."
/aerosol/Components/BypassFailsafe/Actions/#1/EventRealtime,TRUE
/aerosol/Components/BypassFailsafe/Actions/#1/Triggers/#0/Input,"rt_instant:Pd_P11"
/aerosol/Components/BypassFailsafe/Actions/#1/Triggers/#0/Operation,"Less"
/aerosol/Components/BypassFailsafe/Actions/#1/Triggers/#0/Require,|ImpactorPressureBypass (10)
/aerosol/Components/BypassFailsafe/Actions/#1/Triggers/#0/Threshold,90.0
/aerosol/Components/BypassFailsafe/Actions/#1/Triggers/#0/Type,"Threshold"
/aerosol/Components/BypassFailsafe/Fixed,TRUE
/aerosol/Components/BypassFailsafe/Groups,control|sample
/aerosol/Components/BypassFailsafe/MenuCharacter,""
/aerosol/Components/BypassFailsafe/MenuEntry,"Bypass Failsafe"
/aerosol/Components/BypassFailsafe/Name,"control_trigger"
1 This line indicates that the action bypasses the system. Here two bypass flags are used, the first Bypass is a global indicator that is normally only control by user interaction. The second is flag that is released by the second action when the pressure returns to normal.
2 This line indicates that the action should continue to execute as long as the trigger is met, instead of only once when it is first met. Here this is used to ensure the system stays bypassed until the pressure is normal again.
3 This line defines a dependency tag that the action sets when it executed. Dependency tags are used by actions to allow for some of them to only execute after another has run.
4 The dependency hold line indicates to the controller that all the dependencies of the action should be considered in limbo for 30 seconds even after the pressure drops below 100. This ensures that the bypass is always held for at least 30 seconds.
5 This line sets the message logged by the system when the action first executes.
6 This line indicates that the message is considered of realtime importance and is shown to the user by default.
7 Each action has one or more triggers that control its execution. Here the input to the trigger is set to the variable Pd_P11 from the rt_instant archive. This indicates the impactor pressure from the instantaneous (un-averaged) feed.
8 This line sets the threshold used by the trigger.
9 This line indicates that once the action is executed (the pressure returns to normal), the dependency tag should be released. This means that any actions that depend on that tag will not execute again until it is set. For this context, this prevents the execution of the "return to normal" action until after the "abnormal" one has executed again.
10 Each trigger may also require dependency tags. Here this is used to make sure the action does not execute until after the pressure has gone abnormal.

To handle volume accumulation of a sampling carousel, the control_accumulate component is used. This example is the standard chemical filter sampling carousel at Barrow.

/aerosol/Components/FilterAccumulator/Accumulators/#0/Metadata/*dDescription,"Filter bypass volume"
/aerosol/Components/FilterAccumulator/Accumulators/#0/Metadata/*dReportP,1013.25
/aerosol/Components/FilterAccumulator/Accumulators/#0/Metadata/*dReportT,0.0
/aerosol/Components/FilterAccumulator/Accumulators/#0/Metadata/*dUnits,"m³"
/aerosol/Components/FilterAccumulator/Accumulators/#0/Name,"Qt0" (1)
/aerosol/Components/FilterAccumulator/Accumulators/#0/Rate/Input,"Q_Q21" (2)
/aerosol/Components/FilterAccumulator/Accumulators/#0/Rate/Calibration/#0,0.0
/aerosol/Components/FilterAccumulator/Accumulators/#0/Rate/Calibration/#1,1.66667e-05

...

/aerosol/Components/FilterAccumulator/Accumulators/#8/Activate/InstrumentCommands/X3/SetDigital/FilterValve8,TRUE (3)
/aerosol/Components/FilterAccumulator/Accumulators/#8/Deactivate/InstrumentCommands/X3/SetDigital/FilterValve8,FALSE
/aerosol/Components/FilterAccumulator/Accumulators/#8/Name,"Qt8"
/aerosol/Components/FilterAccumulator/Accumulators/#8/Rate/Calibration/#0,0.0
/aerosol/Components/FilterAccumulator/Accumulators/#8/Rate/Calibration/#1,1.66667e-05
/aerosol/Components/FilterAccumulator/Accumulators/#8/Rate/Input,"Q_Q21"
/aerosol/Components/FilterAccumulator/Advance/Unit,"Day" (4)
/aerosol/Components/FilterAccumulator/Advance/Count,1
/aerosol/Components/FilterAccumulator/Advance/Align,TRUE
/aerosol/Components/FilterAccumulator/BlankIndex,1 (5)
/aerosol/Components/FilterAccumulator/BlankTime/Unit,"Second" (6)
/aerosol/Components/FilterAccumulator/BlankTime/Count,10
/aerosol/Components/FilterAccumulator/BypassIndex,0 (7)
/aerosol/Components/FilterAccumulator/BypassOnEnd,TRUE (8)
/aerosol/Components/FilterAccumulator/BypassWhileChanging,TRUE (9)
/aerosol/Components/FilterAccumulator/Fixed,TRUE
/aerosol/Components/FilterAccumulator/Groups,|filter
/aerosol/Components/FilterAccumulator/Instrument,"F21"
/aerosol/Components/FilterAccumulator/MenuCharacter,""
/aerosol/Components/FilterAccumulator/MenuEntry,"Filter Accumulation Control"
/aerosol/Components/FilterAccumulator/MenuHide,TRUE
/aerosol/Components/FilterAccumulator/Name,"control_accumulate"
/aerosol/Components/FilterAccumulator/OutputGroups,|filterbypass (10)
/aerosol/Components/FilterAccumulator/StartIndex,2 (11)
1 As with generic input variables, accumulator variables require a general name. Since they are defined as an array, they cannot derive their name from the definition path, so an explict one is required.
2 Every accumulation variable requires an input defining the rate in units/second to add to it. Here the input comes from the flow Q_Q21 with a calibration to convert from LPM to m³/s, which is then integrated into just m³.
3 Each accumulator bin can define operations taken when the bin is activated or deactivated. In general, these should be the actions required to start and stop the accumulation through the bin. Here, the commands open and close the specific valve associated with the filter on the rack.
4 The time between accumulator advances. That is, the time to sample each accumulator before moving to the next one.
5 The accumulation bin to blank on, before starting the normal sampling rotation.
6 The time to blank before starting sampling.
7 The index to switch to when the system enters into bypass mode.
8 This line indicates that the accumulator should put the system into bypass when all accumulators are done sampling.
9 Similarly, this line indicates that the system should be bypassed when changing the accumulator.
10 This line sets the output control groups that the component sends to by default. In this example, this means that bypass flag set on carousel completion is only sent to the filterbypass group rather than the default filter. This is used to prevent the entire control group from bypassing when the filter completes.
11 This line sets the initial sampling index, when not blanking or bypassed.

Generic Input

For some simple instruments that only output fixed records without any need for control, it is sometimes possible to use the acquire_generic_passive component to interpret their data. The below example is the usage of the realtime wind feed at Barrow.

/aerosol/Components/RealtimeWind/AllowUnmatchedLines,TRUE (1)
/aerosol/Components/RealtimeWind/Fixed,TRUE
/aerosol/Components/RealtimeWind/Instrument,"XM2"
/aerosol/Components/RealtimeWind/InstrumentMetadata/Manufacturer,"GMD"
/aerosol/Components/RealtimeWind/Interface/Baud,1200
/aerosol/Components/RealtimeWind/Interface/Port,"/dev/ttyUSB14"
/aerosol/Components/RealtimeWind/Interface/Type,"SerialPort"
/aerosol/Components/RealtimeWind/MenuCharacter,"W"
/aerosol/Components/RealtimeWind/MenuEntry,"NOAA Windbird"
/aerosol/Components/RealtimeWind/Name,"acquire_generic_passive"
/aerosol/Components/RealtimeWind/Records/#0/Match,"\\s*\\d+.*" (2)
/aerosol/Components/RealtimeWind/Records/#0/Variables/WD/Calibration/#0,-180
/aerosol/Components/RealtimeWind/Records/#0/Variables/WD/Calibration/#1,1.0
/aerosol/Components/RealtimeWind/Records/#0/Variables/WD/Fields/#0,1 (3)
/aerosol/Components/RealtimeWind/Records/#0/Variables/WD/Metadata/*dDescription,"Wind direction from true north"
/aerosol/Components/RealtimeWind/Records/#0/Variables/WD/Metadata/*dFormat,"000.0"
/aerosol/Components/RealtimeWind/Records/#0/Variables/WD/Metadata/*dSmoothing/Mode,"Vector2D"
/aerosol/Components/RealtimeWind/Records/#0/Variables/WD/Metadata/*dSmoothing/Parameters/Direction,"WD"
/aerosol/Components/RealtimeWind/Records/#0/Variables/WD/Metadata/*dSmoothing/Parameters/Magnitude,"WS"
/aerosol/Components/RealtimeWind/Records/#0/Variables/WD/Metadata/*dUnits,"degrees"
/aerosol/Components/RealtimeWind/Records/#0/Variables/WS/Fields/#0,2
/aerosol/Components/RealtimeWind/Records/#0/Variables/WS/MaximumAge,30.0 (4)
/aerosol/Components/RealtimeWind/Records/#0/Variables/WS/Metadata/*dDescription,"Wind speed"
/aerosol/Components/RealtimeWind/Records/#0/Variables/WS/Metadata/*dFormat,"00.0"
/aerosol/Components/RealtimeWind/Records/#0/Variables/WS/Metadata/*dSmoothing/Mode,"Vector2D"
/aerosol/Components/RealtimeWind/Records/#0/Variables/WS/Metadata/*dSmoothing/Parameters/Direction,"WD"
/aerosol/Components/RealtimeWind/Records/#0/Variables/WS/Metadata/*dSmoothing/Parameters/Magnitude,"WS"
/aerosol/Components/RealtimeWind/Records/#0/Variables/WS/Metadata/*dUnits,"m/s"
/aerosol/Components/RealtimeWind/Timeout,30.0 (5)
1 This line allows the generic component to accept lines not matching any defined record without dropping communications.
2 This line sets the match pattern for the defined record. This is a regular expression that must match the whole line for the record to be accepted. Here it simply looks for any line starting wti a number.
3 As with generic definitions above, the component requires definitions of each output variable as a function of fields (CSV by default) in the record.
4 This line sets the maximum time between defined values before a gap in this variable is generated. This is required here because the realtime feed sometimes omits this field. So rather than having multiple gaps in a minute, this allows the gap to simply continue with the last known value.
5 This line sets the total timeout with no recognized records before communications are dropped.

Realtime Export

The system also provides a simple component that can be used to generate basic output files directly from the realtime data stream. This is normally used to provide data to an alternate acquisition system as it is acquired. The most basic usage of this is simply generating a CSV file with a few columns written to a local disk. The below example is the output used at UGR to provide a feed to their existing plotting system.

/aerosol/Components/RealtimeDataFile/Columns/#0/TimeFormat,"yyyy-dd-MM hh:mm" (1)
/aerosol/Components/RealtimeDataFile/Columns/#0/Type,"Time"
/aerosol/Components/RealtimeDataFile/Columns/#1/Calibration/#0,0.0
/aerosol/Components/RealtimeDataFile/Columns/#1/Calibration/#1,0.333333
/aerosol/Components/RealtimeDataFile/Columns/#1/Format,"0000.0"
/aerosol/Components/RealtimeDataFile/Columns/#1/Input/Variable,"BsG_S11" (2)
/aerosol/Components/RealtimeDataFile/Columns/#1/MVC,"9999.9"
/aerosol/Components/RealtimeDataFile/Columns/#1/Type,"Value"
/aerosol/Components/RealtimeDataFile/Columns/#2/Format,"0000.0"
/aerosol/Components/RealtimeDataFile/Columns/#2/Input/Variable,"XR_A31" (3)
/aerosol/Components/RealtimeDataFile/Columns/#2/MVC,"9999.9"
/aerosol/Components/RealtimeDataFile/Columns/#2/Type,"Value"
/aerosol/Components/RealtimeDataFile/Command,"curl -u XXXX:YYYY -T ${FILE} -m 30 -s --ftp-pasv --disable-epsv --ftp-create-dirs ftp://some.ftp.server.edu/pm_ebc/${TIME|FORMAT|yyyyddMM}.csv" (4)
/aerosol/Components/RealtimeDataFile/Duration/Count,1 (5)
/aerosol/Components/RealtimeDataFile/Duration/Unit,"Day"
/aerosol/Components/RealtimeDataFile/Duration/Align,TRUE
/aerosol/Components/RealtimeDataFile/Fixed,TRUE
/aerosol/Components/RealtimeDataFile/Header,FALSE (6)
/aerosol/Components/RealtimeDataFile/LoadArchived,TRUE (7)
/aerosol/Components/RealtimeDataFile/MenuCharacter,""
/aerosol/Components/RealtimeDataFile/MenuEntry,"Realtime Data Uploader"
/aerosol/Components/RealtimeDataFile/MenuHide,TRUE (8)
/aerosol/Components/RealtimeDataFile/Name,"control_export"
1 The first column is a simple time formatted column.
2 The second column is the nephelometer green scattering, scaled by 1/3 (to a mass concentration).
3 The third column is the EBC from the MAAP.
4 This is a command run every time the export file is updated. This instance uploads the file to a FTP server, using the username "XXXX" and the password "YYYY".
5 This sets the total duration of the export file, back from the latest received value.
6 This line disables the header of the file.
7 This line indicates to the system to load the existing data from the archive on start up. Without this, only new realtime data are exported.
8 This line hides the menu entry for the component. Since this component accepts no commands and produces no data, this is often desirable.

Full System

This example is of a full acquisition system and combines many of the above components into a final complete system.

/aerosol/Autoprobe/DisableDefaultComponents,TRUE
/aerosol/Components/BypassFailsafe/Actions/#0/Bypass,Bypass|ImpactorPressureTooHigh
/aerosol/Components/BypassFailsafe/Actions/#0/Continuous,TRUE
/aerosol/Components/BypassFailsafe/Actions/#0/Dependencies/Acquire,|ImpactorPressureBypass
/aerosol/Components/BypassFailsafe/Actions/#0/Dependencies/Hold,30.0
/aerosol/Components/BypassFailsafe/Actions/#0/Event,"Pressure across the impactor is too high.  System bypassed.  Please check the manual ball valve."
/aerosol/Components/BypassFailsafe/Actions/#0/EventRealtime,TRUE
/aerosol/Components/BypassFailsafe/Actions/#0/Triggers/#0/Input,"rt_instant:Pd_P11"
/aerosol/Components/BypassFailsafe/Actions/#0/Triggers/#0/Threshold,100.0
/aerosol/Components/BypassFailsafe/Actions/#0/Triggers/#0/Type,"Threshold"
/aerosol/Components/BypassFailsafe/Actions/#1/ClearBypass,|ImpactorPressureTooHigh
/aerosol/Components/BypassFailsafe/Actions/#1/Dependencies/Release,|ImpactorPressureBypass
/aerosol/Components/BypassFailsafe/Actions/#1/Event,"Pressure across the impactor returned to normal.  The system lock has been released but a manual release is required before sampling resumes."
/aerosol/Components/BypassFailsafe/Actions/#1/EventRealtime,TRUE
/aerosol/Components/BypassFailsafe/Actions/#1/Triggers/#0/Input,"rt_instant:Pd_P11"
/aerosol/Components/BypassFailsafe/Actions/#1/Triggers/#0/Operation,"Less"
/aerosol/Components/BypassFailsafe/Actions/#1/Triggers/#0/Require,|ImpactorPressureBypass
/aerosol/Components/BypassFailsafe/Actions/#1/Triggers/#0/Threshold,90.0
/aerosol/Components/BypassFailsafe/Actions/#1/Triggers/#0/Type,"Threshold"
/aerosol/Components/BypassFailsafe/Fixed,TRUE
/aerosol/Components/BypassFailsafe/Groups,control|sample
/aerosol/Components/BypassFailsafe/MenuCharacter,""
/aerosol/Components/BypassFailsafe/MenuEntry,"Bypass Failsafe"
/aerosol/Components/BypassFailsafe/Name,"control_trigger"
/aerosol/Components/CLAP/Area/#0,19.86
/aerosol/Components/CLAP/Area/#1,19.75
/aerosol/Components/CLAP/Area/#2,19.86
/aerosol/Components/CLAP/Area/#3,19.88
/aerosol/Components/CLAP/Area/#4,20.05
/aerosol/Components/CLAP/Area/#5,20.27
/aerosol/Components/CLAP/Area/#6,20.45
/aerosol/Components/CLAP/Area/#7,20.36
/aerosol/Components/CLAP/FlowScale,0.99
/aerosol/Components/CLAP/Groups,sample|spancheck
/aerosol/Components/CLAP/HardwareFlowCalibration/#0,-2.3739
/aerosol/Components/CLAP/HardwareFlowCalibration/#1,0.9981
/aerosol/Components/CLAP/HardwareFlowCalibration/#2,0.0
/aerosol/Components/CLAP/HardwareFlowCalibration/#3,0.0
/aerosol/Components/CLAP/Instrument,"A11"
/aerosol/Components/CLAP/Match/SerialNumber,19
/aerosol/Components/CLAP/Name,"acquire_gmd_clap3w"
/aerosol/Components/CLAP/VariableMetadata/Q_.*/*dNoteCalibration,"10.019#2016-02-19/EJA@THD;10.019#2012-02-28/PJS@GMD"
/aerosol/Components/CLAP/VariableMetadata/Q_.*/*dNoteScale,"10.019#2012-02-28/PJS@GMD"
/aerosol/Components/CPC/Flow,1.346
/aerosol/Components/CPC/Groups,|cpc
/aerosol/Components/CPC/Instrument,"N71"
/aerosol/Components/CPC/MenuCharacter,"C"
/aerosol/Components/CPC/Name,"acquire_gmd_cpcpulse"
/aerosol/Components/CPC/Source/Manufacturer,"TSI"
/aerosol/Components/CPC/Source/Model,"3760"
/aerosol/Components/CPC/Source/SerialNumber,405
/aerosol/Components/CPC/VariableMetadata/N_.*/*dNoteFlow,"1.346 (22.43) 20160222/eja 1.47 (24.5) 20150111/eja; 24.5 #131211/eja; 24.3517 #121208/eja;22.1667 #111214/eja; 24.9 #091510eja #24.0; 091016/PJS@THD"
/aerosol/Components/CPCDrierFlow/Groups,|cpc
/aerosol/Components/CPCDrierFlow/Instrument,"Q72"
/aerosol/Components/CPCDrierFlow/Match/SerialNumber,412110911001
/aerosol/Components/CPCDrierFlow/MenuCharacter,"F"
/aerosol/Components/CPCDrierFlow/MenuEntry,"CPC Drier Flow"
/aerosol/Components/CPCDrierFlow/Name,"acquire_tsi_mfm4xxx"
/aerosol/Components/CPCDrierFlow/Remap/Q/Calibration/#0,-0.2749
/aerosol/Components/CPCDrierFlow/Remap/Q/Calibration/#1,1.2845
/aerosol/Components/CPCDrierFlow/VariableMetadata/Q_.*/*dDescription,"CPC drier flow"
/aerosol/Components/CPCDrierFlow/VariableMetadata/Q_.*/*dNoteCalibration,"-0.2749;1.2845 160219/eja-0.013;1.093 150111/eja; #0;1.02 #131211/eja; -0.0401;1.0013 #121208/eja;-0.058,0.969 #111214/eja; 0.454;1.08 #100919/eja;-0.05,1.02;091001/EJA@GMD-this is SLPM"
/aerosol/Components/CPCSampleFlow/Groups,|cpc
/aerosol/Components/CPCSampleFlow/Instrument,"Q71"
/aerosol/Components/CPCSampleFlow/Match/SerialNumber,412110912002
/aerosol/Components/CPCSampleFlow/MenuCharacter,"E"
/aerosol/Components/CPCSampleFlow/MenuEntry,"CPC Sample Flow"
/aerosol/Components/CPCSampleFlow/Name,"acquire_tsi_mfm4xxx"
/aerosol/Components/CPCSampleFlow/Remap/Q/Calibration/#0,-0.0113
/aerosol/Components/CPCSampleFlow/Remap/Q/Calibration/#1,1.0233
/aerosol/Components/CPCSampleFlow/VariableMetadata/Q_.*/*dDescription,"CPC sample flow"
/aerosol/Components/CPCSampleFlow/VariableMetadata/Q_.*/*dNoteCalibration,"-0.0113;1.0233 20160219/eja;-0.007;0.822 20150111/eja; #-0.007;1.02 #131211/eja; -0.0231;1.0022 #121208/eja;-0.007,1.036 #111214/eja; 0.06;0.98 #back to old cal, new cal prob messed by tube crack;-0.038,0.545;100919/eja;0.06,0.98;091001/EJA@GMD-this is SLPM"
/aerosol/Components/ImpactorSchedule/Actions/#0/Aligned,TRUE
/aerosol/Components/ImpactorSchedule/Actions/#0/Count,0
/aerosol/Components/ImpactorSchedule/Actions/#0/InstrumentCommands/X1/SetDigital/PM1Impactor,TRUE
/aerosol/Components/ImpactorSchedule/Actions/#0/SetCut,"pm1"
/aerosol/Components/ImpactorSchedule/Actions/#0/Unit,"minute"
/aerosol/Components/ImpactorSchedule/Actions/#1/Aligned,TRUE
/aerosol/Components/ImpactorSchedule/Actions/#1/Count,6
/aerosol/Components/ImpactorSchedule/Actions/#1/InstrumentCommands/X1/SetDigital/PM1Impactor,FALSE
/aerosol/Components/ImpactorSchedule/Actions/#1/SetCut,"pm10"
/aerosol/Components/ImpactorSchedule/Actions/#1/Unit,"minute"
/aerosol/Components/ImpactorSchedule/Actions/#2/Aligned,TRUE
/aerosol/Components/ImpactorSchedule/Actions/#2/Count,12
/aerosol/Components/ImpactorSchedule/Actions/#2/InstrumentCommands/X1/SetDigital/PM1Impactor,TRUE
/aerosol/Components/ImpactorSchedule/Actions/#2/SetCut,"pm1"
/aerosol/Components/ImpactorSchedule/Actions/#2/Unit,"minute"
/aerosol/Components/ImpactorSchedule/Actions/#3/Aligned,TRUE
/aerosol/Components/ImpactorSchedule/Actions/#3/Count,18
/aerosol/Components/ImpactorSchedule/Actions/#3/InstrumentCommands/X1/SetDigital/PM1Impactor,FALSE
/aerosol/Components/ImpactorSchedule/Actions/#3/SetCut,"pm10"
/aerosol/Components/ImpactorSchedule/Actions/#3/Unit,"minute"
/aerosol/Components/ImpactorSchedule/Actions/#4/Aligned,TRUE
/aerosol/Components/ImpactorSchedule/Actions/#4/Count,24
/aerosol/Components/ImpactorSchedule/Actions/#4/InstrumentCommands/X1/SetDigital/PM1Impactor,TRUE
/aerosol/Components/ImpactorSchedule/Actions/#4/SetCut,"pm1"
/aerosol/Components/ImpactorSchedule/Actions/#4/Unit,"minute"
/aerosol/Components/ImpactorSchedule/Actions/#5/Aligned,TRUE
/aerosol/Components/ImpactorSchedule/Actions/#5/Count,30
/aerosol/Components/ImpactorSchedule/Actions/#5/InstrumentCommands/X1/SetDigital/PM1Impactor,FALSE
/aerosol/Components/ImpactorSchedule/Actions/#5/SetCut,"pm10"
/aerosol/Components/ImpactorSchedule/Actions/#5/Unit,"minute"
/aerosol/Components/ImpactorSchedule/Actions/#6/Aligned,TRUE
/aerosol/Components/ImpactorSchedule/Actions/#6/Count,36
/aerosol/Components/ImpactorSchedule/Actions/#6/InstrumentCommands/X1/SetDigital/PM1Impactor,TRUE
/aerosol/Components/ImpactorSchedule/Actions/#6/SetCut,"pm1"
/aerosol/Components/ImpactorSchedule/Actions/#6/Unit,"minute"
/aerosol/Components/ImpactorSchedule/Actions/#7/Aligned,TRUE
/aerosol/Components/ImpactorSchedule/Actions/#7/Count,42
/aerosol/Components/ImpactorSchedule/Actions/#7/InstrumentCommands/X1/SetDigital/PM1Impactor,FALSE
/aerosol/Components/ImpactorSchedule/Actions/#7/SetCut,"pm10"
/aerosol/Components/ImpactorSchedule/Actions/#7/Unit,"minute"
/aerosol/Components/ImpactorSchedule/Actions/#8/Aligned,TRUE
/aerosol/Components/ImpactorSchedule/Actions/#8/Count,48
/aerosol/Components/ImpactorSchedule/Actions/#8/InstrumentCommands/X1/SetDigital/PM1Impactor,TRUE
/aerosol/Components/ImpactorSchedule/Actions/#8/SetCut,"pm1"
/aerosol/Components/ImpactorSchedule/Actions/#8/Unit,"minute"
/aerosol/Components/ImpactorSchedule/Actions/#9/Aligned,TRUE
/aerosol/Components/ImpactorSchedule/Actions/#9/Count,54
/aerosol/Components/ImpactorSchedule/Actions/#9/InstrumentCommands/X1/SetDigital/PM1Impactor,FALSE
/aerosol/Components/ImpactorSchedule/Actions/#9/SetCut,"pm10"
/aerosol/Components/ImpactorSchedule/Actions/#9/Unit,"minute"
/aerosol/Components/ImpactorSchedule/DefaultFlushTime,62.0
/aerosol/Components/ImpactorSchedule/Fixed,TRUE
/aerosol/Components/ImpactorSchedule/Groups,|sample
/aerosol/Components/ImpactorSchedule/Instrument,"IMPACTOR"
/aerosol/Components/ImpactorSchedule/MenuCharacter,""
/aerosol/Components/ImpactorSchedule/MenuEntry,"Impactor Schedule"
/aerosol/Components/ImpactorSchedule/Name,"control_cycle"
/aerosol/Components/MCPC/Groups,|cpc
/aerosol/Components/MCPC/Instrument,"N72"
/aerosol/Components/MCPC/MenuCharacter,"D"
/aerosol/Components/MCPC/Name,"acquire_bmi_cpc1720"
/aerosol/Components/Neph/Groups,sample|spancheck
/aerosol/Components/Neph/Name,"acquire_tsi_neph3563"
/aerosol/Components/Neph/Source/SerialNumber,1083
/aerosol/Components/Ozone/Address,49
/aerosol/Components/Ozone/GlobalMetadata/*dCalibration/Date,"20110611"
/aerosol/Components/Ozone/GlobalMetadata/*dCalibration/Outcome,"pass"
/aerosol/Components/Ozone/GlobalMetadata/*dCalibration/ReferenceDate,"20070630"
/aerosol/Components/Ozone/GlobalMetadata/*dCalibration/Uncertainty,2.0
/aerosol/Components/Ozone/Groups,|ozone
/aerosol/Components/Ozone/Instrument,"G81"
/aerosol/Components/Ozone/MenuCharacter,"G"
/aerosol/Components/Ozone/Name,"acquire_thermo_ozone49"
/aerosol/Components/Ozone/Source/SerialNumber,323000000000552
/aerosol/Components/PID/Controllers/#0/Address,49
/aerosol/Components/PID/Controllers/#0/Setpoint,40.0
/aerosol/Components/PID/Controllers/#1/Address,50
/aerosol/Components/PID/Controllers/#1/Setpoint,40.0
/aerosol/Components/PID/Controllers/#2/Address,51
/aerosol/Components/PID/Controllers/#2/Setpoint,55.0
/aerosol/Components/PID/Controllers/#3/Address,52
/aerosol/Components/PID/Controllers/#3/ManualMode,TRUE
/aerosol/Components/PID/Controllers/#3/Setpoint,29.5
/aerosol/Components/PID/Groups,|control
/aerosol/Components/PID/Instrument,"X2"
/aerosol/Components/PID/MenuEntry,"Love PID"
/aerosol/Components/PID/Name,"acquire_love_pid"
/aerosol/Components/PID/VariableGroups/#0/Groups,|sample
/aerosol/Components/PID/VariableGroups/#0/Variable,"U_V11"
/aerosol/Components/PID/VariableGroups/#1/Groups,|sample
/aerosol/Components/PID/VariableGroups/#1/Variable,"Q_Q11"
/aerosol/Components/PID/VariableGroups/#2/Groups,|control
/aerosol/Components/PID/VariableGroups/#2/Variable,".*_X2"
/aerosol/Components/PID/Variables/Q_Q11/Address,52
/aerosol/Components/PID/Variables/Q_Q11/Calibration/#0,1.75
/aerosol/Components/PID/Variables/Q_Q11/Calibration/#1,0.897
/aerosol/Components/PID/Variables/Q_Q11/Metadata/*dDescription,"Analyzer flow"
/aerosol/Components/PID/Variables/Q_Q11/Metadata/*dNoteCalibration,"1.75;0.897 20160219/eja; 1.54;0.89 20150110/eja; 2.02;0.88 #131211/eja; 1.9127;0.8871 #121208/eja;0.861,0.912 #111214/eja; 0.278;0.974 #100919/eja;0.164,1.00;091001/eja"
/aerosol/Components/PID/Variables/Q_Q11/Metadata/*dUnits,"lpm"
/aerosol/Components/PID/Variables/U_V02/Address,50
/aerosol/Components/PID/Variables/U_V02/Calibration/#0,0.0
/aerosol/Components/PID/Variables/U_V02/Calibration/#1,1.0
/aerosol/Components/PID/Variables/U_V02/Metadata/*dDescription,"Rack RH"
/aerosol/Components/PID/Variables/U_V02/Metadata/*dUnits,"%"
/aerosol/Components/PID/Variables/U_V11/Address,51
/aerosol/Components/PID/Variables/U_V11/Calibration/#0,0.0
/aerosol/Components/PID/Variables/U_V11/Calibration/#1,1.0
/aerosol/Components/PID/Variables/U_V11/Metadata/*dDescription,"Impactor box inlet RH"
/aerosol/Components/PID/Variables/U_V11/Metadata/*dNoteCalibration,"0.07;0.92 #131211/eja; 0;1 #130117/eja; -3.1;1.0167 # 091016/PJS@THDsame as inlet RH"
/aerosol/Components/PID/Variables/U_V11/Metadata/*dUnits,"%"
/aerosol/Components/PID/Variables/U_V51/Address,49
/aerosol/Components/PID/Variables/U_V51/Calibration/#0,0.0
/aerosol/Components/PID/Variables/U_V51/Calibration/#1,1.0
/aerosol/Components/PID/Variables/U_V51/Metadata/*dDescription,"Splitter RH"
/aerosol/Components/PID/Variables/U_V51/Metadata/*dNoteCalibration,"0.0;1.0 #20150110/eja 0.79;0.97 #131211/eja; 0;1 #130117/eja;-1.778;1.0937 #090212/PJS"
/aerosol/Components/PID/Variables/U_V51/Metadata/*dUnits,"%"
/aerosol/Components/ZeroSchedule/Actions/#0/Aligned,TRUE
/aerosol/Components/ZeroSchedule/Actions/#0/Commands/StartZero,TRUE
/aerosol/Components/ZeroSchedule/Actions/#0/Count,3418
/aerosol/Components/ZeroSchedule/Actions/#0/Description,"System Zero"
/aerosol/Components/ZeroSchedule/Actions/#0/Unit,"second"
/aerosol/Components/ZeroSchedule/Fixed,TRUE
/aerosol/Components/ZeroSchedule/Groups,|sample
/aerosol/Components/ZeroSchedule/MenuCharacter,""
/aerosol/Components/ZeroSchedule/MenuEntry,"Zero Schedule"
/aerosol/Components/ZeroSchedule/Name,"control_cycle"
/aerosol/Components/uMAC/Bypass/Digital/DisableBypassValve,FALSE
/aerosol/Components/uMAC/DigitalOutputs/DisableBypassValve,0
/aerosol/Components/uMAC/DigitalOutputs/PM1Impactor,1
/aerosol/Components/uMAC/Exit/Digital/DisableBypassValve,FALSE
/aerosol/Components/uMAC/Groups,control|spancheck
/aerosol/Components/uMAC/Initialize/Digital/DisableBypassValve,TRUE
/aerosol/Components/uMAC/Instrument,"X1"
/aerosol/Components/uMAC/Name,"acquire_azonix_umac1050"
/aerosol/Components/uMAC/UnBypass/Digital/DisableBypassValve,TRUE
/aerosol/Components/uMAC/VariableGroups/#0/Groups,|sample
/aerosol/Components/uMAC/VariableGroups/#0/Variable,"T_V11"
/aerosol/Components/uMAC/VariableGroups/#1/Groups,|sample
/aerosol/Components/uMAC/VariableGroups/#1/Variable,"Pd_P11"
/aerosol/Components/uMAC/VariableGroups/#2/Groups,|sample
/aerosol/Components/uMAC/VariableGroups/#2/Variable,"Pd_P12"
/aerosol/Components/uMAC/VariableGroups/#3/Groups,|control
/aerosol/Components/uMAC/VariableGroups/#3/Variable,".*_X1"
/aerosol/Components/uMAC/VariableGroups/#4/Groups,|control
/aerosol/Components/uMAC/VariableGroups/#4/Variable,"(T|(Pd?)|U|Q)_(T|P|V|Q)[560][0-9]"
/aerosol/Components/uMAC/Variables/Pd_P01/Calibration/#0,-0.504
/aerosol/Components/uMAC/Variables/Pd_P01/Calibration/#1,4.523
/aerosol/Components/uMAC/Variables/Pd_P01/Channel,19
/aerosol/Components/uMAC/Variables/Pd_P01/Metadata/*dDescription,"Stack pitot tube"
/aerosol/Components/uMAC/Variables/Pd_P01/Metadata/*dFormat,"00.000"
/aerosol/Components/uMAC/Variables/Pd_P01/Metadata/*dGroupUnits,"dhPa"
/aerosol/Components/uMAC/Variables/Pd_P01/Metadata/*dNoteCalibration,"-0.504;4.523 20160220/eja; -0.6139;4.5888 20150110/eja; 0.0029;4.33 #131211/eja; -0.2181;4.2041 #121208/eja;-0.54,4.11 #111214/eja; -0.78;4.189 # 100919/eja;-0.806,4.283;100407/MI;-0.25,4.03;080418/eja"
/aerosol/Components/uMAC/Variables/Pd_P01/Metadata/*dUnits,"hPa"
/aerosol/Components/uMAC/Variables/Pd_P11/Calibration/#0,-186.3
/aerosol/Components/uMAC/Variables/Pd_P11/Calibration/#1,333.75
/aerosol/Components/uMAC/Variables/Pd_P11/Channel,20
/aerosol/Components/uMAC/Variables/Pd_P11/Metadata/*dDescription,"Impactor pressure drop"
/aerosol/Components/uMAC/Variables/Pd_P11/Metadata/*dGroupUnits,"dhPa"
/aerosol/Components/uMAC/Variables/Pd_P11/Metadata/*dNoteCalibration,"-186.3;333.75#20170320/eja@GMD; -197.97;139.34#20160219/eja; -194.79;137.3#20150110/eja; -194.03;135.99 #131211/eja; -192.04;135.34 #121208/eja-193.96,136.48 #111214/eja; -198.45;139.82 #100919/eja;-205.67,144.10;090930/eja; calib w/0-15 in h2o magnehelic"
/aerosol/Components/uMAC/Variables/Pd_P11/Metadata/*dUnits,"hPa"
/aerosol/Components/uMAC/Variables/Pd_P12/Calibration/#0,-186
/aerosol/Components/uMAC/Variables/Pd_P12/Calibration/#1,333.18
/aerosol/Components/uMAC/Variables/Pd_P12/Channel,21
/aerosol/Components/uMAC/Variables/Pd_P12/Metadata/*dDescription,"Pump vacuum"
/aerosol/Components/uMAC/Variables/Pd_P12/Metadata/*dFormat,"0000.00"
/aerosol/Components/uMAC/Variables/Pd_P12/Metadata/*dGroupUnits,"dhPa"
/aerosol/Components/uMAC/Variables/Pd_P12/Metadata/*dNoteCalibration,"-186.00; 333.18 20170320/eja@GMD; -196.72;145.88  20160219/eja; -211.16;144.46 20150110/eja; -209.77;143.50 #131211/eja; -207.24;146.22 #121208/eja-203.07,145.37 #111214/eja; -208.7;143.95 #100919/eja-317.12,212.64;090930/eja; calib w/0-10 psi magnehelic"
/aerosol/Components/uMAC/Variables/Pd_P12/Metadata/*dUnits,"hPa"
/aerosol/Components/uMAC/Variables/T_V02/Calibration/#0,-40
/aerosol/Components/uMAC/Variables/T_V02/Calibration/#1,100.0
/aerosol/Components/uMAC/Variables/T_V02/Channel,8
/aerosol/Components/uMAC/Variables/T_V02/Metadata/*dDescription,"Rack temperature"
/aerosol/Components/uMAC/Variables/T_V02/Metadata/*dUnits,"°C"
/aerosol/Components/uMAC/Variables/T_V11/Calibration/#0,-40
/aerosol/Components/uMAC/Variables/T_V11/Calibration/#1,100.0
/aerosol/Components/uMAC/Variables/T_V11/Channel,9
/aerosol/Components/uMAC/Variables/T_V11/Metadata/*dDescription,"Impactor box inlet temperature"
/aerosol/Components/uMAC/Variables/T_V11/Metadata/*dNoteCalibration,"20150111/eja; #-28.0;100.0 #130117/eja"
/aerosol/Components/uMAC/Variables/T_V11/Metadata/*dUnits,"°C"
/aerosol/Components/uMAC/Variables/T_V51/Calibration/#0,-40
/aerosol/Components/uMAC/Variables/T_V51/Calibration/#1,100.0
/aerosol/Components/uMAC/Variables/T_V51/Channel,10
/aerosol/Components/uMAC/Variables/T_V51/Metadata/*dDescription,"Splitter temperature"
/aerosol/Components/uMAC/Variables/T_V51/Metadata/*dNoteCalibration,"20150110/eja -29.0;100.0 #130117/eja"
/aerosol/Components/uMAC/Variables/T_V51/Metadata/*dUnits,"°C"