stats

Summary:

Nightly summary statistics, recorded by pass, from a surveysim run.

Naming Convention:

stats_surveysim.fits

Regex:

stats_surveysim\.fits

File Type:

FITS, 810 KB

Note: currently this is an output of surveysim, but in the future may become an output of real operations survey QA.

Contents

Number

EXTNAME

Type

Contents

HDU0

IMAGE

Blank.

HDU1

STATS

BINTABLE

Nighly summary statistics by pass.

FITS Header Units

HDU0

EXTNAME = PRIMARY

Empty HDU.

HDU1

EXTNAME = STATS

Survey summary statistics by pass.

Required Header Keywords

KEY

Example Value

Type

Comment

NAXIS1

1826

int

length of dimension 1

NAXIS2

13

int

length of dimension 2

TILES

desi-tiles.fits

str

Name of the tiles file specified in desisurvey config.

START

2020-03-15

str

YEAR-MM-YY of the first night of the survey.

STOP

2020-04-15

str

YEAR-MM-YY of the most recent night with statistics recorded.

Required Data Table Columns

Name

Type

Units

Description

MJD

float64

MJD of local noon before this night.

tsched

float64

d

Total scheduled time for all programs during this night.

topen

float64[3]

d

Actual time dome was open during this night, per program.

tdead

float64[3]

d

Deadtime during this night (dome open, but idling), per program.

tscience

float64[8]

d

Time spent with the shutter open for science exposures, per pass.

tsetup

float64[8]

d

Time spent setting up to observe a new field, per pass.

tsplit

float64[8]

d

Time spent setting up to reobserve the previous field, per pass.

completed

int32[8]

d

Number of tiles completed this night, per pass.

nexp

int32[8]

d

Number of exposures recorded this night, per pass.

nsetup

int32[8]

d

Number of setups to observe a new field, per pass.

nsplit

int32[8]

d

Number of setups to re-observe a previous field, per pass.

nsetup_abort

int32[8]

d

Number of times a new field setup was aborted, per pass.

nsplit_abort

int32[8]

d

Number of times a repeat field setup was aborted, per pass.

The table contains one row per night, with row N corresponding to N nights after the header START date.

All timing statistics are in units of days.

The topen and tdead arrays are indexed by the number of programs, which are defined in the tiles module. There will always be space for all three programs (DARK, GRAY, BRIGHT), even when using a custom tiles file with fewer programs actually used.

The remaining arrays are indexed by the number of passes, which depends on the actual tiles file being used. In general, a tiles file uses arbitrary pass numbering, which might not be dense or consecutive for each program. The Tiles object defines data structures to map the indices used here to the pass numbers and programs used in the tiles file.

Notes and Examples

A SurveyStatistics object tracks survey statistics during simulation:

import surveysim.stats
stats = surveysim.stats.SurveyStatistics()

Its internal state after a simulation (or each night) can be saved using, for example:

stats.save('stats.fits', comment='Baseline (seed=1)')

This state can then later be restored using:

stats = surveysim.stats.SurveyStatistics(restore='stats.fits')