## Example of ProvDM serialization for CTA data generation - M.Servillat - 2019-02-05 ## Content of the file # # Instances of Provenance Data model classes for an example with CTA: # - 3 observation blocks with CTA (H.E.S.S. public data release used as if it was CTA) # - image generation with gammapy_maps (run with OPUS at the Observatoire de Paris) # ## Structure of this file # # Each class instance is written as a paragraph that starts with the line: # :: # followed by the attributes of the class set to the value of the instance # # References to another instance is written as an attribute ending with "_id" # with the value set to the of the referenced instance # ## Prefix (used in identifier as namespaces) voprov = "http://www.ivoa.net/documents/ProvenanceDM#" uws = "http://www.ivoa.net/xml/UWS/v1.1#" foaf = "http://xmlns.com/foaf/0.1/" opus_user = "https://voparis-uws-test.obspm.fr/user/" opus_store = "https://voparis-uws-test.obspm.fr/store/?ID=" opus_job = "https://voparis-uws-test.obspm.fr/rest/" opus_jdl = "https://voparis-uws-test.obspm.fr/jdl/" cta_process = "https://www.cta-observatory.org/about/how-cta-works/#" cta_obs = "https://voparis-cta-test.obspm.fr/obslist/" cta_dl3 = "https://voparis-cta-test.obspm.fr/retrieve/" default = "http://opus-job-manager.readthedocs.io#" ## CTA Observation Process - Description classes cta_process:observation :: ActivityDescription ActivityDescription.name = "cta_observation" ActivityDescription.version = "1" ActivityDescription.description = "Perform an observation with CTA and return the reconstructed DL3 products" ActivityDescription.doculink = "https://www.cta-observatory.org/about/how-cta-works/" ActivityDescription.type = "observation" ActivityDescription.subtype = "cherenkov" CTA_subarray :: EntityDescription EntityDescription.name = "Cherenkov Telescope Array" EntityDescription.description = "Cherenkov Telescope Array composed of large, medium and small size telescope" EntityDescription.doculink = "https://www.cta-observatory.org/project/technology/" EntityDescription.type = "Device" CTA_DL3 :: DatasetDescription DatasetDescription.description = "CTA/H.E.S.S. dataset of data level 3 containing event list, IRF, PSF, GTI" DatasetDescription.contentType = "image/fits" DatasetDescription.doculink = "https://gamma-astro-data-formats.readthedocs.io/" DatasetDescription.type = "Data" cta_process:observation#subarray :: UsageDescription UsageDescription.role = "subarray" UsageDescription.description = "Subarray of telescopes used for the observation" UsageDescription.multiplicity = "1" UsageDescription.activityDescription_id = "cta_process:observation" UsageDescription.entityDescription_id = "CTA_subarray" cta_process:observation#dl3_dataset :: GenerationDescription GenerationDescription.role = "dl3_dataset" GenerationDescription.description = "dataset of data level 3 from the observation with CTA" GenerationDescription.type = "Main" GenerationDescription.activityDescription_id = "cta_process:observation" GenerationDescription.entityDescription_id = "CTA_DL3" ## gammapy_maps - Description classes opus_jdl:gammapy_maps :: ActivityDescription ActivityDescription.name = "gammapy_maps" ActivityDescription.version = "1" ActivityDescription.description = "Use gammapy to generate a count map from a list of observations" ActivityDescription.doculink = "https://luthgitlab.obspm.fr/jlefaucheur/hess_release_dm/" ActivityDescription.type = "analysis" ActivityDescription.subtype = "gammapy" fits_file :: DatasetDescription DatasetDescription.name = "fits_file" DatasetDescription.description = "FITS file" DatasetDescription.contentType = "image/fits" DatasetDescription.doculink = "https://fits.gsfc.nasa.gov/fits_standard.html" DatasetDescription.type = "Data" png_file :: DatasetDescription DatasetDescription.name = "png_file" DatasetDescription.description = "PNG image file" DatasetDescription.contentType = "image/png" DatasetDescription.type = "Visualization" ascii_file :: DatasetDescription DatasetDescription.name = "ascii_file" DatasetDescription.description = "ASCII text file" DatasetDescription.contentType = "text/plain" end_status_string :: ValueDescription ValueDescription.name = "end_status_string" ValueDescription.description = "Ending status of a job" ValueDescription.valueType = "string" ValueDescription.ucd = "meta.code" ValueDescription.utype = "uws:phase" ValueDescription.options = ["COMPLETED", "ABORTED", "ERROR"] string :: ValueDescription ValueDescription.name = "string" ValueDescription.description = "string" ValueDescription.valueType = "string" opus_jdl:gammapy_maps#obsids :: UsageDescription UsageDescription.role = "obsids" UsageDescription.description = "List of observations identifiers corresponding to DL3 data products" UsageDescription.type = "Main" UsageDescription.multiplicity = "*" UsageDescription.activityDescription_id = "opus_jdl:gammapy_maps" UsageDescription.entityDescription_id = "CTA_DL3" opus_jdl:gammapy_maps#count_map :: GenerationDescription GenerationDescription.role = "count_map" GenerationDescription.description = "map containing counts per pixel" GenerationDescription.type = "Main" GenerationDescription.activityDescription_id = "opus_jdl:gammapy_maps" GenerationDescription.entityDescription_id = "fits_file" opus_jdl:gammapy_maps#background_map :: GenerationDescription GenerationDescription.role = "background_map" GenerationDescription.description = "map of the background" GenerationDescription.type = "Main" GenerationDescription.activityDescription_id = "opus_jdl:gammapy_maps" GenerationDescription.entityDescription_id = "fits_file" opus_jdl:gammapy_maps#significance_map :: GenerationDescription GenerationDescription.role = "significance_map" GenerationDescription.description = "map of significance" GenerationDescription.type = "Main" GenerationDescription.activityDescription_id = "opus_jdl:gammapy_maps" GenerationDescription.entityDescription_id = "fits_file" opus_jdl:gammapy_maps#count_preview :: GenerationDescription GenerationDescription.role = "count_preview" GenerationDescription.type = "Preview" GenerationDescription.activityDescription_id = "opus_jdl:gammapy_maps" GenerationDescription.entityDescription_id = "png_file" opus_jdl:gammapy_maps#background_preview :: GenerationDescription GenerationDescription.role = "background_map_preview" GenerationDescription.type = "Preview" GenerationDescription.activityDescription_id = "opus_jdl:gammapy_maps" GenerationDescription.entityDescription_id = "png_file" opus_jdl:gammapy_maps#significance_preview :: GenerationDescription GenerationDescription.role = "significance_preview" GenerationDescription.description = "map preview containing significance of counts per pixel" GenerationDescription.type = "Preview" GenerationDescription.activityDescription_id = "opus_jdl:gammapy_maps" GenerationDescription.entityDescription_id = "png_file" opus_jdl:gammapy_maps#end_status :: GenerationDescription GenerationDescription.role = "end_status" GenerationDescription.description = "Ending status of a job" GenerationDescription.type = "Quality" GenerationDescription.activityDescription_id = "opus_jdl:gammapy_maps" GenerationDescription.entityDescription_id = "end_status_string" opus_jdl:gammapy_maps#error_msg :: GenerationDescription GenerationDescription.role = "error_msg" GenerationDescription.description = "Error message returned by the job" GenerationDescription.type = "Quality" GenerationDescription.activityDescription_id = "opus_jdl:gammapy_maps" GenerationDescription.entityDescription_id = "string" opus_jdl:gammapy_maps#RA :: ParameterDescription ParameterDescription.name = "RA" ParameterDescription.valueType = "xs:float" ParameterDescription.unit = "deg" ParameterDescription.ucd = "pos.eq.ra" ParameterDescription.description = "Target Right Ascencion" ParameterDescription.min = "0" ParameterDescription.max = "360" ParameterDescription.default = "329.7169379" ParameterDescription.activityDescription_id = "opus_jdl:gammapy_maps" opus_jdl:gammapy_maps#Dec :: ParameterDescription ParameterDescription.name = "Dec" ParameterDescription.valueType = "xs:float" ParameterDescription.unit = "deg" ParameterDescription.ucd = "pos.eq.dec" ParameterDescription.description = "Target Declination" ParameterDescription.min = "-180" ParameterDescription.max = "180" ParameterDescription.default = "-30.2255883" ParameterDescription.activityDescription_id = "opus_jdl:gammapy_maps" opus_jdl:gammapy_maps#nxpix :: ParameterDescription ParameterDescription.name = "nxpix" ParameterDescription.valueType = "xs:int" ParameterDescription.ucd = "phys.size;obs.image" ParameterDescription.description = "Number of pixels on the X axis" ParameterDescription.min = "0" ParameterDescription.max = "1000" ParameterDescription.default = "400" ParameterDescription.activityDescription_id = "opus_jdl:gammapy_maps" opus_jdl:gammapy_maps#nypix :: ParameterDescription ParameterDescription.name = "nypix" ParameterDescription.valueType = "xs:int" ParameterDescription.ucd = "phys.size;obs.image" ParameterDescription.description = "Number of pixels on the Y axis" ParameterDescription.min = "0" ParameterDescription.max = "1000" ParameterDescription.default = "400" ParameterDescription.activityDescription_id = "opus_jdl:gammapy_maps" opus_jdl:gammapy_maps#binsz :: ParameterDescription ParameterDescription.name = "binsz" ParameterDescription.valueType = "xs:float" ParameterDescription.unit = "deg" ParameterDescription.ucd = "phys.size;instr.pixel" ParameterDescription.description = "Size of a pixel in degrees" ParameterDescription.default = "0.02" ParameterDescription.activityDescription_id = "opus_jdl:gammapy_maps" ## CTA Observation Process - Execution cta_obs:47802 :: Activity Activity.name = "cta_obs_47802" Activity.startTime = "2008-08-27T19:32:35" Activity.endTime = "2008-08-27T20:00:43" Activity.comment = "Observation of PKS 2155-304, sequence of 3, low gain, automatic pipeline" Activity.activityDescription_id = "cta_process:observation" cta_obs:47803 :: Activity Activity.name = "cta_obs_47803" Activity.startTime = "2008-08-27T20:03:05" Activity.endTime = "2008-08-27T20:31:13" Activity.comment = "Observation of PKS 2155-304, sequence of 3, low gain, automatic pipeline" Activity.activityDescription_id = "cta_process:observation" cta_obs:47804 :: Activity Activity.name = "cta_obs_47804" Activity.startTime = "2008-08-27T20:33:28" Activity.endTime = "2008-08-27T21:01:37" Activity.comment = "Observation of PKS 2155-304, sequence of 3, low gain, automatic pipeline" Activity.activityDescription_id = "cta_process:observation" ## Input cta_south_1 :: Entity Entity.name = "CTA South Array in configuration 1" Entity.location = "Chile" Entity.entityDescription_id = "CTA_subarray" u1 :: Used Used.role = "subarray" Used.activity_id = "cta_obs:47802" Used.entity_id = "cta_south_1" u2 :: Used Used.role = "subarray" Used.activity_id = "cta_obs:47803" Used.entity_id = "cta_south_1" u3 :: Used Used.role = "subarray" Used.activity_id = "cta_obs:47804" Used.entity_id = "cta_south_1" ## Results cta_dl3:47802 :: DatasetEntity DatasetEntity.location = "https://hess-dr.obspm.fr/retrieve/hess_dl3_dr1_obs_id_047802.fits.gz" DatasetEntity.entityDescription_id = "CTA_DL3" cta_dl3:47803 :: DatasetEntity DatasetEntity.location = "https://hess-dr.obspm.fr/retrieve/hess_dl3_dr1_obs_id_047803.fits.gz" DatasetEntity.entityDescription_id = "CTA_DL3" cta_dl3:47804 :: DatasetEntity DatasetEntity.location = "https://hess-dr.obspm.fr/retrieve/hess_dl3_dr1_obs_id_047804.fits.gz" DatasetEntity.entityDescription_id = "CTA_DL3" wgb1 :: WasGeneratedBy WasGeneratedBy.role = "dl3_dataset" WasGeneratedBy.entity_id = "cta_dl3:47802" WasGeneratedBy.activity_id = "cta_obs:47802" wgb2 :: WasGeneratedBy WasGeneratedBy.role = "dl3_dataset" WasGeneratedBy.entity_id = "cta_dl3:47803" WasGeneratedBy.activity_id = "cta_obs:47803" wgb3 :: WasGeneratedBy WasGeneratedBy.role = "dl3_dataset" WasGeneratedBy.entity_id = "cta_dl3:47803" WasGeneratedBy.activity_id = "cta_obs:47803" ## gammapy_maps - Execution opus_job:gammapy_maps/4e00f5 :: Activity Activity.name = "gammapy_maps/4e00f5" Activity.startTime = "2019-01-22T11:26:45" Activity.endTime = "2019-01-22T11:27:13" Activity.comment = "test of gammapy_maps" Activity.activityDescription_id = "opus_jdl:gammapy_maps" ## Configuration opus_job:gammapy_maps/4e00f5/parameters/RA :: Parameter Parameter.value = "329.7169379" Parameter.parameterDescription_id = "opus_jdl:gammapy_maps#RA" Parameter.activity_id = "opus_job:gammapy_maps/4e00f5" Parameter.entity_id = "cta_dl3:47802" opus_job:gammapy_maps/4e00f5/parameters/Dec :: Parameter Parameter.value = "-30.2255883" Parameter.parameterDescription_id = "opus_jdl:gammapy_maps#Dec" Parameter.activity_id = "opus_job:gammapy_maps/4e00f5" Parameter.entity_id = "cta_dl3:47802" opus_job:gammapy_maps/4e00f5/parameters/nxpix :: Parameter Parameter.value = "400" Parameter.parameterDescription_id = "opus_jdl:gammapy_maps#nxpix" Parameter.activity_id = "opus_job:gammapy_maps/4e00f5" opus_job:gammapy_maps/4e00f5/parameters/nypix :: Parameter Parameter.value = "400" Parameter.parameterDescription_id = "opus_jdl:gammapy_maps#nypix" Parameter.activity_id = "opus_job:gammapy_maps/4e00f5" opus_job:gammapy_maps/4e00f5/parameters/binsz :: Parameter Parameter.value = "0.02" Parameter.parameterDescription_id = "opus_jdl:gammapy_maps#binsz" Parameter.activity_id = "opus_job:gammapy_maps/4e00f5" ## Input u4 :: Used Used.role = "obsids" Used.activity_id = "opus_job:gammapy_maps/4e00f5" Used.entity_id = "cta_dl3:47802" u5 :: Used Used.role = "obsids" Used.activity_id = "opus_job:gammapy_maps/4e00f5" Used.entity_id = "cta_dl3:47803" u6 :: Used Used.role = "obsids" Used.activity_id = "opus_job:gammapy_maps/4e00f5" Used.entity_id = "cta_dl3:47804" ## Results opus_store:78ed40 :: DatasetEntity DatasetEntity.name = "count_map.fits" DatasetEntity.location = "https://voparis-uws-test.obspm.fr/store?ID=78ed40" DatasetEntity.entityDescription_id = "fits_file" opus_store:2508e9 :: DatasetEntity DatasetEntity.name = "background_map.fits" DatasetEntity.location = "https://voparis-uws-test.obspm.fr/store?ID=2508e9" DatasetEntity.entityDescription_id = "fits_file" opus_store:2a5815 :: DatasetEntity DatasetEntity.name = "significance_map.fits" DatasetEntity.location = "https://voparis-uws-test.obspm.fr/store?ID=2a5815" DatasetEntity.entityDescription_id = "fits_file" opus_store:c09bcd :: DatasetEntity DatasetEntity.name = "count_map.png" DatasetEntity.location = "https://voparis-uws-test.obspm.fr/store?ID=c09bcd" DatasetEntity.entityDescription_id = "png_file" opus_store:05990d :: DatasetEntity DatasetEntity.name = "background_map.png" DatasetEntity.location = "https://voparis-uws-test.obspm.fr/store?ID=05990d" DatasetEntity.entityDescription_id = "png_file" opus_store:60f4a7 :: DatasetEntity DatasetEntity.name = "significance_map.png" DatasetEntity.location = "https://voparis-uws-test.obspm.fr/store?ID=60f4a7" DatasetEntity.entityDescription_id = "png_file" ve1 :: ValueEntity # end_status ValueEntity.value = "COMPLETED" ValueEntity.entityDescription_id = "end_status_string" ve2 :: ValueEntity #error_msg ValueEntity.value = "No error" ValueEntity.entityDescription_id = "string" wgb4 :: WasGeneratedBy WasGeneratedBy.role = "count_map" WasGeneratedBy.entity_id = "opus_store:78ed40" WasGeneratedBy.activity_id = "opus_job:gammapy_maps/4e00f5" wgb5 :: WasGeneratedBy WasGeneratedBy.role = "background_map" WasGeneratedBy.entity_id = "opus_store:2508e9" WasGeneratedBy.activity_id = "opus_job:gammapy_maps/4e00f5" wgb6 :: WasGeneratedBy WasGeneratedBy.role = "significance_map" WasGeneratedBy.entity_id = "opus_store:2a5815" WasGeneratedBy.activity_id = "opus_job:gammapy_maps/4e00f5" wgb7 :: WasGeneratedBy WasGeneratedBy.role = "count_preview" WasGeneratedBy.entity_id = "opus_store:c09bcd" WasGeneratedBy.activity_id = "opus_job:gammapy_maps/4e00f5" wgb8 :: WasGeneratedBy WasGeneratedBy.role = "background_preview" WasGeneratedBy.entity_id = "opus_store:05990d" WasGeneratedBy.activity_id = "opus_job:gammapy_maps/4e00f5" wgb9 :: WasGeneratedBy WasGeneratedBy.role = "significance_preview" WasGeneratedBy.entity_id = "opus_store:60f4a7" WasGeneratedBy.activity_id = "opus_job:gammapy_maps/4e00f5" wgb10 :: WasGeneratedBy WasGeneratedBy.role = "effective_config" WasGeneratedBy.entity_id = "opus_store:62cbbc" WasGeneratedBy.activity_id = "opus_job:gammapy_maps/4e00f5" wgb11 :: WasGeneratedBy WasGeneratedBy.role = "end_status" WasGeneratedBy.entity_id = "ve1" WasGeneratedBy.activity_id = "opus_job:gammapy_maps/4e00f5" wgb12 :: WasGeneratedBy WasGeneratedBy.role = "error_msg" WasGeneratedBy.entity_id = "ve2" WasGeneratedBy.activity_id = "opus_job:gammapy_maps/4e00f5" ## Optional: Derivations (previews obtained from generated datasets) wdf1 :: WasDerivedFrom WasDerivedFrom.type = "Preview" WasDerivedFrom.generatedEntity_id = "opus_store:c09bcd" WasDerivedFrom.usedEntity_id = "opus_store:78ed40" wdf2 :: WasDerivedFrom WasDerivedFrom.type = "Preview" WasDerivedFrom.generatedEntity_id = "opus_store:05990d" WasDerivedFrom.usedEntity_id = "opus_store:2508e9" wdf3 :: WasDerivedFrom WasDerivedFrom.type = "Preview" WasDerivedFrom.generatedEntity_id = "opus_store:60f4a7" WasDerivedFrom.usedEntity_id = "opus_store:2a5815" ## Agents CTAO :: Agent Agent:name = "CTA Observatoire", Agent:email = "cta.observatoire@sympa.obspm.fr" ob_server :: Agent Agent:name = "Ob Server", Agent:email = "cta.observatoire@sympa.obspm.fr" opus_user:mservillat :: Agent Agent:name = "Mathieu Servillat", Agent:email = "mathieu.servillat@obspm.fr" opus_user:opus-admin :: Agent Agent:name: "opus-admin" waw1 :: WasAssociatedWith WasAssociatedWith:role = "observer" WasAssociatedWith:activity_id = "cta_obs:47802" WasAssociatedWith:agent_id = "ob_server" waw1b :: WasAssociatedWith WasAssociatedWith:role = "author" # Author of the activity description WasAssociatedWith:activity_id = "cta_obs:47802" WasAssociatedWith:agent_id = "CTAO" waw2 :: WasAssociatedWith WasAssociatedWith:role = "observer" WasAssociatedWith:activity_id = "cta_obs:47803" WasAssociatedWith:agent_id = "ob_server" waw2b :: WasAssociatedWith WasAssociatedWith:role = "author" # Author of the activity description WasAssociatedWith:activity_id = "cta_obs:47803" WasAssociatedWith:agent_id = "CTAO" waw3 :: WasAssociatedWith WasAssociatedWith:role = "observer" WasAssociatedWith:activity_id = "cta_obs:47804" WasAssociatedWith:agent_id = "ob_server" waw3b :: WasAssociatedWith WasAssociatedWith:role = "author" # Author of the activity description WasAssociatedWith:activity_id = "cta_obs:47804" WasAssociatedWith:agent_id = "CTAO" waw4 :: WasAssociatedWith WasAssociatedWith:role = "owner" # activity was executed by this agent, owner is the UWS term WasAssociatedWith:activity_id = "opus_job:gammapy_maps/4e00f5" WasAssociatedWith:agent_id = "opus_user:opus-admin" waw4b :: WasAssociatedWith WasAssociatedWith:role = "author" # Author of the activity description WasAssociatedWith:activity_id = "opus_job:gammapy_maps/4e00f5" WasAssociatedWith:agent_id = "opus_user:mservillat"