List of EPN-TAP parameters
(refreshed/completed April 2019) (SE) 

EPN-TAP

Parameters which must be provided

are now clearly identified - those are not only mandatory, they also must provide a value.
They are mostly related to service description and granule identification.

+ See notes below the table.

Thematic extensions

Some science fields will require optional parameters, which need to be used consistently between services addressing the same field. Such extensions have to be designed by sub-groups involved in the corresponding data services, either as providers or users. This includes:

Name, v2

Value required (not NULL)?

SQL type

Unit / Format / Range

Description

UCD

Please comment!
 

UCD in Obscore 1.1

(30/3/2016 version)

Utype

(tentative) 

Comments

EPNCore mandatory parameters
(Must be present, possibly empty)





Current value
current but dubious or undefined
check this (dubious)

— ? : closest sense

_ : N/A in ObsCore

from epntap v2 mixin (aug 2017)
equivalent/close in ObsCore doc 1.1

 

granule_uid

Y

Text


Internal table row index.
Unique ID in data service.

meta.id

  meta.id;meta.dataset

meta.id
 Can be alphanum.

granule_gid

Y

Text


Common to granules of same type

meta.id

meta.id
E.g. same map projection, or geometry data products. Can be alphanum.

obs_id

Y

Text


Associates granules derived from the same data

meta.id;obs

meta.idobscore:DataID.observationID E.g. various representations / processing levels. Can be alphanum., may be the ID of original observation.
Keep it simple in intricate situations.

dataproduct_type

Y

Text


Organization of the data product, from enumerated list

meta.code.class

meta.id

Epn.dataProductType

obscore:ObsDataset.dataProductType


target_name


Text


Standard IAU name of target (from a list related to target class), case sensitive.

meta.id;src

meta.id;srcEpn.TargetNameCase sensitive
Services with no target_name do exist

target_class

Y

Text


Type of target, from enumerated list

src.class

src.classEpn.TargetClass

time_min


Double

d (date as JD)

Start time (in JD). UTC measured at time_origin location (default is observer's frame)

time.start;obs

time.start;obs.exposure

Char.TimeAxis.Coverage.Bounds.Limits.Interval.StartTime

TBD (from ObsCore)


time_max


Double

d (date as JD)

Stop time (in JD). UTC measured at time_origin location (default is observer's frame)

time.end;obs

time.end;obs.exposure

Char.TimeAxis.Coverage.Bounds.Limits.Interval.StopTime

TBD (from ObsCore)


time_sampling_step_min


Double

s

Min time sampling step

time.resolution;stat.min

time.resolution — ?Epn.Time.Time_sampling_step_min

time_sampling_step_max


Double

s

Max time sampling step

time.resolution;stat.max


Epn.Time.Time_sampling_step_max

time_exp_min


Double

s

Min integration time

time.duration;obs.exposure;stat.min


time.duration;obs.exposureEpn.Time.Time_exp_min

time_exp_max


Double

s

Max integration time

time.duration;obs.exposure;stat.max



Epn.Time.Time_exp_max

spectral_range_min


Double

Hz

Min spectral range (frequency)

em.freq;stat.min

em.wl;stat.min

(always as wl)
Epn.Spectral.Spectral_range_minAlways as freq

spectral_range_max


Double

Hz

Max spectral range (frequency)

em.freq;stat.max

em.wl;stat.maxEpn.Spectral.Spectral_range_max

spectral_sampling_step_min


Double

Hz

Min spectral sampling step

em.freq.step;stat.min

meta.numberEpn.Spectral.Spectral_sampling_step_min

spectral_sampling_step_max


Double

Hz

Max spectral sampling step

em.freq.step;stat.max

meta.numberEpn.Spectral.Spectral_sampling_step_max

spectral_resolution_min


Double


Min spectral resolution (resolving power)

spect.resolution;stat.min

spect.resolution
(relates to resolving power)

Epn.Spectral.Spectral_resolution_min

Now (2019) provides resolving power |(lambda / delta(lambda)| = |f /Df|
How do we accommodate FWHM for filters?

spectral_resolution_max


Double


Max spectral resolution (resolving power)

spect.resolution;stat.max


Epn.Spectral.Spectral_resolution_max

Now (2019) provides resolving power |(lambda / delta(lambda)| = |f /Df|
How do we accommodate FWHM for filters?

c1min


Double

(1)

Longitude from 0. to 359.9999

RA from 0. to 23.9999

Min of first coordinate

pos;stat.min

pos.distance;stat.min (bof)
or pos.radius;stat.min (does not exist)
  for spherical & cylindrical

pos.eq.ra;stat.min for celestial 

pos.bodyrc.lon;stat.min for body

pos.cartesian.x;stat.min for Cartesian

pos.healpix for healpix (with 2 parameters?  - weird) - TBC

empty ("") for none (and no unit)

pos.eq.raEpn.Spatial.Spatial_range.c1minTypo in current mixin (.lonG => .lon

c1max


Double

(1)


Max of first coordinate

pos;stat.max, etc


Epn.Spatial.Spatial_range.c1max

c2min


Double

(1)

Latitude from -89.9999 to +89.9999

Min of second coordinate

pos;stat.min

pos.angDistance;stat.min
or pos.az.zd;stat.min (for zenithal distance) for spherical 

or pos.az.azi;stat.min (for azimuth)
  for cylindrical

pos.eq.dec;stat.min for celestial 

pos.bodyrc.lat;stat.min for body

pos.cartesian.y;stat.min for Cartesian

empty ("") for none (and no unit)

pos.eq.decEpn.Spatial.Spatial_range.c2min

c2max


Double

(1)

Max of second coordinate

pos;stat.max, etc


Epn.Spatial.Spatial_range.c2max

c3min


Double

(1)

Min of third coordinate

pos;stat.min

pos.AngDistance;stat.min
or pos.az.azi;stat.min (for azimuth)
  for spherical

pos.distance;stat.min  for cylindrical

pos.distance;stat.min for celestial 

pos.bodyrc.alt;stat.min for body? (from surface only, implicitly from reference level)
or
pos.distance;pos.bodyrc;stat.min for body (from center)?

pos.cartesian.z;stat.min for Cartesian

empty ("") for none (and no unit)


Epn.Spatial.Spatial_range.c3min

c3max


Double

(1)

Max of third coordinate

pos;stat.max, etc


Epn.Spatial.Spatial_range.c3max

s_region


spoly

PgSphere spoly

ObsCore-like footprint for celestial, spherical, or body-fixed frames.

phys.outline;obs.field


phys.outline;obs.fieldobscore:Char.SpatialAxis.Coverage.Support.Area

(was initially instr.fov, to be corrected)
ObsCore value updated (was phys.angArea;obs)
Frame may be identified in q.rd (UNKNOWNFrame).
Use value given in spatial_frame_type - very unclear…
Do we need another param for GIS interface?

c1_resol_min


Double

(1)

Min resolution in first coordinate

pos.resolution;stat.min
if linear 

pos.angResolution;stat.min
if angular

pos.angResolution;stat.minEpn.Spatial.Spatial_resolution.c1_resol_minpos.resolution restored in 2018
In body fixed frame, use pixelscale_min/max for resolution at the surface 

c1_resol_max


Double

(1)

Max resolution in first coordinate

pos.resolution;stat.max
if linear 

pos.angResolution;stat.max
if angular

pos.angResolution;stat.maxEpn.Spatial.Spatial_resolution.c1_resol_max_

c2_resol_min


Double

(1)

Min resolution in second coordinate

pos.resolution;stat.min
if linear 

pos.angResolution;stat.min
if angular


Epn.Spatial.Spatial_resolution.c2_resol_min_

c2_resol_max


Double

(1)

Max resolution in second coordinate

pos.resolution;stat.max
if linear 

pos.angResolution;stat.max
if angular


Epn.Spatial.Spatial_resolution.c2_resol_max_

c3_resol_min


Double

(1)

Min resolution in third coordinate

pos.resolution;stat.min
if linear 

pos.angResolution;stat.min
if angular (spherical only)


Epn.Spatial.Spatial_resolution.c3_resol_minpos.resolution restored in 2018

c3_resol_max


Double

(1)

Max resolution in third coordinate

pos.resolution;stat.max
if linear 

 pos.angResolution;stat.min
if angular (spherical only) 


Epn.Spatial.Spatial_resolution.c3_resol_maxpos.resolution restored in 2018

spatial_frame_type

 Y

Text

(1)

Use "none" if undefined

Flavor of coordinate system, defines the nature of coordinates. From enumerated list

meta.code.class;pos.frame

_

A value is required by DaCHS (query will return errors if empty)
Default value = none

incidence_min


Double

deg

Min incidence angle (solar zenithal angle)

 pos.incidenceAng;stat.min

_Epn.View_angle.Incidence_angle_minUCD for angles included in 2018 

incidence_max


Double

deg

Max incidence angle (solar zenithal angle)

 pos.incidenceAng;stat.max

_Epn.View_angle.Incidence_angle_maxUCD for angles included in 2018

emergence_min


Double

deg

Min emergence angle

 pos.emergenceAng;stat.min

_Epn.View_angle.Emergence_angle_minUCD for angles included in 2018

emergence_max


Double

deg

Max emergence angle

 pos.emergenceAng;stat.max

_Epn.View_angle.Emergence_angle_maxUCD for angles included in 2018

phase_min


Double

deg

Min phase angle

pos.phaseAng;stat.min


Epn.View_angle.Phase_angle_min

phase_max


Double

deg

Max phase angle

pos.phaseAng;stat.max


Epn.View_angle.Phase_angle_max

instrument_host_name


Text


Standard name of the observatory or spacecraft

meta.id;instr.obsty

meta.id;instr.telProvenance.ObsConfig.Facility.name

instrument_name


Text


Standard name of instrument

meta.id;instr

meta.id;instrProvenance.ObsConfig.Instrument.name

measurement_type


Text


UCD(s) defining the data

meta.ucd

meta.ucdEpn.Measurement_type Add ;meta.modelled if simulation or model
Add ;stat.uncalib if uncalibrated data 

processing_level


Integer


Use dataset-related value. If none defined, use simplified CODMAC calibration level

meta.calibLevel

meta.code;obs.calib

~ obscore:ObsDataset.calibLevelTo be replaced by PDS4 values in v2.1?

creation_date

YTimestamp

(ISO-8601 String)

Date of first entry of this granule

time.creation

time;meta.dataset

modification_date

YTimestamp(ISO-8601 String)

Date of last modification

time.processing



Used to handle mirroring
Value being discussed in 2018

release_date

YTimestamp

(ISO-8601 String)

Start of public access period (set to creation_date if no proprietary period)

time.release

time.releaseobscore:Curation.releaseDate

service_title

Y

Text


Title of resource = schema name

meta.title



May be used to handle multiservice results

Common optional parameters









access_url


Text


URL of the data file, case sensitive (additional files may be linked through datalink_url). Can point to a script. If present, next 2 parameters must also be present.

meta.ref.url;meta.file

meta.ref.urlObs.Access.Reference

Use this to link data!
Could accommodate a datalink with access_format = 'application/x-votable+xml;content=datalink'
(from ObsCore)
- but this is a funny idea…

access_format


Text

(mime type in lowercase)

File format type  

meta.code.mime

meta.code.mimeObs.Access.Format

access_estsize


Integer

kbyte

Estimate file size in kbyte (with this spelling)

phys.size;meta.file

phys.size;meta.fileObs.Access.Size
access_md5
Text
MD5 Hash for the file when available (real file, not script) meta.checksum;meta.file


thumbnail_url


Text


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

meta.ref.url;meta.preview 




file_name


Text


Name of the data file only, case sensitive

meta.id;meta.file

meta.title;obs — ?
ObsCore obs_title is for a short free text string describing the granule. Do we want this?
datalink_url
Text(url)Provides links to files or services on the servermeta.ref.url;meta.datalink

Associated mime-type is 'application/x-votable+xml;content=datalink'
(from ObsCore)

species


Text


Identifies a chemical species, case sensitive

meta.id;phys.atmol



This is the only case sensitive parameter (with target_name)
waveband
Text

Electro-magnetic band, from enumerated list

instr.bandpass


alt_target_name
Textcan be a hash listProvides alternative target name if more commonmeta.id;src


target_region


Text


Type of region or feature of interest

obs.field




feature_name


Text


Secondary name
(e.g. standard name of a region of interest)

obs.field 



publisher


Text


Resource publisher

meta.curation

meta.ref.url;meta.curation~ obscore:Curation.publisherID

bib_reference


Text


Bibcode preferred if available, doi, or other biblio id, URL...

meta.bib

meta.bib.bibcode (if bibcode)

meta.bib.bibcode

(always as bibcode)

obscore:Curation.reference
internal_reference
Text
List of granule_uid(s) in the current servicemeta.id.cross

Use to link one granule to a set of other granules. To be used only if required - e.g. to solve situations that would otherwise require several tables
external_link
Text(url)Link to a web page providing more details on the granule.meta.ref.url

Link to an individual page in a web site associated to the database, e.g., a planet page in Exoplanets service. This is a way to provide extra granule information which cannot be accommodated in the table.

spatial_coordinate_description


Text


ID of specific coordinate system and version / properties

meta.code.class;pos.frame



~COOSYS, but includes planetary ones
Still TBD. Discussion in progress here: EPN-TAP v2: Current discussion topic

spatial_origin


Text


Defines the frame origin

meta.ref;pos.frame




time_origin


Text


Defines where the time is measured (e. g., ground vs spacecraft)

meta.ref;time.scale



target_time is of course always on target.

time_scale


Text


Always UTC in data services - from enumerated list

time.scale




subsolar_longitude
DoubledegSub-solar point longitudepos.bodyrc.lon;stat.min

Provided in the most natural body-related coordinate frame, E-handed - seems to require 'body'
No min/max here 
subsolar_latitude
DoubledegSub-solar point latitudepos.bodyrc.lat;stat.min

_
subobserver_longitude
DoubledegSub-observer point longitude (sub-Earth for ground based observations)pos.bodyrc.lon;stat.min

_
subobserver_latitude
DoubledegSub-observer point latitude (sub-Earth for ground based observations) pos.bodyrc.lat;stat.min

_

ra


Double

deg only (like ObsCore)

Right ascension (not hour angle!)

pos.eq.ra;meta.main




dec


Double

deg

Declination

pos.eq.dec;meta.main




radial_distance_min
DoublekmMin distance from center (in body-fixed frame)pos.distance;pos.bodyrc;stat.min


radial_distance_max
DoublekmMax distance from center (in body-fixed frame)pos.distance;pos.bodyrc;stat.max


altitude_fromshape_min
DoublekmMin altitude above shape model / DTM (in body-fixed frame)pos.bodyrc.alt;stat.min


altitude_fromshape_max
DoublekmMax altitude above shape model / DTM (in body-fixed frame)pos.bodyrc.alt;stat.max


solar_longitude_min


Double

deg

Min Solar longitude Ls (location on orbit / season)

pos.ecliptic.lon;pos.heliocentric;stat.min 





solar_longitude_max


Double

deg

Max Solar longitude Ls (location on orbit / season)


pos.ecliptic.lon;pos.heliocentric;stat.max




local_time_min


Double

h

Min local time at observed region

time.period.rotation;time.phase;stat.min




local_time_max


Double

h

Max local time at observed region

time.period.rotation;time.phase;stat.max




target_distance_min


Double

km

Min observer-target distance

pos.distance;stat.min




target_distance_max

Double

kmMax observer-target distancepos.distance;stat.max


target_time_min


Double

d

Min observing time in target frame

time.start



(simplest way to look for coordinated observations)

target_time_max


Double

d

Max observing time in target frame

time.end




earth_distance_min
DoubleauMin Earth-target distancepos.distance;stat.min


earth_distance_max
DoubleauMax Earth-target distance

pos.distance;stat.max




sun_distance_min
DoubleauMin Sun-target distancepos.distance;stat.min


sun_distance_max
DoubleauMax Sun-target distancepos.distance;stat.max


Parameters from extensions









obs_mode
Text
Observing modemeta.code;instr.setup


detector_name
Text
Detector namemeta.id;instr.det

From APIS + observation extensions (UCDs adapted later)
opt_elem
Text
Optical element namemeta.id;instr.param


filter
Text Identifies filter in use, typically for images.meta.id;instr.filter

Informative only, free format (no list, but see http://svo2.cab.inta-csic.es/svo/theory/fps3/). Search can only rely on spectral range, as ObsCore does.
instrument_type
Text
type of instrumentmeta.id;instr

To be used with caution: free format, no reference list intended.
acquisition_id
Text
ID of the data file/acquisition in the original archivemeta.id


proposal_id
Integer
Proposal identifiermeta.id;obs.proposal


proposal_pi
text
Proposal principal investigator

meta.id.PI;obs.proposal




proposal_title
Text
Proposal titlemeta.title;obs.proposal


campaign
Text
Name of the observational campaignmeta.id;meta.code


target_description
Text
Original target keywordsmeta.note;src


proposal_target_name
Text
target name as in proposal titlemeta.note;obs.proposal


target_apparent_radius
Double
Apparent radius of the target

phys.angSize;src




north_pole_position
Double
North pole position angle with respect to celestial north polepos.angDistance


target_primary_hemisphere
Text
Primary observed hemispheremeta.id;obs.field


target_secondary_hemisphere
Text
Secondary observed hemispheremeta.id;obs.field


platesc
Double
spatial resolution per pixel or platescale (on sky only)pos.angResolution


orientation
Double
Position angle of image y axis (on sky only)pos.posAng


observer_name
Text
Observer name

obs.observer;meta.main




observer_institute
Text
Observer institutemeta.note;meta.main


observer_id
Integer
Image observer's PVOL numeric identifier

meta.id.PI




Group of 5 from PVOL, UCDs are wrong
this was meta.pubid

observer_code
Text
Image observer's PVOL usernamemeta.id.PI

meta.pubcode
observer_country
Text
Image observer's country of residencemeta.note;obs.observer

meta.pubcountry
observer_lon
Double
Observer's approximate longitudeobs.observer;pos.earth.lon


meta.publon
observer_lat
Double
Observer's approximate latitudeobs.observer;pos.earth.lat

meta.publat
mass
Doublekg Mass of objectphys.mass

Solar System Objects extension (generic values in catalogues, not observations)
sideral_rotation_period
Doubleh Object rotation ratetime.period.rotation


mean_radius
Doublekm
phys.size.radius


equatorial_radius
Doublekm
phys.size.radius


polar_radius
Doublekm
phys.size.radius


diameter
doublekmTarget diameter, or equivalent diameter for binary objectsphys.size.diameter

Used in tnosarecool, not very consistent (use radius?)

semi_major_axis


Doubleau

phys.size.smajAxis




inclination
Double
Orbit inclination

src.orbital.inclination




eccentricity
Double
Orbit eccentricity

src.orbital.eccentricity




long_asc
DoubledegLongitude of ascending node, J2000.0src.orbital.node


arg_perihel
DoubledegArgument of Perihelion, J2000.0src.orbital.periastron


mean_anomaly
DoubledegMean anomaly at the epochsrc.orbital.meanAnomaly


dynamical_class


Text
Class of small body, from enumerated listmeta.code.class


dynamical_type
Text
Subdivision of the class, from enumerated listmeta.code.class


taxonomy_code
Text
Code for target taxonomysrc.class.color

Values depend on target type and possibly service
magnitude
DoublemagAbsolute magnitude. For small bodies, from HG magnitude systemphys.magAbs

Actually depends on service (eg, spectro_planets vs DynAstVO vs tnosarecool)
flux
DoublemJyTarget fluxphot.flux.density


albedo
Double
Target albedophys.albedo


map_projection


Text
ID from enumerated listpos.projection

Map extension

map_height


DoublepixelMap size in px

phys.size




map_width
DoublepixelMap size in px

phys.size




map_scale
Text
Format TBD

pos.wcs.scale?




pixelscale_min
Doublekm/pixelMin pixel size on a surface

instr.scale;stat.min




pixelscale_max
Doublekm/pixelMax pixel size on a surface

instr.scale;stat.max




particle_spectral_type


Text



meta.id;phys.particle



Particle spectroscopy extension

particle_spectral_range_min


Double



phys.energy;phys.particle;stat.min

phys.mass;phys.particle;stat.min




particle_spectral_range_max


Double



phys.energy;phys.particle;stat.max

phys.mass;phys.particle;stat.max




particle_spectral_sampling_step_min


Double



spect.resolution;phys.particle;stat.min




particle_spectral_sampling_step_max


Double



spect.resolution;phys.particle;stat.max




particle_spectral_resolution_min


Double



spect.resolution;phys.particle;stat.min




particle_spectral_resolution_max


Double



spect.resolution;phys.particle;stat.max




original_publisher



Text
Refers to the source of the data, especially in compilations of experimental datameta.note;meta.main

Experiment spectroscopy + contributive work extensions

producer_name


Text
Data producer name, especially in compilations of experimental datameta.note;meta.main


producer_institute


Text
Data producer institute, especially in compilations of experimental datameta.note;meta.main


sample_classification


Texthash listInformation related to class, sub-class, species… (using standard names)meta.note;phys.composition


sample_desc
Textcan be a hash listDescribes the sample, its origin, and possible preparationmeta.note


data_calibration_desc


Textcan be a hash listProvides information on post-processing meta.note

(preferably to a "comment" parameter)
setup_desc
Textcan be a hash listDescribes the experimental setup if needed - may include Aperture (size of sample measured), etcmeta.note


geometry_type


Text
Type of observation (such as bidirectional, biconical, directional-hemispherical, etc)meta.note


grain_size_min


DoubleµmMin particle size in µm

phys.size;stat.min




grain_size_max
Double
Max particle size in µm

phys.size;stat.max




azimuth_min
DoubledegMin azimuth angle for illuminationpos.azimuth;stat.min

Check meaning/requirements for <0 values?
UCD added in 2018 (instead of pos.azimuthAng requested - OK)

azimuth_max
DoubledegMax azimuth angle for illuminationpos.azimuth;stat.max

UCD added in 2018

pressure


DoublebarAmbient pressure

phys.pressure



VOunits says: Pascal.
But this is in files 

measurement_atmosphere


text
Describes experimental conditions. "vacuum" for measurements under vacuum.

meta.note;phys.pressure




temperature
DoubleKAmbient temperature

phys.temperature




event_type


Text

Type of event from enumerated list (e. g., meteor_shower, fireball, lunar_flash, comet_tail_crossing…)

TBD

Events extension
If dataproduct_type = ev
UCDs should be provided with the standard

event_status
Text

From enumerated list

TBD


event_cite
Text

From enumerated list

TBD



(1): depending on context (as given by spatial_frame_type). Please comment here: EPN-TAP v2: Current discussion topic

Beware that datatypes apply to the epn_core view, not to the q.rd file where they can be different




Example table for IDs:

File name-type

granule_uid

granule_gid

obs_id

A-Raw

1

native

A

A-Calib

2

calibrated

A

A-geom

3

geometry

A

A-proj

4

projected

A

B-Raw

5

native

B

B-Calib

6

calibrated

B

B-geom

7

geometry

B

B-proj

8

projected

B 


Syntax


multivalued lists = first entry#second entry#…#last entry, or scalar (with no #)
Values separator = #
No quotes around the list

This can be parsed by ADQL/RegTAP function ivo_hashlist_has like this:
  select * from vvex.epn_core where 1 = ivo_hashlist_has(lower(target_name),'Venus')

Where the lower function is mandatory to handle values possibly containing upper cases (this is implicit on the 2nd argument)

Beware that only complete elements between separators will be found. The provider has to split the string according to expected searches, e.g.:
    Composite Infrared Spectrometer#CIRS
not    Composite Infrared Spectrometer (CIRS)

Parameters supporting multivalued lists include:
dataproduct_type (only when present in the same file; best avoided when possible)
target_name (but only one can be described in the granule)
alt_target_name
target_class
instrument_host_name
instrument_name (e.g. acronym and full name)
measurement_type
bib_reference
processing_level (when present in the same file)


NULL and special values:
A standard query on a parameter will not return granules with NULL/void value. E.g. target_name LIKE '%toto%' will only select granules with this value (standard ADQL behavior).
NULL/void has to be tested specifically (e.g., when it means "I don't know") using the IS operator (IS is used only to test the NULL value in ADQL): 

target_name LIKE '%toto%' OR target_name IS NULL

Syntax IS NULL stands for both strings and numerical parameters (the = operator is accepted in this context only by latest DaCHS servers)

No inf, inf, or NaN value in ADQL? At least Inf/-Inf should be there, as per DALI.

UCDs: the above table has been reviewed against the UCD documents, including latest discussions (4/2019). Review against PDS4 and IPDA to be performed.

2018 discussions / conclusions have been included herehttps://wiki.ivoa.net/twiki/bin/view/IVOA/UCDList1dot42017June2018FebRFM

min vs max

If only one value available, it must appear in both fields

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

• Granule_gid: any general indication to providers? I.e.: preview, native, calibrated, geometry… 
A client should be able to display the values present in a service, TBC (feasible in TOPCAT)

• Reshuffle previous "service parameters":


Other parameters

The most recent extra parameters often have names starting in prefix_*, where prefix identify the scope or context (e.g., spase_, vims_, image_, etc). Seems to be a good practice.

Accref is introduced by the EPN-TAP localfile mixin, but not used. It may be better to hide it entirely in the portal (TBC).


Parameters introducing error bars/uncertainties

Some parameters providing a scalar value X in the EPN-TAP table may be associated with an error bar in a related parameter. This is currently (4/2019) entered as:

In Basecom: Xerr (to be changed when upgrading to mixin version)
In DynAstVO: X_error
In Exoplanets: X_error_min; X_error_max
In planets: X_uncertainty
TNOsarecool: X_sigma_plus, X_sigma_minus (to be changed?)

The associated UCDs start with stat.error; or possibly stat.error.min; & stat.error.min; (those 2 are undefined, though)


Support for PDS3 detached labels (proposal)

Solution with datalink seems OK: data files under access_url and detached labels provided under datalink_url in a link table - although no attempt made to read them from the portal yet (use VIR unpublished service to test this).


Utypes (TBC)

Need to clean up current doc (2.0). Utypes are = DM fields. They are supposedly used to identify the meaning of parameters and help e.g. tools to grab required quantities - This will not work in some areas though, e. g. with spectral tools as they currently use UCD instead of Utype for this purpose (not many tools appear to actually rely on Utype in fact). See discussion here for usage (a bit old?): http://www.ivoa.net/documents/Notes/UTypesUsage/20130213/NOTE-utypes-usage-1.0-20130213.html

To handle this in practice:


Example of V2 with APIS database:

EPNcore Table v2

granule_uidgranule_gidobs_idaccess_urlaccess_formatthumbnail_url
o5g202x4q_x2doriginal_datao5g202x4qo5g202x4q_x2d.fitsimage/fitso5g202x4q_x2d_small.jpg
o5g202x4q_x2d_prevoriginal_data_previewo5g202x4qo5g202x4q_x2d.jpgimage/jpgo5g202x4q_x2d_small.jpg
o5g202x4q_procprocessed_datao5g202x4qo5g202x4q_proc.fitsimage/fitso5g202x4q_proc_small.jpg
o5g202x4q_proc_prevprocessed_data_previewo5g202x4qo5g202x4q_proc.jpgimage/jpgo5g202x4q_proc_small.jpg
o5g202x4q_cylcylindrical_projectiono5g202x4q o5g202x4q_cyl.jpgimage/jpgo5g202x4q_cyl_small.jpg
o5g202x4q_pol_npolar_projection_northo5g202x4q o5g202x4q_pol_n.jpgimage/jpgo5g202x4q_pol_n_small.jpg
o5g202x4q_pol_spolar_projection_southo5g202x4q o5g202x4q_pol_s.jpgimage/jpgo5g202x4q_pol_s_small.jpg