List of EPN-TAP parameters
v2, 3/8/2015 (SE)
v3, 29/8/2015 (SE, integrating comments by PLS and BC)
v4, 7/9/2015 (SE, integrating comments by PLS)
v5, 7/10/2015 (SE, integrating comments by PLS: time_scale UCD)
v6, 7/11/2015 (SE, integrating comments by PLS/BC)

Main evolution relative to v1

1) The notion of dataset is deprecated

This was complex to handle in the database, and in general not relevant for the services.

 

2) Grouping of associated products is rationalized in version 2

granule_uid is equivalent to the previous index parameter and provides a unique ID for the granule in the service (index is a reserved word in database languages and should not have been used)

granule_gid is related to type of product: identical for granules containing the same type of information for different observations (e.g., calibrated files)

obs_id is related to an observation: identical for all granules related to the same observation, containing different type of data (e.g.: raw and calibrated data, associated geometry, etc)

 

As a general rule, different products related to the same observation are no longer described together on a single line of the epn_core view, but on successive lines associated by the same obs_id, each with a specific granule_guid (see Table 2 below).

It is recommended to link only one product per line in the epn_core view (plus a thumbnail wherever relevant). The notion of "main product" is therefore deprecated. Although less compact, this list presentation is much more efficient for machine-handling.

 

3) The notion of table/service parameters is deprecated

This was not supported by TAP. Therefore, even constant parameters must be replicated in every line of the epn_core view.

The corresponding parameters may be present also in the registry though, to provide a fast description of services.

 

4) Footprints can be provided through s_region

s_region is a parameter in the TAP standard of IVOA, and ADQL allows for powerful query functions such as intersections.

We have to extend its use from regions of the sky to body-related coordinates.

The use in the context of GIS has to be studied.

 

5) Better handling of the evolution of services

creation_date and modification_date are now mandatory parameters for every granule. The latter is intended to allow for fast mirroring of services.

 

6) Support for coordinated observations

The target_time parameter now provides observation time in the frame of the target. This is intended to facilitate the cross-correlation of observations from different location, e.g., telescopic observations in support of space missions, or multi-spacecraft campaigns.

 

7) Axes ranges

All parameters defining a range are now introduced with a min and max value.

All floating point parameters are now in double precision.

 

+ See notes below.

 

Name, v2

Name, v1

Class

Unit

Description

UCD

EPNCore mandatory parameters

 

 

 

 

 

granule_uid

index

Long

 

Internal table row index
Unique ID in data service, also in v2. Number only?

meta.id

granule_gid

_

Long

 

Associates granules of same type (e.g. same map projection, or geometry data products). Can be alphanum.

meta.id

obs_id

_

Long

 

Associates granules derived from the same data (e.g. various representations / processing levels). Can be alphanum., may be the ID of original observation.

meta.id

resource_type

String

 

Can be dataset or granule

meta.code.class

_ (TBC)

dataset_id

String

 

Dataset identification & granule reference

meta.id

dataproduct_type

dataproduct_type

String

 

Organization of the data product, from enumerated list

meta.code.class

target_name

target_name

String

 

Standard name of target (from a list depending on target type), case sensitive

meta.id;src

target_class

target_class

String

 

Type of target, from enumerated list

meta.code.class;src

time_min

time_min

Double

d

Acquisition start time (in JD). UTC at time_origin (default is observer's frame)

time.start

time_max

time_max

Double

d

Acquisition stop time (in JD). UTC at time_origin (default is observer's frame)

time.end

time_sampling_step_min

time_sampling_step_min

Float

s

Min time sampling step

time.interval;stat.min

time_sampling_step_max

time_sampling_step_max

Float

s

Max time sampling step

time.interval;stat.max

time_exp_min

time_exp_min

Float

s

Min integration time

time.duration;stat.min

time_exp_max

time_exp_max

Float

s

Max integration time

time.duration;stat.max

spectral_range_min

spectral_range_min

Float

Hz

Min spectral range (frequency)

em.freq;stat.min

spectral_range_max

spectral_range_max

Float

Hz

Max spectral range (frequency)

em.freq;stat.max

spectral_sampling_step_min

spectral_sampling_step_min

Float

Hz

min spectral sampling step

em.freq.step;stat.min
(not in list)

spectral_sampling_step_max

spectral_sampling_step_max

Float

Hz

Max spectral sampling step

em.freq.step;stat.max
(not in list)

spectral_resolution_min

spectral_resolution_min

Float

Hz

Min spectral resolution

spect.resolution;stat.min

spectral_resolution_max

spectral_resolution_max

Float

Hz

Max spectral resolution

spect.resolution;stat.max

c1min

c1min

Float

(1)

Min of first coordinate

pos;stat.min

c1max

c1max

Float

(1)

Max of first coordinate

pos;stat.max

c2min

c2min

Float

(1)

Min of second coordinate

pos;stat.min

c2max

c2max

Float

(1)

Max of second coordinate

pos;stat.max

c3min

c3min

Float

(1)

Min of third coordinate

pos;stat.min

c3max

c3max

Float

(1)

Max of third coordinate

pos;stat.max

s_region

 

Vector?

 

TAP-like footprint, assume spatial_coordinate_description – this one TBC (needs another param for GIS interface?)

 

c1_resol_min

c1_resol_min

Float

(1)

Min resolution in first coordinate

pos.resolution;stat.min
(not in list)

c1_resol_max

c1_resol_max

Float

(1)

Max resolution in first coordinate

pos.resolution;stat.max
(not in list)

c2_resol_min

c2_resol_min

Float

(1)

Min resolution in second coordinate

pos.resolution;stat.min
(not in list)

c2_resol_max

c2_resol_max

Float

(1)

Max resolution in second coordinate

pos.resolution;stat.max
(not in list)

c3_resol_min

c3_resol_min

Float

(1)

Min resolution in third coordinate

pos.resolution;stat.min
(not in list)

c3_resol_max

c3_resol_max

Float

(1)

Max resolution in third coordinate

pos.resolution;stat.max
(not in list)

spatial_frame_type

spatial_frame_type

String

 

Flavor of coordinate system, defines the nature of coordinates

meta.code.class;pos.frame

incidence_min

incidence_min

Float

 

Min incidence angle (solar zenithal angle)

pos.posang;stat.min 

incidence_max

incidence_max

Float

 

Max incidence angle (solar zenithal angle)

pos.posang;stat.max 

emergence_min

emergence_min

Float

 

Min emergence angle

pos.posang;stat.min 

emergence_max

emergence_max

Float

 

Max emergence angle

pos.posang;stat.max

phase_min

phase_min

Float

 

Min phase angle

pos.phaseang;stat.min

phase_max

phase_max

String

 

Max incidence angle

pos.phaseang;stat.max

instrument_host_name

instrument_host_name

String

 

Standard name of the observatory or spacecraft

meta.id;instr.obsty

instrument_name

instrument_name

String

 

Standard name of instrument

meta.id;instr

measurement_type

measurement_type

String

 

UCD(s) defining the data

meta.ucd

creation_date

 

String?

 

Date of first entry of this granule

 

modification_date

 

String?

 

Date of last modification (used to handle mirroring)

 

Optional parameters

 

 

 

 

 

access_url

access_url

String

 

URL of the data file, case sensitive. If present, next 2 parameters must be present.

meta.ref.url;meta.file

access_format

access_format

String

 

File format type (mime type in lowercases)

meta.code.mime

access_estsize

access_estsize

Integer

kB

Estimate file size in kB

phys.size;meta.file
(TBC)

_
replaced by another granule group?

preview_url

Integer

 

URL of a preview image (std format with adequate resolution for user's purpose)

meta.ref.url;meta.file

_
replaced by another granule group

native_access_url

String

 

URL of the data file in native form, case sensitive

meta.ref.url;meta.file

_
replaced by another granule group

native_access_format

String

 

File format type in native form

meta.id;class
or meta.code.mime (if we use MIME type)

thumbnail_url

_

Integer

 

URL of a thumbnail image with predefined size (png ~200 pix, for use in a client)

meta.ref.url;meta.file

file_name

file_name

String

 

Name of the data file only, case sensitive

meta.id;meta.file

species

species

String

 

Identifies a chemical species, case sensitive

meta.id;phys.atmol

target_region

target_region

String

 

Type of region of interest

meta.id;class

feature_name

element_name

String

 

Secondary name
(can be standard name of region of interest)

meta.id;pos

bib_reference

reference

String

 

Bibcode, doi, or other biblio id, URL…

meta.bib

ra

ra

Float

 

Right ascension

pos.eq.ra;meta.main

dec

dec

Float

 

Declination

pos.eq.dec;meta.main

solar_longitude_min

solar_longitude

Float

 

Min Solar longitude Ls (location on orbit / season)

pos.posangle (TBC)

solar_longitude_max

solar_longitude

Float

 

Max Solar longitude Ls (location on orbit / season)

pos.posangle (TBC)

local_time_min

local_time_min

Float

h

Local time at observed region

time.phase;stat.min?

local_time_max

local_time_max

Float

h

Local time at observed region

time.phase;stat.max?

target_distance
with _min & _max?

target_distance

Float

km

Observer-target distance

pos.distance

target_time_min

_

Double

d

Observing time in target frame (used to relate simultaneous observations from various locations)

time.start ??

target_time_max

_

Double

d

Observing time in target frame TBC if we want both.

time.end ??

particle_spectral_type

particle_spectral_type

String

 

 

 

particle_spectral_range_min

particle_spectral_range_min

Float

 

 

 

particle_spectral_range_max

particle_spectral_range_max

Float

 

 

 

particle_spectral_sampling_step_min

particle_spectral_sampling_step_min

Float

 

 

 

particle_spectral_sampling_step_max

particle_spectral_sampling_step_max

Float

 

 

 

particle_spectral_resolution_min

particle_spectral_resolution_min

Float

 

 

spect.resolution;stat.min

particle_spectral_resolution_max

particle_spectral_resolution_max

Float

 

 

spect.resolution;stat.max

Relative to service / Table header
(mandatory or not?)

 

 

 

 

 

processing_level

processing_level

Integer

 

CODMAC calibration level
To be replaced by PDS4 system?

meta.code;obs.calib

publisher

publisher

String

 

Resource publisher

meta.name

service_title

service_title
(was initially "title")

String

 

Title of resource

meta.title

spatial_coordinate_description

spatial_coordinate_description

String

 

?

?

spatial_origin

spatial_origin

String

 

Defines the frame origin

meta.ref;pos.frame

time_origin

time_origin

String

 

Defines where the time is measured

?

time_scale

?

String

 

Always UTC in data services

time.scale

 

  1. depending on context (as given by spatial_frame_type)




Extra in v2
• Ex table, TBC :

File name-type

granule_uid

granule_gid

obs_id

A-Raw

1

1 (or native)

1 (or A)

A-Calib

2

2

1

A-geom

3

3 (or geometry)

1

A-proj

4

4

1

B-Raw

5

1

2 (or B)

B-Calib

6

2

2

B-geom

7

3

2

B-proj

8

4

2

 

Other modifications


• string delimiter from enumerated lists = #first entry#second entry#…#last entry#
TBC with PDS, exoplanets, NSSDC…  (requires a character which never appears in target names, etc)


• Defaut values :
NULL/void: will never return an answer to a query using this parameter (TBC, seems ADQL-related. To be corrected if it is a limitation of the client)
For float / double : -inf for *_min +inf for *_max – still TBC (NaN won't do). To be tested on a real case.
For strings: not needed? (i.e. NULL/void is OK?)

• UCDs: to be reviewed against PDS4 and IPDA

• Processing levels: to be reviewed against PDS4 (again)

• min vs max :
if only one value, must appear in both fields

• Optional parameters: they come in sets that are logically related; if one present, the related ones must be present also (e.g., 3 access_* parameters)

• Granule_gid : any indication to providers? I.e.: preview, native, calibrated, geometry… 
A client should be able to display the values from a service


• Reshuffle previous "service parameters":

 

• New : all floating point parameters now in double precision – this prevents stupid errors…

 

Example of V1 to V2 conversion with APIS database:

Name, v2

Name, v1

Values in APIS

 index

23801

 

23802

 

23803

23804

23805

granule_uid

 

o5g202x4q_x2d

o5g202x4q_x2d_prevo5g202x4q_proco5g202x4q_proc_prevo5g202x4q_cylo5g202x4q_pol_no5g202x4q_pol_s

granule_gid

_

original_data

original_data_previewprocessed_dataprocessed_data_previewcylindrical_projectionpolar_projection_northpolar_projection_south

obs_id

_

o5g202x4q

o5g202x4qo5g202x4qo5g202x4qo5g202x4qo5g202x4qo5g202x4q

resource_type

granule

 granule granulegranulegranule

__

dataset_id

original_data

 processed_data cylindric_projpolar_proj_northpolar_proj_south

 

access_url

o5g202x4q_x2d.jpg

 o5g202x4q_proc.jpg o5g202x4q_cyl.jpgo5g202x4q_pol_n.jpgo5g202x4q_pol_s.jpg

access_url

 

o5g202x4q_x2d.fits

o5g202x4q_x2d.jpgo5g202x4q_proc.fitso5g202x4q_proc.jpgo5g202x4q_cyl.jpgo5g202x4q_pol_n.jpgo5g202x4q_pol_s.jpg

 

access_format

jpg

 jpg jpgjpgjpg

access_format

 

fits

jpgfitsjpgjpgjpgjpg

 

access_estsize

22000

 22000 220002200022000

access_estsize

 

 

22000 22000220002200022000

_
replaced by another granule group?

preview_url

o5g202x4q_x2d_small.jpg

 o5g202x4q_proc_small.jpg o5g202x4q_cyl_small.jpgo5g202x4q_pol_n_small.jpgo5g202x4q_pol_s_small.jpg

_
replaced by another granule group

native_access_url

o5g202x4q_x2d.fits

 o5g202x4q_proc.fits    

_
replaced by another granule group

native_access_format

fits

 fits    

thumbnail_url

_

o5g202x4q_x2d_small.jpg

o5g202x4q_x2d_small.jpgo5g202x4q_proc_small.jpgo5g202x4q_proc_small.jpgo5g202x4q_cyl_small.jpgo5g202x4q_pol_n_small.jpgo5g202x4q_pol_s_small.jpg