iodepo / odis-arch

Development of the Ocean Data and Information System (ODIS) architecture
https://book.oceaninfohub.org/
26 stars 16 forks source link

New pattern: hazards and disasters #110

Open pbuttigieg opened 1 year ago

pbuttigieg commented 1 year ago

E.g. accommodating the flood cased noted by Mika at SG-OIH-III.

Cross-link to UNDRR hazards and disasters classifications and ontological casting thereof.

pbuttigieg commented 1 year ago

At the CODATA CDI workshop in Dagstuhl, a team including @dr-shorthair, @simonhodson99, @shmfakhruddin developed a Tsunami data exchange application case to develop in WorldFAIR.

From this, we can abstract some generic hazards and disasters patterns.

We would create three ODIS-Arch patterns to link

pbuttigieg commented 1 year ago

A dummy pattern for seismic data relevant to tsunami warnings. @shmfakhruddin notes that much of this is accessible only through the use of specific software that handle large amounts of waveform data. Some agencies release the data itself, e.g. the USGS. The source is usually a regional agency responsible for issuing tsunami warnings. In the Pacific, the Pacific Tsunami Warning Centre (PTWC) is the source. @dr-shorthair clarifies that "seismic data" here does not refer to the waveforms themselves, but more a summary of a seismic event useful for hazard / disaster work.

ODIS will not / should not create patterns that would interfere / cause confusion with emergency response data sharing (in the sense of official warnings). But the data underlying the warning is of interest.

The key data is:

Note that different seismic sensors and networks don't communicate on the raw data level. The processed data shared via portals is of more interest.

The data relevant for tsunami warnings (e.g. gathered from PTWC) is:

Once the regional authority releases its warning, local actors cross-validate the data with nearby seismic network.

The information about the event is used to make predictions about whether something is tsunami-generating (e.g. changes the shape of the seafloor and causes water displacement).

{
    "@context": {
        "@vocab": "https://schema.org/"
    },
    "@type": "Dataset",
    "@id": "https://example.org/idForThisJSONDocument",
    "name": "Processed seismic event data from Station 123",
    "about": "http://purl.obolibrary.org/obo/ENVO_01000677",
    "description": "",
    "url": "https://example.com/mySeismicData_25325221356",,
    "license": "This work is released under the US Public Domain license.",
    "citation": "",
    "version": "2021-04-24T06:34:56.000Z",
    "keywords": [
        "seismic",
        "earthquake",
        "hypocentre",
        "tsunami"
    ],
    "measurementTechnique": "The URL to or text about the methods, technique or technology used in a Dataset",
    "variableMeasured": [
        {
            "@type": "PropertyValue",
            "name": "depth",
            "description": "Depth of the hypocentre below from mean sea level"
            "value" :  50,
                "unitCode": "http://qudt.org/vocab/unit/KiloM"
        },
        {
            "@type": "PropertyValue",
            "name": "moment magnitude",
            "url": "https://earthquake.usgs.gov/data/comcat/index.php#mag",
            "description": "The moment magnitude of the seismic event"
            "value" :  6.7,
                "unitCode": "http://qudt.org/vocab/unit/N-M"
        },
    ],
    "includedInDataCatalog": {
        "@id": "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojson",
        "@type": "DataCatalog",
        "url": "https://earthquake.usgs.gov/earthquakes/feed/v1.0/geojson.php"
    },
    "temporalCoverage": "2021-01-24T00:46:12+00:00",
    "distribution": {
        "@type": "DataDownload",
        "contentUrl": "https://example.com/myEarthquake.geojson",
        "encodingFormat": "GeoJSON"
    },
    "spatialCoverage": {
        "@type": "Place",
        "geo": {
            "@type": "GeoShape",
            "point": "142.014 10.161667"
        },
        "additionalProperty": {
            "@type": "PropertyValue",
            "propertyID": "http://dbpedia.org/resource/Spatial_reference_system",
            "value": "http://www.w3.org/2003/01/geo/wgs84_pos#lat_long"
        }
    },
    "provider": [
        {
            "@id": "https://www.usgs.gov/",
            "@type": "Organization",
            "legalName": "United States Geological Survey",
            "name": "United States Geological Survey",
            "url": "https://www.usgs.gov/"
        }
    ],
    "subjectOf": {
        "@type": "Event",
        "description": "Measurement of the moment magnitude a seismic event",
        "name": "Seismic event measurement",
        "potentialAction": {
            "@type": "Action",
            "name": "The instrumented action, measuring X",
            "instrument": {
                "@type": "Thing",
                "name": "Sampling instrument",
                "url": "TODO: Insert URI for a seismic network here (the whole network is needed to calculate the moment magnitude)",
                "description": "A network of seismometers and the systems processing their data to deliver earthquake summaries."
            }
        }
    }
}

Notes:

Note that agencies also share Services such as the USGS Latest Earthquake Portal. Products like this are more useful to usage scenarios encountered by UN Data @gonzalezmorales

pbuttigieg commented 1 year ago

Note that agencies also share Services such as the USGS Latest Earthquake Portal. Products like this are more useful to usage scenarios encountered by UN Data @gonzalezmorales

Here's a snippet to address the above, leveraging the Service schema.org type

{{
  "@context": "https://schema.org/",
  "@type": "Service",
  "serviceType": "Interactive map of earthquakes detected over the last 24 hours with magnitude 2.5+",
  "provider": {
    "@type": "GovernmentOrganization",
    "name": "United States Geological Survey"
    "url": "https://earthquake.usgs.gov/earthquakes/map/"
  },
  "keywords": [
        "seismic",
        "map",
        "global",
        "monitoring",
        "visualization",
        "earthquake",
        "hypocentre",
        "tsunami"
    ],
  "areaServed": {
    "@type": "Place",
    "name": "Earth"
  },
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "name": "Interactive services provided by a map server and feature service",
    "itemListElement": [
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Feature layers"
              "description": "GIS Feature Layers for plate boundaries, US fault lines, US hazards, population density"
            }
          },
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Data download"
              "description": "Download earthquake data in ATOM, CSV, GeoJSON, GeoJSONP, KML and QuakeML"
            }
          },
          {
            "@type": "Offer",
            "itemOffered": {
              "@type": "Service",
              "name": "Map visualization"
              "description": "Dynamic and interactive map visualization"
            }
          }
        ]
      }
}

Notes:

shmfakhruddin commented 1 year ago

@shmfakhruddin

dr-shorthair commented 1 year ago

The USGS Earthquake notification service API is documented at https://earthquake.usgs.gov/fdsnws/event/1/

pbuttigieg commented 1 year ago

Here's a snippet for models represented as software applications (other ways are possible, but of less interest here): Note that "unitCode": "http://qudt.org/vocab/unit/DEATHS-PER-1000I-YR" is not correct (need /100k) - PR to QUDT for this.

@fils most of the flattish fields can be typed for easier SHACLing

{
    {
  "@context": "https://schema.org/",
  "@type": "SoftwareApplication",
  "applicationCategory": "",
  "applicationSubCategory": "",
  "applicationSuite": "just in case it belongs to a family of models often run together", 
  "creativeWorkStatus": "Complete, incomplete, obsolete, etc - esp. important for rapid sharing",
  "about": "", 
  "abstract": "Text",
  "audience": "",
  "exampleOfWork": "URL", 
  "discussionUrl": "e.g. a GitHub issue tracker",
  "author": "ORCID or similar",
  "contributor": "ORCID or similar",
  "citation": "Important - this is not the citaiton of this CreativeWork, but a citation to another CreativeWork relevant to this CreativeWork (e.g. a paper describing a model which this CreativeWork is about)",
  "license": "",
  "isAccessibleForFree": "",
  "copyrightHolder": "",
  "copyrightYear": "", 
  "funder": "", 
  "funding": "", 
  "downloadUrl": "if a dereferenceable PID is available, prefferred",
  "installUrl": "if different from URL, perhaps docker container",
  "archivedAt": "URL - where is the long term archive of this software",
  "featureList": "example datasets, functions, ...", 
  "fileSize": "usually small, but can inflate with example data",
  "memoryRequirements": "how much RAM do you need to use this",
  "operatingSystem": "",
  "permissions": "Admin permissions, ",
  "processorRequirements": "architecture, e.g. IA64",
  "releaseNotes": "URL",
  "screenshot": "URL",
  "softwareAddOn": "URL - extensions etc",
  "hasPart": "e.g. if a model uses another model inside its operations",
  "isBasedOn": {
    "@type": "CreativeWork",
    "name": "NAME"
    "url": ""
  },
  "softwareHelp": "URL",
  "softwareRequirements": "text",
  "softwareVersion": "text",
  "storageRequirements": "space on harddisk or cloud",
  "supportingData": "Expected Datafeed Type - e.g. latest earthquakes from USGS",
  "provider": {
    "@type": "GovernmentOrganization",
    "name": "United States Geological Survey"
    "url": "https://earthquake.usgs.gov/earthquakes/map/"
  },
  "keywords": [
        "seismic",
        "map",
        "global",
        "monitoring",
        "visualization",
        "earthquake",
        "hypocentre",
        "tsunami"
    ],
  "areaServed": {
    "@type": "Place",
    "name": "Earth"
  },
"spatialCoverage": {
        "@type": "Place",
        "geo": {
            "@type": "GeoShape",
            "polygon": "142.014 10.161667,142.014 18.033833,147.997833 18.033833,147.997833 10.161667,142.014 10.161667"
        },
        "additionalProperty": {
            "@type": "PropertyValue",
            "propertyID": "http://dbpedia.org/resource/Spatial_reference_system",
            "value": "http://www.w3.org/2003/01/geo/wgs84_pos#lat_long"
        }
    },
"potentialAction": [
          {
            "@type": "Action",
            "name": "Forecasting damage to property",
            "description": "The number of buildings damaged (fully or partially) calculated with reference to the fragility function of buildings within the hazard extent area and the intensity of the hazard."
            "result":
               {
                    "@type": "PropertyValue",
                    "name": "Number of deaths attributed to disasters, per 100,000 population."
                    "description": "...",
                    "propertyID": ["..."]
                    "value" :  2,
                        "unitCode": "http://qudt.org/vocab/unit/DEATHS-PER-1000I-YR"
                },

            }, 
            "@type": "Action",
            "name": "...Repeat for all 38 of Sendai indicators",
            "description": "..."
            }
         ]
    }, 
}

@fils the syntax is for sure wrong here, but the last part is quite key: what potential actions can the mode (software) perform and what resulting PropertyValues / data can come out of it.

dr-shorthair commented 1 year ago

IRIs for some geographic definitions, such as CRS, are now available from OGC. See http://www.opengis.net/def/crs/OGC/1.3/CRS84 - longitude-latitude coordinate order

EPSG.io is another good resource for geodetic definitions.

GeoNames is good for named places, with point locations - e.g. https://www.geonames.org/2205218 for Fiji.

pbuttigieg commented 1 year ago

Quick post of results of a model, syntax to be cleaned up "Snippet for Sendai dataset of predicted/forecast values generated by modelling actions." "Can't put in property ID on Sendai indicators - need PIDs from UN" "Note QUDT IRI is for deaths/1000 inhabitats, not Number of deaths attributed to disasters, per 100,000 population. Let's do a PR for this term for Sendai" "Add publishing principles to all patterns" #111


{
    {
  "@context": {
    "@vocab": "https://schema.org/"
  },
  "@type": "Dataset",
  "@id": "https://example.org/idForThisJSONDocument",
  "name": "Forecast of loss from Tsunami XYZ",
  "about": "http://purl.obolibrary.org/obo/ENVO_01000689",
  "description": "text",
  "url": "https://example.com/myModelResult_25325221356",,
  "license": "This work is released under the Public Domain license.",
  "citation": "Citation of resource that is relevant to this one",
  "version": "v1.3",
  "abstract": "Text",
  "audience": ["government agencies","search and rescue","humanitarian agency"]
  "author": "ORCID or similar",
  "contributor": "ORCID or similar",
  "citation": "Important - this is not the citaiton of this CreativeWork, but a citation to another CreativeWork relevant to this CreativeWork (e.g. a paper describing a model which this CreativeWork is about)",
  "isAccessibleForFree": "1",
  "funder": {
    "@type": "FundingScheme",
    "name": "Horizon Europe"
    "url": "https://research-and-innovation.ec.europa.eu/funding/funding-opportunities/funding-programmes-and-open-calls/horizon-europe_en"
  },
  "funding": "...", 
  "archivedAt": "URL - where is the long term archive of this software",
  "isBasedOn": {
    "@type": "CreativeWork",
    "name": "NAME"
    "url": ""
  },
  "provider": {
    "@type": "GovernmentOrganization",
    "name": "United States Geological Survey"
    "url": "https://earthquake.usgs.gov/earthquakes/map/"
  },
  "keywords": [
        "tsunami",
        "model output",
        "global",
        "monitoring",
        "visualization"
    ],
  "creativeWorkStatus": "Complete, incomplete, obsolete, etc - esp. important for rapid sharing", 
  "variableMeasured": [
    {
      "@type": "PropertyValue",
      "name": "Number of deaths attributed to disasters, per 100,000 population.",
      "description": "The scope of disaster in this and subsequent targets is defined in paragraph 15 of the Sendai Framework for Disaster Risk Reduction 2015-2030 and applies to small-scale and large-scale, frequent and infrequent, sudden and slow-onset disasters caused by natural or man-made hazards, as well as related environmental, technological and biological hazards and risk.",
      "propertyID": ["..."]
      "value" :  2,
        "unitCode": "http://qudt.org/vocab/unit/DEATHS-PER-1000I-YR"
        },
    {
      "@type": "PropertyValue",
      "name": "...",
      "description": "...",
      "propertyID": "..."
    }
    ],

  "areaServed": {
    "@type": "Place",
    "name": "Earth"
  },
"spatialCoverage": {
        "@type": "Place",
        "geo": {
            "@type": "GeoShape",
            "polygon": "142.014 10.161667,142.014 18.033833,147.997833 18.033833,147.997833 10.161667,142.014 10.161667"
        },
        "additionalProperty": {
            "@type": "PropertyValue",
            "propertyID": "http://dbpedia.org/resource/Spatial_reference_system",
            "value": "http://www.w3.org/2003/01/geo/wgs84_pos#lat_long"
        }
    }
}
dr-shorthair commented 1 year ago

RO-Crate has recommended patterns for expression simple provenance traces using https://schema.org/CreateAction, using object for the input, result for the output, and instrument for the software used.

jmckenna commented 11 months ago

This pattern is also important for LAC region's coastal monitoring services.