Welcome to Aggregator! 

This free software is provided "as is" and without warranty of any kind. There is no guarantee that it will be error-free or suitable for any purpose. The user assumes all risk of using results obtained with it. 

Download (V0.0):

  • Windows (just run the downloaded installer)
  • macOS (open the downloaded package and drag the Aggregator app to the Applications folder)
  • Android (download the package and run it to install it)

Its intended purpose is to:

  • read an AAVSO Extended Format photometry file 
  • aggregate (combine) multiple observations of the same object and filter into one observation
  • pass through any observations not aggregated
  • output an AAVSO Extended Format photometry file containing the aggregated

Why Aggregate:

To improve your signal-to-noise ratio for sources that vary slowly. Rather than uploading a short time series of observations with lots of scatter, upload a single data point of much better quality.

Quick Help:

  1. Switch to the "Input" tab
  2. "Paste" in or "Open..." a valid AAVSO Extended Format file
  3. Switch to the "Setup" tab and choose the aggregation settings (see below for details)
  4. Press "Run..." to process the file. 
  5. The active tab is changed to the "Log" tab automatically. Review the log.
  6. The processed file is in the "Output" tab.
  7. Use the "Save As..." button to save the processed data.

Tab Details:


  • the center area is the editable "Input" tab contents.
  • the "Run..." button processes the AAVSO Extended Format file in the text area, according to the parameters set in the "Setup" tab. A "log" is appended to the "Log" tab and the processed results are appended to the "Output" tab.
  • the "Clear" button clears the "Input" tab contents.
  • the "Paste" button pastes the text currently on the clipboard to the "Input" tab contents. The pasted text begins wherever the cursor was last positioned.
  • the "Save As..." button saves the "Input" tab contents to the specified filename.
  • the "Save" button saves the "Input" tab contents to the most recently specified filename.
  • the "Open" button loads the specified filename into the "Input" tab contents. Its full name (with directory) then appears at the bottom of the window.


  • the center area is the editable "Output" tab contents - resulting from pressing the "Run..." button on either the "Input" or "Setup" tabs.
  • the "Copy" button copies the "Output" tab contents to the clipboard.
  • the "Clear" button clears the "Output" tab contents.
  • the "Copy to Input" button copies the "Output" tab contents to the "Input" data on the "Input" tab. This is useful for interactively processing the same data, for example one star at a time.
  • the "Save As..." button saves the "Output" tab contents to the specified filename.


The setup tab controls how observations are processed in four categories of settings. The three buttons are used as follows:

  • the "Run..." button - see "Input" tab.
  • the "Set Defaults" button sets all settings to the program's default settings, including the directories used to open and save files.
  • the "Save Setup" button saves all settings on this tab and the directories recently used to open and save files. The settings are saved to the file "Aggregator.ini". In Windows, it's saved to the current users Applications Data folder (location varies by Windows version). On macOS, it is stored in the user's "home" folder.

Aggregation Filter: this setting determines how sets of observations are linked together before being aggregated. The default is to link observations with the same star id (name), filter and group. Other options ignore the group field, filter field, or both filter and group fields (star id only).

Only this star: if checked only the identified star is aggregated.

Aggregation Method: This determines how the observations are combined. Options include: 

  • mean
  • median
  • mean with some observations rejected that are more 1, 2 or 3 standard deviations from the man
  • weighted mean (applies a weight to each observation based on its MERR (error) field)

Error Mode: this setting determines how the aggregated MERR (error) field is calculated. Options include:

  • mean of all observation errors divided by the square root of the number of observations (N)
  • mean of all observation errors
  • a user specified fixed error (see below)
  • weighted mean error (use in conjunction with the weighed mean aggregation method)

Fixed Error: if the "Error Mode" is set of Fixed Error" the aggregated error is set to the specified value.

Minimum reported error: as aggregated error calculations can result in unrealistically small errors, the error is set to this value if the calculated error is less than the specified value.

Include header: this specifies if the output includes the header lines. This should be disabled when interactively processing the same input data.

Set NOTES field to...: the NOTES field can be set to the notes field of the first observation or user specified notes text (which can be blank).

Add Aggregator summary to NOTES field: if checked, the number of observations aggregated and the aggregation and error modes are added to the NOTES field. eg: "AG_OBS=10|AG_MODE=Mean with >1 SD Rejection|AG_ERROR=Mean of MERRs/Sqrt (N)"

Set DATE/AIRMASS to: specifies how the aggregated Julian date and airmass are calculated. Options include:

  • the mean of all observations
  • the mean of the first and last observation

How the Processing Works (the "Run..." buttons):

1. The start of the header is seeked by looking for a line beginning with a #. Blank lines and lines that don't start with a # are skipped. 

2. The header is read and must contain at least 6 valid lines. The Aggregator software name and version are appended to the SOFTWARE header line. The entire header is copied to the output (if enabled).

3. The observation lines are then read and validated until the end of the data is reached. Invalid lines (blank lines and lines with the wrong number of fields) are skipped. If any errors are found in fields of a otherwise valid line, the processing aborts. 

4. The sets of observations to be aggregated, based on the "Aggregration Filter" setting, are determined.

5. Each set is aggregated according to the "Aggregation Method" and other related settings and added to the output.

6. All observations not aggregated are then copied to the output.