diff --git a/.github/workflows/mdformat.yml b/.github/workflows/mdformat.yml new file mode 100644 index 00000000..b3619faf --- /dev/null +++ b/.github/workflows/mdformat.yml @@ -0,0 +1,20 @@ +name: MD Format +on: [push, pull_request] + +jobs: + mdformat: + name: Mdformat Action + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Setup python + uses: actions/setup-python@v2 + with: + python-version: 3.9 + architecture: x64 + - uses: actions/cache@v1 + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} + - run: pip install -r requirements.txt + - run: mdformat --check docs diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml new file mode 100644 index 00000000..85e6298e --- /dev/null +++ b/.github/workflows/run-tests.yml @@ -0,0 +1,19 @@ +name: Run all tests +on: [push, pull_request] + +jobs: + tests: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Setup python + uses: actions/setup-python@v2 + with: + python-version: 3.9 + architecture: x64 + - uses: actions/cache@v1 + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} + - run: pip install -r requirements.txt + - run: pytest tests diff --git a/.gitignore b/.gitignore index d12b09cb..e15801ac 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .ve *.swp -*~ +.vscode +tests/__pycache__ \ No newline at end of file diff --git a/.gitmodules b/.gitmodules index 831c3f27..373d5356 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,6 @@ [submodule "docs/_static/docson"] path = docs/_static/docson url = https://github.com/OpenDataServices/docson - branch = master +[submodule "flatten-tool"] + path = flatten-tool + url = https://github.com/OpenDataServices/flatten-tool/ diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 83c08f23..c4b37e8a 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -8,6 +8,9 @@ version: 2 # Set the version of Python and other tools you might need build: os: ubuntu-22.04 + apt_packages: + - default-jdk + - graphviz tools: python: "3.9" # You can also specify other tool versions: @@ -18,6 +21,8 @@ build: # Build documentation in the docs/ directory with Sphinx sphinx: configuration: docs/conf.py + builder: dirhtml + fail_on_warning: true # If using Sphinx, optionally build your docs in additional formats such as PDF # formats: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 92b5090b..8765bb50 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -49,7 +49,7 @@ one of three ways: * if you have noticed an error in the specification, then please [file an issue](https://github.com/GFDRR/rdl-standard/issues) so that it can be fixed * if you have a proposal for revising or extending the standard, then please [submit a change proposal](https://github.com/GFDRR/rdl-standard/issues). We've created an [issue template](https://github.com/GFDRR/rdl-standard/blob/main/.github/ISSUE_TEMPLATE/change-proposal.md) that helps you provide useful context for the suggested change -* by submitting a pull request with the suggested change +* by [submitting a pull request with the suggested change](developer_docs.md#propose-changes) We recommend filing an issue or change proposal as the first step, so that fixes and changes can be discussed with the community. @@ -61,6 +61,3 @@ Please note that any contributions you make must be done so under [a CC-BY-SA li You can also contribute to making the standard a success by promoting it within your team, organisation or community. - - - diff --git a/SteeringCommittee/Minutes Steering Committee #1 - 08 Sept 2022.md b/SteeringCommittee/Minutes Steering Committee No.1 - 08 Sept 2022.md similarity index 99% rename from SteeringCommittee/Minutes Steering Committee #1 - 08 Sept 2022.md rename to SteeringCommittee/Minutes Steering Committee No.1 - 08 Sept 2022.md index 944789bf..0057b6dc 100644 --- a/SteeringCommittee/Minutes Steering Committee #1 - 08 Sept 2022.md +++ b/SteeringCommittee/Minutes Steering Committee No.1 - 08 Sept 2022.md @@ -1,4 +1,4 @@ -# Minutes Steering Committee #1 +# Minutes Steering Committee No.1 08 SEPTEMBER 2022 / 09:00-10:30 EDT / via Zoom diff --git a/SteeringCommittee/Minutes Steering Committee #2 - 07 Dec 2022.md b/SteeringCommittee/Minutes Steering Committee No.2 - 07 Dec 2022.md similarity index 99% rename from SteeringCommittee/Minutes Steering Committee #2 - 07 Dec 2022.md rename to SteeringCommittee/Minutes Steering Committee No.2 - 07 Dec 2022.md index 7abe23b4..c5818d69 100644 --- a/SteeringCommittee/Minutes Steering Committee #2 - 07 Dec 2022.md +++ b/SteeringCommittee/Minutes Steering Committee No.2 - 07 Dec 2022.md @@ -1,4 +1,4 @@ -# Minutes of RDLS Fellows project Steering Committee #2 +# Minutes of RDLS Fellows project Steering Committee No.2 7 DECEMBER 2022 / 09:00-10:00 EDT, 14:00-15:00 GMT / via Zoom diff --git a/SteeringCommittee/Minutes Steering Committee #3 - 12 January 2023.md b/SteeringCommittee/Minutes Steering Committee No.3 - 12 January 2023.md similarity index 98% rename from SteeringCommittee/Minutes Steering Committee #3 - 12 January 2023.md rename to SteeringCommittee/Minutes Steering Committee No.3 - 12 January 2023.md index e32f8acb..bd1d0104 100644 --- a/SteeringCommittee/Minutes Steering Committee #3 - 12 January 2023.md +++ b/SteeringCommittee/Minutes Steering Committee No.3 - 12 January 2023.md @@ -1,4 +1,4 @@ -# Minutes of RDLS Fellows project Steering Committee #3 +# Minutes of RDLS Fellows project Steering Committee No.3 12 January 2023 / 09:00-10:30 EDT, 14:00-15:00 GMT / via Teams diff --git a/SteeringCommittee/Minutes Steering Committee No.4 - 9 March 2023.md b/SteeringCommittee/Minutes Steering Committee No.4 - 9 March 2023.md index 49943785..903d990b 100644 --- a/SteeringCommittee/Minutes Steering Committee No.4 - 9 March 2023.md +++ b/SteeringCommittee/Minutes Steering Committee No.4 - 9 March 2023.md @@ -74,5 +74,6 @@ SC members: - Last minutes upload to github (PC) ## Next Meeting Agenda + - Date: May 11, 9am EST / 3pm CET - Proposed agenda: Risk Data Library Standard proposed change by ODS Global Risk Data Bank by IFRC diff --git a/developer_docs.md b/developer_docs.md index cbe8dddb..adb686c2 100644 --- a/developer_docs.md +++ b/developer_docs.md @@ -1,16 +1,43 @@ # Developer documentation -This page provides [how-to guides](#how-to-guides) and [reference documentation](#reference) for developers of the Risk Data Library Standard. +This page provides the following documentation for developers of the Risk Data Library Standard: + +- [How-to guides](#how-to-guides) +- [Style guides](#style-guides) +- [Reference documentation](#reference) ## How-to guides This section contains the following how-to guides: -* [Set up your development environment](#set-up-your-development-environment) +* [Propose changes](#propose-changes) +* [Set up a local development environment](#set-up-a-local-development-environment) +* [Resolve check failures](#resolve-check-failures) * [Build the documentation](#build-the-documentation) +* [Deploy changes](#deploy-changes) +* [Release a new version](#release-a-new-version) * [Update requirements](#update-requirements) +* [Add an RDLS metadata example](#add-an-rdls-metadata-example) + +### Propose changes + +Before completing the steps below, you first need to [set up a local development environment](#set-up-a-local-development-environment) so that you can resolve build errors and test failures before pushing your changes to GitHub. Alternatively, if your change is simple, you can use the [GitHub web editor](https://docs.github.com/en/repositories/working-with-files/managing-files/editing-files) and skip the running the pre-commit script, running the tests and building the documentation locally. + +1. Agree on a proposal in a [GitHub issue](https://github.com/GFDRR/rdl-standard/issues). +1. Create a branch from the `dev` branch. +1. Make your changes. Do not use normative keywords in non-normative content. For more information, see [normative and non-normative content in RDLS](https://docs.google.com/document/d/13g1SZO3ZSHbkymtc69lQOu9vB9vlZVZnodAcxC50l1M/edit#). +1. Run the pre-commit script (`./manage.py pre-commit`) to update reference documentation and format markdown files. +1. Run the tests (`pytest`) and [resolve any errors](#resolve-check-failures). +1. [Build the documentation](#build-the-documentation), [resolve any errors](#resolve-check-failures) and [preview your changes locally](#build-the-documentation). +1. Commit your changes to your branch and push it to GitHub. Your changes are available for anyone to preview at \[https://rdl-standard.readthedocs.io/en/{branch name}\](https://rdl-standard.readthedocs.io/en/{branch name}). +1. [Create a pull request](https://github.com/GFDRR/rdl-standard/compare): -### Set up your development environment +- Set the base branch to `dev`. +- Reference the issue number in the description. + +Once the pull request is merged, the updated documentation is available to preview at [https://rdl-standard.readthedocs.io/en/dev](https://rdl-standard.readthedocs.io/en/dev). + +### Set up a local development environment #### Clone the repository @@ -21,7 +48,7 @@ cd rdl-standard Subsequent instructions assume that your current working directory is `rdl-standard`, unless otherwise stated. -#### Install submodules +#### Update submodules ```bash git submodule init @@ -30,39 +57,60 @@ git submodule update #### Create and activate a Python virtual environment +The following instructions assume you have [Python 3.8](https://www.python.org/downloads/) or newer installed on your machine. + You can use either `pyenv` or `python3-venv`: ##### pyenv 1. Install [pyenv](https://github.com/pyenv/pyenv). The [pyenv installer](https://github.com/pyenv/pyenv-installer) is recommended. 1. Create a virtual environment. - ```bash - pyenv virtualenv rdl-standard - ``` + + ```bash + pyenv virtualenv rdl-standard + ``` + 1. Activate the virtual environment - ```bash - pyenv activate rdl-standard - ``` + + ```bash + pyenv activate rdl-standard + ``` + 1. Set the local application-specific virtual environment. Once set, navigating to the `rdl-standard` directory will automatically activate the environment. - ```bash - pyenv local rdl-standard - ``` + + ```bash + pyenv local rdl-standard + ``` ##### python3-venv -1. Install [python3-venv](https://docs.python.org/3/library/venv.html). +If you are using Python 3.3 or newer, `venv` is included in the standard Python installation. + +1. Create a virtual environment called .ve. + a. Linux/MacOS users + + ```bash + python3 -m venv .ve + ``` + + a. Windows users + + ```bash + py -m venv .ve + ``` - ```bash - sudo apt-get install python3-venv - ``` -1. Create a virtual environment. - ```bash - python3 -m venv .ve - ``` 1. Activate the virtual environment. You must run this command for each new terminal session. - ```bash - source .ve/bin/activate - ``` + a. Linux/MacOS users + + ```bash + source .ve/bin/activate + ``` + + b. Windows users + + ```bash + .\.ve\Scripts\activate + ``` #### Install requirements @@ -71,6 +119,46 @@ pip install --upgrade pip setuptools pip install -r requirements.txt ``` +Install Flatten Tool: + +```bash +pip install ./flatten-tool +``` + +### Resolve check failures + +#### mdformat + +If this check fails, run the following command to fix markdown formatting: + +```bash +mdformat docs +``` + +#### tests + +If this check fails, review the output to identify which test failed: + +##### test_json.py::test_empty + +Review the warnings to identify the empty JSON files and remove the files. + +##### test_json.py::test_indent + +Run the following command to indent JSON files: + +```bash +ocdskit indent -r . +``` + +##### test_json.py::test_invalid_json + +Review the warnings to identify the invalid JSON files and correct the errors. + +##### test_schema.py (all tests) + +Review the warnings to identify and correct the errors. For more information on each test, see https://jscc.readthedocs.io/en/latest/api/testing/checks.html#module-jscc.testing.checks. + ### Build the documentation Sphinx, which builds the documentation, doesn’t watch directories for changes. To regenerate the documentation, start an HTML server, and refresh the browser whenever changes are made, run: @@ -80,57 +168,187 @@ cd docs make autobuild ``` +Alternatively, build the documentation and view it using a local web server: + +```bash +cd docs +make html +python -m http.server --directory _readthedocs/html +``` + +### Deploy changes + +To deploy the `dev` branch to the live documentation site, [create a pull request](https://github.com/GFDRR/rdl-standard/compare) to merge the `dev` branch into the `main` branch. Once the pull request is merged, the changes are automatically deployed to the live site at [https://rdl-standard.readthedocs.io/en/](https://rdl-standard.readthedocs.io/en/). + +### Release a new version + +1. Update the MAJOR.MINOR `version` in `conf.py`. +1. Update the MAJOR.MINOR.PATCH version number in the following files: + * `docs/conf.py`: update `release` + * `docs/reference/schema.md`: update the canonical schema URL + * `schema/rdls_schema.json`: update `id` and `properties/links/prefixItems/properties/href/const` + * `schema/rdls_package_schema.json`: update `id` and `properties/networks/items/$ref` +1. Update the version number and date in `docs/about/changelog.md` + +1. Create a tag. For example: + +```bash + git tag -a 0__2__0 -m '0.2.0 release' +``` + +2. Push the tag: + +```bash + git push --follow-tags +``` + + + ### Update requirements 1. Install `pip-tools`. - ```bash - pip install pip-tools - ``` -2. Edit `requirements.in`. -3. Update `requirements.txt`. - ```bash - pip-compile - ``` -4. Install requirements. - ```bash - pip-sync requirements.txt - ``` -5. Commit your changes. + ```bash + pip install pip-tools + ``` +1. Edit `requirements.in`. +1. Update `requirements.txt`. + ```bash + pip-compile + ``` +1. Install requirements. + ```bash + pip-sync requirements.txt + ``` +1. Commit your changes. + + +## Add an RDLS metadata example + +1. Author your example RDLS metadata in JSON format. You can use either a text editor or the [RDLS spreadsheet template](https://github.com/GFDRR/rdls-spreadsheet-template/) and [Flatten Tool](https://flatten-tool.readthedocs.io/en/latest/). Your example RDLS metadata must be wrapped in an outer `datasets` array, e.g. + +```json +{ + "datasets": [ + { + "id": "1", + "title": "My example RDLS metadata" + } + ] +} +``` +1. Save your example JSON file to `examples/{component}/{title}/example.json` where `{component}` is the risk data component the example relates to (hazard, exposure, loss or vulnerability) and `{title}` is the title of the example. +1. Run `./manage.py pre-commit` to create a CSV version of the example. +1. Add Sphinx directives to the Markdown files in `docs` to render your example in the built documentation. + +## Style guides + +### Schema style guide + +#### Field descriptions + +##### Codelists + +Use the following template, noting that any `_` characters in the codelist title need to be replaced with the `-` character in the codelist URL: + +``` +The , from the [ codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#codelist-title). +``` + +### Changelog style guide + +- Use the [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) format. +- Begin each entry with a link to the pull request for the change. + +#### Normative content + +Changelog entries should be descriptive: + +- Bad entry: Update schema. +- Good entry: Make `name` required. + +If changes are made to files under the `schema` directory, it is assumed that corresponding changes were made to files under the `docs` directory. Do not add an entry under the "Documentation" heading if the changes directly correspond to entries under the "Codelists" and/or "Schema" headings. + +For changes to schema and codelists, preserve schema/codelist ordering when adding new changelog entries. Otherwise, to reduce merge conflicts, add new changelog entries to the end of the relevant bullet list. + +#### Non-normative content + +Changelog entries should be descriptive. Do not add an entry like "Improve primer." Instead, simply add the PR number to the "Primer" list item. ## Reference This section contains the following reference documentation: -* [Repository structure](#repository-structure) -* [Sphinx](#sphinx) -* [Read the Docs](#read-the-docs) - -### Repository structure - -* `.github/`: Issue templates and GitHub Actions workflows -* `docs/`: - * `*.md`, `*/*.md`: English documentation text - * `conf.py`: Sphinx configuration - * `_static/`: CSS and JavaScript for the documentation - * `_templates/`: Jinja templates for the documentation - * `.tx/`: Transifex configuration (not yet implemented) - * `img/`: Images used in the documentation - * `locale/`: Translations of the English documentation (not yet implemented) -* `schema/`: schema-related files -* `specs/`: TBD -* `SteeringCommittee/`: Minutes of steering committee meetings +- [GitHub repository](#github-repository) +- [Sphinx](#sphinx) +- [Read the Docs](#read-the-docs) +- [manage.py](#managepy) + +### GitHub repository + +The project repository is hosted on GitHub. + +#### Branches + +The `main` branch is used to build the 'live' version of the standard documentation. + +The `dev` branch is used to stage changes to the `main` branch. + +Feature branches branch off the `dev` branch, with work merged into the `dev` branch before finally being merged into the `main` branch. + +[Branch protection rules](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/managing-a-branch-protection-rule) are configured for the `main` and `dev` branches. The rules prevent commits being made directly by requiring [pull requests](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) before commits can be merged. They also require approvals and status checks to pass before merging. + +#### Directory structure + +- `.github/`: Issue templates and GitHub Actions workflows +- `docs/`: + - `*.md`, `*/*.md`: English documentation text + - `conf.py`: Sphinx configuration + - `_static/`: CSS and JavaScript for the documentation + - `_templates/`: Jinja templates for the documentation + - `.tx/`: Transifex configuration (not yet implemented) + - `img/`: Images used in the documentation + - `locale/`: Translations of the English documentation (not yet implemented) +- `examples`: Example JSON files, CSV files and figures +- `schema/`: schema- and codelist-related files +- `specs/`: TBD +- `SteeringCommittee/`: Minutes of steering committee meetings The following files are created by running a build and are not version controlled: -* `.ve/`: Python virtual environment (if using [python3-venv](#python3-venv)) -* `docs/_build`: Built HTML documentation +- `.ve/`: Python virtual environment (if using [python3-venv](#python3-venv)) +- `docs/_readthedocs`: Built HTML documentation ### Sphinx -[Sphinx](https://www.sphinx-doc.org/) is the documentation generator used to build the HTML documentation from Markdown source files. The Sphinx configuration for this project is based on the [Open Data Services Sphinx Base](https://github.com/OpenDataServices/sphinx-base). It uses the [MyST - Markedly Structured Text - Parser](https://myst-parser.readthedocs.io/en/latest/index.html) to parse the Markdown source files. +[Sphinx](https://www.sphinx-doc.org/) is the documentation generator used to build the HTML documentation from Markdown source files. It uses the [MyST - Markedly Structured Text - Parser](https://myst-parser.readthedocs.io/en/latest/index.html) to parse the Markdown source files. + +#### Configuration + +The Sphinx configuration for this project is based on the [Open Data Services Sphinx Base](https://github.com/OpenDataServices/sphinx-base) and is defined in `docs/conf.py`. So that links within the schema work on branches, the configuration replaces `{{version}}` placeholders in `schema/rdls_schema.json` and copies the processed schema to `docs/_readthedocs/html` for inclusion in the built documentation. ### Read the Docs [Read the Docs](https://readthedocs.org/) builds and hosts the standard documentation site. +Whenever a commit is pushed to a branch in the GitHub repository, Read the Docs automatically builds the [version](https://docs.readthedocs.io/en/stable/tutorial/index.html#versioning-documentation) associated with the branch and hosts it at https://rdl-standard.readthedocs.io/en/. + +#### Configuration + +https://rdl-standard.readthedocs.io/en/latest redrirects to https://rdl-standard.readthedocs.io/en/main. + +[Automation rules](https://docs.readthedocs.io/en/stable/automation-rules.html#automation-rules) are configured to: + +- Activate, build and hide a new version when a commit is pushed to a new branch in the GitHub repository. +- Delete the associated version when a branch is deleted in the GitHub repository. + +[Pull request builds](https://docs.readthedocs.io/en/stable/pull-requests.html) are also enabled. + +Other than the `main` branch, all branches are hidden from the [flyout menu](https://docs.readthedocs.io/en/stable/flyout-menu.html). + +#### Credentials + You can find credentials for Read the Docs in the Open Data Services password database. + +### manage.py + +The standard repository includes a command-line utility for administrative tasks. For information on the available commands, run `./manage.py --help`. diff --git a/docs/.gitignore b/docs/.gitignore index 00030614..cc108d19 100644 --- a/docs/.gitignore +++ b/docs/.gitignore @@ -1,2 +1,3 @@ _build *.mo +_readthedocs diff --git a/docs/Makefile b/docs/Makefile index 43ea5590..d14901da 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -5,7 +5,7 @@ SPHINXOPTS = SPHINXBUILD = sphinx-build PAPER = -BUILDDIR = _build +BUILDDIR = _readthedocs # Internal variables. PAPEROPT_a4 = -D latex_paper_size=a4 @@ -56,9 +56,9 @@ html: .PHONY: dirhtml dirhtml: - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/html @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." .PHONY: singlehtml singlehtml: @@ -226,6 +226,6 @@ dummy: .PHONY: autobuild autobuild: - sphinx-autobuild -nW -q -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + sphinx-autobuild --re-ignore='docs/_static/*' -nW -q -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/html @echo - @echo "Auto-build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + @echo "Auto-build finished. The HTML pages are in $(BUILDDIR)/html." diff --git a/docs/_static/custom.css b/docs/_static/custom.css index 4137573b..f7d76c07 100644 --- a/docs/_static/custom.css +++ b/docs/_static/custom.css @@ -9,3 +9,10 @@ .admonition.external-link > .admonition-title::before { content: "\f0c1"; } +.ofds-extra-nav a.reference.external::after { + font-family: FontAwesome; + content: "\f08e"; + vertical-align: super; + font-size: 60%; + margin: 0 0.2em; +} diff --git a/docs/_static/docson b/docs/_static/docson new file mode 160000 index 00000000..8ea21cd9 --- /dev/null +++ b/docs/_static/docson @@ -0,0 +1 @@ +Subproject commit 8ea21cd9c34e7379a2ac0aba640933901345d7d3 diff --git a/docs/_static/extra.css b/docs/_static/extra.css index 979cbf5c..58c03ec1 100644 --- a/docs/_static/extra.css +++ b/docs/_static/extra.css @@ -39,6 +39,9 @@ display: block; h1, h2, h3 { color: #0b3860; } +h2, h3 { + margin-top: 25px; +} ul { line-height: 1.7em!important; @@ -57,7 +60,9 @@ margin-bottom: 20px; margin-bottom: 20px; margin-right: 20px; } - +.wy-nav-content { + max-width: 1000px !important; +} .wy-side-nav-search { background-color: #0b3860; } @@ -68,4 +73,10 @@ margin-right: 20px; svg[id^="mermaid-"] { width: 100%; max-width: 80em; -} \ No newline at end of file +} +.wy-table-responsive table th { + white-space: pre; +} +.wy-table-responsive table td { + white-space: normal !important; +} diff --git a/docs/_static/json-example-format.js b/docs/_static/json-example-format.js new file mode 100644 index 00000000..25fe3a52 --- /dev/null +++ b/docs/_static/json-example-format.js @@ -0,0 +1,36 @@ + $( document ).ready(function() { + $(".expandjson").each(function(){ + classList = $(this).attr("class").split(/\s+/); + expand = [] + $.each(classList, function(index, item) { + if (item.indexOf('expand') === 0) { + expand.push(item.replace('expand-','')) + } + if (item.indexOf('file') === 0) { + filename = item + } + }); + jsontext = $(this).text().trim() + json = JSON.parse(jsontext) + if(json.length) { + json = json[0] + } + $(this).html(renderjson.set_show_to_level(1).set_max_string_length(100).set_default_open(expand)(json)) + if($(this).siblings(".selection-container").length === 0) { // NEED TO FIX THE CODE HERE. MOVE THINGS INTO THE PARENT CLASS CORRECTLY! + id = Math.floor(5 * (Math.random() % 1)); + $(this).wrap("
") + $(this).parent().prepend( + $("") + .change(function(){ + $(this).siblings(".expandjson").hide(); + $(this).siblings("."+ $(this).val()).show(); + })) + $(this).siblings("select").append($("").attr("value",filename).text(filename.replace("file-",""))) + } else { + container = $(this).siblings(".selection-container") + $(this).detach().appendTo(container) + $(this).siblings("select").append($("").attr("value",filename).text(filename.replace("file-",""))) + $(this).hide() + } + }); + }); diff --git a/docs/_static/renderjson.css b/docs/_static/renderjson.css new file mode 100644 index 00000000..0f7b1b61 --- /dev/null +++ b/docs/_static/renderjson.css @@ -0,0 +1,11 @@ +pre.renderjson { overflow: scroll; font-size:smaller; border: 1px solid #e1e4e5; padding: 12px; background-color: #eeffcc;} +.renderjson a { text-decoration: none; } +.renderjson .disclosure { color: grey; font-size: 150%; } +.renderjson .syntax { color: grey; } +.renderjson .string { color: #4070a0; } +.renderjson .number { color: darkcyan; } +.renderjson .boolean { color: blueviolet; } +.renderjson .key { color: #062873; font-weight: bold;} +.renderjson .keyword { color: blue; } +.renderjson .object.syntax { color: grey; } +.renderjson .array.syntax { color: grey; } diff --git a/docs/_static/renderjson.js b/docs/_static/renderjson.js new file mode 100644 index 00000000..03970242 --- /dev/null +++ b/docs/_static/renderjson.js @@ -0,0 +1,194 @@ +// Copyright © 2013-2014 David Caldwell +// +// Permission to use, copy, modify, and/or distribute this software for any +// purpose with or without fee is hereby granted, provided that the above +// copyright notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +// Usage +// ----- +// The module exports one entry point, the `renderjson()` function. It takes in +// the JSON you want to render as a single argument and returns an HTML +// element. +// +// Options +// ------- +// renderjson.set_icons("+", "-") +// This Allows you to override the disclosure icons. +// +// renderjson.set_show_to_level(level) +// Pass the number of levels to expand when rendering. The default is 0, which +// starts with everything collapsed. As a special case, if level is the string +// "all" then it will start with everything expanded. +// +// renderjson.set_max_string_length(length) +// Strings will be truncated and made expandable if they are longer than +// `length`. As a special case, if `length` is the string "none" then +// there will be no truncation. The default is "none". +// +// renderjson.set_sort_objects(sort_bool) +// Sort objects by key (default: false) +// +// Theming +// ------- +// The HTML output uses a number of classes so that you can theme it the way +// you'd like: +// .disclosure ("⊕", "⊖") +// .syntax (",", ":", "{", "}", "[", "]") +// .string (includes quotes) +// .number +// .boolean +// .key (object key) +// .keyword ("null", "undefined") +// .object.syntax ("{", "}") +// .array.syntax ("[", "]") + +var module; +(module||{}).exports = renderjson = (function() { + var themetext = function(/* [class, text]+ */) { + var spans = []; + while (arguments.length) + spans.push(append(span(Array.prototype.shift.call(arguments)), + text(Array.prototype.shift.call(arguments)))); + return spans; + }; + var append = function(/* el, ... */) { + var el = Array.prototype.shift.call(arguments); + for (var a=0; a 0) + show(); + return el; + + }; + + if (json === null) return themetext(null, my_indent, "keyword", "null"); + if (json === void 0) return themetext(null, my_indent, "keyword", "undefined"); + + if (typeof(json) == "string" && json.length > max_string) + return disclosure('"', json.substr(0,max_string)+" ...", '"', "string", function () { + return append(span("string"), themetext(null, my_indent, "string", JSON.stringify(json))); + }); + + if (typeof(json) != "object") // Strings, numbers and bools + return themetext(null, my_indent, typeof(json), JSON.stringify(json)); + + if (json.constructor == Array) { + if (json.length == 0) return themetext(null, my_indent, "array syntax", "[]"); + + return disclosure("[", " ... ", "]", "array", function () { + var as = append(span("array"), themetext("array syntax", "[", null, "\n")); + for (var i=0; i -1) ? show_level + 1 : show_level - 1 ), max_string, sort_objects), + k != last ? themetext("syntax", ",") : [], + text("\n")); + } + append(os, themetext(null, indent, "object syntax", "}")); + return os; + }); + } + + var renderjson = function renderjson(json) + { + var pre = append(document.createElement("pre"), _renderjson(json, "", false, renderjson.show_to_level, renderjson.max_string_length, renderjson.sort_objects)); + pre.className = "renderjson"; + return pre; + } + renderjson.set_icons = function(show, hide) { renderjson.show = show; + renderjson.hide = hide; + return renderjson; }; + renderjson.set_show_to_level = function(level) { renderjson.show_to_level = typeof level == "string" && + level.toLowerCase() === "all" ? Number.MAX_VALUE + : level; + return renderjson; }; + renderjson.set_max_string_length = function(length) { renderjson.max_string_length = typeof length == "string" && + length.toLowerCase() === "none" ? Number.MAX_VALUE + : length; + return renderjson; }; + renderjson.set_sort_objects = function(sort_bool) { renderjson.sort_objects = sort_bool; + return renderjson; }; + // Backwards compatiblity. Use set_show_to_level() for new code. + renderjson.set_show_by_default = function(show) { renderjson.show_to_level = show ? Number.MAX_VALUE : 0; + return renderjson; }; + + //Added by timgdavies + renderjson.set_default_open = function(node_list) { renderjson.default_open = node_list ? node_list : [] ; return renderjson; }; + + renderjson.set_icons('⊕', '⊖'); + renderjson.set_show_by_default(false); + renderjson.set_sort_objects(false); + renderjson.set_max_string_length("none"); + renderjson.set_default_open([]); + return renderjson; +})(); \ No newline at end of file diff --git a/docs/_templates/layout.html b/docs/_templates/layout.html index 6fceec14..c5bc710c 100644 --- a/docs/_templates/layout.html +++ b/docs/_templates/layout.html @@ -1,4 +1,11 @@ {% extends "!layout.html" %} -{% set css_files = css_files + ["_static/basic.css"] %} +{% set css_files = css_files + ["_static/custom.css", "_static/renderjson.css", "_static/jsonschema.css"] %} +{% set script_files = script_files + ["_static/renderjson.js", "_static/json-example-format.js"] %} +{% block menu %} +{{ super() }} + +{% endblock %} diff --git a/docs/about/changelog.md b/docs/about/changelog.md new file mode 100644 index 00000000..c536f07c --- /dev/null +++ b/docs/about/changelog.md @@ -0,0 +1,131 @@ +# Changelog + +This page lists changes to the Risk Data Library Standard. + +## 0.2.0 - 2023-09-08 + +### Schema + +- [#93](https://github.com/GFDRR/rdl-standard/pull/93) - Remove nesting in top-level object. +- [#101](https://github.com/GFDRR/rdl-standard/pull/101) - create `Exposure` object and updated associated field names, titles and descriptions. +- [#105](https://github.com/GFDRR/rdl-standard/pull/105) - Create `Spatial` object, replacing `common.geo_coverage`. +- [#102](https://github.com/GFDRR/rdl-standard/pull/102) - Replace `resource` object with `Resource` definition, add `Resource.id` and update the names, titles and descriptions of its other properties. +- [#104](https://github.com/GFDRR/rdl-standard/pull/104) - Add `Period` object. +- [#100](https://github.com/GFDRR/rdl-standard/pull/100) - Update field names, titles and descriptions not covered in other issues. +- [#119](https://github.com/GFDRR/rdl-standard/pull/119): + - Add fields: + - `identifier` + - `sources` + - `temporal_resolution` + - `Resource.temporal_resolution` + - Add `Source` definition. + - Update field descriptions in `Resource` definition. + - Add validation keywords to `Location`, `Gazetteer_entry` and `Geometry` definitions. +- [#116](https://github.com/GFDRR/rdl-standard/pull/116) - Replace `biblio_title` and `biblio_url` with `Related_resource` definition. +- [#115](https://github.com/GFDRR/rdl-standard/pull/115) - Add `Entity` and `Attribution` objects, update entity related field names and descriptions. +- [#121](https://github.com/GFDRR/rdl-standard/pull/121): + - Nest footprints within events and events within event sets. + - Update `calculation_method`. + - Add fields: + - `event_set.id` + - `event.id` + - `footprint_set.id` + - `event_set.disaster_identifier` + - `event_set.frequency_distribution` + - `event_set.seasonality` + - `event_set.calculation_method` + - `event_set.number_events` + - `event_set.temporal` + - Add codelists for `event_set.hazard_type` and `event_set.analysis_type`. + - Move `process_type` from `footprint_set` to `event` and `event_set`. + - Create `Occurrence` object. + - Removes `common_calc_method`, `common_frequency_type`, `common_hazard_type`, `common_impact_type`, `common_process_type` and `im_code`. +- [#124](https://github.com/GFDRR/rdl-standard/pull/124): + - Replace `vulnerability` object with `Vulnerability` definition. + - Replace `function_type`, `calculation_method`, `approach`, `f_math` and `f_relationship` with `functions` object and `Vulnerability_function`, `Fragility_function`, `Damage_to_loss_function` and `Engineering_demand_function` definitions. + - Add `.scale` to `Spatial` object. + - Update field names, titles and descriptions in `Vulnerability` definition. + - Create `Impact` object and update associated field names, titles and descriptions. + -[#132](https://github.com/GFDRR/rdl-standard/pull/132): + - Replace `loss` object with `Loss` definition. + - Removes `time_start`, `time_end`, `time_year` from `loss`. + - Removes `loss_loss_type`, `loss_metric` from `$defs`. +- [#127](https://github.com/GFDRR/rdl-standard/pull/127) - Inline `Exposure`, `Hazard_metadata`, `vulnerability`, `Vulnerability_function`, `Fragility_function`, `Occurence`, `Damage_to_loss_function`, `Engineering_demand_function`, `Probability`, `Empirical`, `Deterministic` and `Loss` and rearrange `$defs`. +- [#168](https://github.com/GFDRR/rdl-standard/pull/168) - Add version number and `links` field. +- [#163](https://github.com/GFDRR/rdl-standard/pull/163) - fix typos within rdl_schema_0.1.json +- [#180](https://github.com/GFDRR/rdl-standard/pull/180) - Refactors schema, moves `hazard`, `exposure`, `vulnerability` and `loss` to top level and removes 'anyOf'. +- [#181](https://github.com/GFDRR/rdl-standard/pull/181) - Various fixes: + - Codelist filename in `Classification.scheme` + - {\{version}} placeholder replacement in built schema + - `version` type + - Required fields in `Event_set`, `Hazard` and `Footprint` + - Markdown syntax in `Attribution.role` description +- [#190](https://github.com/GFDRR/rdl-standard/pull/190) - Deletes type key from properties with `$ref` components. +- [#212](https://github.com/GFDRR/rdl-standard/pull/212) - Update top-level `description`. +- [#203](https://github.com/GFDRR/rdl-standard/pull/203), [#228](https://github.com/GFDRR/rdl-standard/pull/228) - Add package schema. +- [#204](https://github.com/GFDRR/rdl-standard/pull/204), [#229](https://github.com/GFDRR/rdl-standard/pull/229): + - Add field `metrics`. + - rename cost_type.csv to metric_dimension.csv and update code descriptions. + - Add quantity_kind.csv. +- [#207](https://github.com/GFDRR/rdl-standard/pull/207): + - update description of `spatial` to recommend use of `bbox` when coordinates based location is needed. + - update descriptions of `spatial`, `bbox`, `centroid` and `coordinates` to specify use of WGS84 and decimal degrees. + - update `coordinates` to allow only numbers within arrays. +- [#208](https://github.com/GFDRR/rdl-standard/pull/208) - Add regex pattern to `coordinate_system` and update description to mandate ESRI or EPSG codes. +- [#205](https://github.com/GFDRR/rdl-standard/pull/205) - Convert `risk_data_type` to array. +- [#215](https://github.com/GFDRR/rdl-standard/pull/219) - Remove `.hazard_id`, `exposure_id` and `vulnerability_id` from `loss` required array. +- [#210](https://github.com/GFDRR/rdl-standard/pull/210) - Replace `resource.`url with `.access_url` and `download_url` +- [#218](https://github.com/GFDRR/rdl-standard/pull/218) - `Vulnerability·taxonomy` removed from required array. +- [#220](https://github.com/GFDRR/rdl-standard/pull/220) - Reorder top-level fields. +- [#233](https://github.com/GFDRR/rdl-standard/pull/233), [#235](https://github.com/GFDRR/rdl-standard/pull/235) - Rename authorNames to `author_names`, datePublished to `date_published` and gazetteerEntries to `gazetteer_entries`. +- [#232](https://github.com/GFDRR/rdl-standard/pull/232) + - Convert `disaster_identifiers` to array of `Classification` objects. + - Add new codes to classification_scheme.csv. +- [#236](https://github.com/GFDRR/rdl-standard/pull/236), [#244](https://github.com/GFDRR/rdl-standard/pull/244) - Fix broken codelist reference URLs. +- [#239](https://github.com/GFDRR/rdl-standard/pull/239) - Clarify purpose of `links`, add link to dataset identifier guidance in `id` description. +- [#241](https://github.com/GFDRR/rdl-standard/pull/241) - Update schema and documentation URLs. +- [#242](https://github.com/GFDRR/rdl-standard/pull/242) - Remove redundant `minProperties` keywords, add missing `minLength` and `uniqueItems` keywords. +- [#246](https://github.com/GFDRR/rdl-standard/pull/246) - Update `loss` component: + - Replace `loss` object with `loss.losses` array. + - Replace `loss.costs` array with `loss.losses.cost` object. + +### Codelists + +- [#101](https://github.com/GFDRR/rdl-standard/pull/101) - Update and rename `cost_type.csv` and create `exposure_category.csv`. +- [#114](https://github.com/GFDRR/rdl-standard/pull/114) - 'IMT.csv' add descriptions and change pattern of codes to metric:unit. +- [#117](https://github.com/GFDRR/rdl-standard/pull/117) - Create 'license.csv' codelist and replace `license_code` field with `license`. +- [#105](https://github.com/GFDRR/rdl-standard/pull/105) - Create 'country.csv', 'location_gazetteers.csv' and 'geometry_type.csv'. +- [#121](https://github.com/GFDRR/rdl-standard/pull/121) - Create 'frequency_distribution.csv' and 'seasonality.csv' +- [#130](https://github.com/GFDRR/rdl-standard/pull/130) - 'hazard_type.csv' add descriptions and hazard category which aligns with UNDRR Hazard taxonomy, and update codes from abbreviations to human-readable words. +- [#134](https://github.com/GFDRR/rdl-standard/pull/134) - 'risk_data_type.csv', replace codes with lower-case versions. +- [#143](https://github.com/GFDRR/rdl-standard/pull/143) - Update 'license.csv' to include Open Definition conformant licences and those listed as options on WB Data Catalog. +- [#164](https://github.com/GFDRR/rdl-standard/pull/164) - replace camelCase codes with snake_case codes in 'frequency_distribution.csv' and 'seasonality.csv' +- [#189](https://github.com/GFDRR/rdl-standard/pull/189) - add 'ISO 3166-1 alpha-3' to 'location_gazetteers.csv and 'generalized_extreme_value' to 'frequency_distribution.csv' +- [#136](https://github.com/GFDRR/rdl-standard/issues/136)- add description for secondary_rupture. +- [#214](https://github.com/GFDRR/rdl-standard/pull/214) - use consistent separators in `classification_scheme.csv` codes. + +### Normative documentation + +- [#120](https://github.com/GFDRR/rdl-standard/pull/120): + - Rename data model documentation to reference documentation. + - Use jsonschema Sphinx directive to generate schema reference tables from schema. + - Restructure reference documentation. + - Update `manage.py pre-commmit` to generate sub-schema reference. +- [#169](https://github.com/GFDRR/rdl-standard/pull/169) - Uncollapse `event_sets` in `hazard` reference table. +- [#146](https://github.com/GFDRR/rdl-standard/pull/146) - Update introduction to the RDLS reference section. +- [#193](https://github.com/GFDRR/rdl-standard/pull/193) - Fix lists of referencing fields for subschemas and codelists. +- [#212](https://github.com/GFDRR/rdl-standard/pull/212) - Update diagrams, add descriptions for dataset, resource and risk components. +- [#225](https://github.com/GFDRR/rdl-standard/pull/225) - Update high level descriptions of the 4 risk data components. +- [#196](https://github.com/GFDRR/rdl-standard/pull/196) - Add examples to schema reference documentation. +- [#214](https://github.com/GFDRR/rdl-standard/pull/214) - Improve display of codelist reference. + +### Non-normative documentation + +- [#111](https://github.com/GFDRR/rdl-standard/pull/111) - Add Global Library for Schools Infrastructure (GLOSI) to taxonomies. +- [#171](https://github.com/GFDRR/rdl-standard/pull/171) - Updating glossary to add loss components, adjust other entries and remove images from glossary. +- [#174](https://github.com/GFDRR/rdl-standard/pull/174) - Add local tests guidance to developer_docs.md +- [#172](https://github.com/GFDRR/rdl-standard/pull/172) - Re-write use cases as user stories, for data publisher and data user roles. +- [#175](https://github.com/GFDRR/rdl-standard/pull/175) - Restructure documentation, rewrite landing page, add new introductory content. +- [#224](https://github.com/GFDRR/rdl-standard/pull/224) - Update contact email addresses. +- [#239](https://github.com/GFDRR/rdl-standard/pull/239) - Add content to `docs/guides/metadata.md`, add UNDRR-ISC HIP taxonomy mapping. +- [#243](https://github.com/GFDRR/rdl-standard/pull/243) - Add link to RDLS Convertor tool in navigation menu. diff --git a/docs/about/contacts.md b/docs/about/contacts.md new file mode 100644 index 00000000..14545988 --- /dev/null +++ b/docs/about/contacts.md @@ -0,0 +1,5 @@ +# Contacts + +To contact us with any questions about using or contributing to the Risk Data Library Standard, please send an email to [contact@riskdatalibrary.org](mailto:contact@riskdatalibrary.org) + +To contribute directly or provide feedback about an issue with the RDLS, please log an issue on the [RDLS GitHub page](https://github.com/GFDRR/rdl-standard/issues/). diff --git a/docs/about/governance.md b/docs/about/governance.md index 0a1c698b..b1de4a82 100644 --- a/docs/about/governance.md +++ b/docs/about/governance.md @@ -1,14 +1,14 @@ -# Risk Data Library Standard Governance +# Standard governance This document provides an overview of the governance and processes used to develop the Risk Data Library Standard. The standard aims to define a data model, taxonomies and additional specifications to improve the discovery, management and exchange of risk data. -This document is intended to be a useful reference point for anyone involved in contributing to the standard. It focuses on the roles, responsibilities and processes. This is intended to complete the [contributor guide](https://github.com/GFDRR/rdl-standard/blob/main/CONTRIBUTING.md) which outlines the range of ways in which contributors might support development of the standard. +This document is intended to be a useful reference point for anyone involved in contributing to the standard. It focuses on the roles, responsibilities and processes. This is intended to complete the [**contributor guide**](https://github.com/GFDRR/rdl-standard/blob/main/CONTRIBUTING.md) which outlines the range of ways in which contributors might support development of the standard. -
+______________________________________________________________________ ## Our governance principles -As a group we are committed to [the OpenStand principles](https://open-stand.org/about-us/principles/). These are five principles that guide our work: +As a group we are committed to the [**OpenStand principles**](https://open-stand.org/about-us/principles/). These are five principles that guide our work: - **Due process**. Decisions are made with equity and fairness among participants. No one party dominates or guides standards development. Standards processes are transparent and opportunities exist to appeal decisions. Processes for periodic standards review and updating are well defined. - **Broad consensus**. Processes allow for all views to be considered and addressed, such that agreement can be found across a range of interests. @@ -18,7 +18,7 @@ As a group we are committed to [the OpenStand principles](https://open-stand.org We are working to improve our process to ensure that we are living up to these principles. This document provides a reference point for our current practices. -
+______________________________________________________________________ ## Intellectual property @@ -26,93 +26,60 @@ All the outputs from this standards initiative are openly licensed under a CC-BY Additional documentation and source code produced by this initiative will also be published under a suitable open licence. We encourage other organisations to similarly licence their work, so that it can be used for the benefit of the wider community. -
+______________________________________________________________________ ## Roles and responsibilities -This project is currently managed by the Risk Data Library team working within the +This project is currently managed by the Risk Data Library team working within the [Global Facility for Disaster Risk and Reduction](https://www.gfdrr.org/en). -To guide development and adoption of the standards, in addition to open working through this github project, the team invites expert input via an Advisory Group and, as -required, specific Technical Working Groups. +To guide development and adoption of the standards, in addition to open working through this GitHub project, the team invites expert input via an Advisory Group and, as +needed, specific Technical Working Groups. ### Advisory Group -The RDL Advisory Group consists of experts in risk data management and analysis from -the humanitarian sector, insurance industry and other related domains. +The **RDL Advisory Group** consists of experts in risk data management and analysis from the humanitarian sector, insurance industry and other related domains. The Advisory Group will help to: -1. ensure the development of the standard is informed by the needs of a broad selection -of stakeholders across a range of domains -2. steer the development of the RDL standards, providing expert review on priorities, activities and major technical decisions. -3. ensure that our work aligns with other relevant initiatives, to avoid -duplication of work and to build momentum around adoption of common standards -4. identify opportunities for joint projects that can demonstrate the value of adopting the -RDL standards -5. disseminate the impacts and outputs of the RDL project to other stakeholders +1. ensure the development of the standard is informed by the needs of a broad selection of stakeholders across a range of domains +1. steer the development of the RDL standards, providing expert review on priorities, activities and major technical decisions. +1. ensure that our work aligns with other relevant initiatives, to avoid duplication of work and to build momentum around adoption of common standards +1. identify opportunities for joint projects that can demonstrate the value of adopting the RDL standards +1. disseminate the impacts and outputs of the RDL project to other stakeholders -Participation in the Advisory Group is by invitation only. The initial membership will -consist of representatives from organisations who have contributed to the early -development of the standard. +Participation in the Advisory Group is by invitation only. The initial membership will consist of representatives from organisations who have contributed to the early development of the standard. -Membership will be regularly reviewed. Please contact the team to discuss participation if -you believe that you, or your organisation, are able to contribute. - -The Advisory Group will meet every two months. The agenda, slides and minutes from these -meetings will be publicly shared via this Github forum. +Membership will be regularly reviewed. Please contact the team to discuss participation if you believe that you, or your organisation, are able to contribute. +The Advisory Group will meet every two months. The agenda, slides and minutes from these meetings will be publicly shared via this Github forum. ### Technical Working Groups -At times we may create specific Technical Working Groups that will collaborate on -development of specific aspects of the RDL standard. For example to develop taxonomies, -or revise file formats or schemas. - -These Working Groups will have a clear remit and will coordinate their work through this -github. - -Membership of these groups and participation in calls and workshops will be open to -all participants. Depending on the scope of work, they may need to draw on expertise from a wider -group of stakeholders. - -This model reflects the process of development of early versions of the standard, which involves -convening a range of organisations around developing models for hazard, exposure and other types -of data. This approach will help us to drawing on expertise, and seek focused input, from -across a wide range of organisations. +At times we might create specific Technical Working Groups that will collaborate on development of specific aspects of the RDL standard. For example to develop taxonomies, or revise file formats or schemas. These Working Groups will have a clear remit and will coordinate their work through this GitHub. +Membership of these groups and participation in calls and workshops will be open to all participants. Depending on the scope of work, they might need to draw on expertise from a wider group of stakeholders. -All working documents, issue reporting and decisions made within these groups will be -reviewed and communicated via this repository. +This model reflects the process of development of early versions of the standard, which involves convening a range of organisations around developing models for hazard, exposure and other types of data. This approach will help us to drawing on expertise, and seek focused input, from across a wide range of organisations. +All working documents, issue reporting and decisions made within these groups will be reviewed and communicated via this repository. -
+______________________________________________________________________ ## How we collaborate -At present our primary means of collaborating on the standard is via a set of open processes -coordinated through this Github repository. - -We will use the: +At present our primary means of collaborating on the standard is via a set of open processes coordinated through this Github repository. - [Discussions](https://github.com/GFDRR/rdl-standard/discussions) for general discussion around the scope and adoption of the standard - [Issues](https://github.com/GFDRR/rdl-standard/issues) to propose and discuss changes to the standard - [Project boards](https://github.com/GFDRR/rdl-standard/projects) to provide transparency of the current progress and priorities around its development -
- -## Managing and proposing changes +______________________________________________________________________ -Anyone can propose changes to the specifications. +## Proposing and managing changes -The process for doing this is by [submitting an issue](https://github.com/GFDRR/rdl-standard/issues) using the appropriate template. -We ask that you provide sufficient context to the proposed changes so that it can be discussed and reviewed by others. +Anyone can propose changes to the specifications. The process for doing this is by [submitting an issue](https://github.com/GFDRR/rdl-standard/issues) using the appropriate template. The user needs to provide sufficient context to the proposed changes so that it can be discussed and reviewed by the RDL team and other users. -We will then: +We encourage disussion and feedback, by requesting people leave comments on the issue. After leaving appropriate time for further comment, once we feel that a broad consensus has been achieved around the proposed changes, we will update the schema by releasing a new version of the specification. -- regularly review issues, to ensure they are in scope for the project -- encourage disussion and feedback, by requesting people leave comments on Github -- once we feel that a broad consensus has been achieved around the proposed changes, we will update the current Working Draft with suitable wording -- after leaving appropriate time for further comment, we will release a new version of the specification - -
+______________________________________________________________________ ## Managing releases @@ -124,5 +91,3 @@ Releases of the standard will follow the [semantic versioning](https://semver.or - Minor releases will be used for backwards compatible changes, e.g. additional of new optional attributes and relationships, or for simple clarifications and corrections To support gradual migration to the latest specification, we will maintain historical versions of the specifications in named folders in this repository. - -

\ No newline at end of file diff --git a/docs/about/history.md b/docs/about/history.md deleted file mode 100644 index a7634124..00000000 --- a/docs/about/history.md +++ /dev/null @@ -1,6 +0,0 @@ -# History - -Summary of the history of development of the model. Including pointers to key papers, reports, key decisions and a high-level changelog. - - -

\ No newline at end of file diff --git a/docs/about/index.md b/docs/about/index.md index bd1e9167..d7479a34 100644 --- a/docs/about/index.md +++ b/docs/about/index.md @@ -1,12 +1,15 @@ # About +This section provides background information on the Risk Data Library Standard (RDLS), including how it is governed, its history and roadmap, and who to contact for more information. + ```{eval-rst} .. toctree:: :maxdepth: 1 - roadmap - history + contacts + changelog governance license + roadmap ``` diff --git a/docs/about/license.md b/docs/about/license.md index 6e07a95a..ecfd8c70 100644 --- a/docs/about/license.md +++ b/docs/about/license.md @@ -1,6 +1,3 @@ # License The content of this guide was prepared by GFDRR under the Risk Data Library Project and is licensed under [Creative Commons Attribution-ShareAlike 4.0 International (CC-BY-SA 4.0)](https://creativecommons.org/licenses/by-sa/4.0/legalcode). - - -

\ No newline at end of file diff --git a/docs/about/roadmap.md b/docs/about/roadmap.md index 2b1c786c..2e60dae8 100644 --- a/docs/about/roadmap.md +++ b/docs/about/roadmap.md @@ -1,5 +1,40 @@ -# Roadmap +# History and roadmap -A summary of any planned developments or improvements to the data model and standard. +## History (2016-2021) -

\ No newline at end of file +The Risk Data Library project is led by the Global Facility for Disaster Reduction and Recovery ([GFDRR](https://www.gfdrr.org/en)), under its [Digital Earth](https://www.gfdrr.org/en/digitalearthpartnership) Thematic Area. +GFDRR is a global partnership that helps developing countries better understand and reduce their vulnerability to natural hazards and climate change. + +The RDL project originated under the GFDRR Innovation Labs uses cutting-edge science and technology to make high-quality risk information available faster and at lower costs, and develop new tools that allow decision-makers and communities to collect, share, and understand risk information. We tailor our approach to support the full range of disaster risk management interventions — from preparedness to risk reduction to consideration of financial solutions. + +The Risk Data Library concept emerged from in-depth research into the risk information needs and priorities of the DRM sector. In 2014, GFDRR and the UK Government Department for International Development (DfID) launched an 18-month consultation with donors, data producers and users from over a hundred organisations across the DRM community. Several priority needs were identified and seed funding made available to projects that would start to address them. The Risk Data Library began as one of these projects and addresses four of the eight priorities identified in the research: + +- Plausible hazard scenarios for developing countries +- Open and freely available vulnerability functions +- Exposure datasets suitable for detailed risk assessment +- An established standard for model interoperability + +The [Solving the Puzzle report](https://www.gfdrr.org/en/solving-puzzle-innovating-reduce-risk) documents the findings and recommendations of the consultation. This report provides a community perspective on priorities for future collaboration and investment in the development and use of disaster risk information for developing countries. The focus is on high-impact activities that will promote the creation and use of risk-related data, catastrophe risk models, and platforms, and that will improve and facilitate the understanding and communication of risk assessment results. + +On the recommendations of 'Solving the Puzzle', GFDRR commissioned the development of risk data schema, comprising connected components: + +- An open exposure data schema. The Global Earthquake Model Foundation (GEM) led the development of the exposure component (GED4ALL) of the RDL schema. GEM has continued to contribute to the project by developing the modeled loss component and creating the unified schema and database. +- University College London (UCL) EPICentre developed the vulnerability component (MOVER) and has continued to refine this in collaboration with GEM. +- The British Geological Survey (BGS) led the development of the hazard data component of the RDL schema. +- Collaborating partners in the first phase of schema development also included HOTOSM, ImageCat, Norwegian Geotechnical Institute, NERC National Oceanographic Centre, CIMA Foundation, Earth Observatory Singapore, Global Volcano Model, and the Global Flood Partnership. +- GeoSolutions developed an open pilot risk visualization dashboard (HEV-E), intended to visualize the contents of the hazard, exposure and vulnerability schema. + +In 2019, the existing schema was updated by GEM and UCL EPICentre and they developed a modeled loss schema. + +In 2020 the existing schema, still focussed on a database format for storing data, was updated to enable closer integration of the four components by creating a unified database and common tables linking all schema. + +Through 2021, GFDRR worked with open data standards specialists to explore modifying the database schema into an open standard. At the same time, a new lightweight data catalog, using the JKAN standard, was developed as a pilot for an open data catalog. + +## Roadmap (2022 onwards) + +In 2022, GFDRR obtained grant funding from the [Swiss Re Foundation](https://www.swissrefoundation.org/) to further develop the Risk Data Library Standard, as an open standard. + +- GFDRR worked with the World Bank Development Data Hub (Data Catalog) team to establish the [Risk data Library Collection](https://datacatalog.worldbank.org/search/collections/rdl). +- GFDRR established the Disaster and Climate Risk Fellowship program, in which The Digital Earth team at GFDRR is recruiting fellows from vulnerable countries to support World Bank disaster and climate risk data projects and contribute to the adoption of the new Risk Data Library Standard. The fellowship program offers a 6-month placement for climate and disaster risk professionals from selected climate-vulnerable countries to work with the Risk Data Library Standard to access, create and communicate climate risk knowledge with their communities. The selected countries are: Bangladesh, Democratic Republic of the Congo, India, Indonesia, Philippines, and South Africa. +- GFDRR collaborated with the [Open Data Services Co-operative](https://opendataservices.coop/) to establish the JSON standard and improve documentation and sustainability of RDLS using open standards best practice. +- GFDRR and Swiss Re Foundation established a new steering committee for the period of the grant funding, to oversee development of the standard and outcomes of the fellowship program. The steering committee comprises members of the original development teams, and data users from the insurance industry and curators of other open data standards. diff --git a/docs/conf.py b/docs/conf.py index c51dd416..a3afc9c4 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -20,6 +20,12 @@ # import os # import sys # sys.path.insert(0, os.path.abspath('.')) +import json +import os +import shutil + +from distutils.dir_util import copy_tree +from pygit2 import Repository # -- General configuration ------------------------------------------------ @@ -34,12 +40,17 @@ 'sphinx_design', 'sphinxcontrib.mermaid', 'sphinxcontrib.opendataservices', + 'sphinxcontrib.plantuml', 'sphinxcontrib.jsonschema', 'sphinx_rtd_theme', 'sphinx.ext.todo', 'sphinx.ext.autodoc', 'sphinx_togglebutton',] +# PlantUML path +local_plantuml_path = os.path.join(os.path.dirname(__file__), "utils", "plantuml-1.2023.10.jar") +plantuml = f"java -Djava.awt.headless=true -jar {local_plantuml_path}" + # MyST heading anchors myst_heading_anchors = 5 @@ -70,9 +81,9 @@ # built documents. # # The short X.Y version. -version = '0.0' +version = '0.2' # The full version, including alpha/beta/rc tags. -release = '0.0' +release = '0.2.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -93,7 +104,7 @@ # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This patterns also effect to html_static_path and html_extra_path -exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] +exclude_patterns = ['_build', '_readthedocs', 'Thumbs.db', '.DS_Store'] # The reST default role (used for this markup: `text`) to use for all # documents. @@ -123,6 +134,9 @@ # If true, keep warnings as "system message" paragraphs in the built documents. # keep_warnings = False +# If true, Sphinx will warn about all references where the target cannot be found. Default is False. You can activate this mode temporarily using the -n command-line switch. +nitpicky = True + # If true, `todo` and `todoList` produce output, else they produce nothing. todo_include_todos = False @@ -177,7 +191,7 @@ # .htaccess) here, relative to this directory. These files are copied # directly to the root of the documentation. # -# html_extra_path = [] +html_extra_path = ['../.temp'] # If not None, a 'Last updated on:' timestamp is inserted at every page # bottom, using the given strftime format. @@ -360,3 +374,67 @@ gettext_compact = False # optional. togglebutton_hint = "" + + +def create_directory(path): + output_dir = os.path.dirname(path) + os.makedirs(output_dir, exist_ok=True) + +def replace_substring_in_json(file_path, search_substring, replace_string, output_path=None): + # Read the JSON file + with open(file_path, 'r') as file: + data = json.load(file) + + # Recursively search and replace the substring in the JSON data + _replace_substring_in_json(data, search_substring, replace_string) + + # Set output path + if output_path is None: + output_path = file_path + + # Create the directory if it does not exist + create_directory(output_path) + + # Write the modified JSON data to the output file + with open(output_path, 'w') as file: + json.dump(data, file, indent=4) + +def _replace_substring_in_json(data, search_substring, replace_string): + if isinstance(data, dict): + for key, value in data.items(): + if isinstance(value, str): + data[key] = value.replace(search_substring, replace_string) + else: + _replace_substring_in_json(value, search_substring, replace_string) + elif isinstance(data, list): + for i, item in enumerate(data): + if isinstance(item, str): + data[i] = item.replace(search_substring, replace_string) + else: + _replace_substring_in_json(item, search_substring, replace_string) + + +def setup(app): + # Connect handlers to events + app.connect('config-inited', config_inited) + app.connect('env-before-read-docs', env_before_read_docs) + app.connect('build-finished', build_finished) + + +def config_inited(app, config): + shutil.copytree('../schema', '../.temp', dirs_exist_ok=True) + + rtd_version = os.getenv('READTHEDOCS_VERSION') + + # Replace {{version}} placeholders + if rtd_version is not None: + replace_substring_in_json('../.temp/rdls_schema.json', '{{version}}', rtd_version) + + +def env_before_read_docs(app, env, docnames): + create_directory('_readthedocs/html/') + shutil.copyfile('../.temp/rdls_schema.json', '_readthedocs/html/rdls_schema.json') + + +def build_finished(app, exception): + shutil.rmtree('../.temp') diff --git a/docs/data_model/exposure.md b/docs/data_model/exposure.md deleted file mode 100644 index 5dbc173d..00000000 --- a/docs/data_model/exposure.md +++ /dev/null @@ -1,76 +0,0 @@ -# Exposure - -## Schema attributes - -The exposure schema covers a wide variety of data describing structural, infrastructural and environmental asset, population, and socio-economic descriptors, each with relevant attributes for assessing risk from multiple hazards. The schema was developed based on [GEM Taxonomy 2.0](https://wiki.openstreetmap.org/wiki/GED4ALL) to accommodate the most important spatial features commonly employed in risk analysis to identify and estimate exposed value. - -```{eval-rst} - .. mermaid:: - - classDiagram - Model -- Asset1 - Model -- Asset2 - Model: Category - Model: Occupancy - class Asset1{ - Taxonomy code - Value type - Value unit - } - class Asset2{ - Taxonomy code - Value type - Value unit - } -``` - -The main features of an exposure dataset are specified by the **exposure model** attributes. -Each exposure model includes one or more **assets**. Each asset could represent a single asset (e.g. one building) or a collection of assets (e.g aggregated buildings in an area). -The exposure schema covers 4 categories and 11 occupancy types for consistent classification of assets across schema. The taxonomy source specifies the taxonomy string used to identify individual asset features within a dataset. Occupancy can be optionally assigned for night-time or day-time, e.g. to discern resident population from daily commuters. - -|**Required**| **Attribute** | **Description** | **Type** | -|:---:| --- | --- | --- | -|*| Category | Type of asset |
  • Buildings
  • Indicators
  • Infrastructures
  • Crops, livestock and forestry
| -|*| Occupancy | Destination of use of the asset |
  • Residential
  • Commercial
  • Industrial
  • Infrastructure
  • Healthcare
  • Educational
  • Government
  • Crop
  • Livestock
  • Forestry
  • Mixed
| -| | Occupancy time | Period of occupancy |
  • Night
  • Day | -| | Taxonomy source | Name of adopted taxonomy model | Text | -| | Taxonomy code | String used by the taxonomy model to identify specific asset features | Text | -|*| Value type | Element to which value refers |
    • Structure
    • Content
    • Product
    • Other
    | -|*| Value unit | Unit to measure exposed value | Unit code | - -
    Within one exposure model (e.g. one geospatial layer) there can be one or more **cost type** associated with damage to assets. For example, the cost of the building structure by square meter and the cost of the contents of a single building. The attributes are named accordingly within the datase, e.g. "Cost_structure" and "Cost_content". -Additional **tags** attributes can be associated with an asset to link any information not envised in the exposure schema. - -
    - -## Examples - -Exposure data can be stored at multiple scales, more often using vectors, namely polygons (e.g. building footprint), points (e.g. asset geolocation) and lines (e.g. transport infrastructures, lifelines), but in same case exposure estimates are aggregated at ADM level or distributed over a raster grid. - -### Exposure map for Kabul - -Two exposure datasets are shown together in the example: building footprints polygons and population density raster at 90 m resolution. - -![Exposure example](../img/sample_exp.jpg) - -|**Required**| **Attribute** | **Example** | -|:---:| --- | --- | -|*| Geographic coverage | Afghanistan | -|*| Exposure category | Buildings | -|*| Occupancy | Mixed | -|| Taxonomy | OSM | -|*| Value type | Structure | -|*| Unit of measure | USD | - -
    - -|**Required**| **Attribute** | **Example** | -|:---:| --- | --- | -|*| Geographic coverage | Afghanistan | -|*| Exposure category | Indicators | -|*| Occupancy | Residential | -|| Period of occupancy | Night | -|*| Value type | Other | -|*| Unit of measure | Count | - -

    diff --git a/docs/data_model/hazard.md b/docs/data_model/hazard.md deleted file mode 100644 index f0e2071b..00000000 --- a/docs/data_model/hazard.md +++ /dev/null @@ -1,178 +0,0 @@ -# Hazard - -## Schema attributes - -The hazard schema stores data about the intensity and occurrence probability of physical hazard phenomena such as floods, earthquakes, wildfires or others. The specific hazard process can be defined and measured with a specific intensity unit. For example, earthquake hazard may be represented as ground shaking, liquefaction or ground displacement. - -```{eval-rst} - .. mermaid:: - - classDiagram - Event set -- Event1 - Event set -- Event2 - Event set: Hazard type - Event set: Analytical method - class Event1{ - Occurrence frequency - Time reference - Hazard trigger - } - class Event2{ - Occurrence frequency - Time reference - Hazard trigger - } - Event1 -- Footprint1 - Event1 -- Footprint2 - Event2 -- Footprint3 - Event2 -- Footprint4 - class Footprint1{ - Hazard process - Intensity measure - Uncertainty - } - class Footprint2{ - Hazard process - Intensity measure - Uncertainty - } - class Footprint3{ - Hazard process - Intensity measure - Uncertainty - } - class Footprint4{ - Hazard process - Intensity measure - Uncertainty - } -``` -
    - -The schema specifies which type of analysis and data methodology that has generated the dataset. It supports either simulated probabilistic scenarios and empirical observations. If the dataset has been produced for a specific location, such a city, the name of the location can be included. - -|**Required**| **Attribute** | **Description** | **Type** | -|:---:| --- | --- | --- | -|*| Hazard type | Main hazard type from list of options |
    • Coastal Flood
    • Convective Storm
    • Drought
    • Earthquake
    • Extreme Temperature
    • Flood
    • Landslide
    • Tsunami
    • Volcanic
    • Wildfire
    • Strong Wind
    • Multi-Hazard
    | -|*| Analysis type | Type of analysis that generated the data |
    • Deterministic
    • Probabilistic | -|*| Calculation method | The methodology used for the modelling of hazard |
      • Simulated
      • Observed
      • Inferred | -|| Geographic area | Specific location for which the dataset has been developed | Name of location | - -
        When the scenario modelled refers to a specific period of time, this can be specified in terms of dates, period span and reference year. For example, an observed flood event that occurred from 1.10.2009 (time start) to 3.10.2009 (time end), spanning over 3 days (time span). When precise time collocation is unknow or inapplicabile, a general reference date such as "2009" is used to identify events (time year). This is also useful to specify future scenario, e.g. time year: 2050. - -|**Required**| **Attribute** | **Description** | **Type** | -|:---:| --- | --- | --- | -|| Time start | The time at which the modelled scenario starts | Date | -|| Time end | The time at which the modelled scenario ends | Date | -|| Time span | The duration of the modelled period | Number | -|| Time year | One reference year to univocally identify the scenario | Date (year) | - -
        When instead the hazard scenario is represented in probabilistic terms, the occurrence probability (frequency distribution) of hazard can be expressed in different ways. The most common way to communicate this is the "return period", expressed as the number of years after which a given hazard intensity could occurr again: RP 100 indicates that that event has a probability of once in 100 years. This attirbute can indicate individual layer frequency (RP100) or a range of frequencies for a collection of layers (RP10-100) The probability of occurrence is usually calculated on the basis of a reference period that provides observations: this period can be specified by start date, end date and time span. For example, an analysis of eartquake frequency based on seismic observations from 1934 (occurrence time start) to 2001 (occurrence time end), for a total count of 66 years (occurrence time span). - -|**Required**| **Attribute** | **Description** | **Type** | -|:---:| --- | --- | --- | -|| Frequency type | The frequency of occurrence of the present event |
        • Rate of Exceedence
        • Probability of Exceedence
        • Return Period
        | -|| Occurrence probability | For probabilistic scenario, the occurrence probability is expressed according to frequency type | Text | -|| Occurence time (start) | Start date of the period used to infer the occurrence probability | Date (year) | -|| Occurence time (end) | End date of the period used to specify the occurrence probability | Date (year) | -|| Occurence time (span) | The duration of the period used to specify the occurrence probability | Number of years | - -
        The schema distinguish between the hazard and process represented and the hazard and process identified as the cause, or concause for the manifestation of the represented hazard. For example, a dataset represent landslide hazard that is triggered by an earthquake will have Hazard type: Landslide; Trigger hazard type: Earthquake. The unit of measure refers to the represented hazard and process. A description can be added to cover additional information not included in the schema. - -|**Required**| **Attribute** | **Description** | **Type** | -|:---:| --- | --- | --- | -|| Trigger hazard type | The hazard type that has triggered the event (if any) | Hazard type | -|| Trigger process type | The process type that triggered the event (if any) | Process type | - -
        The hazard dataset could include one or more footprints for the same event, where each is one possible realisation (i.e. one footprint could represent minimum, another footprint the average and another one the maximum). The event uncertainty can be represented explicitly, through the inclusion of multiple footprints per event. - -|**Required**| **Attribute** | **Description** | **Type** | -|:---:| --- | --- | --- | -|*| Hazard process | Specific hazard process | Process type | -|*| Unit of measure | Intensity measure of the process | Option list | -|| Description | Provides additional information about a specific event | Text | -|| Data uncertainty | The typology of uncertainty, if considered | Text | - -
        Below is the list of all hazards and related process types: - -
        - -| **Hazard type** | **Process type** | -|---|---| -| Coastal Flood | Coastal Flood | -| Coastal Flood | Storm Surge | -| Convective Storm | Tornado | -| Drought | Agricultural Drought | -| Drought | Hydrological Drought | -| Drought | Meteorological Drought | -| Drought | Socio-economic Drought | -| Earthquake | Primary Rupture | -| Earthquake | Secondary Rupture | -| Earthquake | Ground Motion | -| Earthquake | Liquefaction | -| Extreme Temperature | Extreme cold | -| Extreme Temperature | Extreme heat | -| Flood | Fluvial Flood | -| Flood | Pluvial Flood | -| Landslide | Landslide | -| Landslide | Snow Avalanche | -| Tsunami | Tsunami | -| Volcanic | Ashfall | -| Volcanic | Ballistics | -| Volcanic | Proximal hazards | -| Volcanic | Lahar | -| Volcanic | Lava | -| Volcanic | Pyroclastic Flow | -| Wildfire | Wildfire | -| Strong Wind | Extratropical cyclone | -| Strong Wind | Tropical cyclone | - -
        - -

        - -## Examples - -Hazard data are most often represented by geospatial grids (raster); sometimes they are represented by points or polygons. - -### Flood hazard maps for Kabul - -Schema attributes for flood hazard map related to occurrence probability of a river flood event with a return period of once in 100 years over Kabul, Afghanistan. The hydrological data used for modelling the intensity of floods is derived from observations over the period 1958-2001 (44 years). The hazard intensity is measured as water depth, in meters. These information cover all mandatory fields, and few optional fields. - -![Screenshot](../img/hzd_fl_kabul.jpg) - -|**Required**| **Attribute** | **Example** | -|:---:| --- | --- | -|*| Hazard type | Flood | -|*| Analysis type | Probabilistic | -|*| Calculation method | Simulated | -|| Geographic area | Kabul | -|| Frequency type | Return Period | -|| Occurrence probability | 100 years | -|| Occurence time (start) | 1958 | -|| Occurence time (end) | 2001 | -|| Occurence time (span) | 44 years | -|*| Hazard process | River flood | -|*| Unit of measure | Water depth (m) | - -
        - -### Earthquake hazard maps for Afghanistan -Schema attributes for earthquake hazard map related to occurrence probability of an event with return period of once in 1000 years over Afghanistan. The seismic data catalogue behind the calculation of occurrence probability start from year 800, covering a period of 1200 years. The hazard intensity is measured as Peak Ground Acceleration, expressed in (g). - -![Screenshot](../img/hzd_eq_afg.jpg) - -|**Required**| **Attribute** | **Example** | -|:---:| --- | --- | -|*| Hazard type | Earthquake | -|*| Analysis type | Probabilistic | -|*| Calculation method | Simulated | -|| Frequency type | Return Period | -|| Occurrence probability | 1000 years | -|| Occurence time (start) | 800 | -|| Occurence time (end) | 2001 | -|| Occurence time (span) | 1200 years | -|*| Hazard process | Ground motion | -|*| Unit of measure | PGA (g) | - -

        diff --git a/docs/data_model/index.md b/docs/data_model/index.md deleted file mode 100644 index b28a2158..00000000 --- a/docs/data_model/index.md +++ /dev/null @@ -1,97 +0,0 @@ -# Data model - -Following [key concepts](../keyconcepts.md), the Risk Data Library Standard schema includes four components: - -- [**Hazard**](hazard.md): main hazard type, specific process, trigger of the hazard, occurrence frequency of event, intensity unit to measure the process and analytical method. -- [**Exposure**](exposure.md): asset category, occupancy and specific taxonomy, cost type and value. -- [**Vulnerability**](vulnerability.md): model that links hazard intensity and exposure classification to measure of impact over the total exposed value. -- [**Loss**](loss.md): modelled damage and losses produced in a risk assessment as a function of hazard, exposure and vulnerability components. -
      - -The diagram below shows the core relationships between schema components, rather than listing all of their attributes. - -```{eval-rst} - .. mermaid:: - - classDiagram - Dataset -- Hazard - Dataset -- Exposure - Dataset -- Vulnerability - Dataset -- Loss - Dataset: -Project name - Dataset: -Coverage - Dataset: -Purpose - Dataset: -Bibliography - class Hazard{ - -Type, Process - -Trigger - -Frequency - -Intensity unit - -Analytical method - } - class Exposure{ - -Asset category - -Occupancy - -Taxonomy - -Cost type - } - class Vulnerability{ - -Hazard process - -Exposure taxonomy - -Analytical method - -Applicability - } - class Loss{ - -Hazard process - -Exposure taxonomy - -Loss frequency - -Loss metric - } -``` -
      - -## Dataset general attributes - -In addition to schema-specific attributes, each dataset is identified by a list of attributes based on DublinCore metadata standard. - -| **Required** | **Attribute** | **Description** | **Type** | -|:---:|---|---|---| -|*| Component | Schema to be used |
      • Hazard
      • Exposure
      • Vulnerability
      • Loss | -|*| Source model | Name of source model | Text | -|*| Release date | Model release date | Date | -| | Project name | Project under which data has been produced | Text | -| | Purpose | Purpose for what the data has been produced | Text | -| | Notes | Additional details about the dataset | Text | -| | Bibliography | Author, titles and publication year of documents containing relevant information on the dataset | Authors (Year) - Title; URL | -| | Version | Version of the dataset | Number | -|*| Geo coverage | ISO code(s) of countries covered | ISOa3 country code | -|*| License code | Type of license | Licensing options | - -
        - -Other attributes are specific to individual resources, covering level of aggregation, resolution and format. - -| **Required** | **Attribute** | **Type** | -|:---:|---|---| -|*| Resource name | Text | -|*| Aggregation type |
        • Footprints
        • Grid
        • Administrative boundaries
        • Points or lines
        • N/A
        | -| | Description | Text | -| | Reference coordinate system | CRS EPSG | -| | Horizontal resolution | n unit | -| | Format | ext | -| | Download Url | url | - - -

        - -```{eval-rst} -.. toctree:: - :maxdepth: 1 - :hidden: - - hazard - exposure - vulnerability - loss - -``` diff --git a/docs/data_model/loss.md b/docs/data_model/loss.md deleted file mode 100644 index ef32a3be..00000000 --- a/docs/data_model/loss.md +++ /dev/null @@ -1,134 +0,0 @@ -# Loss - -## Schema attributes - -The loss schema enables to store information about hazard impact over exposure as a function of vulnerability. Loss datasets are directly linked to the hazard, exposure, and vulnerability datasets which were used to model losses. When no vulnerability model is applied, the potential loss is estimated as the sum of all exposed value. Losses can be expressed in form of map or in form of a curve, both sharing the same attributes and metrics. - -```{eval-rst} - .. mermaid:: - - classDiagram - Model -- Map - Model -- Curve - Model: Hazard type - Model: Exposure category - Model: Calculation method - Model: Link data - - class Map{ - Occurrence frequency - Time reference - Impact type - Loss type - Loss metric - Loss unit - } - class Curve{ - Occurrence frequency - Time reference - Impact type - Loss type - Loss metric - Loss unit - } -``` - -The main attributes of the **loss model** describe the hazard and process for which the loss are calculated, the method of calculation (to discern empirical events from simulated scenarios) and the category of asset on which losses insist. The schema includes the direct links to the original dataset of hazard, exposure, and vulnerability that were used to calculate the loss. - -|**Required**| **Attribute** | **Description** | **Type** | -|:---:| --- | --- | --- | -|*| Hazard type | Main hazard type from list of options |
        • Coastal Flood
        • Convective Storm
        • Drought
        • Earthquake
        • Extreme Temperature
        • Flood
        • Landslide
        • Tsunami
        • Volcanic
        • Wildfire
        • Strong Wind
        • Multi-Hazard
        | -| | Hazard process | Specific hazard process | Options list | -| | Calculation method | How the scenario was calculated |
        • Inferred
        • Simulated
        • Observed | -|*| Exposure occupancy | Destination of use of the asset |
          • Residential
          • Commercial
          • Industrial
          • Infrastructure
          • Healthcare
          • Educational
          • Government
          • Crop
          • Livestock
          • Forestry
          • Mixed
          | -|*| Exposure category | Category of asset suffering the losses |
          • Buildings
          • Indicators
          • Infrastructures
          • Crops, livestock and forestry
          | -|*| Value type | Element on which loss insist |
          • Structure
          • Content
          • Product
          • Other
          | -| | Hazard link | Hazard dataset that was used to calculate loss | URL | -| | Exposure link | Exposure dataset that was used to calculate loss | URL | -| | Vulnerability link | Vulnerability dataset that was used to calculate loss | URL | - -
          When the scenario modelled refers to a specific period of time, this can be specified in terms of dates, period span and reference year. For example, an observed flood event that occurred from 1.10.2009 (time start) to 3.10.2009 (time end), spanning over 3 days (time span). When precise time collocation is unknow or inapplicabile, a general reference date such as "2009" is used to identify events (time year). This is also useful to specify future scenario, e.g. time year: 2050. - -|**Required**| **Attribute** | **Description** | **Type** | -|:---:| --- | --- | --- | -|| Time start | The time at which the modelled scenario starts | Date | -|| Time end | The time at which the modelled scenario ends | Date | -|| Time span | The duration of the modelled period | Number | -|| Time year | One reference year to univocally identify the scenario | Date (year) | - -
          When instead the hazard scenario is represented in probabilistic terms, the occurrence probability (frequency distribution) of hazard can be expressed in different ways. The most common way to communicate this is the "return period", expressed as the number of years after which a given hazard intensity could occurr again: RP 100 indicates that that event has a probability of once in 100 years. This attirbute can indicate individual layer frequency (RP100) or a range of frequencies for a collection of layers (RP10-100). - -|**Required**| **Attribute** | **Description** | **Type** | -|:---:| --- | --- | --- | -|| Frequency type | The frequency of occurrence of the present event |
          • Rate of Exceedence
          • Probability of Exceedence
          • Return Period
          | -|| Occurrence probability | For probabilistic scenario, the occurrence probability is expressed according to frequency type | Text | - -
          Additional attributes are specific to loss, describing the type of impact, the type of loss, the loss metric and the unit used to measure it. - -|**Required**| **Attribute** | **Description** | **Type** | -|:---:| --- | --- | --- | -|*| Impact | The type of impact |
          • Direct
          • Indirect
          • Total | -|*| Loss type | The type of loss |
            • Ground up
            • Insured
            | -|*| Metric | Type of loss metric |
            • Average Annual Losses
            • Annual Average Loss Ratio
            • Probable Maximal Loss | -|*| Unit | Cost unit of measure | Unit code | - -
              - -## Examples - -Losses can be rapresented in many different way: regular raster grids, points, or polygons. Often, the loss data consist of measures aggregated at the administrative unit level. - -### Flood loss scenarios for Afghanistan, 2050 - -Schema attributes for loss map related to future river flood hazard scenarios (2050) over all types of exposure occupancies for Afghanistan. - -![Flood losses in Afghanistan](../img/lss_fl_afg.jpg) - -The losses are higher in the most densely built-up area of Kabul. - -![Flood losses in Kabul](../img/lss_fl_kabul.jpg) - -|**Required**| **Attribute** | **Example** | -|:---:| --- | --- | -|*| Hazard type | Flood | -| | Hazard process | River flood | -|*| Exposure occupancy | Mixed | -|*| Exposure category | Buildings | -|*| Value type | Structure | -| | Hazard link | [Dataset](http://jkan.riskdatalibrary.org/datasets/hzd-afg-fl-baseline) | -| | Exposure link | | -| | Vulnerability link | | -| | Time year | 2050 | -| | Frequency type | Return Period | -| | Occurrence probability | RP 5-1000 years | -|*| Impact | Direct | -|*| Loss type | Ground up | -|*| Metric | Average Annual Losses | -|*| Unit | USD | - -
              - -Losses can be investigated as total or for individual exposed asset and infrastructure elements. - -![Road losses](../img/exp_afg_roads.jpg) - -
              - -### Observed losses - -Insert example of recorded empirical losses. - -|**Required**| **Attribute** | **Example** | -|:---:| --- | --- | -|*| Hazard type | Earthquake | -|*| Analysis type | Probabilistic | -|*| Calculation method | Simulated | -|| Frequency type | Return Period | -|| Occurrence probability | 1000 years | -|| Occurence time (start) | 800 | -|| Occurence time (end) | 2001 | -|| Occurence time (span) | 1200 years | -|*| Hazard process | Ground motion | -|*| Unit of measure | PGA (g) | - -

              diff --git a/docs/data_model/vulnerability.md b/docs/data_model/vulnerability.md deleted file mode 100644 index 95c14109..00000000 --- a/docs/data_model/vulnerability.md +++ /dev/null @@ -1,131 +0,0 @@ -# Vulnerability - -## Schema attributes - -The vulnerability schema includes physical fragility and vulnerability relationships in relation to specific hazards or for multi-hazard (combination of individual hazards). A wide range of model types and parameters can describe vulnerability, for this reason there are many possible variables accounted by the Vulnerability schema. But only a part of them will be required to describe one specific model. -The schema distinguishes key information describing the vulnerabilirt model, including: - -- function type (i.e fragility, vulnerability, damage-to-loss) -- countries the function was developed for, measured in terms of to geographic relevance -- development approach (empirical, analytical, judgement, hybrid, code-based) -- mathematical model used (including exponential, cumulative lognormal/normal) -- the intensity measure and asset type the function relates to -- loss parameter / engineering demand parameter values - -```{eval-rst} - .. mermaid:: - - classDiagram - Model -- Specifics - Model -- Additional - Model: Hazard type - Model: Exposure taxonomy - Model: Calculation method - class Specifics{ - Parameters - Damage states - Intensity measure - } - class Additional{ - Validation - Error - Fitness - } -``` - -The **model** attributes specify which hazard types and exposure categories the vulnerability relationship applies to. -Other attributes describe the function type and the analytical approach adopted, and add notes on the model applicability in terms of location and scale. - -|**Required**| **Attribute** | **Description** | **Type** | -|:---:| --- | --- | --- | -|*| Primary hazard | Main hazard type from list of options | Hazard list | -| | Secondary hazard | Secondary hazard type from list of options | Hazard list | -|*| Primary process | Primary hazard process from list of options | Process list | -| | Secondary process | Secondary hazard process from list of options | Process list | -|*| Frequency | Frequency representation type |
              • Rate of Exceedence
              • Probability of Exceedence
              • Return Period
              | -|*| Intensity unit | Unit to measure hazard intensity | Option list | -|*| Exposure category | Frequency representation type |
              • Buildings
              • Indicators
              • Infrastructures
              • Crops, livestock and forestry
              | -|*| Exposure occupancy | Type of occupancy to which function applies |
              • Residential
              • Commercial
              • Industrial
              • Infrastructure
              • Healthcare
              • Educational
              • Government
              • Crop
              • Livestock
              • Forestry
              • Mixed
              | -| | Taxonomy source | Name of exposure taxonomy | Text | -| | Taxonomy code | Name of taxonomy | Taxonomy code to which function applies | Text | -| * | Impact type | Type of impact |
              • Direct
              • Indirect
              • Total
              | -| * | Function type | Type of function |
              • Fragility
              • Vulnerability
              • Damage-to-Loss
              | -| | Approach | Type of methodological approach |
              • Empirical
              • Analytical
              • Judgement
              • Hybrid
              | -| * | | Relationship type | Type of relationship |
              • Mathematical
              • Discrete
              | -| | Mathematical model | Type of mathematical model |
              • Parametric
              • Bespoke
              | -| * | Scale applicability | At which spatial scale the function applies |
              • Individual items
              • Aggregated to grid
              • Aggregated to boundaries
              • N/A | -| * | Transferrability | List of countries in which the model could be applied | ISOa3 code | -| * | Local applicability | Specific sub-area within a country or region to wich the model specifically applies | Location name | -| | Transferrability notes | Details about applicability to different areas | Text | - -
                - -The **specifics** attributes add more optional details. - -
                - -| | **Field name** | **Description** | **Example** | -|:---:| --- | --- | --- | -| | par\_names | Parameters values names | MIDR , Ash depth | | -| | ub\_par\_value | Upper bound parameters value (Value1; Value2) | | -| | ub\_par\_perc | Upper bound parameters percentiles (Perc1; Perc2) | | -| | med\_par\_value | Median parameter values (Med1; Med2) | | -| | lb\_par\_value | Lower bound parameters value (Value1; Value2) | | -| | lb\_par\_perc | Lower bound parameters percentiles (Perc 1;Perc 2) | | -| | damage\_scale\_code | Code that identifies the damage scale | | -| | dm\_state\_name | Damage states studied in the reference study of the function | | -| | n\_dm\_states | Number of damage states studied in the reference study of the function | | -| | f\_disc\_im | Intensity measure values for the characterization of discrete functions | | -| | f\_disc\_ep | This field lists the associated exceeded probability values to the IM values of the previous field | | -| | lp\_code | | | -| | lp\_loss\_value | | | -| | edp\_code | Code related to specific engineering demand parameter (EDP) used to the DS thresholds | | -| | edp\_name | Specific engineering demand parameter (EDP) used to the DS thresholds | | -| | edp\_dmstate\_thre | Specific damage state EDP threshold | | -| | im\_code | Code of intensity measure | | -| | im\_name | Name of intensity measure | | -| | im\_range | Range of intensity measures as min;max (e.g. 0;500) | | -| | im\_units | Unit of intensity measure | | -| | im\_method | Type of source of the im data | | -| | im\_sim\_type | Type of simulation, Physics-based or IMPE | | -| | impe\_referenec | Reference study of the IMPE simulation | | -| | data\_countries | ISO code(s) of countries to which data refer | | -| | im\_data\_source | Reference studies for the IM data sources | | -| | n\_events | Number of events the function has been built on | | -| | n\_assets | INumber of assets the function has been built on | | - -
                - -
                - -The **additional** attributes cover more specific information that helps to understand the analysis which generated the function. - -
                - -| | **Field name** | **Description** | **Example** | -|:---:| --- | --- | --- | -| * | nonsampling\_err | Is there sampling error? | NO | -| | type\_nonsampling\_err | Type of non sampling error | | -| | is\_fix\_nonsam\_err | Has non sampling error being fixed? | TRUE | -| | is\_data\_aggregated | Has data been aggregated? | FALSE | -| | is\_data\_disaggr | Has data been disaggregated? | TRUE | -| | n\_data\_points\_aggr | Number of aggregated data points used for the evaluation of data quality | 600 | -| | an\_analysis\_type | Type of analysis for Analytical functions | | -| | em\_analysis\_type | Type of analysis for Empirical functions | | -| | jd\_analysis\_type | Type of analysis for Judgement functions | | -| | is\_fit\_good | Is the model fitness to data good overall? | TRUE | -| | fit\_ref | Reference model for fitting | -| | val\_data\_source | If validation has been done, source of the independent data | | -| | val\_study\_reference | Reference of the Validation study | | -| | sample | Type of sampling | | - -
                -

                - -## Examples - -Need to find some. - -### Example name - -

                diff --git a/docs/glossary.md b/docs/glossary.md new file mode 100644 index 00000000..d74632be --- /dev/null +++ b/docs/glossary.md @@ -0,0 +1,74 @@ + + +# Glossary + +In this section, you will find definitions of key concepts behind the Risk Data Library Standard (RDLS). + +## Disaster risk + +Disaster risk is the potential loss of life, injury, or destroyed or damaged assets which could occur to a system, society or community in a specific period of time, determined probabilistically as a function of hazard, exposure, vulnerability and coping capacity. + +Disaster risk comprises different types of potential impacts and losses (direct and indirect, tangible and intangible) which are sometimes difficult to quantify. Nevertheless, with knowledge of the prevailing hazards, the patterns of population and socio-economic development and their tendency to suffer impacts, disaster risks can be assessed and mapped, at least in broad terms. + +Source: [UNDRR Terminology (Disaster Risk)](https://www.undrr.org/terminology/disaster-risk) + +## Climate and disaster risk assessment + +A qualitative or quantitative approach to determine the nature and extent of climate and [disaster risk](#disaster-risk) by analysing potential [hazards](#hazard) and evaluating existing conditions of [exposure](#exposure) and [vulnerability](#vulnerability) that together could harm people, property, services, livelihoods and the environment on which they depend. + +An impact or risk model (also damage model; loss model) is used to combine hazard, exposure and vulnerability components to calculate the [impact](#disaster-impact) or single or multiple events. + +Source: Adapted from [UNDRR Terminology (Disaster Risk Assessment)](https://www.undrr.org/terminology/disaster-risk-assessment) + +## Disaster risk information (risk data) + +Comprehensive information on all dimensions of disaster risk, including hazards, exposure, vulnerability and capacity, related to persons, communities, organizations and countries and their assets. Disaster risk information includes all studies, information and mapping required to understand the disaster risk drivers and underlying risk factors. + +Source: [UNDRR Terminology (Disaster Risk Information)](https://www.undrr.org/terminology/disaster-risk-information) + +## Disaster risk management + +Disaster risk management is the application of disaster risk reduction policies and strategies to prevent new disaster risk, reduce existing disaster risk and manage residual risk, contributing to the strengthening of resilience and reduction of disaster losses. + +Source: [UNDRR Terminology (Disaster Risk Management)](https://www.undrr.org/terminology/disaster-risk-management) + +## Hazard + +A hazard is a process or phenomenon that may cause loss of life, injury or other health impacts, property damage, social and economic disruption or environmental degradation. Hazards may be single, sequential or combined in their origin and effects. Each hazard is characterized by its location, intensity or magnitude, frequency and probability. A hazardous event is the manifestation of a hazard in a particular place during a particular period of time. + +Hazards can have a natural or anthropogenic origin. Natural hazards are associated with natural processes and phenomena (e.g., geological, geophysical, hydrometeorological). + +Source: [UNDRR Terminology (Hazard)](https://www.undrr.org/terminology/hazard) + +## Exposure + +The situation of people, infrastructure, housing, production capacities and other tangible human assets located in hazard-prone areas. Measures of exposure can include the number of people or types of assets in an area. These can be combined with the specific vulnerability and capacity of the exposed elements to any particular hazard to estimate the quantitative risks associated with that hazard in the area of interest + +Source: [UNDRR Terminology (Exposure)](https://www.undrr.org/terminology/exposure) + +## Vulnerability + +Vulnerability is the conditions determined by physical, social, economic and environmental factors or processes which increase the susceptibility of an individual, a community, assets or systems to the impacts of hazards. The inverse of vulnerability is defined as coping capacity, which is the combination of all the strengths, attributes and resources available within an organization, community or society to manage and reduce disaster risks and strengthen resilience. + +Source: [UNDRR Terminology (Vulnerability)](https://www.undrr.org/terminology/vulnerability) + +## Disaster Impact + +The effect of a disaster on people, buildings and society is generally referred to as the impact. The impact of disasters can generate [losses](#loss), but also gains for some people and economies; for instance, the demand for construction materials and expertise following a disaster. It is, therefore, necessary to think of impact in terms of both gains and losses. + +Source: Adapted from ([UNDRR](https://www.undrr.org/terminology/disaster)) + +## Loss + +Losses are a measure of this impact in the form of damage or destruction caused by a disaster (observed or modelled). This measure may be expressed as monetary (e.g., cost of reconstruction) or non-monetary (e.g., hectares of crop loss, loss of life). Losses can be direct or indirect. + +The total economic impact consists of a monetary estimate of both direct disaster loss and indirect disaster loss. _Direct disaster losses_ refer to directly quantifiable losses such as the number of people killed and the damage to buildings, infrastructure and natural resources. _Indirect disaster losses_ refer to wider and longer-term impacts arising from the direct disruptions to the flow of goods and services as a result of a disaster. This includes declines in output or revenue, increases in food prices, and other longer-term social and economic effects on education, health, productivity, the well-being of people or the macroeconomy. + +Source: Adapted from ([UNDRR](https://www.preventionweb.net/understanding-disaster-risk/key-concepts/direct-indirect-losses)) +and [UNDRR Terminology (Economic Loss)](https://www.undrr.org/terminology/economic-loss) + +## People affected + +People who have been exposed and impacted, either directly or indirectly, by a hazardous event. Directly affected are those who have suffered injury, illness or other health effects; who were evacuated, displaced, relocated or have suffered direct damage to their livelihoods, economic, physical, social, cultural and environmental assets. Indirectly affected are people who have suffered consequences, other than or in addition to direct effects, over time, due to disruption or changes in the economy, critical infrastructure, basic services, commerce or work, or social, health and psychological consequences. + +Source: [UNDRR Terminology (Affected)](https://www.undrr.org/terminology/affected) diff --git a/docs/guides/datasets/formats.md b/docs/guides/datasets/formats.md new file mode 100644 index 00000000..0bb5b84b --- /dev/null +++ b/docs/guides/datasets/formats.md @@ -0,0 +1,59 @@ +# How to format risk datasets + +Risk data can be made of spatial or non-spatial data. + +- **Spatial data (geodata)** can be shared in a variety of formats depending on the software used by the analyst. Over the years, [OSGEO ](https://wiki.osgeo.org/wiki/Main_Page) (Open Source Geospatial Foundation) tried to converge towards a limited number of "best" standard formats for each geospatial type. + +- **Non-spatial data** most often consist of table data stored as `.xlsx` or `.csv` files for greater compatibility. + +Below is a list of suggested and common geodata formats used for risk data. + +## Suggested geodata formats + +### Vector data: GeoPackage + +**GeoPackage** (`.gpkg`) is an open, non-proprietary SQLite3 extended Database container. It is platform-independent and standards-based (OGC, QGIS, GDAL). Similar to ESRI geodatabase, but more responsive. It is a single-file format that can store anything from vector data and attributes, symbology, pyramids, table data as individual layers within one geopackage. It is possible to store rasters, but its supports for raster data is still limited and we don't encourage storing those as geopackage. Supports SQL and API to DB - fit for web applications, can export to PostGIS. There is no limit of attributes, attribute name size, or file size (unlike shapefile, `.shp`). Internal metadata specifications are under development. + +```{note} +Always prefer WIDE geodatabase table formatting instead of LONG format when working in GIS environment; by duplicating vector rows, the geospatial information is also duplicated, which cause the size of the data to increase exponentially, and slows down the spatial processing. +![Screenshot](../../img/tab_format.png) +``` + +### Raster data: GeoTIFF / COG (`.tif`) + +**GeoTIFF** (`.tif`) is the image standard file for GIS and satellite remote sensing applications. It can store multiple realisations as “bands”. GeoTIFFs can be accompanied by other auxiliary files (`.tfw` for raster geolocation, `.xml` for metadata, `.aux` for projections and others, `.ovr` for pyramids to improve visualisation), compressed into a `.zip` file together with the `.tif` files for sharing. + +**A Cloud Optimized GeoTIFF (COG)** is a regular GeoTIFF file, aimed at being hosted on a HTTP file server, with an internal organization that enables more efficient workflows on the cloud. It does this by leveraging the ability of clients issuing ​[HTTP GET range requests](https://tools.ietf.org/html/rfc7233) to ask for just the parts of a file they need. This is the best option for data that needs to be hosted on a geocatalogue such as [GeoNode](https://www.geonode-gfdrrlab.org). + +## Other common geodata formats + +### Vector data + +**ESRI ShapeFile** (`.shp`) is a well established, de facto standard in the GIS community. Accepted by all GIS software. Format specifications are open, however it is a proprietary format (controlled by Esri). It can only contains one geometry type (point, line, polygon) per file. It is a multiple-parts file format (`.shp` for geometry, `.dbf` for table, `.shx` for indexing, `.prj` for CRS, and other files for encoding, indexes, etc.). Attribute names are limited to 10 characters, and number of attributes (ie table fields) is limited to 255. The file size is restricted to 2 GB. + +```{note} +Conversion from `.shp` to `.gpkg` is lossless and usually size-efficient. Where shp format is maintained, it is stongly suggested they are provided as a `.zip` folder containing the multiple components of the shapefile dataset (`.shp`, `.dbf`, `.xml`, `.ovr`, etc.). +``` + +### Raster data + +**Network Common Data Form (NetCDF)** (`.nc`) is a format for storing multi-dimensional, array-oriented variables. Commonly used in the scientific community for multidimensional geodata storage (e.g., climate data). Supported by ArcGIS and QGIS via toolbox conversion or extensions; most spatial processing tools require conversion into raster first. + +**GRIdded Binary or General Regularly-distributed Information in Binary (GRIB)** is standardized by the WMO and in operation since 1985. Similar to NetCDF, GRIB files are commonly used in meteorology to store historical and forecast weather data. It’s a multidimensional file with the advantages of self-description, flexibility and expandability. There are tools to convert GRIB into rasters such as grb2grid and QGIS software. + +## Non-spatial formats + +### Spreadsheet and tables + +**Comma-separated values** (`.csv`) is used for table data such as vulnerability models, results summary, aggregations, etc. Small files can be added uncompressed, so the resource filetype will show as ‘CSV’. Where large or multiple files are compressed, filetype will show as ‘ZIP’ though so please include reference to the `.csv` filetype in the resource description. + +**Excel** (`.xlsx`) is used for table data such as results summary, aggregations, etc. Deprecated for grid spatial data. Small files can be added uncompressed, multiple files ought to be compressed into a single `.zip` file, with reference to the `.xlsx` filetype in the resource description. + +```{note} +Wide table formatting is preferred instead of long format. +![Screenshot](../../img/tab_format.png) +``` + +### Documents + +**Portable Document Format** (`.pdf`) is the preferred format for reports and documentation. Add reports uncompressed whenever possible: users will commonly want to see the description for each report or document as one resource per file. Resource filetype will show as ‘PDF’. diff --git a/docs/guides/datasets/index.md b/docs/guides/datasets/index.md new file mode 100644 index 00000000..95c8fca0 --- /dev/null +++ b/docs/guides/datasets/index.md @@ -0,0 +1,12 @@ +# How to publish risk datasets + +This section provides guidance on how to publish risk datasets. For guidance on how to publish RDLS metadata, see [how to publish RDLS metadata](../metadata.md). + +```{eval-rst} +.. toctree:: + :maxdepth: 1 + + formats + packaging + +``` diff --git a/docs/guides/datasets/packaging.md b/docs/guides/datasets/packaging.md new file mode 100644 index 00000000..d9cec8d2 --- /dev/null +++ b/docs/guides/datasets/packaging.md @@ -0,0 +1,289 @@ +# How to package risk datasets + +This section describes common data formats and file types developed during a risk assessment. For each of the hazard, exposure, vulnerability and loss components, it describes possible grouping of multiple files into minimal resources associated with a dataset, which can make it easier to find and download resources of the same type. + +The data structure and packaging of the output as obtained from the data analysts do not always align with the way we want users of the **Risk Data Library** to search and download data. + +Data shared in risk catalogues (e.g. [Risk Data Library Collection](https://datacatalog.worldbank.org/search/collections/rdl) are provided as individual `RESOURCES`; it is encouraged to group these according to geography and theme: + +- **GEOGRAPHY**: data covering a multi-country region might be split into individual countries' datasets. +- **THEME**: for risk data, this includes hazard, sector or asset type. + Depending on the project or intended purpose of the data, one or other grouping might be preferred. + +We also need to consider: + +- **FORMAT**: how the data are stored. It is preferred to keep data in the same format in a single resource, or split different file formats into multiple resources. [Read more](formats) about common data formats for risk information. +- **SELF-DEPENDENCY & COMPLETENESS**: the data resource ought to be be easily interpreted and used by itself. +- **SIZE-EFFICIENCY**: try to avoid creating large datasets (> 500MB) that would be hard to download on poor connections. + +```{caution} +In general, splitting raster datasets into smaller parts is not advised, according to self-dependency and completeness criteria. For data efficiency, always consider a larger extent than needed as to avoid cross-border artefacts. Instead of splitting rasters, consider storing the raster in an alternative format that maybe more size-efficient (see Formats sections). +![Screenshot](../../img/raster_clip.jpg) +``` + +Structuring risk data well when it is generated and before it is delivered to a client is important to ensure data folder are intuitive to search, and make dataset upload more efficient (and it is easier to do first time than changing the structure later). Decisions on how to structure risk data ought to be be taken on a project-by-project basis, because there is a wide variety of how data are structured depending on the components of a project. For a country-scale analysis, we advise to follow the following structure of folders when preparing data for delivery / upload to a risk data catalog: + +``` +_ + ├── Hazard + │ ├── (example subfolders: hazard catalog, base data, hazard maps) + │ └── + ├── Exposure + │ ├── (e.g., Residential buildings; Example subfolders: current exposure, projected exposure) + │ └── (e.g., Transport infrastructure) + ├── Vulnerability + │ └── X + │ └── X + │ └── X + │ └── X + └── Loss + │ ├── X (subfolders for each sector loss; current and projected) + │ └── X + │ └── X + │ └── X +``` + +```{caution} +Where there are many resources for a dataset, it can be tempting to include a folder structure in an online data catalog. This is not advised and it is suggested that files be grouped together into individual `Resources` in order to facilitate finding the specific component of analysis, and without creating problematically large file sizes. +``` + +______________________________________________________________________ + +## Hazard data + +### Format / data types + +Hazard data typically include hazard maps representing one or more historical events, or simulated probabilistic scenarios (`event footprints`). In some cases, hazard curves and stochastic event set tables are provided. Additional data could include intensity-duration-frequency curves, ground motion relationships, or hazard-defence measures. + +Generally, hazard data (footprints) takes the form of raster (geospatial grid) data (`GeoTIFF / COG`), less often as vector data (`gpkg`, `shp`). Supporting data (hazard curves, historical catalogue) could come as tables (`csv`, `xlsx`) or vector data (`gpkg`, `shp`). + +```{figure} ../../img/hzd_tc.jpg +--- +align: left +width: 98% +--- +**Example:** two kinds of representation for the same hazard (tropical cyclones - strong winds) over the Caribbean: +
                  - **Raster** data (left): max wind speed from probabilistic scenario (Return Period 100 years); +
                  - **Vector** data (right): max wind speed from empirical events recorded in 40 years period (1980-2020). +``` + +### Thematic grouping + +The main thematic groupings in hazard data are: + +- **Hazard type**: data produced for seismic hazard, wildfire, fluvial flood, pluvial flood, etc. +- **Reference period**: e.g., historical, projections (2050, 2080) + +### Geographic grouping + +- **Scale, location and resolution**: Hazard data can be generated at global, regional, national, subnational, or urban level. High-resolution hazard data (e.g. urban level analysis) might be grouped for individual locations (city) whenever the dataset becomes too large. + +### Packaging suggestion + +We suggest grouping hazard data using the following hierarchy: + +- **Hazard type** + - *Geographic scale and location* + - *Reference period* + +For example: + +``` + + └── Hazard + ├── + │ ├── + │ │ ├── + │ │ │ └── Resource: ___.zip -> [RP10.tif; RP25.tif; RP50.tif; RP100.tif] + │ │ ├── <2050> + │ │ │ └── Resource: ___<2050>.zip -> [RP10.tif; RP25.tif; RP50.tif; RP100.tif] + │ │ └── <2080> + │ │ └── <...> + │ └── + └── + ├── <...> + └── <...> +``` + +______________________________________________________________________ + +## Exposure data + +### Format + +Exposure data typically describe the location, characteristics and value of individual assets or an aggregated number of assets/population per grid cell. Each point or cell usually has many attributes associated with it. + +Exposure geospatial data can take the form of vector (`gpkg`, `shp`), or raster (`GeoTIFF / COG`). In some cases, exposure comes as table (`csv`, `xls`). + +```{figure} ../../img/exp_formats.jpg +--- +align: left +width: 98% +--- +**Example:** two kinds of exposure representation for the same area (Dhaka, Bangladesh): +
                  - **Raster** data (left): presence of built-up as binary raster layer at 10 meter resolution, derived from remote sensing (World Settlement Footprint 2019). Does not discriminate the building types; +
                  - **Vector** data (right): vector area of individual buildings from Open Street Map, 2023. Does discriminate between building types. +``` + +### Thematic grouping + +The main thematic groupings in exposure data are: + +- **Exposure category**: e.g. Population / Built-up / Cropland +- **Sub-type**: e.g. Built-up asset type (Structure, Content, Product) / sector (Residential, Commercial) / construction type (Masonry, Wood + e.g. Population gender (male, female) / Age distribution (children; over 65) +- **Year**: reference period or year, e.g. specific year (2020), projected period (2040-2060), etc. + +### Geographic grouping + +- **Scale, location and resolution**: Exposure data can be generated at global, regional, national, subnational, or urban level. High-resolution hazard data (e.g. urban level) might be grouped for individual locations (city) whenever the dataset becomes too large. + +### Packaging suggestion + +We suggest grouping exposure data using the following hierarchy: + +- **Geographic scale and location** + - **Exposure category** + - **Year** + - *Sub-type* (optional) + +For example: + +``` + + └── Exposure + ├── + │ ├── + │ │ ├── <2020> + │ │ │ └── Resource: ____<2020>.zip -> [subtype1.tif; subtype2.tif; subtype3.tif] + │ │ └── <2050> + │ │ └── Resource: ____<2050>.zip -> [subtype1.tif; subtype2.tif; subtype3.tif] + │ ├── + │ │ └── <...> + └── + └── + └── <...> +``` + +______________________________________________________________________ + +## Vulnerability data + +### Format + +Vulnerability data are usually provided as table data (`csv`, `xls`) or json containing the impact model function and parameters. + +```{figure} https://gfdrr.github.io/CCDR-tools/_images/vln_fl_bu.png +--- +align: center +width: 70% +--- +Example of vulnerability functions for floods (depth-damage curve) as table data ([Download](https://publications.jrc.ec.europa.eu/repository/bitstream/JRC105688/copy_of_global_flood_depth-damage_functions__30102017.xlsx)). +``` + +Often, vulnerability models are proprietary data and only shared as pictures; this has low reusability and ought to be avoided. Always try to obtain a mathematical description for this component. + +### Thematic grouping + +The main thematic groupings specific to vulnerability data are: + +- **Hazard type**: e.g. Flood damage function; Earthquake fragility curves. +- **Exposure type and sub-type**: e.g. Builtup (Structure, Content, Product / Residential, Commercial / Masonry, Wood) + +### Geographic grouping + +Vulnerability curves can be developed for individual countries or environments within a project. Where this is the case, this grouping ought to be retained. + +### Packaging suggestion + +We suggest to group exposure data using the following hierarchy: + +- **Hazard type** + - *Geographic* (unless global function, one resource per country) + - **Exposure category** (Population, Built-up, ...) + - **Sub-type** (e.g. sector (Residential, Commercial), construction type (Masonry, Wood), or others) + +```{note} +This hierarchy can be maintained also when packing all the data in one file (e.g. multiple csvs into one excel file), which is advised _unless specifically demanded by the data use_ (e.g. data are formatted for usage into a specific model). +``` + +```{figure} ../../img/vln_multi-table.jpg +--- +align: left +width: 98% +--- +Example of multiple vulnerability functions for floods (depth-damage curve) into one excel file ([Source: JRC](https://publications.jrc.ec.europa.eu/repository/bitstream/JRC105688/copy_of_global_flood_depth-damage_functions__30102017.xlsx)). +``` + +For example, when grouping multiple functions into one excel file, the following approach can be adopted: + +``` + + └── Vulnerability + ├── + │ ├── (skip if global function) + │ │ ├── + │ │ │ └── Resource: ___.xlsx -> [subtype1.tif; subtype2.tif; subtype3.tif] + │ │ └── + │ │ └── Resource: ___.xlsx -> [subtype1.tif; subtype2.tif; subtype3.tif] + └── + └── <...> + └── <...> +``` + +______________________________________________________________________ + +## Loss data + +### Format + +Loss or impact data comes in the form of: + +- tabulated event losses, and loss per exceedance probability +- mapped return period loss / annual average loss - in vector files/choropleth maps +- (more rarely) as granular raster or vector data with loss value attached + +### Thematic grouping + +The main thematic groupings in loss data are: + +- **Hazard type**: denoting a single hazard or a multi-hazard loss metric. + - **Asset type / sector**: e.g. Structure, Content, Product / Residential, Commercial + - **Year or period**: e.g. historical (2020), projections (2040-2060), etc. + +### Geographic grouping + +Losses are usually aggregated at national or subnational administrative level (ADM2, ADM1, or ADM0) or for a multi-country region. +Losses can also be provided per asset (e.g. individual buildings or raster footprints) but it is not usual, although these files are usually generated by the risk analysts. + +### Packaging suggest + +Depending on the data format and size: + +- if data consists of one or more tables, it is usually a good idea to group it together into one `excel` file so users can access all of the losses at once; +- if data consists of one or more vector files representing national or subnational boundary levels, these can be grouped into one `geopackage` file; +- if data consists of multiple granular spatial data, it might be packed as individual or multiple layers (depending on the size of individual layers) + +In either case, we suggest grouping exposure data using the following hierarchy: + +- **Hazard type** + - *Country* + - **Exposure category** + - *Sub-type* + - Year or period + +For example: + +``` + + └── Loss + ├── + │ ├── (skip if global function) + │ │ ├── + │ │ │ └── Resource: ___.xlsx -> [subtype1.tif; subtype2.tif; subtype3.tif]; [period] + │ │ └── + │ │ └── Resource: ___.xlsx -> [subtype1.tif; subtype2.tif; subtype3.tif]; [period] + └── + └── <...> + └── <...> +``` diff --git a/docs/guides/index.md b/docs/guides/index.md new file mode 100644 index 00000000..fdd462aa --- /dev/null +++ b/docs/guides/index.md @@ -0,0 +1,13 @@ +# Guidance + +This section provides guidance on how to publish RDLS metadata, guidance on how to publish risk datasets and mappings between existing risk taxonomies and RDLS. + +```{eval-rst} +.. toctree:: + :maxdepth: 2 + + metadata + datasets/index + mappings/index + +``` diff --git a/docs/guides/mappings/index.md b/docs/guides/mappings/index.md new file mode 100644 index 00000000..783ce53b --- /dev/null +++ b/docs/guides/mappings/index.md @@ -0,0 +1,11 @@ +# Taxonomy mappings + +This section provides mappings from existing risk taxonomies and classifications to [RDLS codelists](../../reference/codelists.md). For more information on the relationship between RDLS and other standards, see [how does RDLS relate to other standards](../../rdl/other-standards.md). + +```{eval-rst} +.. toctree:: + :maxdepth: 1 + + undrr_isc_hip + +``` diff --git a/docs/guides/mappings/undrr_isc_hip.md b/docs/guides/mappings/undrr_isc_hip.md new file mode 100644 index 00000000..f3d24580 --- /dev/null +++ b/docs/guides/mappings/undrr_isc_hip.md @@ -0,0 +1,13 @@ +# UNDRR-ISC Hazard Information Profiles + +The United Nations Office for Disaster Risk Reduction and International Science Council (UNDRR-ISC) [Hazard Information Profiles](https://www.undrr.org/publication/hazard-information-profiles-hips) provides a common set of hazard definitions for monitoring and reviewing implementation of the Sendai Framework, Sustainable Development Goals and the Paris Agreement on Climate Change. + +The following table provides a mapping between the UNDRR-ISC Hazard Information Profiles and the RDLS [hazard_type](../../reference/codelists.md#hazard_type) and [process type](../../reference/codelists.md#process_type) codelists. You can also [download the mapping as a CSV file](../../../mappings/undrr-isc-hip.csv). + +```{csv-table-no-translate} +--- +header-rows: 1 +widths: auto +file: ../../../mappings/undrr-isc-hip.csv +--- +``` diff --git a/docs/guides/metadata.md b/docs/guides/metadata.md new file mode 100644 index 00000000..a3baac72 --- /dev/null +++ b/docs/guides/metadata.md @@ -0,0 +1,131 @@ +# How to publish RDLS metadata + +This page provides an [overview](#overview) of the process for publishing Risk Data Library Standard (RDLS) metadata and [how-to guides](#how-to-guides) for specific topics. + +## Overview + +The process for publishing RDLS metadata can be divided into three phases: + +- [Prepare your metadata](#prepare-your-metadata) +- [Convert and validate your metadata](#convert-and-validate-your-metadata) +- [Publish your metadata](#publish-your-metadata) + +### Prepare your metadata + +Data catalog systems typically use [Java Script Object Notation (JSON)](https://www.json.org/) as a data-interchange format so your likely goal is to publish RDLS metadata in JSON format. + +Whilst you can *author* RDLS metadata in JSON format, it is difficult and time consuming to author JSON data 'by hand'. Therefore, we provide open source tools that you can use to author RDLS metadata in a more user-friendly spreadsheet format and to convert it to JSON format. + +If you are authoring new metadata by hand or converting existing metadata from a spreadsheet, the suggested approach is to [use the RDLS spreadsheet template](#use-the-rdls-spreadsheet-template). + +If you are exporting existing metadata from a data catalog or database and you have access to a software developer, the suggested approach is to [export data in JSON format](#export-data-in-json-format). + +If your risk datasets use terms from existing taxonomies or classifications, use the [taxonomy mappings](mappings/index.md) to identify the equivalent codes in RDLS. + +If you plan to describe the spatial coverage of your risk data using coordinates, you might need to [transform your coordinates to the correct coordinate reference system](#transform-coordinates-between-coordinate-reference-systems). + +#### Use the RDLS spreadsheet template + +The RDLS spreadsheet template is a tool for authoring RDLS metadata in spreadsheet format. + +To download the template and learn how to use it, read its [documentation](https://github.com/GFDRR/rdls-spreadsheet-template#readme). + +Once you have entered your metadata using the template, the next step is to [convert it to JSON format and validate it against the RDLS schema](#convert-and-validate-your-metadata). + +#### Export data in JSON format + +If you plan to export RDLS metadata from an existing system in JSON format, you first need to identify how your existing metadata 'maps' to RDLS - that is, identifying which [data elements](https://en.wikipedia.org/wiki/Data_element) within your system match which RDLS [fields](../reference/schema.md) and [codes](../reference/codelists.md). You then need to implement your mapping in code. JSON is a widely used format so most programming languages and database engines provide support for exporting data in JSON format. + +It is strongly suggested that you do not author RDLS metadata in JSON format 'by hand'. However, if you do choose this approach, you ought to use a text editor with support for JSON formatting and validation, such as [Visual Studio Code](https://code.visualstudio.com/docs/languages/json). + +In either case, you need to structure and format your data according to the [RDLS schema](../reference/schema.md). + +Once you have prepared your RDLS metadata in JSON format, the next step is to [validate it against the RDLS schema](#convert-and-validate-your-metadata). + +### Convert and validate your metadata + +The [RDLS Convertor](https://metadata.riskdatalibrary.org) is a web-based tool for converting RDLS metadata between spreadsheet and JSON format and for validating it against the RDLS schema. You can submit data to the convertor in either spreadsheet or JSON format. + +You ought to regularly use the RDLS Convertor to validate the structure and format of your metadata. This ensures that your metadata is compatible with tools designed to work with RDLS metadata. + +If your metadata is in JSON format, you need to [package your RDLS metadata](#package-your-rdls-metadata) before submitting it to the RDLS Convertor. + +The RDLS Convertor reports any issues with the structure and format of your metadata. You ought to fix the issues it reports before publishing your metadata. + +If you prefer to use command-line tools, you can use [Flatten Tool](https://flatten-tool.readthedocs.io/) to convert RDLS metadata between spreadsheet and JSON format and you can use [Lib CoVE RDLS](https://github.com/GFDRR/rdls-lib-cove) to validate your metadata against the RDLS schema. + +Once you've resolved any issues with the structure and format of your data, the next step is to [publish it](#publish-your-metadata). + +### Publish your metadata + +The steps involved in publishing your RDLS metadata will depend on the specific data catalog or website to which you are adding your risk datasets. + +If you are adding data to the World Bank Data Catalog, refer to the [internal guidance for World Bank users](https://github.com/GFDRR/rdl-standard/blob/dev/internal_guide_rdl_on_WBdataCatalog.md). + +If you are publishing an access-restricted resource, see [how to publish an access-restricted resource](#publish-an-access-restricted-resource). + +## How-to guides + +This section contains how-to guides for specific topics. To learn about the process for publishing RDLS metadata, see the [overview](#overview). + +### Assign a dataset identifier + +You need to assign a unique identifier (`id`) to each dataset for which you are publishing RDLS metadata. The preferred approach is to use a persistent HTTP URI in accordance with Data on the Web Best Practices [\$8.7 Data Identifiers](https://www.w3.org/TR/dwbp/#DataIdentifiers). + +If you are authoring RDLS metadata for a dataset that is already uniquely identified by a persistent HTTP URI, you ought to set `id` to the existing HTTP URI for the dataset. + +For example, the [GHS-BUILT-S R2023A - GHS built-up surface grid, derived from Sentinel2 composite and Landsat, multitemporal (1975-2030) dataset](http://data.europa.eu/89h/9f06f36f-4b11-47ec-abb0-4f8b7b1d72ea) is identified by the following URI in the publisher's data catalog: http://data.europa.eu/89h/9f06f36f-4b11-47ec-abb0-4f8b7b1d72ea. Therefore, in the RDLS metadata describing the dataset, `id` is set to the existing URI: + +```json +{ + "id": "http://data.europa.eu/89h/9f06f36f-4b11-47ec-abb0-4f8b7b1d72ea", + "title": "GHS-BUILT-S R2023A - GHS built-up surface grid, derived from Sentinel2 composite and Landsat, multitemporal (1975-2030)" +} +``` + +If you are authoring RDLS metadata for a dataset that is not already uniquely identified by a persistent HTTP URI, you ought to generate a persistent HTTP URI for the dataset. For example, by adding the dataset to a data catalog that assigns persistent HTTP URIs. + +Otherwise, if you cannot generate a persistent HTTP URI for a dataset, for example, because you are authoring RDLS metadata before adding the dataset to a data catalog, you ought to set `id` to a globally unique identifier of your choice, such as a version 4 [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier). For more information, see [how to generate a universally unique identifier](#generate-a-universally-unique-identifier). + +### Generate a universally unique identifier + +If you are writing your own software or if you prefer to use the command line, several libraries and tools are available to generate universally unique identifiers (UUIDS), for example: + +- Golang - [google/uuid](https://pkg.go.dev/github.com/google/uuid) +- PHP - [ramsey/uuid](https://github.com/ramsey/uuid) +- C++ - [Boost UUID](https://www.boost.org/doc/libs/1_65_0/libs/uuid/uuid.html) +- Linux or C - [libuuid](https://linux.die.net/man/3/libuuid) +- Python - [uuid.py](https://docs.python.org/3/library/uuid.html) +- Java - [java.util.UUID](https://docs.oracle.com/javase/7/docs/api/java/util/UUID.html) +- C# - [System.Guid](https://docs.microsoft.com/en-us/dotnet/api/system.guid) +- JavaScript - [Crypto.randomUUID](https://www.moreonfew.com/how-to-generate-uuid-in-javascript/) +- R - [uuid](https://cran.r-project.org/web/packages/uuid/index.html) + +If you prefer to use a graphical user interface, several web-based tools are available, for example [Online UUID Generator](https://www.uuidgenerator.net/). + +### Package your RDLS metadata + +To package your RDLS metadata, use the structure and format described by the [package schema](../reference/package_schema.md). + +### Transform coordinates between coordinate reference systems + +Coordinates in RDLS metadata need to be specified using the World Geodetic System 1984 (WGS 84) datum, with longitude and latitude units of decimal degrees. This is equivalent to the coordinate reference system identified by the Open Geospatial Consortium URN urn:ogc:def:crs:OGC::CRS84. + +If the coordinates in your data sources are specified in a different CRS, before publishing your RDLS metadata, you first need to transform the coordinates to the correct CRS. + +If your data pipeline includes a Geographic Information System such as ArcGIS or QGIS, these tools can transform coordinates from one CRS to another. If you are writing your own software, or if you prefer to use the command line, several libraries and tools are available, for example: + +- [PROJ](https://proj.org/) and its associated Python interface (\[PYPROJ\])(https://pyproj4.github.io/pyproj/stable/) and JavaScript implementation ([PROJ4JS](http://proj4js.org/)) are generic coordinate transformation tools that transform geospatial coordinates from one coordinate reference system (CRS) to another. They include command-line applications and an application programming interface. +- [GDAL](https://gdal.org/) is a translator library for raster and vector geospatial data formats. It also comes with a variety of useful command line utilities for data translation and processing. +- [Apache SIS](https://sis.apache.org/) is a free software, Java language library for developing geospatial applications. SIS provides data structures for geographic features and associated metadata along with methods to manipulate those data structures. + +If you prefer to use a graphical user interface, several web-based tools are available, for example: + +- [MyGeodata Cloud](https://mygeodata.cloud/cs2cs/) +- [epsg.io](https://epsg.io/transform) + +The WSG84 CRS is equivalent to EPSG:4326 with reversed axes so, if it is not supported by your chosen transformation tool, you can instead transform your coordinates to EPSG:4326 and manually order your coordinates in longitude, latitude order. + +### Publish an access-restricted resource + +If a resource is not available directly from a non-access-restricted URL, you ought to publish the URL of the page that describes the arrangements for obtaining access to the resource in the [`Resource.access_url`](rdls_schema.json,/$defs/Resource,access_url) field. diff --git a/docs/img/array.png b/docs/img/array.png new file mode 100644 index 00000000..722b576e Binary files /dev/null and b/docs/img/array.png differ diff --git a/docs/img/exp_formats.jpg b/docs/img/exp_formats.jpg new file mode 100644 index 00000000..c8a4a42f Binary files /dev/null and b/docs/img/exp_formats.jpg differ diff --git a/docs/img/hzd_tc.jpg b/docs/img/hzd_tc.jpg new file mode 100644 index 00000000..94b4ab48 Binary files /dev/null and b/docs/img/hzd_tc.jpg differ diff --git a/docs/img/raster_clip.jpg b/docs/img/raster_clip.jpg new file mode 100644 index 00000000..18b634b0 Binary files /dev/null and b/docs/img/raster_clip.jpg differ diff --git a/docs/img/rdl_collection.png b/docs/img/rdl_collection.png new file mode 100644 index 00000000..557d6bcd Binary files /dev/null and b/docs/img/rdl_collection.png differ diff --git a/docs/img/rdl_ddh1.png b/docs/img/rdl_ddh1.png new file mode 100644 index 00000000..72fa3916 Binary files /dev/null and b/docs/img/rdl_ddh1.png differ diff --git a/docs/img/rdl_ddh2.png b/docs/img/rdl_ddh2.png new file mode 100644 index 00000000..69b238cf Binary files /dev/null and b/docs/img/rdl_ddh2.png differ diff --git a/docs/img/rdl_ddh3.png b/docs/img/rdl_ddh3.png new file mode 100644 index 00000000..6a13bb96 Binary files /dev/null and b/docs/img/rdl_ddh3.png differ diff --git a/docs/img/rdl_ddh4.png b/docs/img/rdl_ddh4.png new file mode 100644 index 00000000..08ee0f71 Binary files /dev/null and b/docs/img/rdl_ddh4.png differ diff --git a/docs/img/rdl_ddh_add.png b/docs/img/rdl_ddh_add.png new file mode 100644 index 00000000..994c1330 Binary files /dev/null and b/docs/img/rdl_ddh_add.png differ diff --git a/docs/img/rdl_ddh_mydata.png b/docs/img/rdl_ddh_mydata.png new file mode 100644 index 00000000..de649899 Binary files /dev/null and b/docs/img/rdl_ddh_mydata.png differ diff --git a/docs/img/structure.svg b/docs/img/structure.svg new file mode 100644 index 00000000..5fd2913b --- /dev/null +++ b/docs/img/structure.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/img/tab_format.png b/docs/img/tab_format.png new file mode 100644 index 00000000..535d049b Binary files /dev/null and b/docs/img/tab_format.png differ diff --git a/docs/img/tab_long.png b/docs/img/tab_long.png new file mode 100644 index 00000000..280a0c3e Binary files /dev/null and b/docs/img/tab_long.png differ diff --git a/docs/img/tab_wide.png b/docs/img/tab_wide.png new file mode 100644 index 00000000..7129942a Binary files /dev/null and b/docs/img/tab_wide.png differ diff --git a/docs/img/vln_multi-table.jpg b/docs/img/vln_multi-table.jpg new file mode 100644 index 00000000..500f0022 Binary files /dev/null and b/docs/img/vln_multi-table.jpg differ diff --git a/docs/implementation/index.md b/docs/implementation/index.md deleted file mode 100644 index dc2ebcbb..00000000 --- a/docs/implementation/index.md +++ /dev/null @@ -1,20 +0,0 @@ -# Implementation - -The RDL schema and standard can be adopted to risk project data in different ways: - -- [**Structure and naming convention**](local.md) of risk data files and folders -- [**Catalogue implementation**](jkan.md) based on open-source *JKAN* static content creator for simple file storage and download -- [**Database implementation**](postgres.md) based on *PostGRESQL* for advanced features - -

                - -```{eval-rst} -.. toctree:: - :maxdepth: 1 - :hidden: - - local - jkan - postgres - -``` diff --git a/docs/implementation/jkan.md b/docs/implementation/jkan.md deleted file mode 100644 index a91a9aee..00000000 --- a/docs/implementation/jkan.md +++ /dev/null @@ -1,10 +0,0 @@ -# JKAN catalogue - -Live istance of RDL JKAN catalogue available at [jkan.riskdatalibrary.org](https://jkan.riskdatalibrary.org). - - - - - - -

                diff --git a/docs/implementation/local.md b/docs/implementation/local.md deleted file mode 100644 index 1e85712c..00000000 --- a/docs/implementation/local.md +++ /dev/null @@ -1,38 +0,0 @@ -# Local schema implementation - -Structuring and naming of risk data files within a project folder represent the simplest and most direct level of implementation of the Risk Data Standard. - -## Structure of project folder - -
                - -## Naming convention for files - -To help univocally identify the content of a dataset file, the filename should summarise all the key information that allow to distinquish it from the others. -The general format, all in lower caps, uses a tag approach to build the full filename: - - [component_code]-{project_name}-[country_iso]-{schema_specifics}-{time} - -The name is made of [required] and {optional} attributes. Each component uses the most relevant attribute as schema_specifics, for example: - -- Hazard:
                -`hzd-[country_iso]-{project_name}-{hazard_type}-{process_type}-{hazard_trigger}-{frequency}-{time}`
                -Example: pluvial flood hazard scenario with return period 10 years in 2050 for Afghanistan is named:
                -**hzd-afg-mhra-fl-fpf-rp10-2050** -

                -- Exposure:
                -`exp-[country_iso]-{project_name}-{occupancy}-{exposure_model}-{time}`
                -Example: residential exposure in Madagascar from Open Street Map 2015 is named:
                -**exp-mdg-swio_rafi-residential-osm-2015** -

                -- Vulnerability:
                -`vln-[country_iso]-{project_name}-{hazard_type}-{occupancy}-{vulnerability_model}`
                -Example: flood depth-damage function developed for India by JRC over industrial land cover is named:
                -**vln-ind-fl-industrial-jrc** -

                -- Loss:
                -`lss-[country_iso]-{project_name}-{hazard_type}-{occupancy}-{time}`
                -Example: eartquake losses over Madagascar infrastructures over the period 1920-2012 is named:
                -**lss-mdg-eq-infrastructrure-1920_2012** - -

                \ No newline at end of file diff --git a/docs/implementation/postgres.md b/docs/implementation/postgres.md deleted file mode 100644 index 6ba59971..00000000 --- a/docs/implementation/postgres.md +++ /dev/null @@ -1,8 +0,0 @@ -# PostGRESQL database - - - - - - -

                diff --git a/docs/index.md b/docs/index.md index 3ff03346..4fc938fb 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,38 +1,31 @@ - - # Risk Data Library Standard -The **Risk Data Library Standard (RDLS)** is an open data standard to make it easier to work with disaster and climate risk data. It provides a common description of the data used and produced in risk assessments, including **hazard**, **exposure**, **vulnerability**, and **modelled loss**, or impact, data. +The Risk Data Library Standard (RDLS) is an **open metadata standard** for describing risk datasets used in climate and disaster risk assessments. -The RDLS provides a unique way to create, store, exchange and use disaster different risk information together. It is at the core of the Risk Data Library, a suite of open source tools to work with disaster and climate risk data. +The purpose of the RDLS is to enable risk reduction and resilience building by making it easier for risk data publishers to describe their datasets and for risk data users to identify datasets to use in their work. Many different organisations produce or use risk datasets, including humanitarian organisations, insurance companies, academic institutions and multi-lateral development banks. -The RDLS has been developed by World Bank GFDRR for disaster and climate risk assessments but is intended to be used by anyone involved in generating or using disaster risk information. +The key feature of the RDLS is the metadata standard for describing **hazard**, **exposure**, **vulnerability**, and **loss** datasets. In addition to the metadata standard, the RDLS provides guidance on packaging and formatting for risk datasets, although it does not seek to standardise the contents of risk datasets. -This documentation provides a technical overview of the RDLS and its different elements: +The RDLS is curated by the [Global Facility for Disaster Reduction and Recovery](https://www.gfdrr.org) and is intended for use by anyone involved in publishing or using disaster risk data. It is an open standard and community contributions are welcome. -- [**Core standards**](standards.md): description of existing open data standards used in the RDLS -- [**Taxonomy**](taxonomies/index.md): details of taxonomies adopted by the RDLS -- [**Data model**](data_model/index.md): how to organize and link the data using the RDLS schema -- [**Implementation**](implementation/index.md): how to apply the RDLS in your project -- [**Tutorials**](tutorials/index.md): how to adopte and use RDLS for different pruposes -- [**About**](about/index.md): other information on the roadmap, history, governance and license +The standard originated from in-depth consultations with the disaster and climate risk modeling community on improving access to risk datasets. It is the result of the collective effort and ongoing support of internationally-recognised research institutions and established global partnerships, bring together expertise in multiple hazards and all aspects of risk assessment. -
                +To help you use RDLS effectively, the documentation includes the following sections: -The RDL is a collaborative project managed by the [Global Facility for Disaster Reduction and Recovery (GFDRR)](https://www.gfdrr.org/) of the World Bank Group. +- An [introduction](rdl/index.md) to the RDLS +- [Reference](reference/index.md) documentation for the metadata standard +- [Guidance](guides/index.md) on how to publish metadata in RDLS format and how to package and format risk datasets +- A [glossary](glossary.md) of risk terminology +- Background information [about](about/index.md) the RDLS, including how it is governed, its history and roadmap, and who to contact for more information ```{eval-rst} .. toctree:: :maxdepth: 1 :hidden: - keyconcepts - standards - taxonomies/index - usecases - data_model/index - implementation/index - tutorials/index + rdl/index + reference/index + guides/index + glossary about/index - ``` diff --git a/docs/keyconcepts.md b/docs/keyconcepts.md deleted file mode 100644 index fefa77d8..00000000 --- a/docs/keyconcepts.md +++ /dev/null @@ -1,86 +0,0 @@ - - -# Key concepts - -In this section, you will find definition of key concepts behind the RDLS including what is a disaster, how to reduce disaster risk through disaster disaster risk management and disaster risk assessment and what are the different types of risk data needed. - -Main definitions are taken from the [UNDRR Terminology](https://www.undrr.org/terminology). - -## Disaster risk - -Disaster risk is the potential loss of life, injury, or destroyed or damaged assets which could occur to a system, society or a community in a specific period of time, determined probabilistically as a function of hazard, exposure, vulnerability and coping capacity. - -Disaster risk comprises different types of potential impacts and losses (direct and indirect, tangible and intangible) which are sometimes difficult to quantify. Nevertheless, with knowledge of the prevailing hazards, the patterns of population and socio-economic development and their tendency to suffer impacts, disaster risks can be assessed and mapped, at least in broad terms. - -Source: [Disaster Risk, UNDRR Terminology](https://www.undrr.org/terminology/disaster-risk) - -## Disaster risk management - -Disaster risk management is the application of disaster risk reduction policies and strategies to prevent new disaster risk, reduce existing disaster risk and manage residual risk, contributing to the strengthening of resilience and reduction of disaster losses. - -Source: [Disaster Risk Management, UNDRR Terminology](https://www.undrr.org/terminology/disaster-risk-management) - -## Disaster risk assessment - -A qualitative or quantitative approach to determine the nature and extent of disaster risk by analysing potential hazards and evaluating existing conditions of exposure and vulnerability that together could harm people, property, services, livelihoods and the environment on which they depend. - -Source: [Disaster Risk Assessment, UNDRR Terminology](https://www.undrr.org/terminology/disaster-risk-assessment) - -## Disaster risk information (risk data) - -Comprehensive information on all dimensions of disaster risk, including hazards, exposure, vulnerability and capacity, related to persons, communities, organizations and countries and their assets. - -Disaster risk information also includes the results of disaster risk assessments often expressed in terms of potential losses or impacts. - -Source: [Disaster Risk Information, UNDRR Terminology](https://www.undrr.org/terminology/disaster-risk-information) - - - -## Hazard - -An hazard is a process or phenomenon that may cause loss of life, injury or other health impacts, property damage, social and economic disruption or environmental degradation. Hazards may be single, sequential or combined in their origin and effects. Each hazard is characterized by its location, intensity or magnitude, frequency and probability. An hazardous event is the manifestation of a hazard in a particular place during a particular period of time. - -Hazards can have natural or anthropogenic origin. Natural hazards are associated with natural processes and phenomena (geological, geophysical and hydrometeorological). - -Source: Source: [Hazard, UNDRR Terminology](https://www.undrr.org/terminology/hazard) - -## Exposure - -The situation of people, infrastructure, housing, production capacities and other tangible human assets located in hazard-prone areas. Measures of exposure can include the number of people or types of assets in an area. These can be combined with the specific vulnerability and capacity of the exposed elements to any particular hazard to estimate the quantitative risks associated with that hazard in the area of interest - -Source: [Exposure, UNDRR Terminology](https://www.undrr.org/terminology/exposure) - -## Vulnerability -Vulnerability are the conditions determined by physical, social, economic and environmental factors or processes which increase the susceptibility of an individual, a community, assets or systems to the impacts of hazards. The inverse of vulnerability is defined coping capacity, which is the combination of all the strengths, attributes and resources available within an organization, community or society to manage and reduce disaster risks and strengthen resilience. - -Source: [Vulnerability, UNDRR Terminology](https://www.undrr.org/terminology/vulnerability) - -## Cat model - -Catastrophe risk models (cat models) are common tools used to assess natural disaster risk. The models typically have four components: hazard, exposure, vulnerability and loss. - -A subset of a catastrophe risk model is an impact model, which is essentially a risk model that can only be used deterministically. The impact model uses hypothetical or historical events to simulate “what-if” scenarios that are often used as an aid for disaster planning and management. An example of an impact modeling tool is InaSAFE. - -Source: [GFDRR, Solving the Puzzle, 2016](https://www.gfdrr.org/sites/default/files/solving-the-puzzle-report.pdf) - -## Examples of risk data - -The four components of risk assessment are showcased below for an assessment of flood risk over tangible asset in the urban area of Kabul (Afghanistan). - -````{grid} 1 1 1 2 -:gutter: 3 - -```{grid-item-card} Hazard: map of flood water depth -![Hazard](img/sample_hzd.jpg) -``` -```{grid-item-card} Exposure: buildings footprints and population -![Exposure](img/sample_exp.jpg) -``` -```{grid-item-card} Vulnerability: depth-damage function -![Vulnerability](img/sample_vln.jpg) -``` -```{grid-item-card} Impacts and losses: USD costs of replacement -![Loss](img/sample_lss.jpg) -``` -```` diff --git a/docs/rdl/how.md b/docs/rdl/how.md new file mode 100644 index 00000000..3c536a28 --- /dev/null +++ b/docs/rdl/how.md @@ -0,0 +1,14 @@ +# How do I implement the RDLS? + +To implement the Risk Data Library Standard (RDLS), you need to author RDLS metadata to describe your risk datasets and publish it alongside your datasets. You can either author RDLS metadata from scratch, or convert existing metadata to RDLS format. + +You can use the following resources and tools to implement RDLS: + +- The [RDLS spreadsheet template](https://github.com/GFDRR/rdls-spreadsheet-template/) can be used to author RDLS metadata in spreadsheet format. +- The [RDLS Convertor](http://metadata.riskdatalibrary.org) can be used to convert RDLS metadata from spreadsheet format to JSON format and to validate it against the RDLS schema. + +For step-by-step instructions on how to publish RDLS metadata, see the guidance on [how to publish RDLS metadata](../guides/metadata.md). + +In addition to the metadata standard, the RDLS provides [guidance on packaging and formatting risk datasets](../guides/datasets/index.md), although it does not seek to standardise the contents of risk datasets. + +If you have questions about the RDLS or need help implementing it, you can contact a member of the [Risk Data Library team](../about/contacts.md#contacts). diff --git a/docs/rdl/index.md b/docs/rdl/index.md new file mode 100644 index 00000000..2a39c068 --- /dev/null +++ b/docs/rdl/index.md @@ -0,0 +1,14 @@ +# Introduction + +This section provides an introduction to the Risk Data Library Standard (RDLS). + +```{eval-rst} +.. toctree:: + :maxdepth: 1 + + what + why + how + other-standards + +``` diff --git a/docs/rdl/other-standards.md b/docs/rdl/other-standards.md new file mode 100644 index 00000000..fc256aff --- /dev/null +++ b/docs/rdl/other-standards.md @@ -0,0 +1,81 @@ +# How does RDLS relate to other standards? + +RDLS has been built based on existing open data standards. + +In this section you will find a short summary of the core standards upon which the RDL data model has been built. For detailed mappings between existing risk taxonomies and RDLS, refer to the [taxonomy mappings](../guides/mappings/index.md). + +## General standards + +RDLS is built using [JSON](https://www.json.org/json-en.html) (JavaScript Object Notation). JSON is a lightweight data-interchange format which is easy for humans to read and write and easy for machines to parse and generate. + +## Hazard data standards + +In 2018 an international consortium led by the British Geological Survey developed a first-of-its-kind standard for hazard information. +In this standard, we developed a list of hazard type codes and process type codes which are used as a reference in the hazard, vulnerability and loss components of the standard, and facilitate matching of appropriate vulnerability functions to hazard data, for example. +Details about the development are reported [here](https://riskdatalibrary.org/resources). + +### Hazard taxonomies + +The RDL project performed a review of the most relevant hazard taxonomies and derived a classification focusing on those hazards and processes that are more often needed in disaster risk assessments, while mapping and matching alternative definitions into one consistent framework. There are several existing taxonomies that could have been adopted to describe hazard data: + +- [UNDRR](https://www.undrr.org/publication/hazard-definition-and-classification-review) (formerly UNISDR) recently proposed an extended taxonomy that covers 300 natural and anthropogenic hazards in 8 categories (Meteo-Hydrological, Geohazard, Environmental, Extraterrestrial, Chemical, Biological, Technological, Societal). + +- [Disaster Risk Management Knowledge Centre](https://drmkc.jrc.ec.europa.eu/risk-data-hub) covers 32 natural and anthropogenic hazards in 8 categories (Geophysical, Hydrological, Meteorological, Climatological, Biological, Technological, Transportation, Malicious). + +- [Inspire](https://inspire.ec.europa.eu/codelist/NaturalHazardCategoryValue) covers 25 natural hazards in 6 categories (Geological/hydrological, Meteorological/climatological, Fires, Biological, Cosmic, Other). + +- [EM-DAT](https://www.emdat.be/classification) covers 34 natural and technological hazards in 9 categories (Geophysical, Meteorological, Hydrological, Climatological, Biological, Extraterrestrial, Industrial accident, Transport accident, Miscellaneous accident). + +- [Munich-RE](https://www.cred.be/downloadFile.php?file=sites/default/files/DisCatClass_264.pdf) covers 27 natural hazards 13 main categories (Geophysical, Meteorological, Hydrological, Climatological, Biological, Extraterrestrial). + +## Exposure standards + +The exposure schema can accommodate different descriptions of assets using a taxonomy which describes their characteristics (e.g. building occupancy, construction, age, height, etc. or road surface type). + +### GED4ALL + +In 2018 an international consortium led by the Global Earthquake Model Foundation (GEM) developed an open, multi-scale exposure data schema for multi-hazard analysis ([GED4ALL](https://wiki.openstreetmap.org/wiki/GED4ALL)) in response to input from community consultation. GED4ALL simplified certain detailed engineering aspects of the original global exposure model focussed on earthquake hazards ([GED4GEM](https://journals.sagepub.com/doi/10.1177/8755293020919429)), while also expanding the exposure parameters included, so the impacts of other hazards could be related to exposure data using the standard. In this standard, GED4ALL is used as a reference in the exposure, vulnerability and loss components, to describe the exposure type to which losses relate, and to facilitate matching of appropriate vulnerability functions to exposure data, for example. Details about the development of GED4ALL are reported [here](https://riskdatalibrary.org/resources). + +GED4ALL can be populated with building-level data from OpenStreetMap (OSM) following the [guidance](https://wiki.openstreetmap.org/wiki/GED4ALL) from the Humanitarian OSM Team, which collects contributions from the community on how OSM tags can be best aligned with the GED4ALL taxonomy. This is the suggested option for classification of exposure data in the RDL. + +### GEM Building Taxonomy + +The [GEM Building Taxonomy](https://www.globalquakemodel.org/gempublications/GEM-building-taxonomy-version-2.0) is dedicated to building characteristics relevant to assessing vulnerability to seismic events. It describes characteristics such as an asset's height, number of storeys, age, occupancy, material, type of roof, floor, foundations and structural system. [TaxtWEB](https://platform.openquake.org/taxtweb) is a tool developed by GEM to assist with the generation of the taxonomy string which is used to describe these attributes. + +Example: The string `CR/HEX:1/YEX:1981/RES+RES1` describes a residential single family building, of reinforced concrete construction, built in 1981. This is the short version of the taxonomy, the long version explicitly includes all of the unknown fields too. + +### Open Exposure Data (OED) + +[OED](https://github.com/OasisLMF/ODS_OpenExposureData) is a standard curated by the Oasis community for the insurance industry. The aim of OED is to provide the industry with a robust, open, and transparent data format. The detailed descriptions of the OED taxonomy to describe an asset (structure, infrastructure, or human) are covered in ['Open Exposure Data Spec.xlsx' with reference and background information](https://github.com/OasisLMF/ODS_OpenExposureData/tree/develop/OpenExposureData/Docs), or \[online\]https://oasislmf.github.io/OpenDataStandards/index.html. + +Example: In the Open Exposure Data (OED) Standard and other insurance industry models, asset characteristics are separated into individual columns. This record describes a building classified as general residential, single storey, constructed from adobe masonry, with an unknown year of construction: + +| OccupancyCode | ConstructionCode | NumberOfStoreys | YearBuilt | +| ------------- | ---------------- | --------------- | --------- | +| 1050 | 5101 | 1 | 0 | + +### GLOSI: Global Library for Schools Infrastructure + +The World Bank Global Program for Safer Schools (GPSS) developed the GLOSI taxonomy to provide a systematic classification system for school buildings. GLOSI classifies school buildings based on 12 parameters [(interactive guide)](https://gpss.worldbank.org/index.php/en/node/571) that govern the building’s structural performance, supported by [research](https://www.sciencedirect.com/science/article/pii/S2212420923000742) into school buildings specifically. There are three primary parameters (main structural system, height range, and seismic design level) and 9 secondary parameters: Diaphragm Type; Structural Irregularity; Span Length; Pier Type; Foundation Type; Seismic Pounding Risk; Effective Seismic Retrofitting; Structural Health Condition; and Non-Structural Components. + +School buildings are described using a '/'-separated single taxonomy string similar to GED4ALL. For example, "**RC2/MR(2)/LD**/RD/NI/SP/RO/RF/NP/OS/FC/NN" describes a mid-rise (MR(2)) school built from reinforced concrete building with a framed structure and masonry infills (RC2) with Low Seismic Design Level (LD). + +### CEDE + +[CEDE (Catastrophe Exposure Data Exchange)](https://docs.air-worldwide.com/Database/CEDE/10.0/webframe.html#topic1.html), is the exposure database format used by Touchstone®, AIR's comprehensive risk management platform that was first released in early 2013. It is publicly available and used widely in the insurance industry to describe asset characteristics and values for catastrophe modelling. CEDE uses a database format and allows users to apply different occupancy and construction schemes and codesets to their data, and add additional fields describing year of construction, number of storeys, etc. The most common taxonomy used in CEDE is [AIRConstruction](https://docs.air-worldwide.com/Database/CEDE/10.0/webframe.html#topic32.html) and [AIROccupancy](https://docs.air-worldwide.com/Database/CEDE/10.0/webframe.html#topic33.html). These codes are also available in the [OED Open Exposure Data Spec](https://github.com/OasisLMF/ODS_OpenExposureData/tree/develop/OpenExposureData/Docs) as OED was based on and builds on CEDE. + +Example: In CEDE data asset characteristics are separated into individual columns. This record describes a building classified as general residential, single storey, constructed from adobe masonry, with an unknown year of construction: + +| OccupancyCode | ConstructionCode | NumberOfStoreys | YearBuilt | +| ------------- | ---------------- | --------------- | --------- | +| 301 | 112 | 1 | 0 | + +## Vulnerability data standards + +In 2018 an international consortium led by the UCL EPICentre developed a first-of-its-kind standard for vulnerability information, called MOVER. +Details about the development are reported [here](https://riskdatalibrary.org/resources). + +## Loss data standards + +In 2019 GEM and UCL EPICentre developed a first-of-its-kind standard for loss information. +Details about the development are reported [here](https://riskdatalibrary.org/resources). diff --git a/docs/rdl/what.md b/docs/rdl/what.md new file mode 100644 index 00000000..826868d6 --- /dev/null +++ b/docs/rdl/what.md @@ -0,0 +1,35 @@ +# What is the RDLS? + +The Risk Data Library Standard (RDLS) is an open metadata standard for describing risk datasets used in climate and disaster risk assessments. + +Metadata is data that provides information about a dataset. The RDLS covers metadata that can apply to any dataset, such as a dataset's title and author, and metadata that is specific to risk datasets, such as the type of hazard a dataset relates to. + +RDLS defines risk-specific metadata for describing four types of dataset: + +- **Hazard** datasets concern the processes or phenomena that might result in impacts such as loss of life, property damage and social and economic disruption. For example, the frequency and magnitude of earthquakes. + +- **Exposure** datasets concern the situation of people, infrastructure and other tangible assets in hazard prone area. For example, the number of people living in an earthquake-affected area. + +- **Vulnerability** datasets concern the susceptibility of exposed people and assets to the impacts of hazards. For example, the likelihood of buildings collapsing in the event of an earthquake. + +- **Loss** datasets concern the damage caused when a hazard occurs. For example, the cost of repairing buildings damaged in an earthquake. + +For more detailed definitions of these terms, refer to the [glossary](../glossary.md). + +The [RDLS schema](../reference/schema.md) defines the meaning, structure and format of RDLS metadata. It defines the list of fields that can be used to describe risk datasets. RDLS metadata is structured as follows: + +![RDLS structure](../img/structure.svg) + +Metadata fields that are common to all resources are specified at the dataset level, whilst metadata fields that can vary by resource are specified at the resource level. Metadata fields that are specific to a particular type of risk data are specified at the dataset level and grouped under the relevant object: Hazard, Exposure, Vulnerability or Loss. + +The schema specifies a title, description and data type for each field. The schema also specifies other rules to which RDLS metadata needs to conform, such as which fields are mandatory and whether fields need to conform to a particular format or range of values. Some fields refer to [codelists](../reference/codelists.md) to limit and standardise their values. + +For example, the `risk_data_type` field is defined as follows: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +include: risk_data_type +--- +``` + +For more information on the fields, structure and format of RDLS metadata, refer to the [metadata reference](../reference/index.md). diff --git a/docs/rdl/why.md b/docs/rdl/why.md new file mode 100644 index 00000000..54be3902 --- /dev/null +++ b/docs/rdl/why.md @@ -0,0 +1,19 @@ +# Why use the RDLS? + +This page provides some use cases for the Risk Data Library Standard (RDLS), to give examples of its value to different organisations and roles connected with publishing and using risk data. + +## Risk data publishers + +As an academic working in seismic vulnerability research, Alessandro would like to share a new set of flood fragility functions with potential users. As well as publishing his method in a peer-reviewed journal, he uploads his dataset to the university's public data catalog, alongside RDLS metadata to describe the key attributes of the fragility data. Using the RDLS he is able to explicitly link the data back to the bibliographic reference of his published paper. By providing clear metadata, a greater number of users download his dataset, resulting in **greater impact from his research**. + +As a research assistant, Sandi has been tasked with compiling metadata for a large set of national hazard maps produced by her colleagues. They have identified the RDLS as a suitable metadata standard for describing information specific to the hazard processes involved, alongside the general geographic information. However, nobody in the team is able to write JSON code. Fortunately, they are able to use the RDLS Conversion and Validation Tool together with the RDLS documentation to complete the spreadsheet template more easily, validate their entries and convert them into JSON standard, to upload their hazard maps and metadata to the data catalog. + +As an engineer in a geohazards risk consulting firm, Pete is in charge of delivering a package of final geospatial products to their client, a multi-national development bank. Pete's team has just completed flood and earthquake risk assessments for seven Pacific Island nations. They have been asked to publish the loss data on both the [World Bank's Risk Data Library](https://datacatalog.worldbank.org/search/collections/rdl) and a regional data catalog, and want to make sure potential users can find all the datasets relevant to each country analysis. They use the RDLS to create a metadata file to be published with each of the seven countries datasets, including links to the hazard, exposure, vulnerability _and_ loss resources so users can find the full data package in future. + +## Risk data users + +As policy analyst in a humanitarian organisation, who is new to risk information, Tala is looking for a summary of what datasets are available with risk estimates for South East Asia. She executes a search for risk information and finds multiple data catalogs all using the RDLS. She is able to compile the metadata from those catalogs and produce her report on data availability and gap analysis more quickly than expected because all the datasets have consistent metadata that describes risk-specific information. + +As a nature-based solution specialist, Ankit is developing a public good dashboard to assess the value of nature-based solutions in different locations. The dashboard relies on having hazard, exposure and social vulnerability information for a large number of locations around the world. While they can use global datasets, it is better to use national or subnational information where it is available. However, to be efficient the tool needs one workflow to ingest data, so they set up the tool to read data published using RDLS metadata. This provides consistent, machine readable descriptions of datasets, enabling their tool to read and combine data from multiple sources via APIs. + +As a catastrophe model developer in an insurance company, Samira is building a new catastrophe model for a new client in an emerging insurance market. They are searching for existing data to **validate** their estimation of hazard frequency and severity, and their modeled loss estimates. Their usual workflow involves searching several data catalogs, downloading suitable seeming data and interrogating it to understand the detail of hazard intensity units and measures used. This time Samira comes across datasets provided with RDLS metadata and without having to download the dataset, can very easily see whether the technical approach, hazard processes and intensity measures meet their needs. diff --git a/docs/reference/browser.md b/docs/reference/browser.md new file mode 100644 index 00000000..80778451 --- /dev/null +++ b/docs/reference/browser.md @@ -0,0 +1,5 @@ +# Schema browser + +This page presents the schema in an interactive browser. Click on schema elements to expand the tree, or use the '+' icon to expand all elements. Use { } to view the underlying schema for any section. Required fields are indicated in **bold**. You can also [view the schema in reference tables](schema.md). + + diff --git a/docs/reference/codelists.md b/docs/reference/codelists.md new file mode 100644 index 00000000..6377b7b6 --- /dev/null +++ b/docs/reference/codelists.md @@ -0,0 +1,592 @@ +# Codelists + +Some schema fields refer to codelists, to limit and standardise the possible values of the fields, in order to promote data interoperability. + +Codelists can either be open or closed. **Closed codelists** are intended to be comprehensive; for example, the currency codelist covers all currencies in the world. **Open codelists** are intended to be representative, but not comprehensive. + +Publishers must use the codes in the codelists, unless no code is appropriate. If no code is appropriate and the codelist is **open**, then a publisher may use a new code outside those in the codelist. If no code is appropriate and the codelist is **closed**, then a publisher should instead create an issue in the [RDLS GitHub repository](https://github.com/GFDRR/rdl-standard/issues). + +```{admonition} Extending open codelists +--- +class: Tip +--- +If you use new codes outside those in an open codelist, please create an issue in the [RDLS GitHub repository](https://github.com/GFDRR/rdl-standard/issues), so that the codes can be considered for inclusion in the codelist. +``` + +The [schema](index.md) has a `codelist` property to indicate the CSV file that defines the codes in the codelist (shown as tables below). It also has an `openCodelist` property, to indicate whether the codelist is open or closed. + +Codes are case-sensitive, and are generally provided as English language camelCase. Codes must not be translated. + +## Open codelists + +### IMT + +This codelist is referenced by the following properties: + +- [`vulnerability/intensity`](rdls_schema.json,/properties/vulnerability,intensity) +- [`Hazard/intensity_measure`](rdls_schema.json,/$defs/Hazard,intensity_measure) +- [`Footprint/intensity_measure`](rdls_schema.json,/$defs/Footprint,intensity_measure) + +This codelist has the following codes: + +````{dropdown} Codes +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/open/IMT.csv +``` +```` + +### classification_scheme + +This codelist is referenced by the following properties: + +- [`Classification/scheme`](rdls_schema.json,/$defs/Classification,scheme) + +This codelist has the following codes: + +````{dropdown} Codes +--- +open: +--- +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/open/classification_scheme.csv +``` +```` + +### damage_scale_name + +This codelist is referenced by the following properties: + +- [`vulnerability/functions/fragility/damage_scale_name`](rdls_schema.json,/properties/vulnerability,functions/fragility/damage_scale_name) +- [`vulnerability/functions/damage_to_loss/damage_scale_name`](rdls_schema.json,/properties/vulnerability,functions/damage_to_loss/damage_scale_name) + +This codelist has the following codes: + +````{dropdown} Codes +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/open/damage_scale_name.csv +``` +```` + +### data_formats + +This codelist is referenced by the following properties: + +- [`Resource/format`](rdls_schema.json,/$defs/Resource,format) + +This codelist has the following codes: + +````{dropdown} Codes +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/open/data_formats.csv +``` +```` + +### engineering_demand_parameter + +This codelist is referenced by the following properties: + +- [`vulnerability/functions/engineering_demand/parameter`](rdls_schema.json,/properties/vulnerability,functions/engineering_demand/parameter) + +This codelist has the following codes: + +````{dropdown} Codes +--- +open: +--- +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/open/engineering_demand_parameter.csv +``` +```` + +### impact_metric + +This codelist is referenced by the following properties: + +- [`Impact/metric`](rdls_schema.json,/$defs/Impact,metric) + +This codelist has the following codes: + +````{dropdown} Codes +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/open/impact_metric.csv +``` +```` + +### impact_unit + +This codelist is referenced by the following properties: + +- [`Impact/unit`](rdls_schema.json,/$defs/Impact,unit) + +This codelist has the following codes: + +````{dropdown} Codes +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/open/impact_unit.csv +``` +```` + +### license + +This codelist is referenced by the following properties: + +- [`license`](rdls_schema.json,,license) + +This codelist has the following codes: + +````{dropdown} Codes +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/open/license.csv +``` +```` + +### location_gazetteers + +This codelist is referenced by the following properties: + +- [`Gazetteer_entry/scheme`](rdls_schema.json,/$defs/Gazetteer_entry,scheme) + +This codelist has the following codes: + +````{dropdown} Codes +--- +open: +--- +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/open/location_gazetteers.csv +``` +```` + +### media_type + +This codelist is referenced by the following properties: + +- [`Resource/media_type`](rdls_schema.json,/$defs/Resource,media_type) + +This codelist has the following codes: + +````{dropdown} Codes +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/open/media_type.csv +``` +```` + +### quantity_kind + +The quantity kind codelist is a subset of the codes in the [QUDT Quantity Kind Vocabulary](https://www.qudt.org/doc/DOC_VOCAB-QUANTITY-KINDS.html). It includes a code for the [currency quantity kind](https://qudt.org/vocab/quantitykind/Currency), which does not appear in the vocabulary because QUDT lists currencies in a separate graph from other quantity kinds. + +This codelist is referenced by the following properties: + +- [`Metric/quantity_kind`](rdls_schema.json,/$defs/Metric,quantity_kind) + +This codelist has the following codes: + +````{dropdown} Codes +--- +open: +--- +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/open/quantity_kind.csv +``` +```` + +### roles + +The roles codelist is based on the [ISO19115 CI_RoleCode codelist](https://standards.iso.org/iso/19115/resources/Codelists/gml/CI_RoleCode.xml) with the addition of 'world_bank_team_lead' and the omission of codes covered by the `creator`, `contact_point` and `publisher` fields. + +This codelist is referenced by the following properties: + +- [`Attribution/role`](rdls_schema.json,/$defs/Attribution,role) + +This codelist has the following codes: + +````{dropdown} Codes +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/open/roles.csv +``` +```` + +## Closed codelists + +### analysis_type + +This codelist is referenced by the following properties: + +- [`vulnerability/hazard_analysis_type`](rdls_schema.json,/properties/vulnerability,hazard_analysis_type) +- [`Event_set/analysis_type`](rdls_schema.json,/$defs/Event_set,analysis_type) +- [`Losses/hazard_analysis_type`](rdls_schema.json,/$defs/Losses,hazard_analysis_type) + +This codelist has the following codes: + +````{dropdown} Codes +--- +open: +--- +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/closed/analysis_type.csv +``` +```` + +### country + +This codelist is referenced by the following properties: + +- [`Location/countries`](rdls_schema.json,/$defs/Location,countries) + +This codelist has the following codes: + +````{dropdown} Codes +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/closed/country.csv +``` +```` + +### currency + +This codelist is referenced by the following properties: + +- [`Cost/unit`](rdls_schema.json,/$defs/Cost,unit) + +This codelist has the following codes: + +````{dropdown} Codes +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/closed/currency.csv +``` +```` + +### data_calculation_type + +This codelist is referenced by the following properties: + +- [`Event_set/calculation_method`](rdls_schema.json,/$defs/Event_set,calculation_method) +- [`Event/calculation_method`](rdls_schema.json,/$defs/Event,calculation_method) +- [`Impact/base_data_type`](rdls_schema.json,/$defs/Impact,base_data_type) + +This codelist has the following codes: + +````{dropdown} Codes +--- +open: +--- +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/closed/data_calculation_type.csv +``` +```` + +### exposure_category + +This codelist is referenced by the following properties: + +- [`exposure/category`](rdls_schema.json,/properties/exposure,category) +- [`vulnerability/category`](rdls_schema.json,/properties/vulnerability,category) +- [`Losses/category`](rdls_schema.json,/$defs/Losses,category) + +This codelist has the following codes: + +````{dropdown} Codes +--- +open: +--- +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/closed/exposure_category.csv +``` +```` + +### frequency_distribution + +This codelist is referenced by the following properties: + +- [`Event_set/frequency_distribution`](rdls_schema.json,/$defs/Event_set,frequency_distribution) + +This codelist has the following codes: + +````{dropdown} Codes +--- +open: +--- +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/closed/frequency_distribution.csv +``` +```` + +### function_approach + +This codelist is referenced by the following properties: + +- [`vulnerability/functions/vulnerability/approach`](rdls_schema.json,/properties/vulnerability,functions/vulnerability/approach) +- [`vulnerability/functions/fragility/approach`](rdls_schema.json,/properties/vulnerability,functions/fragility/approach) +- [`vulnerability/functions/damage_to_loss/approach`](rdls_schema.json,/properties/vulnerability,functions/damage_to_loss/approach) +- [`vulnerability/functions/engineering_demand/approach`](rdls_schema.json,/properties/vulnerability,functions/engineering_demand/approach) +- [`Losses/approach`](rdls_schema.json,/$defs/Losses,approach) + +This codelist has the following codes: + +````{dropdown} Codes +--- +open: +--- +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/closed/function_approach.csv +``` +```` + +### geometry_type + +This codelist is referenced by the following properties: + +- [`Geometry/type`](rdls_schema.json,/$defs/Geometry,type) + +This codelist has the following codes: + +````{dropdown} Codes +--- +open: +--- +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/closed/geometry_type.csv +``` +```` + +### hazard_type + +The RDLS offers a classification of hazards that are more often required in disaster risk assessments, based on the review and mapping of existing alternative definitions into one consistent framework. For more information, see [hazard taxonomies](../rdl/other-standards.md#hazard-taxonomies). + +The hazard_type codelist classifies hazard phenomena by the main hazard to which they relate. Hazard phenomena can also be classified by the hazard process to which they relate. For more information, see the [process_type codelist](#process_type). + +This codelist is referenced by the following properties: + +- [`vulnerability/hazard_primary`](rdls_schema.json,/properties/vulnerability,hazard_primary) +- [`vulnerability/hazard_secondary`](rdls_schema.json,/properties/vulnerability,hazard_secondary) +- [`Hazard/type`](rdls_schema.json,/$defs/Hazard,type) +- [`Trigger/type`](rdls_schema.json,/$defs/Trigger,type) +- [`Losses/hazard_type`](rdls_schema.json,/$defs/Losses,hazard_type) + +This codelist has the following codes: + +````{dropdown} Codes +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/closed/hazard_type.csv +``` +```` + +### impact_type + +This codelist is referenced by the following properties: + +- [`Impact/type`](rdls_schema.json,/$defs/Impact,type) + +This codelist has the following codes: + +````{dropdown} Codes +--- +open: +--- +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/closed/impact_type.csv +``` +```` + +### loss_type + +This codelist is referenced by the following properties: + +- [`Losses/type`](rdls_schema.json,/$defs/Losses,type) + +This codelist has the following codes: + +````{dropdown} Codes +--- +open: +--- +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/closed/loss_type.csv +``` +```` + +### metric_dimension + +This codelist is referenced by the following properties: + +- [`Metric/dimension`](rdls_schema.json,/$defs/Metric,dimension) +- [`Cost/dimension`](rdls_schema.json,/$defs/Cost,dimension) + +This codelist has the following codes: + +````{dropdown} Codes +--- +open: +--- +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/closed/metric_dimension.csv +``` +```` + +### process_type + +The process_type codelist classifies hazard phenomena by the hazard process to which they relate. Hazard phenomena can also be the main hazard to which they relate. For more information, see the [hazard_type codelist](#hazard_type). Process types are based primarily on the [UNDRR Hazard terminology](https://www.undrr.org/publication/hazard-definition-and-classification-review-technical-report). + +This codelist is referenced by the following properties: + +- [`vulnerability/hazard_process_primary`](rdls_schema.json,/properties/vulnerability,hazard_process_primary) +- [`vulnerability/hazard_process_secondary`](rdls_schema.json,/properties/vulnerability,hazard_process_secondary) +- [`Hazard/processes`](rdls_schema.json,/$defs/Hazard,processes) +- [`Trigger/processes`](rdls_schema.json,/$defs/Trigger,processes) +- [`Losses/hazard_process`](rdls_schema.json,/$defs/Losses,hazard_process) + +This codelist has the following codes: + +````{dropdown} Codes +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/closed/process_type.csv +``` +```` + +### relationship_type + +This codelist is referenced by the following properties: + +- [`vulnerability/functions/vulnerability/relationship`](rdls_schema.json,/properties/vulnerability,functions/vulnerability/relationship) +- [`vulnerability/functions/fragility/relationship`](rdls_schema.json,/properties/vulnerability,functions/fragility/relationship) +- [`vulnerability/functions/damage_to_loss/relationship`](rdls_schema.json,/properties/vulnerability,functions/damage_to_loss/relationship) +- [`vulnerability/functions/engineering_demand/relationship`](rdls_schema.json,/properties/vulnerability,functions/engineering_demand/relationship) + +This codelist has the following codes: + +````{dropdown} Codes +--- +open: +--- +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/closed/relationship_type.csv +``` +```` + +### risk_data_type + +This codelist is referenced by the following properties: + +- [`risk_data_type`](rdls_schema.json,,risk_data_type) +- [`Source/component`](rdls_schema.json,/$defs/Source,component) + +This codelist has the following codes: + +````{dropdown} Codes +--- +open: +--- +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/closed/risk_data_type.csv +``` +```` + +### seasonality + +This codelist is referenced by the following properties: + +- [`Event_set/seasonality`](rdls_schema.json,/$defs/Event_set,seasonality) + +This codelist has the following codes: + +````{dropdown} Codes +--- +open: +--- +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/closed/seasonality.csv +``` +```` + +### source_type + +This codelist is referenced by the following properties: + +- [`Source/type`](rdls_schema.json,/$defs/Source,type) + +This codelist has the following codes: + +````{dropdown} Codes +--- +open: +--- +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/closed/source_type.csv +``` +```` + +### spatial_scale + +This codelist is referenced by the following properties: + +- [`Location/scale`](rdls_schema.json,/$defs/Location,scale) + +This codelist has the following codes: + +````{dropdown} Codes +--- +open: +--- +```{csv-table-no-translate} +:header-rows: 1 +:widths: auto +:file: ../../schema/codelists/closed/spatial_scale.csv +``` +```` diff --git a/docs/reference/index.md b/docs/reference/index.md new file mode 100644 index 00000000..ae76296a --- /dev/null +++ b/docs/reference/index.md @@ -0,0 +1,26 @@ +# Metadata reference + +```{note} + Throughout the reference documentation, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as described in [RFC2119](https://datatracker.ietf.org/doc/html/rfc2119). +``` + +This section specifies the structure and format of Risk Data Library Standard (RDLS) metadata. + +The [schema reference](schema.md) is the canonical reference for the structure of RDLS metadata, the meaning of each field, and the rules that must be followed to publish RDLS metadata. You can also [view the schema in an interactive browser](browser.md). + +The [codelist reference](codelists.md) is the canonical reference for the meaning of the codes used to limit and standardise the possible values of fields in RDLS metadata. + +______________________________________________________________________ + +```{eval-rst} +.. toctree:: + :maxdepth: 1 + :hidden: + + schema + browser + codelists + package_schema + + +``` diff --git a/docs/reference/package_schema.md b/docs/reference/package_schema.md new file mode 100644 index 00000000..cdb31dce --- /dev/null +++ b/docs/reference/package_schema.md @@ -0,0 +1,9 @@ +# Package schema + +The package schema describes the structure of the container for publishing RDLS metadata. + +For this version of RDLS, the canonical URL of the package schema is [https://docs.riskdatalibrary.org/en/0\_\_2\_\_0/rdls_package_schema.json](https://docs.riskdatalibrary.org/en/0__2__0/rdls_package_schema.json). Use the canonical URL to make sure that your software, documentation or other resources refer to the specific version of the schema with which they were tested. + +This page presents the package schema in an interactive browser. Click on schema elements to expand the tree, or use the '+' icon to expand all elements. Use { } to view the underlying schema for any section. Required fields are indicated in **bold**. + + diff --git a/docs/reference/schema.md b/docs/reference/schema.md new file mode 100644 index 00000000..1295dfd8 --- /dev/null +++ b/docs/reference/schema.md @@ -0,0 +1,1260 @@ +# Schema reference + +The schema provides the authoritative definition of the structure of Risk Data Library Standard (RDLS) data, the meaning of each field, and the rules that must be followed to publish RDLS data. It is used to validate the structure and format of RDLS data. + +For this version of RDLS, the canonical URL of the schema is [https://docs.riskdatalibrary.org/en/0\_\_2\_\_0/rdls_schema.json](https://docs.riskdatalibrary.org/en/0__2__0/rdls_schema.json). Use the canonical URL to make sure that your software, documentation or other resources refer to the specific version of the schema with which they were tested. + +This page presents the schema in tables with additional information in paragraphs. You can also [view the schema in an interactive browser](browser.md) or [download it as JSON Schema](../../docs/_readthedocs/html/rdls_schema.json). + +```{note} + If any conflicts are found between the text on this page and the text within the schema, the text within the schema takes precedence. +``` + +The RDLS schema covers [dataset fields](#dataset), [resource fields](#resource) and four risk-specific components to describe risk datasets: + +- [Hazard](#hazard-metadata): Metadata that is specific to datasets that describe processes or phenomena that may cause loss of life, injury or other health impacts, property damage, social and economic disruption or environmental degradation. For example, a classification of the type of the hazard, the units in which the intensity of the hazard is measured, and the frequency at which the hazard occurs. +- [Exposure](#exposure-metadata): Metadata that is specific to datasets that describe the location and demographic information of people, and the location, characteristics and value of assets in the built and natural environment. For example, the type of building and the cost to replace it if it suffered damage. +- [Vulnerability](#vulnerability-metadata): Metadata that is specific to datasets that describe the vulnerability and fragility relationships and indexes used in risk analysis. This includes the type of exposure, hazard intensity and impact the relationship describes, and information on how the relationship was developed. This component uses attributes consistent with the hazard, exposure and loss components. +- [Loss](#loss-metadata): Metadata that is specific to datasets that contain the simulated (modeled) risk and impact estimates produced in a risk assessment, including explicit links to the hazard, exposure, and vulnerability datasets used in the analysis. + +For general definitions of hazard, exposure, vulnerability and loss, please see the [Glossary](../glossary.md). + +For fields that reference [sub-schemas](#sub-schemas), a link is provided to a table with details of the sub-schema. To see how the fields and sub-schemas fit together, consult the [schema browser](browser.md). + +## Dataset + +The top-level object in the RDLS schema is a risk dataset. A risk dataset is described as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /description +--- +``` + +The general attributes of a dataset are described by fields based on the [Data Catalog Vocabulary](https://www.w3.org/TR/vocab-dcat-3/) and the [Dublin Core Metadata Initiative Metadata Terms](https://www.dublincore.org/specifications/dublin-core/dcmi-terms). + +The following diagram shows key dataset-level fields, with required fields highlighted in blue: + +```{eval-rst} +.. uml:: + + @startjson + + #highlight "title" <> + #highlight "risk_data_type" <> + #highlight "publisher" <> + #highlight "publisher" / "name" <> + #highlight "spatial" <> + #highlight "license" <> + { + "title": "", + "description": "", + "risk_data_type": "", + "publisher": { + "name": "", + "email": "", + "url": "" + }, + "version": "", + "purpose": "", + "project": "", + "details": "", + "spatial": { + "countries": "", + "bbox": "" + }, + "license": "" + } + @endjson + +``` + +The following table lists all dataset-level fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +collapse: + publisher,spatial,resources,referenced_by,contact_point,creator,attributions,sources,links,hazard,exposure,vulnerability,loss +addtargets: +--- +``` + +## Resource + +A `Resource` is defined as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /$defs/Resource/description +--- +``` + +Each dataset can have many associated resources. + +The following table lists all resource-level fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +pointer: /$defs/Resource +collapse: temporal +addtargets: +--- +``` + +## Hazard metadata + +The `hazard` component is described as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /properties/hazard/description +--- +``` + +The hazard component describes metadata about modeled natural hazards data, including hazard intensity footprints of historical or hypothetical events, return period hazard maps, hazard or susceptibility index, and stochastic event sets. The metadata defines the hazard type, physical process and intensity measures used in the dataset. Multiple hazards and processes (including cascading events) can be defined for each hazard, enabling users to describe dataset that contain, for example, earthquake ground shaking and liquefaction, and tsunami inundation triggered by the earthquake. + +The hazard component uses hazard_type, process_type and intensity_measure consistent with the vulnerability and loss components of this standard. Spatial reference and location information are described using existing external standards. Temporal information can include date and duration of events or year of scenario, and is defined using the Dublin Core standards. + +The following diagram shows key hazard component fields, with required fields highlighted in blue. The ![array](../img/array.png) icon indicates that a field is an array. + +```{eval-rst} +.. uml:: + + @startjson + + #highlight "event_sets" <> + #highlight "event_sets" / 0 / "analysis_type" <> + #highlight "event_sets" / 0 / "events" / 0 / "calculation_method" <> + #highlight "event_sets" / 0 / "events" / 0 / "hazard" <> + #highlight "event_sets" / 0 / "events" / 0 / "hazard" / "type" <> + #highlight "event_sets" / 0 / "events" / 0 / "hazard" / "processes" <> + #highlight "event_sets" / 0 / "events" / 0 / "occurrence" <> + #highlight "event_sets" / 0 / "events" / 0 / "footprints" / 0 / "intensity_measure" <> + { + "event_sets": [ + { + "analysis_type": "", + "frequency_distribution": "", + "seasonality": "", + "event_count": "", + "occurrence_range": "", + "spatial": "", + "temporal": "", + "events": [ + { + "disaster_identifiers": "", + "calculation_method": "", + "description": "", + "hazard": { + "type": "", + "processes": "", + "intensity_measure": "", + "trigger": "" + }, + "occurrence": "", + "footprints": [ + { + "intensity_measure": "", + "data_uncertainty": "" + } + ] + } + ] + } + ] + } + @endjson + +``` + +The following table lists all hazard component fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +pointer: /properties/hazard +collapse: + event_sets/0/hazards,event_sets/0/spatial,event_sets/0/temporal,event_sets/0/events +addtargets: +--- +``` + +``````{dropdown} Example: Fathom Global Flood Map +--- +open: +--- +The following example shows RDLS metadata for the [Fathom Global Flood Map](https://www.fathom.global/product/global-flood-map/) in tabular format and JSON format. + +`````{tab-set} + +````{tab-item} Figure + +```{figure} ../../examples/hazard/fathom/figure.png +``` + +```` + +````{tab-item} Metadata (tabular) + +In tabular format, the metadata consists of several tables. To aid comprehension, the metadata is presented column wise using field titles. + +```{csv-table-no-translate} Datasets +--- +stub-columns: 1 +widths: auto +file: ../../examples/hazard/fathom/datasets.csv +--- + +``` + +```{csv-table-no-translate} Resources +--- +stub-columns: 1 +widths: auto +file: ../../examples/hazard/fathom/Resources.csv +--- + +``` + +```{csv-table-no-translate} Event sets +--- +stub-columns: 1 +widths: auto +file: ../../examples/hazard/fathom/Hazard metadata_Event sets.csv +--- + +``` + +```{csv-table-no-translate} Event set hazards +--- +stub-columns: 1 +widths: auto +file: ../../examples/hazard/fathom/Hazard metadata_Event sets_Hazards.csv +--- + +``` + +```` + +````{tab-item} Metadata (JSON) + +```{eval-rst} +.. jsoninclude:: ../../examples/hazard/fathom/example.json + :jsonpointer: /datasets/0 + :title: Example +``` + +````` + +`````` + +``````{dropdown} Example: Aqueduct Floods Hazard Maps + +The following example shows RDLS metadata for the [Aqueduct Floods Hazard Maps](https://www.wri.org/data/aqueduct-floods-hazard-maps) in tabular format and JSON format. + +`````{tab-set} + +````{tab-item} Figure + +```{figure} ../../examples/hazard/aqueduct/figure.png +``` + +```` + +````{tab-item} Metadata (tabular) + +In tabular format, the metadata consists of several tables. To aid comprehension, the metadata is presented column wise using field titles. + +```{csv-table-no-translate} Datasets +--- +stub-columns: 1 +widths: auto +file: ../../examples/hazard/aqueduct/datasets.csv +--- + +``` + +```{csv-table-no-translate} Resources +--- +stub-columns: 1 +widths: auto +file: ../../examples/hazard/aqueduct/Resources.csv +--- + +``` + +```{csv-table-no-translate} Event sets +--- +stub-columns: 1 +widths: auto +file: ../../examples/hazard/aqueduct/Hazard metadata_Event sets.csv +--- + +``` + +```{csv-table-no-translate} Event set hazards +--- +stub-columns: 1 +widths: auto +file: ../../examples/hazard/aqueduct/Hazard metadata_Event sets_Hazards.csv +--- + +``` + +```` + +````{tab-item} Metadata (JSON) + +```{eval-rst} +.. jsoninclude:: ../../examples/hazard/aqueduct/example.json + :jsonpointer: /datasets/0 + :title: Example +``` + +```` + +````` +`````` + +## Exposure metadata + +The `exposure` component is described as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /properties/exposure/description +--- +``` + +The exposure component describes metadata for datasets containing information on the distribution and characteristics of built environment assets (buildings and infrastructure) and natural assets and population, that are used in risk assessment. The exposure component provides codelists to describe the type of assets and costs, and the taxonomy scheme that is used to describe construction and demographic information contained in the dataset. For more information, see [exposure standards](../rdl/other-standards.md#exposure-standards). + +The exposure component uses exposure categories consistent with the vulnerability and loss components of this standard. Spatial reference and location information are described using existing external standards. Temporal information can include date and duration of events or year of scenario, and is defined using the Dublin Core standards. + +The following diagram shows key exposure component fields, with required fields highlighted in blue. The ![array](../img/array.png) icon indicates that a field is an array. + +```{eval-rst} +.. uml:: + + @startjson + + #highlight "exposure" / "category" <> + #highlight "exposure" / "metrics" / 0 / "quantity_kind" <> + { + "exposure": { + "category": "", + "taxonomy": "", + "metrics": [ + { + "dimension": "", + "quantity_kind": "" + } + ] + } + } + @endjson + +``` + +The following table lists all exposure component fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +pointer: /properties/exposure +collapse: metrics +addtargets: +--- +``` + +``````{dropdown} Example: Central Asia projected residential exposure dataset + +The following example shows RDLS metadata for the [Central Asia projected residential exposure dataset](https://datacatalog.worldbank.org/search/dataset/0064254/Central-Asia-exposure-dataset---Projected-residential-exposure) in tabular format and JSON format. + +`````{tab-set} + +````{tab-item} Metadata (tabular) +hazard + +```{csv-table-no-translate} Datasets +--- +stub-columns: 1 +widths: auto +file: ../../examples/exposure/central_asia_residential_projected/datasets.csv +--- + +``` + +```{csv-table-no-translate} Resources +--- +stub-columns: 1 +widths: auto +file: ../../examples/exposure/central_asia_residential_projected/Resources.csv +--- + +``` + +```{csv-table-no-translate} Attributions +--- +stub-columns: 1 +widths: auto +file: ../../examples/exposure/central_asia_residential_projected/Attributions.csv +--- + +``` + +```{csv-table-no-translate} Referenced by +--- +stub-columns: 1 +widths: auto +file: ../../examples/exposure/central_asia_residential_projected/Referenced by.csv +--- + +``` + +```{csv-table-no-translate} Sources +--- +stub-columns: 1 +widths: auto +file: ../../examples/exposure/central_asia_residential_projected/Sources.csv +--- + +``` + +```{csv-table-no-translate} Gazetteer entries (spatial coverage) +--- +stub-columns: 1 +widths: auto +file: ../../examples/exposure/central_asia_residential_projected/Spatial coverage_Gazetteer entries.csv +--- + +``` + +```{csv-table-no-translate} Exposure metrics +--- +stub-columns: 1 +widths: auto +file: ../../examples/exposure/central_asia_residential_projected/Exposure metadata_Exposure metrics.csv +--- + +``` + +```` + +````{tab-item} Metadata (JSON) + +```{eval-rst} +.. jsoninclude:: ../../examples/exposure/central_asia_residential_projected/example.json + :jsonpointer: /datasets/0 + :title: Example +``` + +````` +`````` + +``````{dropdown} Example: Central Asia current residential exposure dataset + +The following example shows RDLS metadata for the [Central Asia current residential exposure dataset](https://datacatalog.worldbank.org/search/dataset/0064251/Central-Asia-exposure-dataset---Residential-buildings) in tabular format and JSON format. + +`````{tab-set} + +````{tab-item} Metadata (tabular) + +In tabular format, the metadata consists of several tables. To aid comprehension, the metadata is presented column wise using field titles. + +```{csv-table-no-translate} Datasets +--- +stub-columns: 1 +widths: auto +file: ../../examples/exposure/central_asia_residential_current/datasets.csv +--- + +``` + +```{csv-table-no-translate} Resources +--- +stub-columns: 1 +widths: auto +file: ../../examples/exposure/central_asia_residential_current/Resources.csv +--- + +``` + +```{csv-table-no-translate} Attributions +--- +stub-columns: 1 +widths: auto +file: ../../examples/exposure/central_asia_residential_current/Attributions.csv +--- + +``` + +```{csv-table-no-translate} Referenced by +--- +stub-columns: 1 +widths: auto +file: ../../examples/exposure/central_asia_residential_current/Referenced by.csv +--- + +``` + +```{csv-table-no-translate} Sources +--- +stub-columns: 1 +widths: auto +file: ../../examples/exposure/central_asia_residential_current/Sources.csv +--- + +``` + +```{csv-table-no-translate} Gazetteer entries (spatial coverage) +--- +stub-columns: 1 +widths: auto +file: ../../examples/exposure/central_asia_residential_current/Spatial coverage_Gazetteer entries.csv +--- + +``` + +```{csv-table-no-translate} Exposure metrics +--- +stub-columns: 1 +widths: auto +file: ../../examples/exposure/central_asia_residential_current/Exposure metadata_Exposure metrics.csv +--- + +``` + +```` + +````{tab-item} Metadata (JSON) + +```{eval-rst} +.. jsoninclude:: ../../examples/exposure/central_asia_residential_current/example.json + :jsonpointer: /datasets/0 + :title: Example +``` + +```` + +````` +`````` + +## Vulnerability metadata + +The `vulnerability` component is described as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /properties/vulnerability/description +--- +``` + +The vulnerability component describes metadata for datasets that detail fragility, damage-to-loss and vulnerability relationships and indexes for physical damage and social vulnerability that are used in risk analysis. It contains key information including the type of function, intensity and impact metrics used, which asset types or population groups it applies to, how it was developed and for what locations. + +The vulnerability component uses hazard_type, process_type and intensity_measure consistent with the hazard and loss components, exposure information consistent with the exposure and loss components. Spatial reference and location information are described using existing external standards. + +The following diagram shows key vulnerability component fields, with required fields highlighted in blue: + +```{eval-rst} +.. uml:: + + @startjson + + #highlight "hazard_primary" <> + #highlight "intensity" <> + #highlight "category" <> + #highlight "impact" <> + #highlight "functions" <> + { + "hazard_primary": "", + "hazard_secondary": "", + "intensity": "", + "category": "", + "impact": { + "type": "", + "metric": "", + "unit": "" + }, + "functions": { + "vulnerability": "", + "fragility": "", + "damage_to_loss": "", + "engineering_demand": "" + }, + "se_category": "" + } + @endjson + +``` + +The following table lists all vulnerability component fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +pointer: /properties/vulnerability +collapse: cost,impact,spatial,se_category +addtargets: +--- +``` + +``````{dropdown} Example: Global flood depth-damage functions +--- +open: +--- +The following example shows RDLS metadata for the [Global flood depth-damage functions](https://publications.jrc.ec.europa.eu/repository/handle/JRC105688) in tabular format and JSON format. + +`````{tab-set} + +````{tab-item} Figure + +```{figure} ../../examples/vulnerability/flood_jrc/figure.png +``` +```` + +````{tab-item} Metadata (tabular) + +In tabular format, the metadata consists of several tables. To aid comprehension, the metadata is presented column wise using field titles. + +```{csv-table-no-translate} Datasets +--- +stub-columns: 1 +widths: auto +file: ../../examples/vulnerability/flood_jrc/datasets.csv +--- + +``` + +```{csv-table-no-translate} Resources +--- +stub-columns: 1 +widths: auto +file: ../../examples/vulnerability/flood_jrc/Resources.csv +--- + +``` + +```{csv-table-no-translate} Attributions +--- +stub-columns: 1 +widths: auto +file: ../../examples/vulnerability/flood_jrc/Attributions.csv +--- + +``` + +```{csv-table-no-translate} Referenced by +--- +stub-columns: 1 +widths: auto +file: ../../examples/vulnerability/flood_jrc/Referenced by.csv +--- + +``` + +```{csv-table-no-translate} Asset costs +--- +stub-columns: 1 +widths: auto +file: ../../examples/vulnerability/flood_jrc/Vulnerability metadata_Asset cost.csv +--- + +``` + +```` + +````{tab-item} Metadata (JSON) + +```{eval-rst} +.. jsoninclude:: ../../examples/vulnerability/flood_jrc/example.json + :jsonpointer: /datasets/0 + :title: Example +``` + +```` + +````` +`````` + +## Loss metadata + +The `loss` component is described as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /properties/loss/description +--- +``` + +The loss component provides metadata describing data generated in risk assessments, i.e., modelled impacts and losses for single historical events or hypothetical scenarios and risk estimates from analysis of large event sets. The data can include monetary and non-monetary, and direct or indirect, impacts and losses. +Loss datasets can be explicitly linked to the exposure, hazard, and vulnerability datasets used in the analysis. This component uses descriptions of assets, hazards and impact types consistent with all other components of this standard. Spatial reference and location information are described using existing external standards. Temporal information can include date and duration of events or year of scenario, and is defined using the Dublin Core standards. + +The following diagram shows key loss component fields, with required fields highlighted in blue. The ![array](../img/array.png) icon indicates that a field is an array. + +```{eval-rst} +.. uml:: + + @startjson + + #highlight "losses" / "0" / "hazard_type" <> + #highlight "losses" / "0" / "cost" <> + #highlight "losses" / "0" / "cost" / "type" <> + #highlight "losses" / "0" / "cost" / "unit" <> + { + "losses": [ + { + "hazard_type": "", + "hazard_process": "", + "category": "", + "type": "", + "impact": { + "type": "", + "metric": "", + "unit": "" + }, + "approach": "", + "cost": { + "type": "", + "unit": "" + } + } + ] + } + @endjson + +``` + +The following table lists all loss component fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +pointer: /properties/loss +collapse: losses/0/cost,losses/0/impact +addtargets: +--- +``` + +## Sub-schemas + +### Entity + +`Entity` is defined as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /$defs/Entity/description +--- +``` + +This sub-schema is referenced by the following properties: + +- [`publisher`](rdls_schema.json,,publisher) +- [`contact_point`](rdls_schema.json,,contact_point) +- [`creator`](rdls_schema.json,,creator) +- [`Attribution/entity`](rdls_schema.json,/$defs/Attribution,entity) + +Each `Entity` has the following fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +pointer: /$defs/Entity +collapse: +addtargets: +--- +``` + +### Attribution + +`Attribution` is defined as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /$defs/Attribution/description +--- +``` + +This sub-schema is referenced by the following properties: + +- [`attributions`](rdls_schema.json,,attributions) + +Each `Attribution` has the following fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +pointer: /$defs/Attribution +collapse: entity +addtargets: +--- +``` + +### Related_resource + +`Related_resource` is defined as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /$defs/Related_resource/description +--- +``` + +This sub-schema is referenced by the following properties: + +- [`referenced_by`](rdls_schema.json,,referenced_by) + +Each `Related_resource` has the following fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +pointer: /$defs/Related_resource +collapse: +addtargets: +--- +``` + +### Source + +`Source` is defined as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /$defs/Source/description +--- +``` + +This sub-schema is referenced by the following properties: + +- [`sources`](rdls_schema.json,,sources) + +Each `Source` has the following fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +pointer: /$defs/Source +collapse: +addtargets: +--- +``` + +### Period + +`Period` is defined as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /$defs/Period/description +--- +``` + +This sub-schema is referenced by the following properties: + +- [`Resource/temporal`](rdls_schema.json,/$defs/Resource,temporal) +- [`Event_set/temporal`](rdls_schema.json,/$defs/Event_set,temporal) +- [`Event/occurrence/empirical/temporal`](rdls_schema.json,/$defs/Event,occurrence/empirical/temporal) + +Each `Period` has the following fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +pointer: /$defs/Period +collapse: +addtargets: +--- +``` + +### Location + +`Location` is defined as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /$defs/Location/description +--- +``` + +This sub-schema is referenced by the following properties: + +- [`spatial`](rdls_schema.json,,spatial) +- [`vulnerability/spatial`](rdls_schema.json,/properties/vulnerability,spatial) +- [`Event_set/spatial`](rdls_schema.json,/$defs/Event_set,spatial) + +Each `Location` has the following fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +pointer: /$defs/Location +collapse: geometry +addtargets: +--- +``` + +### Gazetteer_entry + +`Gazetteer_entry` is defined as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /$defs/Gazetteer_entry/description +--- +``` + +This sub-schema is referenced by the following properties: + +- [`Location/gazetteer_entries`](rdls_schema.json,/$defs/Location,gazetteer_entries) + +Each `Gazetteer_entry` has the following fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +pointer: /$defs/Gazetteer_entry +collapse: +addtargets: +--- +``` + +### Geometry + +`Geometry` is defined as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /$defs/Geometry/description +--- +``` + +This sub-schema is referenced by the following properties: + +- [`Location/geometry`](rdls_schema.json,/$defs/Location,geometry) + +Each `Geometry` has the following fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +pointer: /$defs/Geometry +collapse: +addtargets: +--- +``` + +### Hazard + +`Hazard` is defined as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /$defs/Hazard/description +--- +``` + +This sub-schema is referenced by the following properties: + +- [`Event_set/hazards`](rdls_schema.json,/$defs/Event_set,hazards) +- [`Event/hazard`](rdls_schema.json,/$defs/Event,hazard) + +Each `Hazard` has the following fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +pointer: /$defs/Hazard +collapse: trigger +addtargets: +--- +``` + +### Trigger + +`Trigger` is defined as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /$defs/Trigger/description +--- +``` + +This sub-schema is referenced by the following properties: + +- [`Hazard/trigger`](rdls_schema.json,/$defs/Hazard,trigger) + +Each `Trigger` has the following fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +pointer: /$defs/Trigger +collapse: +addtargets: +--- +``` + +### Event_set + +`Event_set` is defined as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /$defs/Event_set/description +--- +``` + +This sub-schema is referenced by the following properties: + +- [`hazard/event_sets`](rdls_schema.json,/properties/hazard,event_sets) + +Each `Event_set` has the following fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +pointer: /$defs/Event_set +collapse: spatial,temporal +addtargets: +--- +``` + +### Event + +`Event` is defined as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /$defs/Event/description +--- +``` + +This sub-schema is referenced by the following properties: + +- [`Event_set/events`](rdls_schema.json,/$defs/Event_set,events) + +Each `Event` has the following fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +pointer: /$defs/Event +collapse: hazard +addtargets: +--- +``` + +### Footprint + +`Footprint` is defined as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /$defs/Footprint/description +--- +``` + +This sub-schema is referenced by the following properties: + +- [`Event/footprints`](rdls_schema.json,/$defs/Event,footprints) + +Each `Footprint` has the following fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +pointer: /$defs/Footprint +collapse: +addtargets: +--- +``` + +### Metric + +`Metric` is defined as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /$defs/Metric/description +--- +``` + +This sub-schema is referenced by the following properties: + +- [`exposure/metrics`](rdls_schema.json,/properties/exposure,metrics) + +Each `Metric` has the following fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +pointer: /$defs/Metric +collapse: +addtargets: +--- +``` + +### Cost + +`Cost` is defined as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /$defs/Cost/description +--- +``` + +This sub-schema is referenced by the following properties: + +- [`vulnerability/cost`](rdls_schema.json,/properties/vulnerability,cost) +- [`Losses/cost`](rdls_schema.json,/$defs/Losses,cost) + +Each `Cost` has the following fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +pointer: /$defs/Cost +collapse: +addtargets: +--- +``` + +### Probabilistic + +`Probabilistic` is defined as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /$defs/Probabilistic/description +--- +``` + +This sub-schema is referenced by the following properties: + +- [`Event/occurrence/probabilistic`](rdls_schema.json,/$defs/Event,occurrence/probabilistic) + +Each `Probabilistic` has the following fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +pointer: /$defs/Probabilistic +collapse: +addtargets: +--- +``` + +### Impact + +`Impact` is defined as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /$defs/Impact/description +--- +``` + +This sub-schema is referenced by the following properties: + +- [`vulnerability/impact`](rdls_schema.json,/properties/vulnerability,impact) +- [`Losses/impact`](rdls_schema.json,/$defs/Losses,impact) + +Each `Impact` has the following fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +pointer: /$defs/Impact +collapse: +addtargets: +--- +``` + +### Classification + +`Classification` is defined as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /$defs/Classification/description +--- +``` + +This sub-schema is referenced by the following properties: + +- [`vulnerability/se_category`](rdls_schema.json,/properties/vulnerability,se_category) +- [`Event/disaster_identifiers`](rdls_schema.json,/$defs/Event,disaster_identifiers) + +Each `Classification` has the following fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +pointer: /$defs/Classification +collapse: +addtargets: +--- +``` + +### Link + +`Link` is defined as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /$defs/Link/description +--- +``` + +This sub-schema is referenced by the following properties: + +- [`links`](rdls_schema.json,,links) + +Each `Link` has the following fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +pointer: /$defs/Link +collapse: +addtargets: +--- +``` + +### Losses + +`Losses` is defined as: + +```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json +--- +jsonpointer: /$defs/Losses/description +--- +``` + +This sub-schema is referenced by the following properties: + +- [`loss/losses`](rdls_schema.json,/properties/loss,losses) + +Each `Losses` has the following fields: + +```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json +--- +pointer: /$defs/Losses +collapse: cost,impact +addtargets: +--- +``` diff --git a/docs/standards.md b/docs/standards.md deleted file mode 100644 index c7221905..00000000 --- a/docs/standards.md +++ /dev/null @@ -1,7 +0,0 @@ - - -# Core Standards - -RDLS has been built based on existing open data standards. - -In this section you will find a short summary of the core standards upon which the RDL data model has been built. \ No newline at end of file diff --git a/docs/taxonomies/ged4all.md b/docs/taxonomies/ged4all.md deleted file mode 100644 index aaff030c..00000000 --- a/docs/taxonomies/ged4all.md +++ /dev/null @@ -1,782 +0,0 @@ -# GED4all exposure taxonomy - -We encourage the use of GED4all taxonomy, described in full [here](https://wiki.openstreetmap.org/wiki/GED4ALL).
                -In order to summarise all the asset information into a single alphanumeric string, a tool will be provided, similar to the ['taxtweb'](https://platform.openquake.org/taxtweb/) tool available from GEM dedicated to _buildings_ taxonomy. - -The taxonomy covers four main categories: - -- [Buildings](#buildings) -- [Lifelines](#lifelines) -- [Crops, Livestock and Forestry](#crops-livestock-and-forestry) -- [Socio-Economic indicators](#socio-economic-indicators) - -## Buildings -The buildings taxonomy is based on GEM openquake taxonomy, with some semplifications. The taxonomy string is built as sequence of attributes separeted by slash: - -`MATERIAL/HEIGHT/DATE/OCCUPANCY/SHAPE/…` - -Missing attributes can be skipped from the string, e.g. - -2-floors detached residential dwelling, reinforced concrete structure: `CR/H:2/RES1` - -
                - -| Attribute | Code | Description | -|-|:-:|-| -| Material of the Lateral Load-Resisting System (LLRS) | -- | Unknown material | -| | C | Concrete, unknown reinforcement | -| | CU | Concrete, unreinforced * | -| | CR | Concrete, reinforced | -| | SRC | Concrete, composite with steel section | -| | S | Steel | -| | ME | Metal (except steel) | -| | M | Masonry, unknown reinforcement | -| | MUR | Masonry, unreinforced | -| | MCF | Masonry, confined | -| | MR | Masonry, reinforced | -| | E | Earth, unknown reinforcement | -| | EU | Earth, unreinforced | -| | ER | Earth, reinforced | -| | W | Wood | -| | MIX | Mixed materials (hybrid or composite) | -| | INF | Informal materials | -| | MATO | Other material | -| Height | -- | Number of storeys unknown | -| | H:n | n is the exact number of storeys above ground | -| | HBET:a-b | a-b is the range of number of storeys above ground (a=upper bound, and b= lower bound). a-b, range of number of storeys above | -| | HAPP:n | HAPP:n, approximate number of storeys above ground. | -| Date of Construction or Retrofit | -- | Year unknown | -| | Y :n | n is the exact date of construction or retrofit | -| | YBET:a-b | a nd b are the upper and lower bound for the date of construction or retrofit | -| | YPRE:n | n is the latest possible date of construction or retrofit | -| | YAPP:n | n is the approximate date of construction or retrofit | -| Occupancy | -- | Unknown occupancy type | -| | RES | Residential, unknown type | -| | RES1 | Residential, Single dwelling | -| | RES2 | Residential, Multi-unit | -| | RES2A | Residential, 2 Units (duplex) | -| | RES2B | Residential, 3-4 Units | -| | RES2C | Residential, 5-9 Units | -| | RES2D | Residential, 10-19 Units | -| | RES2E | Residential, 20-49 Units | -| | RES2F | Residential, 50+ Units | -| | RES3 | Residential, Temporary lodging | -| | RES4 | Residential, Institutional housing | -| | RES5 | Residential, Mobile home | -| | COM | Commercial and public, Unknown type | -| | COM1 | Commercial and public, Retail trade | -| | COM2 | Commercial and public, Wholesale trade and storage (warehouse) | -| | COM3 | Commercial and public, Offices, professional/technical services | -| | COM4 | Commercial and public, Hospital/medical clinic | -| | COM5 | Commercial and public, Entertainment | -| | COM6 | Commercial and public, Public building | -| | COM7 | Commercial and public, Covered parking garage | -| | COM8 | Commercial and public, Bus station | -| | COM9 | Commercial and public, Railway station | -| | COM10 | Commercial and public, Airport | -| | COM11 | Commercial and public, Recreation and leisure | -| | MIX | Mixed, unknown type | -| | MIX1 | Mixed use, Mostly residential and commercial | -| | MIX2 | Mixed use, Mostly commercial and residential | -| | MIX3 | Mixed use, Mostly commercial and industrial | -| | MIX4 | Mixed use, Mostly residential and industrial | -| | MIX5 | Mixed use, Mostly industrial and commercial | -| | MIX6 | Mixed use, Mostly industrial and residential | -| | IND | Industrial, unknown type | -| | IND1 | Industrial, Heavy industrial | -| | IND2 | Industrial, Light industrial | -| | AGR | Agriculture, unknown type | -| | AGR1 | Agriculture, Produce storage | -| | AGR2 | Agriculture, Animal shelter | -| | AGR3 | Agriculture, Agricultural processing | -| | ASS | Assembly, unknown type | -| | ASS1 | Assembly, Religious gathering | -| | ASS2 | Assembly, Arena | -| | ASS3 | Assembly, Cinema or concert hall | -| | ASS4 | Assembly, Other gatherings | -| | GOV | Government, unknown type | -| | GOV1 | Government, general services | -| | GOV2 | Government, emergency response | -| | EDU | Education, unknown type | -| | EDU1 | Education, Pre-school facility | -| | EDU2 | Education, School | -| | EDU3 | Education, College/university, offices and/or classrooms | -| | EDU4 | Education, College/university, research facilities and/or labs | -| | OCO | Other occupancy type | -| Ground floor hydrodynamics | -- | Ground floor hydrodynamics unknown | -| | GFO | Ground floor plan fully open (no walls) | -| | GFH | Ground floor plan partially open (i.e. with at least 50% of walls). | -| | GFM | Not open, many doors and/or windows (i.e. more than 20% of wall surface area). | -| | GFN | Not open, few doors and/or windows (i.e. less than 20% of wall surface area) | -| Roof Shape | -- | Unknown roof shape | -| | RSH1 | Flat | -| | RSH2 | Pitched with gable ends | -| | RSH3 | Pitched and hipped | -| | RSH4 | Pitched with dormers | -| | RSH5 | Monopitch | -| | RSH6 | Sawtooth | -| | RSH7 | Curved | -| | RSH8 | Complex regular | -| | RSH9 | Complex irregular | -| | RSHO | Roof shape, other | -| Floor | -- | Floor material, unknown | -| | FN | No elevated or suspended floor material (single-storey building) | -| | FM | Masonry | -| | FE | Earthen | -| | FC | Concrete | -| | FME | Metal | -| | FW | Wood | -| | FO | Floor material, other | - -
                -
                - -## Lifelines -The **lifelines** taxonomy includes all infrastructures commonly found in populated areas, such as: - -- [Roads and railways](#roads-and-railways) -- [Pipelines](#pipelines) -- [Energy generation and power grid](#energy-generation-and-power-grid) -- [Potable water and wastewater system](#potable-water-and-wastewater-systems) -- [Communication systems](#communication-systems) - -Three main sources of information have been used for the definition of this taxonomy: FP7 EU Project [Syner-G](http://www.vce.at/SYNER-G), HAZUS11 recommendations, and the OpenStreetMap (OSM) classification system. - -### Roads and railways - -This taxonomy is strongly based on the classification system adopted by OpenStreetMap, since OSM is undoubtedly the largest and most complete source of open information concerning the location of roads and railways. -The taxonomy string is simply `TYPE+CATEGORY`, e.g. - -Secondary road: `RDN+SE` - -
                - -| Attribute | Code | Description | -|-|:-:|-| -| Road network | RDN+MO | Motorway: restricted access major divided highway (i.e. freeway), normally with 2 or more running lanes plus emergency hard shoulder | -| | RDN+TR | Trunk: the most important roads in a country's system that aren't motorways (not necessarily be a divided highway) | -| | RDN+PR | Primary: the next most important roads in a country's system (often link larger towns) | -| | RDN+SE | Secondary: the next most important roads in a country's system (often link towns) | -| | RDN+TE | Tertiary: the next most important roads in a country's system (often link smaller towns and villages) | -| | RDN+UN | Unclassified: the least important through roads in a country's system (often link villages and hamlets) | -| | RDN+RE | Residential: roads which serve as an access to housing, without function of connecting settlements. Often lined with housing. | -| | RDN+SR | Service: access roads to, or within an industrial estate, camp site, business park, car park etc. | -| | RDN | Unknown: no information concerning road typology | -| Railway network | RLW+LR | Light rail: a higher-standard tram system, normally in its own right-of-way. Often reaches a considerable length (tens of kilometer) | -| | RLW+MR | Monorail: a single-rail railway | -| | RLW+RL | Rail: full sized passenger or freight trains in the standard gauge for the country or state | -| | RLW+SW | Subway: a city passenger underground rail service running mostly grade separated | -| | RLW+TR | Tram: one or two carriage rail vehicles, usually sharing motor road. | -| | RLW | Unknown: no additional information concerning rail typology. | - -
                -
                - -### Pipelines - -The taxonomy presented herein has been developed using the classification experience developed in Syner-G and STREST (Crowley et al., 2016). -The taxonomy string is simply `PPL/CONTENT/POSITION/MATERIAL/JOINT_TYPE/SOIL_TYPE/DIAMETER`, e.g. - -Large elevated pipe for potable water: `CPW/PEL/DLG` - -
                - -| Attribute | Code | Description | -|-|:-:|-| -| Content | CGS | Gas | -| | COL | Oil | -| | CPW | Potable water | -| | CWW | Wastewater | -| | COT | Other content | -| | -- | Unknown | -| Position | PBU | Buried | -| | PEL | Elevated | -| Material | MPC | Polyvinyl chloride | -| | MPE | Polyethylene | -| | MCI | Cast iron | -| | MDI | Ductile iron | -| | MWS | Welded steel | -| | MRM | Reinforced plastic mortar | -| | MRM | Resin transfer moulding | -| | MAC | Asbestos-cement | -| | MC | Concrete | -| | MCL | Clay | -| | MO | Other material | -| | MUB | Unknown, brittle | -| | MUD | Unknown, ductile | -| | -- | Unknown material | -| Joint type | JAW | Arc welded | -| | JGW | Gas welded | -| | JCE | Cemented | -| | JFW | Fillet weld | -| | JBS | Bell and spigot (caulked) | -| | JRI | Riveted | -| | JMR | Mechanical restrained | -| | JSC | Screwed | -| | JRU | Rubber gasket | -| | JSG | Unknown, segmented | -| | JCO | Unknown, continuous | -| | JO | Other joint | -| | -- | Unknown joint | -| Soil type | SCO | Corrosive | -| | SNC | Non corrosive | -| | -- | Unknown soil type | -| Diameter | DSM | Small (< 40 cm) | -| | DLG | Large (≥ 40 cm) | -| | -- | Unknown diameter | - -
                -
                - -### Energy generation and power grid - -We follow the taxonomy adopted by HAZUS, which allows capturing the capacity (e.g. voltage) of the elements. For the purposes of assessing damage due to natural disasters, it is also relevant to identify the presence of anchorage and whether the elements have been designed according to a particular code. The taxonomy for component of the power grid can thus be presented in the following manner: `PWG/ENERGYSOURCE/COMPONENT/ANCHORAGE/CODE PROVISIONS`, e.g. - -Electric ditribution line through pylones: `PWG/SSM/ANC` - -
                - -| Attribute | Code | Description | -|-|:-:|-| -| Energy Source | OIL | Oil | -| | GEO | Geothermal | -| | NUC | Nuclear | -| | HYD | Hydroelectric | -| | WND | Wind | -| | SOL | Solar | -| | TDL | Tidal wave | -| | GAS | Gas | -| | BIO | Biomass | -| | O | Other | -| | -- | Unknown | -| Power Capacity | PC: | Value (integer) | -| | -- | Unknown power capacity | -| Power grid | SSL | Low Voltage (<115 KV) Substation | -| | SSM | Medium Voltage (115-500 KV) Substation | -| | SSH | High Voltage (>500 KV) Substation | -| | DTC | Distribution circuit | -| | TMT | Transmission tower | -| Grid anchorage | ANC | Anchored | -| | AUN | Unanchored | -| | -- | Unknown anchorage | -| Code provisions | CDN | No code (non-engineered) | -| | CDL | Low code | -| | CDM | Moderate code | -| | CDH | High code | -| | C99 | Code provisions unknown | - -
                -
                - -### Potable water and wastewater systems - -Potable water systems are comprised by water treatment plants, storage tanks, pipelines and pumping stations, while wastewater systems are composed by wasterwater treatment plants, lifting stations and -pipelines. Our classification is based on the HAZUS guidelines. - -The alphanumeric taxonomy strings are:
                -`PWR/COMPONENT/ANCHORAGE/CODE PROVISIONS` for potable water
                -`WWR/COMPONENT/ANCHORAGE/CODE PROVISIONS` for wasterwater - -
                - -| Attribute | Code | Description | -|-|:-:|-| -| **Potable water** | PWR | | -| Component | PWS | Small potable water treatment plant (<50 MGD) | -| | PWM | Medium potable water treatment plant (50-200 MGD) | -| | PWL | Large potable water treatment plant (>200 MGD) | -| | PPS | Small pumping plant (<10 MGD) | -| | PPM | Medium pumping plant (10-50 MGD) | -| | PPL | Large pumping plant (>50 MGD) | -| Anchorage | ANC | Anchored | -| | AUN | Unanchored | -| | -- | Unknown anchorage | -| Code provisions | CDN | No code (non-engineered) | -| | CDL | Low code | -| | CDM | Moderate code | -| | CDH | High code | -| | -- | Code provisions unknown | -| **Wastewater** | WWR | | -| Component | WWS | Small wastewater treatment plant (<50 MGD) | -| | WWM | Medium wastewater treatment plant (50-200 MGD) | -| | WWL | Large wastewater treatment plant (>200 MGD) | -| | LSS | Small lift station (<10 MGD) | -| | LSM | Medium lift station (10-50 MGD) | -| | LSL | Large lift station (>50 MGD) | -| Anchorage | ANC | Anchored | -| | AUN | Unanchored | -| | -- | Unknown anchorage | -| Code provisions | CDN | No code (non-engineered) | -| | CDL | Low code | -| | CDM | Moderate code | -| | CDH | High code | -| | -- | Code provisions unknown | - -
                -
                - -### Communication systems - -A communication system is comprised by offices dedicated to the reception and dissimination of information (e.g. telephones offices, call centers, TV stations, radio station, telecomunication stations), supporting transmitter towers and distribution circuits. The components have been classified based on the classification system proposed by HAZUS. For the purposes of assessing damage due to natural disasters, it is also relevant to identify the presence of anchorage and whether the elements have been designed according to a particular code. -
                The taxonomy string for the components of a communication system is: -
                `COM/COMPONENT/ANCHORAGE/CODE`
                - -| Attribute | Code | Description | -|-|:-:|-| -| Component | TRD | AM or FM radio transmitters | -| | TTV | TV stations or transmitters | -| | TWE | Weather stations or transmitters | -| | TTT | Telecommunication transmitters | -| | TOT | Other stations or transmitters | -| | DTC | Distribution circuit | -| Anchorage | ANC | Anchored | -| | AUN | Unanchored | -| | -- | Unknown anchorage | -| Code provisions | CDN | No code (non-engineered) | -| | CDL | Low code | -| | CDM | Moderate code | -| | CDH | High code | -| | -- | Code provisions unknown | - -
                - -## Crops, Livestock and Forestry - -The taxonomy for crops, livestock and forestry was defined based on existing classification systems supported by the Food and Agriculture Organization (FAO). For crops, the classification system in the 2000 agricultural census programme was adopted. This system comprises a wide range of attributes such as growing cycle (temporary/permanent), crop species, crop variety, season, land type, amongst others. The taxonomy proposed herein uses the first and second categorization levels proposed by FAO, as well as the growing cycle (e.g. permanent or temporary). A simple alphanumeric code is attributed to each class of crop. - -### Crops - -
                - -| Attribute | Code | Description | -|-|:-:|-| -| Cereals | CRP1+1 | Wheat | -| | CRP1+2 | Maize | -| | CRP1+3 | Rice | -| | CRP1+4 | Sorghum | -| | CRP1+5 | Barley | -| | CRP1+6 | Rye | -| | CRP1+7 | Oats | -| | CRP1+8 | Millets | -| | CRP1+9 | Other | -| Vegetables and melons | CRP2+1 | Leafy or stem vegetables | -| | CRP2+2 | Fruit-bearing vegetables | -| | CRP2+3 | Root, bulb, or tuberous vegetables | -| | CRP2+4 | Mushrooms and truffles | -| | CRP2+5 | Other | -| Fruits and nuts | CRP3+1 | Tropical and subtropical fruits | -| | CRP3+2 | Citrus fruits | -| | CRP3+3 | Grapes | -| | CRP3+5 | Berries | -| | CRP3+6 | Pome fruits and stone fruits | -| | CRP3+7 | Nuts | -| | CRP3+8 | Other | -| Oilseed crops | CRP4+1 | Soya beans | -| | CRP4+2 | Groundnuts | -| | CRP4+3 | Other | -| Root/tuber crops with high starch or inulin content | CRP5+1 | Potatoes | -| | CRP5+2 | Sweet potatoes | -| | CRP5+3 | Cassava Yams | -| | CRP5+4 | Other | -| Beverage and spice crops | CRP6+1 | Beverage crops | -| | CRP6+2 | Spice crops | -| | CRP6+3 | Other | -| Leguminous crops | CRP7+1 | Beans | -| | CRP7+2 | Broad beans | -| | CRP7+3 | Chick peas | -| | CRP7+4 | Cow peas | -| | CRP7+5 | Lentils | -| | CRP7+6 | Lupins | -| | CRP7+7 | Peas | -| | CRP7+8 | Pigeon peas | -| | CRP7+9 | Leguminous crops | -| | CRP7+10 | Other | -| Sugar crops | CRP8+1 | Sugar beet | -| | CRP8+2 | Sugar cane | -| | CRP8+3 | Sweet sorghum | -| | CRP8+4 | Other | -| Other crops | CRP9+1 | Grasses and other fodder crops | -| | CRP9+2 | Fibre crops | -| | CRP9+3 | Medicinal, aromatic, pesticidal, or similar crops | -| | CRP9+4 | Rubber | -| | CRP9+5 | Flower crops | -| | CRP9+6 | Tobacco | -| | CRP9+7 | Other | -| Unknown crop | CRP | | - -
                -
                - -### Livestock - -
                - -| Attribute | Code | Description | -|-|:-:|-| -| Large ruminants | LVS1+1 | Cattle | -| | LVS1+2 | Buffaloes | -| | LVS1+3 | Yaks | -| Small ruminants | LVS2+1 | Sheep | -| | LVS2+2 | Goats | -| Pigs or swines | LVS3 | | -| Equines | LVS4+1 | Horses | -| | LVS4+2 | Mules and hinnies | -| | LVS4+3 | Asses | -| | LVS4+4 | Other (e.g. zebras) | -| Camels and camelids | LVS5+1 | Camels | -| | LVS5+2 | Llamas and alpacas | -| Poultry | LVS6+1 | Chickens | -| | LVS6+2 | Ducks | -| | LVS6+3 | Geese | -| | LVS6+4 | Turkeys | -| | LVS6+5 | Guinea fowls | -| | LVS6+6 | Pigeons | -| | LVS6+7 | Other | -| Other animals | LVS7+1 | Deer, elk, reindeer | -| | LVS7+2 | Fur-bearing animals such as foxes and minks | -| | LVS7+3 | Dogs and cats | -| | LVS7+4 | Rabbits and hares | -| | LVS7+5 | Other (e.g. emus, ostriches, elephants) | -| Insects | LVS8+1 | Bees | -| | LVS8+2 | Silkworms | -| | LVS8+3 | Other worms or insects | -| Unknown livestock | | | - -
                -
                - -### Forestry - -
                - -| Attribute | Code | Description | -|-|:-:|-| -| Closed forest | FRT1+1 | Mainly evergreen forest - the canopy is never without green foliage, but individual trees may shed their leaves (e.g. Sumatra, Atrato Valley (Colombia), Atlantic slopes of Costa Rica, Amazon Basin). | -| | FRT1+2 | Mainly deciduous forest - majority of trees shed their foliage simultaneously in connection to unfavourable season (e.g. North and South America, Southern slopes of the Himalayas and Europe) | -| | FRT1+3 | Extremely xeromorphic forest - dense stands of trees, composed by species such as bottle or tuft rees with succulent leaves (e.g. thorn forest in Southwestern North America and Southwestern Africa) | -| Woodland | FRT2+1 | Mainly evergreen woodland - the canopy is never without green foliage, but individual trees may shed their leaves (e.g. Mediterranean Basin). | -| | FRT2+2 | Mainly deciduous woodland - majority of trees shed their foliage simultaneously in connection to unfavourable season (e.g. Southern California and American Southeast, Mediterranean Basin) | -| | FRT2+3 | Extremely xeromorphic woodland - dense stands of trees, composed by species such as bottle or tuft rees with succulent leaves (e.g. Southwestern North America and Southwestern Africa) | -| Scrub | FRT3+1 | Mainly evergreen scrub - the canopy is never without green foliage, but individual species may shed their leaves (e.g. Mediterranean dwarf palm shrubland, Chaparral shrubland in California or Hawaiian tree fern thicket). | -| | FRT3+2 | Mainly deciduous scrub - majority of scrub shed their foliage simultaneously in connection to unfavourable season (e.g. peat mosses in Scotland) | -| | FRT3+3 | Extremely xeromorphic (subdesert) shrubland - very open stands of shrubs, often composed by vegetation with green branches without leaves, some of them with thorns (e.g. mulga scrub in Australia). | -| Dwarf-scrub and related communities | FRT4+1 | Mainly evergreen dwarf-scrub - mostly dense dwarf scrub evergreen dominating the landscape (e.g. East Mediterranean mountains). | -| | FRT4+2 | Mainly deciduous scrub - majority of vegetation shed their foliage simultaneously in connection to unfavourable season (e.g. Sierra Nevada in California ) | -| | FRT4+3 | Extremely xeromorphic dwarf-shrubland - more or less open formations consisting of dwarf-shrubs or succulent species (e.g. Australia). | -| | FRT4+4 | Tundra - slowly growing, low formations, consisting mainly of dwarf-shrubs beyond the subpolar tree line (e.g. Alaska, Northern Canada, Greenland, Norway, Finland and Siberia). | -| | FRT4+5 | Mossy bog formations with dwarf-shrub - peat accumulations formed mainly by mosses which generally cover the surface as well (e.g. Western Siberian Lowlands in Russia). | -| Herbaceous vegetation | FRT5+1 | Tall graminoid vegetation - Mostly composed by tall grasslands with heights of over 2 m. Forbs can be presented but their coverage is less than 50% (e.g. Northeast Bolivia, African savannah and upper Nile Valley). | -| | FRT5+2 | Medium tall grassland - Mostly composed by grasslands with heights between 0.5 and 2 m. Forbs can be presented but their coverage is less than 50% (e.g. Sahel region in Africa, Eastern Kansas, glasslands in New Zealand) | -| | FRT5+3 | Short grassland - Mostly composed by grasslands with heights below 0.5 m. Forbs can be presented but their coverage is less than 50% (e.g. alpine regions of Kenya, Colombia and Venezuela). | -| | FRT5+4 | Forb vegetation - the plant community if mostly composed by forbs (more than 50%). (e.g. Sonoran Desert) | -| | FRT5+5 | Hydromorphic fresh-water vegetation - mostly composed by aquatic plants that are structurally supported by water, in wet or flooded regions most of the year (e.g. Amazon Basin) | - -
                -
                - -## Socio-Economic indicators - -Natural hazards are a complex phenomenon featuring large number of interactions that result into loss of lives, livelihoods and interruption of systems. The socio-economic indicators are related to the capacity of populations to prepare, respond and recover from potential damage. For example, education theme is related to awareness, which is essential for a population to avoid and cope with a disaster. The Socio-economic Indicators taxonomy aims at identifying and describing a set of variables which provide a basis for understanding and measuring resilience, social vulnerability and economic vulnerability. The taxonomy system is divided into eight main themes (economy, education, environment, government and institutional capacity, index, health, infrastructure and population), each theme is later subdivided to different levels of detail. The eight main themes in the Socio-economic Indicator Taxonomy are the following: - -- [Population](#population): defines community demographics: structure, distribution and size. -- [Economy](#economy): measures the welfare and social security levels of communities -- [Education](#education): provides information about invested resources and expected outcome of education, access and participation to education -- [Environment](#environment): defines the underlying conditions that make an environment susceptible to damage, disaster experience and prevalence -- [Governance and institutional capacity](#governance): institutional performance and regulatory efficiency, corruption control and stability of political system -- [Health](#health): population health conditions and health sector capabilities -- [Index](#index): range of indexes that cover different sectors, for example, the Disaster Risk Index used by the United Nation Development programme to monitor the global evolution of risk. -- [Infrastructure](#infrastructure): Transportation and communication infrastructure, status and access to utility lifelines - -### Population - -
                - -| Attribute | Code | Description | -|-|:-:|-| -| Population Structure | POPPPSPOP | Population | -| | POPPPSRPP | Rural population | -| | POPPPSRUB | Urbanization Rate | -| | POPPPSSRI | Sex ratio | -| | POPPPSUPR | Urban population | -| | POPPPSADP | Age dependency ratio | -| | POPPPSAPD | Average Population Density (areas over 400 ppl/km2) | -| | POPPPSCAO | Percentage of land area with over 400 people per km2 | -| | POPPPSIMP | Foreign Born Migrants | -| | POPPPSLPF | Labour force participation rate - Female | -| | POPPPSNMR | Net migration rate | -| | POPPPSPGR | Population growth rate | -| Vulnerable Population | POPVNPSLP | Slum population in urban areas | -| | POPVNPPUF | Population under 5 | -| | POPVNPPIP | Percentage of the population below income poverty line | -| | POPVNPITA | International tourism arrivals | -| | POPVNPFPP | Female Population | -| | POPVNPASE | Population over 65 | -| | POPVNPTPP | Refugees (country of origin) | - -
                -
                - -### Economy - -
                - -| Attribute | Code | Description | -|-|:-:|-| -| Economic Activity | ECOEACVLE | Value lost due to electrical outages | -| | ECOEACBEX | Budget expenditures | -| | ECOEACCDC | Carbon Dioxide Emissions | -| | ECOEACCPI | Consumer price index | -| | ECOEACEXS | Exports | -| | ECOEACFCE | Final consumption expenditure | -| | ECOEACFDP | Foreign direct investment, net inflows | -| | ECOEACGCE | General government final consumption expenditure | -| | ECOEACGFC | Gross fixed capital formation | -| | ECOEACGGE | Greenhouse gas emissions | -| | ECOEACGNC | GDP Nominal per population | -| | ECOEACGRB | General government revenue | -| | ECOEACGRN | GDP Nominal | -| | ECOEACGS1 | Gross savings | -| | ECOEACGUS | GNI per capita | -| | ECOEACHEE | Net Household final consumption expenditure | -| | ECOEACICR | Implied PPP conversion rate | -| | ECOEACIDA | Inflation, GDP deflator | -| | ECOEACIMP | Imports | -| | ECOEACIPD | Income payments (BoP) | -| | ECOEACMEP | Military expenditures | -| | ECOEAC039 | Adjusted savings: consumption of fixed capital | -| | ECOEACPCM | PPP conversion factor (GDP) to market exchange rate ratio | -| | ECOEACPEE | Remittance Inflows | -| | ECOEACPEP | Public expenditure on education | -| | ECOEACTIN | Total investment | -| | ECOEACTR1 | International tourism receipts as a percent of total exports | -| | ECOEACTRA | Trade | -| | ECOEACTRE | International tourism receipts as a percent of GDP | -| Economic Resources | ECOERETRG | Total reserves (includes gold) | -| | ECOERE040 | Adjusted savings: mineral depletion | -| | ECOERE042 | Adjusted savings: energy depletion | -| | ECOERE226 | Net ODA received per capita | -| | ECOEREBRE | Budget revenues | -| | ECOERECNT | Net taxes on products | -| | ECOEREDEX | Debt - external | -| | ECOEREGGD | General government gross debt | -| | ECOEREGNS | Gross national savings | -| | ECOEREGPC | GDP at purchasing power parity per capita | -| | ECOEREIRP | Inflation rate (consumer prices) | -| | ECOERELAP | Land use - arable land | -| | ECOERELCP | Land use - permanent crops | -| | ECOEREMQP | Money and quasi money (M2) | -| | ECOERENLB | General government net lending/borrowing | -| | ECOEREPDP | Public debt | -| | ECOERERDE | Research and development expenditure | -| | ECOERETRV | Tax revenue | -| | ECOERETTR | Total tax rate | -| Economic Composition | ECOECPAGR | GDP composition by sector - agriculture | -| | ECOECPWRT | Wholesale, retail trade, restaurants and hotels (ISIC G-H) | -| | ECOECPTSC | Transport, storage and communication (ISIC I) | -| | ECOECPSER | GDP - composition by sector - services | -| | ECOECPOTA | Other Activities (ISIC J-P) | -| | ECOECPMMU | Mining, Manufacturing, Utilities (ISIC C-E) | -| | ECOECPIND | GDP composition by sector - industry | -| | ECOECPCON | Construction (ISIC F) | -| | ECOECPAHF | Agriculture, hunting, forestry, fishing (ISIC A-B) | -| Income Distribution and Poverty | ECOIDPLIS | Income share held by lowest 20% | -| | ECOIDPPPL | Population below national poverty line | -| | ECOIDPPOG | Poverty gap at $2 a day (PPP) | -| | ECOIDPGIN | GINI index | -| | ECOIDPISF | Income share held by fourth 20 % | -| | ECOIDPISH | Income share held by highest 20% | -| | ECOIDPISS | Income share held by second 20 % | -| | ECOIDPIST | Income share held by third 20 % | -| | ECOIDPPGP | Poverty gap at $1.25 a day (PPP) | -| Labour Market | ECOLAMLPT | Labor force participation rate | -| | ECOLAMRRD | Researchers in R&D | -| | ECOLAMTEC | Technicians in R&D | -| | ECOLAMUEP | Unemployment Rate | -| | ECOLAMEAT | Employment in agriculture | -| | ECOLAMEIT | Employment in industry | -| | ECOLAMEPT | Ratio of youth employment to population ages 15-24 | -| | ECOLAMEST | Employment in services | -| | ECOLAMFLM | Female legislators, senior officials and managers | -| | ECOLAMLAF | Labor force | -| | ECOLAMLP1 | Female labor participation rate | -| | ECOLAMPET | Employment to population ratio ages 15+ | -| Trade Economics | ECOTRECID | Cost to import | -| | ECOTREMIC | Merchandise imports CIF | -| | ECOTREISS | Imports of goods and services | -| | ECOTRECED | Cost to export | -| | ECOTRE072 | Tariff rate, most favored nation, weighted mean, all products percentage | -| | ECOTREMTR | Merchandise trade | -| | ECOTREIGD | Imports of goods and services (BoP) | -| | ECOTREMEX | Merchandise exports to developing economies within region | -| | ECOTREEVI | Export volume index | -| | ECOTREEVE | Export value index | -| | ECOTREEEE | Merchandise exports FOB | -| | ECOTRECPT | Container port traffic (TEU: 20 foot equivalent units) | - -
                -
                - -### Education - -
                - -| Attribute | Code | Description | -|-|:-:|-| -| Education Outcome | EDUEOCSAF | Female population without secondary education or higher | -| | EDUEEOCCT | Primary School Completion Rate | -| | EDUEOCEYS | Expected Years of Schooling | -| | EDUEOCLFM | Ratio of young literate males to females ages 15-24 | -| | EDUEOCLFP | Illiteracy - female | -| | EDUEOCLMP | Illiteracy - male | -| | EDUEOCLTP | Illiteracy | -| | EDUEOCMYS | Mean Years of Schooling | -| | EDUEOCSAM | Male population without secondary education or higher | -| | EDUEOCSTJ | Scientific and technical journal articles | -| Education Access | EDUEACEEG | Education expenditures | -| | EDUEACPTS | Pupil-teacher ratio, secondary | -| | EDUEACPTP | Pupil-teacher ratio, primary | -| | EDUEACETG | Gross enrollment ratio, tertiary | -| | EDUEACSTG | Gross enrollment ratio, secondary | -| | EDUEACBGP | Ratio of girls to boys in primary and secondary education | -| | EDUEACEPG | Gross enrollment ratio, primary | -| | EDUEACCPT | Children out of school, primary | - -
                - -
                - -### Environment - -
                - -| Attribute | Code | Description | -|-|:-:|-| -| Disaster Prevalence | ENVDIPDFT | Droughts, floods, extreme temperatures | -| | ENVDIPPLM | Population living in areas where elevation is below 5 meters | -| | ENVDIPINP | Natural disasters - Population affected | -| | ENVDIPIND | Natural disasters - Number of deaths | -| | ENVDIPDRR | Disaster risk reduction progress score | -| Basic Geography | ENVGEOLAK | Land Area | -| | ENVGEOCLK | Geographic Classification | -| | ENVGEOFAP | Forest area | -| | ENVGEOWAK | Water Area | -| Landuse/Landcover | ENVLULALP | Arable land | -| | ENVLULFEC | Fertilizer consumption | -| | ENVLULURP | Urban pollution | -| | ENVLULPCP | Permanent cropland | -| | ENVLULALA | Agricultural land | -| Control of Corruption | GICPSCCOC | Control of Corruption | -| | GICPSCCRI | Corruption Index | -| Voice and Accountability | GICLRVSWP | Percentage of seats held by women in national parliaments | -| | GICLRVVOA | Voice and Accountability | -| | GICLRVVTE | Voter Turnout at last parliamentary Election | -| | GICLRVOIR | Official information is available on request | -| Rule of Law | GICLRVETD | Equal treatment and absence of discrimination | -| | GICLRVSLR | Strength of legal rights index | -| | GICPSCROL | Rule of Law | - -
                -
                - -### Governance - -| Attribute | Code | Description | -|-|:-:|-| -| Political Stability | GICAVTCCL | Civil conflict is effectively limited | -| | GICPSCPSA | Political Stability and Absence of Violence | -| | GICAVTVRG | People do not resort to violence to redress personal grievances | -| | GICAVTLCP | Losses due to theft, robbery, vandalism, and arson | -| | GICAVTIHO | Intentional homicides | -| Government Effectiveness | GICGEFGEF | Government Effectiveness | -| Regulatory Quality | GICGEFREQ | Regulatory Quality | - -
                - -### Health - -
                - -| Attribute | Code | Description | -|-|:-:|-| -| Health Status | HEAHSTFRT | Total fertility rate | -| | HEAHSTLRM | Lifetime risk of maternal death | -| | HEAHSTMAL | Infectious and parasitic diseases: Malaria (DALYs) | -| | HEAHSTMEI | One-year-olds lacking immunization against - Measles | -| | HEAHSTTUC | Infectious and parasitic diseases: Tuberculosis (DALYs) | -| | HEAHSTMRI | Infant mortality rate | -| | HEAHSTMUF | Under 5 years mortality rate | -| | HEAHSTPUP | Prevalence of undernourishment | -| | HEAHSTUNC | Unmet need for contraception | -| | HEAHSTAAP | HIV/AIDS - adult prevalence rate | -| | HEAHSTBAS | Births attended by skilled health staff | -| | HEAHSTBRC | Crude birth rate | -| | HEAHSTDII | Infectious and parasitic diseases: Diarrheal diseases (DALYs) | -| | HEAHSTDPC | Dietary Protein Consumption | -| | HEAHSTDRC | Crude death rate | -| | HEAHSTLEX | Life expectancy at birth | -| Healthcare Resources | HEAHCRHBE | Hospital beds | -| | HEAHCREHP | Health expenditure, private | -| | HEAHCREPP | Health expenditure, public | -| | HEAHCRERH | External resources for health | -| | HEAHCRHAT | Health expenditure, total | -| | HEAHCRHEC | Health expenditure per capita | -| | HEAHCRNMW | Nurses and midwives | -| | HEAHCRPHY | Physicians | - -
                -
                - -### Index - -
                - -| Code | Description | -|:-:|-| -| INXHDIGIV | Inequality adjusted Human Development Index (Gender Inequality Index) | -| INXHDI012 | Human Development Index - 2012 | -| INXXXXSFI | State Fragility Index | -| INXXXXPOL | Polity Index IV | -| INXXXXLSC | Liner shipping connectivity index | -| INXXXXGEI | Gender Equity Index | -| INXXXXGBB | GEF benefits index for biodiversity | -| INXXXXEVI | Environmental Vulnerability Index | -| INXXXXESI | Environmental Sustainability Index | -| INXXXXDRI | Disaster Risk Index | -| INXLPICQL | Logistics performance index: Competence and quality of logistics services | - -
                -
                - -### Infrastructure - -
                - -| Attribute | Code | Description | -|-|:-:|-| -| Energy, Water and Sanitation | INFEWSNGC | Natural gas - consumption | -| | INFEWSOCB | Oil - consumption | -| | INFEWSOPB | Oil - production | -| | INFEWSRFC | Renewable internal freshwater resources per capita | -| | INFEWSIWR | Rural population access to improved water source | -| | INFEWSACE | Population with access to electricity | -| | INFEWSECO | Electricity - consumption | -| | INFEWSEIP | Net energy imports | -| | INFEWSEPR | Electricity - production | -| | INFEWSEUP | Energy use (kg of oil equivalent) | -| | INFEWSISP | Population access to improved sanitation facilities | -| | INFEWSISR | Rural population access to improved sanitation facilities | -| | INFEWSISU | Urban population access to improved sanitation facilities | -| | INFEWSIWP | Population access to improved water source | -| | INFEWSIWU | Urban population access to improved water source | -| Transport and Communication | INFTCOBRC | Fixed broadband Internet subscribers | -| | INFTCOATF | Air transport, freight | -| | INFTCOTLC | Telephone lines | -| | INFTCORDE | Road density | -| | INFTCOQPI | Quality of port infrastructure, WEF | -| | INFTCOMVC | Motor vehicles | -| | INFTCOMCC | Mobile cellular subscriptions | -| | INFTCORWG | Railways, goods transported | - -
                - -

                diff --git a/docs/taxonomies/index.md b/docs/taxonomies/index.md deleted file mode 100644 index fb9052e5..00000000 --- a/docs/taxonomies/index.md +++ /dev/null @@ -1,138 +0,0 @@ - - -# Taxonomies - -The RDLS defines taxonomies for describing risk data. In this section you will find a short summary of the taxonomies recommended for the RDLS, as well as the other main taxonomies for disaster risk assessments. - -## Hazard taxonomies - -There are several existing taxonomies that could have been adopted to describe hazard data. The RDL project performed a review of most of them. - -This resulted in an new taxonomy to unify the existing taxonomies for the purpose of risk data classification, focusing on those hazards and processes that are more often required in disaster risk assessments while mapping and matching alternative definitions into one consistent framework. - -### RDLS Hazard Taxonomy (recommended) - -The **RDLS Hazard Taxonomy** classifies hazard phenomena as main hazard (8 categories) and hazard process (27 categories): - -
                - -| **Hazard type** | **Process type** | -|---|---| -| Coastal Flood | Coastal Flood | -| Coastal Flood | Storm Surge | -| Convective Storm | Tornado | -| Drought | Agricultural Drought | -| Drought | Hydrological Drought | -| Drought | Meteorological Drought | -| Drought | Socio-economic Drought | -| Earthquake | Primary Rupture | -| Earthquake | Secondary Rupture | -| Earthquake | Ground Motion | -| Earthquake | Liquefaction | -| Extreme Temperature | Extreme cold | -| Extreme Temperature | Extreme heat | -| Flood | Fluvial Flood | -| Flood | Pluvial Flood | -| Landslide | Landslide | -| Landslide | Snow Avalanche | -| Tsunami | Tsunami | -| Volcanic | Ashfall | -| Volcanic | Ballistics | -| Volcanic | Proximal hazards | -| Volcanic | Lahar | -| Volcanic | Lava | -| Volcanic | Pyroclastic Flow | -| Wildfire | Wildfire | -| Strong Wind | Extratropical cyclone | -| Strong Wind | Tropical cyclone | - -
                -
                - -Each hazard type and associated processes can have one or more type of measure metrics, which include the unit of measure: - -
                - -**Hazard type** | **Metric:Unit** | **Description** ----|---|--- -EQ | PGA:g | Peak ground acceleration in g -EQ | PGA:m/s2 | Peak ground acceleration in m/s2 (meters per second squared) -EQ | PGV:m/s | Peak ground velocity in m/s -EQ | AvgSa:m/s2 | Average spectral acceleration -EQ | Sd(T1):m | Spectral displacement -EQ | Sv(T1):m/s | Spectral velocity -EQ | PGDf:m | Permanent ground deformation -EQ | D:s | Significant duration -EQ | IA:m/s | Arias intensity (Iα) or (IA) or (Ia) -EQ | Neq:- | Effective number of cycles -EQ | EMS:- | European macroseismic scale -EQ | MMI:- | Modified Mercalli Intensity -EQ | CAV:m/s | Cumulative absolute velocity -EQ | D_B:s | Bracketed duration -FL, CF | fl_wd:m | Flood water depth -FL, CF | fl_wv:m/s | Flood flow velocity -WI | v_ect(3s):km/h | 3-sec at 10m sustained wind speed (kph) -WI | v_ect(1m):km/h | 1-min at 10m sustained wind speed (kph) -WI | v_etc(10m):km/h | 10-min sustained wind speed (kph) -WI | PGWS_tcy:km/h | Peak gust wind speed -LS | ls_fd:m | Landslide flow depth -LS | I_DF:m3/s2 | Debris-flow intensity index -LS | v_lsl:m/s2 | Landslide flow velocity -LS | ls_mfd:m | Maximum foundation displacement -LS | SD_lsl:m | Landslide displacement -TS | Rh_tsi:m | Tsunami wave runup height -TS | d_tsi:m | Tsunami inundation depth -TS | MMF:m4/s2 | Modified momentum flux -TS | F_drag:kN | Drag force -TS | Fr:- | Froude number -TS | v_tsi:m/s | Tsunami velocity -TS | F_QS:kN | Quasi-steady force -TS | MF:m3/s2 | Momentum flux -TS | h_tsi:m | Tsunami wave height -TS | Fh_tsi:m | Tsunami Horizontal Force -VO | h_vaf:m | Ash fall thickness -VO | L_vaf:kg/m2 | Ash loading -DR | CMI:- | Crop Moisture Index -DR | PDSI:- | Palmer Drought Severity Index -DR | SPI:- | Standard Precipitation Index - -
                -
                - -### Other hazard taxonomies - -For a mapping between RDLS Hazard Taxonomy and other existing hazard taxonomies, please see this here. - -List of other hazard taxonomies below: - -- [**UNDRR**](https://www.undrr.org/publication/hazard-definition-and-classification-review) (formerly UNISDR) recently proposed an extended taxonomy that covers 300 natural and anthropogenic hazards in 8 categories (Meteo-Hydrological, Geohazard, Environmental, Extraterrestrial, Chemical, Biological, Technological, Societal). - -- [**Disaster Risk Management Knowledge Centre**](https://drmkc.jrc.ec.europa.eu/risk-data-hub) covers 32 natural and anthropogenic hazards in 8 categories (Geophysical, Hydrological, Meteorological, Climatological, Biological, Technological, Transportation, Malicious). - -- [**Inspire**](https://inspire.ec.europa.eu/codelist/NaturalHazardCategoryValue) covers 25 natural hazards in 6 categories (Geological/hydrological, Meteorological/climatological, Fires, Biological, Cosmic, Other). - -- [**EM-DAT**](https://www.emdat.be/classification) covers 34 natural and technological hazards in 9 categories (Geophysical, Meteorological, Hydrological, Climatological, Biological, Extraterrestrial, Industrial accident, Transport accident, Miscelleanous accident). - -- [**Munich-RE**](https://www.cred.be/downloadFile.php?file=sites/default/files/DisCatClass_264.pdf) covers 27 natural hazards 13 main categories (Geophysical, Meteorological, Hydrological, Climatological, Biological, Extraterrestrial). - - -## Exposure taxonomy - -The exposure schema can accomodate different descriptions of assets using a taxonomy which describes their characteristics (e.g. building occupancy, construction, age, height, etc. or road surface type). - -### GED4all (recommended) - -[**GED4all**](ged4all.md) has been developed by GFDRR under the UK-DFID Challenge Fund, this open exposure database schema is meant for multi-hazard risk analysis. GED4ALL can be populated with building-level data from OpenStreetMap (OSM) following the [guidance](https://wiki.openstreetmap.org/wiki/GED4ALL) from the Humanitarian OSM Team, which collects contributions from the community on how OSM tags can be best aligned with the GED4ALL taxonomy. This is the suggested option for classification of exposure data in the RDL. - -```{eval-rst} -.. toctree:: - :maxdepth: 1 - :hidden: - - ged4all - -``` - -### Other exposure taxonomies - -[**GEM-OpenQuake**](https://platform.openquake.org/taxtweb): developed specifically for the Global Earthquake Model (GEM), this taxonomy is dedicated to buildings for which it describe the size and properties (height, number of storeys, age, occupancy, material, type of roof, floor and foundations). diff --git a/docs/tutorials/data-import.md b/docs/tutorials/data-import.md deleted file mode 100644 index 7ced720b..00000000 --- a/docs/tutorials/data-import.md +++ /dev/null @@ -1,12 +0,0 @@ -# Import data in the schema DB - -## JKAN - -## PostGRESQL - - - - - - -

                \ No newline at end of file diff --git a/docs/tutorials/data-preparation.md b/docs/tutorials/data-preparation.md deleted file mode 100644 index e738d5f4..00000000 --- a/docs/tutorials/data-preparation.md +++ /dev/null @@ -1,8 +0,0 @@ -# Data prepration - - - - - - -

                \ No newline at end of file diff --git a/docs/tutorials/deploy.md b/docs/tutorials/deploy.md deleted file mode 100644 index 0ab7de30..00000000 --- a/docs/tutorials/deploy.md +++ /dev/null @@ -1,8 +0,0 @@ -# Deploy - - - - - - -

                \ No newline at end of file diff --git a/docs/tutorials/index.md b/docs/tutorials/index.md deleted file mode 100644 index 24e8cfd1..00000000 --- a/docs/tutorials/index.md +++ /dev/null @@ -1,11 +0,0 @@ -# Tutorials - -```{eval-rst} -.. toctree:: - :maxdepth: 1 - - deploy - data-preparation - data-import - -``` diff --git a/docs/usecases.md b/docs/usecases.md deleted file mode 100644 index f45f0b9f..00000000 --- a/docs/usecases.md +++ /dev/null @@ -1,19 +0,0 @@ -# Use cases - -A **risk analyst** is scoping available risk data for a **disaster risk reduction project**. Searching the **RDL catalog** they can review the available data for the location of interest. They can then interrogate the data easily given the detailed and consistent **metadata** available, to make a decision on whether to directly use it in their analysis or invest in improving it. - - ***Value***: Reduced time to find and understand existing data. - -
                - -A **development bank** produces public good dashboards to deliver **risk insights** to client governments. The dashboard uses risk data from multiple projects to estimate the **number of assets or population** exposed to risk to assist in prioritising investments. Pulling data via the **RDL API**, many different datasets can be ingested and applied through a single workflow. - - ***Value***: Efficient data pipelines to ingest multiple datasets with confidence in the consistency of data structure and metadata. - -
                - -An **academic research team** needs to demonstrate the impact of a **risk analytics and urban planning project**, by making the data available for others to use. Their dataset are formatted according to the **RDL standards** and published in a data catalogue set up for the project, using the **template implementation** available through the RDL project. - - ***Value***: The pre-designed open-source deployable solutions can assist a research group achieve impact efficiently. - -
                \ No newline at end of file diff --git a/docs/utils/plantuml-1.2023.10.jar b/docs/utils/plantuml-1.2023.10.jar new file mode 100644 index 00000000..aa8d50fe Binary files /dev/null and b/docs/utils/plantuml-1.2023.10.jar differ diff --git a/examples/exposure/central_asia_residential_current/Attributions.csv b/examples/exposure/central_asia_residential_current/Attributions.csv new file mode 100644 index 00000000..b7a5ed02 --- /dev/null +++ b/examples/exposure/central_asia_residential_current/Attributions.csv @@ -0,0 +1,7 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064251/Central-Asia-exposure-dataset---Residential-buildings,https://datacatalog.worldbank.org/search/dataset/0064251/Central-Asia-exposure-dataset---Residential-buildings +Attribution identifier,0064251_attr1,0064251_attr2 +"Entity: +Name",Chi-Yun Huang,"OGS, Italy" +"Entity: +Email address",chuang@worldbank.org, +Role,custodian,collaborator diff --git a/examples/exposure/central_asia_residential_current/Exposure metadata_Exposure metrics.csv b/examples/exposure/central_asia_residential_current/Exposure metadata_Exposure metrics.csv new file mode 100644 index 00000000..1ded8ec2 --- /dev/null +++ b/examples/exposure/central_asia_residential_current/Exposure metadata_Exposure metrics.csv @@ -0,0 +1,4 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064251/Central-Asia-exposure-dataset---Residential-buildings +Identifier,0064251_metric1 +Metric dimension,structure +Metric quantity kind,currency diff --git a/examples/exposure/central_asia_residential_current/Links.csv b/examples/exposure/central_asia_residential_current/Links.csv new file mode 100644 index 00000000..a6e99391 --- /dev/null +++ b/examples/exposure/central_asia_residential_current/Links.csv @@ -0,0 +1,3 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064251/Central-Asia-exposure-dataset---Residential-buildings +Link target,https://docs.riskdatalibrary.org/en/0__2__0/rdls_schema.json +Link relation type,describedby diff --git a/examples/exposure/central_asia_residential_current/Referenced by.csv b/examples/exposure/central_asia_residential_current/Referenced by.csv new file mode 100644 index 00000000..520cb07e --- /dev/null +++ b/examples/exposure/central_asia_residential_current/Referenced by.csv @@ -0,0 +1,4 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064251/Central-Asia-exposure-dataset---Residential-buildings,https://datacatalog.worldbank.org/search/dataset/0064251/Central-Asia-exposure-dataset---Residential-buildings +Related resource identifier,0064251_ref1,0064251_ref2 +Name,Central Asia exposure data development technical report - English version,Central Asia exposure data development technical report - Russian version +URL,https://datacatalogfiles.worldbank.org/ddh-published/0064117/DR0091010/Task4_Exposure_Report_r6_EN.pdf?versionId=2023-07-21T17:33:32.2845222Z,https://datacatalogfiles.worldbank.org/ddh-published/0064117/DR0091011/Task4_Exposure_Report_r6_RU.pdf?versionId=2023-07-21T17:33:26.6527091Z diff --git a/examples/exposure/central_asia_residential_current/Resources.csv b/examples/exposure/central_asia_residential_current/Resources.csv new file mode 100644 index 00000000..44edbb1c --- /dev/null +++ b/examples/exposure/central_asia_residential_current/Resources.csv @@ -0,0 +1,17 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064251/Central-Asia-exposure-dataset---Residential-buildings,https://datacatalog.worldbank.org/search/dataset/0064251/Central-Asia-exposure-dataset---Residential-buildings,https://datacatalog.worldbank.org/search/dataset/0064251/Central-Asia-exposure-dataset---Residential-buildings,https://datacatalog.worldbank.org/search/dataset/0064251/Central-Asia-exposure-dataset---Residential-buildings,https://datacatalog.worldbank.org/search/dataset/0064251/Central-Asia-exposure-dataset---Residential-buildings +Resource identifier,0064251_res1,0064251_res2,0064251_res3,0064251_res4,0064251_res5 +Resource title,Central Asia exposure dataset - Residential buildings - KAZ,Central Asia exposure dataset - Residential buildings - KGZ,Central Asia exposure dataset - Residential buildings - TJK,Central Asia exposure dataset - Residential buildings - TKM,Central Asia exposure dataset - Residential buildings - UZB +Resource description,"Central Asia exposure layers – Residential buildings - KAZ +Files: RESIDENTIAL_[OBLAST].csv, RESIDENTIAL_[OBLAST].shp","Central Asia exposure layers – Residential buildings - KGZ +Files: RESIDENTIAL_[OBLAST].csv, RESIDENTIAL_[OBLAST].shp","Central Asia exposure layers – Residential buildings - TJK +Files: RESIDENTIAL_[OBLAST].csv, RESIDENTIAL_[OBLAST].shp","Central Asia exposure layers – Residential buildings - TKM +Files: RESIDENTIAL_[OBLAST].csv, RESIDENTIAL_[OBLAST].shp","Central Asia exposure layers – Residential buildings - UZB +Files: RESIDENTIAL_[OBLAST].csv, RESIDENTIAL_[OBLAST].shp" +Format,csv,csv,csv,csv,csv +Spatial resolution,500,500,500,500,500 +Download Url,https://datacatalogfiles.worldbank.org/ddh-published/0064251/DR0091988/KAZ_residential_exposure.zip?versionId=2023-07-11T15:15:39.6450392Z,https://datacatalogfiles.worldbank.org/ddh-published/0064251/DR0091661/KGZ_residential_exposure.zip?versionId=2023-07-11T15:15:41.4460187Z,,https://datacatalogfiles.worldbank.org/ddh-published/0064251/DR0091659/TKM_residential_exposure.zip?versionId=2023-07-11T15:15:34.9986705Z,https://datacatalogfiles.worldbank.org/ddh-published/0064251/DR0091989/UZB_residential_exposure.zip?versionId=2023-07-11T15:15:43.2479984Z +"Temporal coverage: +Start",2020,2020,2020,2020,2020 +"Temporal coverage: +End date",2020,2020,2020,2020,2020 +resources/0/url,,,https://datacatalogfiles.worldbank.org/ddh-published/0064251/DR0091660/TJK_residential_exposure.zip?versionId=2023-07-11T15:15:37.7301236Z,, diff --git a/examples/exposure/central_asia_residential_current/Sources.csv b/examples/exposure/central_asia_residential_current/Sources.csv new file mode 100644 index 00000000..6d1ec570 --- /dev/null +++ b/examples/exposure/central_asia_residential_current/Sources.csv @@ -0,0 +1,2 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064251/Central-Asia-exposure-dataset---Residential-buildings +Source identifier,0064251_src1 diff --git a/examples/exposure/central_asia_residential_current/Spatial coverage_Gazetteer entries.csv b/examples/exposure/central_asia_residential_current/Spatial coverage_Gazetteer entries.csv new file mode 100644 index 00000000..59463b76 --- /dev/null +++ b/examples/exposure/central_asia_residential_current/Spatial coverage_Gazetteer entries.csv @@ -0,0 +1,3 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064251/Central-Asia-exposure-dataset---Residential-buildings,https://datacatalog.worldbank.org/search/dataset/0064251/Central-Asia-exposure-dataset---Residential-buildings,https://datacatalog.worldbank.org/search/dataset/0064251/Central-Asia-exposure-dataset---Residential-buildings,https://datacatalog.worldbank.org/search/dataset/0064251/Central-Asia-exposure-dataset---Residential-buildings,https://datacatalog.worldbank.org/search/dataset/0064251/Central-Asia-exposure-dataset---Residential-buildings +Gazetteer entry identifier,KAZ,KGZ,TJK,TKM,UZB +Scheme,ISO 3166-1 alpha-3,ISO 3166-1 alpha-3,ISO 3166-1 alpha-3,ISO 3166-1 alpha-3,ISO 3166-1 alpha-3 diff --git a/examples/exposure/central_asia_residential_current/datasets.csv b/examples/exposure/central_asia_residential_current/datasets.csv new file mode 100644 index 00000000..f022cc59 --- /dev/null +++ b/examples/exposure/central_asia_residential_current/datasets.csv @@ -0,0 +1,28 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064251/Central-Asia-exposure-dataset---Residential-buildings +Title,Central-Asia-exposure-dataset---Current-residential-exposure +Description,Regional layer of residential buildings in Central Asia +Risk data type,exposure +"Publisher: +Name",World Bank +"Publisher: +Email address",sfraser@worldbank.org +"Publisher: +URL",http://www.worldbank.org +Dataset version,12 +Dataset purpose,"Developed as part of the regional risk assessment, under the Strengthening Financial Resilience and Accelerating Risk Reduction in Central Asia program. (https://www.gfdrr.org/en/program/SFRARR-Central-Asia)" +Project title,Strengthening Financial Resilience and Accelerating Risk Reduction in Central Asia +"Spatial coverage: +Countries",KAZ;KGZ;TJK;TKM;UZB +License,CC-BY-4.0 +"Contact point: +Name",Stuart Fraser +"Contact point: +Email address",sfraser@worldbank.org +"Creator: +Name",Risk Engineering and Development +"Creator: +URL",http://www.redrisk.com +"Exposure metadata: +Exposure category",buildings +"Exposure metadata: +Exposure taxonomy scheme",GED4ALL diff --git a/examples/exposure/central_asia_residential_current/example.json b/examples/exposure/central_asia_residential_current/example.json new file mode 100644 index 00000000..9b27420e --- /dev/null +++ b/examples/exposure/central_asia_residential_current/example.json @@ -0,0 +1,173 @@ +{ + "datasets": [ + { + "id": "https://datacatalog.worldbank.org/search/dataset/0064251/Central-Asia-exposure-dataset---Residential-buildings", + "title": "Central-Asia-exposure-dataset---Current-residential-exposure", + "description": "Regional layer of residential buildings in Central Asia", + "risk_data_type": [ + "exposure" + ], + "publisher": { + "name": "World Bank", + "email": "sfraser@worldbank.org", + "url": "http://www.worldbank.org" + }, + "version": "12", + "purpose": "Developed as part of the regional risk assessment, under the Strengthening Financial Resilience and Accelerating Risk Reduction in Central Asia program. (https://www.gfdrr.org/en/program/SFRARR-Central-Asia)", + "project": "Strengthening Financial Resilience and Accelerating Risk Reduction in Central Asia ", + "spatial": { + "countries": [ + "KAZ", + "KGZ", + "TJK", + "TKM", + "UZB" + ], + "gazetteer_entries": [ + { + "id": "KAZ", + "scheme": "ISO 3166-1 alpha-3" + }, + { + "id": "KGZ", + "scheme": "ISO 3166-1 alpha-3" + }, + { + "id": "TJK", + "scheme": "ISO 3166-1 alpha-3" + }, + { + "id": "TKM", + "scheme": "ISO 3166-1 alpha-3" + }, + { + "id": "UZB", + "scheme": "ISO 3166-1 alpha-3" + } + ] + }, + "license": "CC-BY-4.0", + "contact_point": { + "name": "Stuart Fraser", + "email": "sfraser@worldbank.org" + }, + "creator": { + "name": "Risk Engineering and Development", + "url": "http://www.redrisk.com " + }, + "exposure": { + "category": "buildings", + "taxonomy": "GED4ALL", + "metrics": [ + { + "id": "0064251_metric1", + "dimension": "structure", + "quantity_kind": "currency" + } + ] + }, + "attributions": [ + { + "id": "0064251_attr1", + "entity": { + "name": "Chi-Yun Huang", + "email": "chuang@worldbank.org" + }, + "role": "custodian" + }, + { + "id": "0064251_attr2", + "entity": { + "name": "OGS, Italy" + }, + "role": "collaborator" + } + ], + "sources": [ + { + "id": "0064251_src1" + } + ], + "referenced_by": [ + { + "id": "0064251_ref1", + "name": "Central Asia exposure data development technical report - English version", + "url": "https://datacatalogfiles.worldbank.org/ddh-published/0064117/DR0091010/Task4_Exposure_Report_r6_EN.pdf?versionId=2023-07-21T17:33:32.2845222Z" + }, + { + "id": "0064251_ref2", + "name": "Central Asia exposure data development technical report - Russian version", + "url": "https://datacatalogfiles.worldbank.org/ddh-published/0064117/DR0091011/Task4_Exposure_Report_r6_RU.pdf?versionId=2023-07-21T17:33:26.6527091Z" + } + ], + "resources": [ + { + "id": "0064251_res1", + "title": "Central Asia exposure dataset - Residential buildings - KAZ", + "description": "Central Asia exposure layers – Residential buildings - KAZ\nFiles: RESIDENTIAL_[OBLAST].csv, RESIDENTIAL_[OBLAST].shp", + "format": "csv", + "spatial_resolution": 500, + "download_url": "https://datacatalogfiles.worldbank.org/ddh-published/0064251/DR0091988/KAZ_residential_exposure.zip?versionId=2023-07-11T15:15:39.6450392Z", + "temporal": { + "start": "2020", + "end": "2020" + } + }, + { + "id": "0064251_res2", + "title": "Central Asia exposure dataset - Residential buildings - KGZ", + "description": "Central Asia exposure layers – Residential buildings - KGZ\nFiles: RESIDENTIAL_[OBLAST].csv, RESIDENTIAL_[OBLAST].shp", + "format": "csv", + "spatial_resolution": 500, + "download_url": "https://datacatalogfiles.worldbank.org/ddh-published/0064251/DR0091661/KGZ_residential_exposure.zip?versionId=2023-07-11T15:15:41.4460187Z", + "temporal": { + "start": "2020", + "end": "2020" + } + }, + { + "id": "0064251_res3", + "title": "Central Asia exposure dataset - Residential buildings - TJK", + "description": "Central Asia exposure layers – Residential buildings - TJK\nFiles: RESIDENTIAL_[OBLAST].csv, RESIDENTIAL_[OBLAST].shp", + "format": "csv", + "spatial_resolution": 500, + "url": "https://datacatalogfiles.worldbank.org/ddh-published/0064251/DR0091660/TJK_residential_exposure.zip?versionId=2023-07-11T15:15:37.7301236Z", + "temporal": { + "start": "2020", + "end": "2020" + } + }, + { + "id": "0064251_res4", + "title": "Central Asia exposure dataset - Residential buildings - TKM", + "description": "Central Asia exposure layers – Residential buildings - TKM\nFiles: RESIDENTIAL_[OBLAST].csv, RESIDENTIAL_[OBLAST].shp", + "format": "csv", + "spatial_resolution": 500, + "download_url": "https://datacatalogfiles.worldbank.org/ddh-published/0064251/DR0091659/TKM_residential_exposure.zip?versionId=2023-07-11T15:15:34.9986705Z", + "temporal": { + "start": "2020", + "end": "2020" + } + }, + { + "id": "0064251_res5", + "title": "Central Asia exposure dataset - Residential buildings - UZB", + "description": "Central Asia exposure layers – Residential buildings - UZB\nFiles: RESIDENTIAL_[OBLAST].csv, RESIDENTIAL_[OBLAST].shp", + "format": "csv", + "spatial_resolution": 500, + "download_url": "https://datacatalogfiles.worldbank.org/ddh-published/0064251/DR0091989/UZB_residential_exposure.zip?versionId=2023-07-11T15:15:43.2479984Z", + "temporal": { + "start": "2020", + "end": "2020" + } + } + ], + "links": [ + { + "href": "https://docs.riskdatalibrary.org/en/0__2__0/rdls_schema.json", + "rel": "describedby" + } + ] + } + ] +} diff --git a/examples/exposure/central_asia_residential_projected/Attributions.csv b/examples/exposure/central_asia_residential_projected/Attributions.csv new file mode 100644 index 00000000..50066cf1 --- /dev/null +++ b/examples/exposure/central_asia_residential_projected/Attributions.csv @@ -0,0 +1,7 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064254/Central-Asia-exposure-dataset---Projected-residential-exposure,https://datacatalog.worldbank.org/search/dataset/0064254/Central-Asia-exposure-dataset---Projected-residential-exposure +Attribution identifier,0064254_attr1,0064254_attr2 +"Entity: +Name",Chi-Yun Huang,"OGS, Italy" +"Entity: +Email address",chuang@worldbank.org, +Role,custodian,collaborator diff --git a/examples/exposure/central_asia_residential_projected/Exposure metadata_Exposure metrics.csv b/examples/exposure/central_asia_residential_projected/Exposure metadata_Exposure metrics.csv new file mode 100644 index 00000000..a120d14e --- /dev/null +++ b/examples/exposure/central_asia_residential_projected/Exposure metadata_Exposure metrics.csv @@ -0,0 +1,4 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064254/Central-Asia-exposure-dataset---Projected-residential-exposure +Identifier,0064254_metric1 +Metric dimension,structure +Metric quantity kind,currency diff --git a/examples/exposure/central_asia_residential_projected/Links.csv b/examples/exposure/central_asia_residential_projected/Links.csv new file mode 100644 index 00000000..3312e91e --- /dev/null +++ b/examples/exposure/central_asia_residential_projected/Links.csv @@ -0,0 +1,3 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064254/Central-Asia-exposure-dataset---Projected-residential-exposure +Link target,https://docs.riskdatalibrary.org/en/0__2__0/rdls_schema.json +Link relation type,describedby diff --git a/examples/exposure/central_asia_residential_projected/Referenced by.csv b/examples/exposure/central_asia_residential_projected/Referenced by.csv new file mode 100644 index 00000000..081921fe --- /dev/null +++ b/examples/exposure/central_asia_residential_projected/Referenced by.csv @@ -0,0 +1,4 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064254/Central-Asia-exposure-dataset---Projected-residential-exposure,https://datacatalog.worldbank.org/search/dataset/0064254/Central-Asia-exposure-dataset---Projected-residential-exposure +Related resource identifier,0064254_ref1,0064254_ref2 +Name,Central Asia exposure data development technical report - English version,Central Asia exposure data development technical report - Russian version +URL,https://datacatalogfiles.worldbank.org/ddh-published/0064117/DR0091010/Task4_Exposure_Report_r6_EN.pdf?versionId=2023-07-21T17:33:32.2845222Z,https://datacatalogfiles.worldbank.org/ddh-published/0064117/DR0091011/Task4_Exposure_Report_r6_RU.pdf?versionId=2023-07-21T17:33:26.6527091Z diff --git a/examples/exposure/central_asia_residential_projected/Resources.csv b/examples/exposure/central_asia_residential_projected/Resources.csv new file mode 100644 index 00000000..90dbe3c2 --- /dev/null +++ b/examples/exposure/central_asia_residential_projected/Resources.csv @@ -0,0 +1,18 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064254/Central-Asia-exposure-dataset---Projected-residential-exposure,https://datacatalog.worldbank.org/search/dataset/0064254/Central-Asia-exposure-dataset---Projected-residential-exposure,https://datacatalog.worldbank.org/search/dataset/0064254/Central-Asia-exposure-dataset---Projected-residential-exposure +Resource identifier,0064254_res1,0064254_res2,0064254_res3 +Resource title,"Central Asia projected (2080) residential exposure - all countries, Oblast level: SSP1","Central Asia projected (2080) residential exposure - all countries, Oblast level: SSP4","Central Asia projected (2080) residential exposure - all countries, Oblast level: SSP5" +Resource description,"Central Asia projected (2080) residential exposure - for all five Central Asia countries included in the analysis, one file per Oblast (ADM1) for SSP1 +Dataset includes projected residneital data for SSP1, SSP4, SSP5 scenarios. +Files: RESIDENTIAL_[OBLAST]._2080_[SSP].csv","Central Asia projected (2080) residential exposure - for all five Central Asia countries included in the analysis, one file per Oblast (ADM1) for SSP4 +Dataset includes projected residneital data for SSP1, SSP4, SSP5 scenarios. +Files: RESIDENTIAL_[OBLAST]._2080_[SSP].csv","Central Asia projected (2080) residential exposure - for all five Central Asia countries included in the analysis, one file per Oblast (ADM1) for SSP5 +Dataset includes projected residneital data for SSP1, SSP4, SSP5 scenarios. +Files: RESIDENTIAL_[OBLAST]._2080_[SSP].csv" +Format,csv,csv,csv +Spatial resolution,500,500,500 +resources/0/downloadurl,https://datacatalogfiles.worldbank.org/ddh-published/0064254/DR0091991/P2080_SSP1.zip?versionId=2023-07-11T15:12:01.4656749Z,, +"Temporal coverage: +Start",2080,2080,2080 +"Temporal coverage: +End date",2080,2080,2080 +Download Url,,https://datacatalogfiles.worldbank.org/ddh-published/0064254/DR0091992/P2080_SSP4.zip?versionId=2023-07-11T15:12:06.1470219Z,https://datacatalogfiles.worldbank.org/ddh-published/0064254/DR0091993/P2080_SSP5.zip?versionId=2023-07-11T15:12:03.5145140Z diff --git a/examples/exposure/central_asia_residential_projected/Sources.csv b/examples/exposure/central_asia_residential_projected/Sources.csv new file mode 100644 index 00000000..7846c4fe --- /dev/null +++ b/examples/exposure/central_asia_residential_projected/Sources.csv @@ -0,0 +1,2 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064254/Central-Asia-exposure-dataset---Projected-residential-exposure +Source identifier,0064254_src1 diff --git a/examples/exposure/central_asia_residential_projected/Spatial coverage_Gazetteer entries.csv b/examples/exposure/central_asia_residential_projected/Spatial coverage_Gazetteer entries.csv new file mode 100644 index 00000000..54d9cff2 --- /dev/null +++ b/examples/exposure/central_asia_residential_projected/Spatial coverage_Gazetteer entries.csv @@ -0,0 +1,3 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064254/Central-Asia-exposure-dataset---Projected-residential-exposure,https://datacatalog.worldbank.org/search/dataset/0064254/Central-Asia-exposure-dataset---Projected-residential-exposure,https://datacatalog.worldbank.org/search/dataset/0064254/Central-Asia-exposure-dataset---Projected-residential-exposure,https://datacatalog.worldbank.org/search/dataset/0064254/Central-Asia-exposure-dataset---Projected-residential-exposure,https://datacatalog.worldbank.org/search/dataset/0064254/Central-Asia-exposure-dataset---Projected-residential-exposure +Gazetteer entry identifier,KAZ,KGZ,TJK,TKM,UZB +Scheme,ISO 3166-1 alpha-3,ISO 3166-1 alpha-3,ISO 3166-1 alpha-3,ISO 3166-1 alpha-3,ISO 3166-1 alpha-3 diff --git a/examples/exposure/central_asia_residential_projected/datasets.csv b/examples/exposure/central_asia_residential_projected/datasets.csv new file mode 100644 index 00000000..6a732368 --- /dev/null +++ b/examples/exposure/central_asia_residential_projected/datasets.csv @@ -0,0 +1,28 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064254/Central-Asia-exposure-dataset---Projected-residential-exposure +Title,Central-Asia-exposure-dataset---Projected-residential-exposure +Description,"Regional layer of residential buildings in Central Asia, projected to 2080" +Risk data type,exposure +"Publisher: +Name",World Bank +"Publisher: +Email address",sfraser@worldbank.org +"Publisher: +URL",http://www.worldbank.org +Dataset version,12 +Dataset purpose,"Developed as part of the regional risk assessment, under the Strengthening Financial Resilience and Accelerating Risk Reduction in Central Asia program. (https://www.gfdrr.org/en/program/SFRARR-Central-Asia)" +Project title,Strengthening Financial Resilience and Accelerating Risk Reduction in Central Asia +"Spatial coverage: +Countries",KAZ;KGZ;TJK;TKM;UZB +License,CC-BY-4.0 +"Contact point: +Name",Stuart Fraser +"Contact point: +Email address",sfraser@worldbank.org +"Creator: +Name",Risk Engineering and Development +"Creator: +URL",http://www.redrisk.com +"Exposure metadata: +Exposure category",buildings +"Exposure metadata: +Exposure taxonomy scheme",GED4ALL diff --git a/examples/exposure/central_asia_residential_projected/example.json b/examples/exposure/central_asia_residential_projected/example.json new file mode 100644 index 00000000..98476f84 --- /dev/null +++ b/examples/exposure/central_asia_residential_projected/example.json @@ -0,0 +1,149 @@ +{ + "datasets": [ + { + "id": "https://datacatalog.worldbank.org/search/dataset/0064254/Central-Asia-exposure-dataset---Projected-residential-exposure", + "title": "Central-Asia-exposure-dataset---Projected-residential-exposure", + "description": "Regional layer of residential buildings in Central Asia, projected to 2080", + "risk_data_type": [ + "exposure" + ], + "publisher": { + "name": "World Bank", + "email": "sfraser@worldbank.org", + "url": "http://www.worldbank.org" + }, + "version": "12", + "purpose": "Developed as part of the regional risk assessment, under the Strengthening Financial Resilience and Accelerating Risk Reduction in Central Asia program. (https://www.gfdrr.org/en/program/SFRARR-Central-Asia)", + "project": "Strengthening Financial Resilience and Accelerating Risk Reduction in Central Asia ", + "spatial": { + "countries": [ + "KAZ", + "KGZ", + "TJK", + "TKM", + "UZB" + ], + "gazetteer_entries": [ + { + "id": "KAZ", + "scheme": "ISO 3166-1 alpha-3" + }, + { + "id": "KGZ", + "scheme": "ISO 3166-1 alpha-3" + }, + { + "id": "TJK", + "scheme": "ISO 3166-1 alpha-3" + }, + { + "id": "TKM", + "scheme": "ISO 3166-1 alpha-3" + }, + { + "id": "UZB", + "scheme": "ISO 3166-1 alpha-3" + } + ] + }, + "license": "CC-BY-4.0", + "contact_point": { + "name": "Stuart Fraser", + "email": "sfraser@worldbank.org" + }, + "creator": { + "name": "Risk Engineering and Development", + "url": "http://www.redrisk.com " + }, + "exposure": { + "category": "buildings", + "taxonomy": "GED4ALL", + "metrics": [ + { + "id": "0064254_metric1", + "dimension": "structure", + "quantity_kind": "currency" + } + ] + }, + "attributions": [ + { + "id": "0064254_attr1", + "entity": { + "name": "Chi-Yun Huang", + "email": "chuang@worldbank.org" + }, + "role": "custodian" + }, + { + "id": "0064254_attr2", + "entity": { + "name": "OGS, Italy" + }, + "role": "collaborator" + } + ], + "sources": [ + { + "id": "0064254_src1" + } + ], + "referenced_by": [ + { + "id": "0064254_ref1", + "name": "Central Asia exposure data development technical report - English version", + "url": "https://datacatalogfiles.worldbank.org/ddh-published/0064117/DR0091010/Task4_Exposure_Report_r6_EN.pdf?versionId=2023-07-21T17:33:32.2845222Z" + }, + { + "id": "0064254_ref2", + "name": "Central Asia exposure data development technical report - Russian version", + "url": "https://datacatalogfiles.worldbank.org/ddh-published/0064117/DR0091011/Task4_Exposure_Report_r6_RU.pdf?versionId=2023-07-21T17:33:26.6527091Z" + } + ], + "resources": [ + { + "id": "0064254_res1", + "title": "Central Asia projected (2080) residential exposure - all countries, Oblast level: SSP1", + "description": "Central Asia projected (2080) residential exposure - for all five Central Asia countries included in the analysis, one file per Oblast (ADM1) for SSP1\nDataset includes projected residneital data for SSP1, SSP4, SSP5 scenarios.\nFiles: RESIDENTIAL_[OBLAST]._2080_[SSP].csv", + "format": "csv", + "spatial_resolution": 500, + "downloadurl": "https://datacatalogfiles.worldbank.org/ddh-published/0064254/DR0091991/P2080_SSP1.zip?versionId=2023-07-11T15:12:01.4656749Z", + "temporal": { + "start": "2080", + "end": "2080" + } + }, + { + "id": "0064254_res2", + "title": "Central Asia projected (2080) residential exposure - all countries, Oblast level: SSP4", + "description": "Central Asia projected (2080) residential exposure - for all five Central Asia countries included in the analysis, one file per Oblast (ADM1) for SSP4\nDataset includes projected residneital data for SSP1, SSP4, SSP5 scenarios.\nFiles: RESIDENTIAL_[OBLAST]._2080_[SSP].csv", + "format": "csv", + "spatial_resolution": 500, + "download_url": "https://datacatalogfiles.worldbank.org/ddh-published/0064254/DR0091992/P2080_SSP4.zip?versionId=2023-07-11T15:12:06.1470219Z", + "temporal": { + "start": "2080", + "end": "2080" + } + }, + { + "id": "0064254_res3", + "title": "Central Asia projected (2080) residential exposure - all countries, Oblast level: SSP5", + "description": "Central Asia projected (2080) residential exposure - for all five Central Asia countries included in the analysis, one file per Oblast (ADM1) for SSP5\nDataset includes projected residneital data for SSP1, SSP4, SSP5 scenarios.\nFiles: RESIDENTIAL_[OBLAST]._2080_[SSP].csv", + "format": "csv", + "spatial_resolution": 500, + "download_url": "https://datacatalogfiles.worldbank.org/ddh-published/0064254/DR0091993/P2080_SSP5.zip?versionId=2023-07-11T15:12:03.5145140Z", + "temporal": { + "start": "2080", + "end": "2080" + } + } + ], + "links": [ + { + "href": "https://docs.riskdatalibrary.org/en/0__2__0/rdls_schema.json", + "rel": "describedby" + } + ] + } + ] +} diff --git a/examples/full/SFRARR_fluvialhazardmaps/Attributions.csv b/examples/full/SFRARR_fluvialhazardmaps/Attributions.csv new file mode 100644 index 00000000..dc3124b4 --- /dev/null +++ b/examples/full/SFRARR_fluvialhazardmaps/Attributions.csv @@ -0,0 +1,9 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064232 +Attribution identifier,0064232_1attr +"Entity: +Name",World Bank +"Entity: +Email address",chuang@worldbank.org +"Entity: +URL",http://www.worldbank.org +Role,custodian diff --git a/examples/full/SFRARR_fluvialhazardmaps/Hazard metadata_Event sets.csv b/examples/full/SFRARR_fluvialhazardmaps/Hazard metadata_Event sets.csv new file mode 100644 index 00000000..6609d787 --- /dev/null +++ b/examples/full/SFRARR_fluvialhazardmaps/Hazard metadata_Event sets.csv @@ -0,0 +1,10 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064232 +Event set identifier,0064232_EventSet1 +Analysis type,probabilistic +Seasonality distribution,uniform +Calculation Method,simulated +Event count,10000 +"Spatial coverage: +Countries",KAZ;KGZ;TJK;TKM;UZB +"Spatial coverage: +Spatial scale",regional diff --git a/examples/full/SFRARR_fluvialhazardmaps/Hazard metadata_Event sets_Events.csv b/examples/full/SFRARR_fluvialhazardmaps/Hazard metadata_Event sets_Events.csv new file mode 100644 index 00000000..646a07df --- /dev/null +++ b/examples/full/SFRARR_fluvialhazardmaps/Hazard metadata_Event sets_Events.csv @@ -0,0 +1,15 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232 +Event set identifier,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1 +Event identifier,0064232_EventSet1_KAZ_5,0064232_EventSet1_KAZ_10,0064232_EventSet1_KAZ_20,0064232_EventSet1_KAZ_50,0064232_EventSet1_KAZ_100,0064232_EventSet1_KAZ_200,0064232_EventSet1_KAZ_500,0064232_EventSet1_KAZ_1000,0064232_EventSet1_KGZ_5,0064232_EventSet1_KGZ_10,0064232_EventSet1_KGZ_20,0064232_EventSet1_KGZ_50,0064232_EventSet1_KGZ_100,0064232_EventSet1_KGZ_200,0064232_EventSet1_KGZ_500,0064232_EventSet1_KGZ_1000,0064232_EventSet1_TJK_5,0064232_EventSet1_TJK_10,0064232_EventSet1_TJK_20,0064232_EventSet1_TJK_50,0064232_EventSet1_TJK_100,0064232_EventSet1_TJK_200,0064232_EventSet1_TJK_500,0064232_EventSet1_TJK_1000,0064232_EventSet1_TKM_5,0064232_EventSet1_TKM_10,0064232_EventSet1_TKM_20,0064232_EventSet1_TKM_50,0064232_EventSet1_TKM_100,0064232_EventSet1_TKM_200,0064232_EventSet1_TKM_500,0064232_EventSet1_TKM_1000,0064232_EventSet1_UZB_5,0064232_EventSet1_UZB_10,0064232_EventSet1_UZB_20,0064232_EventSet1_UZB_50,0064232_EventSet1_UZB_100,0064232_EventSet1_UZB_200,0064232_EventSet1_UZB_500,0064232_EventSet1_UZB_1000 +Model calculation method,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated,simulated +"Hazard: +Hazard identifier",0064232_EventSet1_KAZ_5,0064232_EventSet1_KAZ_10,0064232_EventSet1_KAZ_20,0064232_EventSet1_KAZ_50,0064232_EventSet1_KAZ_100,0064232_EventSet1_KAZ_200,0064232_EventSet1_KAZ_500,0064232_EventSet1_KAZ_1000,0064232_EventSet1_KGZ_5,0064232_EventSet1_KGZ_10,0064232_EventSet1_KGZ_20,0064232_EventSet1_KGZ_50,0064232_EventSet1_KGZ_100,0064232_EventSet1_KGZ_200,0064232_EventSet1_KGZ_500,0064232_EventSet1_KGZ_1000,0064232_EventSet1_TJK_5,0064232_EventSet1_TJK_10,0064232_EventSet1_TJK_20,0064232_EventSet1_TJK_50,0064232_EventSet1_TJK_100,0064232_EventSet1_TJK_200,0064232_EventSet1_TJK_500,0064232_EventSet1_TJK_1000,0064232_EventSet1_TKM_5,0064232_EventSet1_TKM_10,0064232_EventSet1_TKM_20,0064232_EventSet1_TKM_50,0064232_EventSet1_TKM_100,0064232_EventSet1_TKM_200,0064232_EventSet1_TKM_500,0064232_EventSet1_TKM_1000,0064232_EventSet1_UZB_5,0064232_EventSet1_UZB_10,0064232_EventSet1_UZB_20,0064232_EventSet1_UZB_50,0064232_EventSet1_UZB_100,0064232_EventSet1_UZB_200,0064232_EventSet1_UZB_500,0064232_EventSet1_UZB_1000 +"Hazard: +Hazard type",flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood,flood +"Hazard: +Hazard processes",fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood,fluvial_flood +"Hazard: +Intensity measure",fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m +"Occurrence: +Probabilistic frequency: +Return period",5,10,20,50,100,200,500,1000,5,10,20,50,100,200,500,1000,5,10,20,50,100,200,500,1000,5,10,20,50,100,200,500,1000,5,10,20,50,100,200,500,1000 diff --git a/examples/full/SFRARR_fluvialhazardmaps/Hazard metadata_Event sets_Events_Footprints.csv b/examples/full/SFRARR_fluvialhazardmaps/Hazard metadata_Event sets_Events_Footprints.csv new file mode 100644 index 00000000..acd4bbb5 --- /dev/null +++ b/examples/full/SFRARR_fluvialhazardmaps/Hazard metadata_Event sets_Events_Footprints.csv @@ -0,0 +1,5 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232 +Event set identifier,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1 +Event identifier,0064232_EventSet1_KAZ_5,0064232_EventSet1_KAZ_10,0064232_EventSet1_KAZ_20,0064232_EventSet1_KAZ_50,0064232_EventSet1_KAZ_100,0064232_EventSet1_KAZ_200,0064232_EventSet1_KAZ_500,0064232_EventSet1_KAZ_1000,0064232_EventSet1_KGZ_5,0064232_EventSet1_KGZ_10,0064232_EventSet1_KGZ_20,0064232_EventSet1_KGZ_50,0064232_EventSet1_KGZ_100,0064232_EventSet1_KGZ_200,0064232_EventSet1_KGZ_500,0064232_EventSet1_KGZ_1000,0064232_EventSet1_TJK_5,0064232_EventSet1_TJK_10,0064232_EventSet1_TJK_20,0064232_EventSet1_TJK_50,0064232_EventSet1_TJK_100,0064232_EventSet1_TJK_200,0064232_EventSet1_TJK_500,0064232_EventSet1_TJK_1000,0064232_EventSet1_TKM_5,0064232_EventSet1_TKM_10,0064232_EventSet1_TKM_20,0064232_EventSet1_TKM_50,0064232_EventSet1_TKM_100,0064232_EventSet1_TKM_200,0064232_EventSet1_TKM_500,0064232_EventSet1_TKM_1000,0064232_EventSet1_UZB_5,0064232_EventSet1_UZB_10,0064232_EventSet1_UZB_20,0064232_EventSet1_UZB_50,0064232_EventSet1_UZB_100,0064232_EventSet1_UZB_200,0064232_EventSet1_UZB_500,0064232_EventSet1_UZB_1000 +Footprint identifier,0064232_EventSet1_KAZ_5,0064232_EventSet1_KAZ_10,0064232_EventSet1_KAZ_20,0064232_EventSet1_KAZ_50,0064232_EventSet1_KAZ_100,0064232_EventSet1_KAZ_200,0064232_EventSet1_KAZ_500,0064232_EventSet1_KAZ_1000,0064232_EventSet1_KGZ_5,0064232_EventSet1_KGZ_10,0064232_EventSet1_KGZ_20,0064232_EventSet1_KGZ_50,0064232_EventSet1_KGZ_100,0064232_EventSet1_KGZ_200,0064232_EventSet1_KGZ_500,0064232_EventSet1_KGZ_1000,0064232_EventSet1_TJK_5,0064232_EventSet1_TJK_10,0064232_EventSet1_TJK_20,0064232_EventSet1_TJK_50,0064232_EventSet1_TJK_100,0064232_EventSet1_TJK_200,0064232_EventSet1_TJK_500,0064232_EventSet1_TJK_1000,0064232_EventSet1_TKM_5,0064232_EventSet1_TKM_10,0064232_EventSet1_TKM_20,0064232_EventSet1_TKM_50,0064232_EventSet1_TKM_100,0064232_EventSet1_TKM_200,0064232_EventSet1_TKM_500,0064232_EventSet1_TKM_1000,0064232_EventSet1_UZB_5,0064232_EventSet1_UZB_10,0064232_EventSet1_UZB_20,0064232_EventSet1_UZB_50,0064232_EventSet1_UZB_100,0064232_EventSet1_UZB_200,0064232_EventSet1_UZB_500,0064232_EventSet1_UZB_1000 +Hazard intensity measurement,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m,fl_wd:m diff --git a/examples/full/SFRARR_fluvialhazardmaps/Hazard metadata_Event sets_Hazards.csv b/examples/full/SFRARR_fluvialhazardmaps/Hazard metadata_Event sets_Hazards.csv new file mode 100644 index 00000000..dbb986ab --- /dev/null +++ b/examples/full/SFRARR_fluvialhazardmaps/Hazard metadata_Event sets_Hazards.csv @@ -0,0 +1,6 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064232 +Event set identifier,0064232_EventSet1 +Hazard identifier,0064232_EventSet1_FL +Hazard type,flood +Hazard processes,fluvial_flood +Intensity measure,fl_wd:m diff --git a/examples/full/SFRARR_fluvialhazardmaps/Hazard metadata_Event sets_Spatial coverage_Gazetteer entries.csv b/examples/full/SFRARR_fluvialhazardmaps/Hazard metadata_Event sets_Spatial coverage_Gazetteer entries.csv new file mode 100644 index 00000000..9cfde234 --- /dev/null +++ b/examples/full/SFRARR_fluvialhazardmaps/Hazard metadata_Event sets_Spatial coverage_Gazetteer entries.csv @@ -0,0 +1,5 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232 +Event set identifier,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1,0064232_EventSet1 +Gazetteer entry identifier,KAZ,KGZ,TJK,TKM,UZB +Scheme,ISO 3166-1 alpha-3,ISO 3166-1 alpha-3,ISO 3166-1 alpha-3,ISO 3166-1 alpha-3,ISO 3166-1 alpha-3 +Description,Kazakhstan,Kyrgyz Republic,Tajikistan,Turkmenistan,Uzbekistan diff --git a/examples/full/SFRARR_fluvialhazardmaps/Links.csv b/examples/full/SFRARR_fluvialhazardmaps/Links.csv new file mode 100644 index 00000000..477a0933 --- /dev/null +++ b/examples/full/SFRARR_fluvialhazardmaps/Links.csv @@ -0,0 +1,3 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064232 +Link target,https://docs.riskdatalibrary.org/en/0__2__0/rdls_schema.json +Link relation type,describedby diff --git a/examples/full/SFRARR_fluvialhazardmaps/Referenced by.csv b/examples/full/SFRARR_fluvialhazardmaps/Referenced by.csv new file mode 100644 index 00000000..df274b78 --- /dev/null +++ b/examples/full/SFRARR_fluvialhazardmaps/Referenced by.csv @@ -0,0 +1,6 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064232 +Related resource identifier,0064232_ref1 +Name,Central Asia flood hazard technical report - English version +Author names,Risk Engineering and Development +Publication date,2023-02-09 +URL,https://datacatalogfiles.worldbank.org/ddh-published/0064084/DR0090774/Task3_FloodHazard_Report_r5_EN.pdf?versionId=2023-07-21T17:34:14.1038579Z diff --git a/examples/full/SFRARR_fluvialhazardmaps/Resources.csv b/examples/full/SFRARR_fluvialhazardmaps/Resources.csv new file mode 100644 index 00000000..ec517a96 --- /dev/null +++ b/examples/full/SFRARR_fluvialhazardmaps/Resources.csv @@ -0,0 +1,9 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232,https://datacatalog.worldbank.org/search/dataset/0064232 +Resource identifier,0064232_res1,0064232_res2,0064232_res3,0064232_res4,0064232_res5,0064232_res6 +Resource title,Central Asia fluvial flood hazard maps - defended – KAZ 5-50y RP,Central Asia fluvial flood hazard maps - defended – KAZ 100-1000y RP,Central Asia fluvial flood hazard maps - defended - KGZ,Central Asia fluvial flood hazard maps - defended - TJK,Central Asia fluvial flood hazard maps - defended - TKM,Central Asia fluvial flood hazard maps - defended - UZB +Resource description,"Fluvial flood hazard maps for Central Asia, derived from a regional model. Filenaming: FLU_DEF_XXy_ZZZ.tif (XX= return period, ZZZ= country initials). Cell value gives maximum flood depth (m) expected for the return period of that raster dataset. Due to file size, this is a partial set of data covering 1-in-5-50y return period. See dataset “Central Asia fluvial flood hazard maps - defended – KAZ 100-1000y RP” for the remaining data.","Fluvial flood hazard maps for Central Asia, derived from a regional model. Filenaming: FLU_DEF_XXy_ZZZ.tif (XX= return period, ZZZ= country initials). Cell value gives maximum flood depth (m) expected for the return period of that raster dataset. Due to file size, this is a partial set of data covering 1-in-100-1000y return period. See dataset “Central Asia fluvial flood hazard maps - defended – KaZ 5-50y RP” for the remaining data.","Fluvial flood hazard maps for Central Asia, derived from a regional model. Filenaming: FLU_DEF_XXy_ZZZ.tif (XX= return period, ZZZ= country initials). Cell value gives maximum flood depth (m) expected for the return period of that raster dataset.","Fluvial flood hazard maps for Central Asia, derived from a regional model. Filenaming: FLU_DEF_XXy_ZZZ.tif (XX= return period, ZZZ= country initials). Cell value gives maximum flood depth (m) expected for the return period of that raster dataset.","Fluvial flood hazard maps for Central Asia, derived from a regional model. Filenaming: FLU_DEF_XXy_ZZZ.tif (XX= return period, ZZZ= country initials). Cell value gives maximum flood depth (m) expected for the return period of that raster dataset.","Fluvial flood hazard maps for Central Asia, derived from a regional model. Filenaming: FLU_DEF_XXy_ZZZ.tif (XX= return period, ZZZ= country initials). Cell value gives maximum flood depth (m) expected for the return period of that raster dataset." +Media type,image/tiff,image/tiff,image/tiff,image/tiff,image/tiff,image/tiff +Format,geotiff,geotiff,geotiff,geotiff,geotiff,geotiff +Spatial resolution,90,90,90,90,90,90 +Coordinate reference system,EPSG:4326,EPSG:4326,EPSG:4326,EPSG:4326,EPSG:4326,EPSG:4326 +Download Url,https://datacatalogfiles.worldbank.org/ddh-published/0064232/DR0092000/FLU_DEF_KAZ_5-50yRP.zip?versionId=2023-07-11T15:17:06.8346489Z,https://datacatalogfiles.worldbank.org/ddh-published/0064232/DR0092001/FLU_DEF_KAZ_100-1000yRP.zip?versionId=2023-07-11T15:17:09.5061377Z,https://datacatalogfiles.worldbank.org/ddh-published/0064232/DR0091440/FLU_DEF_KGZ.zip?versionId=2023-07-11T15:16:59.0750434Z,https://datacatalogfiles.worldbank.org/ddh-published/0064232/DR0091439/FLU_DEF_TJK.zip?versionId=2023-07-11T15:17:11.4860175Z,https://datacatalogfiles.worldbank.org/ddh-published/0064232/DR0091768/FLU_DEF_TKM.zip?versionId=2023-07-11T15:17:01.5896193Z,https://datacatalogfiles.worldbank.org/ddh-published/0064232/DR0091769/FLU_DEF_UZB.zip?versionId=2023-07-11T15:17:04.1441727Z diff --git a/examples/full/SFRARR_fluvialhazardmaps/Sources.csv b/examples/full/SFRARR_fluvialhazardmaps/Sources.csv new file mode 100644 index 00000000..ac0cfb3a --- /dev/null +++ b/examples/full/SFRARR_fluvialhazardmaps/Sources.csv @@ -0,0 +1,2 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064232 +Source identifier,0064232_1src diff --git a/examples/full/SFRARR_fluvialhazardmaps/Spatial coverage_Gazetteer entries.csv b/examples/full/SFRARR_fluvialhazardmaps/Spatial coverage_Gazetteer entries.csv new file mode 100644 index 00000000..956dd693 --- /dev/null +++ b/examples/full/SFRARR_fluvialhazardmaps/Spatial coverage_Gazetteer entries.csv @@ -0,0 +1,3 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064232 +Gazetteer entry identifier,0064232_gaz1 +Scheme,ISO 3166-1 alpha-3 diff --git a/examples/full/SFRARR_fluvialhazardmaps/datasets.csv b/examples/full/SFRARR_fluvialhazardmaps/datasets.csv new file mode 100644 index 00000000..1553d3dc --- /dev/null +++ b/examples/full/SFRARR_fluvialhazardmaps/datasets.csv @@ -0,0 +1,22 @@ +Dataset identifier,https://datacatalog.worldbank.org/search/dataset/0064232 +Title,Central Asia flood hazard - fluvial flood hazard maps DEFENDED +Description,Simulated fluvial flood hazard maps with the simulated effects of flood protection. +Risk data type,hazard +"Publisher: +Name",World Bank Europe and Central Asia DRM team +"Publisher: +Email address",sfraser@worldbank.org +Dataset version,2 +Dataset purpose,Developed as part of a regional probabilistic flood and earthquake risk assessment under the Strengthening Financial Resilience and Accelerating Risk Reduction in Central Asia program. (https://www.gfdrr.org/en/program/SFRARR-Central-Asia) +Project title,Strengthening Financial Resilience and Accelerating Risk Reduction in Central Asia +"Spatial coverage: +Countries",KAZ;KGZ;TJK;TKM;UZB +"Spatial coverage: +Spatial scale",regional +License,CC-BY-4.0 +"Contact point: +Name",Stuart Fraser +"Contact point: +Email address",sfraser@worldbank.org +"Creator: +Name",Risk Engineering and Development diff --git a/examples/full/SFRARR_fluvialhazardmaps/example.json b/examples/full/SFRARR_fluvialhazardmaps/example.json new file mode 100644 index 00000000..c6f8de2d --- /dev/null +++ b/examples/full/SFRARR_fluvialhazardmaps/example.json @@ -0,0 +1,1118 @@ +{ + "datasets": [ + { + "id": "https://datacatalog.worldbank.org/search/dataset/0064232", + "title": "Central Asia flood hazard - fluvial flood hazard maps DEFENDED", + "description": "Simulated fluvial flood hazard maps with the simulated effects of flood protection. ", + "risk_data_type": [ + "hazard" + ], + "publisher": { + "name": "World Bank Europe and Central Asia DRM team", + "email": "sfraser@worldbank.org" + }, + "version": "2", + "purpose": "Developed as part of a regional probabilistic flood and earthquake risk assessment under the Strengthening Financial Resilience and Accelerating Risk Reduction in Central Asia program. (https://www.gfdrr.org/en/program/SFRARR-Central-Asia)", + "project": "Strengthening Financial Resilience and Accelerating Risk Reduction in Central Asia ", + "spatial": { + "countries": [ + "KAZ", + "KGZ", + "TJK", + "TKM", + "UZB" + ], + "scale": "regional", + "gazetteer_entries": [ + { + "id": "0064232_gaz1", + "scheme": "ISO 3166-1 alpha-3" + } + ] + }, + "license": "CC-BY-4.0", + "contact_point": { + "name": "Stuart Fraser", + "email": "sfraser@worldbank.org" + }, + "creator": { + "name": "Risk Engineering and Development" + }, + "attributions": [ + { + "id": "0064232_1attr", + "entity": { + "name": "World Bank", + "email": "chuang@worldbank.org", + "url": "http://www.worldbank.org" + }, + "role": "custodian" + } + ], + "sources": [ + { + "id": "0064232_1src" + } + ], + "referenced_by": [ + { + "id": "0064232_ref1", + "name": "Central Asia flood hazard technical report - English version", + "author_names": [ + "Risk Engineering and Development" + ], + "date_published": "2023-02-09", + "url": "https://datacatalogfiles.worldbank.org/ddh-published/0064084/DR0090774/Task3_FloodHazard_Report_r5_EN.pdf?versionId=2023-07-21T17:34:14.1038579Z" + } + ], + "resources": [ + { + "id": "0064232_res1", + "title": "Central Asia fluvial flood hazard maps - defended – KAZ 5-50y RP", + "description": "Fluvial flood hazard maps for Central Asia, derived from a regional model. Filenaming: FLU_DEF_XXy_ZZZ.tif (XX= return period, ZZZ= country initials). Cell value gives maximum flood depth (m) expected for the return period of that raster dataset. Due to file size, this is a partial set of data covering 1-in-5-50y return period. See dataset “Central Asia fluvial flood hazard maps - defended – KAZ 100-1000y RP” for the remaining data.", + "media_type": "image/tiff", + "format": "geotiff", + "spatial_resolution": 90, + "coordinate_system": "EPSG:4326", + "download_url": "https://datacatalogfiles.worldbank.org/ddh-published/0064232/DR0092000/FLU_DEF_KAZ_5-50yRP.zip?versionId=2023-07-11T15:17:06.8346489Z" + }, + { + "id": "0064232_res2", + "title": "Central Asia fluvial flood hazard maps - defended – KAZ 100-1000y RP", + "description": "Fluvial flood hazard maps for Central Asia, derived from a regional model. Filenaming: FLU_DEF_XXy_ZZZ.tif (XX= return period, ZZZ= country initials). Cell value gives maximum flood depth (m) expected for the return period of that raster dataset. Due to file size, this is a partial set of data covering 1-in-100-1000y return period. See dataset “Central Asia fluvial flood hazard maps - defended – KaZ 5-50y RP” for the remaining data.", + "media_type": "image/tiff", + "format": "geotiff", + "spatial_resolution": 90, + "coordinate_system": "EPSG:4326", + "download_url": "https://datacatalogfiles.worldbank.org/ddh-published/0064232/DR0092001/FLU_DEF_KAZ_100-1000yRP.zip?versionId=2023-07-11T15:17:09.5061377Z" + }, + { + "id": "0064232_res3", + "title": "Central Asia fluvial flood hazard maps - defended - KGZ", + "description": "Fluvial flood hazard maps for Central Asia, derived from a regional model. Filenaming: FLU_DEF_XXy_ZZZ.tif (XX= return period, ZZZ= country initials). Cell value gives maximum flood depth (m) expected for the return period of that raster dataset.", + "media_type": "image/tiff", + "format": "geotiff", + "spatial_resolution": 90, + "coordinate_system": "EPSG:4326", + "download_url": "https://datacatalogfiles.worldbank.org/ddh-published/0064232/DR0091440/FLU_DEF_KGZ.zip?versionId=2023-07-11T15:16:59.0750434Z" + }, + { + "id": "0064232_res4", + "title": "Central Asia fluvial flood hazard maps - defended - TJK", + "description": "Fluvial flood hazard maps for Central Asia, derived from a regional model. Filenaming: FLU_DEF_XXy_ZZZ.tif (XX= return period, ZZZ= country initials). Cell value gives maximum flood depth (m) expected for the return period of that raster dataset.", + "media_type": "image/tiff", + "format": "geotiff", + "spatial_resolution": 90, + "coordinate_system": "EPSG:4326", + "download_url": "https://datacatalogfiles.worldbank.org/ddh-published/0064232/DR0091439/FLU_DEF_TJK.zip?versionId=2023-07-11T15:17:11.4860175Z" + }, + { + "id": "0064232_res5", + "title": "Central Asia fluvial flood hazard maps - defended - TKM", + "description": "Fluvial flood hazard maps for Central Asia, derived from a regional model. Filenaming: FLU_DEF_XXy_ZZZ.tif (XX= return period, ZZZ= country initials). Cell value gives maximum flood depth (m) expected for the return period of that raster dataset.", + "media_type": "image/tiff", + "format": "geotiff", + "spatial_resolution": 90, + "coordinate_system": "EPSG:4326", + "download_url": "https://datacatalogfiles.worldbank.org/ddh-published/0064232/DR0091768/FLU_DEF_TKM.zip?versionId=2023-07-11T15:17:01.5896193Z" + }, + { + "id": "0064232_res6", + "title": "Central Asia fluvial flood hazard maps - defended - UZB", + "description": "Fluvial flood hazard maps for Central Asia, derived from a regional model. Filenaming: FLU_DEF_XXy_ZZZ.tif (XX= return period, ZZZ= country initials). Cell value gives maximum flood depth (m) expected for the return period of that raster dataset.", + "media_type": "image/tiff", + "format": "geotiff", + "spatial_resolution": 90, + "coordinate_system": "EPSG:4326", + "download_url": "https://datacatalogfiles.worldbank.org/ddh-published/0064232/DR0091769/FLU_DEF_UZB.zip?versionId=2023-07-11T15:17:04.1441727Z" + } + ], + "hazard": { + "event_sets": [ + { + "id": "0064232_EventSet1", + "analysis_type": "probabilistic", + "seasonality": "uniform", + "calculation_method": "simulated", + "event_count": 10000, + "spatial": { + "countries": [ + "KAZ", + "KGZ", + "TJK", + "TKM", + "UZB" + ], + "scale": "regional", + "gazetteer_entries": [ + { + "id": "KAZ", + "scheme": "ISO 3166-1 alpha-3", + "description": "Kazakhstan" + }, + { + "id": "KGZ", + "scheme": "ISO 3166-1 alpha-3", + "description": "Kyrgyz Republic" + }, + { + "id": "TJK", + "scheme": "ISO 3166-1 alpha-3", + "description": "Tajikistan" + }, + { + "id": "TKM", + "scheme": "ISO 3166-1 alpha-3", + "description": "Turkmenistan" + }, + { + "id": "UZB", + "scheme": "ISO 3166-1 alpha-3", + "description": "Uzbekistan" + } + ] + }, + "hazards": [ + { + "id": "0064232_EventSet1_FL", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + } + ], + "events": [ + { + "id": "0064232_EventSet1_KAZ_5", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_KAZ_5", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 5 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_KAZ_5", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_KAZ_10", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_KAZ_10", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 10 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_KAZ_10", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_KAZ_20", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_KAZ_20", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 20 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_KAZ_20", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_KAZ_50", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_KAZ_50", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 50 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_KAZ_50", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_KAZ_100", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_KAZ_100", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 100 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_KAZ_100", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_KAZ_200", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_KAZ_200", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 200 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_KAZ_200", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_KAZ_500", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_KAZ_500", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 500 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_KAZ_500", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_KAZ_1000", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_KAZ_1000", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 1000 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_KAZ_1000", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_KGZ_5", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_KGZ_5", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 5 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_KGZ_5", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_KGZ_10", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_KGZ_10", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 10 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_KGZ_10", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_KGZ_20", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_KGZ_20", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 20 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_KGZ_20", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_KGZ_50", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_KGZ_50", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 50 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_KGZ_50", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_KGZ_100", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_KGZ_100", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 100 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_KGZ_100", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_KGZ_200", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_KGZ_200", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 200 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_KGZ_200", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_KGZ_500", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_KGZ_500", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 500 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_KGZ_500", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_KGZ_1000", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_KGZ_1000", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 1000 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_KGZ_1000", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_TJK_5", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_TJK_5", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 5 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_TJK_5", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_TJK_10", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_TJK_10", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 10 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_TJK_10", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_TJK_20", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_TJK_20", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 20 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_TJK_20", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_TJK_50", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_TJK_50", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 50 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_TJK_50", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_TJK_100", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_TJK_100", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 100 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_TJK_100", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_TJK_200", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_TJK_200", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 200 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_TJK_200", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_TJK_500", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_TJK_500", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 500 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_TJK_500", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_TJK_1000", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_TJK_1000", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 1000 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_TJK_1000", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_TKM_5", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_TKM_5", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 5 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_TKM_5", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_TKM_10", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_TKM_10", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 10 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_TKM_10", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_TKM_20", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_TKM_20", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 20 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_TKM_20", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_TKM_50", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_TKM_50", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 50 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_TKM_50", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_TKM_100", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_TKM_100", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 100 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_TKM_100", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_TKM_200", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_TKM_200", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 200 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_TKM_200", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_TKM_500", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_TKM_500", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 500 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_TKM_500", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_TKM_1000", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_TKM_1000", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 1000 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_TKM_1000", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_UZB_5", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_UZB_5", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 5 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_UZB_5", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_UZB_10", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_UZB_10", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 10 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_UZB_10", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_UZB_20", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_UZB_20", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 20 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_UZB_20", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_UZB_50", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_UZB_50", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 50 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_UZB_50", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_UZB_100", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_UZB_100", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 100 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_UZB_100", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_UZB_200", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_UZB_200", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 200 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_UZB_200", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_UZB_500", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_UZB_500", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 500 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_UZB_500", + "intensity_measure": "fl_wd:m" + } + ] + }, + { + "id": "0064232_EventSet1_UZB_1000", + "calculation_method": "simulated", + "hazard": { + "id": "0064232_EventSet1_UZB_1000", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + "occurrence": { + "probabilistic": { + "return_period": 1000 + } + }, + "footprints": [ + { + "id": "0064232_EventSet1_UZB_1000", + "intensity_measure": "fl_wd:m" + } + ] + } + ] + } + ] + }, + "links": [ + { + "href": "https://docs.riskdatalibrary.org/en/0__2__0/rdls_schema.json", + "rel": "describedby" + } + ] + } + ] +} diff --git a/examples/hazard/aqueduct/Hazard metadata_Event sets.csv b/examples/hazard/aqueduct/Hazard metadata_Event sets.csv new file mode 100644 index 00000000..d4f65773 --- /dev/null +++ b/examples/hazard/aqueduct/Hazard metadata_Event sets.csv @@ -0,0 +1,8 @@ +Dataset identifier,https://www.wri.org/data/aqueduct-floods-hazard-maps +Event set identifier,1 +Analysis type,probabilistic +Calculation Method,simulated +Event count,10 +Occurrence range,1/2 to 1/1000 years +"Spatial coverage: +Spatial scale",global diff --git a/examples/hazard/aqueduct/Hazard metadata_Event sets_Hazards.csv b/examples/hazard/aqueduct/Hazard metadata_Event sets_Hazards.csv new file mode 100644 index 00000000..f0bf1995 --- /dev/null +++ b/examples/hazard/aqueduct/Hazard metadata_Event sets_Hazards.csv @@ -0,0 +1,6 @@ +Dataset identifier,https://www.wri.org/data/aqueduct-floods-hazard-maps,https://www.wri.org/data/aqueduct-floods-hazard-maps +Event set identifier,1,1 +Hazard identifier,1,2 +Hazard type,flood,flood +Hazard processes,fluvial_flood,coastal_flood +Intensity measure,fl_wd:m,fl_wd:m diff --git a/examples/hazard/aqueduct/Links.csv b/examples/hazard/aqueduct/Links.csv new file mode 100644 index 00000000..501b5a90 --- /dev/null +++ b/examples/hazard/aqueduct/Links.csv @@ -0,0 +1,3 @@ +Dataset identifier,https://www.wri.org/data/aqueduct-floods-hazard-maps +Link target,https://docs.riskdatalibrary.org/en/0__2__0/rdls_schema.json +Link relation type,describedby diff --git a/examples/hazard/aqueduct/Resources.csv b/examples/hazard/aqueduct/Resources.csv new file mode 100644 index 00000000..593a6bed --- /dev/null +++ b/examples/hazard/aqueduct/Resources.csv @@ -0,0 +1,8 @@ +Dataset identifier,https://www.wri.org/data/aqueduct-floods-hazard-maps +Resource identifier,1 +Resource title,Flood hazard maps +Resource description,Collection of fluvial and pluvial hazard maps; baseline and climate scenarios +Format,geotiff +Spatial resolution,1000 +Coordinate reference system,EPSG:4326 +Access Url,http://wri-projects.s3.amazonaws.com/AqueductFloodTool/download/v2/index.html diff --git a/examples/hazard/aqueduct/datasets.csv b/examples/hazard/aqueduct/datasets.csv new file mode 100644 index 00000000..b483bdef --- /dev/null +++ b/examples/hazard/aqueduct/datasets.csv @@ -0,0 +1,20 @@ +Dataset identifier,https://www.wri.org/data/aqueduct-floods-hazard-maps +Title,Aqueduct Floods Hazard Maps +Description,"Aqueduct Floods is an online platform that measures riverine and coastal flood risks under both current baseline conditions and future projections in 2030, 2050, an 2080. In addition to providing hazard maps and assessing risks, Aqueduct Floods enables its users to conduct comprehensive cost-benefit analysis to evaluate the value of dike flood protection strategies." +Risk data type,hazard +"Publisher: +Name",Water Resource Institute +"Publisher: +URL",https://www.wri.org +Dataset version,2020 +Project title,Aqueduct +Additional details,"The Aqueduct flood-hazard model is a global gridded dataset of flood hazard produced at the global scale. It provides flood water extent and depth for a range of pluvial and fluvial hazard scenarios, expressed as “return period”, which indicates the probability of occurrence (i.e. once in 2, 5, 10, 20, 50, 100, 250, 500 and 1000 years). The Data are at 1 km resolution and have a global coverage." +"Spatial coverage: +Spatial scale",global +"Contact point: +Name",Mattia Amadio +"Contact point: +Email address",mamadio@worldbank.org +"Creator: +Name",Water Resource Institute +License,CC-BY-4.0 diff --git a/examples/hazard/aqueduct/example.json b/examples/hazard/aqueduct/example.json new file mode 100644 index 00000000..0395f4d4 --- /dev/null +++ b/examples/hazard/aqueduct/example.json @@ -0,0 +1,79 @@ +{ + "datasets": [ + { + "id": "https://www.wri.org/data/aqueduct-floods-hazard-maps", + "title": "Aqueduct Floods Hazard Maps", + "description": "Aqueduct Floods is an online platform that measures riverine and coastal flood risks under both current baseline conditions and future projections in 2030, 2050, an 2080. In addition to providing hazard maps and assessing risks, Aqueduct Floods enables its users to conduct comprehensive cost-benefit analysis to evaluate the value of dike flood protection strategies.", + "risk_data_type": [ + "hazard" + ], + "publisher": { + "name": "Water Resource Institute", + "url": "https://www.wri.org" + }, + "version": "2020", + "project": "Aqueduct", + "details": "The Aqueduct flood-hazard model is a global gridded dataset of flood hazard produced at the global scale. It provides flood water extent and depth for a range of pluvial and fluvial hazard scenarios, expressed as “return period”, which indicates the probability of occurrence (i.e. once in 2, 5, 10, 20, 50, 100, 250, 500 and 1000 years). The Data are at 1 km resolution and have a global coverage.", + "spatial": { + "scale": "global" + }, + "contact_point": { + "name": "Mattia Amadio", + "email": "mamadio@worldbank.org" + }, + "creator": { + "name": "Water Resource Institute" + }, + "license": "CC-BY-4.0", + "resources": [ + { + "id": "1", + "title": "Flood hazard maps ", + "description": "Collection of fluvial and pluvial hazard maps; baseline and climate scenarios", + "format": "geotiff", + "spatial_resolution": 1000, + "coordinate_system": "EPSG:4326", + "access_url": "http://wri-projects.s3.amazonaws.com/AqueductFloodTool/download/v2/index.html" + } + ], + "hazard": { + "event_sets": [ + { + "id": "1", + "analysis_type": "probabilistic", + "calculation_method": "simulated", + "event_count": 10, + "occurrence_range": "1/2 to 1/1000 years", + "spatial": { + "scale": "global" + }, + "hazards": [ + { + "id": "1", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + { + "id": "2", + "type": "flood", + "processes": [ + "coastal_flood" + ], + "intensity_measure": "fl_wd:m" + } + ] + } + ] + }, + "links": [ + { + "href": "https://docs.riskdatalibrary.org/en/0__2__0/rdls_schema.json", + "rel": "describedby" + } + ] + } + ] +} diff --git a/examples/hazard/aqueduct/figure.png b/examples/hazard/aqueduct/figure.png new file mode 100644 index 00000000..b02715fe Binary files /dev/null and b/examples/hazard/aqueduct/figure.png differ diff --git a/examples/hazard/fathom/Hazard metadata_Event sets.csv b/examples/hazard/fathom/Hazard metadata_Event sets.csv new file mode 100644 index 00000000..b885f4e0 --- /dev/null +++ b/examples/hazard/fathom/Hazard metadata_Event sets.csv @@ -0,0 +1,8 @@ +Dataset identifier,FTH_example +Event set identifier,1 +Analysis type,probabilistic +Calculation Method,simulated +Event count,10 +Occurrence range,1/10 to 1/1000 years +"Spatial coverage: +Spatial scale",global diff --git a/examples/hazard/fathom/Hazard metadata_Event sets_Hazards.csv b/examples/hazard/fathom/Hazard metadata_Event sets_Hazards.csv new file mode 100644 index 00000000..1869b6c2 --- /dev/null +++ b/examples/hazard/fathom/Hazard metadata_Event sets_Hazards.csv @@ -0,0 +1,6 @@ +Dataset identifier,FTH_example,FTH_example +Event set identifier,1,1 +Hazard identifier,1,2 +Hazard type,flood,flood +Hazard processes,fluvial_flood,pluvial_flood +Intensity measure,fl_wd:m,fl_wd:m diff --git a/examples/hazard/fathom/Links.csv b/examples/hazard/fathom/Links.csv new file mode 100644 index 00000000..5b762475 --- /dev/null +++ b/examples/hazard/fathom/Links.csv @@ -0,0 +1,3 @@ +Dataset identifier,FTH_example +Link target,https://docs.riskdatalibrary.org/en/0__2__0/rdls_schema.json +Link relation type,describedby diff --git a/examples/hazard/fathom/Resources.csv b/examples/hazard/fathom/Resources.csv new file mode 100644 index 00000000..6120938a --- /dev/null +++ b/examples/hazard/fathom/Resources.csv @@ -0,0 +1,8 @@ +Dataset identifier,FTH_example,FTH_example,FTH_example +Resource identifier,1,2,3 +Resource title,Fluvial hazard - Undefended,Fluvial hazard - Defended,Pluvial hazard - Undefended +Resource description,"Fluvial flood hazard maps (10), not accounting any flood defence","Fluvial flood hazard maps (10), accounting for flood defence (estimate)","Pluvial flood hazard maps (10), not accounting any flood defence" +Format,geotiff,geotiff,geotiff +Spatial resolution,90,90,90 +Coordinate reference system,EPSG:4326,EPSG:4326,EPSG:4326 +Download Url,http://example.com/FTH-THA-fluvial-undefended,http://example.com/FTH-THA-fluvial-defended,http://example.com/FTH-THA-pluvial-undefended diff --git a/examples/hazard/fathom/datasets.csv b/examples/hazard/fathom/datasets.csv new file mode 100644 index 00000000..d518544c --- /dev/null +++ b/examples/hazard/fathom/datasets.csv @@ -0,0 +1,24 @@ +Dataset identifier,FTH_example +Title,FATHOM flood hazard maps +Description,Probabilistic modelling of fluvial and pluvial flood hazard +Risk data type,hazard +"Publisher: +Name",Fathom +"Publisher: +URL",https://www.fathom.global/ +Dataset version,2 +Additional details,"The FATHOM flood-hazard model (previously known as SSBN), is a global gridded dataset of flood hazard produced at the global scale. It provides flood water extent and depth for a range of pluvial and fluvial hazard scenarios, expressed as “return period”, which indicates the probability of occurrence (i.e. once in 5, 10, 20, 50, 75, 100, 200, 250, 500, 750 and 1000 years). The Data are at 3 arc second (approximately 90m) resolution and have a global coverage between 56°S and 60°N. Each country set includes three subsets: +- Fluvial Undefended (FU): no flood defence accounted +- Fluvial Defended (FD): flood defence estimated by protection standards proxied by GDP (FloProS) +- Pluvial Undefended (PU): pluvial cumulation hazard maps, no flood defence accounted" +"Spatial coverage: +Spatial scale",national +License,commercial +"Contact point: +Name",Mattia Amadio +"Contact point: +Email address",mamadio@worldbank.org +"Creator: +Name",Mattia Amadio +"Creator: +Email address",mamadio@worldbank.org diff --git a/examples/hazard/fathom/example.json b/examples/hazard/fathom/example.json new file mode 100644 index 00000000..696a95ed --- /dev/null +++ b/examples/hazard/fathom/example.json @@ -0,0 +1,97 @@ +{ + "datasets": [ + { + "id": "FTH_example", + "title": "FATHOM flood hazard maps", + "description": "Probabilistic modelling of fluvial and pluvial flood hazard", + "risk_data_type": [ + "hazard" + ], + "publisher": { + "name": "Fathom", + "url": "https://www.fathom.global/" + }, + "version": "2", + "details": "The FATHOM flood-hazard model (previously known as SSBN), is a global gridded dataset of flood hazard produced at the global scale. It provides flood water extent and depth for a range of pluvial and fluvial hazard scenarios, expressed as “return period”, which indicates the probability of occurrence (i.e. once in 5, 10, 20, 50, 75, 100, 200, 250, 500, 750 and 1000 years). The Data are at 3 arc second (approximately 90m) resolution and have a global coverage between 56°S and 60°N. Each country set includes three subsets:\n- Fluvial Undefended (FU): no flood defence accounted\n- Fluvial Defended (FD): flood defence estimated by protection standards proxied by GDP (FloProS)\n- Pluvial Undefended (PU): pluvial cumulation hazard maps, no flood defence accounted", + "spatial": { + "scale": "national" + }, + "license": "commercial", + "contact_point": { + "name": "Mattia Amadio", + "email": "mamadio@worldbank.org" + }, + "creator": { + "name": "Mattia Amadio", + "email": "mamadio@worldbank.org" + }, + "resources": [ + { + "id": "1", + "title": "Fluvial hazard - Undefended", + "description": "Fluvial flood hazard maps (10), not accounting any flood defence", + "format": "geotiff", + "spatial_resolution": 90, + "coordinate_system": "EPSG:4326", + "download_url": "http://example.com/FTH-THA-fluvial-undefended" + }, + { + "id": "2", + "title": "Fluvial hazard - Defended", + "description": "Fluvial flood hazard maps (10), accounting for flood defence (estimate)", + "format": "geotiff", + "spatial_resolution": 90, + "coordinate_system": "EPSG:4326", + "download_url": "http://example.com/FTH-THA-fluvial-defended" + }, + { + "id": "3", + "title": "Pluvial hazard - Undefended", + "description": "Pluvial flood hazard maps (10), not accounting any flood defence", + "format": "geotiff", + "spatial_resolution": 90, + "coordinate_system": "EPSG:4326", + "download_url": "http://example.com/FTH-THA-pluvial-undefended" + } + ], + "hazard": { + "event_sets": [ + { + "id": "1", + "analysis_type": "probabilistic", + "calculation_method": "simulated", + "event_count": 10, + "occurrence_range": "1/10 to 1/1000 years", + "spatial": { + "scale": "global" + }, + "hazards": [ + { + "id": "1", + "type": "flood", + "processes": [ + "fluvial_flood" + ], + "intensity_measure": "fl_wd:m" + }, + { + "id": "2", + "type": "flood", + "processes": [ + "pluvial_flood" + ], + "intensity_measure": "fl_wd:m" + } + ] + } + ] + }, + "links": [ + { + "href": "https://docs.riskdatalibrary.org/en/0__2__0/rdls_schema.json", + "rel": "describedby" + } + ] + } + ] +} diff --git a/examples/hazard/fathom/figure.png b/examples/hazard/fathom/figure.png new file mode 100644 index 00000000..b7ad990e Binary files /dev/null and b/examples/hazard/fathom/figure.png differ diff --git a/examples/vulnerability/flood_jrc/Attributions.csv b/examples/vulnerability/flood_jrc/Attributions.csv new file mode 100644 index 00000000..40f415ae --- /dev/null +++ b/examples/vulnerability/flood_jrc/Attributions.csv @@ -0,0 +1,7 @@ +Dataset identifier,https://publications.jrc.ec.europa.eu/repository/handle/JRC105688,https://publications.jrc.ec.europa.eu/repository/handle/JRC105688 +Attribution identifier,1,2 +"Entity: +Name",JRC,Jan Huizinga +"Entity: +URL",https://publications.jrc.ec.europa.eu/repository/handle/JRC105688, +Role,distributor,author diff --git a/examples/vulnerability/flood_jrc/Links.csv b/examples/vulnerability/flood_jrc/Links.csv new file mode 100644 index 00000000..0e94b8c3 --- /dev/null +++ b/examples/vulnerability/flood_jrc/Links.csv @@ -0,0 +1,3 @@ +Dataset identifier,https://publications.jrc.ec.europa.eu/repository/handle/JRC105688 +Link target,https://docs.riskdatalibrary.org/en/0__2__0/rdls_schema.json +Link relation type,describedby diff --git a/examples/vulnerability/flood_jrc/Referenced by.csv b/examples/vulnerability/flood_jrc/Referenced by.csv new file mode 100644 index 00000000..5717c537 --- /dev/null +++ b/examples/vulnerability/flood_jrc/Referenced by.csv @@ -0,0 +1,7 @@ +Dataset identifier,https://publications.jrc.ec.europa.eu/repository/handle/JRC105688 +Related resource identifier,1 +Name,JRC Technical report - Global flood depth-damage functions +Author names,Jan Huizinga;Hans de Moel;Wojciech Szewczyk +Publication date,2017-04-12 +URL,https://publications.jrc.ec.europa.eu/repository/bitstream/JRC105688/global_flood_depth-damage_functions__10042017.pdf +Digital object identifier,10.2760/16510 diff --git a/examples/vulnerability/flood_jrc/Resources.csv b/examples/vulnerability/flood_jrc/Resources.csv new file mode 100644 index 00000000..26d694d9 --- /dev/null +++ b/examples/vulnerability/flood_jrc/Resources.csv @@ -0,0 +1,6 @@ +Dataset identifier,https://publications.jrc.ec.europa.eu/repository/handle/JRC105688 +Resource identifier,1 +Resource title,Global flood depth-damage functions database +Resource description,"This spreadsheet contains two components required for flood damage assessment: fractional depth-damage functions and maximum damage values. The damage functions provide the share of asset that is damaged at a given flood depth, while the maximum damage values provide the associated maximum damage value for the given asset and, when combined together, they yield the monetary value of the damage." +Format,xlsx +Download Url,https://publications.jrc.ec.europa.eu/repository/bitstream/JRC105688/copy_of_global_flood_depth-damage_functions__30102017.xlsx diff --git a/examples/vulnerability/flood_jrc/Vulnerability metadata_Asset cost.csv b/examples/vulnerability/flood_jrc/Vulnerability metadata_Asset cost.csv new file mode 100644 index 00000000..f36311ed --- /dev/null +++ b/examples/vulnerability/flood_jrc/Vulnerability metadata_Asset cost.csv @@ -0,0 +1,4 @@ +Dataset identifier,https://publications.jrc.ec.europa.eu/repository/handle/JRC105688,https://publications.jrc.ec.europa.eu/repository/handle/JRC105688 +Cost identifier,1,2 +Cost dimension,structure,content +Cost unit,EUR,EUR diff --git a/examples/vulnerability/flood_jrc/datasets.csv b/examples/vulnerability/flood_jrc/datasets.csv new file mode 100644 index 00000000..e64df8a5 --- /dev/null +++ b/examples/vulnerability/flood_jrc/datasets.csv @@ -0,0 +1,47 @@ +Dataset identifier,https://publications.jrc.ec.europa.eu/repository/handle/JRC105688 +Title,Global flood depth-damage functions +Description,This dataset contains damage curves depicting fractional damage function of water depth as well as maximum damage values for a variety of assets and land use classes. +Risk data type,vulnerability +"Publisher: +Name",EU Joint Research Center (JRC) +"Publisher: +URL",https://publications.jrc.ec.europa.eu/repository/handle/JRC105688 +Dataset version,2017 +Dataset purpose,"Assessing potential damage of flood events is an important component in flood risk management. Determining direct flood damage is commonly done using depth-damage curves, which denote the flood damage that would occur at specific water depths per asset or per land-use class. Many countries have developed flood damage models using depth-damage curves based on analysis of past flood events and on expert judgement. However, the fact that such damage curves are not available for all regions hampers damage assessments in some areas. Moreover, due to different methodologies employed for various damage models in different countries, damage assessments cannot be directly compared with each other, obstructing also supra-national flood damage assessments." +Additional details,"Based on an extensive literature survey concave damage curves have been developed for each continent, while differentiation in flood damage between countries is established by determining maximum damage values at the country scale. These maximum damage values are based on construction cost surveys from multinational construction companies, which provide a coherent set of detailed building cost data across dozens of countries. A consistent set of maximum flood damage values for all countries was computed using statistical regressions with socio-economic World Development Indicators. Further, based on insights from the literature survey, guidance is also given on how the damage curves and maximum damage values can be adjusted for specific local circumstances, such as urban vs. rural locations or use of specific building material. This dataset can be used for consistent supra-national scale flood damage assessments, and guide assessment in countries where no damage model is currently available." +"Spatial coverage: +Spatial scale",global +License,CC-BY-4.0 +"Contact point: +Name",Mattia Amadio +"Contact point: +Email address",mamadio@worldbank.org +"Creator: +Name",EU Joint Research Center (JRC) +"Vulnerability metadata: +Primary hazard type",flood +"Vulnerability metadata: +Hazard intensity measurement",fl_wd:m +"Vulnerability metadata: +Exposure category",buildings +"Vulnerability metadata: +Exposure taxonomy scheme",internal +"Vulnerability metadata: +Vulnerability impact: +Impact type",direct +"Vulnerability metadata: +Vulnerability impact: +Impact metric",damage_ratio +"Vulnerability metadata: +Vulnerability impact: +Impact unit",percentage +"Vulnerability metadata: +Vulnerability impact: +Impact base data type",inferred +"Vulnerability metadata: +Spatial coverage: +Spatial scale",global +"Vulnerability metadata: +Impact functions: +Fragility function: +Fragility function approach",hybrid diff --git a/examples/vulnerability/flood_jrc/example.json b/examples/vulnerability/flood_jrc/example.json new file mode 100644 index 00000000..a104d780 --- /dev/null +++ b/examples/vulnerability/flood_jrc/example.json @@ -0,0 +1,108 @@ +{ + "datasets": [ + { + "id": "https://publications.jrc.ec.europa.eu/repository/handle/JRC105688", + "title": "Global flood depth-damage functions", + "description": "This dataset contains damage curves depicting fractional damage function of water depth as well as maximum damage values for a variety of assets and land use classes.", + "risk_data_type": [ + "vulnerability" + ], + "publisher": { + "name": "EU Joint Research Center (JRC)", + "url": "https://publications.jrc.ec.europa.eu/repository/handle/JRC105688" + }, + "version": "2017", + "purpose": "Assessing potential damage of flood events is an important component in flood risk management. Determining direct flood damage is commonly done using depth-damage curves, which denote the flood damage that would occur at specific water depths per asset or per land-use class. Many countries have developed flood damage models using depth-damage curves based on analysis of past flood events and on expert judgement. However, the fact that such damage curves are not available for all regions hampers damage assessments in some areas. Moreover, due to different methodologies employed for various damage models in different countries, damage assessments cannot be directly compared with each other, obstructing also supra-national flood damage assessments.", + "details": "Based on an extensive literature survey concave damage curves have been developed for each continent, while differentiation in flood damage between countries is established by determining maximum damage values at the country scale. These maximum damage values are based on construction cost surveys from multinational construction companies, which provide a coherent set of detailed building cost data across dozens of countries. A consistent set of maximum flood damage values for all countries was computed using statistical regressions with socio-economic World Development Indicators. Further, based on insights from the literature survey, guidance is also given on how the damage curves and maximum damage values can be adjusted for specific local circumstances, such as urban vs. rural locations or use of specific building material. This dataset can be used for consistent supra-national scale flood damage assessments, and guide assessment in countries where no damage model is currently available.", + "spatial": { + "scale": "global" + }, + "license": "CC-BY-4.0", + "contact_point": { + "name": "Mattia Amadio", + "email": "mamadio@worldbank.org" + }, + "creator": { + "name": "EU Joint Research Center (JRC)" + }, + "vulnerability": { + "hazard_primary": "flood", + "intensity": "fl_wd:m", + "category": "buildings", + "taxonomy": "internal", + "impact": { + "type": "direct", + "metric": "damage_ratio", + "unit": "percentage", + "base_data_type": "inferred" + }, + "spatial": { + "scale": "global" + }, + "functions": { + "fragility": { + "approach": "hybrid" + } + }, + "cost": [ + { + "id": "1", + "dimension": "structure", + "unit": "EUR" + }, + { + "id": "2", + "dimension": "content", + "unit": "EUR" + } + ] + }, + "attributions": [ + { + "id": "1", + "entity": { + "name": "JRC", + "url": "https://publications.jrc.ec.europa.eu/repository/handle/JRC105688" + }, + "role": "distributor" + }, + { + "id": "2", + "entity": { + "name": "Jan Huizinga" + }, + "role": "author" + } + ], + "referenced_by": [ + { + "id": "1", + "name": "JRC Technical report - Global flood depth-damage functions", + "author_names": [ + "Jan Huizinga", + "Hans de Moel", + "Wojciech Szewczyk" + ], + "date_published": "2017-04-12", + "url": "https://publications.jrc.ec.europa.eu/repository/bitstream/JRC105688/global_flood_depth-damage_functions__10042017.pdf", + "doi": "10.2760/16510" + } + ], + "resources": [ + { + "id": "1", + "title": "Global flood depth-damage functions database", + "description": "This spreadsheet contains two components required for flood damage assessment: fractional depth-damage functions and maximum damage values. The damage functions provide the share of asset that is damaged at a given flood depth, while the maximum damage values provide the associated maximum damage value for the given asset and, when combined together, they yield the monetary value of the damage.", + "format": "xlsx", + "download_url": "https://publications.jrc.ec.europa.eu/repository/bitstream/JRC105688/copy_of_global_flood_depth-damage_functions__30102017.xlsx" + } + ], + "links": [ + { + "href": "https://docs.riskdatalibrary.org/en/0__2__0/rdls_schema.json", + "rel": "describedby" + } + ] + } + ] +} diff --git a/examples/vulnerability/flood_jrc/figure.png b/examples/vulnerability/flood_jrc/figure.png new file mode 100644 index 00000000..1a3b1a8b Binary files /dev/null and b/examples/vulnerability/flood_jrc/figure.png differ diff --git a/flatten-tool b/flatten-tool new file mode 160000 index 00000000..6a8e94d9 --- /dev/null +++ b/flatten-tool @@ -0,0 +1 @@ +Subproject commit 6a8e94d955fcab5c2ef818ac2b034503c2807579 diff --git a/internal_guide_rdl_on_WBdataCatalog.md b/internal_guide_rdl_on_WBdataCatalog.md new file mode 100644 index 00000000..eee2030e --- /dev/null +++ b/internal_guide_rdl_on_WBdataCatalog.md @@ -0,0 +1,90 @@ +# RDL collection + +The [Risk Data Library Collection](https://datacatalog.worldbank.org/search/collections/rdl) sits within the [World Bank Data Catalog](https://datacatalog.worldbank.org) and is meant to store standard risk data. +The collection can be accessed from the [collections page](https://datacatalog.worldbank.org/search/collections/) or used as a filter on the left bar to search for data within the collection. + +![Risk Data Library Collection](../img/rdl_collection.png) + +## Add datasets + +Datasets can be submitted for review and publication on the Data Catalog by any World Bank Staff, ETC or STC. These people have the role of `Data depositor`. + + +Datasets needs to be packaged according to the [data preparation guidelines](preparation). + + + +Two options to upload data: + +- **Individually**: using the upload wizard +- **Bulk**: for large number of datasets, requires support by the [DDH team](../about/contacts.md#ddh-team) + +In both cases, datasets can be added to the [RDL Collection](https://datacatalog.worldbank.org/search/collections/rdl) only by the [RDL team](../about/contacts.md#rdl-team), after approval. + +### Individual datasets + +- Log in to the [Data Catalog](https://datacatalog.worldbank.org/int/home) (top right bar) + +- View [My datasets](https://datacatalog.worldbank.org/int/data/mydata) (top right bar) + ![World Bank Data Catalog screenshot: MyData page](../img/rdl_ddh_mydata.png) + The page shows dataset number, name, modified date, status (Published, Draft, Under review, Publishing in progress) for datasets you have uploaded or for which you are listed as a contributor + + - Under `Action` you can `edit` or `submit for review` to the [DDH team](../about/contacts.md#ddh-team). + - When status is `Published`, the dataset will be visible on the World Bank Data Catalog. + +- Click [Add data](https://datacatalog.worldbank.org/int/data/add) (top right bar) + Select the option on the right: _`continue`_. + ![World Bank Data Catalog screenshot: Add data](../img/rdl_ddh1.png) + + 1. **Essential Information** + ![World Bank Data Catalog screenshots: Add essential information](../img/rdl_ddh2.png) + + + 1. **Uploading data** + + - Upload dataset from your local storage + - Add a resource title and description + - When one resource has been submitted, another one can be added + ![World Bank Data Catalog screenshot: Add data files](../img/rdl_ddh3.png) + + + 1. **Additional information** + ![World Bank Data Catalog screenshot: Adding additional information](../img/rdl_ddh_add.png) + + - **Tags**: These are important for being able to search the data in the catalog. Suggestions for RDLS data: + - Climate Risk or Disaster Risk + - Hazard, Exposure, Vulnerability, Loss (depending on the component type) + - Flood, Earthquake, Landslide, Tsunami (hazard type) + - **Topics**: There is currently no topic for risk analytics or climate and disaster risk - leave blank + - **Collection**: this can only be entered by staff with those rights. Provide a list of dataset ID to [Kamwoo Lee](../about/contacts.md#ddh-team) with request to assign data to RDL Collection. + ![World Bank Data Catalog screenshot: Final steps](../img/rdl_ddh4.png) + +Once done, click on `Save as draft`. The dataset will appear under `My datasets` list. + +### Bulk upload + +In cases where large volumes of project data need to be uploaded, DDH team can assist with bulk upload. +The workflow steps are: + +1. Login with WB credentials and store project data on the [DataCatalog Sharepoint](https://worldbankgroup.sharepoint.com.mcas.ms/sites/ddh2/Shared%20Documents/Forms/AllItems.aspx?csf=1&web=1&e=pmjIeC&CT=1683747817820&OR=OWA%2DNT&CID=1c049bb0%2Db912%2D850b%2D383e%2D4dcda23ac626&RootFolder=%2Fsites%2Fddh2%2FShared%20Documents%2FRisk%20Data%20Library&FolderCTID=0x012000374C108104547647A016D80E1BFD3084) - using appropriate folders structuring (Project/Component/...) +1. Create an excel spreadsheet describing the datatype with each dataset name, URL to data and URL to prepared JSON metadata. +1. Describe the data structure to be achieved on DDH. +1. DDH team will copy the data and metadata to DDH Sharepoint. +1. DDH team will use scripts to upload datasets; these will appear in your `My Datasets` for review and any further editing. + +### Add RDL custom metadata + +- Create metadata following to Risk Data Library schema in JSON format, including the description and name of resources under that dataset. Either: + 1. Write directly into JSON file + 1. Use JSON metadata creation tool. This tool is standalone (not part of DDH). It exports a JSON file to be saved with the dataset. +- Upload metadata with the dataset. Once the import process is concluded, metadata will become available to download from the dataset page and as part of custom metadata shown. + +```{figure} https://user-images.githubusercontent.com/44863827/237736456-7d6cafe9-d83c-483e-b03b-02c69d89c705.png +--- +align: center +width: 98% +--- +Example (work in progress) of the RDL metadata visualization within the World Bank Data Catalog (RDL collection). +``` + + diff --git a/manage.py b/manage.py new file mode 100755 index 00000000..563ee7d7 --- /dev/null +++ b/manage.py @@ -0,0 +1,486 @@ +#!/usr/bin/env python3 +import click +import csv +import glob +import json +import logging +import os +import requests +import shutil +import subprocess + +from collections import OrderedDict +from contextlib import contextmanager +from io import StringIO +from pathlib import Path + +basedir = Path(__file__).resolve().parent +referencedir = basedir / 'docs' / 'reference' +schemadir = basedir / 'schema' +codelistdir = schemadir / 'codelists' +exampledir = basedir / 'examples' + + +def read_lines(filename): + """Read a file and return a list of lines.""" + + with open(filename, 'r') as f: + return f.readlines() + + +def write_lines(filename, lines): + """Write a list of lines to a file.""" + + with open(filename, 'w') as f: + f.writelines(lines) + + +def csv_load(url, delimiter=','): + """ + Loads CSV data into a ``csv.DictReader`` from the given URL. + """ + reader = csv.DictReader(StringIO(get(url).text), delimiter=delimiter) + return reader + + +@contextmanager +def csv_dump(path, fieldnames): + """ + Writes CSV headers to the given path, and yields a ``csv.writer``. + """ + f = (Path(path)).open('w') + writer = csv.writer(f, lineterminator='\n') + writer.writerow(fieldnames) + try: + yield writer + finally: + f.close() + + +def get(url): + """ + GETs a URL and returns the response. Raises an exception if the status code is not successful. + """ + response = requests.get(url) + response.raise_for_status() + response.encoding = response.apparent_encoding + return response + + +def json_dump(filename, data): + """ + Writes JSON data to the given filename. + """ + with (schemadir / filename).open('w') as f: + json.dump(data, f, indent=2) + f.write('\n') + + +def delete_directory_contents(directory_path): + """ + Deletes the contents of a directory on disk. + """ + for filename in os.listdir(directory_path): + file_path = os.path.join(directory_path, filename) + try: + if os.path.isfile(file_path) or os.path.islink(file_path): + os.unlink(file_path) + elif os.path.isdir(file_path): + shutil.rmtree(file_path) + except Exception as e: + print('Failed to delete %s. Reason: %s' % (file_path, e)) + + +def json_load(filename, library=json): + """ + Loads JSON data from the given filename. + """ + with (schemadir / filename).open() as f: + return library.load(f) + + +def get_codelist_references(schema, codelist, parents=None, full_schema=None, defs_path='$defs'): + """ + Recursively generate a list of JSON pointers that reference a codelist in JSON schema. + + :param schema: The JSON schema + :codelist: The name of the definition + :parents: A list of the parents of schema + :full_schema: The full schema + :defs_path: The path under which definitions are located in the schema + """ + + references = [] + + if parents is None: + parents = [] + + if full_schema is None: + full_schema = schema + + if 'properties' in schema: + for key, value in schema['properties'].items(): + if 'properties' in value: + references.extend(get_codelist_references(value, codelist, parents + [key], full_schema)) + elif value.get('codelist') == f"{codelist}.csv": + references.append(parents + [key]) + + if defs_path in schema: + for key, value in schema[defs_path].items(): + references.extend(get_codelist_references(value, codelist, [key], full_schema)) + + return references + + +def generate_codelist_markdown(codelist, type, references, definitions, defs_path): + """Generate reference markdown for codelist""" + + markdown = [] + + markdown = ["This codelist is referenced by the following properties:\n\n"] + + for ref in references: + # noqa: Remove array indices because they do not appear in the HTML anchors generated by the json schema directive + ref = [part for part in ref if part != '0'] + + url = 'rdls_schema.json,' + + # Omit nested references + if ref[0] in definitions: + url += f"/$defs/{ref[0]},{'/'.join(ref[1:])}" + elif ref[0] in ['hazard', 'exposure', 'vulnerability', 'loss']: + url += f"/properties/{ref[0]},{'/'.join(ref[1:])}" + else: + url += f",{'/'.join(ref)}" + + markdown.append(f"- [`{'/'.join(ref)}`]({url})\n") + + newline = "\n" + + markdown.extend([ + "\nThis codelist has the following codes:\n\n" + "````{dropdown} Codes\n", + f"{f':open:{newline}' if len(read_lines(f'{codelistdir}/{type}/{codelist}.csv')) < 10 else ''}", + "```{csv-table-no-translate}\n", + ":header-rows: 1\n", + ":widths: auto\n", + f":file: ../../schema/codelists/{type}/{codelist}.csv\n", + "```\n", + "````\n\n" + ]) + + return markdown + + +def update_codelist_docs(schema): + """Update docs/reference/codelists.md""" + + if '$defs' in schema: + defs_path = '$defs' + elif 'definitions' in schema: + defs_path = 'definitions' + else: + raise KeyError("Schema contains neither $defs nor definitions.") + + # Load codelist reference + codelist_reference = read_lines(referencedir / 'codelists.md') + + # Get codelist names and types (open or closed) from the codelist directory and get a list of references for each codelist + codelists = {} + + for path in glob.glob(f"{codelistdir}/*/*.csv"): + codelist = path.split("/")[-1].split(".")[0] + codelists[codelist] = { + "type": path.split("/")[-2], + "content": [f"### {codelist}\n",], + "references": get_codelist_references(schema, codelist, defs_path=defs_path) + } + + # Sort codelists alphabetically + codelists = OrderedDict(sorted(codelists.items())) + + # Preserve content that appears before the generated reference content for each codelist + for i in range(0, len(codelist_reference)): + line = codelist_reference[i] + + if line[:4] == "### ": + codelist = line[4:-1] + + # Drop codelists that don't appear in the codelists directory + if codelist in codelists: + j = i+1 + + while j < len(codelist_reference) and codelist_reference[j] != "This codelist is referenced by the following properties:\n": + codelists[codelist]["content"].append(codelist_reference[j]) + j += 1 + + # Preserve introductory content up to an including the ## Open codelists heading + codelist_reference = codelist_reference[:codelist_reference.index("## Open codelists\n") + 1] + codelist_reference.append("\n") + + # Update reference for open and closed codelists + closed_codelist_reference = ["## Closed codelists\n\n"] + + for key, value in codelists.items(): + value['content'].extend(generate_codelist_markdown(key, value['type'], value['references'], schema[defs_path], defs_path)) + if value["type"] == "open": + codelist_reference.extend(value['content']) + else: + closed_codelist_reference.extend(value['content']) + + codelist_reference.extend(closed_codelist_reference) + + write_lines(referencedir / 'codelists.md', codelist_reference) + + +def get_definition_references(schema, defn, parents=None, full_schema=None, include_nested=True, defs_path='$defs'): + """ + Recursively generate a list of JSON pointers that reference a definition in JSON schema. + + :param schema: The JSON schema + :param defn: The name of the definition + :param parents: A list of the parents of schema + :param full_schema: The full schema + :param include_nested: Whether to include nested references + :defs_path: The path under which definitions are located in the schema + """ + + references = [] + + if parents is None: + parents = [] + + if full_schema is None: + full_schema = schema + + if 'properties' in schema: + for key, value in schema['properties'].items(): + if value.get('type') == 'array' and '$ref' in value['items']: + if value['items']['$ref'] == f"#/{defs_path}/{defn}": + references.append(parents + [key, '0']) + elif include_nested: + references.extend(get_definition_references( + full_schema[defs_path][value['items']['$ref'].split('/')[-1]], + defn, + parents + [key, '0'], + full_schema, include_nested)) + elif '$ref' in value: + if value['$ref'] == f"#/{defs_path}/{defn}": + references.append(parents + [key]) + elif include_nested: + references.extend(get_definition_references( + full_schema[defs_path][value['$ref'].split('/')[-1]], + defn, + parents + [key], + full_schema, include_nested)) + elif 'properties' in value: + references.extend(get_definition_references(value, + defn, + parents + [key], + full_schema, + include_nested)) + + if defs_path in schema: + for key, value in schema[defs_path].items(): + references.extend(get_definition_references(value, defn, [key], full_schema, include_nested)) + + return references + + +def update_schema_docs(schema): + """Update schema.md""" + + if '$defs' in schema: + defs_path = '$defs' + elif 'definitions' in schema: + defs_path = 'definitions' + else: + raise KeyError("Schema contains neither $defs nor definitions.") + + # Load schema reference + schema_reference = read_lines(referencedir / 'schema.md') + + # Preserve content that appears before the generated reference content for each component + components_index = schema_reference.index("## Sub-schemas\n") + 2 + + for i in range(components_index, len(schema_reference)): + if schema_reference[i][:5] == "### ": + defn = schema_reference[i][5:-1] + + # Drop definitions that don't appear in the schema + if defn in schema["$defs"]: + schema["$defs"][defn]["content"] = [] + j = i+1 + + # while j < len(schema_reference) and not schema_reference[j].startswith("```{admonition}") and schema_reference[j] != 'This component is referenced by the following properties:\n': + while j < len(schema_reference) and not schema_reference[j].startswith("```{admonition}") and schema_reference[j] != f"`{defn}` is defined as:\n": + schema["$defs"][defn]["content"].append(schema_reference[j]) + j = j+1 + + # Preserve introductory content up to and including the sentence below the ## Sub-schemas heading + schema_reference = schema_reference[:components_index] + schema_reference.append("\n") + + # Generate standard reference content for each definition + for defn, definition in schema["$defs"].items(): + definition["content"] = definition.get("content", []) + + # Omit Resource and Exposure definitions and string definitions, which will be moved to CSV codelists + if defn not in ['Resource', 'Hazard_metadata', 'Exposure'] and definition.get('type') == 'object': + + # Add heading + definition["content"].insert(0, f"### {defn}\n") + + # Add description + if 'description' in definition: + definition["content"].extend([ + f"`{defn}` is defined as:\n\n", + "```{jsoninclude-quote} ../../docs/_readthedocs/html/rdls_schema.json\n", + f":jsonpointer: /$defs/{defn}/description\n", + "```\n\n" + ]) + + # Add a list of properties that reference this definition + definition["references"] = get_definition_references(schema, defn, include_nested=False, defs_path=defs_path) + definition["content"].append("This sub-schema is referenced by the following properties:\n") + + for ref in definition["references"]: + # noqa: Remove array indices because they do not appear in the HTML anchors generated by the json schema directive + ref = [part for part in ref if part != '0'] + + url = 'rdls_schema.json,' + + # Omit nested references + if ref[0] in schema['$defs']: + url += f"/$defs/{ref[0]},{'/'.join(ref[1:])}" + elif ref[0] in ['hazard', 'exposure', 'vulnerability', 'loss']: + url += f"/properties/{ref[0]},{'/'.join(ref[1:])}" + else: + url += f",{'/'.join(ref)}" + + definition["content"].append(f"* [`{'/'.join(ref)}`]({url})\n") + + if definition.get('additionalProperties') == False: + definition["content"].append(f"\nAdditional properties are not permitted within `{defn}` objects.\n") + + # Add schema table + definition["content"].extend([ + f"\nEach `{defn}` has the following fields:\n\n", + "```{jsonschema} ../../docs/_readthedocs/html/rdls_schema.json\n", + f":pointer: /$defs/{defn}\n", + f":collapse: {','.join([key for key, value in definition.get('properties',{}).items() if '$ref' in value])}\n", + ":addtargets:\n", + "```\n\n", + ]) + + schema_reference.extend(definition["content"]) + + write_lines(referencedir / 'schema.md', schema_reference) + + +@click.group() +def cli(): + pass + + +@cli.command() +def pre_commit(): + """Update example CSV files, update reference documentation and format Markdown files. + """ + + # Load schema + schema = json_load('rdls_schema.json') + + # Remove example CSV files + for path in glob.glob(f"{exampledir}/*/*/*.csv"): + os.remove(path) + + # Generate example CSV files + for example_path in glob.glob(f"{exampledir}/*/*/example.json"): + + command = f"flatten-tool flatten -s schema/rdls_schema.json -f csv --root-list-path datasets -m datasets -o {'/'.join(example_path.split('/')[:-1])} --truncation-length 50 --use-titles --remove-empty-schema-columns --line-terminator LF {example_path}" + + subprocess.run(command.split(" ")) + + for path in glob.glob(f"{exampledir}/*/*/*.csv"): + with open(path, 'r') as f: + # Transpose example CSV files for column-wise presentation + rows = zip(*csv.reader(f)) + + with open(path, 'w') as f: + writer = csv.writer(f, lineterminator="\n") + + # Omit titles of parent objects + parent_titles = path.split("/")[-1].split(".csv")[0].split("_") + for row in rows: + row_title = row[0] + for i in range(0, len(parent_titles)): + row_title = row_title.replace(f"{':'.join(parent_titles[0:len(parent_titles)-i])}:", "") + + writer.writerow([row_title.replace(":", ":\n")] + list(row[1:])) + + # Update schema.md + update_schema_docs(schema) + + # Update codelists.md + update_codelist_docs(schema) + + # Run mdformat + subprocess.run(['mdformat', 'docs']) + +@cli.command() +def update_media_type(): + """ + Update media_type.csv from IANA. + + Ignores deprecated and obsolete media types. + """ + # https://www.iana.org/assignments/media-types/media-types.xhtml + + # See "Registries included below". + registries = [ + 'application', + 'audio', + 'font', + 'image', + 'message', + 'model', + 'multipart', + 'text', + 'video', + ] + + with csv_dump('codelists/open/media_type.csv', ['Code', 'Title']) as writer: + for registry in registries: + # See "Available Formats" under each heading. + reader = csv_load(f'https://www.iana.org/assignments/media-types/{registry}.csv') + for row in reader: + if ' ' in row['Name']: + name, message = row['Name'].split(' ', 1) + else: + name, message = row['Name'], None + code = f"{registry}/{name}" + template = row['Template'] + # All messages are expected to be about deprecation and obsoletion. + if message: + logging.warning('%s: %s', message, code) + # "x-emf" has "image/emf" in its "Template" value (but it is deprecated). + elif template and template != code: + raise Exception(f"expected {code}, got {template}") + else: + writer.writerow([code, name]) + + writer.writerow(['offline/print', 'print']) + + +@cli.command() +@click.pass_context +def update_codelists(ctx): + """ + Update external codelists + """ + ctx.invoke(update_media_type) + + +if __name__ == '__main__': + cli() diff --git a/mappings/undrr-isc-hip.csv b/mappings/undrr-isc-hip.csv new file mode 100644 index 00000000..e0206422 --- /dev/null +++ b/mappings/undrr-isc-hip.csv @@ -0,0 +1,97 @@ +UNDRR Hazard cluster,UNDRR Specific hazard,RDL Hazard type,RDL Process type +Convective-related,Downburst,, +Convective-related,Lightning (Electrical storm),, +Convective-related,Thunderstorm,, +Flood,Coastal flood,Coastal Flood,Coastal Flood +Flood,Estuarine flood,Coastal Flood,Coastal Flood +Flood,Flash flood,Flood,Pluvial Flood +Flood,Fluvial (riverine flood),Flood,Fluvial Flood +Flood,Groundwater flood,Flood,Groundwater Flood +Flood,Ice-jam flood including debris,, +Flood,Ponding flood,Flood,Pluvial Flood +Flood,Snowmelt flood,, +Flood,Surface water flooding,Flood,Pluvial Flood +Flood,Glacial lake outburst flood,, +Lithometeors,Black carbon (Brown clouds),, +Lithometeors,Dust storm or Sandstorm,, +Lithometeors,Fog,, +Lithometeors,Haze,, +Lithometeors,Polluted air,, +Lithometeors,Sand haze,, +Lithometeors,Smoke,, +Marine,Ocean acidification,, +Marine,Rogue wave,, +Marine,Sea water intrusion,, +Marine,Sea ice (ice bergs),, +Marine,Ice flow,, +Marine,Seiche,, +Marine,Storm surge,Coastal Flood,Storm Surge +Marine,Storm tides,, +Marine,Tsunami,Tsunami,Tsunami +Pressure-related,Depression or cyclone,Strong Wind,Tropical cyclone +Pressure-related,Extra-tropical cyclone,Strong Wind,Extratropical cyclone +Pressure-related,Sub-tropical cyclone,Strong Wind,Tropical cyclone +Precipitation-related,Acid rain,, +Precipitation-related,Blizzard,, +Precipitation-related,Drought,Drought,Agricultural Drought +Precipitation-related,Hail,, +Precipitation-related,Ice storm,, +Precipitation-related,Snow / Ice,, +Precipitation-related,Snow storm,, +Temperature-related,Cold wave,Extreme Temperature,Extreme cold +Temperature-related,Dzud,, +Temperature-related,Freeze,Extreme Temperature,Extreme cold +Temperature-related,Frost (hoar frost),Extreme Temperature,Extreme cold +Temperature-related,Freezing rain,, +Temperature-related,Glaze,, +Temperature-related,Ground frost,, +Temperature-related,Heatwave,Extreme Temperature,Extreme heat +Temperature-related,Icing (including ice),, +Temperature-related,Thaw,, +Terrestrial,Avalanche,Landslide,Snow Avalanche +Terrestrial,Mud flow,Landslide,Mudflow +Terrestrial,Rock slide,Landslide,Rockslide +Wind-related,Derecho,, +Wind-related,Gale (strong gale),, +Wind-related,Squall,, +Wind-related,Subtropical storm,Strong Wind,Extratropical cyclone +Wind-related,"Tropical cyclone (cyclonic wind, storm surge)",Strong Wind,Tropical cyclone +Wind-related,Tropical storm,Strong Wind,Tropical cyclone +Wind-related,Tornado,Convective Storm,Tornado +Wind-related,Wind,Strong Wind,Extratropical cyclone +Seismogenic,Earthquake,Earthquake, +Seismogenic,Ground shaking (earthquake),Earthquake,Ground Motion +Seismogenic,Liquefaction (earthquake trigger),Earthquake,Liquefaction +Seismogenic,Surface rupture/fissuring,Earthquake,Primary Rupture and Secondary rupture +Seismogenic,"Subsidence and uplift, including shoreline change (earthquake trigger)",, +Seismogenic,Tsunami (earthquake trigger),Tsunami,Tsunami +Seismogenic,Landslide or debris flow (earthquake trigger),Landslide,Landslide +Seismogenic,Ground gases (earthquake trigger),, +Volcanogenic,Lava flow,Volcanic,Lava +Volcanogenic,Ash/ Tephra fall (physical and chemical),Volcanic,Ashfall +Volcanogenic,Ballistics (volcanic),Volcanic,Ballistics +Volcanogenic,Pyroclastic density current,Volcanic,Pyroclastic Flow +Volcanogenic,Debris flow/Lahar/Floods,Volcanic,Lahar +Volcanogenic,Landslide (volcanic trigger),Landslide,Landslide +Volcanogenic,Ground shaking (volcanic earthquake),Earthquake,Ground Motion +Volcanogenic,"Ground gases (slow release) and Volcanic gases and aerosols (CH4, CO2, H2S, SO2 etc.)",, +Volcanogenic,Tsunami (volcanic trigger),Tsunami,Tsunami +Volcanogenic,Lightning (volcanic trigger),, +Volcanogenic,Urban fire (during/following volcanic eruption),, +Volcanogenic,"Subsidence and uplift, including shoreline change (magmatic/volcanic trigger)",, +Shallow geohazard,"Ground shaking (induced earthquake, reservoir fll, dams, cavity collapse, underground explosion, impact, hydrocarbon felds, shale exploration, etc.)",Earthquake,Ground Motion +Shallow geohazard,Liquefaction (groundwater trigger),Flood,Liquefaction +Shallow geohazard,Ground fissuring,, +Shallow geohazard,"Subsidence and uplift, including shoreline change",, +Shallow geohazard,Localized subsidence (e.g. due to swelling clays),, +Shallow geohazard,Sinkhole,, +Shallow geohazard,"Ground gases (CH4, Rn, etc.)",, +Shallow geohazard,Riverbank / Coastal erosion,, +Shallow geohazard,Sand encroachment,, +Shallow geohazard,Aquifer recharge (systems failure/ outages),, +Shallow geohazard,"Landslide or Debris flow, including submarine landslides",Landslide,Landslide +Shallow geohazard,Rockfall,Landslide,Rockfall +Shallow geohazard,Landscape creep,, +Shallow geohazard,Avalanche,Landslide,Snow Avalanche +Shallow geohazard,Tsunami (submarine landslide trigger),Tsunami,Tsunami +Environmental degradation (Forestry),Wildfires,Wildfire,Wildfire diff --git a/pull_request_template.md b/pull_request_template.md new file mode 100644 index 00000000..88d5eabb --- /dev/null +++ b/pull_request_template.md @@ -0,0 +1,26 @@ +**Related issues** + + + +**Description** + + + +**Merge checklist** + + + +If you added, removed or renamed a field: + +- [ ] Update the `collapse` option of the jsonschema directives for dataset, resource, hazard, exposure, vulnerability and loss on `reference/schema.md` +- [ ] Update the diagrams in `reference/schema/md` +- [ ] Update the JSON files in `examples` + +Always: + +- [ ] Run `./manage.py` pre-commit +- [ ] Update the changelog ([style guide](developer_docs.md#changelog-style-guide)) + +**Having trouble?** + +See [how to resolve check failures](https://github.com/GFDRR/rdl-standard/blob/dev/developer_docs.md#resolve-check-failures). diff --git a/requirements.in b/requirements.in index 4f6ea1bd..7c58114a 100644 --- a/requirements.in +++ b/requirements.in @@ -5,7 +5,16 @@ sphinx-togglebutton sphinxcontrib-mermaid sphinxcontrib-opendataservices sphinxcontrib-opendataservices-jsonschema +sphinxcontrib-plantuml sphinx-intl #transifex-client sphinx_rtd_theme myst-parser +mdformat-myst +requests +click +pytest +jscc>=0.2.3 +ocdskit +jsonschema +pygit2 diff --git a/requirements.txt b/requirements.txt index 5b383a22..617850d0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,20 +2,31 @@ # This file is autogenerated by pip-compile with Python 3.11 # by the following command: # -# pip-compile +# pip-compile requirements.in # alabaster==0.7.12 # via sphinx +attrs==23.1.0 + # via + # cattrs + # jsonschema + # requests-cache babel==2.11.0 # via # sphinx # sphinx-intl +cattrs==22.2.0 + # via requests-cache certifi==2022.12.7 # via requests +cffi==1.15.1 + # via pygit2 charset-normalizer==2.1.0 # via requests click==8.1.3 - # via sphinx-intl + # via + # -r requirements.in + # sphinx-intl colorama==0.4.6 # via sphinx-autobuild docutils==0.17.1 @@ -28,28 +39,60 @@ docutils==0.17.1 # sphinxcontrib-opendataservices-jsonschema idna==3.4 # via requests +ijson==3.2.0.post0 + # via ocdskit imagesize==1.4.1 # via sphinx +iniconfig==2.0.0 + # via pytest jinja2==3.1.2 # via # myst-parser # sphinx +jscc==0.2.3 + # via -r requirements.in +json-merge-patch==0.2 + # via + # jscc + # ocdsextensionregistry jsonpointer==2.3 # via # sphinxcontrib-opendataservices # sphinxcontrib-opendataservices-jsonschema jsonref==1.0.1 - # via sphinxcontrib-opendataservices-jsonschema + # via + # jscc + # ocdsextensionregistry + # ocdskit + # ocdsmerge + # sphinxcontrib-opendataservices-jsonschema +jsonschema==4.17.3 + # via -r requirements.in livereload==2.6.3 # via sphinx-autobuild markdown-it-py==2.1.0 # via + # mdformat # mdit-py-plugins # myst-parser markupsafe==2.1.1 # via jinja2 +mdformat==0.7.16 + # via + # mdformat-frontmatter + # mdformat-myst + # mdformat-tables +mdformat-frontmatter==2.0.1 + # via mdformat-myst +mdformat-myst==0.1.5 + # via -r requirements.in +mdformat-tables==0.4.1 + # via mdformat-myst mdit-py-plugins==0.3.3 - # via myst-parser + # via + # mdformat-frontmatter + # mdformat-myst + # myst-parser mdurl==0.1.2 # via markdown-it-py myst-parser==0.18.1 @@ -57,18 +100,54 @@ myst-parser==0.18.1 # -r requirements.in # sphinxcontrib-opendataservices # sphinxcontrib-opendataservices-jsonschema +ocdsextensionregistry==0.2.0 + # via ocdskit +ocdskit==1.1.5 + # via -r requirements.in +ocdsmerge==0.6.6 + # via ocdskit packaging==22.0 - # via sphinx + # via + # pytest + # sphinx +platformdirs==3.5.1 + # via requests-cache +pluggy==1.0.0 + # via pytest +pycparser==2.21 + # via cffi +pygit2==1.12.2 + # via -r requirements.in pygments==2.13.0 # via sphinx +pyrsistent==0.19.3 + # via jsonschema +pytest==7.3.1 + # via -r requirements.in pytz==2022.6 # via babel pyyaml==6.0 # via myst-parser requests==2.28.1 - # via sphinx + # via + # -r requirements.in + # jscc + # ocdsextensionregistry + # ocdsmerge + # requests-cache + # sphinx +requests-cache==1.0.1 + # via ocdsextensionregistry +ruamel-yaml==0.17.32 + # via + # mdformat-frontmatter + # mdformat-myst +ruamel-yaml-clib==0.2.7 + # via ruamel-yaml six==1.16.0 - # via livereload + # via + # livereload + # url-normalize snowballstemmer==2.2.0 # via sphinx sphinx==5.3.0 @@ -81,6 +160,7 @@ sphinx==5.3.0 # sphinx-rtd-theme # sphinx-togglebutton # sphinxcontrib-opendataservices + # sphinxcontrib-plantuml sphinx-autobuild==2021.3.14 # via -r requirements.in sphinx-design==0.3.0 @@ -107,6 +187,8 @@ sphinxcontrib-opendataservices-jsonschema==0.5.1 # via # -r requirements.in # sphinxcontrib-opendataservices +sphinxcontrib-plantuml==0.25 + # via -r requirements.in sphinxcontrib-qthelp==1.0.3 # via sphinx sphinxcontrib-serializinghtml==1.1.5 @@ -115,8 +197,12 @@ tornado==6.2 # via livereload typing-extensions==4.4.0 # via myst-parser +url-normalize==1.4.3 + # via requests-cache urllib3==1.26.11 - # via requests + # via + # requests + # requests-cache wheel==0.40.0 # via sphinx-togglebutton diff --git a/schema/codelists/closed/analysis_type.csv b/schema/codelists/closed/analysis_type.csv new file mode 100644 index 00000000..d2273090 --- /dev/null +++ b/schema/codelists/closed/analysis_type.csv @@ -0,0 +1,4 @@ +Code,Title,Definition +probabilistic,Probabilistic,Simulation of a large number of synthetic events to estimate their likelihood and severity and estimate overall risk. +deterministic,Deterministic,"Deterministic approaches analyse disaster scenarios (e.g., historical or worst-case events) to estimate their impact, but do not consider the full range of possible outcomes and do not quantify the likelihood of each impact." +empirical,Empirical,"Analysis or data relying on observations, such as hazard intensity recorded during a post-event surveys." diff --git a/schema/codelists/closed/country.csv b/schema/codelists/closed/country.csv new file mode 100644 index 00000000..7a3d4af5 --- /dev/null +++ b/schema/codelists/closed/country.csv @@ -0,0 +1,250 @@ +Code,Title +AFG,Afghanistan +ALB,Albania +DZA,Algeria +ASM,American Samoa +AND,Andorra +AGO,Angola +AIA,Anguilla +ATA,Antarctica +ATG,Antigua and Barbuda +ARG,Argentina +ARM,Armenia +ABW,Aruba +AUS,Australia +AUT,Austria +AZE,Azerbaijan +BHS,Bahamas (the) +BHR,Bahrain +BGD,Bangladesh +BRB,Barbados +BLR,Belarus +BEL,Belgium +BLZ,Belize +BEN,Benin +BMU,Bermuda +BTN,Bhutan +BOL,Bolivia (Plurinational State of) +BES,Bonaire +BIH,Bosnia and Herzegovina +BWA,Botswana +BVT,Bouvet Island +BRA,Brazil +IOT,British Indian Ocean Territory (the) +BRN,Brunei Darussalam +BGR,Bulgaria +BFA,Burkina Faso +BDI,Burundi +CPV,Cabo Verde +KHM,Cambodia +CMR,Cameroon +CAN,Canada +CYM,Cayman Islands (the) +CAF,Central African Republic (the) +TCD,Chad +CHL,Chile +CHN,China +CXR,Christmas Island +CCK,Cocos (Keeling) Islands (the) +COL,Colombia +COM,Comoros (the) +COD,Congo (the Democratic Republic of the) +COG,Congo (the) +COK,Cook Islands (the) +CRI,Costa Rica +HRV,Croatia +CUB,Cuba +CUW,Curaçao +CYP,Cyprus +CZE,Czechia +CIV,Côte d'Ivoire +DNK,Denmark +DJI,Djibouti +DMA,Dominica +DOM,Dominican Republic (the) +ECU,Ecuador +EGY,Egypt +SLV,El Salvador +GNQ,Equatorial Guinea +ERI,Eritrea +EST,Estonia +SWZ,Eswatini +ETH,Ethiopia +FLK,Falkland Islands (the) [Malvinas] +FRO,Faroe Islands (the) +FJI,Fiji +FIN,Finland +FRA,France +GUF,French Guiana +PYF,French Polynesia +ATF,French Southern Territories (the) +GAB,Gabon +GMB,Gambia (the) +GEO,Georgia +DEU,Germany +GHA,Ghana +GIB,Gibraltar +GRC,Greece +GRL,Greenland +GRD,Grenada +GLP,Guadeloupe +GUM,Guam +GTM,Guatemala +GGY,Guernsey +GIN,Guinea +GNB,Guinea-Bissau +GUY,Guyana +HTI,Haiti +HMD,Heard Island and McDonald Islands +VAT,Holy See (the) +HND,Honduras +HKG,Hong Kong +HUN,Hungary +ISL,Iceland +IND,India +IDN,Indonesia +IRN,Iran (Islamic Republic of) +IRQ,Iraq +IRL,Ireland +IMN,Isle of Man +ISR,Israel +ITA,Italy +JAM,Jamaica +JPN,Japan +JEY,Jersey +JOR,Jordan +KAZ,Kazakhstan +KEN,Kenya +KIR,Kiribati +PRK,Korea (the Democratic People's Republic of) +KOR,Korea (the Republic of) +KWT,Kuwait +KGZ,Kyrgyzstan +LAO,Lao People's Democratic Republic (the) +LVA,Latvia +LBN,Lebanon +LSO,Lesotho +LBR,Liberia +LBY,Libya +LIE,Liechtenstein +LTU,Lithuania +LUX,Luxembourg +MAC,Macao +MDG,Madagascar +MWI,Malawi +MYS,Malaysia +MDV,Maldives +MLI,Mali +MLT,Malta +MHL,Marshall Islands (the) +MTQ,Martinique +MRT,Mauritania +MUS,Mauritius +MYT,Mayotte +MEX,Mexico +FSM,Micronesia (Federated States of) +MDA,Moldova (the Republic of) +MCO,Monaco +MNG,Mongolia +MNE,Montenegro +MSR,Montserrat +MAR,Morocco +MOZ,Mozambique +MMR,Myanmar +NAM,Namibia +NRU,Nauru +NPL,Nepal +NLD,Netherlands (the) +NCL,New Caledonia +NZL,New Zealand +NIC,Nicaragua +NER,Niger (the) +NGA,Nigeria +NIU,Niue +NFK,Norfolk Island +MNP,Northern Mariana Islands (the) +NOR,Norway +OMN,Oman +PAK,Pakistan +PLW,Palau +PSE,Palestine +PAN,Panama +PNG,Papua New Guinea +PRY,Paraguay +PER,Peru +PHL,Philippines (the) +PCN,Pitcairn +POL,Poland +PRT,Portugal +PRI,Puerto Rico +QAT,Qatar +MKD,Republic of North Macedonia +ROU,Romania +RUS,Russian Federation (the) +RWA,Rwanda +REU,Réunion +BLM,Saint Barthélemy +SHN,Saint Helena +KNA,Saint Kitts and Nevis +LCA,Saint Lucia +MAF,Saint Martin (French part) +SPM,Saint Pierre and Miquelon +VCT,Saint Vincent and the Grenadines +WSM,Samoa +SMR,San Marino +STP,Sao Tome and Principe +SAU,Saudi Arabia +SEN,Senegal +SRB,Serbia +SYC,Seychelles +SLE,Sierra Leone +SGP,Singapore +SXM,Sint Maarten (Dutch part) +SVK,Slovakia +SVN,Slovenia +SLB,Solomon Islands +SOM,Somalia +ZAF,South Africa +SGS,South Georgia and the South Sandwich Islands +SSD,South Sudan +ESP,Spain +LKA,Sri Lanka +SDN,Sudan (the) +SUR,Suriname +SJM,Svalbard and Jan Mayen +SWE,Sweden +CHE,Switzerland +SYR,Syrian Arab Republic +TWN,Taiwan (Province of China) +TJK,Tajikistan +TZA,Tanzania +THA,Thailand +TLS,Timor-Leste +TGO,Togo +TKL,Tokelau +TON,Tonga +TTO,Trinidad and Tobago +TUN,Tunisia +TUR,Turkey +TKM,Turkmenistan +TCA,Turks and Caicos Islands (the) +TUV,Tuvalu +UGA,Uganda +UKR,Ukraine +ARE,United Arab Emirates (the) +GBR,United Kingdom of Great Britain and Northern Ireland (the) +UMI,United States Minor Outlying Islands (the) +USA,United States of America (the) +URY,Uruguay +UZB,Uzbekistan +VUT,Vanuatu +VEN,Venezuela (Bolivarian Republic of) +VNM,Viet Nam +VGB,Virgin Islands (British) +VIR,Virgin Islands (U.S.) +WLF,Wallis and Futuna +ESH,Western Sahara +YEM,Yemen +ZMB,Zambia +ZWE,Zimbabwe +ALA,Åland Islands diff --git a/schema/codelists/closed/currency.csv b/schema/codelists/closed/currency.csv new file mode 100644 index 00000000..48b46b8c --- /dev/null +++ b/schema/codelists/closed/currency.csv @@ -0,0 +1,303 @@ +Code,Title,Valid Until +AED,UAE Dirham, +AFN,Afghani, +ALL,Lek, +AMD,Armenian Dram, +ANG,Netherlands Antillean Guilder, +AOA,Kwanza, +ARS,Argentine Peso, +AUD,Australian Dollar, +AWG,Aruban Florin, +AZN,Azerbaijan Manat, +BAM,Convertible Mark, +BBD,Barbados Dollar, +BDT,Taka, +BGN,Bulgarian Lev, +BHD,Bahraini Dinar, +BIF,Burundi Franc, +BMD,Bermudian Dollar, +BND,Brunei Dollar, +BOB,Boliviano, +BOV,Mvdol, +BRL,Brazilian Real, +BSD,Bahamian Dollar, +BTN,Ngultrum, +BWP,Pula, +BYN,Belarusian Ruble, +BZD,Belize Dollar, +CAD,Canadian Dollar, +CDF,Congolese Franc, +CHE,WIR Euro, +CHF,Swiss Franc, +CHW,WIR Franc, +CLF,Unidad de Fomento, +CLP,Chilean Peso, +CNY,Yuan Renminbi, +COP,Colombian Peso, +COU,Unidad de Valor Real, +CRC,Costa Rican Colon, +CUC,Peso Convertible, +CUP,Cuban Peso, +CVE,Cabo Verde Escudo, +CZK,Czech Koruna, +DJF,Djibouti Franc, +DKK,Danish Krone, +DOP,Dominican Peso, +DZD,Algerian Dinar, +EGP,Egyptian Pound, +ERN,Nakfa, +ETB,Ethiopian Birr, +EUR,Euro, +FJD,Fiji Dollar, +FKP,Falkland Islands Pound, +GBP,Pound Sterling, +GEL,Lari, +GHS,Ghana Cedi, +GIP,Gibraltar Pound, +GMD,Dalasi, +GNF,Guinean Franc, +GTQ,Quetzal, +GYD,Guyana Dollar, +HKD,Hong Kong Dollar, +HNL,Lempira, +HRK,Kuna, +HTG,Gourde, +HUF,Forint, +IDR,Rupiah, +ILS,New Israeli Sheqel, +INR,Indian Rupee, +IQD,Iraqi Dinar, +IRR,Iranian Rial, +ISK,Iceland Krona, +JMD,Jamaican Dollar, +JOD,Jordanian Dinar, +JPY,Yen, +KES,Kenyan Shilling, +KGS,Som, +KHR,Riel, +KMF,Comorian Franc, +KPW,North Korean Won, +KRW,Won, +KWD,Kuwaiti Dinar, +KYD,Cayman Islands Dollar, +KZT,Tenge, +LAK,Lao Kip, +LBP,Lebanese Pound, +LKR,Sri Lanka Rupee, +LRD,Liberian Dollar, +LSL,Loti, +LYD,Libyan Dinar, +MAD,Moroccan Dirham, +MDL,Moldovan Leu, +MGA,Malagasy Ariary, +MKD,Denar, +MMK,Kyat, +MNT,Tugrik, +MOP,Pataca, +MRU,Ouguiya, +MUR,Mauritius Rupee, +MVR,Rufiyaa, +MWK,Malawi Kwacha, +MXN,Mexican Peso, +MXV,Mexican Unidad de Inversion (UDI), +MYR,Malaysian Ringgit, +MZN,Mozambique Metical, +NAD,Namibia Dollar, +NGN,Naira, +NIO,Cordoba Oro, +NOK,Norwegian Krone, +NPR,Nepalese Rupee, +NZD,New Zealand Dollar, +OMR,Rial Omani, +PAB,Balboa, +PEN,Sol, +PGK,Kina, +PHP,Philippine Peso, +PKR,Pakistan Rupee, +PLN,Zloty, +PYG,Guarani, +QAR,Qatari Rial, +RON,Romanian Leu, +RSD,Serbian Dinar, +RUB,Russian Ruble, +RWF,Rwanda Franc, +SAR,Saudi Riyal, +SBD,Solomon Islands Dollar, +SCR,Seychelles Rupee, +SDG,Sudanese Pound, +SEK,Swedish Krona, +SGD,Singapore Dollar, +SHP,Saint Helena Pound, +SLL,Leone, +SOS,Somali Shilling, +SRD,Surinam Dollar, +SSP,South Sudanese Pound, +STN,Dobra, +SVC,El Salvador Colon, +SYP,Syrian Pound, +SZL,Lilangeni, +THB,Baht, +TJS,Somoni, +TMT,Turkmenistan New Manat, +TND,Tunisian Dinar, +TOP,Pa’anga, +TRY,Turkish Lira, +TTD,Trinidad and Tobago Dollar, +TWD,New Taiwan Dollar, +TZS,Tanzanian Shilling, +UAH,Hryvnia, +UGX,Uganda Shilling, +USD,US Dollar, +USN,US Dollar (Next day), +UYI,Uruguay Peso en Unidades Indexadas (UI), +UYU,Peso Uruguayo, +UYW,Unidad Previsional, +UZS,Uzbekistan Sum, +VES,Bolívar Soberano, +VND,Dong, +VUV,Vatu, +WST,Tala, +XAF,CFA Franc BEAC, +XAG,Silver, +XAU,Gold, +XBA,Bond Markets Unit European Composite Unit (EURCO), +XBB,Bond Markets Unit European Monetary Unit (E.M.U.-6), +XBC,Bond Markets Unit European Unit of Account 9 (E.U.A.-9), +XBD,Bond Markets Unit European Unit of Account 17 (E.U.A.-17), +XCD,East Caribbean Dollar, +XDR,SDR (Special Drawing Right), +XOF,CFA Franc BCEAO, +XPD,Palladium, +XPF,CFP Franc, +XPT,Platinum, +XSU,Sucre, +XTS,Codes specifically reserved for testing purposes, +XUA,ADB Unit of Account, +XXX,The codes assigned for transactions where no currency is involved, +YER,Yemeni Rial, +ZAR,Rand, +ZMW,Zambian Kwacha, +ZWL,Zimbabwe Dollar, +ADP,Andorran Peseta,2003-07 +AFA,Afghani,2003-01 +ALK,Old Lek,1989-12 +AOK,Kwanza,1991-03 +AON,New Kwanza,2000-02 +AOR,Kwanza Reajustado,2000-02 +ARA,Austral,1992-01 +ARP,Peso Argentino,1985-07 +ARY,Peso,1989/1990 +ATS,Schilling,2002-03 +AYM,Azerbaijan Manat,2005-10 +AZM,Azerbaijanian Manat,2005-12 +BAD,Dinar,1998-07 +BEC,Convertible Franc,1990-03 +BEF,Belgian Franc,2002-03 +BEL,Financial Franc,1990-03 +BGJ,Lev A/52,1989/1990 +BGK,Lev A/62,1989/1990 +BGL,Lev,2003-11 +BOP,Peso boliviano,1987-02 +BRB,Cruzeiro,1986-03 +BRC,Cruzado,1989-02 +BRE,Cruzeiro,1993-03 +BRN,New Cruzado,1990-03 +BRR,Cruzeiro Real,1994-07 +BUK,Kyat,1990-02 +BYB,Belarusian Ruble,2001-01 +BYR,Belarusian Ruble,2017-01 +CHC,WIR Franc (for electronic),2004-11 +CSD,Serbian Dinar,2006-10 +CSJ,Krona A/53,1989/1990 +CSK,Koruna,1993-03 +CYP,Cyprus Pound,2008-01 +DDM,Mark der DDR,1990-07/1990-09 +DEM,Deutsche Mark,2002-03 +ECS,Sucre,2000-09 +ECV,Unidad de Valor Constante (UVC),2000-09 +EEK,Kroon,2011-01 +ESA,Spanish Peseta,1978/1981 +ESB,"""A"" Account (convertible Peseta Account)",1994-12 +ESP,Spanish Peseta,2002-03 +FIM,Markka,2002-03 +FRF,French Franc,2002-03 +GEK,Georgian Coupon,1995-10 +GHC,Cedi,2008-01 +GHP,Ghana Cedi,2007-06 +GNE,Syli,1989-12 +GNS,Syli,1986-02 +GQE,Ekwele,1986-06 +GRD,Drachma,2002-03 +GWE,Guinea Escudo,1978/1981 +GWP,Guinea-Bissau Peso,1997-05 +HRD,Croatian Dinar,1995-01 +IEP,Irish Pound,2002-03 +ILP,Pound,1978/1981 +ILR,Old Shekel,1989/1990 +ISJ,Old Krona,1989/1990 +ITL,Italian Lira,2002-03 +LAJ,Pathet Lao Kip,1979-12 +LSM,Loti,1985-05 +LTL,Lithuanian Litas,2014-12 +LTT,Talonas,1993-07 +LUC,Luxembourg Convertible Franc,1990-03 +LUF,Luxembourg Franc,2002-03 +LUL,Luxembourg Financial Franc,1990-03 +LVL,Latvian Lats,2014-01 +LVR,Latvian Ruble,1994-12 +MGF,Malagasy Franc,2004-12 +MLF,Mali Franc,1984-11 +MRO,Ouguiya,2017-12 +MTL,Maltese Lira,2008-01 +MTP,Maltese Pound,1983-06 +MVQ,Maldive Rupee,1989-12 +MXP,Mexican Peso,1993-01 +MZE,Mozambique Escudo,1978/1981 +MZM,Mozambique Metical,2006-06 +NIC,Cordoba,1990-10 +NLG,Netherlands Guilder,2002-03 +PEH,Sol,1989/1990 +PEI,Inti,1991-07 +PES,Sol,1986-02 +PLZ,Zloty,1997-01 +PTE,Portuguese Escudo,2002-03 +RHD,Rhodesian Dollar,1978/1981 +ROK,Leu A/52,1989/1990 +ROL,Old Leu,2005-06 +RUR,Russian Ruble,2004-01 +SDD,Sudanese Dinar,2007-07 +SDP,Sudanese Pound,1998-06 +SIT,Tolar,2007-01 +SKK,Slovak Koruna,2009-01 +SRG,Surinam Guilder,2003-12 +STD,Dobra,2017-12 +SUR,Rouble,1990-12 +TJR,Tajik Ruble,2001-04 +TMM,Turkmenistan Manat,2009-01 +TPE,Timor Escudo,2002-11 +TRL,Old Turkish Lira,2005-12 +UAK,Karbovanet,1996-09 +UGS,Uganda Shilling,1987-05 +UGW,Old Shilling,1989/1990 +USS,US Dollar (Same day),2014-03 +UYN,Old Uruguay Peso,1989-12 +UYP,Uruguayan Peso,1993-03 +VEB,Bolivar,2008-01 +VEF,Bolívar,2018-08 +VNC,Old Dong,1989/1990 +XEU,European Currency Unit (E.C.U),1999-01 +XFO,Gold-Franc,2006-10 +XFU,UIC-Franc,2013-11 +XRE,RINET Funds Code,1999-11 +YDD,Yemeni Dinar,1991-09 +YUD,New Yugoslavian Dinar,1990-01 +YUM,New Dinar,2003-07 +YUN,Yugoslavian Dinar,1995-11 +ZAL,Financial Rand,1995-03 +ZMK,Zambian Kwacha,2012-12 +ZRN,New Zaire,1999-06 +ZRZ,Zaire,1994-02 +ZWC,Rhodesian Dollar,1989-12 +ZWD,Zimbabwe Dollar,2008-08 +ZWN,Zimbabwe Dollar (new),2006-09 +ZWR,Zimbabwe Dollar,2009-06 diff --git a/schema/codelists/closed/data_calculation_type.csv b/schema/codelists/closed/data_calculation_type.csv new file mode 100644 index 00000000..923ae1b3 --- /dev/null +++ b/schema/codelists/closed/data_calculation_type.csv @@ -0,0 +1,4 @@ +Code,Title,Definition +inferred,Inferred,Original data from during an event. +observed,Observed,Post-event observation data such as post-event damage surveys. +simulated,Simulated,Numerical simulation data. diff --git a/schema/codelists/closed/exposure_category.csv b/schema/codelists/closed/exposure_category.csv new file mode 100644 index 00000000..287fb0ed --- /dev/null +++ b/schema/codelists/closed/exposure_category.csv @@ -0,0 +1,6 @@ +Code,Label,Definition +agriculture,Agriculture,"Agriculture including crops, livestock and agribusiness." +buildings,Buildings,"Residential, commercial, industrial and public-service buildings such as education, healthcare, governmental buildings, etc." +infrastructure,Infrastructure,"Lifelines infrastructure, including transport, communications, energy, water." +population,Population,People. +natural_environment,Natural environment,"The natural environment, including forestry and other types of vegetation." diff --git a/schema/codelists/closed/frequency_distribution.csv b/schema/codelists/closed/frequency_distribution.csv new file mode 100644 index 00000000..622908a4 --- /dev/null +++ b/schema/codelists/closed/frequency_distribution.csv @@ -0,0 +1,5 @@ +Code,Title,Description +poisson,Poisson,Data modelled using a poisson distribution. +negative_binomial,Negative Binomial,Data modelled using a negative binomial distribution. +user_defined,User defined,Data modelled using a user defined distribution. +generalized_extreme_value,Generalized extreme values,Data modelled using the generalized extreme value distribution. diff --git a/schema/codelists/closed/function_approach.csv b/schema/codelists/closed/function_approach.csv new file mode 100644 index 00000000..5cef77e0 --- /dev/null +++ b/schema/codelists/closed/function_approach.csv @@ -0,0 +1,5 @@ +Code,Title,Definition +analytical,Analytical,Data or function generated using numerical or computational models to simulate the response of a structure under increasing hazard intensities. +empirical,Empirical survey,Data or function generated through regression analysis of historical loss data. +hybrid,Hybrid,Data or function generated using data gathered from the international literature. +judgement,Judgement,Data or function generated through the elicitation of expert opinion (heuristic). diff --git a/schema/codelists/closed/geometry_type.csv b/schema/codelists/closed/geometry_type.csv new file mode 100644 index 00000000..c5932c99 --- /dev/null +++ b/schema/codelists/closed/geometry_type.csv @@ -0,0 +1,7 @@ +Code,Title,Description,Source +Point,Point,The 'coordinates' member is a single position.,https://tools.ietf.org/html/rfc7946#section-3.1 +MultiPoint,MultiPoint,The 'coordinates' member is an array of positions.,https://tools.ietf.org/html/rfc7946#section-3.1 +LineString,LineString,The 'coordinates' member is an array of two or more positions.,https://tools.ietf.org/html/rfc7946#section-3.1 +MultiLineString,MultiLineString,The 'coordinates' member is an array of LineString coordinate arrays.,https://tools.ietf.org/html/rfc7946#section-3.1 +Polygon,Polygon,The 'coordinates' member must be an array of linear ring coordinate arrays.,https://tools.ietf.org/html/rfc7946#section-3.1 +MultiPolygon,MultiPolygon,The 'coordinates' member is an array of Polygon coordinate arrays.,https://tools.ietf.org/html/rfc7946#section-3.1 diff --git a/schema/codelists/closed/hazard_type.csv b/schema/codelists/closed/hazard_type.csv new file mode 100644 index 00000000..9387aa52 --- /dev/null +++ b/schema/codelists/closed/hazard_type.csv @@ -0,0 +1,12 @@ +Code,Title,Description,UNDRRHazardCategory +coastal_flood,Coastal Flood,"Inundation of water from the sea into coastal areas, coastal flooding is most frequently the result of storm surges and high winds coinciding with high tides.",Meteorological and hydrological +convective_storm,Convective Storm,"Convective storms or thunderstorms, are severe local storms formed through the process of convection, whereby heat and moisture are transported vertically in the atmosphere. They are associated with thunder, lightning, heavy rain, hail, strong winds and sudden temperature changes. They can occur all year round but are most common during summer (RMETS, 2020).",Meteorological and hydrological +drought,Drought,"A drought is a period of abnormally dry weather characterised by a prolonged deficiency of precipitation below a certain threshold over a large area and a period longer than a month (WMO, 2020).",Meteorological and hydrological +extreme_temperature,Extreme Temperature,"Temperature extremes including extreme heat and cold, referred to as heat waves and cold waves.",Meteorological and hydrological +flood,Flood,"Inundation of water as a result of rainfall ponding on the surface and/or originating from river channels, includes pluvial flood and fluvial flood.",Meteorological and hydrological +wildfire,Wildfire,"An unplanned or uncontrolled fire affecting natural, cultural, industrial and residential landscapes (adapted from FAO, 2010).",Meteorological and hydrological +strong_wind,Strong Wind,"Storms in which high wind speeds and wind forces contribute to damage, including tropical storms and cyclone, extra-tropical cyclone, and tornado.",Meteorological and hydrological +earthquake,Earthquake,"A sudden slip on a fault, and the resulting ground shaking and radiated seismic energy caused by the slip, volcanic or magmatic activity, or other sudden stress changes in the Earth (USGS, no date).",Geohazards +landslide,Landslide,"The downslope movement of soil, rock and organic materials under the effects of gravity. Includes various sub-types of landslide including rockfall and mudflows.",Geohazards +tsunami,Tsunami,"A series of travelling waves of extremely long length and period, usually generated by ground movement in earthquakes but also caused by landslides, volcanic eruption and meteorological pressure.",Geohazards +volcanic,Volcanic,"Any potentially dangerous volcanic process that puts human lives, livelihoods or infrastructure at risk of harm. Several hazards may affect the area around the volcano, such as lava flows, pyroclastic flows, lahars, jökulhlaups and landslides or debris avalanches with tephra fall, including ashfall further afield (adapted from BGS, 2012).",Geohazards diff --git a/schema/codelists/closed/impact_type.csv b/schema/codelists/closed/impact_type.csv new file mode 100644 index 00000000..085df483 --- /dev/null +++ b/schema/codelists/closed/impact_type.csv @@ -0,0 +1,4 @@ +Code,Title,Definition +direct,Direct,The physical or structural impact caused by the disaster such as the destruction of infrastructure caused by the force of physical processes in an event. +indirect,Indirect,"Subsequent or secondary results of the initial damage or destruction, such as business interruption losses. Indirect losses may be incurred far away from the original affected area or later in time." +total,Total,Combination of direct and indirect losses or impact. diff --git a/schema/codelists/closed/loss_type.csv b/schema/codelists/closed/loss_type.csv new file mode 100644 index 00000000..0d37bb83 --- /dev/null +++ b/schema/codelists/closed/loss_type.csv @@ -0,0 +1,7 @@ +Code,Title,Definition +ground_up,Ground up,Monetary amount indicating the total loss before any impact of insurance is applied. +insured,Insured,Monetary amount of loss that is insured by private or (sub)sovereign insurance solutions. +gross,Gross Loss,"Monetary amount indicating an insurers loss after deductibles, limits or co-insurance are applied, but before any reinsurance." +count,Count,"A number indicating, for example, people affected, displaced, or killed, or assets exposed or damaged." +net_precat,Net Loss Pre-Cat,Modeled loss representing the grosss loss with facultative and per-risk reinsurance applied but not catastrophe treaties. +net_postcat,Net Loss Post-Cat,Modeled loss representing the net-pre-cat loss with catastrophe treaties applied. diff --git a/schema/codelists/closed/metric_dimension.csv b/schema/codelists/closed/metric_dimension.csv new file mode 100644 index 00000000..6ea98ca5 --- /dev/null +++ b/schema/codelists/closed/metric_dimension.csv @@ -0,0 +1,6 @@ +Code,Title,Definition +structure,Structure,Physical structure such as a building or piece of infrastructure. +content,Content,Physical contents of a structure. +product,Product,"Products produced by businesses, which may or may not be physical items." +disruption,Disruption (Business Interruption),Planned operations or service provision of a business or infrastructure. +population,Population,"Injuries, fatalities, and displacements of a population." diff --git a/schema/codelists/closed/process_type.csv b/schema/codelists/closed/process_type.csv new file mode 100644 index 00000000..80c31a2f --- /dev/null +++ b/schema/codelists/closed/process_type.csv @@ -0,0 +1,31 @@ +Code,Title,Definition +coastal_flood,Coastal Flood,"Most frequently the result of storm surges and high winds coinciding with high tides. The surge itself is the result of the raising of sea levels due to low atmospheric pressure. In particular configurations, such as major estuaries or confined sea areas, the piling up of water is amplified by a combination of the shallowing of the seabed and retarding of return flow (WMO, 2011)." +storm_surge,Storm Surge,"Reflects the difference between the actual water level under the influence of a meteorological disturbance (storm tide) and the level which would have occurred in the absence of the meteorological disturbance (i.e., astronomical tide) (WMO, 2008, 2011, 2017)." +tornado,Tornado,"A rotating column of air, extending from the base of a cumuliform cloud, and often visible as a condensation funnel in contact with the ground, and/or attendant circulating dust or debris cloud at the ground (WMO, 2017)." +agricultural_drought,Agricultural Drought,"Occurs when agricultural production becomes affected. It focuses on precipitation shortages, differences between actual evapotranspiration, soil water deficits, reduced groundwater and so on." +hydrological_drought,Hydrological Drought,Occurs when low water supply becomes evident and is associated with the effects of periods of precipitation shortfalls on surface or subsurface water supply. +meteorological_drought,Meteorological Drought,Occurs when dry weather patterns dominate an area. It is defined usually on the basis of the degree of dryness and the duration of the dry period. +socioeconomic_drought,Socio-economic Drought,"Relates the supply and demand of some economic goods with elements of meteorological, hydrological, and agricultural drought. It also occurs when the demand for an economic good exceeds supply as a result of a weather-related shortfall in water supply." +primary_rupture,Primary Rupture,"Earthquake surface ruptures and fissures are localised ground displacements that develop during and immediately after an earthquake. Surface ruptures represent the upward continuation of fault slip at depth, while fissures are smaller displacements, or more distributed deformation in and around the rupture area." +secondary_rupture,Secondary Rupture,"Earthquake ruptures occur due to stress transfer from a primary rupture, causing concurrent or subsequent rupture of intersecting faults in the same fault set." +ground_motion,Ground Motion,Earthquake ground shaking is the movement of the Earth's surface produced by seismic waves that are generated when an earthquake occurs. +liquefaction,Liquefaction,"Soil liquefaction occurs when soil is transformed from a solid to a liquid state as a result of increased pore pressure and reduced effective stress. It is typically caused by rapid loading of the soil during earthquake shaking (AGI, 2017)." +extreme_cold,Extreme cold,"A period of marked and unusual cold weather characterised by a sharp and significant drop in air temperatures near the surface (maximum, minimum and daily average) over a large area and persisting below certain thresholds for at least two consecutive days during the cold season (WMO, 2020)." +extreme_heat,Extreme heat,"A marked unusual period of hot weather over a region persisting for at least two consecutive days during the hot period of the year based on local climatological conditions, with thermal conditions recorded above given thresholds (WMO, 2020)." +fluvial_flood,Fluvial Flood,"A rise, usually brief, in the water level of a stream or water body to a peak from which the water level recedes at a slower rate (WMO, 2012)." +pluvial_flood,Pluvial Flood,"Pluvial flood, or surface water flooding, is caused by rain remaining and ponding on the ground surface during and after rainfall events, and can also include urban flooding, which results form the capacity of urban drainage systems being exceeded." +groundwater_flood,Groundwater Flood,"The emergence of groundwater at the ground surface away from perennial river channels or the rising of groundwater into man-made ground, under conditions where the 'normal' ranges of groundwater level and groundwater flow are exceeded (BGS, 2010)." +snow_avalanche,Snow Avalanche,"A mass of snow and ice falling suddenly down a mountain slope and often taking with it earth, rocks and rubble of every description (WMO, 1992)." +landslide_general,Landslide (general),"The downslope movement of soil, rock and organic materials under the effects of gravity, often triggered by seismic activity or precipitation. This general code can be used to include multiple specific types of landslide activity" +landslide_rockslide,Rockslide,"A movement of a mass of soil or rock on an individualized failure surface (Dennis and Didier, 2019)." +landslide_mudflow,Mudflow,"A flow of water so heavily charged with sediment and debris that the flowing mass is thick and viscous (WMO and UNESCO, 2012)." +landslide_rockfall,Rockfall,"A fragment of rock (a block) detached by sliding, toppling, or falling, that falls along a vertical or sub-vertical cliff." +tsunami,Tsunami,"A series of travelling waves of extremely long length and period, usually generated by disturbances associated with earthquakes occurring below or near the ocean floor, but can also be caused by landslides (subaerial and submarine), volcanic activity and meteorological conditions." +ashfall,Ashfall,"The finest particles of tephra (less than 2 mm diameter) - tephra is a collective term for fragmented magma and old (i.e., preexisting) rocks ejected into the atmosphere from volcanic vents during an explosive eruption." +volcano_ballistics,Ballistics,"Fragments of magma and old (i.e., pre-existing) rocks ejected during an explosive eruption." +lahar,Lahar,"Discrete, rapid, gravity-driven, water-saturated flows containing water and solid particles of volcanic rock, sediment, ice, wood, and other debris that originate at volcanoes." +lava,Lava,"A lava flow forms during an eruption or eruptive episode and travels away from the source vent as fluid, relatively low-viscosity molten rock." +pyroclastic_flow,Pyroclastic Flow,"Also known as pyroclastic density currents these are hot, fast-moving mixtures of volcanic particles and gas that originate from the gravitational collapse of explosive eruption columns, lava domes or lava-flow fronts, and from explosive lateral blasts." +wildfire,Wildfire,"An unplanned or uncontrolled fire affecting natural, cultural, industrial and residential landscapes (UNDRR adapted from FAO, 2010)." +extratropical_cyclone,Extratropical cyclone,"A low-pressure system which develops in latitudes outside the tropics (WMO, 1992)." +tropical_cyclone,Tropical cyclone,"A warm-core, non-frontal synoptic-scale cyclone, originating over tropical or subtropical waters, with organised deep convection and closed surface wind circulation about a well-defined centre (WMO, 2017)." diff --git a/schema/codelists/closed/relationship_type.csv b/schema/codelists/closed/relationship_type.csv new file mode 100644 index 00000000..7120ddb9 --- /dev/null +++ b/schema/codelists/closed/relationship_type.csv @@ -0,0 +1,4 @@ +Code,Title,Definition +math_parametric,Mathematical function (parametric),"A relationship between structural parameters and expected damage, often based on probabilistic models, such as log-normal or beta distribution. They can account for uncertainties and variability in both the seismic hazard and building attributes." +math_bespoke,Mathematical function (bespoke),"A customized or tailored mathematical function that expresses the relationship between the characteristics of a particular type of structure and its vulnerability to hazard, derived through detailed analysis of that structural type." +discrete,Discrete values,"A function that assigns discrete damage states to specific ranges or categories of parameters, such as construction material, structural system or building age. Each range or category is associated with a probability of exceeding a particular damage state." diff --git a/schema/codelists/closed/risk_data_type.csv b/schema/codelists/closed/risk_data_type.csv new file mode 100644 index 00000000..f8ae8923 --- /dev/null +++ b/schema/codelists/closed/risk_data_type.csv @@ -0,0 +1,5 @@ +Code,Title,Description +hazard,Hazard,"Modeled hazard data, including scenario footprints, hazard maps and events sets." +exposure,Exposure,"Exposure data including built assets, natural assets and population." +vulnerability,Vulnerability,Physical and social vulnerability relationships and indexes. +loss,Loss,Modeled risk and impact data including monetary and non-monetary impacts. diff --git a/schema/codelists/closed/seasonality.csv b/schema/codelists/closed/seasonality.csv new file mode 100644 index 00000000..e2be6232 --- /dev/null +++ b/schema/codelists/closed/seasonality.csv @@ -0,0 +1,3 @@ +Code,Title +uniform,Uniform +user_defined,User defined diff --git a/schema/codelists/closed/source_type.csv b/schema/codelists/closed/source_type.csv new file mode 100644 index 00000000..3c9dd77a --- /dev/null +++ b/schema/codelists/closed/source_type.csv @@ -0,0 +1,3 @@ +Code,Title,Definition +dataset,Dataset,Data representing an individual risk data component that is used as input by the model. +model,Model,An analytical approach that combines different component's datasets into one output. diff --git a/schema/codelists/closed/spatial_scale.csv b/schema/codelists/closed/spatial_scale.csv new file mode 100644 index 00000000..469c327d --- /dev/null +++ b/schema/codelists/closed/spatial_scale.csv @@ -0,0 +1,5 @@ +Code,Title,Definition +global,Global,The entire world. +regional,Regional,"A supranational region, e.g. Africa." +national,National,A country. +sub-national,Sub-national,A sub-national administrative division. diff --git a/schema/codelists/open/IMT.csv b/schema/codelists/open/IMT.csv new file mode 100644 index 00000000..3dde0e1f --- /dev/null +++ b/schema/codelists/open/IMT.csv @@ -0,0 +1,52 @@ +Code,Title,Metric,Unit,Description +PGA:g,Peak ground acceleration in g,PGA,g,"The largest *increase* in velocity recorded at a particular location during an earthquake. Expressed in g - the standard acceleration due to Earth's gravity, equivalent to g-force (1 g = 9.81 m/s2)." +PGA:gal,Peak ground acceleration in gal,PGA,gal,"The largest *increase* in velocity recorded at a particular location during an earthquake. Expressed in multiples of gal, where 1 gal is equal to 0.01 m/s2 (1 g = 981 gal)." +PGA:m/s2,Peak ground acceleration in m/s^2,PGA,m/s2,The largest *increase* in velocity recorded at a particular location during an earthquake. Expressed in meters per second squared (m/s2). +PGV:m/s,Peak ground velocity in m/s,PGV,m/s,The greatest speed of ground shaking recorded at a particular location during an earthquake. Expressed in meters per second (m/s). +AvgSa:m/s2,Average spectral acceleration in m/s^2,AvgSa,m/s2,Rhe mean of the spectral accelerations at a set of periods that are crucial for risk assessment and loss estimation of a structure of interest. Expressed in meters per second squared (m/s2). +Sd(T1):m,Spectral displacement,Sd(T1),m,"The maximum displacement experienced by a structure, as modelled by a mass on a vertical spring having the same natural period of vibration, T, as the building. Expressed in meters (m)." +Sv(T1):m/s,Spectral velocity,Sv(T1),m/s,"The maximum velocity experienced by a structure, as modelled by a mass on a vertical spring having the same natural period of vibration, T, as the building. Expressed in meters per second (m/s)." +PGDf:m,Permanent ground deformation,PGDf,m,The displacement of the ground surface due to the movement of a fault. Expressed in meters (m). +D:s,Significant duration,D,s,The time interval over which the integral of the square of the ground acceleration is within a defined percentage range. Expressed in seconds (s). +IA:m/s,Arias intensity (Iα) or (IA) or (Ia),IA,m/s,A measure of the strength of ground motion. Expressed in meters per second (m/s). +Neq:-,Effective number of cycles,Neq,,"A relationship between the total number of cycles, amplitude of each half cycle, the amplitude of the largest half cycle, and an application-dependent damage coefficient." +EMS:-,European macroseismic scale,EMS,,"A dimensionless scale of seismic intensity. EMS-98 intensity denotes how strongly an earthquake affects a specific place, with 12 classes I (Not felt) to XII (Completely devastating)." +MMI:-,Modified Mercalli Intensity,MMI,,"A dimensionless scale of seismic intensity. MMI intensity denotes how strongly an earthquake affects a specific place, with 10 classes I (Not felt) to X (Extreme)." +CAV:m/s,Cumulative absolute velocity,CAV,m/s,"The relationship between absolute value of acceleration at time t, relative to total duration of the ground motion record. Expressed in meters per second (m/s)." +D_B:s,Bracketed duration,D_B,s,The time elapsed between the first and last excursions beyond a specified threshold acceleration (typically 0.05 g or 0.1 g). Expressed in seconds (s). +fl_wd:m,Flood water depth (m),fl_wd,m,The depth of flood waters measured relative to the normal limits of the body of water responsible. Expressed in meters (m). +fl_wv:m/s,Flood flow velocity (m/s),fl_wv,m/s,The rate at which flood waters move. Expressed in meters per second (m/s). +v_ect(3s):km/h,3-sec at 10m sustained wind speed (kph),v_ect(3s),km/h,"The average speed of the wind over a 3-second time period, measured at a height of 10 meters (about 33 feet) above the ground or sea surface. Expressed in kilometers per hour (kph)." +v_ect(1m):km/h,1-min at 10m sustained wind speed (kph),v_ect(1m),km/h,"The average speed of the wind over a 1-minute time period, measured at a height of 10 meters (about 33 feet) above the ground or sea surface. Expressed in kilometers per hour (kph)." +v_etc(10m):km/h,10-min sustained wind speed (kph),v_ect(10m),km/h,The average wind speed over a period of 10 minutes. Expressed in kilometers per hour (kph). +PGWS_tcy:km/h,Peak gust wind speed,PGWS_tcy,km/h,The peak gust wind speed in the open terrain. Expressed in kilometers per hour (kph). +ls_fd:m,Landslide flow depth,ls_fd,m,The depth of the landslide flow. Expressed in meters (m). +I_DF:m3/s2,Debris-flow intensity index,I_DF,m3/s2,A landslide intensity index proposed by Jakob et al. (2012). Expressed in meters cubed per second squared (m3/s2). +v_lsl:m/s2,Landslide flow velocity,v_lsl,m/s2,The impact velocity of a landslide. Expressed in meters per second squared (m/s2). +ls_mfd:m,Maximum foundation displacement,ls_mfd,m,The maximum (absolute) foundation displacement due to landslide. Expressed in meters (m). +SD_lsl:m,Landslide displacement,SD_lsl,m,The displacement associated with the slow moving landslides. Expressed in meters (m). +Rh_tsi:m,Tsunami wave runup height (m),Rh_tsi,m,"The height reached by water measured relative to a stated datum such as mean sea level, mean low water, sea level at the time of the tsunami. Expressed in meters (m)." +d_tsi:m,Tsunami inundation depth (m),d_tsi,m,"The depth of the water from a tsunami, measured on shore in different locations. Expressed in meters (m)." +h_tsi:m,Tsunami wave height,h_tsi,m,"The vertical distance between the trough (lowest point) and crest (highest point) of a tsunami wave. It is a measure of the amplitude or size of the wave, indicating the magnitude of the water displacement caused by the tsunami. Expressed in meters (m)." +v_tsi:m/s,Tsunami velocity,v_tsi,m/s,The peak tsunami velocity generally calculated from numerical simulation as the vector sum of the velocity components in the directions of the two orthogonal axes of the 2D flow calculation. Expressed in meters per second (m/s). +Fh_tsi:m,Tsunami Horizontal Force,Fh_tsi,m,The lateral or horizontal force exerted by a tsunami. Expressed in meters (m). +MF:m3/s2,Momentum flux,MF,m3/s2,"A vector in the direction of flow, of magnitude equal to the mass-flow per unit area. Expressed in meters cubed per seconds squared (m3/s2)." +MMF:m4/s2,Modified momentum flux,MMF,M4/s2,"The product of momentum flux and inundation depth, considered a proxy for the overturning moment induced by the flow. Expressed in meters to the fourth per seconds squared (m4/s2)." +F_drag:kN,Drag force,F_drag,kN,The force exerted on an object (per unit width perpendicular to the direction of flow) due to the movement of a surrounding fluid. Expressed in kilo Newtons (kN). +Fr:-,Froude number,Fr,,A measure of flow velocity non-dimensionalized by the gravity-wave velocity. +F_QS:kN,Quasi-steady force,F_QS,kN,Steady-state force estimation considering choked and sub-critical flow for a body of width b in a channel of width w. Expressed in kilo Newtons (kN). +h_vaf:mm,Accumulated ashfall thickness (mm),h_vaf,mm,Accumulated depth or thickness of ash following a volcanic eruption. Expressed in meters (m). +L_vaf:kg/m2,Ash loading,L_vaf,kg/m2,The load of accumulated volcanic ash measured in kilograms per square meter (km/m^2). +ASI:per,Agricultural Stress Index,ASI,per,A quick-look indicator that facilitates the early identification of cropped land with a high likelihood of water stress (drought). Expressed as a percentage (per). +DI:-,Drought Intensity,DI,,"Agricultural droughts are classified by their intensity and are categorized into four classes: Extreme, Severe, Moderate or Mild. The intensity of the drought is calculated through the Weighted Mean Vegetation Health Index aggregated per GAUL 2 region. Source: FAO Seasonal Global Indicators." +WMVHI:-,Weighted Mean Vegetation Health Index,WMVHI,,"Allows the user to assess the severity of the drought from the start of the growing season, examining the vegetation health and the influence of temperature on plant conditions. Source: FAO Seasonal Global Indicators." +NDVI:-,Normalized Difference Vegetation Index,NDVI,,"Measures the 'greenness' of ground cover and is used as a proxy to indicate the density and health of vegetation. NDVI values range from +1 to -1, with high positive values corresponding to dense and healthy vegetation, and low and/or negative NDVI values indicating poor vegetation conditions or sparse vegetative cover. The NDVI anomaly indicates the variation of the current dekad to the long-term average. Source: FAO Global Indicators." +VCI:-,Vegetation Condition Index,VCI,,"Evaluates the current vegetation health in comparison to the historical trends. The VCI relates current dekadal Normalized Difference Vegetation Index (NDVI) to its long-term minimum and maximum, normalized by the historical range of NDVI values for the same dekad. The VCI was designed to separate the weather-related component of the NDVI from the ecological element. Source: FAO Global Indicators." +VHI:-,Vegetation Health Index,VHI,,Illustrates the severity of drought based on the vegetation health and the influence of temperature on plant conditions. The VHI is a composite index and the elementary indicator used to compute the ASI. It combines both the Vegetation Condition Index (VCI) and the Temperature Condition Index (TCI). Source: FAO Global Indicators. +CMI:-,Crop Moisture Index,CMI,,The CMI (Eight classes from 'Severely Dry' to 'Excessively Wet') gives the short-term or current status of purely agricultural drought or moisture surplus and can change rapidly from week to week. The CMI indicate general conditions and not local variations caused by isolated rain. Source: https://www.drought.gov/data-maps-tools/crop-moisture-index-cmi. +PDSI:-,Palmer Drought Severity Index,PDSI,,An estimate of relative dryness. It is a standardized index that generally spans -10 (dry) to +10 (wet). Source: https://climatedataguide.ucar.edu/climate-data/palmer-drought-severity-index-pdsi. +SPI:-,Standard Precipitation Index,SPI,,"An index to characterize meteorological drought on a range of timescales. On short timescales, the SPI is closely related to soil moisture, while at longer timescales, the SPI can be related to groundwater and reservoir storage. Source: https://climatedataguide.ucar.edu/climate-data/standardized-precipitation-index-spi" +SPEI:-,Standard Precipitation Evapotranspiration Index,SPEI,,An extension of the Standardized Precipitation Index (SPI). The SPEI is designed to take into account both precipitation and potential evapotranspiration (PET) in determining drought. Source: https://climatedataguide.ucar.edu/climate-data/standardized-precipitation-evapotranspiration-index-spei. +WBGT:c,Wet Bulb Globe Temperature in Celsius,WBGT,c,"A measure of the heat stress in direct sunlight, which takes into account: temperature, humidity, wind speed, sun angle and cloud cover (solar radiation). Expressed in degrees celsius (c)." +FWI:-,Fire Weather Index,FWI,,"A meteorologically based dimensionless index used worldwide to estimate fire danger. It consists of different components that account for the effects of fuel moisture and wind on fire behaviour and spread. The higher the FWI is, the more favourable the meteorological conditions to trigger a wildfire." +MHI:-,Multi-Hazard Index,MHI,,An index describing the prevalence of multiple hazards. diff --git a/schema/codelists/open/classification_scheme.csv b/schema/codelists/open/classification_scheme.csv new file mode 100644 index 00000000..a2a46d18 --- /dev/null +++ b/schema/codelists/open/classification_scheme.csv @@ -0,0 +1,6 @@ +Code,Title,Definition,Source,Category +GED4ALL-socio-economic,GED4ALL socio-economic taxonomy,The socio-economic taxonomy defined in the Global Exposure Database for Multi-Hazard Risk Analysis (GED4ALL).,https://wiki.openstreetmap.org/wiki/GED4ALL#Socio-Economic,Socio-economic index +MOVER-social-vulnerability-categories,MOVER social vulnerability categories,The social vulnerability categories defined in the Multi-Hazard Open Vulnerability Platform for Evaluating Risk (MOVER).,https://www.gfdrr.org/en/publication/mover,Socio-economic index +GLIDE,Global Identifier Numbers,Identification codes generated by GLIDE since 2004 for all new disaster events reported by the Asian Disaster Reduction Center and GLIDE partner organizations.,https://www.glidenumber.net/glide/public/search/search.jsp,Distaster identifier +EMDAT,EM-DAT International Disaster Database,"EM-DAT contains data on the occurrence and impacts of over 26,000 mass disasters worldwide from 1900 to the present day. The database is compiled from various sources, including UN agencies, non-governmental organizations, reinsurance companies, research institutes, and press agencies. The Centre for Research on the Epidemiology of Disasters (CRED) distributes the data in open access for non-commercial use.",https://www.emdat.be/,Disaster identifier +USGS_EHP,USGS Earthquake Hazards Program,"The USGS monitors and reports on earthquakes globally, assigning each reported event a unique identifier. These event identifiers are used in the associated USGS products including PAGER, ShakeMap and DYFI.",https://earthquake.usgs.gov/earthquakes/search/,Disaster identifier diff --git a/schema/codelists/open/damage_scale_name.csv b/schema/codelists/open/damage_scale_name.csv new file mode 100644 index 00000000..635fb96c --- /dev/null +++ b/schema/codelists/open/damage_scale_name.csv @@ -0,0 +1,14 @@ +Code,Title,Definition +EMS-98,EMS-98 (Grünthal 1998),"Scale for earthquake hazard, RC and Masonry construction, with 5 damage states." +HAZUS-MH_MR4,HAZUS-MH MR4 (FEMA 2003),"Scale for earthquake hazard, US building types, with 5 damage states." +Vision_2000,Vision 2000 (SEAOC 1995),"Scale for earthquake hazard, RC and Masonry construction, with 5 damage states." +FEMA_356,FEMA 356 (FEMA 2000),"Scale for earthquake hazard, RC and Masonry construction, with 4 damage states." +Milutinovic_Trendafiloski_2003,Milutinovic and Trendafiloski (2003),"Scale for earthquake hazard, RC and Masonry construction, with 6 damage states." +Blong_2003,Blong (2003),"Scale for earthquake hazard, RC and Masonry construction, with 6 damage states." +HRC,HRC (Rossetto and Elnashai 2003),"Scale for earthquake hazard, RC construction, with 7 damage states." +Crowley_2004,Crowley et al (2004),"Scale for earthquake and landslide hazards, RC construction, with 4 damage states." +Lang_Bachmann_2004,Lang and Bachmann (2004),"Scale for earthquake and landslide hazards, masonry construction, with 6 damage states." +GNDT_2010,GNDT 2010,"Scale for earthquake hazard, Italian building types, with 4 damage states." +JapanCO_2013,Japan Cabinet Office (2013),"Scale for tsunami hazard, RC masonry and timber construction, with 6 damage states." +EEFIT_2006,EEFIT (2006),"Scale for tsunami hazard, RC construction, with 5 damage states." +Fraser_2013,Fraser et al. (2013),"Scale for tsunami hazard, RC masonry and timber construction, with 5 damage states." diff --git a/schema/codelists/open/data_formats.csv b/schema/codelists/open/data_formats.csv new file mode 100644 index 00000000..65b47143 --- /dev/null +++ b/schema/codelists/open/data_formats.csv @@ -0,0 +1,11 @@ +Code,Title,Definition +api,api,Application Programming Interface +csv,csv,Comma Separated Values +json,json,JavaScript Object Notation +geojson,geojson,Geographic JavaScript Object Notation +shp,shapefile,ESRI Shapefile +gpkg,geopackage,GeoPackage +geotiff,geotiff,GeoTiff +md,markdown,Markdown +pdf,pdf,Portable Document Format +website,website,External website diff --git a/schema/codelists/open/engineering_demand_parameter.csv b/schema/codelists/open/engineering_demand_parameter.csv new file mode 100644 index 00000000..7100269b --- /dev/null +++ b/schema/codelists/open/engineering_demand_parameter.csv @@ -0,0 +1,7 @@ +Code,Title,Definition +PA_dmg_index,Park-Ang damage index,"The Park-Ang damage index (Park et al., 1987) accounts for the effect of maximum deformation and cyclic loads." +peak_floor_acc,Peak floor acceleration,The maximum acceleration at any floor within a structure during an earthquake. +roof_drift,Roof drift ratio,The ratio of the peak lateral roof displacement to the building height. +max_interstorey_drift_ratio,Maximum inter-storey drift ratio,The maximum interstorey drift ratio across all floors. +interstorey_drift_ratio_i,Interstorey drift ratio for storey i,"The peak (over time) interstorey drift ratio, and is calculated as the largest difference between the lateral displacements of two adjacent floors, divided by the height of the storey." +demand_capacity_ratio,Demand to capacity ratio,The ratio between the external actions applied to the structure (demand) over the ability of the structure to carry the imposed actions (capacity). A D/C ratio >1 indicates failure. diff --git a/schema/codelists/open/impact_metric.csv b/schema/codelists/open/impact_metric.csv new file mode 100644 index 00000000..1278f0dc --- /dev/null +++ b/schema/codelists/open/impact_metric.csv @@ -0,0 +1,21 @@ +Code,Title,Definition,Category +damage_ratio,Damage ratio,The estimated repair cost of an asset divided by the total replacement cost of the asset [0-n] used in vulnerability functions.,Vulnerability +mean_damage_ratio,Mean damage ratio,The mean value in a distribution of estimated repair costs divided by the total replacement cost of an asset [0-n] used in vulnerability functions.,Vulnerability +probability,Probability,The probability of reaching or exceeding a damage limit state specified in a fragility function [%].,Vulnerability +damage_index,Damage index,"A specified index or classification of damage levels, which may be numeric or non-numeric.",Vulnerability +loss_ratio,Loss ratio,"The loss to an asset divided by the total replacement cost of the asset [0-n] as a function of damage state, used in damage-to-loss-models.",Vulnerability +mean_loss_ratio,Mean Loss Ratio,"The mean loss ratio in a distribution of losses divided by the total replacement cost of the asset [0-n] as a function of damage state, used in damage-to-loss-models.",Vulnerability +downtime_vulnerability,Downtime (vulnerability),"Duration of downtime, used in vulnerability modelling of business or service interruption.",Vulnerability +casualty_ratio_vulnerability,Casualty ratio (vulnerability),The number of expected casualties or fatalities as a proportion of total inhabitants of and asset or population [0-1] used in casualty or mortality functions.,Vulnerability +economic_loss_value,Total economic loss,"The monetary value of estimated economic impact or total loss (ground up loss in insurance terminology). Impact_type denotes whether this refers to total, direct, or indirect loss.",Loss +insured_loss_value,Total insured loss,The monetary value of estimated insured losses.,Loss +loss_ratio,Loss Ratio,"Estimated loss as a proportion of total replacement cost or insured value. Impact_type denotes whether this refers to total, direct, or indirect loss.",Loss +casualty_count,Number of casualties (fatalities),The estimated number of casualties or fatalities.,Loss +casualty_ratio_loss,Casualty ratio (loss),Proportion of estimated casualties or fatalities in the total population.,Loss +loss_annual_average_value,Annual average loss,"Expected loss over a one-year time period according to long-term averages. Impact_type denotes whether this refers to total, direct, or indirect loss.",Loss +loss_probable_maximum_value,Probable Maximum Loss,Estimated maximum loss occurring at a given exceedance probability or return period.,Loss +at_risk_value,Value at Risk,Estimated minimum loss likely to be equalled or exceeded in a given year for a given probability.,Loss +at_risk_tail_value,Tail Value at Risk,Estimated losses at or exceeding a specified value at risk VaR (estimate of average losses given that a severity threshold has been exceeded).,Loss +downtime_loss,Downtime (loss),Duration of downtime (business or service interruption).,Loss +asset_loss,Number of assets,"The estimated number of structures, or length of infrastructure, damaged.",Loss +displaced_count,Number of people displaced,The estimated number of people displaced due to physical damage and disruption.,Loss diff --git a/schema/codelists/open/impact_unit.csv b/schema/codelists/open/impact_unit.csv new file mode 100644 index 00000000..1f27f2ed --- /dev/null +++ b/schema/codelists/open/impact_unit.csv @@ -0,0 +1,11 @@ +Code,Title +percentage,Percentage +hour,Hour +day,Day +week,Week +month,Month +year,Year +count,Count +m2,Square meter +hectares,Hectares +km2,Square kilometer diff --git a/schema/codelists/open/license.csv b/schema/codelists/open/license.csv new file mode 100644 index 00000000..3038c5ac --- /dev/null +++ b/schema/codelists/open/license.csv @@ -0,0 +1,10 @@ +Code,Title,Source,OpenDefinitionCategory,Domain +CC0-1.0,Creative Commons CCZero,https://creativecommons.org/publicdomain/zero/1.0/,"Content,data",Open Definition recommended conformant license +CC-BY-4.0,Creative Commons Attribution 4.0,https://creativecommons.org/licenses/by/4.0/,"Content,data",Open Definition recommended conformant license +CC-BY-SA-4.0,Creative Commons Attribution Share-Alike 4.0,https://creativecommons.org/licenses/by-sa/4.0/,"Content,data",Open Definition recommended conformant license +CC-BY-NC-SA-4.0,Creative Commons Attribution-NonCommercial-Share-Alike 4.0,https://creativecommons.org/licenses/by-nc-sa/4.0/,"Content,data", +CC BY-ND 4.0,Creative Commons Attribution-NoDerivatives 4.0 International,https://creativecommons.org/licenses/by-nd/4.0/,"Content,data", +CC BY-NC-ND 4.0,Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International,https://creativecommons.org/licenses/by-nc-nd/4.0/,"Content,data", +ODbL-1.0,Open Data Commons Open Database License,https://opendatacommons.org/licenses/odbl/summary/,Data,Open Definition recommended conformant license +ODC-By-1.0,Open Data Commons Attribution License,https://opendatacommons.org/licenses/by/1-0/,Data,Open Definition recommended conformant license +PDDL-1.0,Open Data Commons Public Domain Dedication and License,http://opendatacommons.org/licenses/pddl/1.0/,Data,Open Definition recommended conformant license diff --git a/schema/codelists/open/location_gazetteers.csv b/schema/codelists/open/location_gazetteers.csv new file mode 100644 index 00000000..535a74fb --- /dev/null +++ b/schema/codelists/open/location_gazetteers.csv @@ -0,0 +1,8 @@ +Category,Code,Title,Description,Source,URI Pattern +Subnational,ISO 3166-2,ISO Country Subdivision Codes,ISO codes for identifying the principal subdivisions (e.g. provinces or states) of all countries coded in ISO 3166-1.,https://www.iso.org/standard/72483.html, +Subnational,NUTS,EU Nomenclature of Territorial Units for Statistics,The Nomenclature of Territorial Units for Statistics (NUTS) was established by Eurostat in order to provide a single uniform breakdown of territorial units for the production of regional statistics for the European Union.,https://ec.europa.eu/eurostat/web/nuts/linked-open-data,http://data.europa.eu/nuts/code/ +National,ISO 3166-1 alpha-2,ISO Country Codes,ISO 2-Digit Country Codes,https://www.iso.org/iso-3166-country-codes.html, +National,ISO 3166-1 alpha-3,ISO Country Codes,ISO 3-Digit Country Codes,https://www.iso.org/iso-3166-country-codes.html, +Universal,GEONAMES,GeoNames,"GeoNames provides numerical identifiers for many points of interest around the world, including administrative divisions, populated centres and other locations, embedded within a structured tree of geographic relations.",https://www.geonames.org/,https://www.geonames.org/ +Universal,OSMN,OpenStreetMap Node,"OpenStreetMap Nodes consist of a single point in space defined by a latitude, longitude and node ID. Nodes might have tags to indicate the particular geographic feature they represent.",,https://www.openstreetmap.org/node/ +Universal,OSMR,OpenStreetMap Relation,"Relations are used to model logical (and usually local) or geographic relationships between objects. In practice, boundaries of geographic areas are available as Relations in OpenStreetMap.",https://wiki.openstreetmap.org/wiki/Relation,https://www.openstreetmap.org/relation/ diff --git a/schema/codelists/open/media_type.csv b/schema/codelists/open/media_type.csv new file mode 100644 index 00000000..f9a8ae87 --- /dev/null +++ b/schema/codelists/open/media_type.csv @@ -0,0 +1,2037 @@ +Code,Title +application/1d-interleaved-parityfec,1d-interleaved-parityfec +application/3gpdash-qoe-report+xml,3gpdash-qoe-report+xml +application/3gppHal+json,3gppHal+json +application/3gppHalForms+json,3gppHalForms+json +application/3gpp-ims+xml,3gpp-ims+xml +application/A2L,A2L +application/ace+cbor,ace+cbor +application/ace+json,ace+json +application/activemessage,activemessage +application/activity+json,activity+json +application/aif+cbor,aif+cbor +application/aif+json,aif+json +application/alto-cdni+json,alto-cdni+json +application/alto-cdnifilter+json,alto-cdnifilter+json +application/alto-costmap+json,alto-costmap+json +application/alto-costmapfilter+json,alto-costmapfilter+json +application/alto-directory+json,alto-directory+json +application/alto-endpointprop+json,alto-endpointprop+json +application/alto-endpointpropparams+json,alto-endpointpropparams+json +application/alto-endpointcost+json,alto-endpointcost+json +application/alto-endpointcostparams+json,alto-endpointcostparams+json +application/alto-error+json,alto-error+json +application/alto-networkmapfilter+json,alto-networkmapfilter+json +application/alto-networkmap+json,alto-networkmap+json +application/alto-propmap+json,alto-propmap+json +application/alto-propmapparams+json,alto-propmapparams+json +application/alto-updatestreamcontrol+json,alto-updatestreamcontrol+json +application/alto-updatestreamparams+json,alto-updatestreamparams+json +application/AML,AML +application/andrew-inset,andrew-inset +application/applefile,applefile +application/at+jwt,at+jwt +application/ATF,ATF +application/ATFX,ATFX +application/atom+xml,atom+xml +application/atomcat+xml,atomcat+xml +application/atomdeleted+xml,atomdeleted+xml +application/atomicmail,atomicmail +application/atomsvc+xml,atomsvc+xml +application/atsc-dwd+xml,atsc-dwd+xml +application/atsc-dynamic-event-message,atsc-dynamic-event-message +application/atsc-held+xml,atsc-held+xml +application/atsc-rdt+json,atsc-rdt+json +application/atsc-rsat+xml,atsc-rsat+xml +application/ATXML,ATXML +application/auth-policy+xml,auth-policy+xml +application/automationml-aml+xml,automationml-aml+xml +application/automationml-amlx+zip,automationml-amlx+zip +application/bacnet-xdd+zip,bacnet-xdd+zip +application/batch-SMTP,batch-SMTP +application/beep+xml,beep+xml +application/calendar+json,calendar+json +application/calendar+xml,calendar+xml +application/call-completion,call-completion +application/CALS-1840,CALS-1840 +application/captive+json,captive+json +application/cbor,cbor +application/cbor-seq,cbor-seq +application/cccex,cccex +application/ccmp+xml,ccmp+xml +application/ccxml+xml,ccxml+xml +application/cda+xml,cda+xml +application/CDFX+XML,CDFX+XML +application/cdmi-capability,cdmi-capability +application/cdmi-container,cdmi-container +application/cdmi-domain,cdmi-domain +application/cdmi-object,cdmi-object +application/cdmi-queue,cdmi-queue +application/cdni,cdni +application/CEA,CEA +application/cea-2018+xml,cea-2018+xml +application/cellml+xml,cellml+xml +application/cfw,cfw +application/city+json,city+json +application/clr,clr +application/clue_info+xml,clue_info+xml +application/clue+xml,clue+xml +application/cms,cms +application/cnrp+xml,cnrp+xml +application/coap-group+json,coap-group+json +application/coap-payload,coap-payload +application/commonground,commonground +application/concise-problem-details+cbor,concise-problem-details+cbor +application/conference-info+xml,conference-info+xml +application/cpl+xml,cpl+xml +application/cose,cose +application/cose-key,cose-key +application/cose-key-set,cose-key-set +application/cose-x509,cose-x509 +application/csrattrs,csrattrs +application/csta+xml,csta+xml +application/CSTAdata+xml,CSTAdata+xml +application/csvm+json,csvm+json +application/cwl,cwl +application/cwl+json,cwl+json +application/cwt,cwt +application/cybercash,cybercash +application/dash+xml,dash+xml +application/dash-patch+xml,dash-patch+xml +application/dashdelta,dashdelta +application/davmount+xml,davmount+xml +application/dca-rft,dca-rft +application/DCD,DCD +application/dec-dx,dec-dx +application/dialog-info+xml,dialog-info+xml +application/dicom,dicom +application/dicom+json,dicom+json +application/dicom+xml,dicom+xml +application/DII,DII +application/DIT,DIT +application/dns,dns +application/dns+json,dns+json +application/dns-message,dns-message +application/dots+cbor,dots+cbor +application/dpop+jwt,dpop+jwt +application/dskpp+xml,dskpp+xml +application/dssc+der,dssc+der +application/dssc+xml,dssc+xml +application/dvcs,dvcs +application/EDI-consent,EDI-consent +application/EDIFACT,EDIFACT +application/EDI-X12,EDI-X12 +application/efi,efi +application/elm+json,elm+json +application/elm+xml,elm+xml +application/EmergencyCallData.cap+xml,EmergencyCallData.cap+xml +application/EmergencyCallData.Comment+xml,EmergencyCallData.Comment+xml +application/EmergencyCallData.Control+xml,EmergencyCallData.Control+xml +application/EmergencyCallData.DeviceInfo+xml,EmergencyCallData.DeviceInfo+xml +application/EmergencyCallData.eCall.MSD,EmergencyCallData.eCall.MSD +application/EmergencyCallData.LegacyESN+json,EmergencyCallData.LegacyESN+json +application/EmergencyCallData.ProviderInfo+xml,EmergencyCallData.ProviderInfo+xml +application/EmergencyCallData.ServiceInfo+xml,EmergencyCallData.ServiceInfo+xml +application/EmergencyCallData.SubscriberInfo+xml,EmergencyCallData.SubscriberInfo+xml +application/EmergencyCallData.VEDS+xml,EmergencyCallData.VEDS+xml +application/emma+xml,emma+xml +application/emotionml+xml,emotionml+xml +application/encaprtp,encaprtp +application/epp+xml,epp+xml +application/epub+zip,epub+zip +application/eshop,eshop +application/example,example +application/exi,exi +application/expect-ct-report+json,expect-ct-report+json +application/express,express +application/fastinfoset,fastinfoset +application/fastsoap,fastsoap +application/fdf,fdf +application/fdt+xml,fdt+xml +application/fhir+json,fhir+json +application/fhir+xml,fhir+xml +application/fits,fits +application/flexfec,flexfec +application/font-tdpfr,font-tdpfr +application/framework-attributes+xml,framework-attributes+xml +application/geo+json,geo+json +application/geo+json-seq,geo+json-seq +application/geopackage+sqlite3,geopackage+sqlite3 +application/geoxacml+xml,geoxacml+xml +application/gltf-buffer,gltf-buffer +application/gml+xml,gml+xml +application/gzip,gzip +application/H224,H224 +application/held+xml,held+xml +application/hl7v2+xml,hl7v2+xml +application/http,http +application/hyperstudio,hyperstudio +application/ibe-key-request+xml,ibe-key-request+xml +application/ibe-pkg-reply+xml,ibe-pkg-reply+xml +application/ibe-pp-data,ibe-pp-data +application/iges,iges +application/im-iscomposing+xml,im-iscomposing+xml +application/index,index +application/index.cmd,index.cmd +application/index.obj,index.obj +application/index.response,index.response +application/index.vnd,index.vnd +application/inkml+xml,inkml+xml +application/IOTP,IOTP +application/ipfix,ipfix +application/ipp,ipp +application/ISUP,ISUP +application/its+xml,its+xml +application/java-archive,java-archive +application/jf2feed+json,jf2feed+json +application/jose,jose +application/jose+json,jose+json +application/jrd+json,jrd+json +application/jscalendar+json,jscalendar+json +application/json,json +application/json-patch+json,json-patch+json +application/json-seq,json-seq +application/jwk+json,jwk+json +application/jwk-set+json,jwk-set+json +application/jwt,jwt +application/kpml-request+xml,kpml-request+xml +application/kpml-response+xml,kpml-response+xml +application/ld+json,ld+json +application/lgr+xml,lgr+xml +application/link-format,link-format +application/linkset,linkset +application/linkset+json,linkset+json +application/load-control+xml,load-control+xml +application/logout+jwt,logout+jwt +application/lost+xml,lost+xml +application/lostsync+xml,lostsync+xml +application/lpf+zip,lpf+zip +application/LXF,LXF +application/mac-binhex40,mac-binhex40 +application/macwriteii,macwriteii +application/mads+xml,mads+xml +application/manifest+json,manifest+json +application/marc,marc +application/marcxml+xml,marcxml+xml +application/mathematica,mathematica +application/mathml+xml,mathml+xml +application/mathml-content+xml,mathml-content+xml +application/mathml-presentation+xml,mathml-presentation+xml +application/mbms-associated-procedure-description+xml,mbms-associated-procedure-description+xml +application/mbms-deregister+xml,mbms-deregister+xml +application/mbms-envelope+xml,mbms-envelope+xml +application/mbms-msk-response+xml,mbms-msk-response+xml +application/mbms-msk+xml,mbms-msk+xml +application/mbms-protection-description+xml,mbms-protection-description+xml +application/mbms-reception-report+xml,mbms-reception-report+xml +application/mbms-register-response+xml,mbms-register-response+xml +application/mbms-register+xml,mbms-register+xml +application/mbms-schedule+xml,mbms-schedule+xml +application/mbms-user-service-description+xml,mbms-user-service-description+xml +application/mbox,mbox +application/media_control+xml,media_control+xml +application/media-policy-dataset+xml,media-policy-dataset+xml +application/mediaservercontrol+xml,mediaservercontrol+xml +application/merge-patch+json,merge-patch+json +application/metalink4+xml,metalink4+xml +application/mets+xml,mets+xml +application/MF4,MF4 +application/mikey,mikey +application/mipc,mipc +application/missing-blocks+cbor-seq,missing-blocks+cbor-seq +application/mmt-aei+xml,mmt-aei+xml +application/mmt-usd+xml,mmt-usd+xml +application/mods+xml,mods+xml +application/moss-keys,moss-keys +application/moss-signature,moss-signature +application/mosskey-data,mosskey-data +application/mosskey-request,mosskey-request +application/mp21,mp21 +application/mp4,mp4 +application/mpeg4-generic,mpeg4-generic +application/mpeg4-iod,mpeg4-iod +application/mpeg4-iod-xmt,mpeg4-iod-xmt +application/mrb-consumer+xml,mrb-consumer+xml +application/mrb-publish+xml,mrb-publish+xml +application/msc-ivr+xml,msc-ivr+xml +application/msc-mixer+xml,msc-mixer+xml +application/msword,msword +application/mud+json,mud+json +application/multipart-core,multipart-core +application/mxf,mxf +application/n-quads,n-quads +application/n-triples,n-triples +application/nasdata,nasdata +application/news-checkgroups,news-checkgroups +application/news-groupinfo,news-groupinfo +application/news-transmission,news-transmission +application/nlsml+xml,nlsml+xml +application/node,node +application/nss,nss +application/oauth-authz-req+jwt,oauth-authz-req+jwt +application/oblivious-dns-message,oblivious-dns-message +application/ocsp-request,ocsp-request +application/ocsp-response,ocsp-response +application/octet-stream,octet-stream +application/ODA,ODA +application/odm+xml,odm+xml +application/ODX,ODX +application/oebps-package+xml,oebps-package+xml +application/ogg,ogg +application/ohttp-keys,ohttp-keys +application/opc-nodeset+xml,opc-nodeset+xml +application/oscore,oscore +application/oxps,oxps +application/p21,p21 +application/p21+zip,p21+zip +application/p2p-overlay+xml,p2p-overlay+xml +application/parityfec,parityfec +application/passport,passport +application/patch-ops-error+xml,patch-ops-error+xml +application/pdf,pdf +application/PDX,PDX +application/pem-certificate-chain,pem-certificate-chain +application/pgp-encrypted,pgp-encrypted +application/pgp-keys,pgp-keys +application/pgp-signature,pgp-signature +application/pidf-diff+xml,pidf-diff+xml +application/pidf+xml,pidf+xml +application/pkcs10,pkcs10 +application/pkcs7-mime,pkcs7-mime +application/pkcs7-signature,pkcs7-signature +application/pkcs8,pkcs8 +application/pkcs8-encrypted,pkcs8-encrypted +application/pkcs12,pkcs12 +application/pkix-attr-cert,pkix-attr-cert +application/pkix-cert,pkix-cert +application/pkix-crl,pkix-crl +application/pkix-pkipath,pkix-pkipath +application/pkixcmp,pkixcmp +application/pls+xml,pls+xml +application/poc-settings+xml,poc-settings+xml +application/postscript,postscript +application/ppsp-tracker+json,ppsp-tracker+json +application/problem+json,problem+json +application/problem+xml,problem+xml +application/provenance+xml,provenance+xml +application/prs.alvestrand.titrax-sheet,prs.alvestrand.titrax-sheet +application/prs.cww,prs.cww +application/prs.cyn,prs.cyn +application/prs.hpub+zip,prs.hpub+zip +application/prs.implied-document+xml,prs.implied-document+xml +application/prs.implied-executable,prs.implied-executable +application/prs.implied-structure,prs.implied-structure +application/prs.nprend,prs.nprend +application/prs.plucker,prs.plucker +application/prs.rdf-xml-crypt,prs.rdf-xml-crypt +application/prs.xsf+xml,prs.xsf+xml +application/pskc+xml,pskc+xml +application/pvd+json,pvd+json +application/rdf+xml,rdf+xml +application/route-apd+xml,route-apd+xml +application/route-s-tsid+xml,route-s-tsid+xml +application/route-usd+xml,route-usd+xml +application/QSIG,QSIG +application/raptorfec,raptorfec +application/rdap+json,rdap+json +application/reginfo+xml,reginfo+xml +application/relax-ng-compact-syntax,relax-ng-compact-syntax +application/reputon+json,reputon+json +application/resource-lists-diff+xml,resource-lists-diff+xml +application/resource-lists+xml,resource-lists+xml +application/rfc+xml,rfc+xml +application/riscos,riscos +application/rlmi+xml,rlmi+xml +application/rls-services+xml,rls-services+xml +application/rpki-checklist,rpki-checklist +application/rpki-ghostbusters,rpki-ghostbusters +application/rpki-manifest,rpki-manifest +application/rpki-publication,rpki-publication +application/rpki-roa,rpki-roa +application/rpki-updown,rpki-updown +application/rtf,rtf +application/rtploopback,rtploopback +application/rtx,rtx +application/samlassertion+xml,samlassertion+xml +application/samlmetadata+xml,samlmetadata+xml +application/sarif-external-properties+json,sarif-external-properties+json +application/sarif+json,sarif+json +application/sbe,sbe +application/sbml+xml,sbml+xml +application/scaip+xml,scaip+xml +application/scim+json,scim+json +application/scvp-cv-request,scvp-cv-request +application/scvp-cv-response,scvp-cv-response +application/scvp-vp-request,scvp-vp-request +application/scvp-vp-response,scvp-vp-response +application/sdp,sdp +application/secevent+jwt,secevent+jwt +application/senml-etch+cbor,senml-etch+cbor +application/senml-etch+json,senml-etch+json +application/senml-exi,senml-exi +application/senml+cbor,senml+cbor +application/senml+json,senml+json +application/senml+xml,senml+xml +application/sensml-exi,sensml-exi +application/sensml+cbor,sensml+cbor +application/sensml+json,sensml+json +application/sensml+xml,sensml+xml +application/sep-exi,sep-exi +application/sep+xml,sep+xml +application/session-info,session-info +application/set-payment,set-payment +application/set-payment-initiation,set-payment-initiation +application/set-registration,set-registration +application/set-registration-initiation,set-registration-initiation +application/SGML,SGML +application/sgml-open-catalog,sgml-open-catalog +application/shf+xml,shf+xml +application/sieve,sieve +application/simple-filter+xml,simple-filter+xml +application/simple-message-summary,simple-message-summary +application/simpleSymbolContainer,simpleSymbolContainer +application/sipc,sipc +application/slate,slate +application/smil+xml,smil+xml +application/smpte336m,smpte336m +application/soap+fastinfoset,soap+fastinfoset +application/soap+xml,soap+xml +application/sparql-query,sparql-query +application/spdx+json,spdx+json +application/sparql-results+xml,sparql-results+xml +application/spirits-event+xml,spirits-event+xml +application/sql,sql +application/srgs,srgs +application/srgs+xml,srgs+xml +application/sru+xml,sru+xml +application/ssml+xml,ssml+xml +application/stix+json,stix+json +application/swid+cbor,swid+cbor +application/swid+xml,swid+xml +application/tamp-apex-update,tamp-apex-update +application/tamp-apex-update-confirm,tamp-apex-update-confirm +application/tamp-community-update,tamp-community-update +application/tamp-community-update-confirm,tamp-community-update-confirm +application/tamp-error,tamp-error +application/tamp-sequence-adjust,tamp-sequence-adjust +application/tamp-sequence-adjust-confirm,tamp-sequence-adjust-confirm +application/tamp-status-query,tamp-status-query +application/tamp-status-response,tamp-status-response +application/tamp-update,tamp-update +application/tamp-update-confirm,tamp-update-confirm +application/taxii+json,taxii+json +application/td+json,td+json +application/tei+xml,tei+xml +application/TETRA_ISI,TETRA_ISI +application/thraud+xml,thraud+xml +application/timestamp-query,timestamp-query +application/timestamp-reply,timestamp-reply +application/timestamped-data,timestamped-data +application/tlsrpt+gzip,tlsrpt+gzip +application/tlsrpt+json,tlsrpt+json +application/tm+json,tm+json +application/tnauthlist,tnauthlist +application/token-introspection+jwt,token-introspection+jwt +application/trickle-ice-sdpfrag,trickle-ice-sdpfrag +application/trig,trig +application/ttml+xml,ttml+xml +application/tve-trigger,tve-trigger +application/tzif,tzif +application/tzif-leap,tzif-leap +application/ulpfec,ulpfec +application/urc-grpsheet+xml,urc-grpsheet+xml +application/urc-ressheet+xml,urc-ressheet+xml +application/urc-targetdesc+xml,urc-targetdesc+xml +application/urc-uisocketdesc+xml,urc-uisocketdesc+xml +application/vcard+json,vcard+json +application/vcard+xml,vcard+xml +application/vemmi,vemmi +application/vnd.1000minds.decision-model+xml,vnd.1000minds.decision-model+xml +application/vnd.1ob,vnd.1ob +application/vnd.3gpp.5gnas,vnd.3gpp.5gnas +application/vnd.3gpp.access-transfer-events+xml,vnd.3gpp.access-transfer-events+xml +application/vnd.3gpp.bsf+xml,vnd.3gpp.bsf+xml +application/vnd.3gpp.crs+xml,vnd.3gpp.crs+xml +application/vnd.3gpp.current-location-discovery+xml,vnd.3gpp.current-location-discovery+xml +application/vnd.3gpp.GMOP+xml,vnd.3gpp.GMOP+xml +application/vnd.3gpp.gtpc,vnd.3gpp.gtpc +application/vnd.3gpp.interworking-data,vnd.3gpp.interworking-data +application/vnd.3gpp.lpp,vnd.3gpp.lpp +application/vnd.3gpp.mc-signalling-ear,vnd.3gpp.mc-signalling-ear +application/vnd.3gpp.mcdata-affiliation-command+xml,vnd.3gpp.mcdata-affiliation-command+xml +application/vnd.3gpp.mcdata-info+xml,vnd.3gpp.mcdata-info+xml +application/vnd.3gpp.mcdata-msgstore-ctrl-request+xml,vnd.3gpp.mcdata-msgstore-ctrl-request+xml +application/vnd.3gpp.mcdata-payload,vnd.3gpp.mcdata-payload +application/vnd.3gpp.mcdata-regroup+xml,vnd.3gpp.mcdata-regroup+xml +application/vnd.3gpp.mcdata-service-config+xml,vnd.3gpp.mcdata-service-config+xml +application/vnd.3gpp.mcdata-signalling,vnd.3gpp.mcdata-signalling +application/vnd.3gpp.mcdata-ue-config+xml,vnd.3gpp.mcdata-ue-config+xml +application/vnd.3gpp.mcdata-user-profile+xml,vnd.3gpp.mcdata-user-profile+xml +application/vnd.3gpp.mcptt-affiliation-command+xml,vnd.3gpp.mcptt-affiliation-command+xml +application/vnd.3gpp.mcptt-floor-request+xml,vnd.3gpp.mcptt-floor-request+xml +application/vnd.3gpp.mcptt-info+xml,vnd.3gpp.mcptt-info+xml +application/vnd.3gpp.mcptt-location-info+xml,vnd.3gpp.mcptt-location-info+xml +application/vnd.3gpp.mcptt-mbms-usage-info+xml,vnd.3gpp.mcptt-mbms-usage-info+xml +application/vnd.3gpp.mcptt-regroup+xml,vnd.3gpp.mcptt-regroup+xml +application/vnd.3gpp.mcptt-service-config+xml,vnd.3gpp.mcptt-service-config+xml +application/vnd.3gpp.mcptt-signed+xml,vnd.3gpp.mcptt-signed+xml +application/vnd.3gpp.mcptt-ue-config+xml,vnd.3gpp.mcptt-ue-config+xml +application/vnd.3gpp.mcptt-ue-init-config+xml,vnd.3gpp.mcptt-ue-init-config+xml +application/vnd.3gpp.mcptt-user-profile+xml,vnd.3gpp.mcptt-user-profile+xml +application/vnd.3gpp.mcvideo-affiliation-command+xml,vnd.3gpp.mcvideo-affiliation-command+xml +application/vnd.3gpp.mcvideo-info+xml,vnd.3gpp.mcvideo-info+xml +application/vnd.3gpp.mcvideo-location-info+xml,vnd.3gpp.mcvideo-location-info+xml +application/vnd.3gpp.mcvideo-mbms-usage-info+xml,vnd.3gpp.mcvideo-mbms-usage-info+xml +application/vnd.3gpp.mcvideo-regroup+xml,vnd.3gpp.mcvideo-regroup+xml +application/vnd.3gpp.mcvideo-service-config+xml,vnd.3gpp.mcvideo-service-config+xml +application/vnd.3gpp.mcvideo-transmission-request+xml,vnd.3gpp.mcvideo-transmission-request+xml +application/vnd.3gpp.mcvideo-ue-config+xml,vnd.3gpp.mcvideo-ue-config+xml +application/vnd.3gpp.mcvideo-user-profile+xml,vnd.3gpp.mcvideo-user-profile+xml +application/vnd.3gpp.mid-call+xml,vnd.3gpp.mid-call+xml +application/vnd.3gpp.ngap,vnd.3gpp.ngap +application/vnd.3gpp.pfcp,vnd.3gpp.pfcp +application/vnd.3gpp.pic-bw-large,vnd.3gpp.pic-bw-large +application/vnd.3gpp.pic-bw-small,vnd.3gpp.pic-bw-small +application/vnd.3gpp.pic-bw-var,vnd.3gpp.pic-bw-var +application/vnd.3gpp-prose-pc3a+xml,vnd.3gpp-prose-pc3a+xml +application/vnd.3gpp-prose-pc3ach+xml,vnd.3gpp-prose-pc3ach+xml +application/vnd.3gpp-prose-pc3ch+xml,vnd.3gpp-prose-pc3ch+xml +application/vnd.3gpp-prose-pc8+xml,vnd.3gpp-prose-pc8+xml +application/vnd.3gpp-prose+xml,vnd.3gpp-prose+xml +application/vnd.3gpp.s1ap,vnd.3gpp.s1ap +application/vnd.3gpp.seal-group-doc+xml,vnd.3gpp.seal-group-doc+xml +application/vnd.3gpp.seal-info+xml,vnd.3gpp.seal-info+xml +application/vnd.3gpp.seal-location-info+xml,vnd.3gpp.seal-location-info+xml +application/vnd.3gpp.seal-mbms-usage-info+xml,vnd.3gpp.seal-mbms-usage-info+xml +application/vnd.3gpp.seal-network-QoS-management-info+xml,vnd.3gpp.seal-network-QoS-management-info+xml +application/vnd.3gpp.seal-ue-config-info+xml,vnd.3gpp.seal-ue-config-info+xml +application/vnd.3gpp.seal-unicast-info+xml,vnd.3gpp.seal-unicast-info+xml +application/vnd.3gpp.seal-user-profile-info+xml,vnd.3gpp.seal-user-profile-info+xml +application/vnd.3gpp.sms,vnd.3gpp.sms +application/vnd.3gpp.sms+xml,vnd.3gpp.sms+xml +application/vnd.3gpp.srvcc-ext+xml,vnd.3gpp.srvcc-ext+xml +application/vnd.3gpp.SRVCC-info+xml,vnd.3gpp.SRVCC-info+xml +application/vnd.3gpp.state-and-event-info+xml,vnd.3gpp.state-and-event-info+xml +application/vnd.3gpp.ussd+xml,vnd.3gpp.ussd+xml +application/vnd.3gpp.vae-info+xml,vnd.3gpp.vae-info+xml +application/vnd.3gpp-v2x-local-service-information,vnd.3gpp-v2x-local-service-information +application/vnd.3gpp2.bcmcsinfo+xml,vnd.3gpp2.bcmcsinfo+xml +application/vnd.3gpp2.sms,vnd.3gpp2.sms +application/vnd.3gpp2.tcap,vnd.3gpp2.tcap +application/vnd.3gpp.v2x,vnd.3gpp.v2x +application/vnd.3lightssoftware.imagescal,vnd.3lightssoftware.imagescal +application/vnd.3M.Post-it-Notes,vnd.3M.Post-it-Notes +application/vnd.accpac.simply.aso,vnd.accpac.simply.aso +application/vnd.accpac.simply.imp,vnd.accpac.simply.imp +application/vnd.acm.addressxfer+json,vnd.acm.addressxfer+json +application/vnd.acucobol,vnd.acucobol +application/vnd.acucorp,vnd.acucorp +application/vnd.adobe.flash.movie,vnd.adobe.flash.movie +application/vnd.adobe.formscentral.fcdt,vnd.adobe.formscentral.fcdt +application/vnd.adobe.fxp,vnd.adobe.fxp +application/vnd.adobe.partial-upload,vnd.adobe.partial-upload +application/vnd.adobe.xdp+xml,vnd.adobe.xdp+xml +application/vnd.aether.imp,vnd.aether.imp +application/vnd.afpc.afplinedata,vnd.afpc.afplinedata +application/vnd.afpc.afplinedata-pagedef,vnd.afpc.afplinedata-pagedef +application/vnd.afpc.cmoca-cmresource,vnd.afpc.cmoca-cmresource +application/vnd.afpc.foca-charset,vnd.afpc.foca-charset +application/vnd.afpc.foca-codedfont,vnd.afpc.foca-codedfont +application/vnd.afpc.foca-codepage,vnd.afpc.foca-codepage +application/vnd.afpc.modca,vnd.afpc.modca +application/vnd.afpc.modca-cmtable,vnd.afpc.modca-cmtable +application/vnd.afpc.modca-formdef,vnd.afpc.modca-formdef +application/vnd.afpc.modca-mediummap,vnd.afpc.modca-mediummap +application/vnd.afpc.modca-objectcontainer,vnd.afpc.modca-objectcontainer +application/vnd.afpc.modca-overlay,vnd.afpc.modca-overlay +application/vnd.afpc.modca-pagesegment,vnd.afpc.modca-pagesegment +application/vnd.age,vnd.age +application/vnd.ah-barcode,vnd.ah-barcode +application/vnd.ahead.space,vnd.ahead.space +application/vnd.airzip.filesecure.azf,vnd.airzip.filesecure.azf +application/vnd.airzip.filesecure.azs,vnd.airzip.filesecure.azs +application/vnd.amadeus+json,vnd.amadeus+json +application/vnd.amazon.mobi8-ebook,vnd.amazon.mobi8-ebook +application/vnd.americandynamics.acc,vnd.americandynamics.acc +application/vnd.amiga.ami,vnd.amiga.ami +application/vnd.amundsen.maze+xml,vnd.amundsen.maze+xml +application/vnd.android.ota,vnd.android.ota +application/vnd.anki,vnd.anki +application/vnd.anser-web-certificate-issue-initiation,vnd.anser-web-certificate-issue-initiation +application/vnd.antix.game-component,vnd.antix.game-component +application/vnd.apache.arrow.file,vnd.apache.arrow.file +application/vnd.apache.arrow.stream,vnd.apache.arrow.stream +application/vnd.apache.thrift.binary,vnd.apache.thrift.binary +application/vnd.apache.thrift.compact,vnd.apache.thrift.compact +application/vnd.apache.thrift.json,vnd.apache.thrift.json +application/vnd.apexlang,vnd.apexlang +application/vnd.api+json,vnd.api+json +application/vnd.aplextor.warrp+json,vnd.aplextor.warrp+json +application/vnd.apothekende.reservation+json,vnd.apothekende.reservation+json +application/vnd.apple.installer+xml,vnd.apple.installer+xml +application/vnd.apple.keynote,vnd.apple.keynote +application/vnd.apple.mpegurl,vnd.apple.mpegurl +application/vnd.apple.numbers,vnd.apple.numbers +application/vnd.apple.pages,vnd.apple.pages +application/vnd.aristanetworks.swi,vnd.aristanetworks.swi +application/vnd.artisan+json,vnd.artisan+json +application/vnd.artsquare,vnd.artsquare +application/vnd.astraea-software.iota,vnd.astraea-software.iota +application/vnd.audiograph,vnd.audiograph +application/vnd.autopackage,vnd.autopackage +application/vnd.avalon+json,vnd.avalon+json +application/vnd.avistar+xml,vnd.avistar+xml +application/vnd.balsamiq.bmml+xml,vnd.balsamiq.bmml+xml +application/vnd.banana-accounting,vnd.banana-accounting +application/vnd.bbf.usp.error,vnd.bbf.usp.error +application/vnd.bbf.usp.msg,vnd.bbf.usp.msg +application/vnd.bbf.usp.msg+json,vnd.bbf.usp.msg+json +application/vnd.balsamiq.bmpr,vnd.balsamiq.bmpr +application/vnd.bekitzur-stech+json,vnd.bekitzur-stech+json +application/vnd.belightsoft.lhzd+zip,vnd.belightsoft.lhzd+zip +application/vnd.belightsoft.lhzl+zip,vnd.belightsoft.lhzl+zip +application/vnd.bint.med-content,vnd.bint.med-content +application/vnd.biopax.rdf+xml,vnd.biopax.rdf+xml +application/vnd.blink-idb-value-wrapper,vnd.blink-idb-value-wrapper +application/vnd.blueice.multipass,vnd.blueice.multipass +application/vnd.bluetooth.ep.oob,vnd.bluetooth.ep.oob +application/vnd.bluetooth.le.oob,vnd.bluetooth.le.oob +application/vnd.bmi,vnd.bmi +application/vnd.bpf,vnd.bpf +application/vnd.bpf3,vnd.bpf3 +application/vnd.businessobjects,vnd.businessobjects +application/vnd.byu.uapi+json,vnd.byu.uapi+json +application/vnd.cab-jscript,vnd.cab-jscript +application/vnd.canon-cpdl,vnd.canon-cpdl +application/vnd.canon-lips,vnd.canon-lips +application/vnd.capasystems-pg+json,vnd.capasystems-pg+json +application/vnd.cendio.thinlinc.clientconf,vnd.cendio.thinlinc.clientconf +application/vnd.century-systems.tcp_stream,vnd.century-systems.tcp_stream +application/vnd.chemdraw+xml,vnd.chemdraw+xml +application/vnd.chess-pgn,vnd.chess-pgn +application/vnd.chipnuts.karaoke-mmd,vnd.chipnuts.karaoke-mmd +application/vnd.ciedi,vnd.ciedi +application/vnd.cinderella,vnd.cinderella +application/vnd.cirpack.isdn-ext,vnd.cirpack.isdn-ext +application/vnd.citationstyles.style+xml,vnd.citationstyles.style+xml +application/vnd.claymore,vnd.claymore +application/vnd.cloanto.rp9,vnd.cloanto.rp9 +application/vnd.clonk.c4group,vnd.clonk.c4group +application/vnd.cluetrust.cartomobile-config,vnd.cluetrust.cartomobile-config +application/vnd.cluetrust.cartomobile-config-pkg,vnd.cluetrust.cartomobile-config-pkg +application/vnd.cncf.helm.chart.content.v1.tar+gzip,vnd.cncf.helm.chart.content.v1.tar+gzip +application/vnd.cncf.helm.chart.provenance.v1.prov,vnd.cncf.helm.chart.provenance.v1.prov +application/vnd.cncf.helm.config.v1+json,vnd.cncf.helm.config.v1+json +application/vnd.coffeescript,vnd.coffeescript +application/vnd.collabio.xodocuments.document,vnd.collabio.xodocuments.document +application/vnd.collabio.xodocuments.document-template,vnd.collabio.xodocuments.document-template +application/vnd.collabio.xodocuments.presentation,vnd.collabio.xodocuments.presentation +application/vnd.collabio.xodocuments.presentation-template,vnd.collabio.xodocuments.presentation-template +application/vnd.collabio.xodocuments.spreadsheet,vnd.collabio.xodocuments.spreadsheet +application/vnd.collabio.xodocuments.spreadsheet-template,vnd.collabio.xodocuments.spreadsheet-template +application/vnd.collection.doc+json,vnd.collection.doc+json +application/vnd.collection+json,vnd.collection+json +application/vnd.collection.next+json,vnd.collection.next+json +application/vnd.comicbook-rar,vnd.comicbook-rar +application/vnd.comicbook+zip,vnd.comicbook+zip +application/vnd.commerce-battelle,vnd.commerce-battelle +application/vnd.commonspace,vnd.commonspace +application/vnd.coreos.ignition+json,vnd.coreos.ignition+json +application/vnd.cosmocaller,vnd.cosmocaller +application/vnd.contact.cmsg,vnd.contact.cmsg +application/vnd.crick.clicker,vnd.crick.clicker +application/vnd.crick.clicker.keyboard,vnd.crick.clicker.keyboard +application/vnd.crick.clicker.palette,vnd.crick.clicker.palette +application/vnd.crick.clicker.template,vnd.crick.clicker.template +application/vnd.crick.clicker.wordbank,vnd.crick.clicker.wordbank +application/vnd.criticaltools.wbs+xml,vnd.criticaltools.wbs+xml +application/vnd.cryptii.pipe+json,vnd.cryptii.pipe+json +application/vnd.crypto-shade-file,vnd.crypto-shade-file +application/vnd.cryptomator.encrypted,vnd.cryptomator.encrypted +application/vnd.cryptomator.vault,vnd.cryptomator.vault +application/vnd.ctc-posml,vnd.ctc-posml +application/vnd.ctct.ws+xml,vnd.ctct.ws+xml +application/vnd.cups-pdf,vnd.cups-pdf +application/vnd.cups-postscript,vnd.cups-postscript +application/vnd.cups-ppd,vnd.cups-ppd +application/vnd.cups-raster,vnd.cups-raster +application/vnd.cups-raw,vnd.cups-raw +application/vnd.curl,vnd.curl +application/vnd.cyan.dean.root+xml,vnd.cyan.dean.root+xml +application/vnd.cybank,vnd.cybank +application/vnd.cyclonedx+json,vnd.cyclonedx+json +application/vnd.cyclonedx+xml,vnd.cyclonedx+xml +application/vnd.d2l.coursepackage1p0+zip,vnd.d2l.coursepackage1p0+zip +application/vnd.d3m-dataset,vnd.d3m-dataset +application/vnd.d3m-problem,vnd.d3m-problem +application/vnd.dart,vnd.dart +application/vnd.data-vision.rdz,vnd.data-vision.rdz +application/vnd.datalog,vnd.datalog +application/vnd.datapackage+json,vnd.datapackage+json +application/vnd.dataresource+json,vnd.dataresource+json +application/vnd.dbf,vnd.dbf +application/vnd.debian.binary-package,vnd.debian.binary-package +application/vnd.dece.data,vnd.dece.data +application/vnd.dece.ttml+xml,vnd.dece.ttml+xml +application/vnd.dece.unspecified,vnd.dece.unspecified +application/vnd.dece.zip,vnd.dece.zip +application/vnd.denovo.fcselayout-link,vnd.denovo.fcselayout-link +application/vnd.desmume.movie,vnd.desmume.movie +application/vnd.dir-bi.plate-dl-nosuffix,vnd.dir-bi.plate-dl-nosuffix +application/vnd.dm.delegation+xml,vnd.dm.delegation+xml +application/vnd.dna,vnd.dna +application/vnd.document+json,vnd.document+json +application/vnd.dolby.mobile.1,vnd.dolby.mobile.1 +application/vnd.dolby.mobile.2,vnd.dolby.mobile.2 +application/vnd.doremir.scorecloud-binary-document,vnd.doremir.scorecloud-binary-document +application/vnd.dpgraph,vnd.dpgraph +application/vnd.dreamfactory,vnd.dreamfactory +application/vnd.drive+json,vnd.drive+json +application/vnd.dtg.local,vnd.dtg.local +application/vnd.dtg.local.flash,vnd.dtg.local.flash +application/vnd.dtg.local.html,vnd.dtg.local.html +application/vnd.dvb.ait,vnd.dvb.ait +application/vnd.dvb.dvbisl+xml,vnd.dvb.dvbisl+xml +application/vnd.dvb.dvbj,vnd.dvb.dvbj +application/vnd.dvb.esgcontainer,vnd.dvb.esgcontainer +application/vnd.dvb.ipdcdftnotifaccess,vnd.dvb.ipdcdftnotifaccess +application/vnd.dvb.ipdcesgaccess,vnd.dvb.ipdcesgaccess +application/vnd.dvb.ipdcesgaccess2,vnd.dvb.ipdcesgaccess2 +application/vnd.dvb.ipdcesgpdd,vnd.dvb.ipdcesgpdd +application/vnd.dvb.ipdcroaming,vnd.dvb.ipdcroaming +application/vnd.dvb.iptv.alfec-base,vnd.dvb.iptv.alfec-base +application/vnd.dvb.iptv.alfec-enhancement,vnd.dvb.iptv.alfec-enhancement +application/vnd.dvb.notif-aggregate-root+xml,vnd.dvb.notif-aggregate-root+xml +application/vnd.dvb.notif-container+xml,vnd.dvb.notif-container+xml +application/vnd.dvb.notif-generic+xml,vnd.dvb.notif-generic+xml +application/vnd.dvb.notif-ia-msglist+xml,vnd.dvb.notif-ia-msglist+xml +application/vnd.dvb.notif-ia-registration-request+xml,vnd.dvb.notif-ia-registration-request+xml +application/vnd.dvb.notif-ia-registration-response+xml,vnd.dvb.notif-ia-registration-response+xml +application/vnd.dvb.notif-init+xml,vnd.dvb.notif-init+xml +application/vnd.dvb.pfr,vnd.dvb.pfr +application/vnd.dvb.service,vnd.dvb.service +application/vnd.dxr,vnd.dxr +application/vnd.dynageo,vnd.dynageo +application/vnd.dzr,vnd.dzr +application/vnd.easykaraoke.cdgdownload,vnd.easykaraoke.cdgdownload +application/vnd.ecip.rlp,vnd.ecip.rlp +application/vnd.ecdis-update,vnd.ecdis-update +application/vnd.eclipse.ditto+json,vnd.eclipse.ditto+json +application/vnd.ecowin.chart,vnd.ecowin.chart +application/vnd.ecowin.filerequest,vnd.ecowin.filerequest +application/vnd.ecowin.fileupdate,vnd.ecowin.fileupdate +application/vnd.ecowin.series,vnd.ecowin.series +application/vnd.ecowin.seriesrequest,vnd.ecowin.seriesrequest +application/vnd.ecowin.seriesupdate,vnd.ecowin.seriesupdate +application/vnd.efi.img,vnd.efi.img +application/vnd.efi.iso,vnd.efi.iso +application/vnd.eln+zip,vnd.eln+zip +application/vnd.emclient.accessrequest+xml,vnd.emclient.accessrequest+xml +application/vnd.enliven,vnd.enliven +application/vnd.enphase.envoy,vnd.enphase.envoy +application/vnd.eprints.data+xml,vnd.eprints.data+xml +application/vnd.epson.esf,vnd.epson.esf +application/vnd.epson.msf,vnd.epson.msf +application/vnd.epson.quickanime,vnd.epson.quickanime +application/vnd.epson.salt,vnd.epson.salt +application/vnd.epson.ssf,vnd.epson.ssf +application/vnd.ericsson.quickcall,vnd.ericsson.quickcall +application/vnd.espass-espass+zip,vnd.espass-espass+zip +application/vnd.eszigno3+xml,vnd.eszigno3+xml +application/vnd.etsi.aoc+xml,vnd.etsi.aoc+xml +application/vnd.etsi.asic-s+zip,vnd.etsi.asic-s+zip +application/vnd.etsi.asic-e+zip,vnd.etsi.asic-e+zip +application/vnd.etsi.cug+xml,vnd.etsi.cug+xml +application/vnd.etsi.iptvcommand+xml,vnd.etsi.iptvcommand+xml +application/vnd.etsi.iptvdiscovery+xml,vnd.etsi.iptvdiscovery+xml +application/vnd.etsi.iptvprofile+xml,vnd.etsi.iptvprofile+xml +application/vnd.etsi.iptvsad-bc+xml,vnd.etsi.iptvsad-bc+xml +application/vnd.etsi.iptvsad-cod+xml,vnd.etsi.iptvsad-cod+xml +application/vnd.etsi.iptvsad-npvr+xml,vnd.etsi.iptvsad-npvr+xml +application/vnd.etsi.iptvservice+xml,vnd.etsi.iptvservice+xml +application/vnd.etsi.iptvsync+xml,vnd.etsi.iptvsync+xml +application/vnd.etsi.iptvueprofile+xml,vnd.etsi.iptvueprofile+xml +application/vnd.etsi.mcid+xml,vnd.etsi.mcid+xml +application/vnd.etsi.mheg5,vnd.etsi.mheg5 +application/vnd.etsi.overload-control-policy-dataset+xml,vnd.etsi.overload-control-policy-dataset+xml +application/vnd.etsi.pstn+xml,vnd.etsi.pstn+xml +application/vnd.etsi.sci+xml,vnd.etsi.sci+xml +application/vnd.etsi.simservs+xml,vnd.etsi.simservs+xml +application/vnd.etsi.timestamp-token,vnd.etsi.timestamp-token +application/vnd.etsi.tsl+xml,vnd.etsi.tsl+xml +application/vnd.etsi.tsl.der,vnd.etsi.tsl.der +application/vnd.eu.kasparian.car+json,vnd.eu.kasparian.car+json +application/vnd.eudora.data,vnd.eudora.data +application/vnd.evolv.ecig.profile,vnd.evolv.ecig.profile +application/vnd.evolv.ecig.settings,vnd.evolv.ecig.settings +application/vnd.evolv.ecig.theme,vnd.evolv.ecig.theme +application/vnd.exstream-empower+zip,vnd.exstream-empower+zip +application/vnd.exstream-package,vnd.exstream-package +application/vnd.ezpix-album,vnd.ezpix-album +application/vnd.ezpix-package,vnd.ezpix-package +application/vnd.f-secure.mobile,vnd.f-secure.mobile +application/vnd.fastcopy-disk-image,vnd.fastcopy-disk-image +application/vnd.familysearch.gedcom+zip,vnd.familysearch.gedcom+zip +application/vnd.fdsn.mseed,vnd.fdsn.mseed +application/vnd.fdsn.seed,vnd.fdsn.seed +application/vnd.ffsns,vnd.ffsns +application/vnd.ficlab.flb+zip,vnd.ficlab.flb+zip +application/vnd.filmit.zfc,vnd.filmit.zfc +application/vnd.fints,vnd.fints +application/vnd.firemonkeys.cloudcell,vnd.firemonkeys.cloudcell +application/vnd.FloGraphIt,vnd.FloGraphIt +application/vnd.fluxtime.clip,vnd.fluxtime.clip +application/vnd.font-fontforge-sfd,vnd.font-fontforge-sfd +application/vnd.framemaker,vnd.framemaker +application/vnd.freelog.comic,vnd.freelog.comic +application/vnd.fsc.weblaunch,vnd.fsc.weblaunch +application/vnd.fujifilm.fb.docuworks,vnd.fujifilm.fb.docuworks +application/vnd.fujifilm.fb.docuworks.binder,vnd.fujifilm.fb.docuworks.binder +application/vnd.fujifilm.fb.docuworks.container,vnd.fujifilm.fb.docuworks.container +application/vnd.fujifilm.fb.jfi+xml,vnd.fujifilm.fb.jfi+xml +application/vnd.fujitsu.oasys,vnd.fujitsu.oasys +application/vnd.fujitsu.oasys2,vnd.fujitsu.oasys2 +application/vnd.fujitsu.oasys3,vnd.fujitsu.oasys3 +application/vnd.fujitsu.oasysgp,vnd.fujitsu.oasysgp +application/vnd.fujitsu.oasysprs,vnd.fujitsu.oasysprs +application/vnd.fujixerox.ART4,vnd.fujixerox.ART4 +application/vnd.fujixerox.ART-EX,vnd.fujixerox.ART-EX +application/vnd.fujixerox.ddd,vnd.fujixerox.ddd +application/vnd.fujixerox.docuworks,vnd.fujixerox.docuworks +application/vnd.fujixerox.docuworks.binder,vnd.fujixerox.docuworks.binder +application/vnd.fujixerox.docuworks.container,vnd.fujixerox.docuworks.container +application/vnd.fujixerox.HBPL,vnd.fujixerox.HBPL +application/vnd.fut-misnet,vnd.fut-misnet +application/vnd.futoin+cbor,vnd.futoin+cbor +application/vnd.futoin+json,vnd.futoin+json +application/vnd.fuzzysheet,vnd.fuzzysheet +application/vnd.genomatix.tuxedo,vnd.genomatix.tuxedo +application/vnd.genozip,vnd.genozip +application/vnd.gentics.grd+json,vnd.gentics.grd+json +application/vnd.gentoo.catmetadata+xml,vnd.gentoo.catmetadata+xml +application/vnd.gentoo.ebuild,vnd.gentoo.ebuild +application/vnd.gentoo.eclass,vnd.gentoo.eclass +application/vnd.gentoo.gpkg,vnd.gentoo.gpkg +application/vnd.gentoo.manifest,vnd.gentoo.manifest +application/vnd.gentoo.xpak,vnd.gentoo.xpak +application/vnd.gentoo.pkgmetadata+xml,vnd.gentoo.pkgmetadata+xml +application/vnd.geogebra.file,vnd.geogebra.file +application/vnd.geogebra.slides,vnd.geogebra.slides +application/vnd.geogebra.tool,vnd.geogebra.tool +application/vnd.geometry-explorer,vnd.geometry-explorer +application/vnd.geonext,vnd.geonext +application/vnd.geoplan,vnd.geoplan +application/vnd.geospace,vnd.geospace +application/vnd.gerber,vnd.gerber +application/vnd.globalplatform.card-content-mgt,vnd.globalplatform.card-content-mgt +application/vnd.globalplatform.card-content-mgt-response,vnd.globalplatform.card-content-mgt-response +application/vnd.gnu.taler.exchange+json,vnd.gnu.taler.exchange+json +application/vnd.gnu.taler.merchant+json,vnd.gnu.taler.merchant+json +application/vnd.google-earth.kml+xml,vnd.google-earth.kml+xml +application/vnd.google-earth.kmz,vnd.google-earth.kmz +application/vnd.gov.sk.e-form+xml,vnd.gov.sk.e-form+xml +application/vnd.gov.sk.e-form+zip,vnd.gov.sk.e-form+zip +application/vnd.gov.sk.xmldatacontainer+xml,vnd.gov.sk.xmldatacontainer+xml +application/vnd.gpxsee.map+xml,vnd.gpxsee.map+xml +application/vnd.grafeq,vnd.grafeq +application/vnd.gridmp,vnd.gridmp +application/vnd.groove-account,vnd.groove-account +application/vnd.groove-help,vnd.groove-help +application/vnd.groove-identity-message,vnd.groove-identity-message +application/vnd.groove-injector,vnd.groove-injector +application/vnd.groove-tool-message,vnd.groove-tool-message +application/vnd.groove-tool-template,vnd.groove-tool-template +application/vnd.groove-vcard,vnd.groove-vcard +application/vnd.hal+json,vnd.hal+json +application/vnd.hal+xml,vnd.hal+xml +application/vnd.HandHeld-Entertainment+xml,vnd.HandHeld-Entertainment+xml +application/vnd.hbci,vnd.hbci +application/vnd.hc+json,vnd.hc+json +application/vnd.hcl-bireports,vnd.hcl-bireports +application/vnd.hdt,vnd.hdt +application/vnd.heroku+json,vnd.heroku+json +application/vnd.hhe.lesson-player,vnd.hhe.lesson-player +application/vnd.hp-HPGL,vnd.hp-HPGL +application/vnd.hp-hpid,vnd.hp-hpid +application/vnd.hp-hps,vnd.hp-hps +application/vnd.hp-jlyt,vnd.hp-jlyt +application/vnd.hp-PCL,vnd.hp-PCL +application/vnd.hp-PCLXL,vnd.hp-PCLXL +application/vnd.hsl,vnd.hsl +application/vnd.httphone,vnd.httphone +application/vnd.hydrostatix.sof-data,vnd.hydrostatix.sof-data +application/vnd.hyper-item+json,vnd.hyper-item+json +application/vnd.hyper+json,vnd.hyper+json +application/vnd.hyperdrive+json,vnd.hyperdrive+json +application/vnd.hzn-3d-crossword,vnd.hzn-3d-crossword +application/vnd.ibm.electronic-media,vnd.ibm.electronic-media +application/vnd.ibm.MiniPay,vnd.ibm.MiniPay +application/vnd.ibm.rights-management,vnd.ibm.rights-management +application/vnd.ibm.secure-container,vnd.ibm.secure-container +application/vnd.iccprofile,vnd.iccprofile +application/vnd.ieee.1905,vnd.ieee.1905 +application/vnd.igloader,vnd.igloader +application/vnd.imagemeter.folder+zip,vnd.imagemeter.folder+zip +application/vnd.imagemeter.image+zip,vnd.imagemeter.image+zip +application/vnd.immervision-ivp,vnd.immervision-ivp +application/vnd.immervision-ivu,vnd.immervision-ivu +application/vnd.ims.imsccv1p1,vnd.ims.imsccv1p1 +application/vnd.ims.imsccv1p2,vnd.ims.imsccv1p2 +application/vnd.ims.imsccv1p3,vnd.ims.imsccv1p3 +application/vnd.ims.lis.v2.result+json,vnd.ims.lis.v2.result+json +application/vnd.ims.lti.v2.toolconsumerprofile+json,vnd.ims.lti.v2.toolconsumerprofile+json +application/vnd.ims.lti.v2.toolproxy.id+json,vnd.ims.lti.v2.toolproxy.id+json +application/vnd.ims.lti.v2.toolproxy+json,vnd.ims.lti.v2.toolproxy+json +application/vnd.ims.lti.v2.toolsettings+json,vnd.ims.lti.v2.toolsettings+json +application/vnd.ims.lti.v2.toolsettings.simple+json,vnd.ims.lti.v2.toolsettings.simple+json +application/vnd.informedcontrol.rms+xml,vnd.informedcontrol.rms+xml +application/vnd.infotech.project,vnd.infotech.project +application/vnd.infotech.project+xml,vnd.infotech.project+xml +application/vnd.innopath.wamp.notification,vnd.innopath.wamp.notification +application/vnd.insors.igm,vnd.insors.igm +application/vnd.intercon.formnet,vnd.intercon.formnet +application/vnd.intergeo,vnd.intergeo +application/vnd.intertrust.digibox,vnd.intertrust.digibox +application/vnd.intertrust.nncp,vnd.intertrust.nncp +application/vnd.intu.qbo,vnd.intu.qbo +application/vnd.intu.qfx,vnd.intu.qfx +application/vnd.ipfs.ipns-record,vnd.ipfs.ipns-record +application/vnd.ipld.car,vnd.ipld.car +application/vnd.ipld.dag-cbor,vnd.ipld.dag-cbor +application/vnd.ipld.dag-json,vnd.ipld.dag-json +application/vnd.ipld.raw,vnd.ipld.raw +application/vnd.iptc.g2.catalogitem+xml,vnd.iptc.g2.catalogitem+xml +application/vnd.iptc.g2.conceptitem+xml,vnd.iptc.g2.conceptitem+xml +application/vnd.iptc.g2.knowledgeitem+xml,vnd.iptc.g2.knowledgeitem+xml +application/vnd.iptc.g2.newsitem+xml,vnd.iptc.g2.newsitem+xml +application/vnd.iptc.g2.newsmessage+xml,vnd.iptc.g2.newsmessage+xml +application/vnd.iptc.g2.packageitem+xml,vnd.iptc.g2.packageitem+xml +application/vnd.iptc.g2.planningitem+xml,vnd.iptc.g2.planningitem+xml +application/vnd.ipunplugged.rcprofile,vnd.ipunplugged.rcprofile +application/vnd.irepository.package+xml,vnd.irepository.package+xml +application/vnd.is-xpr,vnd.is-xpr +application/vnd.isac.fcs,vnd.isac.fcs +application/vnd.jam,vnd.jam +application/vnd.iso11783-10+zip,vnd.iso11783-10+zip +application/vnd.japannet-directory-service,vnd.japannet-directory-service +application/vnd.japannet-jpnstore-wakeup,vnd.japannet-jpnstore-wakeup +application/vnd.japannet-payment-wakeup,vnd.japannet-payment-wakeup +application/vnd.japannet-registration,vnd.japannet-registration +application/vnd.japannet-registration-wakeup,vnd.japannet-registration-wakeup +application/vnd.japannet-setstore-wakeup,vnd.japannet-setstore-wakeup +application/vnd.japannet-verification,vnd.japannet-verification +application/vnd.japannet-verification-wakeup,vnd.japannet-verification-wakeup +application/vnd.jcp.javame.midlet-rms,vnd.jcp.javame.midlet-rms +application/vnd.jisp,vnd.jisp +application/vnd.joost.joda-archive,vnd.joost.joda-archive +application/vnd.jsk.isdn-ngn,vnd.jsk.isdn-ngn +application/vnd.kahootz,vnd.kahootz +application/vnd.kde.karbon,vnd.kde.karbon +application/vnd.kde.kchart,vnd.kde.kchart +application/vnd.kde.kformula,vnd.kde.kformula +application/vnd.kde.kivio,vnd.kde.kivio +application/vnd.kde.kontour,vnd.kde.kontour +application/vnd.kde.kpresenter,vnd.kde.kpresenter +application/vnd.kde.kspread,vnd.kde.kspread +application/vnd.kde.kword,vnd.kde.kword +application/vnd.kenameaapp,vnd.kenameaapp +application/vnd.kidspiration,vnd.kidspiration +application/vnd.Kinar,vnd.Kinar +application/vnd.koan,vnd.koan +application/vnd.kodak-descriptor,vnd.kodak-descriptor +application/vnd.las,vnd.las +application/vnd.las.las+json,vnd.las.las+json +application/vnd.las.las+xml,vnd.las.las+xml +application/vnd.laszip,vnd.laszip +application/vnd.leap+json,vnd.leap+json +application/vnd.liberty-request+xml,vnd.liberty-request+xml +application/vnd.llamagraphics.life-balance.desktop,vnd.llamagraphics.life-balance.desktop +application/vnd.llamagraphics.life-balance.exchange+xml,vnd.llamagraphics.life-balance.exchange+xml +application/vnd.logipipe.circuit+zip,vnd.logipipe.circuit+zip +application/vnd.loom,vnd.loom +application/vnd.lotus-1-2-3,vnd.lotus-1-2-3 +application/vnd.lotus-approach,vnd.lotus-approach +application/vnd.lotus-freelance,vnd.lotus-freelance +application/vnd.lotus-notes,vnd.lotus-notes +application/vnd.lotus-organizer,vnd.lotus-organizer +application/vnd.lotus-screencam,vnd.lotus-screencam +application/vnd.lotus-wordpro,vnd.lotus-wordpro +application/vnd.macports.portpkg,vnd.macports.portpkg +application/vnd.mapbox-vector-tile,vnd.mapbox-vector-tile +application/vnd.marlin.drm.actiontoken+xml,vnd.marlin.drm.actiontoken+xml +application/vnd.marlin.drm.conftoken+xml,vnd.marlin.drm.conftoken+xml +application/vnd.marlin.drm.license+xml,vnd.marlin.drm.license+xml +application/vnd.marlin.drm.mdcf,vnd.marlin.drm.mdcf +application/vnd.mason+json,vnd.mason+json +application/vnd.maxar.archive.3tz+zip,vnd.maxar.archive.3tz+zip +application/vnd.maxmind.maxmind-db,vnd.maxmind.maxmind-db +application/vnd.mcd,vnd.mcd +application/vnd.mdl,vnd.mdl +application/vnd.mdl-mbsdf,vnd.mdl-mbsdf +application/vnd.medcalcdata,vnd.medcalcdata +application/vnd.mediastation.cdkey,vnd.mediastation.cdkey +application/vnd.medicalholodeck.recordxr,vnd.medicalholodeck.recordxr +application/vnd.meridian-slingshot,vnd.meridian-slingshot +application/vnd.MFER,vnd.MFER +application/vnd.mfmp,vnd.mfmp +application/vnd.micro+json,vnd.micro+json +application/vnd.micrografx.flo,vnd.micrografx.flo +application/vnd.micrografx.igx,vnd.micrografx.igx +application/vnd.microsoft.portable-executable,vnd.microsoft.portable-executable +application/vnd.microsoft.windows.thumbnail-cache,vnd.microsoft.windows.thumbnail-cache +application/vnd.miele+json,vnd.miele+json +application/vnd.mif,vnd.mif +application/vnd.minisoft-hp3000-save,vnd.minisoft-hp3000-save +application/vnd.mitsubishi.misty-guard.trustweb,vnd.mitsubishi.misty-guard.trustweb +application/vnd.Mobius.DAF,vnd.Mobius.DAF +application/vnd.Mobius.DIS,vnd.Mobius.DIS +application/vnd.Mobius.MBK,vnd.Mobius.MBK +application/vnd.Mobius.MQY,vnd.Mobius.MQY +application/vnd.Mobius.MSL,vnd.Mobius.MSL +application/vnd.Mobius.PLC,vnd.Mobius.PLC +application/vnd.Mobius.TXF,vnd.Mobius.TXF +application/vnd.modl,vnd.modl +application/vnd.mophun.application,vnd.mophun.application +application/vnd.mophun.certificate,vnd.mophun.certificate +application/vnd.motorola.flexsuite,vnd.motorola.flexsuite +application/vnd.motorola.flexsuite.adsi,vnd.motorola.flexsuite.adsi +application/vnd.motorola.flexsuite.fis,vnd.motorola.flexsuite.fis +application/vnd.motorola.flexsuite.gotap,vnd.motorola.flexsuite.gotap +application/vnd.motorola.flexsuite.kmr,vnd.motorola.flexsuite.kmr +application/vnd.motorola.flexsuite.ttc,vnd.motorola.flexsuite.ttc +application/vnd.motorola.flexsuite.wem,vnd.motorola.flexsuite.wem +application/vnd.motorola.iprm,vnd.motorola.iprm +application/vnd.mozilla.xul+xml,vnd.mozilla.xul+xml +application/vnd.ms-artgalry,vnd.ms-artgalry +application/vnd.ms-asf,vnd.ms-asf +application/vnd.ms-cab-compressed,vnd.ms-cab-compressed +application/vnd.ms-3mfdocument,vnd.ms-3mfdocument +application/vnd.ms-excel,vnd.ms-excel +application/vnd.ms-excel.addin.macroEnabled.12,vnd.ms-excel.addin.macroEnabled.12 +application/vnd.ms-excel.sheet.binary.macroEnabled.12,vnd.ms-excel.sheet.binary.macroEnabled.12 +application/vnd.ms-excel.sheet.macroEnabled.12,vnd.ms-excel.sheet.macroEnabled.12 +application/vnd.ms-excel.template.macroEnabled.12,vnd.ms-excel.template.macroEnabled.12 +application/vnd.ms-fontobject,vnd.ms-fontobject +application/vnd.ms-htmlhelp,vnd.ms-htmlhelp +application/vnd.ms-ims,vnd.ms-ims +application/vnd.ms-lrm,vnd.ms-lrm +application/vnd.ms-office.activeX+xml,vnd.ms-office.activeX+xml +application/vnd.ms-officetheme,vnd.ms-officetheme +application/vnd.ms-playready.initiator+xml,vnd.ms-playready.initiator+xml +application/vnd.ms-powerpoint,vnd.ms-powerpoint +application/vnd.ms-powerpoint.addin.macroEnabled.12,vnd.ms-powerpoint.addin.macroEnabled.12 +application/vnd.ms-powerpoint.presentation.macroEnabled.12,vnd.ms-powerpoint.presentation.macroEnabled.12 +application/vnd.ms-powerpoint.slide.macroEnabled.12,vnd.ms-powerpoint.slide.macroEnabled.12 +application/vnd.ms-powerpoint.slideshow.macroEnabled.12,vnd.ms-powerpoint.slideshow.macroEnabled.12 +application/vnd.ms-powerpoint.template.macroEnabled.12,vnd.ms-powerpoint.template.macroEnabled.12 +application/vnd.ms-PrintDeviceCapabilities+xml,vnd.ms-PrintDeviceCapabilities+xml +application/vnd.ms-PrintSchemaTicket+xml,vnd.ms-PrintSchemaTicket+xml +application/vnd.ms-project,vnd.ms-project +application/vnd.ms-tnef,vnd.ms-tnef +application/vnd.ms-windows.devicepairing,vnd.ms-windows.devicepairing +application/vnd.ms-windows.nwprinting.oob,vnd.ms-windows.nwprinting.oob +application/vnd.ms-windows.printerpairing,vnd.ms-windows.printerpairing +application/vnd.ms-windows.wsd.oob,vnd.ms-windows.wsd.oob +application/vnd.ms-wmdrm.lic-chlg-req,vnd.ms-wmdrm.lic-chlg-req +application/vnd.ms-wmdrm.lic-resp,vnd.ms-wmdrm.lic-resp +application/vnd.ms-wmdrm.meter-chlg-req,vnd.ms-wmdrm.meter-chlg-req +application/vnd.ms-wmdrm.meter-resp,vnd.ms-wmdrm.meter-resp +application/vnd.ms-word.document.macroEnabled.12,vnd.ms-word.document.macroEnabled.12 +application/vnd.ms-word.template.macroEnabled.12,vnd.ms-word.template.macroEnabled.12 +application/vnd.ms-works,vnd.ms-works +application/vnd.ms-wpl,vnd.ms-wpl +application/vnd.ms-xpsdocument,vnd.ms-xpsdocument +application/vnd.msa-disk-image,vnd.msa-disk-image +application/vnd.mseq,vnd.mseq +application/vnd.msign,vnd.msign +application/vnd.multiad.creator,vnd.multiad.creator +application/vnd.multiad.creator.cif,vnd.multiad.creator.cif +application/vnd.musician,vnd.musician +application/vnd.music-niff,vnd.music-niff +application/vnd.muvee.style,vnd.muvee.style +application/vnd.mynfc,vnd.mynfc +application/vnd.nacamar.ybrid+json,vnd.nacamar.ybrid+json +application/vnd.ncd.control,vnd.ncd.control +application/vnd.ncd.reference,vnd.ncd.reference +application/vnd.nearst.inv+json,vnd.nearst.inv+json +application/vnd.nebumind.line,vnd.nebumind.line +application/vnd.nervana,vnd.nervana +application/vnd.netfpx,vnd.netfpx +application/vnd.neurolanguage.nlu,vnd.neurolanguage.nlu +application/vnd.nimn,vnd.nimn +application/vnd.nintendo.snes.rom,vnd.nintendo.snes.rom +application/vnd.nintendo.nitro.rom,vnd.nintendo.nitro.rom +application/vnd.nitf,vnd.nitf +application/vnd.noblenet-directory,vnd.noblenet-directory +application/vnd.noblenet-sealer,vnd.noblenet-sealer +application/vnd.noblenet-web,vnd.noblenet-web +application/vnd.nokia.catalogs,vnd.nokia.catalogs +application/vnd.nokia.conml+wbxml,vnd.nokia.conml+wbxml +application/vnd.nokia.conml+xml,vnd.nokia.conml+xml +application/vnd.nokia.iptv.config+xml,vnd.nokia.iptv.config+xml +application/vnd.nokia.iSDS-radio-presets,vnd.nokia.iSDS-radio-presets +application/vnd.nokia.landmark+wbxml,vnd.nokia.landmark+wbxml +application/vnd.nokia.landmark+xml,vnd.nokia.landmark+xml +application/vnd.nokia.landmarkcollection+xml,vnd.nokia.landmarkcollection+xml +application/vnd.nokia.ncd,vnd.nokia.ncd +application/vnd.nokia.n-gage.ac+xml,vnd.nokia.n-gage.ac+xml +application/vnd.nokia.n-gage.data,vnd.nokia.n-gage.data +application/vnd.nokia.pcd+wbxml,vnd.nokia.pcd+wbxml +application/vnd.nokia.pcd+xml,vnd.nokia.pcd+xml +application/vnd.nokia.radio-preset,vnd.nokia.radio-preset +application/vnd.nokia.radio-presets,vnd.nokia.radio-presets +application/vnd.novadigm.EDM,vnd.novadigm.EDM +application/vnd.novadigm.EDX,vnd.novadigm.EDX +application/vnd.novadigm.EXT,vnd.novadigm.EXT +application/vnd.ntt-local.content-share,vnd.ntt-local.content-share +application/vnd.ntt-local.file-transfer,vnd.ntt-local.file-transfer +application/vnd.ntt-local.ogw_remote-access,vnd.ntt-local.ogw_remote-access +application/vnd.ntt-local.sip-ta_remote,vnd.ntt-local.sip-ta_remote +application/vnd.ntt-local.sip-ta_tcp_stream,vnd.ntt-local.sip-ta_tcp_stream +application/vnd.oasis.opendocument.base,vnd.oasis.opendocument.base +application/vnd.oasis.opendocument.chart,vnd.oasis.opendocument.chart +application/vnd.oasis.opendocument.chart-template,vnd.oasis.opendocument.chart-template +application/vnd.oasis.opendocument.formula,vnd.oasis.opendocument.formula +application/vnd.oasis.opendocument.formula-template,vnd.oasis.opendocument.formula-template +application/vnd.oasis.opendocument.graphics,vnd.oasis.opendocument.graphics +application/vnd.oasis.opendocument.graphics-template,vnd.oasis.opendocument.graphics-template +application/vnd.oasis.opendocument.image,vnd.oasis.opendocument.image +application/vnd.oasis.opendocument.image-template,vnd.oasis.opendocument.image-template +application/vnd.oasis.opendocument.presentation,vnd.oasis.opendocument.presentation +application/vnd.oasis.opendocument.presentation-template,vnd.oasis.opendocument.presentation-template +application/vnd.oasis.opendocument.spreadsheet,vnd.oasis.opendocument.spreadsheet +application/vnd.oasis.opendocument.spreadsheet-template,vnd.oasis.opendocument.spreadsheet-template +application/vnd.oasis.opendocument.text,vnd.oasis.opendocument.text +application/vnd.oasis.opendocument.text-master,vnd.oasis.opendocument.text-master +application/vnd.oasis.opendocument.text-master-template,vnd.oasis.opendocument.text-master-template +application/vnd.oasis.opendocument.text-template,vnd.oasis.opendocument.text-template +application/vnd.oasis.opendocument.text-web,vnd.oasis.opendocument.text-web +application/vnd.obn,vnd.obn +application/vnd.ocf+cbor,vnd.ocf+cbor +application/vnd.oci.image.manifest.v1+json,vnd.oci.image.manifest.v1+json +application/vnd.oftn.l10n+json,vnd.oftn.l10n+json +application/vnd.oipf.contentaccessdownload+xml,vnd.oipf.contentaccessdownload+xml +application/vnd.oipf.contentaccessstreaming+xml,vnd.oipf.contentaccessstreaming+xml +application/vnd.oipf.cspg-hexbinary,vnd.oipf.cspg-hexbinary +application/vnd.oipf.dae.svg+xml,vnd.oipf.dae.svg+xml +application/vnd.oipf.dae.xhtml+xml,vnd.oipf.dae.xhtml+xml +application/vnd.oipf.mippvcontrolmessage+xml,vnd.oipf.mippvcontrolmessage+xml +application/vnd.oipf.pae.gem,vnd.oipf.pae.gem +application/vnd.oipf.spdiscovery+xml,vnd.oipf.spdiscovery+xml +application/vnd.oipf.spdlist+xml,vnd.oipf.spdlist+xml +application/vnd.oipf.ueprofile+xml,vnd.oipf.ueprofile+xml +application/vnd.oipf.userprofile+xml,vnd.oipf.userprofile+xml +application/vnd.olpc-sugar,vnd.olpc-sugar +application/vnd.oma.bcast.associated-procedure-parameter+xml,vnd.oma.bcast.associated-procedure-parameter+xml +application/vnd.oma.bcast.drm-trigger+xml,vnd.oma.bcast.drm-trigger+xml +application/vnd.oma.bcast.imd+xml,vnd.oma.bcast.imd+xml +application/vnd.oma.bcast.ltkm,vnd.oma.bcast.ltkm +application/vnd.oma.bcast.notification+xml,vnd.oma.bcast.notification+xml +application/vnd.oma.bcast.provisioningtrigger,vnd.oma.bcast.provisioningtrigger +application/vnd.oma.bcast.sgboot,vnd.oma.bcast.sgboot +application/vnd.oma.bcast.sgdd+xml,vnd.oma.bcast.sgdd+xml +application/vnd.oma.bcast.sgdu,vnd.oma.bcast.sgdu +application/vnd.oma.bcast.simple-symbol-container,vnd.oma.bcast.simple-symbol-container +application/vnd.oma.bcast.smartcard-trigger+xml,vnd.oma.bcast.smartcard-trigger+xml +application/vnd.oma.bcast.sprov+xml,vnd.oma.bcast.sprov+xml +application/vnd.oma.bcast.stkm,vnd.oma.bcast.stkm +application/vnd.oma.cab-address-book+xml,vnd.oma.cab-address-book+xml +application/vnd.oma.cab-feature-handler+xml,vnd.oma.cab-feature-handler+xml +application/vnd.oma.cab-pcc+xml,vnd.oma.cab-pcc+xml +application/vnd.oma.cab-subs-invite+xml,vnd.oma.cab-subs-invite+xml +application/vnd.oma.cab-user-prefs+xml,vnd.oma.cab-user-prefs+xml +application/vnd.oma.dcd,vnd.oma.dcd +application/vnd.oma.dcdc,vnd.oma.dcdc +application/vnd.oma.dd2+xml,vnd.oma.dd2+xml +application/vnd.oma.drm.risd+xml,vnd.oma.drm.risd+xml +application/vnd.oma.group-usage-list+xml,vnd.oma.group-usage-list+xml +application/vnd.oma.lwm2m+cbor,vnd.oma.lwm2m+cbor +application/vnd.oma.lwm2m+json,vnd.oma.lwm2m+json +application/vnd.oma.lwm2m+tlv,vnd.oma.lwm2m+tlv +application/vnd.oma.pal+xml,vnd.oma.pal+xml +application/vnd.oma.poc.detailed-progress-report+xml,vnd.oma.poc.detailed-progress-report+xml +application/vnd.oma.poc.final-report+xml,vnd.oma.poc.final-report+xml +application/vnd.oma.poc.groups+xml,vnd.oma.poc.groups+xml +application/vnd.oma.poc.invocation-descriptor+xml,vnd.oma.poc.invocation-descriptor+xml +application/vnd.oma.poc.optimized-progress-report+xml,vnd.oma.poc.optimized-progress-report+xml +application/vnd.oma.push,vnd.oma.push +application/vnd.oma.scidm.messages+xml,vnd.oma.scidm.messages+xml +application/vnd.oma.xcap-directory+xml,vnd.oma.xcap-directory+xml +application/vnd.omads-email+xml,vnd.omads-email+xml +application/vnd.omads-file+xml,vnd.omads-file+xml +application/vnd.omads-folder+xml,vnd.omads-folder+xml +application/vnd.omaloc-supl-init,vnd.omaloc-supl-init +application/vnd.oma-scws-config,vnd.oma-scws-config +application/vnd.oma-scws-http-request,vnd.oma-scws-http-request +application/vnd.oma-scws-http-response,vnd.oma-scws-http-response +application/vnd.onepager,vnd.onepager +application/vnd.onepagertamp,vnd.onepagertamp +application/vnd.onepagertamx,vnd.onepagertamx +application/vnd.onepagertat,vnd.onepagertat +application/vnd.onepagertatp,vnd.onepagertatp +application/vnd.onepagertatx,vnd.onepagertatx +application/vnd.onvif.metadata,vnd.onvif.metadata +application/vnd.openblox.game-binary,vnd.openblox.game-binary +application/vnd.openblox.game+xml,vnd.openblox.game+xml +application/vnd.openeye.oeb,vnd.openeye.oeb +application/vnd.openstreetmap.data+xml,vnd.openstreetmap.data+xml +application/vnd.opentimestamps.ots,vnd.opentimestamps.ots +application/vnd.openxmlformats-officedocument.custom-properties+xml,vnd.openxmlformats-officedocument.custom-properties+xml +application/vnd.openxmlformats-officedocument.customXmlProperties+xml,vnd.openxmlformats-officedocument.customXmlProperties+xml +application/vnd.openxmlformats-officedocument.drawing+xml,vnd.openxmlformats-officedocument.drawing+xml +application/vnd.openxmlformats-officedocument.drawingml.chart+xml,vnd.openxmlformats-officedocument.drawingml.chart+xml +application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml,vnd.openxmlformats-officedocument.drawingml.chartshapes+xml +application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml,vnd.openxmlformats-officedocument.drawingml.diagramColors+xml +application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml,vnd.openxmlformats-officedocument.drawingml.diagramData+xml +application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml,vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml +application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml,vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml +application/vnd.openxmlformats-officedocument.extended-properties+xml,vnd.openxmlformats-officedocument.extended-properties+xml +application/vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml,vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml +application/vnd.openxmlformats-officedocument.presentationml.comments+xml,vnd.openxmlformats-officedocument.presentationml.comments+xml +application/vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml,vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml +application/vnd.openxmlformats-officedocument.presentationml.notesMaster+xml,vnd.openxmlformats-officedocument.presentationml.notesMaster+xml +application/vnd.openxmlformats-officedocument.presentationml.notesSlide+xml,vnd.openxmlformats-officedocument.presentationml.notesSlide+xml +application/vnd.openxmlformats-officedocument.presentationml.presentation,vnd.openxmlformats-officedocument.presentationml.presentation +application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml,vnd.openxmlformats-officedocument.presentationml.presentation.main+xml +application/vnd.openxmlformats-officedocument.presentationml.presProps+xml,vnd.openxmlformats-officedocument.presentationml.presProps+xml +application/vnd.openxmlformats-officedocument.presentationml.slide,vnd.openxmlformats-officedocument.presentationml.slide +application/vnd.openxmlformats-officedocument.presentationml.slide+xml,vnd.openxmlformats-officedocument.presentationml.slide+xml +application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml,vnd.openxmlformats-officedocument.presentationml.slideLayout+xml +application/vnd.openxmlformats-officedocument.presentationml.slideMaster+xml,vnd.openxmlformats-officedocument.presentationml.slideMaster+xml +application/vnd.openxmlformats-officedocument.presentationml.slideshow,vnd.openxmlformats-officedocument.presentationml.slideshow +application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml,vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml +application/vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml,vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml +application/vnd.openxmlformats-officedocument.presentationml.tableStyles+xml,vnd.openxmlformats-officedocument.presentationml.tableStyles+xml +application/vnd.openxmlformats-officedocument.presentationml.tags+xml,vnd.openxmlformats-officedocument.presentationml.tags+xml +application/vnd.openxmlformats-officedocument.presentationml.template,vnd.openxmlformats-officedocument.presentationml.template +application/vnd.openxmlformats-officedocument.presentationml.template.main+xml,vnd.openxmlformats-officedocument.presentationml.template.main+xml +application/vnd.openxmlformats-officedocument.presentationml.viewProps+xml,vnd.openxmlformats-officedocument.presentationml.viewProps+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml,vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml,vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml,vnd.openxmlformats-officedocument.spreadsheetml.comments+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml,vnd.openxmlformats-officedocument.spreadsheetml.connections+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml,vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml,vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml,vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml,vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml,vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml,vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml,vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml,vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml,vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,vnd.openxmlformats-officedocument.spreadsheetml.sheet +application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml,vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml,vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml,vnd.openxmlformats-officedocument.spreadsheetml.styles+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml,vnd.openxmlformats-officedocument.spreadsheetml.table+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml,vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.template,vnd.openxmlformats-officedocument.spreadsheetml.template +application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml,vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml,vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml,vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml +application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml,vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml +application/vnd.openxmlformats-officedocument.theme+xml,vnd.openxmlformats-officedocument.theme+xml +application/vnd.openxmlformats-officedocument.themeOverride+xml,vnd.openxmlformats-officedocument.themeOverride+xml +application/vnd.openxmlformats-officedocument.vmlDrawing,vnd.openxmlformats-officedocument.vmlDrawing +application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml,vnd.openxmlformats-officedocument.wordprocessingml.comments+xml +application/vnd.openxmlformats-officedocument.wordprocessingml.document,vnd.openxmlformats-officedocument.wordprocessingml.document +application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml,vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml +application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml,vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml +application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml,vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml +application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml,vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml +application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml,vnd.openxmlformats-officedocument.wordprocessingml.footer+xml +application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml,vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml +application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml,vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml +application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml,vnd.openxmlformats-officedocument.wordprocessingml.settings+xml +application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml,vnd.openxmlformats-officedocument.wordprocessingml.styles+xml +application/vnd.openxmlformats-officedocument.wordprocessingml.template,vnd.openxmlformats-officedocument.wordprocessingml.template +application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml,vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml +application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml,vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml +application/vnd.openxmlformats-package.core-properties+xml,vnd.openxmlformats-package.core-properties+xml +application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml,vnd.openxmlformats-package.digital-signature-xmlsignature+xml +application/vnd.openxmlformats-package.relationships+xml,vnd.openxmlformats-package.relationships+xml +application/vnd.oracle.resource+json,vnd.oracle.resource+json +application/vnd.orange.indata,vnd.orange.indata +application/vnd.osa.netdeploy,vnd.osa.netdeploy +application/vnd.osgeo.mapguide.package,vnd.osgeo.mapguide.package +application/vnd.osgi.bundle,vnd.osgi.bundle +application/vnd.osgi.dp,vnd.osgi.dp +application/vnd.osgi.subsystem,vnd.osgi.subsystem +application/vnd.otps.ct-kip+xml,vnd.otps.ct-kip+xml +application/vnd.oxli.countgraph,vnd.oxli.countgraph +application/vnd.pagerduty+json,vnd.pagerduty+json +application/vnd.palm,vnd.palm +application/vnd.panoply,vnd.panoply +application/vnd.paos.xml,vnd.paos.xml +application/vnd.patentdive,vnd.patentdive +application/vnd.patientecommsdoc,vnd.patientecommsdoc +application/vnd.pawaafile,vnd.pawaafile +application/vnd.pcos,vnd.pcos +application/vnd.pg.format,vnd.pg.format +application/vnd.pg.osasli,vnd.pg.osasli +application/vnd.piaccess.application-licence,vnd.piaccess.application-licence +application/vnd.picsel,vnd.picsel +application/vnd.pmi.widget,vnd.pmi.widget +application/vnd.poc.group-advertisement+xml,vnd.poc.group-advertisement+xml +application/vnd.pocketlearn,vnd.pocketlearn +application/vnd.powerbuilder6,vnd.powerbuilder6 +application/vnd.powerbuilder6-s,vnd.powerbuilder6-s +application/vnd.powerbuilder7,vnd.powerbuilder7 +application/vnd.powerbuilder75,vnd.powerbuilder75 +application/vnd.powerbuilder75-s,vnd.powerbuilder75-s +application/vnd.powerbuilder7-s,vnd.powerbuilder7-s +application/vnd.preminet,vnd.preminet +application/vnd.previewsystems.box,vnd.previewsystems.box +application/vnd.proteus.magazine,vnd.proteus.magazine +application/vnd.psfs,vnd.psfs +application/vnd.pt.mundusmundi,vnd.pt.mundusmundi +application/vnd.publishare-delta-tree,vnd.publishare-delta-tree +application/vnd.pvi.ptid1,vnd.pvi.ptid1 +application/vnd.pwg-multiplexed,vnd.pwg-multiplexed +application/vnd.pwg-xhtml-print+xml,vnd.pwg-xhtml-print+xml +application/vnd.qualcomm.brew-app-res,vnd.qualcomm.brew-app-res +application/vnd.quarantainenet,vnd.quarantainenet +application/vnd.Quark.QuarkXPress,vnd.Quark.QuarkXPress +application/vnd.quobject-quoxdocument,vnd.quobject-quoxdocument +application/vnd.radisys.moml+xml,vnd.radisys.moml+xml +application/vnd.radisys.msml-audit-conf+xml,vnd.radisys.msml-audit-conf+xml +application/vnd.radisys.msml-audit-conn+xml,vnd.radisys.msml-audit-conn+xml +application/vnd.radisys.msml-audit-dialog+xml,vnd.radisys.msml-audit-dialog+xml +application/vnd.radisys.msml-audit-stream+xml,vnd.radisys.msml-audit-stream+xml +application/vnd.radisys.msml-audit+xml,vnd.radisys.msml-audit+xml +application/vnd.radisys.msml-conf+xml,vnd.radisys.msml-conf+xml +application/vnd.radisys.msml-dialog-base+xml,vnd.radisys.msml-dialog-base+xml +application/vnd.radisys.msml-dialog-fax-detect+xml,vnd.radisys.msml-dialog-fax-detect+xml +application/vnd.radisys.msml-dialog-fax-sendrecv+xml,vnd.radisys.msml-dialog-fax-sendrecv+xml +application/vnd.radisys.msml-dialog-group+xml,vnd.radisys.msml-dialog-group+xml +application/vnd.radisys.msml-dialog-speech+xml,vnd.radisys.msml-dialog-speech+xml +application/vnd.radisys.msml-dialog-transform+xml,vnd.radisys.msml-dialog-transform+xml +application/vnd.radisys.msml-dialog+xml,vnd.radisys.msml-dialog+xml +application/vnd.radisys.msml+xml,vnd.radisys.msml+xml +application/vnd.rainstor.data,vnd.rainstor.data +application/vnd.rapid,vnd.rapid +application/vnd.rar,vnd.rar +application/vnd.realvnc.bed,vnd.realvnc.bed +application/vnd.recordare.musicxml,vnd.recordare.musicxml +application/vnd.recordare.musicxml+xml,vnd.recordare.musicxml+xml +application/vnd.RenLearn.rlprint,vnd.RenLearn.rlprint +application/vnd.resilient.logic,vnd.resilient.logic +application/vnd.restful+json,vnd.restful+json +application/vnd.rig.cryptonote,vnd.rig.cryptonote +application/vnd.route66.link66+xml,vnd.route66.link66+xml +application/vnd.rs-274x,vnd.rs-274x +application/vnd.ruckus.download,vnd.ruckus.download +application/vnd.s3sms,vnd.s3sms +application/vnd.sailingtracker.track,vnd.sailingtracker.track +application/vnd.sar,vnd.sar +application/vnd.sbm.cid,vnd.sbm.cid +application/vnd.sbm.mid2,vnd.sbm.mid2 +application/vnd.scribus,vnd.scribus +application/vnd.sealed.3df,vnd.sealed.3df +application/vnd.sealed.csf,vnd.sealed.csf +application/vnd.sealed.doc,vnd.sealed.doc +application/vnd.sealed.eml,vnd.sealed.eml +application/vnd.sealed.mht,vnd.sealed.mht +application/vnd.sealed.net,vnd.sealed.net +application/vnd.sealed.ppt,vnd.sealed.ppt +application/vnd.sealed.tiff,vnd.sealed.tiff +application/vnd.sealed.xls,vnd.sealed.xls +application/vnd.sealedmedia.softseal.html,vnd.sealedmedia.softseal.html +application/vnd.sealedmedia.softseal.pdf,vnd.sealedmedia.softseal.pdf +application/vnd.seemail,vnd.seemail +application/vnd.seis+json,vnd.seis+json +application/vnd.sema,vnd.sema +application/vnd.semd,vnd.semd +application/vnd.semf,vnd.semf +application/vnd.shade-save-file,vnd.shade-save-file +application/vnd.shana.informed.formdata,vnd.shana.informed.formdata +application/vnd.shana.informed.formtemplate,vnd.shana.informed.formtemplate +application/vnd.shana.informed.interchange,vnd.shana.informed.interchange +application/vnd.shana.informed.package,vnd.shana.informed.package +application/vnd.shootproof+json,vnd.shootproof+json +application/vnd.shopkick+json,vnd.shopkick+json +application/vnd.shp,vnd.shp +application/vnd.shx,vnd.shx +application/vnd.sigrok.session,vnd.sigrok.session +application/vnd.SimTech-MindMapper,vnd.SimTech-MindMapper +application/vnd.siren+json,vnd.siren+json +application/vnd.smaf,vnd.smaf +application/vnd.smart.notebook,vnd.smart.notebook +application/vnd.smart.teacher,vnd.smart.teacher +application/vnd.smintio.portals.archive,vnd.smintio.portals.archive +application/vnd.snesdev-page-table,vnd.snesdev-page-table +application/vnd.software602.filler.form+xml,vnd.software602.filler.form+xml +application/vnd.software602.filler.form-xml-zip,vnd.software602.filler.form-xml-zip +application/vnd.solent.sdkm+xml,vnd.solent.sdkm+xml +application/vnd.spotfire.dxp,vnd.spotfire.dxp +application/vnd.spotfire.sfs,vnd.spotfire.sfs +application/vnd.sqlite3,vnd.sqlite3 +application/vnd.sss-cod,vnd.sss-cod +application/vnd.sss-dtf,vnd.sss-dtf +application/vnd.sss-ntf,vnd.sss-ntf +application/vnd.stepmania.package,vnd.stepmania.package +application/vnd.stepmania.stepchart,vnd.stepmania.stepchart +application/vnd.street-stream,vnd.street-stream +application/vnd.sun.wadl+xml,vnd.sun.wadl+xml +application/vnd.sus-calendar,vnd.sus-calendar +application/vnd.svd,vnd.svd +application/vnd.swiftview-ics,vnd.swiftview-ics +application/vnd.sybyl.mol2,vnd.sybyl.mol2 +application/vnd.sycle+xml,vnd.sycle+xml +application/vnd.syft+json,vnd.syft+json +application/vnd.syncml.dm.notification,vnd.syncml.dm.notification +application/vnd.syncml.dmddf+xml,vnd.syncml.dmddf+xml +application/vnd.syncml.dmtnds+wbxml,vnd.syncml.dmtnds+wbxml +application/vnd.syncml.dmtnds+xml,vnd.syncml.dmtnds+xml +application/vnd.syncml.dmddf+wbxml,vnd.syncml.dmddf+wbxml +application/vnd.syncml.dm+wbxml,vnd.syncml.dm+wbxml +application/vnd.syncml.dm+xml,vnd.syncml.dm+xml +application/vnd.syncml.ds.notification,vnd.syncml.ds.notification +application/vnd.syncml+xml,vnd.syncml+xml +application/vnd.tableschema+json,vnd.tableschema+json +application/vnd.tao.intent-module-archive,vnd.tao.intent-module-archive +application/vnd.tcpdump.pcap,vnd.tcpdump.pcap +application/vnd.think-cell.ppttc+json,vnd.think-cell.ppttc+json +application/vnd.tml,vnd.tml +application/vnd.tmd.mediaflex.api+xml,vnd.tmd.mediaflex.api+xml +application/vnd.tmobile-livetv,vnd.tmobile-livetv +application/vnd.tri.onesource,vnd.tri.onesource +application/vnd.trid.tpt,vnd.trid.tpt +application/vnd.triscape.mxs,vnd.triscape.mxs +application/vnd.trueapp,vnd.trueapp +application/vnd.truedoc,vnd.truedoc +application/vnd.ubisoft.webplayer,vnd.ubisoft.webplayer +application/vnd.ufdl,vnd.ufdl +application/vnd.uiq.theme,vnd.uiq.theme +application/vnd.umajin,vnd.umajin +application/vnd.unity,vnd.unity +application/vnd.uoml+xml,vnd.uoml+xml +application/vnd.uplanet.alert,vnd.uplanet.alert +application/vnd.uplanet.alert-wbxml,vnd.uplanet.alert-wbxml +application/vnd.uplanet.bearer-choice,vnd.uplanet.bearer-choice +application/vnd.uplanet.bearer-choice-wbxml,vnd.uplanet.bearer-choice-wbxml +application/vnd.uplanet.cacheop,vnd.uplanet.cacheop +application/vnd.uplanet.cacheop-wbxml,vnd.uplanet.cacheop-wbxml +application/vnd.uplanet.channel,vnd.uplanet.channel +application/vnd.uplanet.channel-wbxml,vnd.uplanet.channel-wbxml +application/vnd.uplanet.list,vnd.uplanet.list +application/vnd.uplanet.listcmd,vnd.uplanet.listcmd +application/vnd.uplanet.listcmd-wbxml,vnd.uplanet.listcmd-wbxml +application/vnd.uplanet.list-wbxml,vnd.uplanet.list-wbxml +application/vnd.uri-map,vnd.uri-map +application/vnd.uplanet.signal,vnd.uplanet.signal +application/vnd.valve.source.material,vnd.valve.source.material +application/vnd.vcx,vnd.vcx +application/vnd.vd-study,vnd.vd-study +application/vnd.vectorworks,vnd.vectorworks +application/vnd.vel+json,vnd.vel+json +application/vnd.verimatrix.vcas,vnd.verimatrix.vcas +application/vnd.veritone.aion+json,vnd.veritone.aion+json +application/vnd.veryant.thin,vnd.veryant.thin +application/vnd.ves.encrypted,vnd.ves.encrypted +application/vnd.vidsoft.vidconference,vnd.vidsoft.vidconference +application/vnd.visio,vnd.visio +application/vnd.visionary,vnd.visionary +application/vnd.vividence.scriptfile,vnd.vividence.scriptfile +application/vnd.vsf,vnd.vsf +application/vnd.wap.sic,vnd.wap.sic +application/vnd.wap.slc,vnd.wap.slc +application/vnd.wap.wbxml,vnd.wap.wbxml +application/vnd.wap.wmlc,vnd.wap.wmlc +application/vnd.wap.wmlscriptc,vnd.wap.wmlscriptc +application/vnd.wasmflow.wafl,vnd.wasmflow.wafl +application/vnd.webturbo,vnd.webturbo +application/vnd.wfa.dpp,vnd.wfa.dpp +application/vnd.wfa.p2p,vnd.wfa.p2p +application/vnd.wfa.wsc,vnd.wfa.wsc +application/vnd.windows.devicepairing,vnd.windows.devicepairing +application/vnd.wmc,vnd.wmc +application/vnd.wmf.bootstrap,vnd.wmf.bootstrap +application/vnd.wolfram.mathematica,vnd.wolfram.mathematica +application/vnd.wolfram.mathematica.package,vnd.wolfram.mathematica.package +application/vnd.wolfram.player,vnd.wolfram.player +application/vnd.wordlift,vnd.wordlift +application/vnd.wordperfect,vnd.wordperfect +application/vnd.wqd,vnd.wqd +application/vnd.wrq-hp3000-labelled,vnd.wrq-hp3000-labelled +application/vnd.wt.stf,vnd.wt.stf +application/vnd.wv.csp+xml,vnd.wv.csp+xml +application/vnd.wv.csp+wbxml,vnd.wv.csp+wbxml +application/vnd.wv.ssp+xml,vnd.wv.ssp+xml +application/vnd.xacml+json,vnd.xacml+json +application/vnd.xara,vnd.xara +application/vnd.xfdl,vnd.xfdl +application/vnd.xfdl.webform,vnd.xfdl.webform +application/vnd.xmi+xml,vnd.xmi+xml +application/vnd.xmpie.cpkg,vnd.xmpie.cpkg +application/vnd.xmpie.dpkg,vnd.xmpie.dpkg +application/vnd.xmpie.plan,vnd.xmpie.plan +application/vnd.xmpie.ppkg,vnd.xmpie.ppkg +application/vnd.xmpie.xlim,vnd.xmpie.xlim +application/vnd.yamaha.hv-dic,vnd.yamaha.hv-dic +application/vnd.yamaha.hv-script,vnd.yamaha.hv-script +application/vnd.yamaha.hv-voice,vnd.yamaha.hv-voice +application/vnd.yamaha.openscoreformat.osfpvg+xml,vnd.yamaha.openscoreformat.osfpvg+xml +application/vnd.yamaha.openscoreformat,vnd.yamaha.openscoreformat +application/vnd.yamaha.remote-setup,vnd.yamaha.remote-setup +application/vnd.yamaha.smaf-audio,vnd.yamaha.smaf-audio +application/vnd.yamaha.smaf-phrase,vnd.yamaha.smaf-phrase +application/vnd.yamaha.through-ngn,vnd.yamaha.through-ngn +application/vnd.yamaha.tunnel-udpencap,vnd.yamaha.tunnel-udpencap +application/vnd.yaoweme,vnd.yaoweme +application/vnd.yellowriver-custom-menu,vnd.yellowriver-custom-menu +application/vnd.zul,vnd.zul +application/vnd.zzazz.deck+xml,vnd.zzazz.deck+xml +application/voicexml+xml,voicexml+xml +application/voucher-cms+json,voucher-cms+json +application/vq-rtcpxr,vq-rtcpxr +application/wasm,wasm +application/watcherinfo+xml,watcherinfo+xml +application/webpush-options+json,webpush-options+json +application/whoispp-query,whoispp-query +application/whoispp-response,whoispp-response +application/widget,widget +application/wita,wita +application/wordperfect5.1,wordperfect5.1 +application/wsdl+xml,wsdl+xml +application/wspolicy+xml,wspolicy+xml +application/x-pki-message,x-pki-message +application/x-www-form-urlencoded,x-www-form-urlencoded +application/x-x509-ca-cert,x-x509-ca-cert +application/x-x509-ca-ra-cert,x-x509-ca-ra-cert +application/x-x509-next-ca-cert,x-x509-next-ca-cert +application/x400-bp,x400-bp +application/xacml+xml,xacml+xml +application/xcap-att+xml,xcap-att+xml +application/xcap-caps+xml,xcap-caps+xml +application/xcap-diff+xml,xcap-diff+xml +application/xcap-el+xml,xcap-el+xml +application/xcap-error+xml,xcap-error+xml +application/xcap-ns+xml,xcap-ns+xml +application/xcon-conference-info-diff+xml,xcon-conference-info-diff+xml +application/xcon-conference-info+xml,xcon-conference-info+xml +application/xenc+xml,xenc+xml +application/xfdf,xfdf +application/xhtml+xml,xhtml+xml +application/xliff+xml,xliff+xml +application/xml,xml +application/xml-dtd,xml-dtd +application/xml-external-parsed-entity,xml-external-parsed-entity +application/xml-patch+xml,xml-patch+xml +application/xmpp+xml,xmpp+xml +application/xop+xml,xop+xml +application/xslt+xml,xslt+xml +application/xv+xml,xv+xml +application/yaml,yaml +application/yang,yang +application/yang-data+cbor,yang-data+cbor +application/yang-data+json,yang-data+json +application/yang-data+xml,yang-data+xml +application/yang-patch+json,yang-patch+json +application/yang-patch+xml,yang-patch+xml +application/yin+xml,yin+xml +application/zip,zip +application/zlib,zlib +application/zstd,zstd +audio/1d-interleaved-parityfec,1d-interleaved-parityfec +audio/32kadpcm,32kadpcm +audio/3gpp,3gpp +audio/3gpp2,3gpp2 +audio/aac,aac +audio/ac3,ac3 +audio/AMR,AMR +audio/AMR-WB,AMR-WB +audio/amr-wb+,amr-wb+ +audio/aptx,aptx +audio/asc,asc +audio/ATRAC-ADVANCED-LOSSLESS,ATRAC-ADVANCED-LOSSLESS +audio/ATRAC-X,ATRAC-X +audio/ATRAC3,ATRAC3 +audio/basic,basic +audio/BV16,BV16 +audio/BV32,BV32 +audio/clearmode,clearmode +audio/CN,CN +audio/DAT12,DAT12 +audio/dls,dls +audio/dsr-es201108,dsr-es201108 +audio/dsr-es202050,dsr-es202050 +audio/dsr-es202211,dsr-es202211 +audio/dsr-es202212,dsr-es202212 +audio/DV,DV +audio/DVI4,DVI4 +audio/eac3,eac3 +audio/encaprtp,encaprtp +audio/EVRC,EVRC +audio/EVRC-QCP,EVRC-QCP +audio/EVRC0,EVRC0 +audio/EVRC1,EVRC1 +audio/EVRCB,EVRCB +audio/EVRCB0,EVRCB0 +audio/EVRCB1,EVRCB1 +audio/EVRCNW,EVRCNW +audio/EVRCNW0,EVRCNW0 +audio/EVRCNW1,EVRCNW1 +audio/EVRCWB,EVRCWB +audio/EVRCWB0,EVRCWB0 +audio/EVRCWB1,EVRCWB1 +audio/EVS,EVS +audio/example,example +audio/flexfec,flexfec +audio/fwdred,fwdred +audio/G711-0,G711-0 +audio/G719,G719 +audio/G7221,G7221 +audio/G722,G722 +audio/G723,G723 +audio/G726-16,G726-16 +audio/G726-24,G726-24 +audio/G726-32,G726-32 +audio/G726-40,G726-40 +audio/G728,G728 +audio/G729,G729 +audio/G7291,G7291 +audio/G729D,G729D +audio/G729E,G729E +audio/GSM,GSM +audio/GSM-EFR,GSM-EFR +audio/GSM-HR-08,GSM-HR-08 +audio/iLBC,iLBC +audio/ip-mr_v2.5,ip-mr_v2.5 +audio/L8,L8 +audio/L16,L16 +audio/L20,L20 +audio/L24,L24 +audio/LPC,LPC +audio/MELP,MELP +audio/MELP600,MELP600 +audio/MELP1200,MELP1200 +audio/MELP2400,MELP2400 +audio/mhas,mhas +audio/mobile-xmf,mobile-xmf +audio/MPA,MPA +audio/mp4,mp4 +audio/MP4A-LATM,MP4A-LATM +audio/mpa-robust,mpa-robust +audio/mpeg,mpeg +audio/mpeg4-generic,mpeg4-generic +audio/ogg,ogg +audio/opus,opus +audio/parityfec,parityfec +audio/PCMA,PCMA +audio/PCMA-WB,PCMA-WB +audio/PCMU,PCMU +audio/PCMU-WB,PCMU-WB +audio/prs.sid,prs.sid +audio/QCELP,QCELP +audio/raptorfec,raptorfec +audio/RED,RED +audio/rtp-enc-aescm128,rtp-enc-aescm128 +audio/rtploopback,rtploopback +audio/rtp-midi,rtp-midi +audio/rtx,rtx +audio/scip,scip +audio/SMV,SMV +audio/SMV0,SMV0 +audio/SMV-QCP,SMV-QCP +audio/sofa,sofa +audio/sp-midi,sp-midi +audio/speex,speex +audio/t140c,t140c +audio/t38,t38 +audio/telephone-event,telephone-event +audio/TETRA_ACELP,TETRA_ACELP +audio/TETRA_ACELP_BB,TETRA_ACELP_BB +audio/tone,tone +audio/TSVCIS,TSVCIS +audio/UEMCLIP,UEMCLIP +audio/ulpfec,ulpfec +audio/usac,usac +audio/VDVI,VDVI +audio/VMR-WB,VMR-WB +audio/vnd.3gpp.iufp,vnd.3gpp.iufp +audio/vnd.4SB,vnd.4SB +audio/vnd.audiokoz,vnd.audiokoz +audio/vnd.CELP,vnd.CELP +audio/vnd.cisco.nse,vnd.cisco.nse +audio/vnd.cmles.radio-events,vnd.cmles.radio-events +audio/vnd.cns.anp1,vnd.cns.anp1 +audio/vnd.cns.inf1,vnd.cns.inf1 +audio/vnd.dece.audio,vnd.dece.audio +audio/vnd.digital-winds,vnd.digital-winds +audio/vnd.dlna.adts,vnd.dlna.adts +audio/vnd.dolby.heaac.1,vnd.dolby.heaac.1 +audio/vnd.dolby.heaac.2,vnd.dolby.heaac.2 +audio/vnd.dolby.mlp,vnd.dolby.mlp +audio/vnd.dolby.mps,vnd.dolby.mps +audio/vnd.dolby.pl2,vnd.dolby.pl2 +audio/vnd.dolby.pl2x,vnd.dolby.pl2x +audio/vnd.dolby.pl2z,vnd.dolby.pl2z +audio/vnd.dolby.pulse.1,vnd.dolby.pulse.1 +audio/vnd.dra,vnd.dra +audio/vnd.dts,vnd.dts +audio/vnd.dts.hd,vnd.dts.hd +audio/vnd.dts.uhd,vnd.dts.uhd +audio/vnd.dvb.file,vnd.dvb.file +audio/vnd.everad.plj,vnd.everad.plj +audio/vnd.hns.audio,vnd.hns.audio +audio/vnd.lucent.voice,vnd.lucent.voice +audio/vnd.ms-playready.media.pya,vnd.ms-playready.media.pya +audio/vnd.nokia.mobile-xmf,vnd.nokia.mobile-xmf +audio/vnd.nortel.vbk,vnd.nortel.vbk +audio/vnd.nuera.ecelp4800,vnd.nuera.ecelp4800 +audio/vnd.nuera.ecelp7470,vnd.nuera.ecelp7470 +audio/vnd.nuera.ecelp9600,vnd.nuera.ecelp9600 +audio/vnd.octel.sbc,vnd.octel.sbc +audio/vnd.presonus.multitrack,vnd.presonus.multitrack +audio/vnd.rhetorex.32kadpcm,vnd.rhetorex.32kadpcm +audio/vnd.rip,vnd.rip +audio/vnd.sealedmedia.softseal.mpeg,vnd.sealedmedia.softseal.mpeg +audio/vnd.vmx.cvsd,vnd.vmx.cvsd +audio/vorbis,vorbis +audio/vorbis-config,vorbis-config +font/collection,collection +font/otf,otf +font/sfnt,sfnt +font/ttf,ttf +font/woff,woff +font/woff2,woff2 +image/aces,aces +image/apng,apng +image/avci,avci +image/avcs,avcs +image/avif,avif +image/bmp,bmp +image/cgm,cgm +image/dicom-rle,dicom-rle +image/dpx,dpx +image/emf,emf +image/example,example +image/fits,fits +image/g3fax,g3fax +image/gif,gif +image/heic,heic +image/heic-sequence,heic-sequence +image/heif,heif +image/heif-sequence,heif-sequence +image/hej2k,hej2k +image/hsj2,hsj2 +image/ief,ief +image/j2c,j2c +image/jls,jls +image/jp2,jp2 +image/jpeg,jpeg +image/jph,jph +image/jphc,jphc +image/jpm,jpm +image/jpx,jpx +image/jxr,jxr +image/jxrA,jxrA +image/jxrS,jxrS +image/jxs,jxs +image/jxsc,jxsc +image/jxsi,jxsi +image/jxss,jxss +image/ktx,ktx +image/ktx2,ktx2 +image/naplps,naplps +image/png,png +image/prs.btif,prs.btif +image/prs.pti,prs.pti +image/pwg-raster,pwg-raster +image/svg+xml,svg+xml +image/t38,t38 +image/tiff,tiff +image/tiff-fx,tiff-fx +image/vnd.adobe.photoshop,vnd.adobe.photoshop +image/vnd.airzip.accelerator.azv,vnd.airzip.accelerator.azv +image/vnd.cns.inf2,vnd.cns.inf2 +image/vnd.dece.graphic,vnd.dece.graphic +image/vnd.djvu,vnd.djvu +image/vnd.dwg,vnd.dwg +image/vnd.dxf,vnd.dxf +image/vnd.dvb.subtitle,vnd.dvb.subtitle +image/vnd.fastbidsheet,vnd.fastbidsheet +image/vnd.fpx,vnd.fpx +image/vnd.fst,vnd.fst +image/vnd.fujixerox.edmics-mmr,vnd.fujixerox.edmics-mmr +image/vnd.fujixerox.edmics-rlc,vnd.fujixerox.edmics-rlc +image/vnd.globalgraphics.pgb,vnd.globalgraphics.pgb +image/vnd.microsoft.icon,vnd.microsoft.icon +image/vnd.mix,vnd.mix +image/vnd.ms-modi,vnd.ms-modi +image/vnd.mozilla.apng,vnd.mozilla.apng +image/vnd.net-fpx,vnd.net-fpx +image/vnd.pco.b16,vnd.pco.b16 +image/vnd.radiance,vnd.radiance +image/vnd.sealed.png,vnd.sealed.png +image/vnd.sealedmedia.softseal.gif,vnd.sealedmedia.softseal.gif +image/vnd.sealedmedia.softseal.jpg,vnd.sealedmedia.softseal.jpg +image/vnd.svf,vnd.svf +image/vnd.tencent.tap,vnd.tencent.tap +image/vnd.valve.source.texture,vnd.valve.source.texture +image/vnd.wap.wbmp,vnd.wap.wbmp +image/vnd.xiff,vnd.xiff +image/vnd.zbrush.pcx,vnd.zbrush.pcx +image/webp,webp +image/wmf,wmf +message/bhttp,bhttp +message/CPIM,CPIM +message/delivery-status,delivery-status +message/disposition-notification,disposition-notification +message/example,example +message/external-body,external-body +message/feedback-report,feedback-report +message/global,global +message/global-delivery-status,global-delivery-status +message/global-disposition-notification,global-disposition-notification +message/global-headers,global-headers +message/http,http +message/imdn+xml,imdn+xml +message/mls,mls +message/ohttp-req,ohttp-req +message/ohttp-res,ohttp-res +message/partial,partial +message/rfc822,rfc822 +message/sip,sip +message/sipfrag,sipfrag +message/tracking-status,tracking-status +message/vnd.wfa.wsc,vnd.wfa.wsc +model/3mf,3mf +model/e57,e57 +model/example,example +model/gltf-binary,gltf-binary +model/gltf+json,gltf+json +model/JT,JT +model/iges,iges +model/mesh,mesh +model/mtl,mtl +model/obj,obj +model/prc,prc +model/step,step +model/step+xml,step+xml +model/step+zip,step+zip +model/step-xml+zip,step-xml+zip +model/stl,stl +model/u3d,u3d +model/vnd.bary,vnd.bary +model/vnd.cld,vnd.cld +model/vnd.collada+xml,vnd.collada+xml +model/vnd.dwf,vnd.dwf +model/vnd.flatland.3dml,vnd.flatland.3dml +model/vnd.gdl,vnd.gdl +model/vnd.gs-gdl,vnd.gs-gdl +model/vnd.gtw,vnd.gtw +model/vnd.moml+xml,vnd.moml+xml +model/vnd.mts,vnd.mts +model/vnd.opengex,vnd.opengex +model/vnd.parasolid.transmit.binary,vnd.parasolid.transmit.binary +model/vnd.parasolid.transmit.text,vnd.parasolid.transmit.text +model/vnd.pytha.pyox,vnd.pytha.pyox +model/vnd.rosette.annotated-data-model,vnd.rosette.annotated-data-model +model/vnd.sap.vds,vnd.sap.vds +model/vnd.usda,vnd.usda +model/vnd.usdz+zip,vnd.usdz+zip +model/vnd.valve.source.compiled-map,vnd.valve.source.compiled-map +model/vnd.vtu,vnd.vtu +model/vrml,vrml +model/x3d-vrml,x3d-vrml +model/x3d+fastinfoset,x3d+fastinfoset +model/x3d+xml,x3d+xml +multipart/alternative,alternative +multipart/appledouble,appledouble +multipart/byteranges,byteranges +multipart/digest,digest +multipart/encrypted,encrypted +multipart/example,example +multipart/form-data,form-data +multipart/header-set,header-set +multipart/mixed,mixed +multipart/multilingual,multilingual +multipart/parallel,parallel +multipart/related,related +multipart/report,report +multipart/signed,signed +multipart/vnd.bint.med-plus,vnd.bint.med-plus +multipart/voice-message,voice-message +multipart/x-mixed-replace,x-mixed-replace +text/1d-interleaved-parityfec,1d-interleaved-parityfec +text/cache-manifest,cache-manifest +text/calendar,calendar +text/cql,cql +text/cql-expression,cql-expression +text/cql-identifier,cql-identifier +text/css,css +text/csv,csv +text/csv-schema,csv-schema +text/dns,dns +text/encaprtp,encaprtp +text/enriched,enriched +text/example,example +text/fhirpath,fhirpath +text/flexfec,flexfec +text/fwdred,fwdred +text/gff3,gff3 +text/grammar-ref-list,grammar-ref-list +text/hl7v2,hl7v2 +text/html,html +text/javascript,javascript +text/jcr-cnd,jcr-cnd +text/markdown,markdown +text/mizar,mizar +text/n3,n3 +text/parameters,parameters +text/parityfec,parityfec +text/plain,plain +text/provenance-notation,provenance-notation +text/prs.fallenstein.rst,prs.fallenstein.rst +text/prs.lines.tag,prs.lines.tag +text/prs.prop.logic,prs.prop.logic +text/raptorfec,raptorfec +text/RED,RED +text/rfc822-headers,rfc822-headers +text/richtext,richtext +text/rtf,rtf +text/rtp-enc-aescm128,rtp-enc-aescm128 +text/rtploopback,rtploopback +text/rtx,rtx +text/SGML,SGML +text/shaclc,shaclc +text/shex,shex +text/spdx,spdx +text/strings,strings +text/t140,t140 +text/tab-separated-values,tab-separated-values +text/troff,troff +text/turtle,turtle +text/ulpfec,ulpfec +text/uri-list,uri-list +text/vcard,vcard +text/vnd.a,vnd.a +text/vnd.abc,vnd.abc +text/vnd.ascii-art,vnd.ascii-art +text/vnd.curl,vnd.curl +text/vnd.debian.copyright,vnd.debian.copyright +text/vnd.DMClientScript,vnd.DMClientScript +text/vnd.dvb.subtitle,vnd.dvb.subtitle +text/vnd.esmertec.theme-descriptor,vnd.esmertec.theme-descriptor +text/vnd.exchangeable,vnd.exchangeable +text/vnd.familysearch.gedcom,vnd.familysearch.gedcom +text/vnd.ficlab.flt,vnd.ficlab.flt +text/vnd.fly,vnd.fly +text/vnd.fmi.flexstor,vnd.fmi.flexstor +text/vnd.gml,vnd.gml +text/vnd.graphviz,vnd.graphviz +text/vnd.hans,vnd.hans +text/vnd.hgl,vnd.hgl +text/vnd.in3d.3dml,vnd.in3d.3dml +text/vnd.in3d.spot,vnd.in3d.spot +text/vnd.IPTC.NewsML,vnd.IPTC.NewsML +text/vnd.IPTC.NITF,vnd.IPTC.NITF +text/vnd.latex-z,vnd.latex-z +text/vnd.motorola.reflex,vnd.motorola.reflex +text/vnd.ms-mediapackage,vnd.ms-mediapackage +text/vnd.net2phone.commcenter.command,vnd.net2phone.commcenter.command +text/vnd.radisys.msml-basic-layout,vnd.radisys.msml-basic-layout +text/vnd.senx.warpscript,vnd.senx.warpscript +text/vnd.sun.j2me.app-descriptor,vnd.sun.j2me.app-descriptor +text/vnd.sosi,vnd.sosi +text/vnd.trolltech.linguist,vnd.trolltech.linguist +text/vnd.wap.si,vnd.wap.si +text/vnd.wap.sl,vnd.wap.sl +text/vnd.wap.wml,vnd.wap.wml +text/vnd.wap.wmlscript,vnd.wap.wmlscript +text/vtt,vtt +text/wgsl,wgsl +text/xml,xml +text/xml-external-parsed-entity,xml-external-parsed-entity +video/1d-interleaved-parityfec,1d-interleaved-parityfec +video/3gpp,3gpp +video/3gpp2,3gpp2 +video/3gpp-tt,3gpp-tt +video/AV1,AV1 +video/BMPEG,BMPEG +video/BT656,BT656 +video/CelB,CelB +video/DV,DV +video/encaprtp,encaprtp +video/example,example +video/FFV1,FFV1 +video/flexfec,flexfec +video/H261,H261 +video/H263,H263 +video/H263-1998,H263-1998 +video/H263-2000,H263-2000 +video/H264,H264 +video/H264-RCDO,H264-RCDO +video/H264-SVC,H264-SVC +video/H265,H265 +video/H266,H266 +video/iso.segment,iso.segment +video/JPEG,JPEG +video/jpeg2000,jpeg2000 +video/jxsv,jxsv +video/mj2,mj2 +video/MP1S,MP1S +video/MP2P,MP2P +video/MP2T,MP2T +video/mp4,mp4 +video/MP4V-ES,MP4V-ES +video/MPV,MPV +video/mpeg,mpeg +video/mpeg4-generic,mpeg4-generic +video/nv,nv +video/ogg,ogg +video/parityfec,parityfec +video/pointer,pointer +video/quicktime,quicktime +video/raptorfec,raptorfec +video/raw,raw +video/rtp-enc-aescm128,rtp-enc-aescm128 +video/rtploopback,rtploopback +video/rtx,rtx +video/scip,scip +video/smpte291,smpte291 +video/SMPTE292M,SMPTE292M +video/ulpfec,ulpfec +video/vc1,vc1 +video/vc2,vc2 +video/vnd.CCTV,vnd.CCTV +video/vnd.dece.hd,vnd.dece.hd +video/vnd.dece.mobile,vnd.dece.mobile +video/vnd.dece.mp4,vnd.dece.mp4 +video/vnd.dece.pd,vnd.dece.pd +video/vnd.dece.sd,vnd.dece.sd +video/vnd.dece.video,vnd.dece.video +video/vnd.directv.mpeg,vnd.directv.mpeg +video/vnd.directv.mpeg-tts,vnd.directv.mpeg-tts +video/vnd.dlna.mpeg-tts,vnd.dlna.mpeg-tts +video/vnd.dvb.file,vnd.dvb.file +video/vnd.fvt,vnd.fvt +video/vnd.hns.video,vnd.hns.video +video/vnd.iptvforum.1dparityfec-1010,vnd.iptvforum.1dparityfec-1010 +video/vnd.iptvforum.1dparityfec-2005,vnd.iptvforum.1dparityfec-2005 +video/vnd.iptvforum.2dparityfec-1010,vnd.iptvforum.2dparityfec-1010 +video/vnd.iptvforum.2dparityfec-2005,vnd.iptvforum.2dparityfec-2005 +video/vnd.iptvforum.ttsavc,vnd.iptvforum.ttsavc +video/vnd.iptvforum.ttsmpeg2,vnd.iptvforum.ttsmpeg2 +video/vnd.motorola.video,vnd.motorola.video +video/vnd.motorola.videop,vnd.motorola.videop +video/vnd.mpegurl,vnd.mpegurl +video/vnd.ms-playready.media.pyv,vnd.ms-playready.media.pyv +video/vnd.nokia.interleaved-multimedia,vnd.nokia.interleaved-multimedia +video/vnd.nokia.mp4vr,vnd.nokia.mp4vr +video/vnd.nokia.videovoip,vnd.nokia.videovoip +video/vnd.objectvideo,vnd.objectvideo +video/vnd.radgamettools.bink,vnd.radgamettools.bink +video/vnd.radgamettools.smacker,vnd.radgamettools.smacker +video/vnd.sealed.mpeg1,vnd.sealed.mpeg1 +video/vnd.sealed.mpeg4,vnd.sealed.mpeg4 +video/vnd.sealed.swf,vnd.sealed.swf +video/vnd.sealedmedia.softseal.mov,vnd.sealedmedia.softseal.mov +video/vnd.uvvu.mp4,vnd.uvvu.mp4 +video/vnd.youtube.yt,vnd.youtube.yt +video/vnd.vivo,vnd.vivo +video/VP8,VP8 +video/VP9,VP9 +offline/print,print diff --git a/schema/codelists/open/quantity_kind.csv b/schema/codelists/open/quantity_kind.csv new file mode 100644 index 00000000..deb5f265 --- /dev/null +++ b/schema/codelists/open/quantity_kind.csv @@ -0,0 +1,5 @@ +Code,Title,Definition +area,Area,The two-dimensional size of the part of a surface. +count,Count,A count of items. +currency,Currency,A financial value. +length,Length,A measure of distance. diff --git a/schema/codelists/open/roles.csv b/schema/codelists/open/roles.csv new file mode 100644 index 00000000..c69ad6d3 --- /dev/null +++ b/schema/codelists/open/roles.csv @@ -0,0 +1,19 @@ +Code,Title,Description +world_bank_team_lead,World Bank team lead,The lead of the World Bank project that created and/or used the dataset. Also known as the Task Team Leader (TTL). +resource_provider,Resource provider,An entity that supplies the resource. +custodian,Custodian,An entity that accepts accountability and responsibility for the resource and ensures appropriate care and maintenance of the resource. +owner,Owner,An entity that owns the resource. +user,User,An entity who uses the resource. +distributor,Distributor,An entity who distributes the resource. +principal_investigator,Principal investigator,A key entity responsible for gathering information and conducting research. +processor,Processor,An entity who has processed the data in a manner such that the resource has been modified. +author,Author,An entity who authored the resource. +sponsor,Sponsor,An entity who speaks for the resource. +co_author,Co-author,An entity who jointly authors the resource. +collaborator,Collaborator,An entity who assists with the generation of the resource other than the principal investigator. +editor,Editor,An entity who reviewed or modified the resource to improve the content. +mediator,Mediator,A class of entity that mediates access to the resource and for whom the resource is intended or useful. +rights_holder,Rights holder,An entity owning or managing rights over the resource. +contributor,Contributor,An entity contributing to the resource. +funder,Funder,An entity providing monetary support for the resource. +stakeholder,Stakeholder,An entity who has an interest in the resource or the use of the resource. diff --git a/schema/rdl_schema_0.1.json b/schema/rdl_schema_0.1.json deleted file mode 100644 index 2c56c076..00000000 --- a/schema/rdl_schema_0.1.json +++ /dev/null @@ -1,653 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "http://riskdatalibrary.org/schemas/rdl_schema_v0_1.json", - "title": "Risk Data Library Schema", - "type": "object", - "required": [ - "common" - ], - "properties": { - "common": { - "type": "object", - "properties": { - "contribution": { - "type": "object", - "required": ["title", "abstract", "component", "organization", "model_source", "model_date", - "geo_coverage", "publish", "license_code", "resources"], - "properties": { - "title": { - "type": "string", - "description": "Title of the dataset" - }, - "abstract": { - "type": "string", - "description": "Short description of the resource" - }, - "component": { - "type": "string", - "description": "Univocal schema for this contribution (H, E, V or L)", - "enum": ["Hazard", "Exposure", "Vulnerability", "Loss"] - }, - "organization": { - "type": "string", - "description": "Name of organization that published the dataset" - }, - "model_source": { - "type": "string", - "description": "Name of source model" - }, - "model_date": { - "type": "string", - "description": "Model release date", - "format": "date" - }, - "version": { - "type": "integer", - "description": "Version of the dataset" - }, - "purpose": { - "type": "string", - "description": "Purpose for what the data has been produced" - }, - "project": { - "type": "string", - "description": "Project under which data has been produced" - }, - "notes": { - "type": "string", - "description": "Additional details about the dataset" - }, - "biblio_title": { - "type": "string", - "description": "Authors/year/title of publication" - }, - "biblio_url": { - "type": "string", - "description": "URL of publication", - "format": "uri" - }, - "geo_coverage": { - "$ref": "#/definitions/common_iso", - "description": "ISO code(s) of countries covered by the dataset, comma-separated" - }, - "publish": { - "type": "boolean", - "description": "Flag to show/hide dataset from website" - }, - "license_code": { - "$ref": "#/definitions/common_license", - "description": "Type of license" - }, - "maintainer": { - "type": "string", - "description": "Who added the resource" - }, - "maintainer_email": { - "type": "string", - "description": "Contact email" - } - } - }, - "resources": { - "type": "array", - "items": { - "resource": { - "type": "object", - "required": ["name", "format", "epsg", "url"], - "properties": { - "name": { - "type": "string", - "description": "Name of linked resource" - }, - "aggregation_type": { - "type": "string", - "description": "Level of data representation" - }, - "format": { - "type": "string", - "description": "Format of resource" - }, - "h-res": { - "type": "string", - "description": "Horizontal resolution in meters (raster data only)" - }, - "epsg": { - "type": "string", - "description": "Reference coordinate system (default: 4326)" - }, - "url": { - "type": "string", - "description": "URL of linked resource" - } - } - } - } - } - } - } - }, - "anyOf": [ - { - "type": "object", - "title": "hazard", - "properties": { - "hazard": { - "type": "object", - "required": ["event_set", "event", "footprint_set"], - "properties": { - "event_set": { - "type": "object", - "required": ["hazard_type", "analysis_type"], - "properties": { - "hazard_type": { - "$ref": "#/definitions/common_hazard_type", - "description": "Type of hazard modelled" - }, - "analysis_type": { - "$ref": "#/definitions/common_analysis_type", - "description": "Type of analysis, probabilistic or deterministic" - }, - "geo_area": { - "type": "array", - "description": "The name of the geographic area covered by the hazard analysis. Comma-separated list of geographic names.", - "items": { - "type": "string" - } - }, - "time_start": { - "type": "string", - "description": "The time at which the modelled scenario(s) starts [ISO 8601 format]", - "format": "date" - }, - "time_end": { - "type": "string", - "description": "The time at which the modelled scenario(s) ends [ISO 8601 format]", - "format": "date" - }, - "time_span": { - "type": "string", - "description": "The extent of the time period covered by the events included in the current scenario hazard analysis [ISO 8601 format]" - }, - "time_year": { - "type": "string", - "description": "General reference year to which the scenario refers to (e.g. '2050')" - } - } - }, - "event": { - "type": "object", - "required": ["calculation_method","frequency_type"], - "properties": { - "calculation_method": { - "$ref": "#/definitions/common_calc_method", - "description": "The methodology used for the calculation of this event" - }, - "frequency_type": { - "$ref": "#/definitions/common_frequency_type", - "description": "Frequency representation type" - }, - "return_period": { - "type": "string", - "description": "Probability of occurrence expressed as return periods list (10, 100, 1000) or range (10-1000)" - }, - "occurence_time_start": { - "type": "string", - "description": "The start date (and possibly time) of the time period used to specify either the frequency or the occurrence_probability [ISO 8601 format]", - "format": "date-time" - }, - "occurence_time_end": { - "type": "string", - "description": "The end date (and possibly time) of the time period used to specify either the frequency or the occurrence_probability [ISO 8601 format]", - "format": "date-time" - }, - "occurence_time_span": { - "type": "string", - "description": "The duration (years) of the period used to specify either the frequency or the occurrence_probability" - }, - "trigger_hazard_type": { - "$ref": "#/definitions/common_hazard_type", - "description": "Hazard type that triggered the event" - }, - "trigger_process_type": { - "$ref": "#/definitions/common_process_type", - "description": "Process type that triggered the event" - }, - "description": { - "type": "string", - "description": "Provides additional information about this specific event" - } - } - }, - "footprint_set": { - "type": "object", - "properties": { - "process_type": { - "$ref": "#/definitions/common_process_type", - "description": "Type of hazard process modelled" - }, - "imt": { - "$ref": "#/definitions/im_code", - "description": "Hazard intensity measure unit" - }, - "data_uncertainty": { - "type": "string", - "description": "Comments about the uncertainty of data" - } - } - - } - } - } - } - }, - { - "type": "object", - "title": "exposure", - "properties": { - "exposure": { - "type": "object", - "required": ["model", "value"], - "properties": { - "model": { - "type": "object", - "required": ["category", "occupancy"], - "properties": { - "category": { - "description": "Type of asset", - "$ref": "#/definitions/common_exp_category" - }, - "occupancy": { - "description": "Destination of use of the asset", - "$ref": "#/definitions/common_exp_occupancy" - }, - "occupancy_time": { - "description": "Period of occupancy, if appliable (e.g. Population)", - "$ref": "#/definitions/common_occupancy_time" - }, - "taxonomy_source": { - "type": "string", - "description": "Name of taxonomy source (default is GED4ALL)", - "default": "GED4ALL" - }, - "taxonomy_code": { - "type": "string", - "description": "Alphanumeric code for the taxonomy source (based on GED4ALL)" - }, - "time_year": { - "type": "string", - "description": "General reference year to which the scenario refers to (e.g. '2050')" - }, - "add_attributes": { - "type": "string", - "description": "List of key attributes included in the dataset" - } - } - }, - "value": { - "type": "object", - "properties": { - "val_type": { - "description": "Type of asset value", - "$ref": "#/definitions/common_exp_val_type" - }, - "val_unit": { - "type": "string", - "description": "Unit of measure" - } - } - } - } - } - } - }, - { - "type": "object", - "title": "vulnerability", - "properties": { - "vulnerability": { - "type": "object", - "properties": { - "model": { - "type": "object", - "properties": { - "hazard_type_primary": { - "description": "Primary hazard involved", - "$ref": "#/definitions/common_hazard_type" - }, - "hazard_type_secondary": { - "description": "Secondary hazard involved", - "$ref": "#/definitions/common_hazard_type" - - }, - "process_type_primary": { - "description": "Primary process involved", - "$ref": "#/definitions/common_process_type" - - }, - "process_type_secondary": { - "description": "Secondary process involved", - "$ref": "#/definitions/common_process_type" - }, - "frequency_type": { - "description": "Frequency representation type", - "$ref": "#/definitions/common_frequency_type" - }, - "imt": { - "description": "Hazard intensity measure unit", - "$ref": "#/definitions/im_code" - }, - "category": { - "description": "Type of asset", - "$ref": "#/definitions/common_exp_category" - }, - "occupancy": { - "description": "Type of occupancy to which function applies", - "$ref": "#/definitions/common_exp_occupancy" - }, - "val_type": { - "description": "Type of asset value", - "$ref": "#/definitions/common_exp_val_type" - }, - "val_unit": { - "type": "string", - "description": "Unit of measure" - }, - "taxonomy_source": { - "type": "string", - "description": "Source of taxonomy" - }, - "taxonomy_code": { - "type": "string", - "description": "Taxonomy code to which function applies" - }, - "impact_type": { - "description": "Type of impact", - "$ref": "#/definitions/common_impact_type" - }, - "scale_applicability": { - "description": "Administrative level of application", - "$ref": "#/definitions/common_aggregation_type" - }, - "country_tranferability": { - "description": "ISOa3 list of countries in which the model could be applied", - "$ref": "#/definitions/common_iso" - }, - "local_applicability": { - "type": "string", - "description": "Area within a country or region to wich the model specifically applies" - }, - "transferability_notes": { - "type": "string", - "description": "Details about applicability to different areas" - }, - "function_type": { - "$ref": "#/definitions/vulnerability_function_type", - "description": "Type of function" - }, - "calculation_method": { - "$ref": "#/definitions/common_calc_method", - "description": "The methodology used for the calculation of the function" - }, - "approach": { - "$ref": "#/definitions/f_subtype", - "description": "Type of methodological approach" - }, - "f_relationship": { - "$ref": "#/definitions/vulnerability_f_relationship", - "description": "Type of relationship: Mathematical or Discrete" - }, - "f_math": { - "$ref": "#/definitions/vulnerability_f_math", - "description": "Parametric or bespoke" - } - } - }, - "specifics": { - "type": "object", - "properties": { - "analysis_details": { - "description": "Description of analysis that produced the function", - "type": "string" - }, - "par_names": { - "type": "string", - "description": "Parameters considered by the function" - }, - "im_name": { - "type": "string", - "description": "Name of loss intensity measure" - }, - "im_units": { - "type": "string", - "description": "Unit of loss intensity measure" - }, - "n_events": { - "type": "integer", - "description": "Number of events the function has been built on" - }, - "n_assets": { - "type": "integer", - "description": "Number of assets the function has been built on" - }, - "is_fit_good": { - "type": "boolean", - "description": "Is the fit good overall?" - }, - "is_edp_thre": { - "type": "boolean", - "description": "Is the damage scale is associated to an engineered-design parameter threshold?" - }, - "is_dm_factor": { - "type": "boolean", - "description": "Is the damage scale is associated to a damage factor?" - }, - "is_casualties": { - "type": "boolean", - "description": "Is the damage scale is associated to a casualties estimation?" - }, - "is_downtime": { - "type": "boolean", - "description": "Is the damage scale is associated to a downtime estimation (e.g. service interruption)?" - } - } - } - } - } - } - }, - { - "type": "object", - "title": "loss", - "properties": { - "loss": { - "type": "object", - "properties": { - "model": { - "type": "object", - "properties": { - "hazard_type": { - "$ref": "#/definitions/common_hazard_type", - "description": "Type of hazard modelled" - }, - "process_type": { - "$ref": "#/definitions/common_process_type", - "description": "Type of hazard process modelled" - }, - "time_start": { - "type": "string", - "description": "The time at which the modelled scenario(s) starts [ISO 8601 format]", - "format": "date" - }, - "time_end": { - "type": "string", - "description": "The time at which the modelled scenario(s) ends [ISO 8601 format]", - "format": "date" - }, - "time_year": { - "type": "string", - "description": "General reference year to which the scenario refers to (e.g. '2050')" - }, - "occupancy": { - "$ref": "#/definitions/common_exp_occupancy", - "description": "Destination of use of the asset" - }, - "category": { - "$ref": "#/definitions/common_exp_category", - "description": "Exposure category" - }, - "val_type": { - "$ref": "#/definitions/common_exp_val_type", - "description": "Element on which loss insist" - }, - "impact": { - "$ref": "#/definitions/common_impact_type", - "description": "Type of impact" - }, - "loss_type": { - "$ref": "#/definitions/loss_loss_type", - "description": "Type of loss" - }, - "frequency": { - "$ref": "#/definitions/common_frequency_type", - "description": "Frequency representation type" - }, - "return_period": { - "type": "string", - "description": "Probability of occurrence expressed as return periods list (10, 100, 1000) or range (10-1000)" - }, - "calculation_method": { - "$ref": "#/definitions/common_calc_method", - "description": "The methodology used for the calculation of this event" - }, - "metric": { - "$ref": "#/definitions/loss_metric", - "description": "Type of loss metric" - }, - "val_unit": { - "type": "string", - "description": "Unit of measure" - }, - "hazard_link": { - "type": "string", - "description": "URL of source hazard data", - "format": "uri" - }, - "exposure_link": { - "type": "string", - "description": "URL of source exposure data", - "format": "uri" - }, - "vulnerability_link": { - "type": "string", - "description": "URL of source vulnerability data", - "format": "uri" - } - } - } - } - } - } - } - ], - "definitions": { - - "common_aggregation_type": { - "type": "string", - "enum": ["Individual items", "Aggregated to grid", "Aggregated to boundaries", "N/A"] - }, - "common_analysis_type": { - "type": "string", - "enum": ["Deterministic","Probabilistic"] - }, - "common_calc_method": { - "type": "string", - "enum": ["Inferred","Simulated","Observed"] - }, - "common_exp_category": { - "type": "string", - "enum": ["Buildings", "Indicators", "Infrastructures", "Crops, livestock and forestry"] - }, - "common_exp_occupancy": { - "type": "string", - "enum": ["Residential", "Commercial", "Industrial", "Infrastructure", "Healthcare", "Educational", - "Government", "Crop", "Livestock", "Forestry", "Mixed"] - }, - "common_exp_val_type": { - "type": "string", - "enum": ["Structure", "Content", "Product", "Other"] - }, - "common_frequency_type": { - "type": "string", - "enum": ["Rate of Exceedence","Probability of Exceedence","Return Period"] - }, - "common_hazard_type": { - "type": "string", - "enum": ["CF","CS","DR","EQ","ET","FL","LS","MH","TS","VO","WF","WI"] - }, - "common_impact_type": { - "type": "string", - "enum": ["Direct", "Indirect", "Total"] - }, - "common_iso": { - "type": "string", - "enum": ["GLB","ABW","AFG","AGO","AIA","ALB","AND","ARE","ARG","ARM","ASM","ATG","AUS", - "AUT","AZE","BDI","BEL","BEN","BFA","BGD","BGR","BHR","BHS","BIH","BLM","BLR", - "BLZ","BMU","BOL","BRA","BRB","BRN","BTN","BWA","CAF","CAN","CHE","CHL","CHN", - "CIV","CMR","COD","COG","COK","COL","COM","CPV","CRI","CUB","CUW","CYM","CYP", - "CZE","DEU","DJI","DMA","DNK","DOM","DZA","ECU","EGY","ERI","ESP","EST","ETH", - "FIN","FJI","FLK","FRA","FRO","FSM","GAB","GBR","GEO","GGY","GHA","GIB","GIN", - "GMB","GNB","GNQ","GRC","GRD","GRL","GTM","GUM","GUY","HKG","HMD","HND","HRV", - "HTI","HUN","IDN","IMN","IND","IRL","IRN","IRQ","ISL","ISR","ITA","JAM","JEY", - "JOR","JPN","KAZ","KEN","KGZ","KHM","KIR","KNA","KOR","KWT","LAO","LBN","LBR", - "LBY","LCA","LIE","LKA","LSO","LTU","LUX","LVA","MAC","MAF","MAR","MCO","MDA", - "MDG","MDV","MEX","MHL","MKD","MLI","MLT","MMR","MNE","MNG","MNP","MOZ","MRT", - "MSR","MUS","MWI","MYS","NAM","NCL","NER","NFK","NGA","NIC","NIU","NLD","NOR", - "NPL","NRU","NZL","OMN","PAK","PAN","PCN","PER","PHL","PLW","PNG","POL","PRI", - "PRK","PRT","PRY","PSE","PYF","QAT","ROU","RUS","RWA","SAU","SDN","SEN","SGP", - "SGS","SHN","SLB","SLE","SLV","SMR","SOM","SPM","SRB","SSD","STP","SUR","SVK", - "SVN","SWE","SWZ","SXM","SYC","SYR","TCA","TCD","TGO","THA","TJK","TKM","TLS", - "TON","TTO","TUN","TUR","TUV","TZA","UGA","UKR","URY","USA","UZB","VAT","VCT", - "VEN","VGB","VIR","VNM","VUT","WLF","WSM","XXK","YEM","ZAF","ZMB","ZWE" - ] - }, - "common_license": { - "type": "string", - "enum": ["CC0-1.0", "PDDL-1.0", "CC-BY-4.0", "ODC-By-1.0", "CC-BY-SA-4.0", "ODbL-1.0"] - }, - "common_occupancy_time": { - "type": "string", - "enum": ["Night","Day"] - }, - "common_process_type": { - "type": "string", - "enum": ["FCF","FSS","TOR","DTA","DTH","DTM","DTS","Q1R","Q2R","QGM", - "QLI","ECD","EHT","FFF","FPF","LAV","LSL","TSI","VAF","VBL", - "VFH","VLH","VLV","VPF","WFI","ETC","TCY"] - }, - "im_code": { - "type": "string", - "enum": ["PG+E47:E70A:g","PGA:m/s2","PGV:m/s","AvgSa:m/s2","Sd(T1):m","Sv(T1):m/s", - "PGDf:m","D:s","IA:m/s","Neq:-","EMS:-","MMI:-","CAV:m/s", "D_B:s", "fl_wd:m", - "fl_wv:m/s","v_ect(3s):km/h","v_ect(1m):km/h","v_etc(10m):km/h", - "PGWS_tcy:km/h","ls_fd:m","I_DF:m3/s2","v_lsl:m/s2","ls_mfd:m","SD_lsl:m","Rh_tsi:m", - "d_tsi:m","MMF:m4/s2","F_drag:kN","Fr:-","v_tsi:m/s","F_QS:kN","MF:m3/s2","h_tsi:m", - "Fh_tsi:m","h_vaf:m","L_vaf:kg/m2","CMI:-","PDSI:-","SPI:-"] - }, - "loss_loss_type": { - "type": "string", - "enum": ["Ground Up", "Insured"] - }, - "loss_metric": { - "type": "string", - "enum": ["Annual Average Losses", "Annual Average Loss Ratio", "Probable Maximal Loss"] - }, - "vulnerability_function_type": { - "type": "string", - "enum": ["Fragility", "Vulnerability", "Damage-to-Loss"] - }, - "vulnerability_f_subtype": { - "type": "string", - "enum": ["Empirical", "Analytical", "Judgement", "Hybrid"] - } - } -} diff --git a/schema/rdls_package_schema.json b/schema/rdls_package_schema.json new file mode 100644 index 00000000..99110a42 --- /dev/null +++ b/schema/rdls_package_schema.json @@ -0,0 +1,22 @@ +{ + "$id": "https://docs.riskdatalibrary.org/en/0__2__0/rdls_package_schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "RDLS metadata package", + "description": "A container for publishing Risk Data Library Standard Metadata.", + "type": "object", + "required": [ + "datasets" + ], + "properties": { + "datasets": { + "title": "Datasets", + "description": "RDLS metadata describing one or more datasets.", + "type": "array", + "minItems": 1, + "items": { + "$ref": "https://docs.riskdatalibrary.org/en/0__2__0/rdls_schema.json" + } + } + }, + "minProperties": 1 +} diff --git a/schema/rdls_schema.json b/schema/rdls_schema.json new file mode 100644 index 00000000..a232ba06 --- /dev/null +++ b/schema/rdls_schema.json @@ -0,0 +1,2507 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://docs.riskdatalibrary.org/en/0__2__0/rdls_schema.json", + "title": "Risk dataset (Risk Data Library Schema)", + "description": "A collection of risk data, published or curated by a single entity, consisting of one or more resources and described using metadata structured according to the [Risk Data Library Standard](https://docs.riskdatalibrary.org/).", + "type": "object", + "required": [ + "id", + "title", + "risk_data_type", + "publisher", + "contact_point", + "creator", + "spatial", + "license", + "resources" + ], + "properties": { + "id": { + "title": "Dataset identifier", + "type": "string", + "description": "A unique identifier for the dataset. Use of an HTTP URI is recommended. For more information, see [how to assign a dataset identifier](https://rdl-standard.readthedocs.io/en/{{version}}/reference/codelists/#assign-a-dataset-identifier).", + "minLength": 1 + }, + "title": { + "title": "Title", + "type": "string", + "description": "The title of the dataset.", + "minLength": 1 + }, + "description": { + "title": "Description", + "type": "string", + "description": "A short description of the dataset.", + "minLength": 1 + }, + "risk_data_type": { + "title": "Risk data type", + "type": "array", + "description": "The types of risk data included in the dataset, from the closed [risk_data_type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#risk-data-type).", + "items": { + "type": "string", + "enum": [ + "hazard", + "exposure", + "vulnerability", + "loss" + ] + }, + "codelist": "risk_data_type.csv", + "openCodelist": false, + "minItems": 1, + "uniqueItems": true + }, + "publisher": { + "title": "Publisher", + "description": "The entity responsible for making the dataset available.", + "$ref": "#/$defs/Entity" + }, + "version": { + "title": "Dataset version", + "type": "string", + "description": "The version indicator (name or identifier) of the dataset.", + "minLength": 1 + }, + "purpose": { + "title": "Dataset purpose", + "type": "string", + "description": "The purpose for which the dataset was created.", + "minLength": 1 + }, + "project": { + "title": "Project title", + "type": "string", + "description": "The name of the project that produced the dataset.", + "minLength": 1 + }, + "details": { + "title": "Additional details", + "type": "string", + "description": "Additional details about the dataset.", + "minLength": 1 + }, + "spatial": { + "title": "Spatial coverage", + "description": "The geographical area covered by the dataset. If specified using coordinates, the use of `.bbox` is recommended over `.geometry` or `.centroid`.", + "$ref": "#/$defs/Location" + }, + "temporal_resolution": { + "title": "Temporal resolution", + "type": "string", + "description": "The minimum period of time resolvable in this dataset, in ISO8601 duration format.", + "format": "duration" + }, + "license": { + "title": "License", + "type": "string", + "description": "A legal document giving official permission to do something with the dataset, taken from the open [license codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#license). A Public Domain Dedication or [Open Definition Conformant](https://opendefinition.org/licenses/) license is recommended. Documents linked from this file may be under other license conditions.", + "codelist": "license.csv", + "openCodelist": true, + "minLength": 1 + }, + "contact_point": { + "title": "Contact point", + "description": "Contact information for the maintainer of the dataset.", + "$ref": "#/$defs/Entity" + }, + "creator": { + "title": "Creator", + "description": "The entity responsible for producing the dataset.", + "$ref": "#/$defs/Entity" + }, + "attributions": { + "title": "Attributions", + "type": "array", + "description": "Information about entities and their roles in relation to the dataset.", + "items": { + "$ref": "#/$defs/Attribution" + }, + "minItems": 1, + "uniqueItems": true + }, + "sources": { + "title": "Sources", + "type": "array", + "description": "Sources of information that contribute to the creation of the dataset.", + "items": { + "$ref": "#/$defs/Source" + }, + "minItems": 1, + "uniqueItems": true + }, + "referenced_by": { + "title": "Referenced by", + "type": "array", + "description": "Related resources, such as publications, that reference, cite, or otherwise point to the dataset.", + "items": { + "$ref": "#/$defs/Related_resource" + }, + "minItems": 1, + "uniqueItems": true + }, + "resources": { + "title": "Resources", + "type": "array", + "description": "Information about the resources included in the dataset.", + "items": { + "$ref": "#/$defs/Resource" + }, + "minItems": 1, + "uniqueItems": true + }, + "hazard": { + "title": "Hazard metadata", + "type": "object", + "description": "Metadata that is specific to datasets that describe processes or phenomena that may cause loss of life, injury or other health impacts, property damage, social and economic disruption or environmental degradation.", + "required": [ + "event_sets" + ], + "properties": { + "event_sets": { + "title": "Event sets", + "type": "array", + "description": "Information about sets of hazard events.", + "items": { + "$ref": "#/$defs/Event_set" + }, + "minItems": 1, + "uniqueItems": true + } + }, + "minProperties": 1 + }, + "exposure": { + "title": "Exposure metadata", + "type": "object", + "description": "Metadata that is specific to datasets that describe the situation of people, infrastructure, housing, production capacities and other tangible human assets located in hazard-prone areas.", + "required": [ + "category", + "metrics" + ], + "properties": { + "category": { + "title": "Exposure category", + "description": "The category of the exposed assets, from the closed [exposure_category codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#exposure-category).", + "type": "string", + "codelist": "exposure_category.csv", + "openCodelist": false, + "enum": [ + "agriculture", + "buildings", + "infrastructure", + "population", + "natural_environment" + ] + }, + "taxonomy": { + "title": "Exposure taxonomy scheme", + "type": "string", + "description": "The name of the taxonomy scheme used to create descriptive individual asset feature strings within the dataset.", + "minLength": 1 + }, + "metrics": { + "title": "Exposure metrics", + "type": "array", + "description": "The measurements used to quantify the extent to which assets are exposed.", + "items": { + "$ref": "#/$defs/Metric" + }, + "minItems": 1, + "uniqueItems": true + } + }, + "minProperties": 1 + }, + "vulnerability": { + "title": "Vulnerability metadata", + "type": "object", + "description": "Metadata that is specific to datasets that describe the physical fragility and vulnerability relationships in relation to specific hazards or combinations of individual hazards.", + "required": [ + "hazard_primary", + "intensity", + "category", + "cost", + "impact", + "spatial", + "functions" + ], + "properties": { + "hazard_primary": { + "title": "Primary hazard type", + "type": "string", + "description": "The primary hazard involved in the modelled scenario(s), from the closed [hazard type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists#hazard_type).", + "codelist": "hazard_type.csv", + "openCodelist": false, + "enum": [ + "coastal_flood", + "convective_storm", + "drought", + "earthquake", + "extreme_temperature", + "flood", + "landslide", + "tsunami", + "volcanic", + "wildfire", + "strong_wind" + ] + }, + "hazard_secondary": { + "title": "Secondary hazard type", + "type": "string", + "description": "The secondary hazard involved in the modelled scenario(s), from the closed [hazard type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists#hazard_type).", + "codelist": "hazard_type.csv", + "openCodelist": false, + "enum": [ + "coastal_flood", + "convective_storm", + "drought", + "earthquake", + "extreme_temperature", + "flood", + "landslide", + "tsunami", + "volcanic", + "wildfire", + "strong_wind" + ] + }, + "hazard_process_primary": { + "title": "Primary hazard process", + "type": "string", + "description": "The primary hazard process involved in the modelled scenario(s), from the closed [hazard process type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists#hazard_process_type).", + "codelist": "process_type.csv", + "openCodelist": false, + "enum": [ + "coastal_flood", + "storm_surge", + "tornado", + "agricultural_drought", + "hydrological_drought", + "meteorological_drought", + "socioeconomic_drought", + "primary_rupture", + "secondary_rupture", + "ground_motion", + "liquefaction", + "extreme_cold", + "extreme_heat", + "fluvial_flood", + "pluvial_flood", + "groundwater_flood", + "snow_avalanche", + "landslide_general", + "landslide_rockslide", + "landslide_mudflow", + "landslide_rockfall", + "tsunami", + "ashfall", + "volcano_ballistics", + "lahar", + "lava", + "pyroclastic_flow", + "wildfire", + "extratropical_cyclone", + "tropical_cyclone" + ] + }, + "hazard_process_secondary": { + "title": "Secondary hazard process", + "type": "string", + "description": "The secondary hazard process involved in the modelled scenario(s), from the closed [hazard process type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists#hazard_process_type).", + "codelist": "process_type.csv", + "openCodelist": false, + "enum": [ + "coastal_flood", + "storm_surge", + "tornado", + "agricultural_drought", + "hydrological_drought", + "meteorological_drought", + "socioeconomic_drought", + "primary_rupture", + "secondary_rupture", + "ground_motion", + "liquefaction", + "extreme_cold", + "extreme_heat", + "fluvial_flood", + "pluvial_flood", + "groundwater_flood", + "snow_avalanche", + "landslide_general", + "landslide_rockslide", + "landslide_mudflow", + "landslide_rockfall", + "tsunami", + "ashfall", + "volcano_ballistics", + "lahar", + "lava", + "pyroclastic_flow", + "wildfire", + "extratropical_cyclone", + "tropical_cyclone" + ] + }, + "hazard_analysis_type": { + "title": "Hazard analysis type", + "type": "string", + "description": "The type of analysis applied to the hazard data used in the modelled scenario(s), from the closed [analysis type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists#analysis_type).", + "codelist": "analysis_type.csv", + "openCodelist": false, + "enum": [ + "deterministic", + "empirical", + "probabilistic" + ] + }, + "intensity": { + "title": "Hazard intensity measurement", + "description": "The metric and units the hazard intensity measurement is given in, from the open [intensity measure codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists#IMT).", + "type": "string", + "codelist": "IMT.csv", + "openCodelist": true, + "minLength": 1 + }, + "category": { + "title": "Exposure category", + "description": "The category of the exposed assets, from the closed [exposure_category codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#exposure-category).", + "type": "string", + "codelist": "exposure_category.csv", + "openCodelist": false, + "enum": [ + "agriculture", + "buildings", + "infrastructure", + "population", + "natural_environment" + ] + }, + "cost": { + "title": "Asset cost", + "type": "array", + "description": "The exposure costs associated with specific elements of assets detailed in the dataset.", + "items": { + "$ref": "#/$defs/Cost" + }, + "minItems": 1, + "uniqueItems": true + }, + "taxonomy": { + "title": "Exposure taxonomy scheme", + "type": "string", + "description": "The name of the taxonomy scheme used to create descriptive individual asset feature strings within the dataset. Use of GED4ALL is recommended.", + "minLength": 1 + }, + "impact": { + "title": "Vulnerability impact", + "description": "The details of the vulnerability impact values produced in the modelled scenario(s).", + "$ref": "#/$defs/Impact" + }, + "spatial": { + "title": "Spatial coverage", + "description": "The geographical area to which the vulnerability function used in the modelled scenarios applies. `.scale` must be provided. Other fields may be provided if the spatial coverage of the vulnerability function differs from the coverage specified in the dataset-level `spatial` field.", + "$ref": "#/$defs/Location", + "required": [ + "scale" + ] + }, + "functions": { + "title": "Impact functions", + "type": "object", + "description": "Details of the functions used to calculate the vulnerability dataset.", + "properties": { + "vulnerability": { + "title": "Vulnerability function", + "type": "object", + "description": "The vulnerability function used to calculate the impact of the hazard.", + "properties": { + "approach": { + "title": "Vulnerability function approach", + "type": "string", + "description": "The approach the vulnerability function is based upon, taken from the closed [function_approach codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#function-approach).", + "enum": [ + "analytical", + "empirical", + "hybrid", + "judgement" + ], + "codelist": "function_approach.csv", + "openCodelist": false, + "minLength": 1 + }, + "relationship": { + "title": "Vulnerability impact relationship type", + "type": "string", + "description": "The type of function relationships used to calculate the vulnerability impact values, taken from the closed [relationship_type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#relationship-type).", + "enum": [ + "discrete", + "math_bespoke", + "math_parametric" + ], + "codelist": "relationship_type.csv", + "openCodelist": false, + "minLength": 1 + } + }, + "minProperties": 1 + }, + "fragility": { + "title": "Fragility function", + "type": "object", + "description": "The fragility function used to calculate the impact of the hazard.", + "properties": { + "approach": { + "title": "Fragility function approach", + "type": "string", + "description": "The approach the fragility function is based upon, taken from the closed [function_approach codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#function-approach).", + "enum": [ + "analytical", + "empirical", + "hybrid", + "judgement" + ], + "codelist": "function_approach.csv", + "openCodelist": false, + "minLength": 1 + }, + "relationship": { + "title": "Fragility impact relationship type", + "type": "string", + "description": "The type of function relationships used to calculate the impact values, taken from the closed [relationship type_codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#relationship-type).", + "enum": [ + "discrete", + "math_bespoke", + "math_parametric" + ], + "codelist": "relationship_type.csv", + "openCodelist": false, + "minLength": 1 + }, + "damage_scale_name": { + "title": "Damage scale name", + "type": "string", + "description": "The name of the damage scale used in the fragility function, taken from the open [damage_scale_name codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#damage-scale-name).", + "codelist": "damage_scale_name.csv", + "openCodelist": true, + "minLength": 1 + }, + "damage_states_names": { + "title": "Damage states names", + "type": "array", + "description": "The names of the damage states listed in the fragility function.", + "items": { + "type": "string", + "minLength": 1 + }, + "minItems": 1, + "uniqueItems": true + } + }, + "minProperties": 1 + }, + "damage_to_loss": { + "title": "Damage-to-loss function", + "type": "object", + "description": "The damage-to-loss function (or damage-to-loss model) used to calculate the impact of the hazard in conjunction with a fragility function.", + "properties": { + "approach": { + "title": "Damage-to-loss function approach", + "type": "string", + "description": "The approach the damage-to-loss impact function is based upon, taken from the closed [function_approach codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#function-approach).", + "enum": [ + "analytical", + "empirical", + "hybrid", + "judgement" + ], + "codelist": "function_approach.csv", + "openCodelist": false, + "minLength": 1 + }, + "relationship": { + "title": "Damage-to-loss impact relationship type", + "type": "string", + "description": "The type of function relationships used to calculate the damage-to-loss impact values, taken from the closed [relationship_type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#relationship-type).", + "enum": [ + "discrete", + "math_bespoke", + "math_parametric" + ], + "codelist": "relationship_type.csv", + "openCodelist": false, + "minLength": 1 + }, + "damage_scale_name": { + "title": "Damage scale name", + "type": "string", + "description": "The name of the damage scale used in the damage-to-loss function, taken from the open [damage_scale_name codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#damage-scale-name).", + "codelist": "damage_scale_name.csv", + "openCodelist": true, + "minLength": 1 + }, + "damage_states_names": { + "title": "Damage states names", + "type": "array", + "description": "The names of the damage states listed in a damage scale.", + "items": { + "type": "string", + "minLength": 1 + }, + "minItems": 1, + "uniqueItems": true + } + }, + "minProperties": 1 + }, + "engineering_demand": { + "title": "Engineering demand function", + "type": "object", + "description": "The engineering demand function used to calculate the impact of the hazard.", + "properties": { + "parameter": { + "title": "Engineering demand parameter", + "type": "string", + "description": "The name of the engineering demand parameter, taken from the open [engineering_demand_parameter codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#engineering-demand-parameter).", + "codelist": "engineering_demand_parameter.csv", + "openCodelist": true, + "minLength": 1 + }, + "approach": { + "title": "Engineering demand impact function approach", + "type": "string", + "description": "The approach the engineering demand impact function is based upon, taken from the closed [function_approach codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#function-approach).", + "enum": [ + "analytical", + "empirical", + "hybrid", + "judgement" + ], + "codelist": "function_approach.csv", + "openCodelist": false, + "minLength": 1 + }, + "relationship": { + "title": "Engineering demand impact relationship type", + "type": "string", + "description": "The type of function relationships used to calculate the engineering impact values, taken from the closed [relationship_type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#relationship-type).", + "enum": [ + "discrete", + "math_bespoke", + "math_parametric" + ], + "codelist": "relationship_type.csv", + "openCodelist": false + } + }, + "minProperties": 1 + } + }, + "minProperties": 1 + }, + "analysis_details": { + "title": "Analysis details", + "type": "string", + "description": "Additional details about the analysis used to produce the vulnerability function used in the modelled scenario(s).", + "minLength": 1 + }, + "se_category": { + "title": "Socio-economic index category", + "description": "The socio-economic category vulnerable to the hazard.", + "$ref": "#/$defs/Classification" + } + }, + "minProperties": 1 + }, + "loss": { + "title": "Loss metadata", + "type": "object", + "description": "Metadata that is specific to datasets that describe measures of impact in the form of damage or destruction caused by a disaster.", + "properties": { + "losses": { + "title": "Losses", + "type": "array", + "description": "Information about the losses described in the dataset.", + "items": { + "$ref": "#/$defs/Losses" + }, + "minItems": 1, + "uniqueItems": true + } + }, + "minProperties": 1 + }, + "links": { + "title": "Links", + "description": "Links to related resources. The purpose of this field is to declare the version of the RDLS schema that describes the metadata. The first item in the links array must be a link to the canonical URL of the RDLS JSON schema with relation type 'describedby'. Subsequent items must conform to an IANA link relation type other than 'describedby'. To link to sources of information that contribute to the creation of the dataset or to related resources that point to the dataset, use `sources` and `referencedBy`, respectively.", + "type": "array", + "prefixItems": [ + { + "$ref": "#/$defs/Link", + "properties": { + "href": { + "const": "https://docs.riskdatalibrary.org/en/0__2__0/rdls_schema.json" + }, + "rel": { + "const": "describedby" + } + } + } + ], + "items": { + "$ref": "#/$defs/Link", + "properties": { + "rel": { + "pattern": "^(?!(describedby))" + } + } + }, + "minItems": 1, + "uniqueItems": true + } + }, + "$defs": { + "Resource": { + "title": "Resource", + "type": "object", + "description": "An individual file or other form of data. Resources can be fully informationally equivalent, such as CSV and JSON serializations of the same data. Resources can also have different levels of fidelity, such as a CSV file and a graphical representation of the data within the file. Resources can also differ in other aspects, such as the temporal coverage of each resource.", + "required": [ + "id", + "title", + "description", + "format" + ], + "properties": { + "id": { + "title": "Resource identifier", + "type": "string", + "description": "A locally unique identifier for this resource.", + "minLength": 1 + }, + "title": { + "title": "Resource title", + "type": "string", + "description": "A title for this resource.", + "minLength": 1 + }, + "description": { + "title": "Resource description", + "type": "string", + "description": "A description for this resource.", + "minLength": 1 + }, + "media_type": { + "title": "Media type", + "type": "string", + "description": "The media type of the resource, from the open [media_type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#media-type). For example a custom binary file has media_type 'application/octet-stream. A geojson file has the media_type 'application/geo+json'.", + "codelist": "media_type.csv", + "openCodelist": true, + "minLength": 1 + }, + "format": { + "title": "Format", + "type": "string", + "description": "A human-readable description of the file format of the resource, taken from the open [data_formats codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#data-formats).", + "codelist": "data_formats.csv", + "openCodelist": true, + "minLength": 1 + }, + "spatial_resolution": { + "title": "Spatial resolution", + "type": "number", + "description": "The minimum spatial separation resolvable in this resource, measured in meters.", + "exclusiveMinimum": 0 + }, + "coordinate_system": { + "title": "Coordinate reference system", + "type": "string", + "description": "An identifier string for the coordinate reference system (CRS) used in this resource. The CRS must be identified by a code issued by either [EPSG](https://epsg.org/) or [ESRI](https://www.esri.com/). The identifier string format is {authority}:{code}, e.g. EPSG:4326. [https://epsg.io/](https://epsg.io/) provides a searchable database of EPSG and ESRI coordinate system codes.", + "pattern": "^(ESRI:|EPSG:)[0-9]+$", + "minLength": 1 + }, + "access_url": { + "title": "Access Url", + "type": "string", + "description": "A web address that gives access to this resource, e.g. a webpage through which a user can request access by completing a form.", + "format": "iri" + }, + "download_url": { + "title": "Download Url", + "type": "string", + "description": "The web address this resource can be downloaded from in the given `.format`.", + "minLength": 1 + }, + "temporal": { + "title": "Temporal coverage", + "description": "The period of time covered by this resource.", + "$ref": "#/$defs/Period" + }, + "temporal_resolution": { + "title": "Temporal resolution", + "type": "string", + "description": "The minimum period of time resolvable in this resource, in ISO8601 duration format.", + "format": "duration" + } + }, + "minProperties": 1 + }, + "Entity": { + "title": "Entity", + "type": "object", + "description": "A person, organization or group.", + "required": [ + "name" + ], + "properties": { + "name": { + "title": "Name", + "type": "string", + "description": "A name for the entity.", + "minLength": 1 + }, + "email": { + "title": "Email address", + "type": "string", + "description": "An email address for the entity.", + "format": "email" + }, + "url": { + "title": "URL", + "type": "string", + "description": "A URL associated with the entity.", + "format": "iri" + } + }, + "minProperties": 1 + }, + "Attribution": { + "title": "Attribution", + "type": "object", + "description": "A qualified relation between an entity and a dataset.", + "required": [ + "id", + "entity", + "role" + ], + "properties": { + "id": { + "title": "Attribution identifier", + "type": "string", + "description": "A locally unique identifier for the attribution.", + "minLength": 1 + }, + "entity": { + "title": "Entity", + "description": "An entity with a role in relation to the dataset.", + "$ref": "#/$defs/Entity" + }, + "role": { + "title": "Role", + "type": "string", + "description": "The entity's role in relation to the dataset, using the open [roles codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#roles).", + "codelist": "roles.csv", + "openCodelist": true, + "minLength": 1 + } + }, + "minProperties": 1 + }, + "Related_resource": { + "title": "Related resource", + "type": "object", + "description": "A related resource, such as a publication, that references, cites, or otherwise points to a dataset.", + "required": [ + "id" + ], + "properties": { + "id": { + "title": "Related resource identifier", + "type": "string", + "description": "A locally unique identifier for the related resource.", + "minLength": 1 + }, + "name": { + "title": "Name", + "type": "string", + "description": "The name or title of the resource.", + "minLength": 1 + }, + "author_names": { + "title": "Author names", + "type": "array", + "description": "The names of the authors of the resource.", + "items": { + "type": "string", + "minLength": 1 + }, + "minItems": 1, + "uniqueItems": true + }, + "date_published": { + "title": "Publication date", + "type": "string", + "description": "The date that the resource was first published.", + "format": "date" + }, + "url": { + "title": "URL", + "type": "string", + "description": "The uniform resource locator for the resource, e.g. the web address at which the resource can be accessed.", + "format": "iri" + }, + "doi": { + "title": "Digital object identifier", + "type": "string", + "description": "The digital object identifier for the resource.", + "minLength": 1 + } + }, + "minProperties": 1 + }, + "Source": { + "title": "Source", + "type": "object", + "description": "A source of information that contributes to the creation of a dataset.", + "required": [ + "id" + ], + "properties": { + "id": { + "title": "Source identifier", + "type": "string", + "description": "A locally unique identifier for the source.", + "minLength": 1 + }, + "name": { + "title": "Name", + "type": "string", + "description": "The name or title of the source.", + "minLength": 1 + }, + "url": { + "title": "URL", + "type": "string", + "description": "The uniform resource locator for the source, e.g. the web address at which the source can be accessed.", + "format": "iri" + }, + "type": { + "title": "type", + "type": "string", + "description": "The nature of the source, from the closed [source_type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#source-type).", + "codelist": "source_type.csv", + "openCodelist": false, + "enum": [ + "dataset", + "model" + ] + }, + "component": { + "title": "Component", + "type": "string", + "description": "The risk data component the source has been used in, from the closed [risk_data_type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#risk-data-type).", + "codelist": "risk_data_type.csv", + "openCodelist": false, + "enum": [ + "hazard", + "exposure", + "vulnerability", + "loss" + ] + } + }, + "minProperties": 1 + }, + "Period": { + "title": "Period", + "type": "object", + "description": "A period of time.", + "properties": { + "start": { + "title": "Start", + "type": "string", + "description": "The start of the period. A date (YYYY-MM-DD) is recommended. However, year-months (YYYY-MM) and years (YYYY) are supported.", + "oneOf": [ + { + "format": "date" + }, + { + "pattern": "\\d{4}$" + }, + { + "pattern": "\\d{4}-(0[1-9]|1[0-2])$" + } + ], + "minLength": 1 + }, + "end": { + "title": "End date", + "type": "string", + "description": "The end of the period. A date (YYYY-MM-DD) is recommended. However, year-months (YYYY-MM) and years (YYYY) are supported.", + "oneOf": [ + { + "format": "date" + }, + { + "pattern": "\\d{4}$" + }, + { + "pattern": "\\d{4}-(0[1-9]|1[0-2])$" + } + ], + "minLength": 1 + }, + "duration": { + "title": "Duration", + "type": "string", + "description": "The duration of the period in ISO 8601 duration format, e.g. 'P50Y' for 50 years", + "format": "duration" + } + }, + "minProperties": 1 + }, + "Location": { + "title": "Location", + "type": "object", + "description": "A geographical area.", + "properties": { + "countries": { + "title": "Countries", + "type": "array", + "description": "The countries covered by the geographical area, from the closed [country codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists#country).", + "items": { + "type": "string", + "enum": [ + "AFG", + "ALB", + "DZA", + "ASM", + "AND", + "AGO", + "AIA", + "ATA", + "ATG", + "ARG", + "ARM", + "ABW", + "AUS", + "AUT", + "AZE", + "BHS", + "BHR", + "BGD", + "BRB", + "BLR", + "BEL", + "BLZ", + "BEN", + "BMU", + "BTN", + "BOL", + "BES", + "BIH", + "BWA", + "BVT", + "BRA", + "IOT", + "BRN", + "BGR", + "BFA", + "BDI", + "CPV", + "KHM", + "CMR", + "CAN", + "CYM", + "CAF", + "TCD", + "CHL", + "CHN", + "CXR", + "CCK", + "COL", + "COM", + "COD", + "COG", + "COK", + "CRI", + "HRV", + "CUB", + "CUW", + "CYP", + "CZE", + "CIV", + "DNK", + "DJI", + "DMA", + "DOM", + "ECU", + "EGY", + "SLV", + "GNQ", + "ERI", + "EST", + "SWZ", + "ETH", + "FLK", + "FRO", + "FJI", + "FIN", + "FRA", + "GUF", + "PYF", + "ATF", + "GAB", + "GMB", + "GEO", + "DEU", + "GHA", + "GIB", + "GRC", + "GRL", + "GRD", + "GLP", + "GUM", + "GTM", + "GGY", + "GIN", + "GNB", + "GUY", + "HTI", + "HMD", + "VAT", + "HND", + "HKG", + "HUN", + "ISL", + "IND", + "IDN", + "IRN", + "IRQ", + "IRL", + "IMN", + "ISR", + "ITA", + "JAM", + "JPN", + "JEY", + "JOR", + "KAZ", + "KEN", + "KIR", + "PRK", + "KOR", + "KWT", + "KGZ", + "LAO", + "LVA", + "LBN", + "LSO", + "LBR", + "LBY", + "LIE", + "LTU", + "LUX", + "MAC", + "MDG", + "MWI", + "MYS", + "MDV", + "MLI", + "MLT", + "MHL", + "MTQ", + "MRT", + "MUS", + "MYT", + "MEX", + "FSM", + "MDA", + "MCO", + "MNG", + "MNE", + "MSR", + "MAR", + "MOZ", + "MMR", + "NAM", + "NRU", + "NPL", + "NLD", + "NCL", + "NZL", + "NIC", + "NER", + "NGA", + "NIU", + "NFK", + "MNP", + "NOR", + "OMN", + "PAK", + "PLW", + "PSE", + "PAN", + "PNG", + "PRY", + "PER", + "PHL", + "PCN", + "POL", + "PRT", + "PRI", + "QAT", + "MKD", + "ROU", + "RUS", + "RWA", + "REU", + "BLM", + "SHN", + "KNA", + "LCA", + "MAF", + "SPM", + "VCT", + "WSM", + "SMR", + "STP", + "SAU", + "SEN", + "SRB", + "SYC", + "SLE", + "SGP", + "SXM", + "SVK", + "SVN", + "SLB", + "SOM", + "ZAF", + "SGS", + "SSD", + "ESP", + "LKA", + "SDN", + "SUR", + "SJM", + "SWE", + "CHE", + "SYR", + "TWN", + "TJK", + "TZA", + "THA", + "TLS", + "TGO", + "TKL", + "TON", + "TTO", + "TUN", + "TUR", + "TKM", + "TCA", + "TUV", + "UGA", + "UKR", + "ARE", + "GBR", + "UMI", + "USA", + "URY", + "UZB", + "VUT", + "VEN", + "VNM", + "VGB", + "VIR", + "WLF", + "ESH", + "YEM", + "ZMB", + "ZWE", + "ALA" + ] + }, + "codelist": "country.csv", + "openCodelist": false, + "minItems": 1, + "uniqueItems": true + }, + "gazetteer_entries": { + "title": "Gazetteer entries", + "type": "array", + "description": "Entries from geographical indices or directories describing the geographical area. This field should be used to describe sub-national coverage. Use of ISO 3166-2 is recommended.", + "items": { + "$ref": "#/$defs/Gazetteer_entry" + }, + "uniqueItems": true, + "minItems": 1 + }, + "bbox": { + "title": "Bounding box", + "type": "array", + "description": "A geographic bounding box delimiting the geographical area. This field is an array of numbers. It must contain exactly four numbers with the first two numbers being the longitude and latitude of the most southwesterly point and the second two numbers being the longitude and latitude of the most northeasterly point. Coordinates must be specified using the World Geodetic System 1984 (WGS 84) datum, with longitude and latitude units of decimal degrees. This is equivalent to the coordinate reference system identified by the Open Geospatial Consortium URN urn:ogc:def:crs:OGC::CRS84.", + "items": { + "type": "number" + }, + "minItems": 4, + "maxItems": 4 + }, + "geometry": { + "title": "Geometry", + "description": "A set of coordinates denoting the vertices of the geographical area. This field describes the extent of the geographical area. To avoid creating very large metadata, geometries should have fewer than 50 vertices.", + "$ref": "#/$defs/Geometry" + }, + "centroid": { + "title": "Centroid", + "type": "array", + "description": "The coordinates of the centre of the geographical area. This field is an array of numbers. It must contain exactly two numbers with longitude (easting) first and latitude (northing) second. Coordinates must be specified using the World Geodetic System 1984 (WGS 84) datum, with longitude and latitude units of decimal degrees. This is equivalent to the coordinate reference system identified by the Open Geospatial Consortium URN urn:ogc:def:crs:OGC::CRS84.", + "items": { + "type": "number" + }, + "minItems": 2, + "maxItems": 2 + }, + "scale": { + "title": "Spatial scale", + "type": "string", + "description": "The spatial scale of the geographical area, from the closed [spatial scale codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists#spatial_scale).", + "codelist": "spatial_scale.csv", + "openCodelist": false, + "enum": [ + "global", + "regional", + "national", + "sub-national" + ] + } + }, + "minProperties": 1 + }, + "Gazetteer_entry": { + "title": "Gazetteer entry", + "type": "object", + "description": "An entry from a geographical index or directory describing a geographical area.", + "required": [ + "id" + ], + "properties": { + "id": { + "title": "Gazetteer entry identifier", + "type": "string", + "description": "An identifier drawn from the gazetteer identified in `.scheme`.", + "minLength": 1 + }, + "scheme": { + "title": "Scheme", + "type": "string", + "description": "The gazetteer from which the entry is drawn, from the open [location gazetteers codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists#location_gazetteers).", + "codelist": "location_gazetteers.csv", + "openCodelist": true, + "minLength": 1 + }, + "description": { + "title": "Description", + "type": "string", + "description": "A description for the gazetteer entry.", + "minLength": 1 + }, + "uri": { + "title": "Uniform resource locator", + "type": "string", + "description": "A URI for the gazetteer entry.", + "format": "iri" + } + }, + "minProperties": 1 + }, + "Geometry": { + "title": "Geometry", + "type": "object", + "description": "A set of coordinates denoting the vertices of the geographical area.", + "properties": { + "type": { + "title": "Type", + "type": "string", + "description": "The GeoJSON geometry type that is described by `.coordinates`, from the closed [geometry_type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists#geometry_type).", + "codelist": "geometry_type.csv", + "openCodelist": false, + "enum": [ + "Point", + "MultiPoint", + "LineString", + "MultiLineString", + "Polygon", + "MultiPolygon" + ] + }, + "coordinates": { + "title": "Coordinates", + "type": "array", + "description": "One or more GeoJSON positions according to the GeoJSON geometry type defined in `.type`. Each position is an array of numbers containing exactly two numbers with longitude (easting) first and latitude (northing) second. Coordinates must be specified using the World Geodetic System 1984 (WGS 84) datum, with longitude and latitude units of decimal degrees. This is equivalent to the coordinate reference system identified by the Open Geospatial Consortium URN urn:ogc:def:crs:OGC::CRS84.", + "items": { + "type": [ + "number", + "array" + ], + "items": { + "type": [ + "number", + "array" + ], + "items": { + "type": [ + "number", + "array" + ], + "items": { + "type": "number" + }, + "minItems": 1 + }, + "minItems": 1 + }, + "minItems": 1 + }, + "minItems": 1 + } + }, + "minProperties": 1 + }, + "Hazard": { + "title": "Hazard", + "description": "A phenomenon that may cause loss of life, injury or other health impacts, property damage, social and economic disruption or environmental degradation.", + "type": "object", + "required": [ + "id", + "type", + "processes" + ], + "properties": { + "id": { + "title": "Hazard identifier", + "description": "A local identifier for this hazard.", + "type": "string", + "minLength": 1 + }, + "type": { + "title": "Hazard type", + "description": "The hazard type for this hazard, from the closed [hazard_type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#hazard-type).", + "type": "string", + "codelist": "hazard_type.csv", + "openCodelist": false, + "enum": [ + "coastal_flood", + "convective_storm", + "drought", + "earthquake", + "extreme_temperature", + "flood", + "landslide", + "tsunami", + "volcanic", + "wildfire", + "strong_wind" + ] + }, + "processes": { + "title": "Hazard processes", + "description": "The hazard process types for this hazard, from the closed [hazard process type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists#process_type).", + "type": "array", + "items": { + "type": "string", + "enum": [ + "coastal_flood", + "storm_surge", + "tornado", + "agricultural_drought", + "hydrological_drought", + "meteorological_drought", + "socioeconomic_drought", + "primary_rupture", + "secondary_rupture", + "ground_motion", + "liquefaction", + "extreme_cold", + "extreme_heat", + "fluvial_flood", + "pluvial_flood", + "groundwater_flood", + "snow_avalanche", + "landslide_general", + "landslide_rockslide", + "landslide_mudflow", + "landslide_rockfall", + "tsunami", + "ashfall", + "volcano_ballistics", + "lahar", + "lava", + "pyroclastic_flow", + "wildfire", + "extratropical_cyclone", + "tropical_cyclone" + ] + }, + "codelist": "process_type.csv", + "openCodelist": false, + "minItems": 1, + "uniqueItems": true + }, + "intensity_measure": { + "title": "Intensity measure", + "description": "The metric and unit in which the intensity of this hazard is measured, from the open [intensity measure codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists#IMT).", + "type": "string", + "codelist": "IMT.csv", + "openCodelist": true, + "minLength": 1 + }, + "trigger": { + "title": "Trigger", + "description": "The cause of this hazard.", + "$ref": "#/$defs/Trigger" + } + }, + "minProperties": 1 + }, + "Trigger": { + "title": "Trigger", + "description": "A cause of a hazard.", + "type": "object", + "properties": { + "type": { + "title": "Hazard type", + "description": "The hazard type for this hazard, from the closed [hazard_type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#hazard-type).", + "type": "string", + "codelist": "hazard_type.csv", + "openCodelist": false, + "enum": [ + "coastal_flood", + "convective_storm", + "drought", + "earthquake", + "extreme_temperature", + "flood", + "landslide", + "tsunami", + "volcanic", + "wildfire", + "strong_wind" + ] + }, + "processes": { + "title": "Hazard processes", + "description": "The hazard process types for this hazard, from the closed [hazard process type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists#process_type).", + "type": "array", + "items": { + "type": "string", + "enum": [ + "coastal_flood", + "storm_surge", + "tornado", + "agricultural_drought", + "hydrological_drought", + "meteorological_drought", + "socioeconomic_drought", + "primary_rupture", + "secondary_rupture", + "ground_motion", + "liquefaction", + "extreme_cold", + "extreme_heat", + "fluvial_flood", + "pluvial_flood", + "groundwater_flood", + "snow_avalanche", + "landslide_general", + "landslide_rockslide", + "landslide_mudflow", + "landslide_rockfall", + "tsunami", + "ashfall", + "volcano_ballistics", + "lahar", + "lava", + "pyroclastic_flow", + "wildfire", + "extratropical_cyclone", + "tropical_cyclone" + ] + }, + "codelist": "process_type.csv", + "openCodelist": false, + "minItems": 1, + "uniqueItems": true + } + }, + "minProperties": 1 + }, + "Event_set": { + "title": "Event set", + "type": "object", + "description": "Information about a set of hazard events. ", + "required": [ + "id", + "hazards", + "analysis_type" + ], + "properties": { + "id": { + "title": "Event set identifier", + "type": "string", + "description": "A locally unique identifier for this event set.", + "minLength": 1 + }, + "hazards": { + "title": "Hazards", + "description": "The hazards included in this event set.", + "type": "array", + "items": { + "$ref": "#/$defs/Hazard" + }, + "minItems": 1, + "uniqueItems": true + }, + "analysis_type": { + "title": "Analysis type", + "type": "string", + "description": "The type of analysis used by the hazard model, from the closed [analysis type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists#analysis_type).", + "codelist": "analysis_type.csv", + "openCodelist": false, + "enum": [ + "deterministic", + "empirical", + "probabilistic" + ] + }, + "frequency_distribution": { + "title": "Frequency distribution", + "type": "string", + "description": "The frequency distribution assumed for the occurrence of events over a multi-year timeline, from the [frequency_distribution codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#frequency-distribution).", + "codelist": "frequency_distribution.csv", + "openCodelist": false, + "enum": [ + "poisson", + "negative_binomial", + "user_defined", + "generalized_extreme_value" + ] + }, + "seasonality": { + "title": "Seasonality distribution", + "type": "string", + "description": "The seasonality distribution assumed for the occurrence of events across a calendar year, from the [seasonality_distribution codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#seasonality-distribution)", + "codelist": "seasonality.csv", + "openCodelist": false, + "enum": [ + "uniform", + "user_defined" + ] + }, + "calculation_method": { + "title": "Calculation Method", + "type": "string", + "description": "The methodology used for the calculation of the event set in the modelled scenario(s), taken from the closed [data_calculation_type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#data-calculation-type).", + "enum": [ + "inferred", + "observed", + "simulated" + ], + "codelist": "data_calculation_type.csv", + "openCodelist": false + }, + "event_count": { + "title": "Event count", + "type": "number", + "description": "The number of events contained in the event set. You should only use this field when details of individual events are not included in the RDLS metadata." + }, + "occurrence_range": { + "title": "Occurrence range", + "type": "string", + "description": "A summary of the probabilistic occurrence scenarios that are included in the event set. You should only use this field when `event_set.analysis_type` = 'probabilistic'", + "minLength": 1 + }, + "spatial": { + "title": "Spatial coverage", + "description": "The geographical area covered by the the hazard analysis in this event set.", + "$ref": "#/$defs/Location" + }, + "temporal": { + "title": "Temporal coverage", + "description": "The period of time covered by this event set.", + "$ref": "#/$defs/Period" + }, + "events": { + "title": "Events", + "description": "The events in this event set.", + "type": "array", + "items": { + "$ref": "#/$defs/Event" + }, + "minItems": 1, + "uniqueItems": true + } + }, + "minProperties": 1 + }, + "Event": { + "title": "Event", + "description": "A hazard event.", + "type": "object", + "required": [ + "id", + "calculation_method", + "hazard", + "occurrence" + ], + "properties": { + "id": { + "title": "Event identifier", + "type": "string", + "description": "A locally unique identifier for this event.", + "minLength": 1 + }, + "disaster_identifiers": { + "title": "Disaster identifiers", + "type": "array", + "description": "Identifiers for the disaster to which this event relates.", + "items": { + "$ref": "#/$defs/Classification" + }, + "minItems": 1, + "uniqueItems": true + }, + "calculation_method": { + "title": "Model calculation method", + "type": "string", + "description": "The methodology used for the calculation of the event in the modelled scenario(s), from the closed [data calculation type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists#data_calculation_type).", + "codelist": "data_calculation_type.csv", + "openCodelist": false, + "enum": [ + "inferred", + "observed", + "simulated" + ] + }, + "hazard": { + "title": "Hazard", + "description": "The hazard to which this event relates.", + "$ref": "#/$defs/Hazard" + }, + "occurrence": { + "title": "Occurrence", + "type": "object", + "description": "The frequency or likelihood of the event happening within a given time frame.", + "properties": { + "probabilistic": { + "title": "Probabilistic frequency", + "description": "How often the event is expected to occur. Can be return period and/or probability. Both fields are provided to allow entry of return period (most common term used across all hazards) and/or probability, which is commonly used for seismic hazard. Probability commonly refers to a probability within 1 year or 50 years, but may be relative to any duration - when `probability` is used, `span` must be specified. You should only use this object when `event_set.analysis_type` = `event_set.analysis_type` = 'probabilistic'", + "$ref": "#/$defs/Probabilistic" + }, + "empirical": { + "title": "Empirical", + "type": "object", + "description": "The period of time over which the event occurred and the associated return period (if any). You should only use this object when `event_set.analysis_type` = 'empirical'", + "properties": { + "temporal": { + "title": "Temporal occurrence", + "description": "The period of time over which the event occurred.", + "$ref": "#/$defs/Period" + }, + "return_period": { + "title": "Associated return period", + "type": "number", + "description": "Probabilistic frequency estimate associated with the empirical events in terms of hazard intensity. Expressed as the denominator of '1/n', e.g. '10' for a 1-in-10 year return period etc.", + "minimum": 0 + } + }, + "minProperties": 1 + }, + "deterministic": { + "title": "Deterministic frequency", + "type": "object", + "description": "The index criteria and thresholds classification used by the deterministic event set, index approaches and susceptibility data. You should only use this object when `event_set.analysis_type` = 'deterministic'.", + "properties": { + "index_criteria": { + "title": "Index criteria", + "type": "string", + "description": "Full description of the approach and criteria used to produce the index value. A deterministic hazard intensity index (ranking, score, etc) is not tied to a specific occurrence probability, rather is produced using an aggregation criteria (e.g. max, mean, median of annual values over a period; multi-criteria combination; Principal Component Analysis; else).", + "minLength": 1 + }, + "thresholds": { + "title": "Index thresholds", + "type": "array", + "description": "The thresholds used to classify the index value. Each threshold should be a separate item. Where thresholds are identified by both a number and a descriptor, include the descriptor in brackets, e.g. 1 (low).", + "items": { + "type": "string", + "minLength": 1 + }, + "minItems": 1, + "uniqueItems": true + } + }, + "minProperties": 1 + } + }, + "minProperties": 1 + }, + "description": { + "title": "Description", + "type": "string", + "description": "Provides additional information about this specific event", + "minLength": 1 + }, + "footprints": { + "title": "Footprints", + "description": "The footprints for this event showing spatial distribution of hazard intensity.", + "type": "array", + "items": { + "$ref": "#/$defs/Footprint" + }, + "minItems": 1, + "uniqueItems": true + } + }, + "minProperties": 1 + }, + "Footprint": { + "title": "Footprint", + "description": "Information about a single hazard event footprint showing spatial distribution of hazard intensity.", + "type": "object", + "required": [ + "id", + "intensity_measure" + ], + "properties": { + "id": { + "title": "Footprint identifier", + "type": "string", + "description": "A locally unique identifier for this footprint", + "minLength": 1 + }, + "intensity_measure": { + "title": "Hazard intensity measurement", + "type": "string", + "description": "The measurement unit used in the footprint, from the open [intensity measure codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists#IMT). This is typically a measurement of intensity but can also take other forms, e.g. spectral velocity or flood water depth.", + "codelist": "IMT.csv", + "openCodelist": true, + "minLength": 1 + }, + "data_uncertainty": { + "title": "Data uncertainty", + "type": "string", + "description": "Details of the uncertainty of the footprint that should be taken into account when interpreting the data.", + "minLength": 1 + } + }, + "minProperties": 1 + }, + "Metric": { + "title": "Asset exposure metric", + "type": "object", + "description": "A measurement used to quantify the extent to which assets detailed in the dataset are exposed.", + "required": [ + "id", + "dimension", + "quantity_kind" + ], + "properties": { + "id": { + "title": "Identifier", + "type": "string", + "description": "A locally unique identifier for this metric.", + "minLength": 1 + }, + "dimension": { + "title": "Metric dimension", + "description": "The dimension on which the asset's exposure is measured, from the closed [metric_dimension codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#metric-dimension).", + "type": "string", + "codelist": "metric_dimension.csv", + "openCodelist": false, + "enum": [ + "structure", + "content", + "product", + "disruption", + "population" + ] + }, + "quantity_kind": { + "title": "Metric quantity kind", + "type": "string", + "description": "The kind of quantity by which the exposure is quantified, from the open [quantity_kind codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#quantity-kind). If the metric measures a quantity kind that is not included in the codelist, look up the correct code in the [QUDT Quantity Kind Vocabulary](https://www.qudt.org/doc/DOC_VOCAB-QUANTITY-KINDS.html).", + "codelist": "quantity_kind.csv", + "openCodelist": true, + "minLength": 1 + } + }, + "minProperties": 1 + }, + "Cost": { + "title": "Asset cost", + "type": "object", + "description": "The costs associated with damage and disruption to specific elements of assets detailed in the dataset.", + "required": [ + "id", + "dimension", + "unit" + ], + "properties": { + "id": { + "title": "Cost identifier", + "type": "string", + "description": "A locally unique identifier for this cost.", + "minLength": 1 + }, + "dimension": { + "title": "Cost dimension", + "description": "The dimension of the assets that have incurred the cost, from the closed [metric_dimension codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#metric-dimension).", + "type": "string", + "codelist": "metric_dimension.csv", + "openCodelist": false, + "enum": [ + "structure", + "content", + "product", + "disruption", + "population" + ] + }, + "unit": { + "title": "Cost unit", + "type": "string", + "description": "The unit in which the cost is specified, from the closed [currency codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#currency).", + "codelist": "currency.csv", + "openCodelist": false, + "enum": [ + "ADP", + "AED", + "AFA", + "AFN", + "ALK", + "ALL", + "AMD", + "ANG", + "AOA", + "AOK", + "AON", + "AOR", + "ARA", + "ARP", + "ARS", + "ARY", + "ATS", + "AUD", + "AWG", + "AYM", + "AZM", + "AZN", + "BAD", + "BAM", + "BBD", + "BDT", + "BEC", + "BEF", + "BEL", + "BGJ", + "BGK", + "BGL", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BOP", + "BOV", + "BRB", + "BRC", + "BRE", + "BRL", + "BRN", + "BRR", + "BSD", + "BTN", + "BUK", + "BWP", + "BYB", + "BYN", + "BYR", + "BZD", + "CAD", + "CDF", + "CHC", + "CHE", + "CHF", + "CHW", + "CLF", + "CLP", + "CNY", + "COP", + "COU", + "CRC", + "CSD", + "CSJ", + "CSK", + "CUC", + "CUP", + "CVE", + "CYP", + "CZK", + "DDM", + "DEM", + "DJF", + "DKK", + "DOP", + "DZD", + "ECS", + "ECV", + "EEK", + "EGP", + "ERN", + "ESA", + "ESB", + "ESP", + "ETB", + "EUR", + "FIM", + "FJD", + "FKP", + "FRF", + "GBP", + "GEK", + "GEL", + "GHC", + "GHP", + "GHS", + "GIP", + "GMD", + "GNE", + "GNF", + "GNS", + "GQE", + "GRD", + "GTQ", + "GWE", + "GWP", + "GYD", + "HKD", + "HNL", + "HRD", + "HRK", + "HTG", + "HUF", + "IDR", + "IEP", + "ILP", + "ILR", + "ILS", + "INR", + "IQD", + "IRR", + "ISJ", + "ISK", + "ITL", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAJ", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LSM", + "LTL", + "LTT", + "LUC", + "LUF", + "LUL", + "LVL", + "LVR", + "LYD", + "MAD", + "MDL", + "MGA", + "MGF", + "MKD", + "MLF", + "MMK", + "MNT", + "MOP", + "MRO", + "MRU", + "MTL", + "MTP", + "MUR", + "MVQ", + "MVR", + "MWK", + "MXN", + "MXP", + "MXV", + "MYR", + "MZE", + "MZM", + "MZN", + "NAD", + "NGN", + "NIC", + "NIO", + "NLG", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEH", + "PEI", + "PEN", + "PES", + "PGK", + "PHP", + "PKR", + "PLN", + "PLZ", + "PTE", + "PYG", + "QAR", + "RHD", + "ROK", + "ROL", + "RON", + "RSD", + "RUB", + "RUR", + "RWF", + "SAR", + "SBD", + "SCR", + "SDD", + "SDG", + "SDP", + "SEK", + "SGD", + "SHP", + "SIT", + "SKK", + "SLL", + "SOS", + "SRD", + "SRG", + "SSP", + "STD", + "STN", + "SUR", + "SVC", + "SYP", + "SZL", + "THB", + "TJR", + "TJS", + "TMM", + "TMT", + "TND", + "TOP", + "TPE", + "TRL", + "TRY", + "TTD", + "TWD", + "TZS", + "UAH", + "UAK", + "UGS", + "UGW", + "UGX", + "USD", + "USN", + "USS", + "UYI", + "UYN", + "UYP", + "UYU", + "UYW", + "UZS", + "VEB", + "VEF", + "VES", + "VNC", + "VND", + "VUV", + "WST", + "XAF", + "XAG", + "XAU", + "XBA", + "XBB", + "XBC", + "XBD", + "XCD", + "XDR", + "XEU", + "XFO", + "XFU", + "XOF", + "XPD", + "XPF", + "XPT", + "XRE", + "XSU", + "XTS", + "XUA", + "XXX", + "YDD", + "YER", + "YUD", + "YUM", + "YUN", + "ZAL", + "ZAR", + "ZMK", + "ZMW", + "ZRN", + "ZRZ", + "ZWC", + "ZWD", + "ZWL", + "ZWN", + "ZWR" + ] + } + }, + "minProperties": 1 + }, + "Probabilistic": { + "title": "Probabilistic frequency", + "type": "object", + "description": "How often the event is expected to occur. Can be return period and/or probability. Both fields are provided to allow entry of return period (most common term used across all hazards) and/or probability, which is commonly used for seismic hazard. Probability commonly refers to a probability within 1 year or 50 years, but may be relative to any duration - when `probability` is used, `span` must be specified. This object must only be used if `event_set.analysis_type` = 'probabilistic'", + "properties": { + "return_period": { + "title": "Return period", + "description": "The event return period (or recurrence interval); the estimated average time between events. Expressed as the denominator of '1/n', e.g. '10' for a 1-in-10 year return period etc.", + "type": "number", + "minimum": 0 + }, + "event_rate": { + "title": "Event rate", + "type": "number", + "description": "The average number of occurrences of the event within a given year. This is the reciprocal of the return period, related by event_set.frequency_distribution.", + "minimum": 0 + }, + "probability": { + "title": "Probability", + "type": "object", + "description": "The likelihood of the event occurring in a given time period.", + "required": [ + "span" + ], + "properties": { + "value": { + "title": "Probability value", + "type": "number", + "minimum": 0, + "maximum": 1, + "description": "The probability of the event occurring during the time period specified in `.span`, expressed as a number between 0 and 1, e.g. 0.1 represents a 10% likelihood of the event occurring." + }, + "span": { + "title": "Probability span", + "type": "number", + "minimum": 0, + "description": "The length in years of the period in which the event is likely to occur with the probability specified in `.value`." + } + }, + "minProperties": 1 + } + }, + "minProperties": 1 + }, + "Impact": { + "title": "Impact", + "type": "object", + "description": "The details of the impact values produced in the modelled scenario(s).", + "properties": { + "type": { + "title": "Impact type", + "type": "string", + "description": "The type of impact calculated, taken from the closed [impact_type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#impact-type).", + "codelist": "impact_type.csv", + "openCodelist": false, + "enum": [ + "direct", + "indirect", + "total" + ] + }, + "metric": { + "title": "Impact metric", + "type": "string", + "description": "The metric used to describe the impact, taken from the open [impact_metric codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#impact-metric).", + "codelist": "impact_metric.csv", + "openCodelist": true, + "minLength": 1 + }, + "unit": { + "title": "Impact unit", + "type": "string", + "description": "The unit the impact value is expressed in, taken from the open [impact_unit codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#impact-unit).", + "codelist": "impact_unit.csv", + "openCodelist": true, + "minLength": 1 + }, + "base_data_type": { + "title": "Impact base data type", + "type": "string", + "description": "The type of data used to calculate the impact values, taken from the closed [data_calculation_type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#data-calculation-type).", + "codelist": "data_calculation_type.csv", + "openCodelist": false, + "enum": [ + "inferred", + "observed", + "simulated" + ] + } + }, + "minProperties": 1 + }, + "Classification": { + "title": "Classification", + "description": "A classification consists of at least two parts: an identifier for the list (scheme) from which the classification is taken, and an identifier for the category from that list being applied. It is useful to also publish a text label and/or URI that users can draw on to interpret the classification.", + "type": "object", + "required": [ + "id" + ], + "properties": { + "scheme": { + "title": "Scheme", + "description": "The scheme or codelist from which the classification code is taken, using the open [classification_scheme](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#classification-scheme) codelist.", + "type": "string", + "codelist": "classification_scheme.csv", + "openCodelist": true, + "minLength": 1 + }, + "id": { + "title": "Classification identifier", + "description": "The classification code taken from the scheme.", + "type": "string", + "minLength": 1 + }, + "description": { + "title": "Description", + "description": "A textual description or title for the classification code.", + "type": "string", + "minLength": 1 + }, + "uri": { + "title": "URI", + "description": "A URI to uniquely identify the classification code.", + "type": "string", + "format": "iri" + } + }, + "minProperties": 1 + }, + "Link": { + "title": "Link", + "description": "A link to a related resource.", + "type": "object", + "properties": { + "href": { + "title": "Link target", + "description": "The URL of this related resource.", + "format": "iri", + "type": "string" + }, + "rel": { + "title": "Link relation type", + "description": "The relationship with this related resource, from the [IANA Link Relationship Types](https://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1). The 'describedby' code must only be used in the first item in the `links` array to link to the schema that describes the structure of the data.", + "type": "string", + "minLength": 1 + } + }, + "required": [ + "href", + "rel" + ], + "minProperties": 1 + }, + "Losses": { + "title": "Losses", + "type": "object", + "description": "Losses resulting from the occurrence of a hazard.", + "required": [ + "id", + "hazard_type", + "cost" + ], + "properties": { + "id": { + "title": "Losses identifier", + "description": "A local identifier for the losses.", + "type": "string", + "minLength": 1 + }, + "hazard_type": { + "title": "Hazard type", + "type": "string", + "description": "The main type of hazard that resulted in the losses, from the closed [hazard type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists.html#hazard_type).", + "codelist": "hazard_type.csv", + "openCodelist": false, + "enum": [ + "coastal_flood", + "convective_storm", + "drought", + "earthquake", + "extreme_temperature", + "flood", + "landslide", + "tsunami", + "volcanic", + "wildfire", + "strong_wind" + ] + }, + "hazard_process": { + "title": "Hazard process", + "type": "string", + "description": "The main hazard process that resulted in the losses, from the closed [hazard process type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists.html#hazard_process_type).", + "codelist": "process_type.csv", + "openCodelist": false, + "enum": [ + "coastal_flood", + "storm_surge", + "tornado", + "agricultural_drought", + "hydrological_drought", + "meteorological_drought", + "socioeconomic_drought", + "primary_rupture", + "secondary_rupture", + "ground_motion", + "liquefaction", + "extreme_cold", + "extreme_heat", + "fluvial_flood", + "pluvial_flood", + "groundwater_flood", + "snow_avalanche", + "landslide_general", + "landslide_rockslide", + "landslide_mudflow", + "landslide_rockfall", + "tsunami", + "ashfall", + "volcano_ballistics", + "lahar", + "lava", + "pyroclastic_flow", + "wildfire", + "extratropical_cyclone", + "tropical_cyclone" + ] + }, + "description": { + "title": "Loss description", + "type": "string", + "description": "Additional details of the losses.", + "minLength": 1 + }, + "category": { + "title": "Asset category", + "description": "The category of the lost assets, from the closed [exposure_category codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#exposure-category).", + "type": "string", + "codelist": "exposure_category.csv", + "openCodelist": false, + "enum": [ + "agriculture", + "buildings", + "infrastructure", + "population", + "natural_environment" + ] + }, + "cost": { + "title": "Costs", + "description": "The costs associated with the losses.", + "$ref": "#/$defs/Cost" + }, + "impact": { + "title": "Loss impact", + "description": "Details of the way in which the loss impact was calculated and measured.", + "$ref": "#/$defs/Impact" + }, + "type": { + "title": "Loss type", + "type": "string", + "description": "The type of losses, from the closed [loss_type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#loss-type).", + "codelist": "loss_type.csv", + "openCodelist": false, + "enum": [ + "ground_up", + "insured", + "gross", + "count", + "net_precat", + "net_postcat" + ] + }, + "approach": { + "title": "Loss approach", + "type": "string", + "description": "The approach the loss calculation function is based upon, taken from the closed [function_approach codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#function-approach).", + "codelist": "function_approach.csv", + "openCodelist": false, + "enum": [ + "analytical", + "empirical", + "hybrid", + "judgement" + ] + }, + "hazard_analysis_type": { + "title": "Event frequency type", + "type": "string", + "description": "The type of occurrence frequency represented in the losses, from the closed [analysis_type codelist](https://docs.riskdatalibrary.org/en/{{version}}/reference/codelists/#loss-type).", + "enum": [ + "deterministic", + "empirical", + "probabilistic" + ], + "codelist": "analysis_type.csv", + "openCodelist": false + }, + "hazard_id": { + "title": "Hazard dataset", + "type": "string", + "description": "A unique identifier for the hazard dataset used in calculating the losses. Use of an HTTP URI is recommended.", + "minLength": 1 + }, + "exposure_id": { + "title": "Exposure dataset", + "type": "string", + "description": "A unique identifier for the exposure dataset used in calculating the losses. Use of an HTTP URI is recommended.", + "minLength": 1 + }, + "vulnerability_id": { + "title": "Vulnerability dataset", + "type": "string", + "description": "A unique identifier for the vulnerability dataset used in in calculating the losses. Use of an HTTP URI is recommended.", + "minLength": 1 + } + }, + "minProperties": 1 + } + }, + "minProperties": 1 +} diff --git a/specs/DDH_compliant/rdl_schema_0_1.json b/specs/DDH_compliant/rdl_schema_0_1.json index 3ae03b2e..f83b40a4 100644 --- a/specs/DDH_compliant/rdl_schema_0_1.json +++ b/specs/DDH_compliant/rdl_schema_0_1.json @@ -1,653 +1,1043 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "$id": "http://riskdatalibrary.org/schemas/rdl_schema_v0_1.json", - "title": "Risk Data Library Schema", - "type": "object", - "required": [ - "common" - ], - "properties": { - "common": { - "type": "object", - "properties": { - "contribution": { - "type": "object", - "required": ["title", "abstract", "component", "organization", "model_source", "model_date", - "geo_coverage", "publish", "license_code", "resources"], - "properties": { - "title": { - "type": "string", - "description": "Title of the dataset" - }, - "abstract": { - "type": "string", - "description": "Short description of the resource" - }, - "component": { - "type": "string", - "description": "Univocal schema for this contribution (H, E, V or L)", - "enum": ["Hazard", "Exposure", "Vulnerability", "Loss"] - }, - "organization": { - "type": "string", - "description": "Name of organization that published the dataset" - }, - "model_source": { - "type": "string", - "description": "Name of source model" - }, - "model_date": { - "type": "string", - "description": "Model release date", - "format": "date" - }, - "version": { - "type": "integer", - "description": "Version of the dataset" - }, - "purpose": { - "type": "string", - "description": "Purpose for what the data has been produced" - }, - "project": { - "type": "string", - "description": "Project under which data has been produced" - }, - "notes": { - "type": "string", - "description": "Additional details about the dataset" - }, - "biblio_title": { - "type": "string", - "description": "Authors/year/title of publication" - }, - "biblio_url": { - "type": "string", - "description": "URL of publication", - "format": "uri" - }, - "geo_coverage": { - "$ref": "#/definitions/common_iso", - "description": "ISO code(s) of countries covered by the dataset, comma-separated" - }, - "publish": { - "type": "boolean", - "description": "Flag to show/hide dataset from website" - }, - "license_code": { - "$ref": "#/definitions/common_license", - "description": "Type of license" - }, - "maintainer": { - "type": "string", - "description": "Who added the resource" - }, - "maintainer_email": { - "type": "string", - "description": "Contact email" - } - } - }, - "resources": { - "type": "array", - "items": { - "resource": { - "type": "object", - "required": ["name", "format", "epsg", "url"], - "properties": { - "name": { - "type": "string", - "description": "Name of linked resource" - }, - "aggregation_type": { - "type": "string", - "description": "Level of data representation" - }, - "format": { - "type": "string", - "description": "Format of resource" - }, - "h-res": { - "type": "string", - "description": "Horizontal resolution in meters (raster data only)" - }, - "epsg": { - "type": "string", - "description": "Reference coordinate system (default: 4326)" - }, - "url": { - "type": "string", - "description": "URL of linked resource" - } - } - } - } - } - } - } - }, - "anyOf": [ - { - "type": "object", - "title": "hazard", - "properties": { - "hazard": { - "type": "object", - "required": ["event_set", "event", "footprint_set"], - "properties": { - "event_set": { - "type": "object", - "required": ["hazard_type", "analysis_type"], - "properties": { - "hazard_type": { - "$ref": "#/definitions/common_hazard_type", - "description": "Type of hazard modelled" - }, - "analysis_type": { - "$ref": "#/definitions/common_analysis_type", - "description": "Type of analysis, probabilistic or deterministic" - }, - "geo_area": { - "type": "array", - "description": "The name of the geographic area covered by the hazard analysis. Comma-separated list of geographic names.", - "items": { - "type": "string" - } - }, - "time_start": { - "type": "string", - "description": "The time at which the modelled scenario(s) starts [ISO 8601 format]", - "format": "date" - }, - "time_end": { - "type": "string", - "description": "The time at which the modelled scenario(s) ends [ISO 8601 format]", - "format": "date" - }, - "time_span": { - "type": "string", - "description": "The extent of the time period covered by the events included in the current scenario hazard analysis [ISO 8601 format]" - }, - "time_year": { - "type": "string", - "description": "General reference year to which the scenario refers to (e.g. '2050')" - } - } - }, - "event": { - "type": "object", - "required": ["calculation_method","frequency_type"], - "properties": { - "calculation_method": { - "$ref": "#/definitions/common_calc_method", - "description": "The methodology used for the calculation of this event" - }, - "frequency_type": { - "$ref": "#/definitions/common_frequency_type", - "description": "Frequency representation type" - }, - "return_period": { - "type": "string", - "description": "Probability of occurrence expressed as return periods list (10, 100, 1000) or range (10-1000)" - }, - "occurence_time_start": { - "type": "string", - "description": "The start date (and possibly time) of the time period used to specify either the frequency or the occurrence_probability [ISO 8601 format]", - "format": "date-time" - }, - "occurence_time_end": { - "type": "string", - "description": "The end date (and possibly time) of the time period used to specify either the frequency or the occurrence_probability [ISO 8601 format]", - "format": "date-time" - }, - "occurence_time_span": { - "type": "string", - "description": "The duration (years) of the period used to specify either the frequency or the occurrence_probability" - }, - "trigger_hazard_type": { - "$ref": "#/definitions/common_hazard_type", - "description": "Hazard type that triggered the event" - }, - "trigger_process_type": { - "$ref": "#/definitions/common_process_type", - "description": "Process type that triggered the event" - }, - "description": { - "type": "string", - "description": "Provides additional information about this specific event" - } - } - }, - "footprint_set": { - "type": "object", - "properties": { - "process_type": { - "$ref": "#/definitions/common_process_type", - "description": "Type of hazard process modelled" - }, - "imt": { - "$ref": "#/definitions/im_code", - "description": "Hazard intensity measure unit" - }, - "data_uncertainty": { - "type": "string", - "description": "Comments about the uncertainty of data" - } - } - - } - } - } - } - }, - { - "type": "object", - "title": "exposure", - "properties": { - "exposure": { - "type": "object", - "required": ["model", "value"], - "properties": { - "model": { - "type": "object", - "required": ["category", "occupancy"], - "properties": { - "category": { - "description": "Type of asset", - "$ref": "#/definitions/common_exp_category" - }, - "occupancy": { - "description": "Destination of use of the asset", - "$ref": "#/definitions/common_exp_occupancy" - }, - "occupancy_time": { - "description": "Period of occupancy, if appliable (e.g. Population)", - "$ref": "#/definitions/common_occupancy_time" - }, - "taxonomy_source": { - "type": "string", - "description": "Name of taxonomy source (default is GED4ALL)", - "default": "GED4ALL" - }, - "taxonomy_code": { - "type": "string", - "description": "Alphanumeric code for the taxonomy source (based on GED4ALL)" - }, - "time_year": { - "type": "string", - "description": "General reference year to which the scenario refers to (e.g. '2050')" - }, - "add_attributes": { - "type": "string", - "description": "List of key attributes included in the dataset" - } - } - }, - "value": { - "type": "object", - "properties": { - "val_type": { - "description": "Type of asset value", - "$ref": "#/definitions/common_exp_val_type" - }, - "val_unit": { - "type": "string", - "description": "Unit of measure" - } - } - } - } - } - } - }, - { - "type": "object", - "title": "vulnerability", - "properties": { - "vulnerability": { - "type": "object", - "properties": { - "model": { - "type": "object", - "properties": { - "hazard_type_primary": { - "description": "Primary hazard involved", - "$ref": "#/definitions/common_hazard_type" - }, - "hazard_type_secondary": { - "description": "Secondary hazard involved", - "$ref": "#/definitions/common_hazard_type" - - }, - "process_type_primary": { - "description": "Primary process involved", - "$ref": "#/definitions/common_process_type" - - }, - "process_type_secondary": { - "description": "Secondary process involved", - "$ref": "#/definitions/common_process_type" - }, - "frequency_type": { - "description": "Frequency representation type", - "$ref": "#/definitions/common_frequency_type" - }, - "imt": { - "description": "Hazard intensity measure unit", - "$ref": "#/definitions/im_code" - }, - "category": { - "description": "Type of asset", - "$ref": "#/definitions/common_exp_category" - }, - "occupancy": { - "description": "Type of occupancy to which function applies", - "$ref": "#/definitions/common_exp_occupancy" - }, - "val_type": { - "description": "Type of asset value", - "$ref": "#/definitions/common_exp_val_type" - }, - "val_unit": { - "type": "string", - "description": "Unit of measure" - }, - "taxonomy_source": { - "type": "string", - "description": "Source of taxonomy" - }, - "taxonomy_code": { - "type": "string", - "description": "Taxonomy code to which function applies" - }, - "impact_type": { - "description": "Type of impact", - "$ref": "#/definitions/common_impact_type" - }, - "scale_applicability": { - "description": "Administrative level of application", - "$ref": "#/definitions/common_aggregation_type" - }, - "country_tranferability": { - "description": "ISOa3 list of countries in which the model could be applied", - "$ref": "#/definitions/common_iso" - }, - "local_applicability": { - "type": "string", - "description": "Area within a country or region to wich the model specifically applies" - }, - "transferability_notes": { - "type": "string", - "description": "Details about applicability to different areas" - }, - "function_type": { - "$ref": "#/definitions/vulnerability_function_type", - "description": "Type of function" - }, - "calculation_method": { - "$ref": "#/definitions/common_calc_method", - "description": "The methodology used for the calculation of the function" - }, - "approach": { - "$ref": "#/definitions/f_subtype", - "description": "Type of methodological approach" - }, - "f_relationship": { - "$ref": "#/definitions/vulnerability_f_relationship", - "description": "Type of relationship: Mathematical or Discrete" - }, - "f_math": { - "$ref": "#/definitions/vulnerability_f_math", - "description": "Parametric or bespoke" - } - } - }, - "specifics": { - "type": "object", - "properties": { - "analysis_details": { - "description": "Description of analysis that produced the function", - "type": "string" - }, - "par_names": { - "type": "string", - "description": "Parameters considered by the function" - }, - "im_name": { - "type": "string", - "description": "Name of loss intensity measure" - }, - "im_units": { - "type": "string", - "description": "Unit of loss intensity measure" - }, - "n_events": { - "type": "integer", - "description": "Number of events the function has been built on" - }, - "n_assets": { - "type": "integer", - "description": "Number of assets the function has been built on" - }, - "is_fit_good": { - "type": "boolean", - "description": "Is the fit good overall?" - }, - "is_edp_thre": { - "type": "boolean", - "description": "Is the damage scale is associated to an engineered-design parameter threshold?" - }, - "is_dm_factor": { - "type": "boolean", - "description": "Is the damage scale is associated to a damage factor?" - }, - "is_casualties": { - "type": "boolean", - "description": "Is the damage scale is associated to a casualties estimation?" - }, - "is_downtime": { - "type": "boolean", - "description": "Is the damage scale is associated to a downtime estimation (e.g. service interruption)?" - } - } - } - } - } - } - }, - { - "type": "object", - "title": "loss", - "properties": { - "loss": { - "type": "object", - "properties": { - "model": { - "type": "object", - "properties": { - "hazard_type": { - "$ref": "#/definitions/common_hazard_type", - "description": "Type of hazard modelled" - }, - "process_type": { - "$ref": "#/definitions/common_process_type", - "description": "Type of hazard process modelled" - }, - "time_start": { - "type": "string", - "description": "The time at which the modelled scenario(s) starts [ISO 8601 format]", - "format": "date" - }, - "time_end": { - "type": "string", - "description": "The time at which the modelled scenario(s) ends [ISO 8601 format]", - "format": "date" - }, - "time_year": { - "type": "string", - "description": "General reference year to which the scenario refers to (e.g. '2050')" - }, - "occupancy": { - "$ref": "#/definitions/common_exp_occupancy", - "description": "Destination of use of the asset" - }, - "category": { - "$ref": "#/definitions/common_exp_category", - "description": "Exposure category" - }, - "val_type": { - "$ref": "#/definitions/common_exp_val_type", - "description": "Element on which loss insist" - }, - "impact": { - "$ref": "#/definitions/common_impact_type", - "description": "Type of impact" - }, - "loss_type": { - "$ref": "#/definitions/loss_loss_type", - "description": "Type of loss" - }, - "frequency": { - "$ref": "#/definitions/common_frequency_type", - "description": "Frequency representation type" - }, - "return_period": { - "type": "string", - "description": "Probability of occurrence expressed as return periods list (10, 100, 1000) or range (10-1000)" - }, - "calculation_method": { - "$ref": "#/definitions/common_calc_method", - "description": "The methodology used for the calculation of this event" - }, - "metric": { - "$ref": "#/definitions/loss_metric", - "description": "Type of loss metric" - }, - "val_unit": { - "type": "string", - "description": "Unit of measure" - }, - "hazard_link": { - "type": "string", - "description": "URL of source hazard data", - "format": "uri" - }, - "exposure_link": { - "type": "string", - "description": "URL of source exposure data", - "format": "uri" - }, - "vulnerability_link": { - "type": "string", - "description": "URL of source vulnerability data", - "format": "uri" - } - } - } - } - } - } - } - ], - "definitions": { - - "common_aggregation_type": { - "type": "string", - "enum": ["Individual items", "Aggregated to grid", "Aggregated to boundaries", "N/A"] - }, - "common_analysis_type": { - "type": "string", - "enum": ["Deterministic","Probabilistic"] - }, - "common_calc_method": { - "type": "string", - "enum": ["Inferred","Simulated","Observed"] - }, - "common_exp_category": { - "type": "string", - "enum": ["Buildings", "Indicators", "Infrastructures", "Crops, livestock and forestry"] - }, - "common_exp_occupancy": { - "type": "string", - "enum": ["Residential", "Commercial", "Industrial", "Infrastructure", "Healthcare", "Educational", - "Government", "Crop", "Livestock", "Forestry", "Mixed"] - }, - "common_exp_val_type": { - "type": "string", - "enum": ["Structure", "Content", "Product", "Other"] - }, - "common_frequency_type": { - "type": "string", - "enum": ["Rate of Exceedence","Probability of Exceedence","Return Period"] - }, - "common_hazard_type": { - "type": "string", - "enum": ["CF","CS","DR","EQ","ET","FL","LS","MH","TS","VO","WF","WI"] - }, - "common_impact_type": { - "type": "string", - "enum": ["Direct", "Indirect", "Total"] - }, - "common_iso": { - "type": "string", - "enum": ["GLB","ABW","AFG","AGO","AIA","ALB","AND","ARE","ARG","ARM","ASM","ATG","AUS", - "AUT","AZE","BDI","BEL","BEN","BFA","BGD","BGR","BHR","BHS","BIH","BLM","BLR", - "BLZ","BMU","BOL","BRA","BRB","BRN","BTN","BWA","CAF","CAN","CHE","CHL","CHN", - "CIV","CMR","COD","COG","COK","COL","COM","CPV","CRI","CUB","CUW","CYM","CYP", - "CZE","DEU","DJI","DMA","DNK","DOM","DZA","ECU","EGY","ERI","ESP","EST","ETH", - "FIN","FJI","FLK","FRA","FRO","FSM","GAB","GBR","GEO","GGY","GHA","GIB","GIN", - "GMB","GNB","GNQ","GRC","GRD","GRL","GTM","GUM","GUY","HKG","HMD","HND","HRV", - "HTI","HUN","IDN","IMN","IND","IRL","IRN","IRQ","ISL","ISR","ITA","JAM","JEY", - "JOR","JPN","KAZ","KEN","KGZ","KHM","KIR","KNA","KOR","KWT","LAO","LBN","LBR", - "LBY","LCA","LIE","LKA","LSO","LTU","LUX","LVA","MAC","MAF","MAR","MCO","MDA", - "MDG","MDV","MEX","MHL","MKD","MLI","MLT","MMR","MNE","MNG","MNP","MOZ","MRT", - "MSR","MUS","MWI","MYS","NAM","NCL","NER","NFK","NGA","NIC","NIU","NLD","NOR", - "NPL","NRU","NZL","OMN","PAK","PAN","PCN","PER","PHL","PLW","PNG","POL","PRI", - "PRK","PRT","PRY","PSE","PYF","QAT","ROU","RUS","RWA","SAU","SDN","SEN","SGP", - "SGS","SHN","SLB","SLE","SLV","SMR","SOM","SPM","SRB","SSD","STP","SUR","SVK", - "SVN","SWE","SWZ","SXM","SYC","SYR","TCA","TCD","TGO","THA","TJK","TKM","TLS", - "TON","TTO","TUN","TUR","TUV","TZA","UGA","UKR","URY","USA","UZB","VAT","VCT", - "VEN","VGB","VIR","VNM","VUT","WLF","WSM","XXK","YEM","ZAF","ZMB","ZWE" - ] - }, - "common_license": { - "type": "string", - "enum": ["CC0-1.0", "PDDL-1.0", "CC-BY-4.0", "ODC-By-1.0", "CC-BY-SA-4.0", "ODbL-1.0"] - }, - "common_occupancy_time": { - "type": "string", - "enum": ["Night","Day"] - }, - "common_process_type": { - "type": "string", - "enum": ["FCF","FSS","TOR","DTA","DTH","DTM","DTS","Q1R","Q2R","QGM", - "QLI","ECD","EHT","FFF","FPF","LAV","LSL","TSI","VAF","VBL", - "VFH","VLH","VLV","VPF","WFI","ETC","TCY"] - }, - "im_code": { - "type": "string", - "enum": ["PGA:g","PGA:m/s2","PGV:m/s","AvgSa:m/s2","Sd(T1):m","Sv(T1):m/s", - "PGDf:m","D:s","IA:m/s","Neq:-","EMS:-","MMI:-","CAV:m/s", "D_B:s", "fl_wd:m", - "fl_wv:m/s","v_ect(3s):km/h","v_ect(1m):km/h","v_etc(10m):km/h", - "PGWS_tcy:km/h","ls_fd:m","I_DF:m3/s2","v_lsl:m/s2","ls_mfd:m","SD_lsl:m","Rh_tsi:m", - "d_tsi:m","MMF:m4/s2","F_drag:kN","Fr:-","v_tsi:m/s","F_QS:kN","MF:m3/s2","h_tsi:m", - "Fh_tsi:m","h_vaf:m","L_vaf:kg/m2","CMI:-","PDSI:-","SPI:-"] - }, - "loss_loss_type": { - "type": "string", - "enum": ["Ground Up", "Insured"] - }, - "loss_metric": { - "type": "string", - "enum": ["Annual Average Losses", "Annual Average Loss Ratio", "Probable Maximal Loss"] - }, - "vulnerability_function_type": { - "type": "string", - "enum": ["Fragility", "Vulnerability", "Damage-to-Loss"] - }, - "vulnerability_f_subtype": { - "type": "string", - "enum": ["Empirical", "Analytical", "Judgement", "Hybrid"] - } - } -} +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "http://riskdatalibrary.org/schemas/rdl_schema_v0_1.json", + "title": "Risk Data Library Schema", + "type": "object", + "required": [ + "common" + ], + "properties": { + "common": { + "type": "object", + "properties": { + "contribution": { + "type": "object", + "required": [ + "title", + "abstract", + "component", + "organization", + "model_source", + "model_date", + "geo_coverage", + "publish", + "license_code", + "resources" + ], + "properties": { + "title": { + "type": "string", + "description": "Title of the dataset" + }, + "abstract": { + "type": "string", + "description": "Short description of the resource" + }, + "component": { + "type": "string", + "description": "Univocal schema for this contribution (H, E, V or L)", + "enum": [ + "Hazard", + "Exposure", + "Vulnerability", + "Loss" + ] + }, + "organization": { + "type": "string", + "description": "Name of organization that published the dataset" + }, + "model_source": { + "type": "string", + "description": "Name of source model" + }, + "model_date": { + "type": "string", + "description": "Model release date", + "format": "date" + }, + "version": { + "type": "integer", + "description": "Version of the dataset" + }, + "purpose": { + "type": "string", + "description": "Purpose for what the data has been produced" + }, + "project": { + "type": "string", + "description": "Project under which data has been produced" + }, + "notes": { + "type": "string", + "description": "Additional details about the dataset" + }, + "biblio_title": { + "type": "string", + "description": "Authors/year/title of publication" + }, + "biblio_url": { + "type": "string", + "description": "URL of publication", + "format": "uri" + }, + "geo_coverage": { + "$ref": "#/definitions/common_iso", + "description": "ISO code(s) of countries covered by the dataset, comma-separated" + }, + "publish": { + "type": "boolean", + "description": "Flag to show/hide dataset from website" + }, + "license_code": { + "$ref": "#/definitions/common_license", + "description": "Type of license" + }, + "maintainer": { + "type": "string", + "description": "Who added the resource" + }, + "maintainer_email": { + "type": "string", + "description": "Contact email" + } + } + }, + "resources": { + "type": "array", + "items": { + "resource": { + "type": "object", + "required": [ + "name", + "format", + "epsg", + "url" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of linked resource" + }, + "aggregation_type": { + "type": "string", + "description": "Level of data representation" + }, + "format": { + "type": "string", + "description": "Format of resource" + }, + "h-res": { + "type": "string", + "description": "Horizontal resolution in meters (raster data only)" + }, + "epsg": { + "type": "string", + "description": "Reference coordinate system (default: 4326)" + }, + "url": { + "type": "string", + "description": "URL of linked resource" + } + } + } + } + } + } + } + }, + "anyOf": [ + { + "type": "object", + "title": "hazard", + "properties": { + "hazard": { + "type": "object", + "required": [ + "event_set", + "event", + "footprint_set" + ], + "properties": { + "event_set": { + "type": "object", + "required": [ + "hazard_type", + "analysis_type" + ], + "properties": { + "hazard_type": { + "$ref": "#/definitions/common_hazard_type", + "description": "Type of hazard modelled" + }, + "analysis_type": { + "$ref": "#/definitions/common_analysis_type", + "description": "Type of analysis, probabilistic or deterministic" + }, + "geo_area": { + "type": "array", + "description": "The name of the geographic area covered by the hazard analysis. Comma-separated list of geographic names.", + "items": { + "type": "string" + } + }, + "time_start": { + "type": "string", + "description": "The time at which the modelled scenario(s) starts [ISO 8601 format]", + "format": "date" + }, + "time_end": { + "type": "string", + "description": "The time at which the modelled scenario(s) ends [ISO 8601 format]", + "format": "date" + }, + "time_span": { + "type": "string", + "description": "The extent of the time period covered by the events included in the current scenario hazard analysis [ISO 8601 format]" + }, + "time_year": { + "type": "string", + "description": "General reference year to which the scenario refers to (e.g. '2050')" + } + } + }, + "event": { + "type": "object", + "required": [ + "calculation_method", + "frequency_type" + ], + "properties": { + "calculation_method": { + "$ref": "#/definitions/common_calc_method", + "description": "The methodology used for the calculation of this event" + }, + "frequency_type": { + "$ref": "#/definitions/common_frequency_type", + "description": "Frequency representation type" + }, + "return_period": { + "type": "string", + "description": "Probability of occurrence expressed as return periods list (10, 100, 1000) or range (10-1000)" + }, + "occurence_time_start": { + "type": "string", + "description": "The start date (and possibly time) of the time period used to specify either the frequency or the occurrence_probability [ISO 8601 format]", + "format": "date-time" + }, + "occurence_time_end": { + "type": "string", + "description": "The end date (and possibly time) of the time period used to specify either the frequency or the occurrence_probability [ISO 8601 format]", + "format": "date-time" + }, + "occurence_time_span": { + "type": "string", + "description": "The duration (years) of the period used to specify either the frequency or the occurrence_probability" + }, + "trigger_hazard_type": { + "$ref": "#/definitions/common_hazard_type", + "description": "Hazard type that triggered the event" + }, + "trigger_process_type": { + "$ref": "#/definitions/common_process_type", + "description": "Process type that triggered the event" + }, + "description": { + "type": "string", + "description": "Provides additional information about this specific event" + } + } + }, + "footprint_set": { + "type": "object", + "properties": { + "process_type": { + "$ref": "#/definitions/common_process_type", + "description": "Type of hazard process modelled" + }, + "imt": { + "$ref": "#/definitions/im_code", + "description": "Hazard intensity measure unit" + }, + "data_uncertainty": { + "type": "string", + "description": "Comments about the uncertainty of data" + } + } + } + } + } + } + }, + { + "type": "object", + "title": "exposure", + "properties": { + "exposure": { + "type": "object", + "required": [ + "model", + "value" + ], + "properties": { + "model": { + "type": "object", + "required": [ + "category", + "occupancy" + ], + "properties": { + "category": { + "description": "Type of asset", + "$ref": "#/definitions/common_exp_category" + }, + "occupancy": { + "description": "Destination of use of the asset", + "$ref": "#/definitions/common_exp_occupancy" + }, + "occupancy_time": { + "description": "Period of occupancy, if appliable (e.g. Population)", + "$ref": "#/definitions/common_occupancy_time" + }, + "taxonomy_source": { + "type": "string", + "description": "Name of taxonomy source (default is GED4ALL)", + "default": "GED4ALL" + }, + "taxonomy_code": { + "type": "string", + "description": "Alphanumeric code for the taxonomy source (based on GED4ALL)" + }, + "time_year": { + "type": "string", + "description": "General reference year to which the scenario refers to (e.g. '2050')" + }, + "add_attributes": { + "type": "string", + "description": "List of key attributes included in the dataset" + } + } + }, + "value": { + "type": "object", + "properties": { + "val_type": { + "description": "Type of asset value", + "$ref": "#/definitions/common_exp_val_type" + }, + "val_unit": { + "type": "string", + "description": "Unit of measure" + } + } + } + } + } + } + }, + { + "type": "object", + "title": "vulnerability", + "properties": { + "vulnerability": { + "type": "object", + "properties": { + "model": { + "type": "object", + "properties": { + "hazard_type_primary": { + "description": "Primary hazard involved", + "$ref": "#/definitions/common_hazard_type" + }, + "hazard_type_secondary": { + "description": "Secondary hazard involved", + "$ref": "#/definitions/common_hazard_type" + }, + "process_type_primary": { + "description": "Primary process involved", + "$ref": "#/definitions/common_process_type" + }, + "process_type_secondary": { + "description": "Secondary process involved", + "$ref": "#/definitions/common_process_type" + }, + "frequency_type": { + "description": "Frequency representation type", + "$ref": "#/definitions/common_frequency_type" + }, + "imt": { + "description": "Hazard intensity measure unit", + "$ref": "#/definitions/im_code" + }, + "category": { + "description": "Type of asset", + "$ref": "#/definitions/common_exp_category" + }, + "occupancy": { + "description": "Type of occupancy to which function applies", + "$ref": "#/definitions/common_exp_occupancy" + }, + "val_type": { + "description": "Type of asset value", + "$ref": "#/definitions/common_exp_val_type" + }, + "val_unit": { + "type": "string", + "description": "Unit of measure" + }, + "taxonomy_source": { + "type": "string", + "description": "Source of taxonomy" + }, + "taxonomy_code": { + "type": "string", + "description": "Taxonomy code to which function applies" + }, + "impact_type": { + "description": "Type of impact", + "$ref": "#/definitions/common_impact_type" + }, + "scale_applicability": { + "description": "Administrative level of application", + "$ref": "#/definitions/common_aggregation_type" + }, + "country_tranferability": { + "description": "ISOa3 list of countries in which the model could be applied", + "$ref": "#/definitions/common_iso" + }, + "local_applicability": { + "type": "string", + "description": "Area within a country or region to wich the model specifically applies" + }, + "transferability_notes": { + "type": "string", + "description": "Details about applicability to different areas" + }, + "function_type": { + "$ref": "#/definitions/vulnerability_function_type", + "description": "Type of function" + }, + "calculation_method": { + "$ref": "#/definitions/common_calc_method", + "description": "The methodology used for the calculation of the function" + }, + "approach": { + "$ref": "#/definitions/f_subtype", + "description": "Type of methodological approach" + }, + "f_relationship": { + "$ref": "#/definitions/vulnerability_f_relationship", + "description": "Type of relationship: Mathematical or Discrete" + }, + "f_math": { + "$ref": "#/definitions/vulnerability_f_math", + "description": "Parametric or bespoke" + } + } + }, + "specifics": { + "type": "object", + "properties": { + "analysis_details": { + "description": "Description of analysis that produced the function", + "type": "string" + }, + "par_names": { + "type": "string", + "description": "Parameters considered by the function" + }, + "im_name": { + "type": "string", + "description": "Name of loss intensity measure" + }, + "im_units": { + "type": "string", + "description": "Unit of loss intensity measure" + }, + "n_events": { + "type": "integer", + "description": "Number of events the function has been built on" + }, + "n_assets": { + "type": "integer", + "description": "Number of assets the function has been built on" + }, + "is_fit_good": { + "type": "boolean", + "description": "Is the fit good overall?" + }, + "is_edp_thre": { + "type": "boolean", + "description": "Is the damage scale is associated to an engineered-design parameter threshold?" + }, + "is_dm_factor": { + "type": "boolean", + "description": "Is the damage scale is associated to a damage factor?" + }, + "is_casualties": { + "type": "boolean", + "description": "Is the damage scale is associated to a casualties estimation?" + }, + "is_downtime": { + "type": "boolean", + "description": "Is the damage scale is associated to a downtime estimation (e.g. service interruption)?" + } + } + } + } + } + } + }, + { + "type": "object", + "title": "loss", + "properties": { + "loss": { + "type": "object", + "properties": { + "model": { + "type": "object", + "properties": { + "hazard_type": { + "$ref": "#/definitions/common_hazard_type", + "description": "Type of hazard modelled" + }, + "process_type": { + "$ref": "#/definitions/common_process_type", + "description": "Type of hazard process modelled" + }, + "time_start": { + "type": "string", + "description": "The time at which the modelled scenario(s) starts [ISO 8601 format]", + "format": "date" + }, + "time_end": { + "type": "string", + "description": "The time at which the modelled scenario(s) ends [ISO 8601 format]", + "format": "date" + }, + "time_year": { + "type": "string", + "description": "General reference year to which the scenario refers to (e.g. '2050')" + }, + "occupancy": { + "$ref": "#/definitions/common_exp_occupancy", + "description": "Destination of use of the asset" + }, + "category": { + "$ref": "#/definitions/common_exp_category", + "description": "Exposure category" + }, + "val_type": { + "$ref": "#/definitions/common_exp_val_type", + "description": "Element on which loss insist" + }, + "impact": { + "$ref": "#/definitions/common_impact_type", + "description": "Type of impact" + }, + "loss_type": { + "$ref": "#/definitions/loss_loss_type", + "description": "Type of loss" + }, + "frequency": { + "$ref": "#/definitions/common_frequency_type", + "description": "Frequency representation type" + }, + "return_period": { + "type": "string", + "description": "Probability of occurrence expressed as return periods list (10, 100, 1000) or range (10-1000)" + }, + "calculation_method": { + "$ref": "#/definitions/common_calc_method", + "description": "The methodology used for the calculation of this event" + }, + "metric": { + "$ref": "#/definitions/loss_metric", + "description": "Type of loss metric" + }, + "val_unit": { + "type": "string", + "description": "Unit of measure" + }, + "hazard_link": { + "type": "string", + "description": "URL of source hazard data", + "format": "uri" + }, + "exposure_link": { + "type": "string", + "description": "URL of source exposure data", + "format": "uri" + }, + "vulnerability_link": { + "type": "string", + "description": "URL of source vulnerability data", + "format": "uri" + } + } + } + } + } + } + } + ], + "definitions": { + "common_aggregation_type": { + "type": "string", + "enum": [ + "Individual items", + "Aggregated to grid", + "Aggregated to boundaries", + "N/A" + ] + }, + "common_analysis_type": { + "type": "string", + "enum": [ + "Deterministic", + "Probabilistic" + ] + }, + "common_calc_method": { + "type": "string", + "enum": [ + "Inferred", + "Simulated", + "Observed" + ] + }, + "common_exp_category": { + "type": "string", + "enum": [ + "Buildings", + "Indicators", + "Infrastructures", + "Crops, livestock and forestry" + ] + }, + "common_exp_occupancy": { + "type": "string", + "enum": [ + "Residential", + "Commercial", + "Industrial", + "Infrastructure", + "Healthcare", + "Educational", + "Government", + "Crop", + "Livestock", + "Forestry", + "Mixed" + ] + }, + "common_exp_val_type": { + "type": "string", + "enum": [ + "Structure", + "Content", + "Product", + "Other" + ] + }, + "common_frequency_type": { + "type": "string", + "enum": [ + "Rate of Exceedence", + "Probability of Exceedence", + "Return Period" + ] + }, + "common_hazard_type": { + "type": "string", + "enum": [ + "CF", + "CS", + "DR", + "EQ", + "ET", + "FL", + "LS", + "MH", + "TS", + "VO", + "WF", + "WI" + ] + }, + "common_impact_type": { + "type": "string", + "enum": [ + "Direct", + "Indirect", + "Total" + ] + }, + "common_iso": { + "type": "string", + "enum": [ + "GLB", + "ABW", + "AFG", + "AGO", + "AIA", + "ALB", + "AND", + "ARE", + "ARG", + "ARM", + "ASM", + "ATG", + "AUS", + "AUT", + "AZE", + "BDI", + "BEL", + "BEN", + "BFA", + "BGD", + "BGR", + "BHR", + "BHS", + "BIH", + "BLM", + "BLR", + "BLZ", + "BMU", + "BOL", + "BRA", + "BRB", + "BRN", + "BTN", + "BWA", + "CAF", + "CAN", + "CHE", + "CHL", + "CHN", + "CIV", + "CMR", + "COD", + "COG", + "COK", + "COL", + "COM", + "CPV", + "CRI", + "CUB", + "CUW", + "CYM", + "CYP", + "CZE", + "DEU", + "DJI", + "DMA", + "DNK", + "DOM", + "DZA", + "ECU", + "EGY", + "ERI", + "ESP", + "EST", + "ETH", + "FIN", + "FJI", + "FLK", + "FRA", + "FRO", + "FSM", + "GAB", + "GBR", + "GEO", + "GGY", + "GHA", + "GIB", + "GIN", + "GMB", + "GNB", + "GNQ", + "GRC", + "GRD", + "GRL", + "GTM", + "GUM", + "GUY", + "HKG", + "HMD", + "HND", + "HRV", + "HTI", + "HUN", + "IDN", + "IMN", + "IND", + "IRL", + "IRN", + "IRQ", + "ISL", + "ISR", + "ITA", + "JAM", + "JEY", + "JOR", + "JPN", + "KAZ", + "KEN", + "KGZ", + "KHM", + "KIR", + "KNA", + "KOR", + "KWT", + "LAO", + "LBN", + "LBR", + "LBY", + "LCA", + "LIE", + "LKA", + "LSO", + "LTU", + "LUX", + "LVA", + "MAC", + "MAF", + "MAR", + "MCO", + "MDA", + "MDG", + "MDV", + "MEX", + "MHL", + "MKD", + "MLI", + "MLT", + "MMR", + "MNE", + "MNG", + "MNP", + "MOZ", + "MRT", + "MSR", + "MUS", + "MWI", + "MYS", + "NAM", + "NCL", + "NER", + "NFK", + "NGA", + "NIC", + "NIU", + "NLD", + "NOR", + "NPL", + "NRU", + "NZL", + "OMN", + "PAK", + "PAN", + "PCN", + "PER", + "PHL", + "PLW", + "PNG", + "POL", + "PRI", + "PRK", + "PRT", + "PRY", + "PSE", + "PYF", + "QAT", + "ROU", + "RUS", + "RWA", + "SAU", + "SDN", + "SEN", + "SGP", + "SGS", + "SHN", + "SLB", + "SLE", + "SLV", + "SMR", + "SOM", + "SPM", + "SRB", + "SSD", + "STP", + "SUR", + "SVK", + "SVN", + "SWE", + "SWZ", + "SXM", + "SYC", + "SYR", + "TCA", + "TCD", + "TGO", + "THA", + "TJK", + "TKM", + "TLS", + "TON", + "TTO", + "TUN", + "TUR", + "TUV", + "TZA", + "UGA", + "UKR", + "URY", + "USA", + "UZB", + "VAT", + "VCT", + "VEN", + "VGB", + "VIR", + "VNM", + "VUT", + "WLF", + "WSM", + "XXK", + "YEM", + "ZAF", + "ZMB", + "ZWE" + ] + }, + "common_license": { + "type": "string", + "enum": [ + "CC0-1.0", + "PDDL-1.0", + "CC-BY-4.0", + "ODC-By-1.0", + "CC-BY-SA-4.0", + "ODbL-1.0" + ] + }, + "common_occupancy_time": { + "type": "string", + "enum": [ + "Night", + "Day" + ] + }, + "common_process_type": { + "type": "string", + "enum": [ + "FCF", + "FSS", + "TOR", + "DTA", + "DTH", + "DTM", + "DTS", + "Q1R", + "Q2R", + "QGM", + "QLI", + "ECD", + "EHT", + "FFF", + "FPF", + "LAV", + "LSL", + "TSI", + "VAF", + "VBL", + "VFH", + "VLH", + "VLV", + "VPF", + "WFI", + "ETC", + "TCY" + ] + }, + "im_code": { + "type": "string", + "enum": [ + "PGA:g", + "PGA:m/s2", + "PGV:m/s", + "AvgSa:m/s2", + "Sd(T1):m", + "Sv(T1):m/s", + "PGDf:m", + "D:s", + "IA:m/s", + "Neq:-", + "EMS:-", + "MMI:-", + "CAV:m/s", + "D_B:s", + "fl_wd:m", + "fl_wv:m/s", + "v_ect(3s):km/h", + "v_ect(1m):km/h", + "v_etc(10m):km/h", + "PGWS_tcy:km/h", + "ls_fd:m", + "I_DF:m3/s2", + "v_lsl:m/s2", + "ls_mfd:m", + "SD_lsl:m", + "Rh_tsi:m", + "d_tsi:m", + "MMF:m4/s2", + "F_drag:kN", + "Fr:-", + "v_tsi:m/s", + "F_QS:kN", + "MF:m3/s2", + "h_tsi:m", + "Fh_tsi:m", + "h_vaf:m", + "L_vaf:kg/m2", + "CMI:-", + "PDSI:-", + "SPI:-" + ] + }, + "loss_loss_type": { + "type": "string", + "enum": [ + "Ground Up", + "Insured" + ] + }, + "loss_metric": { + "type": "string", + "enum": [ + "Annual Average Losses", + "Annual Average Loss Ratio", + "Probable Maximal Loss" + ] + }, + "vulnerability_function_type": { + "type": "string", + "enum": [ + "Fragility", + "Vulnerability", + "Damage-to-Loss" + ] + }, + "vulnerability_f_subtype": { + "type": "string", + "enum": [ + "Empirical", + "Analytical", + "Judgement", + "Hybrid" + ] + } + } +} diff --git a/specs/code-lists/CSV/IMT.csv b/specs/code-lists/CSV/IMT.csv deleted file mode 100644 index f13316a4..00000000 --- a/specs/code-lists/CSV/IMT.csv +++ /dev/null @@ -1,47 +0,0 @@ -Code, Label, Definition -PGA_g, Peak ground acceleration in g, -PGA_gal, Peak ground acceleration in Gal (1 Gal equal to 0.01 m/s2), -PGA_m/s2, Peak ground acceleration in m/s2 (meters per second squared), -PGV_m/s, Peak ground velocity in m/s, -AvgSa_m/s2, Average spectral acceleration, -Sd(T1)_m, Spectral displacement, -Sv(T1)_m/s, Spectral velocity, -PGDf_m, Permanent ground deformation, -D_s, Significant duration, -IA_m/s, Arias intensity (Iα) or (IA) or (Ia), -Neq_-, Effective number of cycles, -EMS_-, European macroseismic scale, -MMI_-, Modified Mercalli Intensity, -CAV_m/s, Cumulative absolute velocity, -D_B_s, Bracketed duration, -fl_we, Flood water extent, -fl_wd_m, Flood water depth (m), -fl_wv_m/s, Flood flow velocity (m/s), -v_ect(3s)_km/h, 3-sec at 10m sustained wind speed (kph), -v_ect(1m)_km/h, 1-min at 10m sustained wind speed (kph), -v_etc(10m)_km/h, 10-min sustained wind speed (kph), -PGWS_tcy_km/h, Peak gust wind speed, -ls_fd_m, Landslide flow depth, -I_DF_m3/s2, Debris-flow intensity index, -v_lsl_m/s2, Landslide flow velocity, -ls_mfd_m, Maximum foundation displacement, -SD_lsl_m, Landslide displacement, -Rh_tsi_m, Tsunami wave runup height, -d_tsi_m, Tsunami inundation depth, -MMF_m4/s2, Modified momentum flux, -F_drag_kN, Drag force, -Fr_-, Froude number, -v_tsi_m/s, Tsunami velocity, -F_QS_kN, Quasi-steady force, -MF_m3/s2, Momentum flux, -h_tsi_m, Tsunami wave height, -Fh_tsi_m, Tsunami Horizontal Force, -h_vaf_m, Ash fall thickness, -L_vaf_kg/m2, Ash loading, -ASI, Agricultural Stress Index, -CMI, Crop Moisture Index, -PDSI, Palmer Drought Severity Index, -SPI, Standard Precipitation Index, -WBGT_c, Wet Bulb Globe Temperature in Celsius, -FWI, Fire Weather Index, -MHI, Multi-Hazard Index, \ No newline at end of file diff --git a/specs/code-lists/CSV/data_formats.csv b/specs/code-lists/CSV/data_formats.csv deleted file mode 100644 index 75d9f0ef..00000000 --- a/specs/code-lists/CSV/data_formats.csv +++ /dev/null @@ -1,11 +0,0 @@ -Code, Label, Definition -api, api, Application Programming Interface -csv, csv, Comma Separated Values -json, json, JavaScript Object Notation -geojson, geojson, Geographic JavaScript Object Notation -shp, shapefile, ESRI Shapefile -gpkg, geopackage, GeoPackage -geotiff, geotiff, GeoTiff -md, markdown, Markdown -pdf, pdf, Portable Document Format -website, website, External website \ No newline at end of file diff --git a/specs/code-lists/CSV/frequency_type.csv b/specs/code-lists/CSV/frequency_type.csv index 7b147379..365da92c 100644 --- a/specs/code-lists/CSV/frequency_type.csv +++ b/specs/code-lists/CSV/frequency_type.csv @@ -1,4 +1,4 @@ -Code, Label, Definition -Rate of Exceedence, Rate of Exceedence, -Probability of Exceedence, Probability of Exceedence, -Return Period, Return Period, \ No newline at end of file +Code,Label +Rate of Exceedence,Rate of Exceedence +Probability of Exceedence,Probability of Exceedence +Return Period,Return Period diff --git a/specs/code-lists/CSV/hazard_type.csv b/specs/code-lists/CSV/hazard_type.csv deleted file mode 100644 index b6fba5ef..00000000 --- a/specs/code-lists/CSV/hazard_type.csv +++ /dev/null @@ -1,13 +0,0 @@ -Code, Label, Definition -CF, Coastal Flood, -CS, Convective Storm, -DR, Drought, -EQ, Earthquake, -ET, Extreme Temperature, -FL, Flood, -LS, Landslide, -MH, Multi-Hazard, -TS, Tsunami, -VO, Volcanic, -WF, Wildfire, -WI, Strong Wind, \ No newline at end of file diff --git a/specs/code-lists/CSV/occupancy.csv b/specs/code-lists/CSV/occupancy.csv index e47b3596..b961b4c6 100644 --- a/specs/code-lists/CSV/occupancy.csv +++ b/specs/code-lists/CSV/occupancy.csv @@ -1,12 +1,12 @@ -Code, Label, Definition -Residential,, -Commercial,, -Industrial,, -Infrastructure,, -Healthcare,, -Educational,, -Government,, -Crop,, -Livestock,, -Forestry,, -Mixed,, \ No newline at end of file +Code +Residential +Commercial +Industrial +Infrastructure +Healthcare +Educational +Government +Crop +Livestock +Forestry +Mixed diff --git a/specs/code-lists/CSV/process_type.csv b/specs/code-lists/CSV/process_type.csv deleted file mode 100644 index c90a25ec..00000000 --- a/specs/code-lists/CSV/process_type.csv +++ /dev/null @@ -1,29 +0,0 @@ -Code, Label, Definition -FCF, Coastal Flood, -FSS, Storm Surge, -TOR, Tornado, -DTA, Agricultural Drought, -DTH, Hydrological Drought, -DTM, Meteorological Drought, -DTS, Socio-economic Drought, -Q1R, Primary Rupture, -Q2R, Secondary Rupture, -QGM, Ground Motion, -QLI, Liquefaction, -ECD, Extreme cold, -EHT, Extreme heat, -FFF, Fluvial Flood, -FPF, Pluvial Flood, -LAV, Snow Avalanche, -LSL, Landslide (general), -TSI, Tsunami, -VAF, Ashfall, -VBL, Ballistics, -VFH, Proximal hazards, -VLH, Lahar, -VLV, Lava, -VPF, Pyroclastic Flow, -WFI, Wildfire, -ETC, Extratropical cyclone, -TCY, Tropical cyclone, -MHC, Multi-Hazard combined, \ No newline at end of file diff --git a/specs/code-lists/CSV/val_type.csv b/specs/code-lists/CSV/val_type.csv index 3dd63f8a..8fbc96ac 100644 --- a/specs/code-lists/CSV/val_type.csv +++ b/specs/code-lists/CSV/val_type.csv @@ -1,5 +1,5 @@ -Code, Label, Definition -Structure, Structure, -Content, Content, -Product, Product, -Others, Others, \ No newline at end of file +Code,Label +Structure,Structure +Content,Content +Product,Product +Others,Others diff --git a/specs/hazard-data-package/ex-valid-datapackage.json b/specs/hazard-data-package/ex-valid-datapackage.json index 947dc5c5..f03ef4bd 100644 --- a/specs/hazard-data-package/ex-valid-datapackage.json +++ b/specs/hazard-data-package/ex-valid-datapackage.json @@ -10,33 +10,39 @@ "path": "https://licenses.opendefinition.org/licenses/CC-BY-SA-4.0.json" } ], - "spatial": [ "..." ], + "spatial": [ + "..." + ], "eventset": { "hazard_type": "...", "analysis_type": "...", "id": "...", - "spatial": [ "..." ], + "spatial": [ + "..." + ], "start_date": "2021-04-01T20:20:39+00:00", "end_date": "2021-04-01T20:20:39+00:00", "year": "...", "time_span": "..." }, - "events": [{ - "id": "...", - "calculation_method": "...", - "frequency": "...", - "description": "", - "return_period": "...", - "occurrence": { - "start_date": "2021-04-01T20:20:39+00:00", - "end_date": "2021-04-01T20:20:39+00:00" - }, - "trigger": { - "hazard_type": "...", - "process_type": "...", - "event": "..." + "events": [ + { + "id": "...", + "calculation_method": "...", + "frequency": "...", + "description": "", + "return_period": "...", + "occurrence": { + "start_date": "2021-04-01T20:20:39+00:00", + "end_date": "2021-04-01T20:20:39+00:00" + }, + "trigger": { + "hazard_type": "...", + "process_type": "...", + "event": "..." + } } - }], + ], "resources": [ { "name": "fp1.tif", diff --git a/specs/hazard-data-package/schema.json b/specs/hazard-data-package/schema.json index 58aed514..c7ad1c86 100644 --- a/specs/hazard-data-package/schema.json +++ b/specs/hazard-data-package/schema.json @@ -44,239 +44,242 @@ "description": "A description of the dataset" }, "licenses": { - "title": "licenses", - "description": "The license(s) under which this package is published.", - "type": "array", - "minItems": 1, - "items": { - "title": "License", - "description": "A license for this descriptor.", - "type": "object", - "properties": { - "name": { - "title": "name", - "description": "MUST be an Open Definition license identifier, see http://licenses.opendefinition.org/", - "type": "string" - }, - "path": { - "title": "path", - "description": "A fully qualified URL, or a POSIX file path..", - "type": "string" - } - }, - "required": [ "name", "path"] - } - }, + "title": "licenses", + "description": "The license(s) under which this package is published.", + "type": "array", + "minItems": 1, + "items": { + "title": "License", + "description": "A license for this descriptor.", + "type": "object", + "properties": { + "name": { + "title": "name", + "description": "MUST be an Open Definition license identifier, see http://licenses.opendefinition.org/", + "type": "string" + }, + "path": { + "title": "path", + "description": "A fully qualified URL, or a POSIX file path..", + "type": "string" + } + }, + "required": [ + "name", + "path" + ] + } + }, "spatial": { - "title": "spatial", - "description": "spatial coverage of the datasets", - "minItems": 1, - "items": { - "type": "string" - } - }, + "title": "spatial", + "description": "spatial coverage of the datasets", + "minItems": 1, + "items": { + "type": "string" + } + }, "eventset": { - "title": "eventset", - "description": "An Event Set descriptor, that describes the circumstances in which a hazard occurs", - "type": "object", - "properties": { - "hazard_type": { - "title": "hazard_type", - "description": "Identifies the type of hazard. Valid values are defined by the RDL Hazard Type Code list", - "type": "string" - }, - "analysis_type": { - "title": "analysis_type", - "description": "Identifies the type of analysis used to generate the Footprints. Valid values are defined by the RDL Analysis Type Code List", - "type": "string" - }, - "id": { - "title": "id", - "description": "A globally unique identifier for the package, e.g. a UUID", - "type": "string" - }, - "spatial": { - "title": "spatial", - "description": "spatial coverage of the datasets", - "minItems": 1, - "items": { - "type": "string" + "title": "eventset", + "description": "An Event Set descriptor, that describes the circumstances in which a hazard occurs", + "type": "object", + "properties": { + "hazard_type": { + "title": "hazard_type", + "description": "Identifies the type of hazard. Valid values are defined by the RDL Hazard Type Code list", + "type": "string" + }, + "analysis_type": { + "title": "analysis_type", + "description": "Identifies the type of analysis used to generate the Footprints. Valid values are defined by the RDL Analysis Type Code List", + "type": "string" + }, + "id": { + "title": "id", + "description": "A globally unique identifier for the package, e.g. a UUID", + "type": "string" + }, + "spatial": { + "title": "spatial", + "description": "spatial coverage of the datasets", + "minItems": 1, + "items": { + "type": "string" + } + }, + "start_date": { + "title": "start date", + "description": "The datetime at which the modelled scenarios start", + "type": "string", + "format": "date-time" + }, + "end_date": { + "title": "end date", + "description": "The datetime at which the modelled scenarios end", + "type": "string", + "format": "date-time" + }, + "year": { + "title": "year", + "description": "The reference year to which the modelled scenario refers", + "type": "string" + }, + "time_span": { + "title": "time span", + "description": "The extent of the time period covered by the events included in the current scenario hazard analysis", + "type": "string" + } + }, + "required": [ + "hazard_type", + "process_type" + ] + }, + "events": { + "title": "events", + "description": "A list of Event descriptors", + "minItems": 1, + "items": { + "title": "Event", + "description": "An event", + "type": "object", + "properties": { + "id": { + "title": "id", + "description": "A globally unique identifier for the package, e.g. a UUID", + "type": "string" + }, + "calculation_method": { + "title": "calculation method", + "description": "A description of how this Event was generated, e.g. observed or simulated. Valid values are defined by the RDL Calculation Method Code List", + "type": "string" + }, + "frequency": { + "title": "frequency", + "description": "", + "type": "string" + }, + "description": { + "title": "description", + "type": "string", + "description": "A description of the dataset" + }, + "return_period": { + "title": "return period", + "type": "string", + "description": "The probability of the event occuring expressed as an array of return periods ('10', '100', '1000') or as a single String specifying a range (10-1000)" + }, + "occurence": { + "title": "occurence", + "type": "object", + "description": "", + "properties": { + "start_date": { + "title": "start date", + "description": "The datetime at which the modelled scenarios start", + "type": "string", + "format": "date-time" + }, + "end_date": { + "title": "end date", + "description": "The datetime at which the modelled scenarios end", + "type": "string", + "format": "date-time" + } } }, - "start_date": { - "title": "start date", - "description": "The datetime at which the modelled scenarios start", - "type": "string", - "format": "date-time" - }, - "end_date": { - "title": "end date", - "description": "The datetime at which the modelled scenarios end", - "type": "string", - "format": "date-time" - }, - "year": { - "title": "year", - "description": "The reference year to which the modelled scenario refers", - "type": "string" - }, - "time_span": { - "title": "time span", - "description": "The extent of the time period covered by the events included in the current scenario hazard analysis", - "type": "string" - } - }, - "required": [ - "hazard_type", - "process_type" - ] - }, - "events": { - "title": "events", - "description": "A list of Event descriptors", - "minItems": 1, - "items": { - "title": "Event", - "description": "An event", - "type": "object", - "properties": { - "id": { - "title": "id", - "description": "A globally unique identifier for the package, e.g. a UUID", - "type": "string" - }, - "calculation_method": { - "title": "calculation method", - "description": "A description of how this Event was generated, e.g. observed or simulated. Valid values are defined by the RDL Calculation Method Code List", - "type": "string" - }, - "frequency": { - "title": "frequency", - "description": "", - "type": "string" - }, - "description": { - "title": "description", - "type": "string", - "description": "A description of the dataset" - }, - "return_period": { - "title": "return period", - "type": "string", - "description": "The probability of the event occuring expressed as an array of return periods ('10', '100', '1000') or as a single String specifying a range (10-1000)" - }, - "occurence": { - "title": "occurence", - "type": "object", - "description": "", - "properties": { - "start_date": { - "title": "start date", - "description": "The datetime at which the modelled scenarios start", - "type": "string", - "format": "date-time" - }, - "end_date": { - "title": "end date", - "description": "The datetime at which the modelled scenarios end", - "type": "string", - "format": "date-time" - } - } - }, - "trigger": { - "title": "trigger", - "type": "object", - "description": "", - "properties": { - "hazard_type": { - "title": "hazard_type", - "description": "Identifies the type of hazard. Valid values are defined by the RDL Hazard Type Code list", - "type": "string" - }, - "process_type": { - "title": "process_type", - "description": "Identifies the type of analysis used to generate the Footprints. Valid values are defined by the RDL Process Type Code List", - "type": "string" - }, - "event": { - "title": "event", - "description": "Associates this event with another event. The value should match the value of an id attribute of in the event array.", - "type": "string" - } - } - } - }, - "required": [ - "id", - "calculation_method", - "frequency" - ] - } - }, - "resources": { - "title": "footprints", - "description": "A list of the Hazard Data Package Resources contained in the package. ", - "type": "array", - "minItems": 1, - "items": { - "title": "Footprint", - "description": "Data Resource.", - "type": "object", - "required": [ - "name", - "path" - ], - "properties": { - "name": { - "title": "name", - "description": "An identifier string. Lower case characters with `.`, `_`, `-` and `/` are allowed.", - "type": "string", - "pattern": "^([-a-z0-9._/])+$" - }, - "path": { - "title": "path", - "description": "Provides the file system path, or a remote URL, that provides a location for the resource", - "type": "string" - }, - "mediatype": { - "title": "media type", - "description": "The media type of this resource. Can be any valid media type listed with [IANA](https://www.iana.org/assignments/media-types/media-types.xhtml).", - "type": "string", - "pattern": "^(.+)/(.+)$" - }, - "process_type": { - "title": "process_type", - "description": "The type of hazard process modelled. Valid values for the process_type property are defined by the RDL Process Type Code List", - "type": "string" - }, - "imt": { - "title": "imt", - "description": "The intensity measure. Valid values are described in the RDL Intensity Measure code list", - "type": "string" - }, - "event": { - "title": "event", - "description": "Associates this resource with an event. The value should match the value of an id attribute of in the event array.", - "type": "string" - }, - "title": { - "title": "title", - "description": "A human-readable title.", - "type": "string" - }, - "epsg": { - "title": "epsg", - "description": "Describes the spatial reference used in the data.", - "type": "string" - }, - "data_uncertainty": { - "title": "data_uncertainty", - "description": "Comments about the uncertainty of the data", - "type": "string" + "trigger": { + "title": "trigger", + "type": "object", + "description": "", + "properties": { + "hazard_type": { + "title": "hazard_type", + "description": "Identifies the type of hazard. Valid values are defined by the RDL Hazard Type Code list", + "type": "string" + }, + "process_type": { + "title": "process_type", + "description": "Identifies the type of analysis used to generate the Footprints. Valid values are defined by the RDL Process Type Code List", + "type": "string" + }, + "event": { + "title": "event", + "description": "Associates this event with another event. The value should match the value of an id attribute of in the event array.", + "type": "string" + } } } + }, + "required": [ + "id", + "calculation_method", + "frequency" + ] + } + }, + "resources": { + "title": "footprints", + "description": "A list of the Hazard Data Package Resources contained in the package. ", + "type": "array", + "minItems": 1, + "items": { + "title": "Footprint", + "description": "Data Resource.", + "type": "object", + "required": [ + "name", + "path" + ], + "properties": { + "name": { + "title": "name", + "description": "An identifier string. Lower case characters with `.`, `_`, `-` and `/` are allowed.", + "type": "string", + "pattern": "^([-a-z0-9._/])+$" + }, + "path": { + "title": "path", + "description": "Provides the file system path, or a remote URL, that provides a location for the resource", + "type": "string" + }, + "mediatype": { + "title": "media type", + "description": "The media type of this resource. Can be any valid media type listed with [IANA](https://www.iana.org/assignments/media-types/media-types.xhtml).", + "type": "string", + "pattern": "^(.+)/(.+)$" + }, + "process_type": { + "title": "process_type", + "description": "The type of hazard process modelled. Valid values for the process_type property are defined by the RDL Process Type Code List", + "type": "string" + }, + "imt": { + "title": "imt", + "description": "The intensity measure. Valid values are described in the RDL Intensity Measure code list", + "type": "string" + }, + "event": { + "title": "event", + "description": "Associates this resource with an event. The value should match the value of an id attribute of in the event array.", + "type": "string" + }, + "title": { + "title": "title", + "description": "A human-readable title.", + "type": "string" + }, + "epsg": { + "title": "epsg", + "description": "Describes the spatial reference used in the data.", + "type": "string" + }, + "data_uncertainty": { + "title": "data_uncertainty", + "description": "Comments about the uncertainty of the data", + "type": "string" + } } } + } } } diff --git a/tests/test_csv.py b/tests/test_csv.py new file mode 100644 index 00000000..ecb26590 --- /dev/null +++ b/tests/test_csv.py @@ -0,0 +1,85 @@ +import csv +import json +import os +import warnings +from io import StringIO + +import pytest +import requests +from jscc.schema import is_codelist +from jscc.testing.filesystem import walk_csv_data +from jscc.testing.util import warn_and_assert + +cwd = os.getcwd() +repo_name = os.path.basename(os.getenv('GITHUB_REPOSITORY', cwd)) + + +def formatwarning(message, category, filename, lineno, line=None): + return str(message).replace(cwd + os.sep, '') + + +warnings.formatwarning = formatwarning +pytestmark = pytest.mark.filterwarnings('always') + + +def test_valid(): + """ + Ensures all CSV files are valid: no empty rows or columns, no leading or trailing whitespace in cells, same number + of cells in each row. + """ + errors = 0 + + for path, name, text, fieldnames, rows in walk_csv_data(excluded=('.git', '.ve', '_static', 'build', 'fixtures', 'flatten-tool', 'docson', 'examples')): + codelist = is_codelist(fieldnames) + width = len(fieldnames) + columns = [] + + duplicates = len(fieldnames) - len(set(fieldnames)) + if duplicates: + errors += 1 + warnings.warn(f'ERROR: {path} has {duplicates} duplicate column headers') + + for row_index, row in enumerate(rows, 2): + expected = len(row) + duplicates + if expected != width: + errors += 1 + warnings.warn(f'ERROR: {path} has {expected} not {width} columns in row {row_index}') + if not any(row.values()): + errors += 1 + warnings.warn(f'ERROR: {path} has empty row {row_index}') + else: + for col_index, (header, cell) in enumerate(row.items(), 1): + if col_index > len(columns): + columns.append([]) + + columns[col_index - 1].append(cell) + + # Extra cells are added to a None columns. + if header is None and isinstance(cell, list): + cells = cell + else: + cells = [cell] + + for cell in cells: + if cell is not None and cell != cell.strip(): + errors += 1 + warnings.warn(f'ERROR: {path} {header} "{cell}" has leading or trailing whitespace at ' + f'{row_index},{col_index}') + + for col_index, column in enumerate(columns, 1): + if not any(column) and codelist: + errors += 1 + warnings.warn(f'ERROR: {path} has empty column {col_index}') + + output = StringIO() + writer = csv.DictWriter(output, fieldnames=fieldnames, lineterminator='\n') + writer.writeheader() + writer.writerows(rows) + expected = output.getvalue() + + if text != expected and repo_name != 'sample-data': + errors += 1 + warnings.warn(f'ERROR: {path} is improperly formatted (e.g. missing trailing newline, extra quoting ' + f'characters, non-"\\n" line terminator):\n{text!r}\n{expected!r}') + + assert errors == 0, 'One or more codelist CSV files are invalid. See warnings below.' diff --git a/tests/test_json.py b/tests/test_json.py new file mode 100644 index 00000000..1a191381 --- /dev/null +++ b/tests/test_json.py @@ -0,0 +1,35 @@ +from jscc.testing.checks import get_empty_files, get_misindented_files, get_invalid_json_files +from jscc.testing.util import warn_and_assert + +import os + + +this_dir = os.path.dirname(os.path.realpath(__file__)) +absolute_source_schema_dir = this_dir + '/../schema/' +absolute_source_codelist_dir = this_dir + '/../schema/codelists/' + + +def test_empty(): + """Tests that files (JSON and other files) are not empty.""" + empty_files_paths = [path for path in get_empty_files(excluded=('.git', '.ve', '_static', 'build', 'fixtures', 'flatten-tool', 'docson')) if "src/" not in path[0]] + warn_and_assert(empty_files_paths, "{0} is empty, run: rm {0}", "Files are empty. See warnings below.") + + +def test_indent(): + """ + Test that JSON files are indented properly. + Note this test can often fail on problems that are not to do with indents. + """ + misindented_files_paths = [path for path in get_misindented_files(excluded=('.git', '.ve', '_static', 'build', 'fixtures', 'flatten-tool', 'docson')) if "src/" not in path[0]] + warn_and_assert( + misindented_files_paths, + "{0} is not indented as expected", + "Files are not indented as expected. See warnings below", + ) + + +def test_invalid_json(): + """Test whether all JSON files can be parsed.""" + warn_and_assert( + get_invalid_json_files(excluded=('.git', '.ve', '_static', 'build', 'fixtures', 'flatten-tool', 'docson')), "{0} is not valid JSON: {1}", "JSON files are invalid. See warnings below." + ) diff --git a/tests/test_schema.py b/tests/test_schema.py new file mode 100644 index 00000000..b74c4c74 --- /dev/null +++ b/tests/test_schema.py @@ -0,0 +1,74 @@ +from jscc.testing.filesystem import walk_json_data +from jscc.schema import is_json_schema +from jscc.testing.util import http_get +import jsonref +import pytest +from jscc.testing.checks import ( + validate_array_items, + validate_codelist_enum, + validate_deep_properties, + validate_items_type, + validate_letter_case, + validate_merge_properties, + validate_metadata_presence, + validate_null_type, + validate_object_id, + validate_ref, + validate_schema, +) +from jsonschema import FormatChecker +from jsonschema.validators import Draft202012Validator + +schemas = [(path, name, data) for path, name, _, data in walk_json_data(top='schema') if is_json_schema(data)] +metaschema = http_get('https://json-schema.org/draft/2020-12/schema').json() + +validate_array_items_kwargs = { + 'allow_invalid': { + '/$defs/Geometry/properties/coordinates/items', # recursion + }, +} + +def validate_metadata_presence_allow_missing(pointer): + return 'start/oneOf' in pointer or 'end/oneOf' in pointer or pointer.startswith('/anyOf') or pointer.startswith('/properties/links') + +validate_metadata_presence_kwargs = { + 'allow_missing': validate_metadata_presence_allow_missing, +} + +def validate_object_id_allow_missing(pointer): + return '/properties/links' in pointer + +validate_object_id_kwargs = { + 'allow_missing': validate_object_id_allow_missing +} + +@pytest.mark.parametrize('path,name,data', schemas) +def test_schema_valid(path, name, data): + validate_json_schema(path, name, data, metaschema) + +validator = Draft202012Validator(Draft202012Validator.META_SCHEMA, format_checker=FormatChecker()) + +@pytest.mark.parametrize('path,name,data', schemas) +def test_schema_valid(path, name, data): + validate_json_schema(path, name, data, metaschema) + + +def validate_json_schema(path, name, data, schema): + errors = 0 + + errors += validate_schema(path, data, validator) + errors += validate_array_items(path, data, **validate_array_items_kwargs) + errors += validate_items_type(path, data) + + errors += validate_codelist_enum(path, data) + + errors += validate_merge_properties(path, data) + errors += validate_ref(path, data) + errors += validate_metadata_presence(path, data, **validate_metadata_presence_kwargs) + errors += validate_object_id(path, jsonref.replace_refs(data), **validate_object_id_kwargs) + errors += validate_null_type(path, data, no_null=True) + + # Here, we don't add to `errors`, in order to not count these warnings as errors. + validate_deep_properties(path, data) + + assert not errors, 'One or more JSON Schema files are invalid. See warnings below.'