MOSAiC
Look out for datasets that are part of the MOSAiC expedition from 2019 -2020. There are a couple of special steps for datasets from this project.
When working on MOSAiC datasets:
- Find out the
EventId
from the researcher to annotate (Campaign
can be derived from theeventLabel
). Ask for it in your email:
We would like to ask for the event label associated with this dataset (see https://www.pangaea.de/expeditions/events/PS122%2F4).
Often times researchers do not have a full list of event labels, but instrument names are provided in the dataset metadata. In these cases, try to find the correct event labels by searching through the event lists and finding matching instrument names and dates. Each MOSAiC campaign has its own event list. Here is an example of an event list for the first cruise by the Polarstern research vessel.
- Find the appropriate dataset and attribute level annotations
- There are functions in
arcticdatautils
to help with annotating:mosaic_annotate_dataset
andmosaic_annotate_attribute
- The custom ontology for the datasets are currently in the sem-prov-ontologies repository but you won’t need to use it directly if the function works.
- Use
EML::shiny_attributes
only when no annotations have been added. The function does not work well with multiple annotations - Please continue to annotate the measurement types using
containst measurements of type
for all other attributes
- The portal is on DataONE. Make sure the dataset(s) show up in the portal after you add the annotations.
Here are two fully annotated datasets for reference:
The following shows how to add the annotations using arcticdatautils
and manually in the case the functions fail to work:
Dataset Level Annotations
There are 5 main campaigns in the MOSAiC expedition. The main campaigns follow the pattern PS122/#
. The full campaign list is easiest to view on the PANGAEA website. The first two letters of each campaign name correspond with the ship or station name (ex: PS = Polarstern).
arcticdatautils
doc$dataset$id <- "your id here"
doc$dataset$annotation <- NULL #make sure it is empty
doc$dataset$annotation <- mosaic_annotate_dataset(c("PS122/1", "PS122/2"))
Manual
Majority of the annotations will be the same across all of the datasets. Pay attention to what needs to be changed for the hasBasis
and isPartOfCampaign
valueURIs.
More than one Campaign
and Basis
might be needed in rare cases.
doc$dataset$id <- "your id here"
doc$dataset$annotation <- NULL #make sure it is empty here
doc$dataset$annotation <- list(
#Basis
list(
propertyURI = list(label = "hasBasis",
propertyURI = "https://purl.dataone.org/odo/MOSAIC_00000034"),
valueURI = list(label = "Polarstern", # this depends on your event ID, most of them should be Polarstern
valueURI = "https://purl.dataone.org/odo/MOSAIC_00000030")
),
#Project
list(
propertyURI = list(label = "hasProjectLabel",
propertyURI = "https://purl.dataone.org/odo/MOSAIC_00000025"),
valueURI = list(label = "MOSAiC20192020",
valueURI = "https://purl.dataone.org/odo/MOSAIC_00000023")
),
#Campaign
list(
propertyURI = list(label = "isPartOfCampaign",
propertyURI = "https://purl.dataone.org/odo/MOSAIC_00000032"),
valueURI = list(label = "PS122/2", #*** this changes depending on the campaign
valueURI = "https://purl.dataone.org/odo/MOSAIC_00000018")
) #*** this changes depending on the campaign
)
Attribute Level Annotations
Apply these to the attribute level of the dataset. Event IDs should have already be identified earlier on in the dataset review. Check the ticket overview for details.
arcticdatautils
doc$dataset$dataTable[[1]]$attributeList$attribute[[1]]$id <- "some id here"
doc$dataset$dataTable[[1]]$attributeList$attribute[[1]]$annotation <- mosaic_annotate_attribute("PS122/2_14-270")
Manual
event_annotation <- list(#Event Label
list(
propertyURI = list(label = "wasGeneratedBy",
propertyURI = "http://www.w3.org/ns/prov#wasGeneratedBy"),
valueURI = list(label = "PS122/2_14-270",
valueURI = "https://purl.dataone.org/odo/MOSAIC_00004550")
),
#Method/Device - Use the long name!
list(
propertyURI = list(label = "deployedSystem",
propertyURI = "https://purl.dataone.org/odo/MOSAIC_00002201"),
valueURI = list(label = "Ultra-Wideband Software-defined Microwave Radiometer (0.5-2GHZ)",
valueURI = "https://purl.dataone.org/odo/MOSAIC_00001163")
))
doc$dataset$dataTable$attributeList$attribute[[1]]$id <- "eventId"
doc$dataset$dataTable$attributeList$attribute[[1]]$annotation <-
event_annotate
Adding annotations
If there are already annotations applied (ie. using ECSO), the MOSAiC annotations can be added as so:
- get the index of all of the attributes we want to add this annotation
n <- which(stringr::str_detect(eml_get_simple(doc$dataset$dataTable$attributeList, "attributeName"),"Brightness"))
- loop through and add the annotation(s)
Portal updates
The filters are based on the MOSAiC ontology. The Campaign
and Basis
filters should remain relatively the same. However there are over 500 Method and Devices. So the decision was made to only show the ones we have annotated.
We can query for all of them and output them formatted as a choice:
Then update the portal document using the steps outlines in the advanced data portal customizations