# RTWX Operator Manual

Welcome to the Realtime Weather Explorer (RTWX)! RTWX is a browser-based application allowing you to quickly access live weather radar data from the NEXRAD network, lightning strike data from Blitzortung, weather alerts directly from NWS, and soon predictive weather forecasts from a custom-built predictive weather engine!

This manual is intended to get scope operators up and running with their RTWX scope as quickly as possible.

> Currently Implemented Features:
> - Radar scope
>
> Features In Development:
> - Lightning strike data
> 
> Planned Features:
> - NWS alerts
> - Predictive Weather Engine

## Contents

- [Requirements](#requirements)
- [Opening RTWX](#opening-rtwx)
- [The Scope](#the-scope)
- [Local Operations](#local-operations)
- [Data Server](#data-server)
- [Command Reference](#command-reference)

## Requirements

RTWX is a realtime browser application and therefore requires an internet connection. In addition, RTWX requires WebAssembly support (your browser version must be newer than November 2017) and is rendered entirely via WebGL. Your browser **and hardware** must support WebGL 2.0, which is supported by all semi-modern GPUs (integrated GPUs will work) and all browsers released after February 2022. 

## Opening RTWX

To open RTWX, open [rtwx.e3t.cc](https://rtwx.e3t.cc) in your browser. After a brief flash, your page should display the main scope window.

## The Scope

After you initially load RTWX, the scope will appear blank.

![Empty Scope](empty_scope.png)

This is because text is hidden by default. To show it, enter the command `` `T `` to toggle `` ` `` text `T`.

![Inoperative Scope](scope_inop.png)

The scope is broken down into 5 main parts.

![Marked Up Scope](scope_inop_markedup.png)

### Status Information Area

In the top left of the scope is the *Status Information Area.*

![Status Information Area](status_information_area.png)

It will consist of multiple lines, telling you:

- the scope you are in (almost always `NEXRAD`)
- the current radar site ICAO (in this case `INOP`, as the radar is inoperative)
- any currently active alerts (in this case, there is an alert that the radar is inoperative because there is no data loaded)

#### Common Alerts

There are a few alerts that are very common:

| Alert                              | Meaning                                                                      | Reason                                                                          | To Fix                                                                                                                       |
|------------------------------------|------------------------------------------------------------------------------|---------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------|
| `RADAR INOPERATIVE NO DATA LOADED` | The radar is currently not working because no radar data has been loaded.    | A file has not yet been loaded or a dataserver track has not yet been started.  | Load a file locally (with `CLF OV`) or start a dataserver track (see [Dataserver](#data-server))                             |
| `NEW DATA AVAIL RLD RQD`           | There is new data in the buffer that needs to be reloaded into the scope     | A new file has been uploaded or a dataserver track has received new radar data. | Reload the scope (with `CLF RELOAD`)                                                                                         |
| `DATASERVER TRACK LOST`            | A track on the dataserver has been lost (is no longer responding to queries) | The client has been disconnected from the dataserver for unknown reasons.       | Typically caused by a transient network error. Try reloading the browser. If issue persists, check your internet connection. |

### Command Buffer

On the left middle of the scope, below the Status Information Area, is the *Command Buffer*:

![Command Buffer](command_buffer.png)

The command buffer will contain any commands you are entering and responses to those commands. It may span multiple lines depending on the command.

### Site Information Area

In the top right of the scope is the Site Information Area, which contains information about the currently loaded radar file.

When inoperative, the Site Information Area will report that all information is "unavailable".

![Site Information Area: Inoperative](site_information_area_inop.png)

Once loaded, it will show the following data:

![Site Information Area: Filled KOTX](site_information_area_kotx.png)

- the ICAO of the current radar site
- the VCP number in use
- a plain-language description of the VCP
- the site delay: how long ago was the current radar file captured (HH:MM:SS)

### Mode Selector

The Mode Selector is located on the midright of the scope. It contains information about the current Mode and Elevation that the scope is displaying.

The Mode Selector is broken down into two parts:

#### Radar Product Mode

The Radar Product Mode display shows which radar product is currently being displayed. While the scope is inoperative, it will display `>RADR INOP<` in place of mode options:

![Radar Product Mode: Inoperative](mode_inop.png)

Once radar data is being received, it will show a list of the products available for the currently selected elevation:

![Radar Product Mode: Filled](mode_filled.png)

The currently selected product is shown highlighted in white, with angle brackets around it.
Typically, `REF` (Reflectivity) will be selected by default.

Not all products are available for every elevation. For example, most commonly Velocity and Spectrum Width will not be present:

![Radar Product Mode: Partial](mode_partial.png)

To change what mode is being displayed, use the `MODE SET` command.

#### Radar Elevation

The Radar Elevation display, below the Radar Product Mode display, shows which elevations are available in the current radar data. While the scope is inoperative, it will display `ELEVATION INFO UNAVAILABLE` in place of elevations:

![Radar Elevation: Inoperative](elevations_inop.png)

Once radar data is being received, it will show a list of the elevations available:

![Radar Elevation: Filled](elevations_filled.png)

The currently selected elevation will be highlighted in white, and have angle brackets around it.
Typically, elevation `001` will be selected by default.

To change which elevation is being displayed, use the `ELEVATION SET` command. Changing elevation will automatically reset the scope to `REF` (Reflectivity) mode.

### Radar Scope

*Reserved*

## Local Operations

*Reserved*

## Data Server

*Reserved*

## Command Reference

### Toggle Commands (prefix: `)

| Command  | Description      |
|----------|------------------|
| `` `T `` | Toggle Text      |
| `` `R `` | Toggle Radar     |
| `` `L `` | Toggle Lightning |
| `` `A `` | Toggle Alerts    |

### Currently Loaded File (prefix: `CLF`)

| Command      | Description                                                           |
|--------------|-----------------------------------------------------------------------|
| `CLF OV`     | Overwrite the currently loaded file with one from your local machine. |
| `CLF RELOAD` | Reload the displayed data from the file buffer.                       |