> For the complete documentation index, see [llms.txt](https://docs.aavso.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.aavso.org/submitting-data/solar.md).

# Solar

### Overview

Solar observations can be submitted via the [Solar Submit application](https://apps.aavso.org/v2/data/submit/solar/). Observations can be submitted manually through the form or via a file upload, which may be easier for batch submissions.

Your **observer code (Obscode)** and **equipment** are set in the submission form and apply to every observation in the uploaded file. To view your submitted observations, see the [Solar Search application](https://apps.aavso.org/v2/data/search/solar/).

### File Format

The file can be submitted as a standard comma-separated file (`.csv`) or an enhanced character-separated values format (`.ecsv`). For most users, the CSV file format should be sufficient. ECSV is intended for developers and observers who generate files programmatically.

Both formats share the same columns and data rows; an ECSV file is a CSV file with an additional commented header describing the schema.

#### Columns

All columns are required and must appear in the order shown below.

| Column     | Type    | Description                                                                                  |
| ---------- | ------- | -------------------------------------------------------------------------------------------- |
| `time_utc` | string  | Date and time of the observation in UTC, formatted as `YYYY-MM-DD HH:MM:SS` (24-hour clock). |
| `groups`   | integer | Total number of sunspot groups observed on the disk. Must equal `ng + cg + sg`.              |
| `sunspots` | integer | Total number of individual sunspots observed. Must equal `ns + cs + ss`.                     |
| `ng`       | integer | Number of groups in the **northern** zone of the disk.                                       |
| `ns`       | integer | Number of spots in the **northern** zone of the disk.                                        |
| `cg`       | integer | Number of groups in the **central** zone of the disk.                                        |
| `cs`       | integer | Number of spots in the **central** zone of the disk.                                         |
| `sg`       | integer | Number of groups in the **southern** zone of the disk.                                       |
| `ss`       | integer | Number of spots in the **southern** zone of the disk.                                        |
| `seeing`   | string  | Seeing quality at the time of observation. One of the codes below.                           |

The **Wolf number (W)** shown in the submission preview table is computed automatically as `W = 10 × groups + sunspots`. It is not included in the file.

#### Seeing codes

| Code | Meaning   |
| ---- | --------- |
| `E`  | Excellent |
| `G`  | Good      |
| `F`  | Fair      |
| `P`  | Poor      |

Seeing codes are case-insensitive; a single letter is required.

#### Validation

Files are validated when uploaded. A file is rejected if:

* The header row is missing, or column names do not match the specification exactly.
* `time_utc` is not in `YYYY-MM-DD HH:MM:SS` format, or the timestamp is in the future.
* Any count column is negative or non-integer.
* `groups` does not equal `ng + cg + sg`, or `sunspots` does not equal `ns + cs + ss`.
* `seeing` is not one of `E`, `G`, `F`, `P`.

If any row fails validation, the affected rows and reasons are shown in the submission form so they can be corrected before resubmitting.

### CSV

This is an example `.csv` file for submitting solar data.

```
time_utc,groups,sunspots,ng,ns,cg,cs,sg,ss,seeing
2026-06-04 05:57:18,5,42,2,18,2,15,1,9,G
2026-06-03 06:12:00,3,21,1,8,1,10,1,3,F
2026-06-02 05:45:30,7,68,3,30,2,22,2,16,E
2026-06-01 06:30:15,2,14,1,9,1,5,0,0,G
2026-05-31 05:50:00,4,33,1,11,2,14,1,8,P
```

### ECSV

The ECSV file format is useful for developers who wish to build their own parsers, validate data types before upload, or embed metadata directly in the file. The full schema is provided below. For more information about the format, see the [Astropy ECSV documentation](https://docs.astropy.org/en/stable/io/ascii/ecsv.html).

#### Metadata

The `meta` block must include:

| Key         | Description                                  |
| ----------- | -------------------------------------------- |
| `observer`  | Your AAVSO observer code (e.g., `OBS`).      |
| `equipment` | Your AAVSO equipment name.                   |
| `schema`    | The schema version. Currently `astropy-2.0`. |

**Note:** The Obscode and Equipment selected in the submission form are overridden by values in the `meta` block.&#x20;

#### Example

```
# %ECSV 1.0
# ---
# delimiter: ','
# datatype:
# - {name: time_utc, datatype: string}
# - {name: groups, datatype: int64}
# - {name: sunspots, datatype: int64}
# - {name: ng, datatype: int64}
# - {name: ns, datatype: int64}
# - {name: cg, datatype: int64}
# - {name: cs, datatype: int64}
# - {name: sg, datatype: int64}
# - {name: ss, datatype: int64}
# - {name: seeing, datatype: string}
# meta:
#   observer: OBS
#   equipment: My Telescope
#   schema: astropy-2.0
time_utc,groups,sunspots,ng,ns,cg,cs,sg,ss,seeing
2026-06-04 05:57:18,5,42,2,18,2,15,1,9,G
2026-06-03 06:12:00,3,21,1,8,1,10,1,3,F
2026-06-02 05:45:30,7,68,3,30,2,22,2,16,E
2026-06-01 06:30:15,2,14,1,9,1,5,0,0,G
2026-05-31 05:50:00,4,33,1,11,2,14,1,8,P
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.aavso.org/submitting-data/solar.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
