Skip to content

Aurora Integrating Nephelometer

The Aurora is an integrating nephelometer used for measuring light scattering properties of aerosols at multiple wavelengths.

AeroViz.rawDataReader.script.Aurora.Reader

Reader(*args, **kwargs)

Bases: AbstractReader

Aurora Integrating Nephelometer Data Reader

A specialized reader for Aurora nephelometer data files, which measure aerosol light scattering properties at multiple wavelengths.

See full documentation at docs/source/instruments/Aurora.md for detailed information on supported formats and QC procedures.

Attributes

nam class-attribute instance-attribute

nam = 'Aurora'

SCAT_COLUMNS class-attribute instance-attribute

SCAT_COLUMNS = ['B', 'G', 'R', 'BB', 'BG', 'BR']

CAL_COLUMNS class-attribute instance-attribute

CAL_COLUMNS = ['sca_550', 'SAE']

MIN_SCAT_VALUE class-attribute instance-attribute

MIN_SCAT_VALUE = 0

MAX_SCAT_VALUE class-attribute instance-attribute

MAX_SCAT_VALUE = 2000

STATUS_COLUMN class-attribute instance-attribute

STATUS_COLUMN = 'Status'

STATUS_COLUMNS class-attribute instance-attribute

STATUS_COLUMNS = ['Status', 'status', 'Error', 'error', 'Flag', 'flag']

STATUS_OK class-attribute instance-attribute

STATUS_OK = 0

_status_data instance-attribute

_status_data = None

Functions

_raw_reader

_raw_reader(file)

Read and parse raw Aurora nephelometer data files.

Parameters:

Name Type Description Default
file Path or str

Path to the Aurora data file.

required

Returns:

Type Description
DataFrame

Processed Aurora data with datetime index and standardized scattering coefficient columns.

_QC

_QC(_df)

Perform quality control on Aurora nephelometer raw data.

QC Rules Applied (raw data only)
  1. Status Error : Non-zero status code indicates instrument error
  2. No Data : All scattering columns are NaN
  3. Invalid Scat Value: Scattering coefficient outside 0-2000 Mm^-1
  4. Invalid Scat Rel. : Wavelength dependence violation (B < G < R)
  5. Insufficient : Less than 50% hourly data completeness

Note: SAE calculation is done in _process() after QC.

_process

_process(_df)

Calculate scattering coefficients and SAE.

Processing Steps
  1. Calculate scattering coefficient at 550nm
  2. Calculate SAE (Scattering Ångström Exponent)

Parameters:

Name Type Description Default
_df DataFrame

Quality-controlled DataFrame with scattering columns and QC_Flag

required

Returns:

Type Description
DataFrame

DataFrame with sca_550, SAE, and updated QC_Flag

Data Format

  • File format: CSV file
  • Sampling frequency: 1 minute
  • File naming pattern: *.csv
  • Timestamp column: Date / time local
  • Column naming conventions:
    • UV BCc, Blue BCc, Green BCc, Red BCc, IR BCc
    • Biomass BCc, Fossil fuel BCc
    • Delta-C, AAE, BB (%)

Measurement Parameters

The Aurora provides measurements at three wavelengths:

Column Wavelength Description
B 450 nm Total scattering (blue)
G 550 nm Total scattering (green)
R 700 nm Total scattering (red)
BB 450 nm Backscattering (blue)
BG 550 nm Backscattering (green)
BR 700 nm Backscattering (red)

Data Processing

Data Reading

  • Parses timestamps from 'Date / time local' column
  • Standardizes column names for consistent output
  • Converts all measurement values to numeric format
  • Handles different column naming conventions
  • Maps wavelength-specific measurements to standardized names

Quality Control

The Aurora reader uses the declarative QCFlagBuilder system with the following rules:

+-----------------------------------------------------------------------+
|                         QC Thresholds                                 |
+-----------------------------------------------------------------------+
| MIN_SCAT_VALUE = 0       Mm⁻¹                                         |
| MAX_SCAT_VALUE = 2000    Mm⁻¹                                         |
| STATUS_OK      = 0       (numeric status code)                        |
+-----------------------------------------------------------------------+

+-----------------------------------------------------------------------+
|                            _QC() Pipeline                             |
+-----------------------------------------------------------------------+
|                                                                       |
|  [Pre-process] Calculate scattering Angstrom exponent (SAE)           |
|       |                                                               |
|       v                                                               |
|  +---------------------------+                                        |
|  | Rule: Status Error        |                                        |
|  +---------------------------+                                        |
|  | Status code != 0          |                                        |
|  | (if column available)     |                                        |
|  +---------------------------+                                        |
|           |                                                           |
|           v                                                           |
|  +---------------------------+    +---------------------------+       |
|  | Rule: No Data             |    | Rule: Invalid Scat Value  |       |
|  +---------------------------+    +---------------------------+       |
|  | All columns are NaN       |    | Value <= 0 OR             |       |
|  +---------------------------+    | Value > 2000 Mm⁻¹         |       |
|           |                       +---------------------------+       |
|           v                                |                          |
|  +---------------------------+             v                          |
|  | Rule: Invalid Scat Rel    |    +---------------------------+       |
|  +---------------------------+    | Rule: Insufficient        |       |
|  | Blue < Green < Red        |    +---------------------------+       |
|  | (violates physics)        |    | < 50% hourly data         |       |
|  +---------------------------+    +---------------------------+       |
|                                                                       |
+-----------------------------------------------------------------------+

QC Rules Applied

Rule Condition Description
Status Error Status ≠ 0 Non-zero status code indicates instrument error (if column available)
No Data All columns NaN All scattering columns are missing
Invalid Scat Value Value ≤ 0 OR > 2000 Mm⁻¹ Scattering outside valid range
Invalid Scat Rel B < G < R Wavelength dependence violation
Insufficient < 50% hourly data Less than 50% hourly data completeness

Output Data

The processed data contains the following columns:

Column Unit Description
B, G, R Mm⁻¹ Total scattering coefficients
BB, BG, BR Mm⁻¹ Backscattering coefficients
sca_550 Mm⁻¹ Scattering at 550nm
SAE - Scattering Angstrom Exponent

QC_Flag Handling

  • The intermediate file (_read_aurora_qc.pkl/csv) contains the QC_Flag column
  • The final output has invalid data set to NaN and QC_Flag column removed

Notes

  • Provides real-time measurement of aerosol scattering
  • Same QC rules as NEPH nephelometer
  • Wavelength dependence follows Rayleigh scattering principle