PQPF VERIFICATION SYSTEM Software Requirements

1. Grids

1.1. Data will consist of grids (matrices) of points.
1.2. A point in a grid will represent a value for a defined area.
1.3. A point's position shall be defined by its latitude and longitude.
1.4. A point with a value of 0 will be distinguishable from a point with a missing value. (Points that have no value will have negative numbers.)
1.5. Grids shall be used to represent different elements of a forecast.
1.6. Grids shall be used to represent actual precipitation accumulation.
1.7. A grid shall be associated with a specific RFC.
1.8. It is assumed that all grids from the same RFC will be uniform in dimension.
1.9. It is assumed that all points within a grid from the same RFC will represent the same area.
1.10. An RFC area shall include a definition of the size of the area that a point defines.
1.11. Different RFCs may have different lengths and widths (number of points long and number of points high).

2. Forecast

2.1. A forecast shall consist of 6 elements:
2.1.1. PoP - probability of precipitation during period
2.1.2. X50 - 50% conditional exceedance fractile of the total amount of precipitation
2.1.3. X25 - 25% conditional exceedance fractile of the total amount of precipitation
2.1.4. Z1 - expected fraction of the total amount of precipitation accumulated in subperiod 1
2.1.5. Z2 - expected fraction of the total amount of precipitation accumulated in subperiod 2
2.1.6. Z3 - expected fraction of the total amount of precipitation accumulated in subperiod 3
2.2. Each element of a forecast shall be represented as a single grid.
2.3. A forecast shall include a date/timestamp indicating the day and the beginning time of the valid period of the forecast.
2.4. A forecast shall include a type identifier. The valid forecast types are:
2.4.1. WFO
2.4.2. MOS
2.4.3. HPC
2.5. A forecast shall be uniquely identified by the date/timestamp, type id.
2.6. Forecasts for a 24 hour period will be made starting at 0000 UTC and 1200 UTC.
2.7. WFO forecasts will be available 7 days per week.
2.8. MOS forecasts will be available 7 days per week.
2.9. HPC forecasts will initially be available only Monday through Friday (5 working days).
2.10. WFO forecasts will be made beginning at both 0000 UTC and 1200 UTC.
2.11. MOS forecasts will be made beginning at both 0000 UTC and 1200 UTC.
2.12. HPC forecasts will initially be made only beginning at 1200 UTC.
2.13. Each forecast element shall include an indicator of the units that all points in the grid are represented in.
2.14. Each forecast shall have 0 to n forecaster ids associated with the forecasts, where n is the number of WFOs within the RFC. These forecaster ids will be used to verify sets of forecasts prepared by individuals. 1
2.15. Forecaster ids may not be initially associated with a forecast.
2.16. The forecaster ids associated with a forecast shall be editable in a manner that does not require code to be changed or recompiled, database tables to be altered (this doesn't include adding rows to a table) or other significant system changes.

3. Actuals

3.1. Actual data are called "Stage III" data by the NWS. This refers to the level of processing used to determine the actual precipitation amounts. These amounts are estimates obtained by combining rain gauge measurements, radar estimates and satellite data after they have been quality controlled.
3.2. Each element (in this case, element implies hourly precipitation amount) of an actual report shall be represented as a single grid.
3.3. An actual report shall include a date/timestamp indicating what day and time the actual report is for.
3.4. An actual report shall be uniquely identified by the date/timestamp.
3.5. Actual reports will be available for each hour of a given day implying there are 24 grids per day.
3.6. A point in an actual report will represent the average precipitation amount accumulated during the given hour over a 4km X 4km = 16km2 square.
3.7. Actual report elements shall include an indicator of the units that all points in the grid are represented in.

4. Date/Time

4.1. All date/times shall be represented in storage in UTC format.
4.2. Date/timestamps can be displayed in any time format. (????? Pending NWS response)

5. MAP (mean areal precipitation)

5.1. A MAP is the smallest region of concern.
5.2. Each MAP shall be uniquely identified.
5.3. A MAP shall be defined by a boundary.
5.4. The combination of MAPs shall define the entire RFC forecast area.
5.5. A data point (point in a grid) shall be identifiable as part of a MAP based on its longitude and latitude.

6. Location / Region

6.1. A location or region is defined by one of the following:
6.1.1. RFC forecast area
6.1.2. WFO forecast area
6.1.3. River Basin
6.1.4. River Sub-Basin
6.2. RFC forecast areas, WFO forecast areas, River Basins and River Sub-Basins shall be defined by the MAPs that they consist of.
6.3. New location/region identifiers shall be editable in a manner that does not require code to be changed or recompiled, database tables to be altered (this doesn't include adding rows to a table) or other significant system changes.

7. AWIPS

7.1. This system shall be developed with standard (ANSI???) C++.

8. Input

8.1. Input to the system will come in the XMRG binary format. (This format compresses ASCII text at a roughly 10 to 1 ratio.)
8.2. File names will indicate the date/time of the collection and the type of grid. ( ??? Should input file names also contain a code indicating which RFC the data comes from ??? )

9. Output

9.1. What reports need to generated as output???????
9.2. What format should this be in?????????
9.3. Other functionality will include graphing, printing and saving documents.
10. Realizations of Predictands 10.1. Six hour sub-periods of actual amounts shall be created by summing the hourly sub-periods within the specified 6 hour range.
10.2. 24 hour sub-periods of actual amounts shall be created by summing the hourly sub-periods within the specified 24 hour range.
10.3. Six hourly sub-periods shall be defined as:
10.3.1. 0000, 0100, 0200, 0300, 0400, 0500
10.3.2. 0600, 0700, 0800, 0900, 1000, 1100
10.3.3. 1200, 1300, 1400, 1500, 1600, 1700
10.3.4. 1800, 1900, 2000, 2100, 2200, 2300
10.4. 24 hour periods shall be defined as the following time periods.
10.4.1. 0000 - 2300
10.4.2. 1200 day 1 - 1100 day 2
10.5. Actual accumulation amounts shall be calculated for 6 and 24 hours sub-periods.
10.6. A spatial average is defined as the arithmetic mean of more than one point on a grid.
10.7. Spatial averages shall be calculated for 6 and 24 hour time periods.
10.8. Spatial averages shall be calculated for specific areas.
10.9. An area will be defined in one of three ways:
10.9.1. Nominal area - A square of 18 X 18 grid points.
10.9.2. Basin - Points defined as within a particular river basin or sub-basin (These basins are defined by the NWS).
10.9.3. Variable areas - Squares of variable size (variable number of point per side).
10.9.3.1. Each area shall be uniquely identified.
10.9.3.2. The following areas "should" be included:
10.9.3.2.1. 1 grid point per side
10.9.3.2.2. 2 grid points per side
10.9.3.2.3. 3 grid points per side
10.9.3.2.4. 4 grid points per side
10.9.3.2.5. 5 grid points per side
10.9.3.2.6. 6 grid points per side
10.9.3.2.7. 9 grid points per side
10.9.3.2.8. 12 grid points per side
10.9.3.2.9. 15 grid points per side
10.9.3.2.10. 18 grid points per side
10.9.3.2.11. 21 grid points per side
10.9.3.2.12. 24 grid points per side
10.9.3.2.13. 27 grid points per side
10.9.3.2.14. 30 grid points per side
10.9.3.2.15. 33 grid points per side
10.9.3.2.16. 36 grid points per side
10.9.3.2.17. 39 grid points per side

11. PQPF - done

12. VERIFICATION

12.1. To be determined...