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)
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.bodyrc.lon;pos.heliocentric;stat.min 


 
 

solar_longitude_max

 

Double

deg

Max Solar longitude Ls (location on orbit / season)

pos.bodyrc.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"): 

target_name LIKE '%toto%' OR target_name is NULL

Operator IS also stands for numerical parameters (= accepted by latest DaCHS servers only)

No inf, -inf, or NaN value in ADQL? 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: they 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":

 

Support for PDS3 detached labels (proposal)

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


Utypes

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