ESO Programme and Run Identification Codes (ALMA excluded)

This page describes the identifiers of the observing programmes and runs for the La Silla Paranal Observatory (LPO), including APEX. ALMA uses a different concept (called "project code") not covered in this page.

The identification code assigned to each LPO observing programme has one of the following formats:

  • TP.C-NNNN (all programmes approved before ESO period 105)
  • PPP.AAAA (as of ESO period 105)

Note: The director dedicated time (DDT) programmes of period 103 and 104 could be using both nomenclatures (see mapping table of P103/P104 DDTs).

Each observing programme contains one or more observing runs, each with its own run identifier (so-called run id).


Table of Contents:

  • In this page those two formats are described, including both programme ids and run ids.
  • At the bottom of this page you'll find a note about the usage of the programme id vs the run id, depending on which user interface you are on.



Any observing run within the ESO programme is identified by an extra letter within parentheses: TP.C-NNNN(R) where:

  1. T is the leading character indicating the programme type, one of:

         0=Normal, 1=Large, 2=DDT, 3=Short, 4=Calibration, 5=Monitoring

       As the table 1 shows, the leading character has been introduced at different times for different programme types. Therefore, it is not present for older periods. For the periods from 46 to 57 included, the leading character was a blank (indicated typografically with a \s in the table).

  2. P is the period number (2 digits for P<100, 3 digits for P>=100)

    Telescope time for ESO telescopes on Paranal and La Silla is allocated twice a year in periods of 6 months. Allocation periods run from 1 October through 31 March, and from 1 April through 30 September. Period 97, for example, corresponds to the time span: 1 April 2016 - 30 September 2016.

    The syntax for the period number has evolved with time and it is depending on the programme type, as explained in the table immediately below.

    Table 1: Evolution of the TP convention along the observing periods

    Programme Type Period 46 to 57 Period 58 to 71 From Period 72 onwards
    Normal programme \sP(*) P 0P
    GTO programme   P (starting 63) 0P
    ToO programme   P (starting 65) 0P
    Large programme   1P (starting 63)
    DDT programme   2P (starting 64)
    Short programme   3P (from 80 to 86)
    Calibration programme   4P (starting 82)
    Monitoring programme   5P (starting 92)

    * \s: a single space character

    Period 60 is a special period, still in use for some special programmes shown in the table here below.

    Table 2: Period 60: some special programmes are reserved ESO sequences

    Period 60 Programme Type
    60.A-9NNN, 60.O-9025 Commissioning and Science Verification programmes
    60.A-9700 (La Silla) and 60.A-9800/9801 (Paranal) Technical programmes (calibrations, etc.)
  3. C is the programme scientific category, as defined by the ESO Observing Programmes Committee (OPC).

    This is an uppercase letter, currently ranging from A to D. Check the OPC categories page for more details on the current categories. Caveat: the OPC categories have been different at different times.

    Other categories existed in previous periods, for example: E: periods 54-61; F: 54-61 (not APEX), H: 62-65; I: 62-65; L: 62-65 + 82-now [Calibration Proposals]; N: 62-65; O: 62-65; P: 62-65; S: 62-65.

    APEX: ESO proposals for APEX also use the OPC categories, while Onsala, Max-Planck and Chile APEX programmes, which do not go through the OPC, are assigned to category F (from period 77 onward).

  4. NNNN is a running number.

    In general, those number do not carry any specific meaning: they are simply used to make the identification code unique. There are though few special cases, whereby certain numbers are reserved for specific APEX programmes, as it can be seen in the following table.

    Table 3: APEX reserved NNNN sequences

    Programme Type Period 78 From period 79 onwards From period 81 onwards
    ESO LABOCA SV 9000<NNNN<9044  
    ESO SV APEX     9800<NNNN<9899
    Onsala regular APEX   9300<NNNN<9399
    Onsala SV APEX     9400<NNNN<9499
    Max Planck regular APEX   9500<NNNN<9599
    Max Planck SV APEX     9600<NNNN<9699
    Chile APEX     9700<NNNN<9799

    SV: Science Verification


  5. R is the observing run identifier.

    An uppercase letter in parentheses identfies a run within a programme.


    151.D-0004: a large programme in period 51.

    67.B-0026(A): run A of the normal programme 67.B-0026 (no leading character).

    092.A-0076(B): run B of the programme 092.A-0076, programme type: normal (leading character T=0).

    1100.B-0123: a (fictitious) large programme in period 100.


PPP.AAAA (as of ESO period 105)


As of ESO period 105 (proposal deadline 26 September 2019, start of operations on 1 April 2020) the programme ID format changed to a new simplified structure PPP.AAAA for Programme IDs and PPP.AAAA.nnn for run IDs, where

  • PPP is the ESO period during which the Cycle of the Proposal starts.
  • AAAA is a string of 4 characters, numeric and uppercase alphabetic
    • AAAA shall be picked from this list, i.e. avoiding I and O, which can be confused with 1 and 0: 0123456789ABCDEFGHJKLMNPQRSTUVWXYZ.
  • nnn is a 0-padded 3 digit integer identifying the Run.
    • The integer corresponds to the order of the runs in the proposal.

Example: Program 101.0AYD has 3 runs, 101.0AYD.001, 101.0AYD.002, 101.0AYD.003.

Programmes that could be using both nomenclatures

Some specific programmes could show, in different contexts, either the old or the new programme and run id formats. Please see the mapping table for DDT runs of period 103 and 104.


Note on the usage of run and programme identifiers in archive user interfaces

If interested in finding data from a specific programme or run, please be aware of the following.

Historically within the archive, programme ids and run ids have been used interchangeably, starting from the FITS header keyword that shows:

HIERARCH ESO OBS PROG ID = '106.216C.009' / ESO program identification

where effectively the stored value is a run id, and not a programme id.

The Science Portal service allows searches by the programme ids; when searching for some specific programme ids, data from all runs of those programmes are returned.

All other web archive user interfaces related to observing runs/programmes support searches by both run and programme identifiers within the same input field (usually labeled Run/Programme ID): when searching for a programme, all runs of the programme are returned in the result page; when searching for specific runs, only the individual runs are returned.

Programmatically, via TAP, the run ids are exposed, but, given that programme ids are substrings of the run ids, it is possibile to search by the programme id using wildcards as shown here below.

For reduced data, the query:
select * from ivoa.ObsCore where proposal_id='105.20GY.004'
returns data specific to the indicated run, but users can search for the programme id using a wildcard, as in:
select * from ivoa.ObsCore where proposal_id like '105.20GY%'

and similarly for raw data the query:
select * from dbo.raw where prog_id='105.20GY.004'
returns data specific to the run, but users can search for the programme id using a wildcard, as in:
select * from dbo.raw where prog_id like '105.20GY%'

The archive user interfaces that support both LPO and ALMA data embed in the same service field the ESO identifier (at programme level for the Science Portal, at run level for the TAP/ObsCore service) for the LPO records, and the project code for the ALMA records (e.g.: select * from ivoa.ObsCore where proposal_id='2018.1.00564.S').