<?xml version="1.0" encoding="UTF-8"?>
<gmd:MD_Metadata xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gmx="http://www.isotc211.org/2005/gmx" xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:gsr="http://www.isotc211.org/2005/gsr" xmlns:gmi="http://www.isotc211.org/2005/gmi" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.isotc211.org/2005/gmd http://schemas.opengis.net/csw/2.0.2/profiles/apiso/1.0.0/apiso.xsd">
  <gmd:fileIdentifier>
    <gco:CharacterString>f94620a5-838d-40ec-90ce-9f45e165d488</gco:CharacterString>
  </gmd:fileIdentifier>
  <gmd:language xmlns="http://www.isotc211.org/2005/gmd">
    <gmd:LanguageCode codeList="http://www.loc.gov/standards/iso639-2/" codeListValue="eng" />
  </gmd:language>
  <gmd:parentIdentifier>
    <gco:CharacterString>33c185f3-15d0-417d-824f-10ee8bc7d14a</gco:CharacterString>
  </gmd:parentIdentifier>
  <gmd:hierarchyLevel xmlns="http://www.isotc211.org/2005/gmd">
    <gmd:MD_ScopeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_ScopeCode" codeListValue="workflow" />
  </gmd:hierarchyLevel>
  <gmd:metadataStandardVersion xmlns="http://www.isotc211.org/2005/gmd">
    <gco:CharacterString>1.0</gco:CharacterString>
  </gmd:metadataStandardVersion>
  <gmd:identificationInfo xmlns="http://www.isotc211.org/2005/gmd">
    <gmd:MD_DataIdentification>
      <gmd:citation>
        <gmd:CI_Citation>
          <gmd:title>
            <gco:CharacterString>Radar Aeroecology Weather Radar Data Processing Workflow</gco:CharacterString>
          </gmd:title>
          <gmd:date>
            <gmd:CI_Date>
              <gmd:date>
                <gco:Date>2025-05-30</gco:Date>
              </gmd:date>
              <gmd:dateType>
                <gmd:CI_DateTypeCode codeListValue="publication" codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#CI_DateTypeCode" />
              </gmd:dateType>
            </gmd:CI_Date>
          </gmd:date>
        </gmd:CI_Citation>
      </gmd:citation>
      <gmd:abstract>
        <gco:CharacterString>&lt;div&gt;This workflow allows to download radar data and process it into biological scatter data. It is composed by 5 components: 1) Initializer; 2) List KMNI files; 3) Download KMNI; 4) KNMI to ODIM converter; and 5) PVOL VP converter.
It is part of the &lt;a href="https://beta.naavre.net/vreapp/vl/ravl" target="_blank"&gt;Radar Aeroecology Virtual Lab&lt;/a&gt;.&lt;/div&gt;</gco:CharacterString>
      </gmd:abstract>
      <gmd:status>
        <gmd:MD_ProgressCode codeListValue="onGoing" codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_ProgressCode" />
      </gmd:status>
      <gmd:resourceMaintenance gco:nilReason="missing">
        <gco:CharacterString prefix="gmd" action="replace" namespace="http://www.isotc211.org/2005/gmd" />
      </gmd:resourceMaintenance>
      <gmd:descriptiveKeywords>
        <gmd:MD_Keywords>
          <gmd:keyword>
            <gco:CharacterString>Aerial animal movement</gco:CharacterString>
          </gmd:keyword>
          <gmd:keyword nilReason="missing">
            <gco:CharacterString>Biological scatter</gco:CharacterString>
          </gmd:keyword>
          <gmd:keyword nilReason="missing">
            <gco:CharacterString>Bird migration</gco:CharacterString>
          </gmd:keyword>
          <gmd:keyword nilReason="missing">
            <gco:CharacterString>Radar ontology</gco:CharacterString>
          </gmd:keyword>
          <gmd:keyword nilReason="missing">
            <gco:CharacterString>Weather radar</gco:CharacterString>
          </gmd:keyword>
          <gmd:keyword nilReason="missing">
            <gco:CharacterString>Altitude profile</gco:CharacterString>
          </gmd:keyword>
        </gmd:MD_Keywords>
      </gmd:descriptiveKeywords>
      <gmd:resourceConstraints>
        <gmd:MD_LegalConstraints>
          <gmd:accessConstraints>
            <gmd:MD_RestrictionCode codeListValue="license" codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_RestrictionCode" />
          </gmd:accessConstraints>
          <gmd:useLimitation>
            <gco:CharacterString>A license is being negotiated with the virtual lab developer.</gco:CharacterString>
          </gmd:useLimitation>
          <gmd:otherConstraints gco:nilReason="missing">
            <gco:CharacterString />
          </gmd:otherConstraints>
        </gmd:MD_LegalConstraints>
      </gmd:resourceConstraints>
      <gmd:pointOfContact>
        <gmd:CI_ResponsibleParty>
          <gmd:individualName>
            <gco:CharacterString>Berend-Christiaan Wijers</gco:CharacterString>
          </gmd:individualName>
          <gmd:organisationName>
            <gco:CharacterString>IBED - University of Amsterdam</gco:CharacterString>
          </gmd:organisationName>
          <gmd:contactInfo>
            <gmd:CI_Contact>
              <gmd:address>
                <gmd:CI_Address>
                  <gmd:electronicMailAddress>
                    <gco:CharacterString>B.C.Wijers@uva.nl</gco:CharacterString>
                  </gmd:electronicMailAddress>
                </gmd:CI_Address>
              </gmd:address>
            </gmd:CI_Contact>
          </gmd:contactInfo>
          <gmd:role>
            <gmd:CI_RoleCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#CI_RoleCode" codeListValue="owner" />
          </gmd:role>
        </gmd:CI_ResponsibleParty>
      </gmd:pointOfContact>
    </gmd:MD_DataIdentification>
  </gmd:identificationInfo>
  <gmd:workflow>
    <gmd:LW_Workflow>
      <gmd:containServices_workflow>
        <gmd:LW_WorkflowContainServices>
          <gmd:serviceName_workflow>
            <gco:CharacterString>Initializer</gco:CharacterString>
          </gmd:serviceName_workflow>
          <gmd:serviceDescription_workflow>
            <gco:CharacterString>This component checks if the workflow if configured correctly to process polar volume data. For instance, it makes sure it can find certain reference files in order to understand which Radars are being requested.</gco:CharacterString>
          </gmd:serviceDescription_workflow>
        </gmd:LW_WorkflowContainServices>
      </gmd:containServices_workflow>
      <gmd:containServices_workflow>
        <gmd:LW_WorkflowContainServices>
          <gmd:serviceName_workflow>
            <gco:CharacterString>List KMNI files</gco:CharacterString>
          </gmd:serviceName_workflow>
          <gmd:serviceDescription_workflow>
            <gco:CharacterString>This component communicates with the data repository of the KNMI. This component requests a KNMI API which data files exist for our search query. We will search by specifying three parameters: start_date, end_date, radar. If successful, the KNMI API will respond with a list of file names corresponding to radar measurements for our query. Note: The measurement interval for Dutch meteorological radars is 5 minutes. This means that each radar can produce up to 288 measurements in a given day. Occasionally, radars fail to produce measurements and will therefore have less than 288 files. By default, this component yields files in an interval of 15 minutes as opposed to 5 minutes. This is deliberately done in an attempt to reduce the strain on the servers and services. For research purposes it may be useful to set the interval to 5 minutes but during the tutorial a 15 minute interval should be kept.</gco:CharacterString>
          </gmd:serviceDescription_workflow>
        </gmd:LW_WorkflowContainServices>
      </gmd:containServices_workflow>
      <gmd:containServices_workflow>
        <gmd:LW_WorkflowContainServices>
          <gmd:serviceName_workflow>
            <gco:CharacterString>Download KMNI (Polar Volume data)</gco:CharacterString>
          </gmd:serviceName_workflow>
          <gmd:serviceDescription_workflow>
            <gco:CharacterString>This component downloads the data from the KNMI data repository.</gco:CharacterString>
          </gmd:serviceDescription_workflow>
        </gmd:LW_WorkflowContainServices>
      </gmd:containServices_workflow>
      <gmd:containServices_workflow>
        <gmd:LW_WorkflowContainServices>
          <gmd:serviceName_workflow>
            <gco:CharacterString>KNMI to ODIM converter</gco:CharacterString>
          </gmd:serviceName_workflow>
          <gmd:serviceDescription_workflow>
            <gco:CharacterString>Data downloaded from the KNMI API are HDF5 files which contain polar volumetric data, structured according to the data model of KNMI. Most of the analysis methods expect the format of the data model of ODIM, which means a conversion is needed. This component converts the KNMI format to an ODIM format and returns a list of files in ODIM format. Note: This component executes a subprocess call to a custom C program written by Hidde Leijense of KNMI. Hidde Leijense is often involved in research with the Animal Movement Ecology of the University of Amsterdam as the KNMI and UvA collaborate frequently. Only the structure of data has been converter, not the file type. Both the KNMI and ODIM use the same filetype, HDF5. HDF5 is an industry standard hierarchical data storage.</gco:CharacterString>
          </gmd:serviceDescription_workflow>
        </gmd:LW_WorkflowContainServices>
      </gmd:containServices_workflow>
      <gmd:containServices_workflow>
        <gmd:LW_WorkflowContainServices>
          <gmd:serviceName_workflow>
            <gco:CharacterString>PVOL VP converter</gco:CharacterString>
          </gmd:serviceName_workflow>
          <gmd:serviceDescription_workflow>
            <gco:CharacterString>This component converts Polar Volume (PVOL) data into a format that can be analyzed but also processed further into more derivatives, such as a vertical profile. A vertical profile (VP) is a way for us to 'summarize' the large amount of data that the Polar Volume shows. A polar volume of the KNMI can have up to 16 different parameters measured per elevation angle. Each radar measures a number of elevation angles. For that elevation, it measures a host of different quantities and returns those as datasets per quantity and elevation angle. To interpret all those elevation angles and quantities is extremely difficult. To alleviate this difficulty, a vertical profile can be generated using the vol2bird algorithm which analyses relevant quantities and elevation angles and attempts to determine the number of birds that have passed over an imaginary cross-section across the radar. It produces that information in a format which indicates per height bin a number of metrics. These metrics include the reflectivity in that specific bin, the expected number of birds / area and so on. The github page of Vol2bird contains more information on vol2bird and includes links to publications explaining how vol2bird works.</gco:CharacterString>
          </gmd:serviceDescription_workflow>
        </gmd:LW_WorkflowContainServices>
      </gmd:containServices_workflow>
    </gmd:LW_Workflow>
  </gmd:workflow>
  <gmd:distributionInfo xmlns="http://www.isotc211.org/2005/gmd">
    <gmd:MD_Distribution>
      <gmd:transferOptions>
        <gmd:MD_DigitalTransferOptions>
          <gmd:onLine>
            <gmd:CI_OnlineResource>
              <gmd:linkage>
                <gmd:URL>https://beta.naavre.net/jupyter/hub/user-redirect/lab/tree/Virtual%20Labs/RAVL/Git%20public/virtual_lab/workflows/Radar_data_processing.naavrewf</gmd:URL>
              </gmd:linkage>
              <gmd:protocol>
                <gco:CharacterString>WWW:LINK-1.0-http--link</gco:CharacterString>
              </gmd:protocol>
              <gmd:name nilReason="missing">
                <gco:CharacterString>Link to the workflow</gco:CharacterString>
              </gmd:name>
            </gmd:CI_OnlineResource>
          </gmd:onLine>
        </gmd:MD_DigitalTransferOptions>
      </gmd:transferOptions>
    </gmd:MD_Distribution>
  </gmd:distributionInfo>
</gmd:MD_Metadata>

