diff --git a/.github/workflows/bot.yaml b/.github/workflows/bot.yaml index eafab97..7481e66 100644 --- a/.github/workflows/bot.yaml +++ b/.github/workflows/bot.yaml @@ -1,20 +1,6 @@ name: Bot validation -on: - push: - paths: - - 'caltechdata_api/cli.py' - - 'caltechdata_api/customize_schema.py' - - 'caltechdata_api/caltechdata_write.py' - - 'caltechdata_api/caltechdata_edit.py' - - 'README.md' - pull_request: - paths: - - 'caltechdata_api/cli.py' - - 'caltechdata_api/customize_schema.py' - - 'caltechdata_api/caltechdata_write.py' - - 'caltechdata_api/caltechdata_edit.py' - - 'README.md' +on: [push, pull_request] jobs: validate-metadata: @@ -36,13 +22,17 @@ jobs: pip install pytest requests s3fs cryptography pip install . - - name: Run CaltechDATA Metadata Validation + - name: Run against CaltechData Test system env: - CALTECHDATA_TOKEN: ${{ secrets.CALTECHDATA_TOKEN }} - run: | - python tests/bot_yaml.py - - name: Run Unit Tests + RDMTOK: ${{ secrets.CALTECHDATA_TOKEN }} run: | cd tests pytest test_unit.py pytest test_rdm.py + - name: Run Medata Validation Test and RDM + env: + RDMTOK: ${{ secrets.CALTECHDATA_TOKEN }} + run: | + cd tests + python bot_yaml.py + diff --git a/.github/workflows/codemeta2cff.yml b/.github/workflows/codemeta2cff.yml index ddfb8f5..62d9668 100644 --- a/.github/workflows/codemeta2cff.yml +++ b/.github/workflows/codemeta2cff.yml @@ -19,8 +19,27 @@ jobs: uses: actions/checkout@v4 - name: Convert CFF uses: caltechlibrary/codemeta2cff@main + - name: Install jq for JSON parsing + run: sudo apt-get install -y jq + - name: Parse and update setup.cfg + run: | + # Extract values from codemeta.json + NAME=$(jq -r '.name' codemeta.json) + VERSION=$(jq -r '.version' codemeta.json) + AUTHORS=$(jq -r '[.author[] | .givenName + " " + .familyName] | join(", ")' codemeta.json) + AUTHOR_EMAILS=$(jq -r '[.author[] | .email // empty] | join(", ")' codemeta.json) + DESCRIPTION=$(jq -r '.description' codemeta.json) + URL=$(jq -r '.codeRepository // .url' codemeta.json) + + # Update setup.cfg fields + sed -i "s/^name = .*/name = $NAME/" setup.cfg + sed -i "s/^version = .*/version = $VERSION/" setup.cfg + sed -i "s/^author = .*/author = $AUTHORS/" setup.cfg + sed -i "s/^author_email = .*/author_email = $AUTHOR_EMAILS/" setup.cfg + sed -i "s/^description = .*/description = $DESCRIPTION/" setup.cfg + sed -i "s|^url = .*|url = $URL|" setup.cfg - name: Commit CFF uses: EndBug/add-and-commit@v9 with: - message: 'Add updated CITATION.cff from codemeta.json file' - add: 'CITATION.cff' + message: 'Add updated CITATION.cff and setup.cfg from codemeta.json file' + add: '["setup.cfg", "CITATION.cff"]' diff --git a/.github/workflows/pypi-publish.yaml b/.github/workflows/pypi-publish.yaml index 258239e..22a1dea 100644 --- a/.github/workflows/pypi-publish.yaml +++ b/.github/workflows/pypi-publish.yaml @@ -22,7 +22,7 @@ jobs: run: | python setup.py sdist bdist_wheel - name: Publish - uses: pypa/gh-action-pypi-publish@v1.3.1 + uses: pypa/gh-action-pypi-publish@v1.13.0 with: user: __token__ password: ${{ secrets.pypi_token }} diff --git a/.github/workflows/update_setupcfg.yaml b/.github/workflows/update_setupcfg.yaml deleted file mode 100644 index defc510..0000000 --- a/.github/workflows/update_setupcfg.yaml +++ /dev/null @@ -1,50 +0,0 @@ -name: Sync Codemeta with Setup - -on: - push: - paths: - - codemeta.json - -jobs: - sync-codemeta: - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v3 - - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: '3.x' - - - name: Install jq for JSON parsing - run: sudo apt-get install -y jq - - - name: Parse and update setup.cfg - run: | - # Extract values from codemeta.json - NAME=$(jq -r '.name' codemeta.json) - VERSION=$(jq -r '.version' codemeta.json) - AUTHORS=$(jq -r '[.author[] | .givenName + " " + .familyName] | join(", ")' codemeta.json) - AUTHOR_EMAILS=$(jq -r '[.author[] | .email // empty] | join(", ")' codemeta.json) - DESCRIPTION=$(jq -r '.description' codemeta.json) - URL=$(jq -r '.codeRepository // .url' codemeta.json) - - # Update setup.cfg fields - sed -i "s/^name = .*/name = $NAME/" setup.cfg - sed -i "s/^version = .*/version = $VERSION/" setup.cfg - sed -i "s/^author = .*/author = $AUTHORS/" setup.cfg - sed -i "s/^author_email = .*/author_email = $AUTHOR_EMAILS/" setup.cfg - sed -i "s/^description = .*/description = $DESCRIPTION/" setup.cfg - sed -i "s|^url = .*|url = $URL|" setup.cfg - - - name: Commit changes - run: | - if ! git diff --quiet; then - git config user.name "github-actions[bot]" - git config user.email "github-actions[bot]@users.noreply.github.com" - git add setup.cfg - git commit -m "Sync setup.cfg with codemeta.json changes" - git push - fi diff --git a/CITATION.cff b/CITATION.cff index 58b0d4c..5a9ead3 100755 --- a/CITATION.cff +++ b/CITATION.cff @@ -14,15 +14,18 @@ authors: - family-names: Abakah given-names: Alexander A orcid: https://orcid.org/0009-0003-5640-6691 + - family-names: Nagi + given-names: Kshemaahna + orcid: https://orcid.org/0009-0002-8113-3763 abstract: Python wrapper for CaltechDATA API. repository-code: "https://github.com/caltechlibrary/caltechdata_api" type: software -doi: 10.22002/bv2pv-2b295 -version: 1.9.1 +doi: 10.22002/2g4c7-zva46 +version: 1.10.6 license-url: "https://data.caltech.edu/license" keywords: - GitHub - metadata - software - InvenioRDM -date-released: 2025-02-06 +date-released: 2025-10-18 diff --git a/README.md b/README.md index 140a130..068d3d4 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ pip install caltechdata_api There are some example python scripts in the GitHub repository. -###Create a record: +### Create a record: ```shell python write.py example.json -fnames logo.gif @@ -39,7 +39,7 @@ python write.py example.json -fnames logo.gif the end of a url to visit the record (e.g. https://data.caltechlibrary.dev/records/pbkn6-m9y63) -###Edit a record +### Edit a record Make changes to the example.json file to see a change) ``` python edit.py example.json -id pbkn6-m9y63 @@ -77,3 +77,6 @@ This returns the custom DOI of the record if it is successful. Only test your application on the test repository (`data.caltechlibrary.dev`). Testing the API on the public repository will generate junk records that are annoying to delete. +## Using the Command Line Interface + +If you would like to interact with the CaltechDATA API using the Command line Interface (CLI), please [see the detailed documentation](https://caltechlibrary.github.io/caltechdata_api/caltechdata_api/cli-documentation-for-users). diff --git a/add_files_authors.py b/add_files_authors.py new file mode 100644 index 0000000..7790761 --- /dev/null +++ b/add_files_authors.py @@ -0,0 +1,50 @@ +import requests, os, argparse +from caltechdata_api import write_files_rdm + +parser = argparse.ArgumentParser( + description="Add files to an existing CaltechAUTHORS record." +) +parser.add_argument( + "idv", + type=str, + help="The CaltechAUTHORS record idv to edit.", +) +parser.add_argument( + "files", + type=str, + nargs="+", + help="The files to upload to the record.", +) +args = parser.parse_args() +idv = args.idv +files = args.files +token = os.environ["RDMTOK"] +url = "https://authors.library.caltech.edu" + +headers = { + "Authorization": "Bearer %s" % token, + "Content-type": "application/json", +} +f_headers = { + "Authorization": "Bearer %s" % token, + "Content-type": "application/octet-stream", +} + +existing = requests.get( + url + "/api/records/" + idv + "/draft", + headers=headers, +) +if existing.status_code != 200: + raise Exception(f"Record {idv} does not exist, cannot edit") +data = existing.json() +data["files"] = {"enabled": True} +# Update metadata +result = requests.put( + url + "/api/records/" + idv + "/draft", + headers=headers, + json=data, +) +if result.status_code != 200: + raise Exception(result.text) +file_link = result.json()["links"]["files"] +write_files_rdm(files, file_link, headers, f_headers) diff --git a/caltechdata_api/__init__.py b/caltechdata_api/__init__.py index b289898..6123e57 100644 --- a/caltechdata_api/__init__.py +++ b/caltechdata_api/__init__.py @@ -8,6 +8,7 @@ caltechdata_edit, caltechdata_unembargo, caltechdata_accept, + caltechdata_reject, ) from .customize_schema import customize_schema, validate_metadata from .get_metadata import get_metadata diff --git a/caltechdata_api/caltechdata_edit.py b/caltechdata_api/caltechdata_edit.py index 1bbec6e..06b5fa0 100644 --- a/caltechdata_api/caltechdata_edit.py +++ b/caltechdata_api/caltechdata_edit.py @@ -49,6 +49,48 @@ def caltechdata_accept(ids, token=None, production=False): raise Exception(result.text) +def caltechdata_reject(ids, token=None, production=False, authors=False): + # Reject a record from a community + + # If no token is provided, get from RDMTOK environment variable + if not token: + token = os.environ["RDMTOK"] + + if production == True: + if authors: + url = "https://authors.library.caltech.edu" + else: + url = "https://data.caltech.edu" + else: + if authors: + url = "https://authors.caltechlibrary.dev" + else: + url = "https://data.caltechlibrary.dev" + + headers = { + "Authorization": "Bearer %s" % token, + "Content-type": "application/json", + } + + for idv in ids: + result = requests.get( + url + "/api/records/" + idv + "/draft/review", headers=headers + ) + print(url + "/api/records/" + idv + "/draft/review") + if result.status_code != 200: + raise Exception(result.text) + accept_link = result.json()["links"]["actions"]["decline"] + data = comment = { + "payload": { + "content": "This record was declined automatically with the CaltechDATA API", + "format": "html", + } + } + result = requests.post(accept_link, json=data, headers=headers) + if result.status_code != 200: + raise Exception(result.text) + + def caltechdata_edit( idv, metadata={}, @@ -66,6 +108,8 @@ def caltechdata_edit( default_preview=None, authors=False, keepfiles=False, + return_id=False, + local=False, ): # Make a copy of the metadata to make sure our local changes don't leak metadata = copy.deepcopy(metadata) @@ -81,14 +125,22 @@ def caltechdata_edit( # Check if file links were provided in the metadata descriptions = [] ex_file_links = [] + ex_file_descriptions = [] if "descriptions" in metadata: for d in metadata["descriptions"]: if d["description"].startswith("Files available via S3"): file_text = d["description"] file_list = file_text.split('href="') + # Check if we have file_descriptions + split_comma = file_list[0].split(", ") + if len(split_comma) == 3: + ex_file_descriptions.append(split_comma[1]) # Loop over links in description, skip header text for file in file_list[1:]: ex_file_links.append(file.split('"\n')[0]) + split_comma = file.split(", ") + if len(split_comma) == 3: + ex_file_descriptions.append(split_comma[1]) else: descriptions.append(d) # We remove file link descriptions, and re-add below @@ -102,17 +154,21 @@ def caltechdata_edit( # Otherwise we add file links found in the mtadata file elif ex_file_links: metadata = add_file_links( - metadata, ex_file_links, file_descriptions, s3_link=s3_link + metadata, ex_file_links, ex_file_descriptions, s3_link=s3_link ) if authors == False: if production == True: url = "https://data.caltech.edu/" + elif local == True: + url = "https://127.0.0.1:5000/" else: url = "https://data.caltechlibrary.dev/" else: if production == True: url = "https://authors.library.caltech.edu/" + elif local == True: + url = "https://127.0.0.1:5000/" else: url = "https://authors.caltechlibrary.dev/" @@ -299,10 +355,13 @@ def caltechdata_edit( result = requests.post(publish_link, headers=headers) if result.status_code != 202: raise Exception(result.text) - pids = result.json()["pids"] - if "doi" in pids: - return pids["doi"]["identifier"] + if return_id: + return result.json()["id"] else: - return pids["oai"]["identifier"] + pids = result.json()["pids"] + if "doi" in pids: + return pids["doi"]["identifier"] + else: + return pids["oai"]["identifier"] else: return idv diff --git a/caltechdata_api/caltechdata_write.py b/caltechdata_api/caltechdata_write.py index 2a46365..dd8f902 100644 --- a/caltechdata_api/caltechdata_write.py +++ b/caltechdata_api/caltechdata_write.py @@ -9,7 +9,9 @@ from caltechdata_api.utils import humanbytes -def write_files_rdm(files, file_link, headers, f_headers, s3=None, keepfiles=False): +def write_files_rdm( + files, file_link, headers, f_headers, s3=None, keepfiles=False, verify=True +): f_json = [] f_list = {} fnames = [] @@ -24,16 +26,18 @@ def write_files_rdm(files, file_link, headers, f_headers, s3=None, keepfiles=Fal f_json.append({"key": filename}) f_list[filename] = f # Now we see if any existing draft files need to be replaced - result = requests.get(file_link, headers=f_headers) + result = requests.get(file_link, headers=f_headers, verify=verify) if result.status_code == 200: ex_files = result.json()["entries"] for ex in ex_files: if ex["key"] in f_list: - result = requests.delete(ex["links"]["self"], headers=f_headers) + result = requests.delete( + ex["links"]["self"], headers=f_headers, verify=verify + ) if result.status_code != 204: raise Exception(result.text) # Create new file upload links - result = requests.post(file_link, headers=headers, json=f_json) + result = requests.post(file_link, headers=headers, json=f_json, verify=verify) if result.status_code != 201: raise Exception(result.text) # Now we have the upload links @@ -49,16 +53,16 @@ def write_files_rdm(files, file_link, headers, f_headers, s3=None, keepfiles=Fal infile = open(name, "rb") else: infile = open(f_list[name], "rb") - result = requests.put(link, headers=f_headers, data=infile) + result = requests.put(link, headers=f_headers, data=infile, verify=verify) if result.status_code != 200: raise Exception(result.text) - result = requests.post(commit, headers=headers) + result = requests.post(commit, headers=headers, verify=verify) if result.status_code != 200: raise Exception(result.text) else: # Delete any files not included in this write command if keepfiles == False: - result = requests.delete(self, headers=f_headers) + result = requests.delete(self, headers=f_headers, verify=verify) if result.status_code != 204: raise Exception(result.text) @@ -77,7 +81,11 @@ def add_file_links( size = s3.info(path)["size"] size = humanbytes(size) try: - desc = file_descriptions[index] + "," + description = file_descriptions[index] + if description != " ": + desc = description + "," + else: + desc = "" except IndexError: desc = "" if link_string == "": @@ -100,7 +108,9 @@ def add_file_links( return metadata -def send_to_community(review_link, data, headers, publish, community, message=None): +def send_to_community( + review_link, data, headers, publish, community, message=None, verify=True +): if not message: message = "This record is submitted automatically with the CaltechDATA API" @@ -108,7 +118,7 @@ def send_to_community(review_link, data, headers, publish, community, message=No "receiver": {"community": community}, "type": "community-submission", } - result = requests.put(review_link, json=data, headers=headers) + result = requests.put(review_link, json=data, headers=headers, verify=verify) if result.status_code != 200: raise Exception(result.text) submit_link = review_link.replace("/review", "/actions/submit-review") @@ -118,20 +128,25 @@ def send_to_community(review_link, data, headers, publish, community, message=No "format": "html", } } - result = requests.post(submit_link, json=data, headers=headers) + result = requests.post(submit_link, json=data, headers=headers, verify=verify) if result.status_code != 202: raise Exception(result.text) if publish: - accept_link = result.json()["links"]["actions"]["accept"] - data = comment = { - "payload": { - "content": "This record is accepted automatically with the CaltechDATA API", - "format": "html", + if "accept" in result.json()["links"]["actions"]: + accept_link = result.json()["links"]["actions"]["accept"] + data = comment = { + "payload": { + "content": "This record is accepted automatically with the CaltechDATA API", + "format": "html", + } } - } - result = requests.post(accept_link, json=data, headers=headers) - if result.status_code != 200: - raise Exception(result.text) + result = requests.post( + accept_link, json=data, headers=headers, verify=verify + ) + if result.status_code != 200: + raise Exception(result.text) + # Otherwise we have direct publish permissions and don't need to acccept + # the request return result @@ -150,6 +165,8 @@ def caltechdata_write( s3_link=None, default_preview=None, review_message=None, + verify=True, + local=False, ): """ File links are links to files existing in external systems that will @@ -222,12 +239,16 @@ def caltechdata_write( data = customize_schema.customize_schema(metadata, schema=schema) if production == True: url = "https://data.caltech.edu/" + elif local == True: + url = "https://127.0.0.1:5000/" else: url = "https://data.caltechlibrary.dev/" else: data = metadata if production == True: url = "https://authors.library.caltech.edu/" + elif local == True: + url = "https://127.0.0.1:5000/" else: url = "https://authors.caltechlibrary.dev/" @@ -246,7 +267,9 @@ def caltechdata_write( data["files"] = {"enabled": True, "default_preview": default_preview} # Make draft and publish - result = requests.post(url + "/api/records", headers=headers, json=data) + result = requests.post( + url + "/api/records", headers=headers, json=data, verify=verify + ) if result.status_code != 201: if result.status_code == 400 and "Referer checking failed" in result.text: raise Exception("Token is incorrect or missing referer.") @@ -257,17 +280,25 @@ def caltechdata_write( if files: file_link = result.json()["links"]["files"] - write_files_rdm(files, file_link, headers, f_headers, s3) + write_files_rdm(files, file_link, headers, f_headers, s3, verify=verify) if community: review_link = result.json()["links"]["review"] send_to_community( - review_link, data, headers, publish, community, review_message + review_link, + data, + headers, + publish, + community, + review_message, + verify=verify, ) else: if publish: - result = requests.post(publish_link, json=data, headers=headers) + result = requests.post( + publish_link, json=data, headers=headers, verify=verify + ) if result.status_code != 202: raise Exception(result.text) return idv diff --git a/caltechdata_api/cli-documentation-for-users.md b/caltechdata_api/cli-documentation-for-users.md new file mode 100644 index 0000000..9686e48 --- /dev/null +++ b/caltechdata_api/cli-documentation-for-users.md @@ -0,0 +1,244 @@ +# CaltechDATA Command Line Interface (CLI) Documentation for Users + +## Contents + +1. [About the CLI](#introduction) + +2. [Setup and Installation](#setup-and-installation) + + 2.1 [For Mac OS Users](#for-mac-os-users) + + 2.2 [For Windows Users](#for-windows-users) + + 2.3 [Windows Subsystem for Linux](#windows-subsystem-for-linux-users) + +3. [Interacting with the CaltechDATA CLI](#interacting-with-the-caltechdata-cli) + + 3.1 [CaltechDATA and the CaltechDATA Test Instance: Which Should I Use?](#the-test-instance-or-the-caltechdata-repository) + + 3.2 [Creating A Token](#creating-a-token) + + 3.3 [What Files You'll Need to Create A New Dataset](#what-files-youll-need-to-create-a-new-dataset) + + 3.4 [For Mac OS Users and and Windows Subsystem for Linux Users](#for-macos-users-and-windows-subsystem-for-linux-wsl-users) + + 3.5 [For Windows Users](#for-windows-users-1) + +4. [Troubleshooting](#troubleshooting) + + 4.1 [General Troubleshooting FAQs](#general-troubleshooting-and-faqs) + + 4.2 [Windows Subsystem for Linux](#windows-subsystem-for-linux-troubleshooting-and-faqs) + +5. [Contact Us](#contact-us) + +## Introduction +The CaltechData CLI is a command line interface that automates creation and +upload of records to CaltechDATA. Large data uploads are currently for test +purposes only; please email data@caltech.edu if you have large data +distribution needs. + + +## Setup and Installation: +Requirements for a successful setup: you must have Python 3.6 or a later version installed on your system. + +### For Mac OS Users: +#### Step 1: +Please open the Terminal. + +#### Step 2: +Please install the Caltechdata_api Library via pip using the command shown: + +`pip install caltechdata_api` + +### For Windows Users: + +#### Step 1: +Please go to https://github.com/caltechlibrary/caltechdata_api.git and click the green button that says "<> Code". Then choose the option that says "Download ZIP". + +![Interface with a Download xip button]() + +#### Step 2: +Please extract the files from the downloaded zip file to a new folder (we recommend this folder be on the desktop and that you name this folder something easy to recall). + +![Interface for extracting zip files]() + +#### Step 3: +In the next few steps, we shall change the directory to the folder called "caltechdata_api" inside the folder you extracted from the downloaded ZIP file. To do this, please go to the file you saved either on the file manager or on its location (this would be the desktop if you saved it there). Then, please open the folder called "caltechdata_api_main" and then right click on the folder inside it called "caltechdata_api" and choose the option that says "copy as path". + +![Interface for changing directory]() + +Above: Open the file on file manager as shown. + +![Interface of the file manager]() + +Above: Go into the folder caltechdata_api_main. + +![Navigating the file manager]() + +Above: Right click on the folder called caltechdata_api and choose the option that says copy as path. + +#### Step 4: +Next, please open a the Windows PowerShell or a code editor (we recommend using VSCode if you choose to use a code editor) and then open its Terminal. + +![Visual studio code terminal]() +Above: Using Visual Studio Code (VSCode) + +![Windows PowerShell terminal]() +Above: Using Windows PowerShell + +#### Step 5: +Next, please open the dropdown menu near the "+" icon on the top right hand corner of the terminal and choose the option that says "Git Bash". You can skip this step and go directly to the next step if you are using the Windows Powershell. + +![Git bash selection]() + +#### Step 6: +Then, please type in the command as shown: + +```cd ``` + +For example, it could look like this: + +```cd "C:\Users\kshem\Desktop\Demonstration\caltechdata_api-main\caltechdata_api"``` + +![VSCode Path settings]() +Above: Using Visual Studio Code (VSCode) + +![PowerShell path settings]() +Above: Using Windows PowerShell + +### Windows Subsystem for Linux Users: +The Windows Subsystem for Linux (WSL) lets developers install a Linux distribution (such as Ubuntu) and use Linux applications, utilities, and Bash command-line tools directly on Windows. [1](https://learn.microsoft.com/en-us/windows/wsl/). In order to interact with the CaltechDATA CLI, you may use a BASH terminal on WSL. + +#### Step 1: +First, please install the Windows Subsystem for Linux (WSL). To do this, please run the following command in a Windows Powershell terminal: + +```wsl --install``` + +When prompted, please enter a password and keep a record of it ready for future reference. + +#### Step 2: +If you do not already have some version of python 3 installed on your system, please run this command in the Windows Powershell terminal: + +```sudo apt install python3``` + +Please note that the password you set while installing the Windows Subsystem for Linux (WSL) in the previous step is necessary to run this command (and any other sudo apt install commands). + +#### Step 3: +Next, please install pipx. To do this please run the following command in a Windows Powershell terminal: + +```sudo apt install pipx``` + +Please note that the password you set while installing the Windows Subsystem for Linux (WSL) in the first step is necessary to run this command (and any other sudo apt install commands). + +#### Step 4: +Next, please ensure path. To do this, please run the following in a Windows Powershell terminal: + +``` pipx ensurepath``` + +#### Step 5: +Now, we shall install caltechdata_api. To do this, please run the following command in a Windows Poweshell terminal: + +```pipx install caltechdata_api``` + + +## Interacting with the CaltechDATA CLI +The CaltechDATA Command Line Interface (CLI) helps you interact with the CaltechDATA repository to upload research data, link your data with your publications, +and assign a permanent DOI to your dataset so that others can reference the +dataset. You can access the datasets you create or edit at +[https://data.caltech.edu/](https://data.caltech.edu). + +### The Test Instance or the CaltechDATA Repository +If you would like to create and edit a test record of your datset before uploading +it to the CaltechDATA Repository and generating a permanent DOI, you can also +use the CaltechDATA Command Line Interface (CLI) to interact with the test instance +of the CaltechDATA Repository that you can access at +[https://data.caltechlibrary.dev/](https://data.caltechlibrary.dev/). + +We recommend using the CLI to interact with the test instance if you +experimenting and are not ready to generate a permanent DOI. It is difficult to +remove records in the main CaltechDATA repository, but easy to do so in the +test repository. In general, users create and edit datasets in the same way regardless of whether the dataset exists on the original CaltechDATA Repository or the test instance. + +### Creating A Token: +In order to create or edit datasets you'll need to create a token. In order to this, you'll need to open the platform you are uploading your dataset to (the original CaltechDATA Repository or the test instance of it) and log in. Then follow these steps: + +#### Step 1: +Please click the person icon appearing on the top right and choose "Applications" from the dropdown menu that appears. + +#### Step 2: +Next, please click the option that says "New Token" and name your token. + +### What Files You'll Need to Create A New Dataset: +In order to create a new dataset, you will need a: + +1) File containing your dataset (csv or json file) +2) A metadata file (json file) + +We use a customised version of Datacite 4.3 Schema which you can download [here](https://github.com/datacite/schema/blob/master/source/json/kernel-4.3/datacite_4.3_schema.json). Otherwise you can use your own. + +### For MacOS Users and Windows Subsystem for Linux (WSL) Users: +Please run the command shown in order to interact with the CaltechDATA Repository: + +```caltechdata_api``` + +Otherwise, please run the command shown to interact with the test instance of the CaltechDATA Repository: + +```caltechdata_api -test``` + +### For Windows Users: +#### Step 1: +To interact with the CaltechDATA Repository, please type in this command as shown to open and run the CaltechDATA Command Line Interface (CLI): + +```python cli.py``` + +![VSCode interface for cli]() +Above: Using Visual Studio Code (VSCode) + +![PowerShell interface for cli]() +Above: Using Windows PowerShell + +Otherwise, to interact with the test instance of the CaltechDATA Repository, please type in this command as shown to open and run the CaltechDATA Command Line Interface (CLI): + +```python cli.py -test``` + +![VSCode test cli]() +Above: Using Visual Studio Code (VSCode) + +![PowerShell test cli]() +Above: Using Windows PowerShell + +#### Step 2: +Although the CLI setup is complete, there is one additional step required before you can begin interacting with the CLI. + +Note that the terminal is now present in the "caltechdata_api" folder or directory and can only access the files there. Please save the files you would like to upload in this particular folder. To check if your files are in this folder and thus, visible to the terminal you can run the following command to display the files in the current directory: + +```dir``` + +![PowerShell attached files]() +Above: Adding your files to the directory + +![VSCode attached files]() +Above: Using Visual Studio Code (VSCode) + +![PowerShell cli]() +Above: Using Windows PowerShell + + +## Troubleshooting + +### General Troubleshooting and FAQs: +#### My ORCID doesn't work: +Please try to input the ORCID without any hyphens. + +#### What is my unique identifier/record id? +Your record id is the last part of the DOI link your dataset is linked to. It is the part that comes after the last forward slash. For example: if your DOI link is https://doi.org/10.33569/5t2wh-1e586, then your record id is 5t2wh-1e586. + +### Windows Subsystem for Linux Troubleshooting and FAQs: +#### How can I open the Windows Subsystem for Linux after installation? +To do this, please run the following command in a Windows Powershell terminal: + +```wsl``` + +## Contact Us +For further questions, email data@caltech.edu or visit the FAQs at [CaltechDATA](https://libanswers.caltech.edu/search/?t=0&adv=1&topics=CaltechDATA). diff --git a/caltechdata_api/cli.py b/caltechdata_api/cli.py index b0e9c00..b0247ca 100644 --- a/caltechdata_api/cli.py +++ b/caltechdata_api/cli.py @@ -33,7 +33,7 @@ def generate_key(): return Fernet.generate_key() -# Load the key from a file or generate a new one if not present. +# Load the key from a file or generate a new one if not present def load_or_generate_key(): key_file = os.path.join(caltechdata_directory, "key.key") if os.path.exists(key_file): @@ -58,7 +58,7 @@ def decrypt_token(encrypted_token, key): return f.decrypt(encrypted_token).decode() -# Function to get or set token with support for test systems +# Function to get or set token with support for test system. def get_or_set_token(production=True): # First check for environment variable env_token = os.environ.get("CALTECHDATA_TOKEN") @@ -68,7 +68,7 @@ def get_or_set_token(production=True): key = load_or_generate_key() - # Use different token files for production and test environment + # Use different token files for production and test environment. token_filename = "token.txt" if production else "token_test.txt" token_file = os.path.join(caltechdata_directory, token_filename) @@ -159,10 +159,14 @@ def get_funding_entries(): def validate_funder_identifier(funder_identifier): response = requests.get(f"https://api.ror.org/organizations/{funder_identifier}") + returnv = False if response.status_code == 200: - return response.json().get("name") - else: - return False + names = response.json().get("names", []) + for name in names: + types = name.get("types", []) + if "ror_display" in types: + returnv = name.get("value") + return returnv def get_funding_details(): @@ -360,6 +364,7 @@ def upload_supporting_file(record_id=None): filepaths = [] file_link = "" file_links = [] + idx = 0 while True: choice = get_user_input( "Do you want to upload or link data files? (upload/link/n): " @@ -402,14 +407,28 @@ def upload_supporting_file(record_id=None): files = [ f for f in os.listdir() if not f.endswith(".json") and os.path.isfile(f) ] - print("\n".join(files)) + idx += 1 + print((f"{idx}/ \n").join(files)) while True: filename = get_user_input( - "Enter the filename to upload as a supporting file (or 'n' to finish): " + "Enter the filename to upload as a supporting file (or '*' to get all files currently in this directory, or the index number of the file as displayed followed by a /, otherwise 'n' to finish): " ) - if filename == "n": + if filename == "*": + for files_name in files: + filepath = os.path.abspath(files_name) + filepaths.append(filepath) + print("All files added successfully") + elif filename == "n": break - if filename in files: + elif (not len(filename) == 0) and (filename[len(filename) - 1] == "/"): + try: + files_name = files[int(filename[0]) - 1] + filepath = os.path.abspath(files_name) + filepaths.append(filepath) + print("File added successfully") + except ValueError: + continue + elif filename in files: file_size = os.path.getsize(filename) if file_size > 1024 * 1024 * 1024: print( @@ -420,6 +439,7 @@ def upload_supporting_file(record_id=None): else: filepath = os.path.abspath(filename) filepaths.append(filepath) + print("File added successfully") else: print( f"Error: File '{filename}' not found. Please enter a valid filename." @@ -609,6 +629,7 @@ def create_record(production): print_upload_message(rec_id, production) with open(response + ".json", "w") as file: json.dump(metadata, file, indent=2) + exit() break else: break diff --git a/caltechdata_api/customize_schema.py b/caltechdata_api/customize_schema.py index d3bfbf9..c55dc9e 100644 --- a/caltechdata_api/customize_schema.py +++ b/caltechdata_api/customize_schema.py @@ -17,7 +17,9 @@ def grid_to_ror(grid): elif grid == "grid.465477.3": ror = "00em52312" else: - url = f"https://api.ror.org/organizations?query.advanced=external_ids.GRID.all:{grid}" + url = ( + f"https://api.ror.org/organizations?query.advanced=external_ids.all:{grid}" + ) results = requests.get(url).json() if len(results["items"]) == 0: print(url + "doesn't have a valid ROR") @@ -373,7 +375,8 @@ def customize_schema_rdm(json_record): if "community" in json_record: com = json_record.pop("community") parent["communities"] = {"ids": [com], "default": com} - final["parent"] = parent + if parent != {}: + final["parent"] = parent # Not technically datacite, but transfer pids information if "pids" in json_record: final["pids"] = json_record.pop("pids") @@ -408,11 +411,11 @@ def validate_metadata(json_record): # Publication date is handled by customize function - # Check for 'resourceType' - if "resourceType" not in json_record["types"]: - errors.append("'resourceType' field is missing in 'types'.") - elif not isinstance(json_record["types"]["resourceType"], str): - errors.append("'resourceType' should be a string.") + # Check for 'resourceTypeGeneral' + if "resourceTypeGeneral" not in json_record["types"]: + errors.append("'resourceTypeGeneral' field is missing in 'types'.") + elif not isinstance(json_record["types"]["resourceTypeGeneral"], str): + errors.append("'resourceTypeGeneral' should be a string.") # Check for 'identifiers' if "identifiers" in json_record: @@ -508,11 +511,11 @@ def validate_metadata(json_record): if creator["nameType"] == "Organizational": if "name" not in creator: errors.append("Each organizational 'creator' must have 'name'.") - else: - if "familyName" not in creator: - errors.append( - "Each 'creator' must have a 'familyName' or have type Organizational" - ) + else: + if "familyName" not in creator: + errors.append( + "Each 'creator' must have a 'familyName' or have type Organizational" + ) if "affiliation" in creator: if not isinstance(creator["affiliation"], list): errors.append("'affiliation' in 'creators' should be a list.") diff --git a/caltechdata_api/get_metadata.py b/caltechdata_api/get_metadata.py index 79143f3..e870677 100644 --- a/caltechdata_api/get_metadata.py +++ b/caltechdata_api/get_metadata.py @@ -31,10 +31,12 @@ def get_metadata( url = "https://data.caltechlibrary.dev/api/records/" verify = True + base_headers = { + "accept": "application/json", + } + if authors: - headers = { - "accept": "application/json", - } + headers = base_headers validate = False else: headers = { @@ -42,6 +44,7 @@ def get_metadata( } if token: + base_headers["Authorization"] = "Bearer %s" % token headers["Authorization"] = "Bearer %s" % token response = requests.get(url + idv, headers=headers, verify=verify) @@ -49,7 +52,34 @@ def get_metadata( raise Exception(response.text) else: metadata = response.json() - + if not authors: + response = requests.get(url + idv, headers=base_headers, verify=verify) + if response.status_code != 200: + raise Exception(response.text) + else: + instance = response.json() + base_metadata = instance["metadata"] + if "descriptions" in metadata: + metadata["descriptions"][0]["description"] = base_metadata.get( + "description" + ) + additional_descriptions = base_metadata.get( + "additional_descriptions", [] + ) + count = 1 + if ( + len(metadata["descriptions"]) + == len(additional_descriptions) + 1 + ): + for desc in additional_descriptions: + metadata["descriptions"][count]["description"] = desc[ + "description" + ] + count += 1 + else: + print(f"Record {idv} does not have a description.") + if "formats" in metadata: + metadata["formats"] = list(set(metadata["formats"])) if validate: if schema == "43": try: diff --git a/caltechdata_api/pictures-documentation/Interact CLI Step 1(a).png b/caltechdata_api/pictures-documentation/Interact CLI Step 1(a).png new file mode 100644 index 0000000..3e1fca6 Binary files /dev/null and b/caltechdata_api/pictures-documentation/Interact CLI Step 1(a).png differ diff --git a/caltechdata_api/pictures-documentation/Interact CLI Step 1(b).png b/caltechdata_api/pictures-documentation/Interact CLI Step 1(b).png new file mode 100644 index 0000000..f240e35 Binary files /dev/null and b/caltechdata_api/pictures-documentation/Interact CLI Step 1(b).png differ diff --git a/caltechdata_api/pictures-documentation/Interact CLI Step 1(c) Test Instance.png b/caltechdata_api/pictures-documentation/Interact CLI Step 1(c) Test Instance.png new file mode 100644 index 0000000..8beaf4b Binary files /dev/null and b/caltechdata_api/pictures-documentation/Interact CLI Step 1(c) Test Instance.png differ diff --git a/caltechdata_api/pictures-documentation/Interact CLI Step 1(d) Test Instance.png b/caltechdata_api/pictures-documentation/Interact CLI Step 1(d) Test Instance.png new file mode 100644 index 0000000..61244f2 Binary files /dev/null and b/caltechdata_api/pictures-documentation/Interact CLI Step 1(d) Test Instance.png differ diff --git a/caltechdata_api/pictures-documentation/Interact CLI Step 2(a).png b/caltechdata_api/pictures-documentation/Interact CLI Step 2(a).png new file mode 100644 index 0000000..27e9751 Binary files /dev/null and b/caltechdata_api/pictures-documentation/Interact CLI Step 2(a).png differ diff --git a/caltechdata_api/pictures-documentation/Interact CLI Step 2(b).png b/caltechdata_api/pictures-documentation/Interact CLI Step 2(b).png new file mode 100644 index 0000000..b998672 Binary files /dev/null and b/caltechdata_api/pictures-documentation/Interact CLI Step 2(b).png differ diff --git a/caltechdata_api/pictures-documentation/Interact CLI Step 2(c).png b/caltechdata_api/pictures-documentation/Interact CLI Step 2(c).png new file mode 100644 index 0000000..6b29bbc Binary files /dev/null and b/caltechdata_api/pictures-documentation/Interact CLI Step 2(c).png differ diff --git a/caltechdata_api/pictures-documentation/README.md b/caltechdata_api/pictures-documentation/README.md new file mode 100644 index 0000000..aee8726 --- /dev/null +++ b/caltechdata_api/pictures-documentation/README.md @@ -0,0 +1 @@ +This subfolder is created to store the pictures for documentation diff --git a/caltechdata_api/pictures-documentation/Step 1.png b/caltechdata_api/pictures-documentation/Step 1.png new file mode 100644 index 0000000..04e0e52 Binary files /dev/null and b/caltechdata_api/pictures-documentation/Step 1.png differ diff --git a/caltechdata_api/pictures-documentation/Step 2.png b/caltechdata_api/pictures-documentation/Step 2.png new file mode 100644 index 0000000..540f121 Binary files /dev/null and b/caltechdata_api/pictures-documentation/Step 2.png differ diff --git a/caltechdata_api/pictures-documentation/Step 3(a).png b/caltechdata_api/pictures-documentation/Step 3(a).png new file mode 100644 index 0000000..492c80a Binary files /dev/null and b/caltechdata_api/pictures-documentation/Step 3(a).png differ diff --git a/caltechdata_api/pictures-documentation/Step 3(b).png b/caltechdata_api/pictures-documentation/Step 3(b).png new file mode 100644 index 0000000..1025a9e Binary files /dev/null and b/caltechdata_api/pictures-documentation/Step 3(b).png differ diff --git a/caltechdata_api/pictures-documentation/Step 3(c).png b/caltechdata_api/pictures-documentation/Step 3(c).png new file mode 100644 index 0000000..9732dd5 Binary files /dev/null and b/caltechdata_api/pictures-documentation/Step 3(c).png differ diff --git a/caltechdata_api/pictures-documentation/Step 4(a).png b/caltechdata_api/pictures-documentation/Step 4(a).png new file mode 100644 index 0000000..962fbd4 Binary files /dev/null and b/caltechdata_api/pictures-documentation/Step 4(a).png differ diff --git a/caltechdata_api/pictures-documentation/Step 4(b).png b/caltechdata_api/pictures-documentation/Step 4(b).png new file mode 100644 index 0000000..b330b52 Binary files /dev/null and b/caltechdata_api/pictures-documentation/Step 4(b).png differ diff --git a/caltechdata_api/pictures-documentation/Step 5.png b/caltechdata_api/pictures-documentation/Step 5.png new file mode 100644 index 0000000..b330b52 Binary files /dev/null and b/caltechdata_api/pictures-documentation/Step 5.png differ diff --git a/caltechdata_api/pictures-documentation/Step 6(a).png b/caltechdata_api/pictures-documentation/Step 6(a).png new file mode 100644 index 0000000..a01bc8e Binary files /dev/null and b/caltechdata_api/pictures-documentation/Step 6(a).png differ diff --git a/caltechdata_api/pictures-documentation/Step 6(b).png b/caltechdata_api/pictures-documentation/Step 6(b).png new file mode 100644 index 0000000..880cf77 Binary files /dev/null and b/caltechdata_api/pictures-documentation/Step 6(b).png differ diff --git a/codemeta.json b/codemeta.json index e64b5c0..44581b5 100755 --- a/codemeta.json +++ b/codemeta.json @@ -6,13 +6,14 @@ "codeRepository": "https://github.com/caltechlibrary/caltechdata_api", "issueTracker": "https://github.com/caltechlibrary/caltechdata_api/issues", "license": "https://data.caltech.edu/license", - "version": "1.9.1", + "version": "1.10.6", "author": [ { "@type": "Person", "givenName": "Thomas E", "familyName": "Morrell", "affiliation": { + "@id": "https://ror.org/05dxps055", "@type": "Organization", "name": "Caltech Library" }, @@ -24,6 +25,7 @@ "givenName": "Rohan", "familyName": "Bhattarai", "affiliation": { + "@id": "https://ror.org/05dxps055", "@type": "Organization", "name": "Caltech" }, @@ -34,6 +36,7 @@ "givenName": "Elizabeth", "familyName": "Won", "affiliation": { + "@id": "https://ror.org/05dxps055", "@type": "Organization", "name": "Caltech" }, @@ -44,15 +47,28 @@ "givenName": "Alexander A", "familyName": "Abakah", "affiliation": { + "@id": "https://ror.org/05dxps055", "@type": "Organization", "name": "Caltech Library" }, "email": "aabakah@caltech.edu", "@id": "https://orcid.org/0009-0003-5640-6691" + }, + { + "@type": "Person", + "givenName": "Kshemaahna", + "familyName": "Nagi", + "affiliation": { + "@id": "https://ror.org/05dxps055", + "@type": "Organization", + "name": "Caltech" + }, + "email": "knagi@caltech.edu", + "@id": "https://orcid.org/0009-0002-8113-3763" } ], "developmentStatus": "active", - "downloadUrl": "https://github.com/caltechlibrary/caltechdata_api/archive/1.9.1.zip", + "downloadUrl": "https://github.com/caltechlibrary/caltechdata_api/archive/main.zip", "keywords": [ "GitHub", "metadata", @@ -65,6 +81,7 @@ "givenName": "Thomas E", "familyName": "Morrell", "affiliation": { + "@id": "https://ror.org/05dxps055", "@type": "Organization", "name": "Caltech Library" }, @@ -83,5 +100,5 @@ } }, "programmingLanguage": "Python", - "identifier": "10.22002/bv2pv-2b295" -} + "identifier": "10.22002/2g4c7-zva46" +} \ No newline at end of file diff --git a/edit_osn.py b/edit_osn.py index adf21c0..675cd8d 100644 --- a/edit_osn.py +++ b/edit_osn.py @@ -15,7 +15,7 @@ # Get access token as environment variable token = os.environ["RDMTOK"] -endpoint = "https://renc.osn.xsede.org/" +endpoint = "https://sdsc.osn.xsede.org/" # Get metadata and files from bucket s3 = s3fs.S3FileSystem(anon=True, client_kwargs={"endpoint_url": endpoint}) @@ -69,6 +69,6 @@ production = True response = caltechdata_edit( - idv, metadata, token, [], production, "43", publish=False, file_links=file_links + idv, metadata, token, [], production, "43", publish=True, file_links=file_links ) print(response) diff --git a/setup.cfg b/setup.cfg index 4365996..8154f06 100644 --- a/setup.cfg +++ b/setup.cfg @@ -4,9 +4,9 @@ build-backend = "setuptools.build_meta" [metadata] name = caltechdata_api -version = 1.9.1 -author = Thomas E Morrell, Rohan Bhattarai, Elizabeth Won, Alexander A Abakah -author_email = tmorrell@caltech.edu, aabakah@caltech.edu +version = 1.10.6 +author = Thomas E Morrell, Rohan Bhattarai, Elizabeth Won, Alexander A Abakah, Kshemaahna Nagi +author_email = tmorrell@caltech.edu, aabakah@caltech.edu, knagi@caltech.edu description = Python wrapper for CaltechDATA API. long_description = file: README.md long_description_content_type = text/markdown diff --git a/tests/bot_yaml.py b/tests/bot_yaml.py index fe3d489..1fc3a31 100644 --- a/tests/bot_yaml.py +++ b/tests/bot_yaml.py @@ -60,11 +60,12 @@ def import_cli_module(self): def generate_test_responses(self): """Generate test responses for CLI prompts""" return { - "Do you want to create or edit a CaltechDATA record? (create/edit): ": "create", + "What would you like to do? (create/edit/profile/exit): ": "create", "Do you want to use metadata from an existing file or create new metadata? (existing/create): ": "create", "Enter the title of the dataset: ": f"Test Dataset {self.timestamp}", "Enter the abstract or description of the dataset: ": "This is an automated test dataset containing sample climate data for validation purposes.", "Enter the number corresponding to the desired license: ": "1", + "Use saved profile? (y/n): ": "n", "Enter your ORCID identifier: ": os.environ.get( "TEST_ORCID", "0000-0002-1825-0097" ), @@ -73,7 +74,7 @@ def generate_test_responses(self): "Enter the award title for funding: ": "Automated Testing Grant", "Enter the funder ROR (https://ror.org): ": "021nxhr62", "Do you want to upload or link data files? (upload/link/n): ": "upload", - "Enter the filename to upload as a supporting file (or 'n' to finish): ": "test_data.csv", + "Enter the filename to upload as a supporting file (or '*' to get all files currently in this directory, or the index number of the file as displayed followed by a /, otherwise 'n' to finish): ": "test_data.csv", "Do you want to add more files? (y/n): ": "n", "Do you want to send this record to CaltechDATA? (y/n): ": "y", } diff --git a/tests/conftest.py b/tests/conftest.py index befaf25..6302109 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -4,7 +4,7 @@ @pytest.fixture(scope="function") def full_datacite43_record(): return { - "types": {"resourceTypeGeneral": "Image", "resourceType": "Photo"}, + "types": {"resourceTypeGeneral": "Dataset"}, "creators": [ { "name": "Nielsen, Lars Holm", @@ -40,9 +40,9 @@ def full_datacite43_record(): "subjects": [ {"subject": "custom"}, { - "subject": "Abdominal Injuries", - "subjectScheme": "MeSH", - "valueURI": "http://id.nlm.nih.gov/mesh/A-D000007", + "subject": "Chemical sciences", + "subjectScheme": "FOS", + "valueURI": "http://www.oecd.org/science/inno/38235147.pdf?1.4", }, ], "contributors": [ @@ -119,7 +119,7 @@ def full_datacite43_record(): "fundingReferences": [ { "funderName": "European Commission", - "funderIdentifier": "1234", + "funderIdentifier": "00k4n6c32", "funderIdentifierType": "ROR", "awardTitle": "OpenAIRE", "awardNumber": "246686", @@ -135,7 +135,7 @@ def full_rdm_record(): """Full record data from DataCite as dict coming from the external world.""" return { "metadata": { - "resource_type": {"id": "image-photo"}, + "resource_type": {"id": "dataset"}, "creators": [ { "person_or_org": { @@ -147,7 +147,10 @@ def full_rdm_record(): {"scheme": "orcid", "identifier": "0000-0001-8135-3489"} ], }, - "affiliations": [{"name": "free-text"}, {"id": "01ggx4157"}], + "affiliations": [ + {"name": "free-text"}, + {"name": "CERN", "id": "01ggx4157"}, + ], } ], "title": "InvenioRDM", @@ -162,7 +165,7 @@ def full_rdm_record(): "publication_date": "2018/2020-09", "subjects": [ {"subject": "custom"}, - {"id": "http://id.nlm.nih.gov/mesh/A-D000007"}, + {"id": "http://www.oecd.org/science/inno/38235147.pdf?1.4"}, ], "contributors": [ { @@ -176,7 +179,7 @@ def full_rdm_record(): ], }, "role": {"id": "other"}, - "affiliations": [{"id": "01ggx4157"}], + "affiliations": [{"name": "CERN", "id": "01ggx4157"}], } ], "dates": [ @@ -228,11 +231,10 @@ def full_rdm_record(): { "funder": { "name": "European Commission", - "identifier": "1234", - "scheme": "ror", + "id": "00k4n6c32", }, "award": { - "title": "OpenAIRE", + "title": {"en": "OpenAIRE"}, "number": "246686", "identifier": ".../246686", }, diff --git a/tests/data/datacite43/1171.json b/tests/data/datacite43/1171.json deleted file mode 100644 index 005170b..0000000 --- a/tests/data/datacite43/1171.json +++ /dev/null @@ -1 +0,0 @@ -{"contributors": [{"nameIdentifiers": [{"nameIdentifier": "grid.20861.3d", "nameIdentifierScheme": "GRID"}], "name": "California Institute of Techonolgy, Pasadena, CA (US)", "contributorType": "HostingInstitution"}, {"affiliation": [{"name": "California Institute of Technology, Pasadena, CA (US)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0001-5383-8462", "nameIdentifierScheme": "ORCID"}], "name": "Roehl, C. M.", "contributorType": "DataCurator"}, {"affiliation": [{"name": "Department of Physics, University of Toronto, Toronto, ON (CA)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0001-9947-1053", "nameIdentifierScheme": "ORCID"}, {"nameIdentifier": "D-2563-2012", "nameIdentifierScheme": "ResearcherID"}], "name": "Kimberly Strong", "contributorType": "ContactPerson"}, {"name": "TCCON", "contributorType": "ResearchGroup"}], "descriptions": [{"descriptionType": "Abstract", "description": "
The Total Carbon Column Observing Network (TCCON) is a network of ground-based Fourier Transform Spectrometers that record direct solar absorption spectra of the atmosphere in the near-infrared. From these spectra, accurate and precise column-averaged abundances of atmospheric constituents including CO2, CH4, N2O, HF, CO, H2O, and HDO, are retrieved. This data set contains observations from the TCCON station at Eureka, Canada."}, {"descriptionType": "Other", "description": "
Cite this record as:
Strong, K., Roche, S., Franklin, J. E., Mendonca, J., Lutsch, E., Weaver, D., \u2026 Lindenmaier, R. (2019). TCCON data from Eureka (CA), Release GGG2014.R3 [Data set]. CaltechDATA. https://doi.org/10.14291/tccon.ggg2014.eureka01.r3
or choose a different citation style.
Download Citation
"}, {"descriptionType": "Other", "description": "
Unique Views: 161
Unique Downloads: 7
between January 31, 2019 and July 02, 2020
More info on how stats are collected
"}], "fundingReferences": [{"funderName": "Atlantic Innovation Fund"}, {"funderName": "Canada Foundation for Innovation", "funderIdentifierType": "GRID", "funderIdentifier": "grid.439998.6"}, {"funderName": "Canadian Foundation for Climate and Atmospheric Sciences"}, {"funderName": "Canadian Space Agency", "funderIdentifierType": "GRID", "funderIdentifier": "grid.236846.d"}, {"funderName": "Environment and Climate Change Canada", "funderIdentifierType": "GRID", "funderIdentifier": "grid.410334.1"}, {"funderName": "Government of Canada (International Polar Year funding)", "funderIdentifierType": "GRID", "funderIdentifier": "grid.451254.3"}, {"funderName": "Natural Sciences and Engineering Research Council of Canada", "funderIdentifierType": "GRID", "funderIdentifier": "grid.452912.9"}, {"funderName": "Polar Commission (Northern Scientific Training Program)", "funderIdentifierType": "GRID", "funderIdentifier": "grid.465477.3"}, {"funderName": "Nova Scotia Research Innovation Trust"}, {"funderName": "Ministry of Research and Innovation (Ontario Innovation Trust and Ontario Research Fund)", "funderIdentifierType": "GRID", "funderIdentifier": "grid.451078.f"}, {"funderName": "Natural Resources Canada (Polar Continental Shelf Program)", "funderIdentifierType": "GRID", "funderIdentifier": "grid.202033.0"}], "language": "eng", "relatedIdentifiers": [{"relatedIdentifier": "10.14291/tccon.ggg2014.documentation.R0/1221662", "relationType": "IsDocumentedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.14291/tccon.ggg2014.eureka01.R0/1149271", "relationType": "IsNewVersionOf", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "https://tccon-wiki.caltech.edu/Network_Policy/Data_Use_Policy/Data_Description", "relationType": "IsDocumentedBy", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "https://tccon-wiki.caltech.edu/Sites", "relationType": "IsDocumentedBy", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "10.14291/TCCON.GGG2014", "relationType": "IsPartOf", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.14291/tccon.ggg2014.eureka01.R1/1325515", "relationType": "IsNewVersionOf", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.14291/tccon.ggg2014.eureka01.R2", "relationType": "IsNewVersionOf", "relatedIdentifierType": "DOI"}], "rightsList": [{"rights": "TCCON Data License", "rightsURI": "https://data.caltech.edu/tindfiles/serve/8298981c-6613-4ed9-9c54-5ef8fb5180f4/"}], "subjects": [{"subject": "atmospheric trace gases"}, {"subject": "CO2"}, {"subject": "CH4"}, {"subject": "CO"}, {"subject": "N2O"}, {"subject": "column-averaged dry-air mole fractions"}, {"subject": "remote sensing"}, {"subject": "FTIR spectroscopy"}, {"subject": "TCCON"}], "version": "R3", "titles": [{"title": "TCCON data from Eureka (CA), Release GGG2014.R3"}], "formats": ["application/x-netcdf"], "dates": [{"date": "2019-01-31", "dateType": "Created"}, {"date": "2020-07-01", "dateType": "Updated"}, {"date": "2010-07-24/2019-08-15", "dateType": "Collected"}, {"date": "2019-01-31", "dateType": "Submitted"}, {"date": "2019-01-31", "dateType": "Issued"}], "publicationYear": "2019", "publisher": "CaltechDATA", "types": {"resourceTypeGeneral": "Dataset", "resourceType": "Dataset"}, "identifiers": [{"identifier": "10.14291/tccon.ggg2014.eureka01.R3", "identifierType": "DOI"}, {"identifier": "1171", "identifierType": "CaltechDATA_Identifier"}, {"identifier": "GGG2014", "identifierType": "Software_Version"}, {"identifier": "eu", "identifierType": "id"}, {"identifier": "eureka01", "identifierType": "longName"}, {"identifier": "R1", "identifierType": "Data_Revision"}], "creators": [{"affiliation": [{"name": "Department of Physics, University of Toronto, Toronto, ON (CA)"}], "name": "Strong, K."}, {"affiliation": [{"name": "Department of Physics, University of Toronto, Toronto, ON (CA)"}], "name": "Roche, S."}, {"affiliation": [{"name": "School of Engineering and Applied Sciences, Harvard University, Cambridge, MA (USA)"}], "name": "Franklin, J. E."}, {"affiliation": [{"name": "Environment and Climate Change Canada, Downsview, ON (CA)"}], "name": "Mendonca, J."}, {"affiliation": [{"name": "Department of Physics, University of Toronto, Toronto, ON (CA)"}], "name": "Lutsch, E."}, {"affiliation": [{"name": "Department of Physics, University of Toronto, Toronto, ON (CA)"}], "name": "Weaver, D."}, {"affiliation": [{"name": "Department of Physics, University of Toronto, Toronto, ON (CA)"}], "name": "Fogal, P. F."}, {"affiliation": [{"name": "Department of Physics & Atmospheric Science, Dalhousie University, Halifax, NS, CA"}], "name": "Drummond, J. R."}, {"affiliation": [{"name": "Department of Physics, University of Toronto, Toronto, ON (CA)"}, {"name": "UCAR Center for Science Education, Boulder, CO (US)"}], "name": "Batchelor, R."}, {"affiliation": [{"name": "Department of Physics, University of Toronto, Toronto, ON (CA)"}, {"name": "Pacific Northwest National Laboratory, Richland, WA (US)"}], "name": "Lindenmaier, R."}], "geoLocations": [{"geoLocationPlace": "Eureka, NU (CA)", "geoLocationPoint": {"pointLatitude": "80.05", "pointLongitude": "-86.42"}}], "schemaVersion": "http://datacite.org/schema/kernel-4"} \ No newline at end of file diff --git a/tests/data/datacite43/1235.json b/tests/data/datacite43/1235.json deleted file mode 100644 index bc97eda..0000000 --- a/tests/data/datacite43/1235.json +++ /dev/null @@ -1 +0,0 @@ -{"descriptions": [{"descriptionType": "Abstract", "description": "First included in ames, this notebook dynamically shows how many records are in CaltechDATA and where they come from (GitHub, Deposit Form, or API). This repository is set to work with MyBinder so you can easily reproduce the plot and include new records. "}, {"descriptionType": "Other", "description": "
Cite this record as:
Morrell, T. E. (2019, April 29). caltechlibrary/caltechdata_usage: First release of CaltechDATA Usage notebook (Version v0.0.1). CaltechDATA. https://doi.org/10.22002/d1.1235
or choose a different citation style.
Download Citation
"}, {"descriptionType": "Other", "description": "
Unique Views: 4
Unique Downloads: 1
between April 29, 2019 and July 02, 2020
More info on how stats are collected
"}], "relatedIdentifiers": [{"relatedIdentifier": "https://github.com/caltechlibrary/caltechdata_usage/releases/tag/v0.0.1", "relationType": "IsIdenticalTo", "relatedIdentifierType": "URL"}], "rightsList": [{"rights": "license", "rightsURI": "https://data.caltech.edu/license"}], "subjects": [{"subject": "CaltechDATA"}, {"subject": "reporitory"}, {"subject": "usage"}, {"subject": "Jupyter"}, {"subject": "GitHub"}], "version": "v0.0.1", "titles": [{"title": "caltechlibrary/caltechdata_usage: First release of CaltechDATA Usage notebook"}], "dates": [{"date": "2019-04-29", "dateType": "Issued"}], "publicationYear": "2019", "publisher": "CaltechDATA", "types": {"resourceTypeGeneral": "Software", "resourceType": "Software"}, "identifiers": [{"identifier": "10.22002/D1.1235", "identifierType": "DOI"}, {"identifier": "1235", "identifierType": "CaltechDATA_Identifier"}], "creators": [{"affiliation": [{"name": "Caltech Library"}], "nameIdentifiers": [{"nameIdentifier": "0000-0001-9266-5146", "nameIdentifierScheme": "ORCID"}], "name": "Morrell, Thomas E"}], "schemaVersion": "http://datacite.org/schema/kernel-4"} \ No newline at end of file diff --git a/tests/data/datacite43/1250.json b/tests/data/datacite43/1250.json deleted file mode 100644 index 29c72df..0000000 --- a/tests/data/datacite43/1250.json +++ /dev/null @@ -1 +0,0 @@ -{"descriptions": [{"descriptionType": "Abstract", "description": "This release includes two months more data and has some dependency updates."}, {"descriptionType": "Other", "description": "Jupyter notebooks highlighting usage of CaltechDATA"}, {"descriptionType": "Other", "description": "
Click to run this software:
"}, {"descriptionType": "Other", "description": "
Cite this record as:
Morrell, T. E. (2019, June 19). caltechlibrary/caltechdata_usage: Jupyter notebook with visualization of submissions to CaltechDATA (Version v0.0.2). CaltechDATA. https://doi.org/10.22002/d1.1250
or choose a different citation style.
Download Citation
"}, {"descriptionType": "Other", "description": "
Unique Views: 85
Unique Downloads: 2
between June 19, 2019 and July 02, 2020
More info on how stats are collected
"}], "relatedIdentifiers": [{"relatedIdentifier": "https://github.com/caltechlibrary/caltechdata_usage/releases/tag/v0.0.2", "relationType": "IsIdenticalTo", "relatedIdentifierType": "URL"}], "rightsList": [{"rights": "license", "rightsURI": "https://data.caltech.edu/license"}], "subjects": [{"subject": "CaltechDATA"}, {"subject": "reporitory"}, {"subject": "usage"}, {"subject": "Jupyter"}, {"subject": "GitHub"}], "version": "v0.0.2", "titles": [{"title": "caltechlibrary/caltechdata_usage: Jupyter notebook with visualization of submissions to CaltechDATA"}], "dates": [{"date": "2019-06-19", "dateType": "Issued"}], "publicationYear": "2019", "publisher": "CaltechDATA", "types": {"resourceTypeGeneral": "Software", "resourceType": "Software"}, "identifiers": [{"identifier": "10.22002/D1.1250", "identifierType": "DOI"}, {"identifier": "1250", "identifierType": "CaltechDATA_Identifier"}], "creators": [{"affiliation": [{"name": "Caltech Library"}], "nameIdentifiers": [{"nameIdentifier": "0000-0001-9266-5146", "nameIdentifierScheme": "ORCID"}], "name": "Morrell, Thomas E"}], "schemaVersion": "http://datacite.org/schema/kernel-4"} \ No newline at end of file diff --git a/tests/data/datacite43/1259.json b/tests/data/datacite43/1259.json deleted file mode 100644 index 09fe197..0000000 --- a/tests/data/datacite43/1259.json +++ /dev/null @@ -1 +0,0 @@ -{"descriptions": [{"descriptionType": "Abstract", "description": "This release includes a new notebook that determines the use of ORCID iDs across Caltech Library DOIs. It also updates all notebooks to use the latest version of ames and streamlines dependencies."}, {"descriptionType": "Other", "description": "Jupyter notebooks highlighting usage of CaltechDATA"}, {"descriptionType": "Other", "description": "
Click to run this software:
"}, {"descriptionType": "Other", "description": "
Cite this record as:
Morrell, T. E. (2019, July 16). caltechlibrary/caltechdata_usage: Addition of ORCID analysis notebook and update for new ames version (Version v0.1.0). CaltechDATA. https://doi.org/10.22002/d1.1259
or choose a different citation style.
Download Citation
"}, {"descriptionType": "Other", "description": "
Unique Views: 86
Unique Downloads: 1
between July 16, 2019 and July 02, 2020
More info on how stats are collected
"}], "relatedIdentifiers": [{"relatedIdentifier": "https://github.com/caltechlibrary/caltechdata_usage/releases/tag/v0.1.0", "relationType": "IsIdenticalTo", "relatedIdentifierType": "URL"}], "rightsList": [{"rights": "license", "rightsURI": "https://data.caltech.edu/license"}], "subjects": [{"subject": "CaltechDATA"}, {"subject": "reporitory"}, {"subject": "usage"}, {"subject": "Jupyter"}, {"subject": "GitHub"}], "version": "v0.1.0", "titles": [{"title": "caltechlibrary/caltechdata_usage: Addition of ORCID analysis notebook and update for new ames version"}], "dates": [{"date": "2019-07-16", "dateType": "Issued"}], "publicationYear": "2019", "publisher": "CaltechDATA", "types": {"resourceTypeGeneral": "Software", "resourceType": "Software"}, "identifiers": [{"identifier": "10.22002/D1.1259", "identifierType": "DOI"}, {"identifier": "1259", "identifierType": "CaltechDATA_Identifier"}], "creators": [{"affiliation": [{"name": "Caltech Library"}], "nameIdentifiers": [{"nameIdentifier": "0000-0001-9266-5146", "nameIdentifierScheme": "ORCID"}], "name": "Morrell, Thomas E"}], "schemaVersion": "http://datacite.org/schema/kernel-4"} \ No newline at end of file diff --git a/tests/data/datacite43/1300.json b/tests/data/datacite43/1300.json deleted file mode 100644 index 3c027c6..0000000 --- a/tests/data/datacite43/1300.json +++ /dev/null @@ -1 +0,0 @@ -{"contributors": [{"nameIdentifiers": [{"nameIdentifier": "grid.20861.3d", "nameIdentifierScheme": "GRID"}], "name": "California Institute of Techonolgy, Pasadena, CA (US)", "contributorType": "HostingInstitution"}, {"affiliation": [{"name": "California Institute of Technology, Pasadena, CA (US)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0001-5383-8462", "nameIdentifierScheme": "ORCID"}], "name": "Roehl, C. M.", "contributorType": "DataCurator"}, {"affiliation": [{"name": "AeroMeteo Service, Bia\u0142ystok (PL)"}], "name": "Katry\u0144ski, K.", "contributorType": "Other"}, {"name": "Christof Petri", "contributorType": "ContactPerson"}, {"name": "TCCON", "contributorType": "ResearchGroup"}], "descriptions": [{"descriptionType": "Abstract", "description": "The Total Carbon Column Observing Network (TCCON) is a network of ground-based Fourier Transform Spectrometers that record direct solar absorption spectra of the atmosphere in the near-infrared. From these spectra, accurate and precise column-averaged abundances of atmospheric constituents including CO2, CH4, N2O, HF, CO, H2O, and HDO, are retrieved. This data set contains observations from the TCCON station at Bialystok, Poland."}, {"descriptionType": "Other", "description": "
Cite this record as:
Deutscher, N. M., Notholt, J., Messerschmidt, J., Weinzierl, C., Warneke, T., Petri, C., & Grupe, P. (2019). TCCON data from Bialystok (PL), Release GGG2014.R2 [Data set]. CaltechDATA. https://doi.org/10.14291/tccon.ggg2014.bialystok01.r2
or choose a different citation style.
Download Citation
"}, {"descriptionType": "Other", "description": "
Unique Views: 52
Unique Downloads: 3
between October 21, 2019 and July 02, 2020
More info on how stats are collected
"}], "fundingReferences": [{"awardTitle": "Infrastructure for Measurement of the European Carbon Cycle (IMECC)", "funderName": "European Union", "funderIdentifierType": "GRID", "funderIdentifier": "grid.453396.e", "awardURI": "http://cordis.europa.eu/project/rcn/81606_en.html", "awardNumber": "26188"}, {"awardTitle": "Global Earth observation and monitoring (GEOMON)", "funderName": "European Union", "funderIdentifierType": "GRID", "funderIdentifier": "grid.453396.e", "awardURI": "http://cordis.europa.eu/project/rcn/84619_en.html", "awardNumber": "36677"}, {"awardTitle": "Integrated non-CO2 Greenhouse gas Observing System (INGOS)", "funderName": "European Union", "funderIdentifierType": "GRID", "funderIdentifier": "grid.453396.e", "awardURI": "http://cordis.europa.eu/project/rcn/101549_en.html", "awardNumber": "284274"}, {"awardTitle": "ICOS improved sensors, network and interoperability for GMES (ICOS-INWIRE)", "funderName": "European Union", "funderIdentifierType": "GRID", "funderIdentifier": "grid.453396.e", "awardURI": "http://cordis.europa.eu/project/rcn/106570_en.html", "awardNumber": "313169"}, {"awardTitle": "Gap Analysis for Integrated Atmospheric ECV CLImate Monitoring (GAIA-CLIM)", "funderName": "European Union", "funderIdentifierType": "GRID", "funderIdentifier": "grid.453396.e", "awardURI": "http://cordis.europa.eu/project/rcn/193710_en.html", "awardNumber": "640276"}, {"funderName": "Senate of Bremen"}, {"funderName": "University of Bremen", "funderIdentifierType": "GRID", "funderIdentifier": "grid.7704.4"}], "language": "eng", "relatedIdentifiers": [{"relatedIdentifier": "10.14291/tccon.ggg2014.documentation.R0/1221662", "relationType": "IsDocumentedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-9-683-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/acp-16-14003-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-9-3491-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.3390/rs8050414", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.14291/tccon.ggg2014.bialystok01.R0/1149277", "relationType": "IsNewVersionOf", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "https://tccon-wiki.caltech.edu/Network_Policy/Data_Use_Policy/Data_Description", "relationType": "IsDocumentedBy", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "https://tccon-wiki.caltech.edu/Sites", "relationType": "IsDocumentedBy", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "10.14291/TCCON.GGG2014", "relationType": "IsPartOf", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "http://tccondata.org", "relationType": "IsPartOf", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "10.3390/rs9101033", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/acp-17-4781-2017", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.3390/atmos9050175", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.3390/rs10030469", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-10-4135-2017", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-11-1251-2018", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-11-3111-2018", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.14291/tccon.ggg2014.bialystok01.R1/1183984", "relationType": "IsNewVersionOf", "relatedIdentifierType": "DOI"}], "rightsList": [{"rights": "TCCON Data License", "rightsURI": "https://data.caltech.edu/tindfiles/serve/7a5e834c-39e9-4d13-9c55-f50a4532885d/"}], "subjects": [{"subject": "atmospheric trace gases"}, {"subject": "CO2"}, {"subject": "CH4"}, {"subject": "CO"}, {"subject": "N2O"}, {"subject": "column-averaged dry-air mole fractions"}, {"subject": "remote sensing"}, {"subject": "FTIR spectroscopy"}, {"subject": "TCCON"}], "version": "R2", "titles": [{"title": "TCCON data from Bialystok (PL), Release GGG2014.R2"}], "formats": ["application/x-netcdf"], "dates": [{"date": "2019-10-21", "dateType": "Created"}, {"date": "2020-07-01", "dateType": "Updated"}, {"date": "2009-03-01/2018-10-01", "dateType": "Collected"}, {"date": "2019-10-21", "dateType": "Submitted"}, {"date": "2019-10-21", "dateType": "Issued"}], "publicationYear": "2019", "publisher": "CaltechDATA", "types": {"resourceTypeGeneral": "Dataset", "resourceType": "Dataset"}, "identifiers": [{"identifier": "10.14291/tccon.ggg2014.bialystok01.R2", "identifierType": "DOI"}, {"identifier": "1300", "identifierType": "CaltechDATA_Identifier"}, {"identifier": "GGG2014", "identifierType": "Software_Version"}, {"identifier": "bi", "identifierType": "id"}, {"identifier": "bialystok01", "identifierType": "longName"}, {"identifier": "R1", "identifierType": "Data_Revision"}], "creators": [{"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}, {"name": "Centre for Atmospheric Chemistry, School of Chemistry, University of Wollongong, Wollongong, NSW (AU)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0002-2906-2577", "nameIdentifierScheme": "ORCID"}, {"nameIdentifier": "E-3683-2015", "nameIdentifierScheme": "ResearcherID"}], "name": "Deutscher, N. M."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0002-3324-885X", "nameIdentifierScheme": "ORCID"}, {"nameIdentifier": "P-4520-2016", "nameIdentifierScheme": "ResearcherID"}], "name": "Notholt, J."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "name": "Messerschmidt, J."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "name": "Weinzierl, C."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0001-5185-3415", "nameIdentifierScheme": "ORCID"}, {"nameIdentifier": "K-1884-2012", "nameIdentifierScheme": "ResearcherID"}], "name": "Warneke, T."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0002-7010-5532", "nameIdentifierScheme": "ORCID"}], "name": "Petri, C."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "name": "Grupe, P."}], "geoLocations": [{"geoLocationPlace": "Bia\u0142ystok (PL)", "geoLocationPoint": {"pointLatitude": "53.23", "pointLongitude": "23.025"}}], "schemaVersion": "http://datacite.org/schema/kernel-4"} \ No newline at end of file diff --git a/tests/data/datacite43/210.json b/tests/data/datacite43/210.json deleted file mode 100644 index 927730f..0000000 --- a/tests/data/datacite43/210.json +++ /dev/null @@ -1 +0,0 @@ -{"contributors": [{"nameIdentifiers": [{"nameIdentifier": "grid.20861.3d", "nameIdentifierScheme": "GRID"}], "name": "California Institute of Techonolgy, Pasadena, CA (US)", "contributorType": "HostingInstitution"}, {"affiliation": [{"name": "California Institute of Technology, Pasadena, CA (US)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0001-5383-8462", "nameIdentifierScheme": "ORCID"}], "name": "Roehl, C. M.", "contributorType": "DataCurator"}, {"name": "Dietrich Feist", "contributorType": "ContactPerson"}, {"name": "TCCON", "contributorType": "ResearchGroup"}], "creators": [{"affiliation": [{"name": "Ludwig-Maximilians-Universit\u00e4t M\u00fcnchen, Lehrstuhl f\u00fcr Physik der Atmosph\u00e4re, Munich (DE)"}, {"name": "Deutsches Zentrum f\u00fcr Luft- und Raumfahrt, Institut f\u00fcr Physik der Atmosph\u00e4re, Oberpfaffenhofen (DE)"}, {"name": "Max Planck Institute for Biogeochemistry, Jena (DE)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0002-5890-6687", "nameIdentifierScheme": "ORCID"}, {"nameIdentifier": "B-6489-2013", "nameIdentifierScheme": "ResearcherID"}], "name": "Feist, D. G."}, {"affiliation": [{"name": "Max Planck Institute for Biogeochemistry, Jena (DE)"}], "name": "Arnold, S. G."}, {"affiliation": [{"name": "Ariane Tracking Station, Ascension Island (SH)"}], "name": "John, N."}, {"affiliation": [{"name": "Stockholm University, Stockholm (SE)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0002-7369-0781", "nameIdentifierScheme": "ORCID"}, {"nameIdentifier": "B-8591-2015", "nameIdentifierScheme": "ResearcherID"}], "name": "Geibel, M. C."}], "descriptions": [{"descriptionType": "Abstract", "description": "The Total Carbon Column Observing Network (TCCON) is a network of ground-based Fourier Transform Spectrometers that record direct solar absorption spectra of the atmosphere in the near-infrared. From these spectra, accurate and precise column-averaged abundances of atmospheric constituents including CO2, CH4, N2O, HF, CO, H2O, and HDO, are retrieved. This data set contains observations from the TCCON station on Ascension Island."}, {"descriptionType": "Other", "description": "
Cite this record as:
Feist, D. G., Arnold, S. G., John, N., & Geibel, M. C. (2014). TCCON data from Ascension Island (SH), Release GGG2014.R0 [Data set]. CaltechDATA. https://doi.org/10.14291/tccon.ggg2014.ascension01.r0/1149285
or choose a different citation style.
Download Citation
"}, {"descriptionType": "Other", "description": "
Unique Views: 673
Unique Downloads: 28
between February 21, 2017 and July 02, 2020
More info on how stats are collected
"}], "fundingReferences": [{"funderName": "Bundesministerium f\u00fcr Wirtschaft und Energie", "funderIdentifierType": "GRID", "funderIdentifier": "grid.424440.2", "awardNumber": "50EE1711E"}, {"funderName": "Bundesministerium f\u00fcr Wirtschaft und Energie", "funderIdentifierType": "GRID", "funderIdentifier": "grid.424440.2", "awardNumber": "50EE1711C"}, {"funderName": "European Space Agency", "funderIdentifierType": "GRID", "funderIdentifier": "grid.410379.8", "awardNumber": "3-14737"}, {"funderName": "Max Planck Institute for Biogeochemistry", "funderIdentifierType": "GRID", "funderIdentifier": "grid.419500.9"}, {"funderName": "Max Planck Society", "funderIdentifierType": "GRID", "funderIdentifier": "grid.4372.2"}], "language": "eng", "publicationYear": "2014", "publisher": "CaltechDATA", "relatedIdentifiers": [{"relatedIdentifier": "10.14291/tccon.ggg2014.documentation.R0/1221662", "relationType": "IsDocumentedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "https://tccon-wiki.caltech.edu/Network_Policy/Data_Use_Policy/Data_Description", "relationType": "IsDocumentedBy", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "https://tccon-wiki.caltech.edu/Sites", "relationType": "IsDocumentedBy", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "10.14291/TCCON.GGG2014", "relationType": "IsPartOf", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "http://tccondata.org", "relationType": "IsPartOf", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "10.5194/acp-19-9797-2019", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/acp-19-7347-2019", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-12-2241-2019", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-12-1495-2019", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-11-6539-2018", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-11-5507-2018", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-11-3111-2018", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.3390/rs10010155", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.1002/2017JD026453", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.1109/jstars.2017.2650942", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/gmd-10-1261-2017", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/gmd-10-1-2017", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/acp-17-4781-2017", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-10-4135-2017", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-10-2209-2017", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.3390/rs9101033", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.1038/s41598-017-13459-0", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-9-3491-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-9-2381-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-9-1415-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-9-683-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/acp-16-1653-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.1002/2016JD026164", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.1002/2015JD023389", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.1002/2015JD024157", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.3390/atmos10070354", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}], "rightsList": [{"rights": "TCCON Data Use Policy", "rightsURI": "https://data.caltech.edu/tindfiles/serve/cb9b01e4-56ea-4b8c-9543-0c61d0c72148/"}], "subjects": [{"subject": "atmospheric trace gases"}, {"subject": "CO2"}, {"subject": "CH4"}, {"subject": "CO"}, {"subject": "N2O"}, {"subject": "column-averaged dry-air mole fractions"}, {"subject": "remote sensing"}, {"subject": "FTIR spectroscopy"}, {"subject": "TCCON"}], "titles": [{"title": "TCCON data from Ascension Island (SH), Release GGG2014.R0"}], "version": "GGG2014.R0", "formats": ["application/x-netcdf"], "dates": [{"date": "2014-10-01", "dateType": "Created"}, {"date": "2014-10-10", "dateType": "Issued"}, {"date": "2020-07-01", "dateType": "Updated"}, {"date": "2012-05-22/2018-10-31", "dateType": "Collected"}, {"date": "2017-02-21", "dateType": "Submitted"}], "types": {"resourceTypeGeneral": "Dataset", "resourceType": "Dataset"}, "identifiers": [{"identifier": "10.14291/tccon.ggg2014.ascension01.R0/1149285", "identifierType": "DOI"}, {"identifier": "210", "identifierType": "CaltechDATA_Identifier"}, {"identifier": "GGG2014", "identifierType": "Software_Version"}, {"identifier": "ae", "identifierType": "id"}, {"identifier": "ascension01", "identifierType": "longName"}, {"identifier": "R0", "identifierType": "Data_Revision"}], "geoLocations": [{"geoLocationPlace": "Ariane Tracking Station (AC)", "geoLocationPoint": {"pointLatitude": "-7.9165", "pointLongitude": "-14.3325"}}], "schemaVersion": "http://datacite.org/schema/kernel-4"} \ No newline at end of file diff --git a/tests/data/datacite43/266.json b/tests/data/datacite43/266.json deleted file mode 100644 index c7c9945..0000000 --- a/tests/data/datacite43/266.json +++ /dev/null @@ -1 +0,0 @@ -{"contributors": [{"nameIdentifiers": [{"nameIdentifier": "grid.20861.3d", "nameIdentifierScheme": "GRID"}], "name": "California Institute of Techonolgy, Pasadena, CA (US)", "contributorType": "HostingInstitution"}, {"affiliation": [{"name": "California Institute of Technology, Pasadena, CA (US)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0001-5383-8462", "nameIdentifierScheme": "ORCID"}], "name": "Roehl, C. M.", "contributorType": "DataCurator"}, {"name": "Young-Suk Oh", "contributorType": "ContactPerson"}, {"name": "TCCON", "contributorType": "ResearchGroup"}], "creators": [{"affiliation": [{"name": "National Institute of Meteorological Sciences, Seogwipo-si (KR)"}], "name": "Goo, T.-Y."}, {"affiliation": [{"name": "National Institute of Meteorological Sciences, Seogwipo-si (KR)"}], "name": "Oh, Y.-S."}, {"affiliation": [{"name": "Centre for Atmospheric Chemistry, School of Chemistry, University of Wollongong, Wollongong, NSW (AU)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0002-1376-438X", "nameIdentifierScheme": "ORCID"}, {"nameIdentifier": "H-2280-2011", "nameIdentifierScheme": "ResearcherID"}], "name": "Velazco, V. A."}], "descriptions": [{"descriptionType": "Abstract", "description": "The Total Carbon Column Observing Network (TCCON) is a network of ground-based Fourier Transform Spectrometers that record direct solar absorption spectra of the atmosphere in the near-infrared. From these spectra, accurate and precise column-averaged abundances of atmospheric constituents including CO2, CH4, N2O, HF, CO, H2O, and HDO, are retrieved. This data set contains observations from the TCCON station at Anmeyondo, South Korea."}, {"descriptionType": "Other", "description": "
Cite this record as:
Goo, T.-Y., Oh, Y.-S., & Velazco, V. A. (2014). TCCON data from Anmeyondo (KR), Release GGG2014.R0 [Data set]. CaltechDATA. https://doi.org/10.14291/tccon.ggg2014.anmeyondo01.r0/1149284
or choose a different citation style.
Download Citation
"}, {"descriptionType": "Other", "description": "
Unique Views: 270
Unique Downloads: 23
between September 08, 2017 and July 02, 2020
More info on how stats are collected
"}], "language": "eng", "publicationYear": "2014", "publisher": "CaltechDATA", "relatedIdentifiers": [{"relatedIdentifier": "10.14291/tccon.ggg2014.documentation.R0/1221662", "relationType": "IsDocumentedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "https://tccon-wiki.caltech.edu/Network_Policy/Data_Use_Policy/Data_Description", "relationType": "IsDocumentedBy", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "https://tccon-wiki.caltech.edu/Sites", "relationType": "IsDocumentedBy", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "10.14291/TCCON.GGG2014", "relationType": "IsPartOf", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "http://tccondata.org", "relationType": "IsPartOf", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "10.3390/atmos10070354", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}], "rightsList": [{"rights": "TCCON Data Use Policy", "rightsURI": "https://data.caltech.edu/tindfiles/serve/1f568dd3-02e4-4020-a146-12ee8b53f78a/"}], "subjects": [{"subject": "atmospheric trace gases"}, {"subject": "CO2"}, {"subject": "CH4"}, {"subject": "CO"}, {"subject": "N2O"}, {"subject": "column-averaged dry-air mole fractions"}, {"subject": "remote sensing"}, {"subject": "FTIR spectroscopy"}, {"subject": "TCCON"}], "titles": [{"title": "TCCON data from Anmeyondo (KR), Release GGG2014.R0"}], "version": "GGG2014.R0", "formats": ["application/x-netcdf"], "dates": [{"date": "2014-10-10", "dateType": "Created"}, {"date": "2020-07-01", "dateType": "Updated"}, {"date": "2015-02-02/2018-04-18", "dateType": "Collected"}, {"date": "2017-09-08", "dateType": "Submitted"}, {"date": "2014-10-10", "dateType": "Issued"}], "types": {"resourceTypeGeneral": "Dataset", "resourceType": "Dataset"}, "identifiers": [{"identifier": "10.14291/tccon.ggg2014.anmeyondo01.R0/1149284", "identifierType": "DOI"}, {"identifier": "266", "identifierType": "CaltechDATA_Identifier"}, {"identifier": "GGG2014", "identifierType": "Software_Version"}, {"identifier": "an", "identifierType": "id"}, {"identifier": "anmeyondo01", "identifierType": "longName"}, {"identifier": "R0", "identifierType": "Data_Revision"}], "schemaVersion": "http://datacite.org/schema/kernel-4"} \ No newline at end of file diff --git a/tests/data/datacite43/267.json b/tests/data/datacite43/267.json deleted file mode 100644 index 9ed0911..0000000 --- a/tests/data/datacite43/267.json +++ /dev/null @@ -1 +0,0 @@ -{"contributors": [{"nameIdentifiers": [{"nameIdentifier": "grid.20861.3d", "nameIdentifierScheme": "GRID"}], "name": "California Institute of Techonolgy, Pasadena, CA (US)", "contributorType": "HostingInstitution"}, {"affiliation": [{"name": "California Institute of Technology, Pasadena, CA (US)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0001-5383-8462", "nameIdentifierScheme": "ORCID"}], "name": "Roehl, C. M.", "contributorType": "DataCurator"}, {"affiliation": [{"name": "AeroMeteo Service, Bia\u0142ystok (PL)"}], "name": "Katry\u0144ski, K.", "contributorType": "Other"}, {"name": "Christof Petri", "contributorType": "ContactPerson"}, {"name": "TCCON", "contributorType": "ResearchGroup"}], "creators": [{"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}, {"name": "Centre for Atmospheric Chemistry, School of Chemistry, University of Wollongong, Wollongong, NSW (AU)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0002-2906-2577", "nameIdentifierScheme": "ORCID"}, {"nameIdentifier": "E-3683-2015", "nameIdentifierScheme": "ResearcherID"}], "name": "Deutscher, N. M."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0002-3324-885X", "nameIdentifierScheme": "ORCID"}, {"nameIdentifier": "P-4520-2016", "nameIdentifierScheme": "ResearcherID"}], "name": "Notholt, J."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "name": "Messerschmidt, J."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "name": "Weinzierl, C."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0001-5185-3415", "nameIdentifierScheme": "ORCID"}, {"nameIdentifier": "K-1884-2012", "nameIdentifierScheme": "ResearcherID"}], "name": "Warneke, T."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0002-7010-5532", "nameIdentifierScheme": "ORCID"}], "name": "Petri, C."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "name": "Grupe, P."}], "descriptions": [{"descriptionType": "Abstract", "description": "
These data are now obsolete and should be replaced by the most recent data: https://doi.org/10.14291/tccon.ggg2014.bialystok01.R2

The Total Carbon Column Observing Network (TCCON) is a network of ground-based Fourier Transform Spectrometers that record direct solar absorption spectra of the atmosphere in the near-infrared. From these spectra, accurate and precise column-averaged abundances of atmospheric constituents including CO2, CH4, N2O, HF, CO, H2O, and HDO, are retrieved. This data set contains observations from the TCCON station at Bialystok, Poland."}, {"descriptionType": "Other", "description": "
Cite this record as:
Deutscher, N. M., Notholt, J., Messerschmidt, J., Weinzierl, C., Warneke, T., Petri, C., & Grupe, P. (2015). TCCON data from Bialystok (PL), Release GGG2014.R1 [Data set]. CaltechDATA. https://doi.org/10.14291/tccon.ggg2014.bialystok01.r1/1183984
or choose a different citation style.
Download Citation
"}, {"descriptionType": "Other", "description": "
Unique Views: 252
Unique Downloads: 7
between September 08, 2017 and July 02, 2020
More info on how stats are collected
"}], "fundingReferences": [{"awardTitle": "Infrastructure for Measurement of the European Carbon Cycle (IMECC)", "funderName": "European Union", "funderIdentifierType": "GRID", "funderIdentifier": "grid.453396.e", "awardURI": "http://cordis.europa.eu/project/rcn/81606_en.html", "awardNumber": "26188"}, {"awardTitle": "Global Earth observation and monitoring (GEOMON)", "funderName": "European Union", "funderIdentifierType": "GRID", "funderIdentifier": "grid.453396.e", "awardURI": "http://cordis.europa.eu/project/rcn/84619_en.html", "awardNumber": "36677"}, {"awardTitle": "Integrated non-CO2 Greenhouse gas Observing System (INGOS)", "funderName": "European Union", "funderIdentifierType": "GRID", "funderIdentifier": "grid.453396.e", "awardURI": "http://cordis.europa.eu/project/rcn/101549_en.html", "awardNumber": "284274"}, {"awardTitle": "ICOS improved sensors, network and interoperability for GMES (ICOS-INWIRE)", "funderName": "European Union", "funderIdentifierType": "GRID", "funderIdentifier": "grid.453396.e", "awardURI": "http://cordis.europa.eu/project/rcn/106570_en.html", "awardNumber": "313169"}, {"awardTitle": "Gap Analysis for Integrated Atmospheric ECV CLImate Monitoring (GAIA-CLIM)", "funderName": "European Union", "funderIdentifierType": "GRID", "funderIdentifier": "grid.453396.e", "awardURI": "http://cordis.europa.eu/project/rcn/193710_en.html", "awardNumber": "640276"}, {"funderName": "Senate of Bremen"}, {"funderName": "University of Bremen", "funderIdentifierType": "GRID", "funderIdentifier": "grid.7704.4"}], "geoLocations": [{"geoLocationPlace": "Bia\u0142ystok (PL)", "geoLocationPoint": {"pointLatitude": "53.23", "pointLongitude": "23.025"}}], "language": "eng", "publicationYear": "2015", "publisher": "CaltechDATA", "relatedIdentifiers": [{"relatedIdentifier": "10.14291/tccon.ggg2014.documentation.R0/1221662", "relationType": "IsDocumentedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-9-683-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/acp-16-14003-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-9-3491-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.3390/rs8050414", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.14291/tccon.ggg2014.bialystok01.R0/1149277", "relationType": "IsNewVersionOf", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "https://tccon-wiki.caltech.edu/Network_Policy/Data_Use_Policy/Data_Description", "relationType": "IsDocumentedBy", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "https://tccon-wiki.caltech.edu/Sites", "relationType": "IsDocumentedBy", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "10.14291/TCCON.GGG2014", "relationType": "IsPartOf", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "http://tccondata.org", "relationType": "IsPartOf", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "10.3390/rs9101033", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/acp-17-4781-2017", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.3390/atmos9050175", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.3390/rs10030469", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-10-4135-2017", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-11-1251-2018", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-11-3111-2018", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.14291/tccon.ggg2014.bialystok01.R2", "relationType": "IsPreviousVersionOf", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/gmd-10-1261-2017", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}], "rightsList": [{"rights": "TCCON Data Use Policy", "rightsURI": "https://cd-sandbox.tind.io/tindfiles/serve/ce27a3a2-14f1-40ea-a898-3c6c5adba935/"}], "subjects": [{"subject": "atmospheric trace gases"}, {"subject": "CO2"}, {"subject": "CH4"}, {"subject": "CO"}, {"subject": "N2O"}, {"subject": "column-averaged dry-air mole fractions"}, {"subject": "remote sensing"}, {"subject": "FTIR spectroscopy"}, {"subject": "TCCON"}], "titles": [{"title": "TCCON data from Bialystok (PL), Release GGG2014.R1"}], "version": "GGG2014.R1", "formats": ["application/x-netcdf"], "dates": [{"date": "2015-06-10", "dateType": "Created"}, {"date": "2018-12-01", "dateType": "Updated"}, {"date": "2009-03-01/2017-11-28", "dateType": "Collected"}, {"date": "2017-09-08", "dateType": "Submitted"}, {"date": "2015-06-10", "dateType": "Issued"}], "types": {"resourceTypeGeneral": "Dataset", "resourceType": "Dataset"}, "identifiers": [{"identifier": "10.14291/tccon.ggg2014.bialystok01.R1/1183984", "identifierType": "DOI"}, {"identifier": "267", "identifierType": "CaltechDATA_Identifier"}, {"identifier": "GGG2014", "identifierType": "Software_Version"}, {"identifier": "bi", "identifierType": "id"}, {"identifier": "bialystok01", "identifierType": "longName"}, {"identifier": "R1", "identifierType": "Data_Revision"}], "schemaVersion": "http://datacite.org/schema/kernel-4"} \ No newline at end of file diff --git a/tests/data/datacite43/268.json b/tests/data/datacite43/268.json deleted file mode 100644 index c979248..0000000 --- a/tests/data/datacite43/268.json +++ /dev/null @@ -1 +0,0 @@ -{"contributors": [{"nameIdentifiers": [{"nameIdentifier": "grid.20861.3d", "nameIdentifierScheme": "GRID"}], "name": "California Institute of Techonolgy, Pasadena, CA (US)", "contributorType": "HostingInstitution"}, {"affiliation": [{"name": "California Institute of Technology, Pasadena, CA (US)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0001-5383-8462", "nameIdentifierScheme": "ORCID"}], "name": "Roehl, C. M.", "contributorType": "DataCurator"}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "name": "Kowalewski, S.", "contributorType": "DataCollector"}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "name": "Wang, Y.", "contributorType": "DataCollector"}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "name": "Wang, Z.", "contributorType": "DataCollector"}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "name": "Messerschmidt, J.", "contributorType": "DataCollector"}, {"name": "Nicholas Deutscher", "contributorType": "ContactPerson"}, {"name": "TCCON", "contributorType": "ResearchGroup"}], "creators": [{"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0002-3324-885X", "nameIdentifierScheme": "ORCID"}, {"nameIdentifier": "P-4520-2016", "nameIdentifierScheme": "ResearcherID"}], "name": "Notholt, J."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0002-7010-5532", "nameIdentifierScheme": "ORCID"}], "name": "Petri, C."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0001-5185-3415", "nameIdentifierScheme": "ORCID"}, {"nameIdentifier": "K-1884-2012", "nameIdentifierScheme": "ResearcherID"}], "name": "Warneke, T."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}, {"name": "Centre for Atmospheric Chemistry, School of Chemistry, University of Wollongong, Wollongong, NSW (AU)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0002-2906-2577", "nameIdentifierScheme": "ORCID"}, {"nameIdentifier": "E-3683-2015", "nameIdentifierScheme": "ResearcherID"}], "name": "Deutscher, N. M."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0001-7191-6911", "nameIdentifierScheme": "ORCID"}], "name": "Palm, M."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0001-5077-9524", "nameIdentifierScheme": "ORCID"}], "name": "Buschmann, M."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "name": "Weinzierl, C."}, {"affiliation": [{"name": "National Astronomical Research Institute of Thailand, Chiang Mai (TH)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0001-8020-8642", "nameIdentifierScheme": "ORCID"}], "name": "Macatangay, R. C."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "name": "Grupe, P."}], "descriptions": [{"descriptionType": "Abstract", "description": "
These data are now obsolete and should be replaced by the most recent data: https://doi.org/10.14291/tccon.ggg2014.bremen01.R1

The Total Carbon Column Observing Network (TCCON) is a network of ground-based Fourier Transform Spectrometers that record direct solar absorption spectra of the atmosphere in the near-infrared. From these spectra, accurate and precise column-averaged abundances of atmospheric constituents including CO2, CH4, N2O, HF, CO, H2O, and HDO, are retrieved. This data set contains observations from the TCCON station at Bremen, Germany."}, {"descriptionType": "Other", "description": "
Cite this record as:
Notholt, J., Petri, C., Warneke, T., Deutscher, N. M., Palm, M., Buschmann, M., \u2026 Grupe, P. (2014). TCCON data from Bremen (DE), Release GGG2014.R0 [Data set]. CaltechDATA. https://doi.org/10.14291/tccon.ggg2014.bremen01.r0/1149275
or choose a different citation style.
Download Citation
"}, {"descriptionType": "Other", "description": "
Unique Views: 252
Unique Downloads: 9
between September 08, 2017 and July 02, 2020
More info on how stats are collected
"}], "fundingReferences": [{"awardTitle": "Infrastructure for Measurement of the European Carbon Cycle (IMECC)", "funderName": "European Union", "funderIdentifierType": "GRID", "funderIdentifier": "grid.453396.e", "awardURI": "http://cordis.europa.eu/project/rcn/81606_en.html", "awardNumber": "26188"}, {"awardTitle": "Global Earth observation and monitoring (GEOMON)", "funderName": "European Union", "funderIdentifierType": "GRID", "funderIdentifier": "grid.453396.e", "awardURI": "http://cordis.europa.eu/project/rcn/84619_en.html", "awardNumber": "36677"}, {"awardTitle": "Integrated non-CO2 Greenhouse gas Observing System (INGOS)", "funderName": "European Union", "funderIdentifierType": "GRID", "funderIdentifier": "grid.453396.e", "awardURI": "http://cordis.europa.eu/project/rcn/101549_en.html", "awardNumber": "284274"}, {"awardTitle": "ICOS improved sensors, network and interoperability for GMES (ICOS-INWIRE)", "funderName": "European Union", "funderIdentifierType": "GRID", "funderIdentifier": "grid.453396.e", "awardURI": "http://cordis.europa.eu/project/rcn/106570_en.html", "awardNumber": "313169"}, {"awardTitle": "Gap Analysis for Integrated Atmospheric ECV CLImate Monitoring (GAIA-CLIM)", "funderName": "European Union", "funderIdentifierType": "GRID", "funderIdentifier": "grid.453396.e", "awardURI": "http://cordis.europa.eu/project/rcn/193710_en.html", "awardNumber": "640276"}, {"funderName": "Senate of Bremen"}, {"funderName": "University of Bremen", "funderIdentifierType": "GRID", "funderIdentifier": "grid.7704.4"}], "geoLocations": [{"geoLocationPlace": "Bremen (DE)", "geoLocationPoint": {"pointLatitude": "53.1", "pointLongitude": "8.85"}}], "language": "eng", "publicationYear": "2014", "publisher": "CaltechDATA", "relatedIdentifiers": [{"relatedIdentifier": "10.14291/tccon.ggg2014.documentation.R0/1221662", "relationType": "IsDocumentedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-9-683-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/acp-16-5043-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/acp-16-14003-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/acp-15-13023-2015", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/acp-16-12005-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/acp-16-1653-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-9-3491-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.3390/rs8050414", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "https://tccon-wiki.caltech.edu/Network_Policy/Data_Use_Policy/Data_Description", "relationType": "IsDocumentedBy", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "https://tccon-wiki.caltech.edu/Sites", "relationType": "IsDocumentedBy", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "10.14291/TCCON.GGG2014", "relationType": "IsPartOf", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "http://tccondata.org", "relationType": "IsPartOf", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "10.3390/rs9101033", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/acp-17-4781-2017", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-10-2209-2017", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.3390/rs10030469", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-11-3111-2018", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.3390/atmos9050175", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-10-4135-2017", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.3390/atmos10070354", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.14291/tccon.ggg2014.bremen01.R1", "relationType": "IsPreviousVersionOf", "relatedIdentifierType": "DOI"}], "rightsList": [{"rights": "TCCON Data Use Policy", "rightsURI": "https://data.caltech.edu/tindfiles/serve/b6002cc3-520a-42aa-bc63-81c97ab5982a/"}], "subjects": [{"subject": "atmospheric trace gases"}, {"subject": "CO2"}, {"subject": "CH4"}, {"subject": "CO"}, {"subject": "N2O"}, {"subject": "column-averaged dry-air mole fractions"}, {"subject": "remote sensing"}, {"subject": "FTIR spectroscopy"}, {"subject": "TCCON"}], "titles": [{"title": "TCCON data from Bremen (DE), Release GGG2014.R0"}], "version": "GGG2014.R0", "formats": ["application/x-netcdf"], "dates": [{"date": "2014-10-10", "dateType": "Created"}, {"date": "2019-06-01", "dateType": "Updated"}, {"date": "2007-01-15/2018-04-20", "dateType": "Collected"}, {"date": "2017-09-08", "dateType": "Submitted"}, {"date": "2014-10-10", "dateType": "Issued"}], "types": {"resourceTypeGeneral": "Dataset", "resourceType": "Dataset"}, "identifiers": [{"identifier": "10.14291/tccon.ggg2014.bremen01.R0/1149275", "identifierType": "DOI"}, {"identifier": "268", "identifierType": "CaltechDATA_Identifier"}, {"identifier": "GGG2014", "identifierType": "Software_Version"}, {"identifier": "br", "identifierType": "id"}, {"identifier": "bremen01", "identifierType": "longName"}, {"identifier": "R0", "identifierType": "Data_Revision"}], "schemaVersion": "http://datacite.org/schema/kernel-4"} \ No newline at end of file diff --git a/tests/data/datacite43/283.json b/tests/data/datacite43/283.json deleted file mode 100644 index b68bc15..0000000 --- a/tests/data/datacite43/283.json +++ /dev/null @@ -1 +0,0 @@ -{"contributors": [{"nameIdentifiers": [{"nameIdentifier": "grid.20861.3d", "nameIdentifierScheme": "GRID"}], "name": "California Institute of Techonolgy, Pasadena, CA (US)", "contributorType": "HostingInstitution"}, {"affiliation": [{"name": "California Institute of Technology, Pasadena, CA (US)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0001-5383-8462", "nameIdentifierScheme": "ORCID"}], "name": "Roehl, C. M.", "contributorType": "DataCurator"}, {"affiliation": [{"name": "Laboratoire des Sciences du Climat et de l'Environnement, Gif-sur-Yvette (FR)"}], "name": "Vuillemin, C.", "contributorType": "ProjectMember"}, {"affiliation": [{"name": "Laboratoire des Sciences du Climat et de l'Environnement, Gif-sur-Yvette (FR)"}], "name": "Truong, F.\u00e7.", "contributorType": "ProjectMember"}, {"affiliation": [{"name": "Laboratoire des Sciences du Climat et de l'Environnement, Gif-sur-Yvette (FR)"}], "name": "Schmidt, M.", "contributorType": "ProjectMember"}, {"affiliation": [{"name": "Laboratoire des Sciences du Climat et de l'Environnement, Gif-sur-Yvette (FR)"}], "name": "Ramonet, M.", "contributorType": "ProjectMember"}, {"affiliation": [{"name": "Institut de Physique du Globe de Paris, Observatoire magn\u00e9tique de Chambon la For\u00eat, Cambon la For\u00eat (FR)"}], "name": "Parmentier, E.", "contributorType": "RelatedPerson"}, {"name": "Thorsten Warneke", "contributorType": "ContactPerson"}, {"name": "TCCON", "contributorType": "ResearchGroup"}], "creators": [{"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0001-5185-3415", "nameIdentifierScheme": "ORCID"}, {"nameIdentifier": "K-1884-2012", "nameIdentifierScheme": "ResearcherID"}], "name": "Warneke, T."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "name": "Messerschmidt, J."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0002-3324-885X", "nameIdentifierScheme": "ORCID"}, {"nameIdentifier": "P-4520-2016", "nameIdentifierScheme": "ResearcherID"}], "name": "Notholt, J."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "name": "Weinzierl, C."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}, {"name": "Centre for Atmospheric Chemistry, School of Chemistry, University of Wollongong, Wollongong, NSW (AU)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0002-2906-2577", "nameIdentifierScheme": "ORCID"}, {"nameIdentifier": "E-3683-2015", "nameIdentifierScheme": "ResearcherID"}], "name": "Deutscher, N. M."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0002-7010-5532", "nameIdentifierScheme": "ORCID"}], "name": "Petri, C."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "name": "Grupe, P."}], "descriptions": [{"descriptionType": "Abstract", "description": "
These data are now obsolete and should be replaced by the most recent data: https://doi.org/10.14291/tccon.ggg2014.orleans01.R1

The Total Carbon Column Observing Network (TCCON) is a network of ground-based Fourier Transform Spectrometers that record direct solar absorption spectra of the atmosphere in the near-infrared. From these spectra, accurate and precise column-averaged abundances of atmospheric constituents including CO2, CH4, N2O, HF, CO, H2O, and HDO, are retrieved. This data set contains observations from the TCCON station at Orl\u00e9ans, France."}, {"descriptionType": "Other", "description": "
Cite this record as:
Warneke, T., Messerschmidt, J., Notholt, J., Weinzierl, C., Deutscher, N. M., Petri, C., & Grupe, P. (2014). TCCON data from Orl\u00e9ans (FR), Release GGG2014.R0 [Data set]. CaltechDATA. https://doi.org/10.14291/tccon.ggg2014.orleans01.r0/1149276
or choose a different citation style.
Download Citation
"}, {"descriptionType": "Other", "description": "
Unique Views: 222
Unique Downloads: 5
between September 08, 2017 and July 02, 2020
More info on how stats are collected
"}], "fundingReferences": [{"awardTitle": "Infrastructure for Measurement of the European Carbon Cycle (IMECC)", "funderName": "European Union", "funderIdentifierType": "GRID", "funderIdentifier": "grid.453396.e", "awardURI": "http://cordis.europa.eu/project/rcn/81606_en.html", "awardNumber": "26188"}, {"awardTitle": "Global Earth observation and monitoring (GEOMON)", "funderName": "European Union", "funderIdentifierType": "GRID", "funderIdentifier": "grid.453396.e", "awardURI": "http://cordis.europa.eu/project/rcn/84619_en.html", "awardNumber": "36677"}, {"awardTitle": "Integrated non-CO2 Greenhouse gas Observing System (INGOS)", "funderName": "European Union", "funderIdentifierType": "GRID", "funderIdentifier": "grid.453396.e", "awardURI": "http://cordis.europa.eu/project/rcn/101549_en.html", "awardNumber": "284274"}, {"awardTitle": "ICOS improved sensors, network and interoperability for GMES (ICOS-INWIRE)", "funderName": "European Union", "funderIdentifierType": "GRID", "funderIdentifier": "grid.453396.e", "awardURI": "http://cordis.europa.eu/project/rcn/106570_en.html", "awardNumber": "313169"}, {"awardTitle": "Gap Analysis for Integrated Atmospheric ECV CLImate Monitoring (GAIA-CLIM)", "funderName": "European Union", "funderIdentifierType": "GRID", "funderIdentifier": "grid.453396.e", "awardURI": "http://cordis.europa.eu/project/rcn/193710_en.html", "awardNumber": "640276"}, {"funderName": "Senate of Bremen", "funderIdentifierType": "GRID", "funderIdentifier": "grid.425996.5"}, {"funderName": "Laboratoire des Sciences du Climat et de l'Environnement", "funderIdentifierType": "GRID", "funderIdentifier": "grid.457340.1"}, {"funderName": "University of Bremen", "funderIdentifierType": "GRID", "funderIdentifier": "grid.7704.4"}], "geoLocations": [{"geoLocationPlace": "Tra\u00eenou, Orl\u00e9ans (FR)", "geoLocationPoint": {"pointLatitude": "47.97", "pointLongitude": "2.113"}}], "language": "eng", "publicationYear": "2014", "publisher": "CaltechDATA", "relatedIdentifiers": [{"relatedIdentifier": "10.14291/tccon.ggg2014.documentation.R0/1221662", "relationType": "IsDocumentedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.3390/rs9010064", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-9-683-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-9-227-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/acp-16-5043-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/acp-16-14003-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-8-4785-2015", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/acp-15-13023-2015", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/acp-16-12005-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-9-4843-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/acp-16-1653-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-9-3491-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.3390/rs8050414", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "https://tccon-wiki.caltech.edu/Network_Policy/Data_Use_Policy/Data_Description", "relationType": "IsDocumentedBy", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "https://tccon-wiki.caltech.edu/Sites", "relationType": "IsDocumentedBy", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "10.14291/TCCON.GGG2014", "relationType": "IsPartOf", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "http://tccondata.org", "relationType": "IsPartOf", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "10.3390/rs9101033", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/acp-17-4781-2017", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.3390/atmos9050175", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-11-3111-2018", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-11-1251-2018", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-10-4135-2017", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-10-2209-2017", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.3390/atmos10070354", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.14291/tccon.ggg2014.orleans01.R1", "relationType": "IsPreviousVersionOf", "relatedIdentifierType": "DOI"}], "rightsList": [{"rights": "TCCON Data Use Policy", "rightsURI": "https://data.caltech.edu/tindfiles/serve/d0bf0bd6-739b-4aad-9e5d-45338391727f/"}], "subjects": [{"subject": "atmospheric trace gases"}, {"subject": "CO2"}, {"subject": "CH4"}, {"subject": "CO"}, {"subject": "N2O"}, {"subject": "column-averaged dry-air mole fractions"}, {"subject": "remote sensing"}, {"subject": "FTIR spectroscopy"}, {"subject": "TCCON"}], "titles": [{"title": "TCCON data from Orl\u00e9ans (FR), Release GGG2014.R0"}], "version": "GGG2014.R0", "formats": ["application/x-netcdf"], "dates": [{"date": "2014-10-10", "dateType": "Created"}, {"date": "2018-12-01", "dateType": "Updated"}, {"date": "2009-08-29/2017-11-28", "dateType": "Collected"}, {"date": "2017-09-08", "dateType": "Submitted"}, {"date": "2014-10-10", "dateType": "Issued"}], "types": {"resourceTypeGeneral": "Dataset", "resourceType": "Dataset"}, "identifiers": [{"identifier": "10.14291/tccon.ggg2014.orleans01.R0/1149276", "identifierType": "DOI"}, {"identifier": "283", "identifierType": "CaltechDATA_Identifier"}, {"identifier": "GGG2014", "identifierType": "Software_Version"}, {"identifier": "or", "identifierType": "id"}, {"identifier": "orleans01", "identifierType": "longName"}, {"identifier": "R0", "identifierType": "Data_Revision"}], "schemaVersion": "http://datacite.org/schema/kernel-4"} \ No newline at end of file diff --git a/tests/data/datacite43/293.json b/tests/data/datacite43/293.json deleted file mode 100644 index cbf8145..0000000 --- a/tests/data/datacite43/293.json +++ /dev/null @@ -1 +0,0 @@ -{"contributors": [{"affiliation": [{"name": "California Institute of Technology, Pasadena, CA, U.S.A."}], "nameIdentifiers": [{"nameIdentifier": "0000-0002-4924-0377", "nameIdentifierScheme": "ORCID"}], "name": "Wunch, Debra", "contributorType": "ContactPerson"}, {"affiliation": [{"name": "California Institute of Technology, Pasadena, CA (US)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0002-6126-3854", "nameIdentifierScheme": "ORCID"}], "name": "Wennberg, P. O. ", "contributorType": "ContactPerson"}, {"affiliation": [{"name": "Centre for Atmospheric Chemistry, School of Chemistry, University of Wollongong, Wollongong, NSW (AU)"}], "nameIdentifiers": [{"nameIdentifier": " 0000-0002-7986-1924", "nameIdentifierScheme": "ORCID"}], "name": "Griffith, D. W.T.", "contributorType": "ContactPerson"}, {"affiliation": [{"name": " Institute of Environmental Physics, University of Bremen, Bremen (DE), Centre for Atmospheric Chemistry, School of Chemistry, University of Wollongong, Wollongong, NSW (AU) "}], "nameIdentifiers": [{"nameIdentifier": "0000-0002-2906-2577", "nameIdentifierScheme": "ORCID"}], "name": "Deutscher, N. M.", "contributorType": "ContactPerson"}, {"affiliation": [{"name": "Max Planck Institute for Biogeochemistry, Jena (DE)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0002-5890-6687", "nameIdentifierScheme": "ORCID"}], "name": "Feist, D. G.", "contributorType": "ContactPerson"}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0002-3324-885X", "nameIdentifierScheme": "ORCID"}], "name": "Notholt, J.", "contributorType": "ContactPerson"}], "descriptions": [{"descriptionType": "Other", "description": "The Total Carbon Column Observing Network (TCCON) is a network of ground-based Fourier Transform Spectrometers that record direct solar absorption spectra of the atmosphere in the near-infrared. From these spectra, accurate and precise column-averaged abundances of atmospheric constituents including CO2, CH4, N2O, HF, CO, H2O, and HDO, are retrieved. This is the 2014 data release."}, {"descriptionType": "Other", "description": "
Unique Views: 953
Unique Downloads: 98
between September 13, 2017 and July 02, 2020
More info on how stats are collected
"}, {"descriptionType": "Other", "description": "
Cite this record as:
Total Carbon Column Observing Network (TCCON) Team. (2017). 2014 TCCON Data Release (Version GGG2014) [Data set]. CaltechDATA. https://doi.org/10.14291/TCCON.GGG2014
or choose a different citation style.
Download Citation
"}], "language": "eng", "relatedIdentifiers": [{"relatedIdentifier": "10.14291/TCCON.GGG2014.DOCUMENTATION.R0/1221662", "relationType": "IsDocumentedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "https://tccon-wiki.caltech.edu/Network_Policy/Data_Use_Policy/Data_Description", "relationType": "IsDocumentedBy", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "https://tccon-wiki.caltech.edu/Sites", "relationType": "IsDocumentedBy", "relatedIdentifierType": "DOI"}], "rightsList": [{"rights": "TCCON Data Use Policy", "rightsURI": "https://data.caltech.edu/tindfiles/serve/24d2401d-d2b7-42e1-83b1-1ee01839d84d/"}], "subjects": [{"subject": "atmospheric trace gases"}, {"subject": " CO2"}, {"subject": " CH4"}, {"subject": " CO"}, {"subject": " N2O"}, {"subject": " column-averaged dry-air mole fractions"}, {"subject": " remote sensing"}, {"subject": " FTIR spectroscopy"}, {"subject": " TCCON"}], "version": "GGG2014", "titles": [{"title": "2014 TCCON Data Release"}], "formats": [".tgz", ".nc"], "dates": [{"date": "2020-07-01", "dateType": "Updated"}, {"date": "2017-09-13", "dateType": "Submitted"}, {"date": "2017-09-13", "dateType": "Issued"}], "publicationYear": "2017", "publisher": "CaltechDATA", "types": {"resourceTypeGeneral": "Dataset", "resourceType": "Dataset"}, "identifiers": [{"identifier": "10.14291/TCCON.GGG2014", "identifierType": "DOI"}, {"identifier": "293", "identifierType": "CaltechDATA_Identifier"}], "creators": [{"affiliation": [{"name": "TCCON Consortium"}], "name": "Total Carbon Column Observing Network (TCCON) Team"}], "schemaVersion": "http://datacite.org/schema/kernel-4"} \ No newline at end of file diff --git a/tests/data/datacite43/301.json b/tests/data/datacite43/301.json deleted file mode 100644 index 186bbec..0000000 --- a/tests/data/datacite43/301.json +++ /dev/null @@ -1 +0,0 @@ -{"contributors": [{"nameIdentifiers": [{"nameIdentifier": "grid.20861.3d", "nameIdentifierScheme": "GRID"}], "name": "CaltechDATA, California Institute of Technology, CA (US)", "contributorType": "HostingInstitution"}, {"affiliation": [{"name": "California Institute of Technology, Pasadena, CA (US)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0001-5383-8462", "nameIdentifierScheme": "ORCID"}], "name": "Roehl, C. M.", "contributorType": "DataCurator"}, {"name": "AWIPEV Arctic Research Base, Ny-\u00c5lesund, Spitsbergen (NO)", "contributorType": "DataCollector"}, {"name": "Justus Notholt", "contributorType": "ContactPerson"}, {"name": "TCCON", "contributorType": "ResearchGroup"}], "descriptions": [{"descriptionType": "Abstract", "description": "
These data are now obsolete and should be replaced by the most recent data: https://doi.org/10.14291/tccon.ggg2014.nyalesund01.R1

The Total Carbon Column Observing Network (TCCON) is a network of ground-based Fourier Transform Spectrometers that record direct solar absorption spectra of the atmosphere in the near-infrared. From these spectra, accurate and precise column-averaged abundances of atmospheric constituents including CO2, CH4, N2O, HF, CO, H2O, and HDO, are retrieved. This data set contains observations from the TCCON station Ny \u00c5lesund, Spitsbergen, Norway."}, {"descriptionType": "Other", "description": "
Cite this record as:
Notholt, J., Warneke, T., Petri, C., Deutscher, N. M., Weinzierl, C., Palm, M., & Buschmann, M. (2014). TCCON data from Ny \u00c5lesund, Spitsbergen (NO), Release GGG2014.R0 [Data set]. CaltechDATA. https://doi.org/10.14291/tccon.ggg2014.nyalesund01.r0/1149278
or choose a different citation style.
Download Citation
"}, {"descriptionType": "Other", "description": "
Unique Views: 196
Unique Downloads: 5
between October 31, 2017 and July 02, 2020
More info on how stats are collected
"}], "language": "eng", "relatedIdentifiers": [{"relatedIdentifier": "10.14291/tccon.archive/1348407", "relationType": "IsPartOf", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.14291/tccon.ggg2014.documentation.R0/1221662", "relationType": "IsDocumentedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.5194/amt-9-3491-2016", "relationType": "IsCitedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "https://tccon-wiki.caltech.edu/Network_Policy/Data_Use_Policy/Data_Description", "relationType": "IsDocumentedBy", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "https://tccon-wiki.caltech.edu/Sites", "relationType": "IsDocumentedBy", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "http://tccondata.org", "relationType": "IsPartOf", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "10.14291/TCCON.GGG2014", "relationType": "IsPartOf", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.14291/tccon.ggg2014.nyalesund01.R1", "relationType": "IsPreviousVersionOf", "relatedIdentifierType": "DOI"}], "rightsList": [{"rights": "TCCON Data Use Policy", "rightsURI": "https://data.caltech.edu/tindfiles/serve/90348ea4-f340-4f43-8db2-b9beb7845519/"}], "subjects": [{"subject": "atmospheric trace gases"}, {"subject": "CO2"}, {"subject": "CH4"}, {"subject": "CO"}, {"subject": "N2O"}, {"subject": "column-averaged dry-air mole fractions"}, {"subject": "remote sensing"}, {"subject": "FTIR spectroscopy"}, {"subject": "TCCON"}], "version": "GGG2014.R0", "titles": [{"title": "TCCON data from Ny \u00c5lesund, Spitsbergen (NO), Release GGG2014.R0"}], "formats": ["application/x-netcdf"], "dates": [{"date": "2017-10-31", "dateType": "Created"}, {"date": "2019-06-01", "dateType": "Updated"}, {"date": "2006-03-28/2018-04-27", "dateType": "Collected"}, {"date": "2017-10-31", "dateType": "Submitted"}, {"date": "2014-10-10", "dateType": "Issued"}], "publicationYear": "2014", "publisher": "CaltechDATA", "types": {"resourceTypeGeneral": "Dataset", "resourceType": "Dataset"}, "identifiers": [{"identifier": "10.14291/tccon.ggg2014.nyalesund01.R0/1149278", "identifierType": "DOI"}, {"identifier": "301", "identifierType": "CaltechDATA_Identifier"}, {"identifier": "GGG2014", "identifierType": "Software_Version"}, {"identifier": "sp", "identifierType": "id"}, {"identifier": "nyalesund01", "identifierType": "longName"}, {"identifier": "R0", "identifierType": "Data_Revision"}], "creators": [{"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0002-3324-885X", "nameIdentifierScheme": "ORCID"}, {"nameIdentifier": "P-4520-2016", "nameIdentifierScheme": "ResearcherID"}], "name": "Notholt, J."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0001-5185-3415", "nameIdentifierScheme": "ORCID"}, {"nameIdentifier": "K-1884-2012", "nameIdentifierScheme": "ResearcherID"}], "name": "Warneke, T."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0002-7010-5532", "nameIdentifierScheme": "ORCID"}], "name": "Petri, C."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}, {"name": "Centre for Atmospheric Chemistry, School of Chemistry, University of Wollongong, Wollongong, NSW (AU)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0002-2906-2577", "nameIdentifierScheme": "ORCID"}, {"nameIdentifier": "E-3683-2015", "nameIdentifierScheme": "ResearcherID"}], "name": "Deutscher, N. M."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "name": "Weinzierl, C."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0001-7191-6911", "nameIdentifierScheme": "ORCID"}], "name": "Palm, M."}, {"affiliation": [{"name": "Institute of Environmental Physics, University of Bremen, Bremen (DE)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0001-5077-9524", "nameIdentifierScheme": "ORCID"}], "name": "Buschmann, M."}], "geoLocations": [{"geoLocationPlace": "Ny \u00c5lesund (SJ)", "geoLocationPoint": {"pointLatitude": "78.9", "pointLongitude": "11.9"}}], "schemaVersion": "http://datacite.org/schema/kernel-4"} \ No newline at end of file diff --git a/tests/data/datacite43/4yxbs-4mj38.json b/tests/data/datacite43/4yxbs-4mj38.json new file mode 100644 index 0000000..bc850ba --- /dev/null +++ b/tests/data/datacite43/4yxbs-4mj38.json @@ -0,0 +1,112 @@ +{ + "creators": [ + { + "affiliation": [ + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "familyName": "Law", + "givenName": "Casey", + "name": "Casey Law", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0002-4119-9963", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + } + ], + "dates": [ + { + "date": "2023", + "dateType": "Issued" + }, + { + "date": "2023-04-21", + "dateType": "Created" + } + ], + "descriptions": [ + { + "description": "Data associated with DSA-110 candidate transient. Each filterbank is saved at maximum native resolution (32.7 microseconds, 30.4 kHz) and contains ~0.669696 seconds (20480 samples) around the burst across the full DSA-110 187 MHz (6144 channels) frequency band. The Stokes parameters have been calibrated using observations of the 3C48 and 3C286 Very Large Array (VLA) calibrators as described in Sherman et al., 2024 (https://doi.org/10.3847/1538-4357/ad275e ; see Appendices D and E). Note that there may be minute differences between the data contained here and that reported in Sherman et al., 2024 due to being calibrated at maximum time resolution, rather than being downsampled first.", + "descriptionType": "Abstract" + } + ], + "formats": [ + "png" + ], + "fundingReferences": [ + { + "funderIdentifier": "grid.431093.c", + "funderIdentifierType": "GRID", + "funderName": "National Science Foundation" + } + ], + "geoLocations": [ + { + "geoLocationPlace": "OVRO", + "geoLocationPoint": { + "pointLatitude": 37.2339, + "pointLongitude": -118.282 + } + } + ], + "identifiers": [ + { + "identifier": "10.22002/4yxbs-4mj38", + "identifierType": "DOI" + }, + { + "identifier": "oai:data.caltech.edu:4yxbs-4mj38", + "identifierType": "oai" + }, + { + "identifier": "220506aabd", + "identifierType": "dsa-110-id" + }, + { + "identifier": "byyt8-y6a26", + "identifierType": "cdid" + } + ], + "publicationYear": "2023", + "publisher": "Caltech Data", + "relatedIdentifiers": [ + { + "relatedIdentifier": "http://deepsynoptic.org", + "relatedIdentifierType": "URL", + "relationType": "IsDocumentedBy" + } + ], + "rightsList": [ + { + "rights": "cc-by-4.0" + } + ], + "schemaVersion": "http://datacite.org/schema/kernel-4", + "subjects": [ + { + "subject": "OVRO" + }, + { + "subject": "Astrophysics" + }, + { + "subject": "Fast Radio Bursts" + } + ], + "titles": [ + { + "title": "DSA-110 Data for Candidate Fast Radio Burst 220506aabd" + } + ], + "types": { + "resourceType": "", + "resourceTypeGeneral": "Dataset" + }, + "version": "2.0" +} \ No newline at end of file diff --git a/tests/data/datacite43/970.json b/tests/data/datacite43/970.json deleted file mode 100644 index 31600d9..0000000 --- a/tests/data/datacite43/970.json +++ /dev/null @@ -1 +0,0 @@ -{"contributors": [{"nameIdentifiers": [{"nameIdentifier": "grid.20861.3d", "nameIdentifierScheme": "GRID"}], "name": "California Institute of Techonolgy, Pasadena, CA (US)", "contributorType": "HostingInstitution"}, {"affiliation": [{"name": "California Institute of Technology, Pasadena, CA (US)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0001-5383-8462", "nameIdentifierScheme": "ORCID"}], "name": "Roehl, C. M.", "contributorType": "DataCurator"}, {"affiliation": [{"name": "Department of Physics, University of Toronto, Toronto, ON (CA)"}], "nameIdentifiers": [{"nameIdentifier": "0000-0001-9947-1053", "nameIdentifierScheme": "ORCID"}, {"nameIdentifier": "D-2563-2012", "nameIdentifierScheme": "ResearcherID"}], "name": "Kimberly Strong", "contributorType": "ContactPerson"}, {"name": "TCCON", "contributorType": "ResearchGroup"}], "descriptions": [{"descriptionType": "Abstract", "description": "
These data are now obsolete and should be replaced by the most recent data: https://doi.org/10.14291/tccon.ggg2014.eureka01.R3

The Total Carbon Column Observing Network (TCCON) is a network of ground-based Fourier Transform Spectrometers that record direct solar absorption spectra of the atmosphere in the near-infrared. From these spectra, accurate and precise column-averaged abundances of atmospheric constituents including CO2, CH4, N2O, HF, CO, H2O, and HDO, are retrieved. This data set contains observations from the TCCON station at Eureka, Canada."}, {"descriptionType": "Other", "description": "
Cite this record as:
Strong, K., Roche, S., Franklin, J. E., Mendonca, J., Lutsch, E., Weaver, D., \u2026 Lindenmaier, R. (2017). TCCON data from Eureka (CA), Release GGG2014.R2 (Version R2) [Data set]. CaltechDATA. https://doi.org/10.14291/tccon.ggg2014.eureka01.r2
or choose a different citation style.
Download Citation
"}, {"descriptionType": "Other", "description": "
Unique Views: 41
Unique Downloads: 3
between September 20, 2017 and July 02, 2020
More info on how stats are collected
"}], "fundingReferences": [{"funderName": "Atlantic Innovation Fund"}, {"funderName": "Canada Foundation for Innovation", "funderIdentifierType": "GRID", "funderIdentifier": "grid.439998.6"}, {"funderName": "Canadian Foundation for Climate and Atmospheric Sciences"}, {"funderName": "Canadian Space Agency", "funderIdentifierType": "GRID", "funderIdentifier": "grid.236846.d"}, {"funderName": "Environment and Climate Change Canada", "funderIdentifierType": "GRID", "funderIdentifier": "grid.410334.1"}, {"funderName": "Government of Canada (International Polar Year funding)", "funderIdentifierType": "GRID", "funderIdentifier": "grid.451254.3"}, {"funderName": "Natural Sciences and Engineering Research Council of Canada", "funderIdentifierType": "GRID", "funderIdentifier": "grid.452912.9"}, {"funderName": "Polar Commission (Northern Scientific Training Program)", "funderIdentifierType": "GRID", "funderIdentifier": "grid.465477.3"}, {"funderName": "Nova Scotia Research Innovation Trust"}, {"funderName": "Ministry of Research and Innovation (Ontario Innovation Trust and Ontario Research Fund)", "funderIdentifierType": "GRID", "funderIdentifier": "grid.451078.f"}, {"funderName": "Natural Resources Canada (Polar Continental Shelf Program)", "funderIdentifierType": "GRID", "funderIdentifier": "grid.202033.0"}], "language": "eng", "relatedIdentifiers": [{"relatedIdentifier": "10.14291/tccon.ggg2014.documentation.R0/1221662", "relationType": "IsDocumentedBy", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.14291/tccon.ggg2014.eureka01.R0/1149271", "relationType": "IsNewVersionOf", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "https://tccon-wiki.caltech.edu/Network_Policy/Data_Use_Policy/Data_Description", "relationType": "IsDocumentedBy", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "https://tccon-wiki.caltech.edu/Sites", "relationType": "IsDocumentedBy", "relatedIdentifierType": "URL"}, {"relatedIdentifier": "10.14291/TCCON.GGG2014", "relationType": "IsPartOf", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.14291/tccon.ggg2014.eureka01.R1/1325515", "relationType": "IsNewVersionOf", "relatedIdentifierType": "DOI"}, {"relatedIdentifier": "10.14291/tccon.ggg2014.eureka01.R3", "relationType": "IsPreviousVersionOf", "relatedIdentifierType": "DOI"}], "rightsList": [{"rights": "TCCON Data License", "rightsURI": "https://data.caltech.edu/tindfiles/serve/91de6fb9-18a5-4221-bd6b-41a9db8abc7c/"}], "subjects": [{"subject": "atmospheric trace gases"}, {"subject": "CO2"}, {"subject": "CH4"}, {"subject": "CO"}, {"subject": "N2O"}, {"subject": "column-averaged dry-air mole fractions"}, {"subject": "remote sensing"}, {"subject": "FTIR spectroscopy"}, {"subject": "TCCON"}], "version": "R2", "titles": [{"title": "TCCON data from Eureka (CA), Release GGG2014.R2"}], "formats": ["application/x-netcdf"], "dates": [{"date": "2017-09-20", "dateType": "Created"}, {"date": "2018-11-01", "dateType": "Updated"}, {"date": "2010-07-24/2017-09-10", "dateType": "Collected"}, {"date": "2017-09-20", "dateType": "Submitted"}, {"date": "2017-09-20", "dateType": "Issued"}], "publicationYear": "2017", "publisher": "CaltechDATA", "types": {"resourceTypeGeneral": "Dataset", "resourceType": "Dataset"}, "identifiers": [{"identifier": "10.14291/tccon.ggg2014.eureka01.R2", "identifierType": "DOI"}, {"identifier": "970", "identifierType": "CaltechDATA_Identifier"}, {"identifier": "GGG2014", "identifierType": "Software_Version"}, {"identifier": "eu", "identifierType": "id"}, {"identifier": "eureka01", "identifierType": "longName"}, {"identifier": "R1", "identifierType": "Data_Revision"}], "creators": [{"affiliation": [{"name": "Department of Physics, University of Toronto, Toronto, ON (CA)"}], "name": "Strong, K."}, {"affiliation": [{"name": "Department of Physics, University of Toronto, Toronto, ON (CA)"}], "name": "Roche, S."}, {"affiliation": [{"name": "School of Engineering and Applied Sciences, Harvard University, Cambridge, MA (USA)"}], "name": "Franklin, J. E."}, {"affiliation": [{"name": "Environment and Climate Change Canada, Downsview, ON (CA)"}], "name": "Mendonca, J."}, {"affiliation": [{"name": "Department of Physics, University of Toronto, Toronto, ON (CA)"}], "name": "Lutsch, E."}, {"affiliation": [{"name": "Department of Physics, University of Toronto, Toronto, ON (CA)"}], "name": "Weaver, D."}, {"affiliation": [{"name": "Department of Physics, University of Toronto, Toronto, ON (CA)"}], "name": "Fogal, P. F."}, {"affiliation": [{"name": "Department of Physics & Atmospheric Science, Dalhousie University, Halifax, NS, CA"}], "name": "Drummond, J. R."}, {"affiliation": [{"name": "Department of Physics, University of Toronto, Toronto, ON (CA)"}, {"name": "UCAR Center for Science Education, Boulder, CO (US)"}], "name": "Batchelor, R."}, {"affiliation": [{"name": "Department of Physics, University of Toronto, Toronto, ON (CA)"}, {"name": "Pacific Northwest National Laboratory, Richland, WA (US)"}], "name": "Lindenmaier, R."}], "geoLocations": [{"geoLocationPlace": "Eureka, NU (CA)", "geoLocationPoint": {"pointLatitude": "80.05", "pointLongitude": "-86.42"}}], "schemaVersion": "http://datacite.org/schema/kernel-4"} \ No newline at end of file diff --git a/tests/data/datacite43/asjw8-cd908.json b/tests/data/datacite43/asjw8-cd908.json new file mode 100644 index 0000000..a4be998 --- /dev/null +++ b/tests/data/datacite43/asjw8-cd908.json @@ -0,0 +1,63 @@ +{ + "creators": [ + { + "familyName": "Sloan", + "givenName": "Julia", + "name": "Sloan, Julia", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0003-0200-063X", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + } + ], + "dates": [ + { + "date": "2024-10-25", + "dateType": "Issued" + }, + { + "date": "2024-10-31", + "dateInformation": "Correct file added", + "dateType": "Updated" + } + ], + "descriptions": [ + { + "description": "This artifact contains two datasets: one corresponding to a simulation solving Richards Equation in clay, and another solving it in sand. These experiments were conducted in Gordon Bonan's \"Climate Change and Terrestrial Ecosystem Modeling\" textbook, Chapter 8 supplementary program 1.\nFull citation: Bonan, Gordon. Climate Change and Terrestrial Ecosystem Modeling. Cambridge University Press, 2019.", + "descriptionType": "Abstract" + } + ], + "identifiers": [ + { + "identifier": "10.22002/asjw8-cd908", + "identifierType": "DOI" + }, + { + "identifier": "oai:data.caltech.edu:asjw8-cd908", + "identifierType": "oai" + } + ], + "publicationYear": "2024", + "publisher": "CaltechDATA", + "rightsList": [ + { + "rights": "Creative Commons Zero v1.0 Universal", + "rightsIdentifier": "cc0-1.0", + "rightsIdentifierScheme": "spdx", + "rightsUri": "https://creativecommons.org/publicdomain/zero/1.0/legalcode" + } + ], + "schemaVersion": "http://datacite.org/schema/kernel-4", + "titles": [ + { + "title": "Bonan 2019 Richards Eqn Data" + } + ], + "types": { + "resourceType": "", + "resourceTypeGeneral": "Dataset" + } +} \ No newline at end of file diff --git a/tests/data/datacite43/b2jqz-qdw65.json b/tests/data/datacite43/b2jqz-qdw65.json new file mode 100644 index 0000000..c799b35 --- /dev/null +++ b/tests/data/datacite43/b2jqz-qdw65.json @@ -0,0 +1,107 @@ +{ + "contributors": [ + { + "affiliation": [ + { + "name": "Department of Biological Sciences, Tata Institute of Fundamental Research, Mumbai, Maharashtra, India" + } + ], + "contributorType": "ContactPerson", + "familyName": "Koushika", + "givenName": "Sandhya P.", + "name": "Koushika, Sandhya P.", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0002-1742-7356", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + } + ], + "creators": [ + { + "affiliation": [ + { + "name": "Department of Biological Sciences, Tata Institute of Fundamental Research, Mumbai, Maharashtra, India" + } + ], + "familyName": "Vasudevan", + "givenName": "Amruta", + "name": "Vasudevan, Amruta", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0002-5777-9508", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + } + ], + "dates": [ + { + "date": "2024-06-25", + "dateType": "Issued" + }, + { + "date": "2024-06-24", + "dateType": "Accepted" + } + ], + "descriptions": [ + { + "description": "Raw data for figure 1", + "descriptionType": "Abstract" + } + ], + "fundingReferences": [ + { + "funderName": "The authors gratefully acknowledge support from the Department of Atomic Energy, Government of India (DAE) grants 12-R\\&D-IMS-5.02-0202 and 1303/2/2019/R\\&DII/DAE/2079 (dated 11.02.2020 to S.P.K.), the Howard Hughes Medical Institute (HHMI) International Early Career Scientist (IECS) grant 55007425 (to S.P.K.), CSIR (to S.P.K.), and funding from the PRISM project at the Institute of Mathematical Sciences (to S.P.K.) for research costs. The authors gratefully acknowledge salary support from TIFR-DAE (for A.V.)." + } + ], + "identifiers": [ + { + "identifier": "10.22002/b2jqz-qdw65", + "identifierType": "DOI" + }, + { + "identifier": "oai:data.caltech.edu:b2jqz-qdw65", + "identifierType": "oai" + } + ], + "language": "eng", + "publicationYear": "2024", + "publisher": "CaltechDATA", + "relatedIdentifiers": [ + { + "relatedIdentifier": "10.17912/micropub.biology.001204", + "relatedIdentifierType": "DOI", + "relationType": "IsPartOf", + "resourceTypeGeneral": "Text" + } + ], + "rightsList": [ + { + "rights": "Creative Commons Attribution 4.0 International", + "rightsIdentifier": "cc-by-4.0", + "rightsIdentifierScheme": "spdx", + "rightsUri": "https://creativecommons.org/licenses/by/4.0/legalcode" + } + ], + "schemaVersion": "http://datacite.org/schema/kernel-4", + "subjects": [ + { + "subject": "c. elegans" + } + ], + "titles": [ + { + "title": "Dataset: Physical presence of chemical synapses is necessary for turning behavior of anterograde synaptic vesicles at the branch point of PLM neurons in C. elegans" + } + ], + "types": { + "resourceType": "", + "resourceTypeGeneral": "Dataset" + }, + "version": "1.0" +} \ No newline at end of file diff --git a/tests/data/datacite43/cgkcc-ymk88.json b/tests/data/datacite43/cgkcc-ymk88.json new file mode 100644 index 0000000..3c77cc9 --- /dev/null +++ b/tests/data/datacite43/cgkcc-ymk88.json @@ -0,0 +1,378 @@ +{ + "contributors": [ + { + "contributorType": "HostingInstitution", + "name": "California Institute of Technology", + "nameIdentifiers": [], + "nameType": "Organizational" + }, + { + "affiliation": [ + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "contributorType": "DataCurator", + "familyName": "Roehl", + "givenName": "C. M.", + "name": "Roehl, C. M.", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0001-5383-8462", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + }, + { + "contributorType": "ResearchGroup", + "name": "TCCON", + "nameIdentifiers": [], + "nameType": "Organizational" + }, + { + "affiliation": [ + { + "affiliationIdentifier": "04t3en479", + "affiliationIdentifierScheme": "ROR", + "name": "Karlsruhe Institute of Technology" + } + ], + "contributorType": "ContactPerson", + "familyName": "Hase", + "givenName": "Frank", + "name": "Hase, Frank", + "nameIdentifiers": [], + "nameType": "Personal" + } + ], + "creators": [ + { + "affiliation": [ + { + "affiliationIdentifier": "04t3en479", + "affiliationIdentifierScheme": "ROR", + "name": "Karlsruhe Institute of Technology" + } + ], + "familyName": "Hase", + "givenName": "F.", + "name": "Hase, F.", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0001-7307-6266", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + }, + { + "affiliation": [ + { + "affiliationIdentifier": "04t3en479", + "affiliationIdentifierScheme": "ROR", + "name": "Karlsruhe Institute of Technology" + } + ], + "familyName": "Herkommer", + "givenName": "B.", + "name": "Herkommer, B.", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0001-5784-2127", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + }, + { + "affiliation": [ + { + "affiliationIdentifier": "04t3en479", + "affiliationIdentifierScheme": "ROR", + "name": "Karlsruhe Institute of Technology" + } + ], + "familyName": "Gro\u00df", + "givenName": "J.", + "name": "Gro\u00df, J.", + "nameIdentifiers": [], + "nameType": "Personal" + }, + { + "affiliation": [ + { + "affiliationIdentifier": "04t3en479", + "affiliationIdentifierScheme": "ROR", + "name": "Karlsruhe Institute of Technology" + } + ], + "familyName": "Blumenstock", + "givenName": "T.", + "name": "Blumenstock, T.", + "nameIdentifiers": [], + "nameType": "Personal" + }, + { + "affiliation": [ + { + "affiliationIdentifier": "04t3en479", + "affiliationIdentifierScheme": "ROR", + "name": "Karlsruhe Institute of Technology" + } + ], + "familyName": "Kiel", + "givenName": "M.\u00e4.", + "name": "Kiel, M.\u00e4.", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0002-9784-962X", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + }, + { + "affiliation": [ + { + "affiliationIdentifier": "04t3en479", + "affiliationIdentifierScheme": "ROR", + "name": "Karlsruhe Institute of Technology" + } + ], + "familyName": "Dohe", + "givenName": "S.", + "name": "Dohe, S.", + "nameIdentifiers": [], + "nameType": "Personal" + } + ], + "dates": [ + { + "date": "2024", + "dateType": "Issued" + }, + { + "date": "2024-11-21", + "dateType": "Created" + }, + { + "date": "2014-01-15/2023-06-26", + "dateType": "Collected" + }, + { + "date": "2025-03-03", + "dateType": "Updated" + } + ], + "descriptions": [ + { + "description": "The Total Carbon Column Observing Network (TCCON) is\n a network of ground-based Fourier Transform Spectrometers that record direct\n solar absorption spectra of the atmosphere in the near-infrared. From these\n spectra, accurate and precise column-averaged abundances of atmospheric\n constituents including CO2, CH4, N2O, HF, CO, H2O, and HDO, are retrieved. This\n is the GGG2020 data release of observations from the TCCON station at\n Karlsruhe, Germany", + "descriptionType": "Abstract" + }, + { + "description": "Files available via S3 at https://renc.osn.xsede.org/ini210004tommorrell/10.14291/tccon.ggg2020.karlsruhe01.R2/

README.txt, 50.5 kB \n \n Download

\n\n ka20140115_20230626.public.qc.nc, 50.7 MB \n \n Download

\n\n LICENSE.txt, 2.2 kB \n \n Download

", + "descriptionType": "Other" + } + ], + "geoLocations": [ + { + "geoLocationPlace": "Karlsruhe (DE)", + "geoLocationPoint": { + "pointLatitude": 49.1, + "pointLongitude": 8.438 + } + } + ], + "identifiers": [ + { + "identifier": "10.14291/tccon.ggg2020.karlsruhe01.R2", + "identifierType": "DOI" + }, + { + "identifier": "oai:data.caltech.edu:cgkcc-ymk88", + "identifierType": "oai" + }, + { + "identifier": "10.14291/tccon.ggg2020.karlsruhe01.R2", + "identifierType": "cdid" + } + ], + "publicationYear": "2024", + "publisher": "CaltechDATA", + "relatedIdentifiers": [ + { + "relatedIdentifier": "10.14291/tccon.ggg2014.documentation.R0/1221662", + "relatedIdentifierType": "DOI", + "relationType": "IsDocumentedBy" + }, + { + "relatedIdentifier": "10.5194/amt-9-683-2016", + "relatedIdentifierType": "DOI", + "relationType": "IsCitedBy" + }, + { + "relatedIdentifier": "10.5194/acp-16-14003-2016", + "relatedIdentifierType": "DOI", + "relationType": "IsCitedBy" + }, + { + "relatedIdentifier": "10.5194/acp-15-13023-2015", + "relatedIdentifierType": "DOI", + "relationType": "IsCitedBy" + }, + { + "relatedIdentifier": "10.5194/amt-8-5023-2015", + "relatedIdentifierType": "DOI", + "relationType": "IsCitedBy" + }, + { + "relatedIdentifier": "10.5194/acp-16-12005-2016", + "relatedIdentifierType": "DOI", + "relationType": "IsCitedBy" + }, + { + "relatedIdentifier": "10.5194/acp-16-1653-2016", + "relatedIdentifierType": "DOI", + "relationType": "IsCitedBy" + }, + { + "relatedIdentifier": "10.5194/amt-9-2223-2016", + "relatedIdentifierType": "DOI", + "relationType": "IsCitedBy" + }, + { + "relatedIdentifier": "10.5194/amt-9-669-2016", + "relatedIdentifierType": "DOI", + "relationType": "IsCitedBy" + }, + { + "relatedIdentifier": "10.5194/amt-9-3491-2016", + "relatedIdentifierType": "DOI", + "relationType": "IsCitedBy" + }, + { + "relatedIdentifier": "10.3390/rs8050414", + "relatedIdentifierType": "DOI", + "relationType": "IsCitedBy" + }, + { + "relatedIdentifier": "10.14291/tccon.ggg2014.karlsruhe01.R0/1149270", + "relatedIdentifierType": "DOI", + "relationType": "IsNewVersionOf" + }, + { + "relatedIdentifier": "https://tccon-wiki.caltech.edu/Main/DataUsePolicy", + "relatedIdentifierType": "URL", + "relationType": "IsDocumentedBy" + }, + { + "relatedIdentifier": "https://tccon-wiki.caltech.edu/Main/TCCONSites", + "relatedIdentifierType": "URL", + "relationType": "IsDocumentedBy" + }, + { + "relatedIdentifier": "10.14291/TCCON.GGG2020", + "relatedIdentifierType": "DOI", + "relationType": "IsPartOf" + }, + { + "relatedIdentifier": "http://tccondata.org", + "relatedIdentifierType": "URL", + "relationType": "IsPartOf" + }, + { + "relatedIdentifier": "10.3390/rs9101033", + "relatedIdentifierType": "DOI", + "relationType": "IsCitedBy" + }, + { + "relatedIdentifier": "10.5194/acp-17-4781-2017", + "relatedIdentifierType": "DOI", + "relationType": "IsCitedBy" + }, + { + "relatedIdentifier": "10.5194/amt-10-4135-2017", + "relatedIdentifierType": "DOI", + "relationType": "IsCitedBy" + }, + { + "relatedIdentifier": "10.5194/amt-10-2209-2017", + "relatedIdentifierType": "DOI", + "relationType": "IsCitedBy" + }, + { + "relatedIdentifier": "10.5194/amt-11-1251-2018", + "relatedIdentifierType": "DOI", + "relationType": "IsCitedBy" + }, + { + "relatedIdentifier": "10.3390/atmos9050175", + "relatedIdentifierType": "DOI", + "relationType": "IsCitedBy" + }, + { + "relatedIdentifier": "10.5194/amt-11-3111-2018", + "relatedIdentifierType": "DOI", + "relationType": "IsCitedBy" + }, + { + "relatedIdentifier": "10.5194/gmd-10-1261-2017", + "relatedIdentifierType": "DOI", + "relationType": "IsCitedBy" + }, + { + "relatedIdentifier": "10.5194/gmd-10-1-2017", + "relatedIdentifierType": "DOI", + "relationType": "IsCitedBy" + } + ], + "rightsList": [ + { + "rights": "TCCON Data License", + "rightsUri": "https://renc.osn.xsede.org/ini210004tommorrell/10.14291/tccon.ggg2020.karlsruhe01.R2/LICENSE.txt" + } + ], + "schemaVersion": "http://datacite.org/schema/kernel-4", + "subjects": [ + { + "subject": "atmospheric trace gases" + }, + { + "subject": "CO2" + }, + { + "subject": "CH4" + }, + { + "subject": "CO" + }, + { + "subject": "N2O" + }, + { + "subject": "column-averaged dry-air mole fractions" + }, + { + "subject": "remote sensing" + }, + { + "subject": "FTIR spectroscopy" + }, + { + "subject": "TCCON" + } + ], + "titles": [ + { + "title": "TCCON data from Karlsruhe (DE), Release GGG2020.R2" + } + ], + "types": { + "resourceType": "", + "resourceTypeGeneral": "Dataset" + }, + "version": "R2" +} \ No newline at end of file diff --git a/tests/data/datacite43/d7mk4-f8t44.json b/tests/data/datacite43/d7mk4-f8t44.json new file mode 100644 index 0000000..252ae5f --- /dev/null +++ b/tests/data/datacite43/d7mk4-f8t44.json @@ -0,0 +1,102 @@ +{ + "contributors": [ + { + "contributorType": "DataCurator", + "familyName": "Civilini", + "givenName": "Francesco", + "name": "Civilini, Francesco", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0003-0669-0404", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + }, + { + "affiliation": [ + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "contributorType": "Other", + "familyName": "Husker", + "givenName": "Allen", + "name": "Husker, Allen", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0003-1139-0502", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + }, + { + "contributorType": "Other", + "familyName": "Weber", + "givenName": "Renee", + "name": "Weber, Renee", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0002-1649-483X", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + } + ], + "creators": [ + { + "familyName": "Civilini", + "givenName": "Francesco", + "name": "Civilini, Francesco", + "nameIdentifiers": [], + "nameType": "Personal" + } + ], + "dates": [ + { + "date": "2024-10-24", + "dateType": "Issued" + } + ], + "descriptions": [ + { + "description": "This dataset contains data from the Lunar Seismic Profiling Experiment as well as results from the JGR: Planets publication \"Thermal moonquake characterization and cataloging using frequency-based algorithms and stochastic gradient descent\".\u00a0\nThe code to compute the results can be found in the GitHub here:\nhttps://github.com/civilinifr/thermal_mq_analysis\nalso published through Zenodo here:\nhttp://doi.org/10.5281/zenodo.8025056\n\u00a0\nv2: Fixed files in LSPE_sac_hourly.zip to contain correct start and end times.\u00a0\n\u00a0\nIncludes:\n\nThermal moonquake catalog of Grade-A LSPE events\nDaily ASCII files in units of decompressed volts (filenames daily_ascii_YYYYMMDD_YYYYMMDD.zip)\nHourly SAC files in units of decompressed volts (filename LSPE_sac_hourly.zip)\nHourly SAC files in units of nm/s (filenames LSPE_sac_hourly_phys_p1.zip and LSPE_sac_hourly_phys_p2.zip)\nAnalysis results from the manuscript (filename lunar_output.zip)", + "descriptionType": "Abstract" + } + ], + "identifiers": [ + { + "identifier": "10.22002/d7mk4-f8t44", + "identifierType": "DOI" + }, + { + "identifier": "oai:data.caltech.edu:d7mk4-f8t44", + "identifierType": "oai" + } + ], + "publicationYear": "2024", + "publisher": "CaltechDATA", + "rightsList": [ + { + "rights": "Creative Commons Zero v1.0 Universal", + "rightsIdentifier": "cc0-1.0", + "rightsIdentifierScheme": "spdx", + "rightsUri": "https://creativecommons.org/publicdomain/zero/1.0/legalcode" + } + ], + "schemaVersion": "http://datacite.org/schema/kernel-4", + "titles": [ + { + "title": "Apollo 17 Lunar Seismic Profiling Experiment Seismic Data and Thermal Moonquake Catalog" + } + ], + "types": { + "resourceType": "", + "resourceTypeGeneral": "Dataset" + }, + "version": "v2.0" +} \ No newline at end of file diff --git a/tests/data/datacite43/dks9f-mj878.json b/tests/data/datacite43/dks9f-mj878.json new file mode 100644 index 0000000..72afc36 --- /dev/null +++ b/tests/data/datacite43/dks9f-mj878.json @@ -0,0 +1,101 @@ +{ + "creators": [ + { + "affiliation": [ + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "familyName": "Gray", + "givenName": "Robert M.", + "name": "Gray, Robert M.", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0001-5980-8774", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + }, + { + "affiliation": [ + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "familyName": "Liu", + "givenName": "Mingchen", + "name": "Liu, Mingchen", + "nameIdentifiers": [], + "nameType": "Personal" + }, + { + "affiliation": [ + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "familyName": "Zhou", + "givenName": "Selina", + "name": "Zhou, Selina", + "nameIdentifiers": [], + "nameType": "Personal" + } + ], + "dates": [ + { + "date": "2024-07-20", + "dateType": "Issued" + } + ], + "descriptions": [ + { + "description": "Data and processing code corresponding to the manuscript, \"Quadratic-soliton-enhanced mid-IR molecular sensing.\"", + "descriptionType": "Abstract" + } + ], + "identifiers": [ + { + "identifier": "10.22002/dks9f-mj878", + "identifierType": "DOI" + }, + { + "identifier": "oai:data.caltech.edu:dks9f-mj878", + "identifierType": "oai" + } + ], + "publicationYear": "2024", + "publisher": "CaltechDATA", + "relatedIdentifiers": [ + { + "relatedIdentifier": "arXiv:2301.07826", + "relatedIdentifierType": "arXiv", + "relationType": "IsDescribedBy", + "resourceTypeGeneral": "Text" + } + ], + "rightsList": [ + { + "rights": "Creative Commons Attribution 4.0 International", + "rightsIdentifier": "cc-by-4.0", + "rightsIdentifierScheme": "spdx", + "rightsUri": "https://creativecommons.org/licenses/by/4.0/legalcode" + } + ], + "schemaVersion": "http://datacite.org/schema/kernel-4", + "titles": [ + { + "title": "Data for \"Quadratic-soliton-enhanced mid-IR molecular sensing\"" + } + ], + "types": { + "resourceType": "", + "resourceTypeGeneral": "Dataset" + } +} \ No newline at end of file diff --git a/tests/data/datacite43/ep884-g0v97.json b/tests/data/datacite43/ep884-g0v97.json new file mode 100644 index 0000000..a2b8400 --- /dev/null +++ b/tests/data/datacite43/ep884-g0v97.json @@ -0,0 +1,48 @@ +{ + "creators": [ + { + "familyName": "Chen", + "givenName": "Zibo", + "name": "Chen, Zibo", + "nameIdentifiers": [], + "nameType": "Personal" + } + ], + "dates": [ + { + "date": "2024-06-19", + "dateType": "Issued" + } + ], + "identifiers": [ + { + "identifier": "10.22002/ep884-g0v97", + "identifierType": "DOI" + }, + { + "identifier": "oai:data.caltech.edu:ep884-g0v97", + "identifierType": "oai" + } + ], + "publicationYear": "2024", + "publisher": "CaltechDATA", + "rightsList": [ + { + "rights": "Creative Commons Zero v1.0 Universal", + "rightsIdentifier": "cc0-1.0", + "rightsIdentifierScheme": "spdx", + "rightsUri": "https://creativecommons.org/publicdomain/zero/1.0/legalcode" + } + ], + "schemaVersion": "http://datacite.org/schema/kernel-4", + "titles": [ + { + "title": "A synthetic protein-level neural network in mammalian cells" + } + ], + "types": { + "resourceType": "", + "resourceTypeGeneral": "Dataset" + }, + "version": "2.0" +} \ No newline at end of file diff --git a/tests/data/datacite43/f40da-hww21.json b/tests/data/datacite43/f40da-hww21.json new file mode 100644 index 0000000..9af0780 --- /dev/null +++ b/tests/data/datacite43/f40da-hww21.json @@ -0,0 +1,121 @@ +{ + "creators": [ + { + "affiliation": [ + { + "affiliationIdentifier": "035a68863", + "affiliationIdentifierScheme": "ROR", + "name": "United States Geological Survey" + }, + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "familyName": "Atterholt", + "givenName": "James", + "name": "Atterholt, James", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0003-1603-5518", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + }, + { + "affiliation": [ + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "familyName": "Wilding", + "givenName": "John", + "name": "Wilding, John", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0002-0914-2078", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + }, + { + "affiliation": [ + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "familyName": "Ross", + "givenName": "Zachary", + "name": "Ross, Zachary", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0002-6343-8400", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + } + ], + "dates": [ + { + "date": "2025-01-01", + "dateType": "Issued" + }, + { + "date": "2025-01-01", + "dateType": "Available" + } + ], + "descriptions": [ + { + "description": "There are two catalogs in this dataset produced for the study by Atterholt, Wilding, & Ross (2025):\n\nA relocated earthquake hypocenter location catalog made using PhaseNO (Sun et al., 2023) for phase picking, GaMMA (Zhu et al., 2022) for phase association, HypoSVI (Smith et al., 2021) for absolute location, and GrowClust (Trugman & Shearer, 2017) for cross-correlation-based relative relocation.\nA corresponding earthquake moment tensor catalog made using the picks from the hypocenter catalog and the Bayesian framework outlined in Wilding & Ross (2024).\nCitations:\n\nAtterholt, J., Wilding, J. D., & Ross., Z. E. (2025). The evolution of fault orientation in the 2019 Ridgecrest earthquake sequence with a new long-term catalogue of seismicity and moment tensors. Geophysical Journal International, 240(3), 1579\u20131592. https://doi.org/10.1093/gji/ggaf001\nSun, H., Ross, Z. E., Zhu, W., & Azizzadenesheli, K. (2023). Phase Neural Operator for Multi\u2010Station Picking of Seismic Arrivals. Geophysical Research Letters, 50(24), e2023GL106434. https://doi.org/10.1029/2023GL106434\nZhu, W., McBrearty, I. W., Mousavi, S. M., Ellsworth, W. L., & Beroza, G. C. (2022). Earthquake Phase Association Using a Bayesian Gaussian Mixture Model. Journal of Geophysical Research: Solid Earth, 127(5), e2021JB023249. https://doi.org/10.1029/2021JB023249\nSmith, J. D., Ross, Z. E., Azizzadenesheli, K., & Muir, J. B. (2021). HypoSVI: Hypocentre inversion with Stein variational inference and physics informed neural networks. Geophysical Journal International, 228(1), 698\u2013710. https://doi.org/10.1093/gji/ggab309\nTrugman, D. T., & Shearer, P. M. (2017). GrowClust: A Hierarchical Clustering Algorithm for Relative Earthquake Relocation, with Application to the Spanish Springs and Sheldon, Nevada, Earthquake Sequences. Seismological Research Letters, 88(2A), 379\u2013391. https://doi.org/10.1785/0220160188", + "descriptionType": "Abstract" + } + ], + "fundingReferences": [ + { + "awardNumber": "1745301", + "awardTitle": "Graduate Research Fellowship", + "funderIdentifier": "grid.431093.c", + "funderIdentifierType": "GRID", + "funderName": "National Science Foundation" + } + ], + "identifiers": [ + { + "identifier": "10.22002/f40da-hww21", + "identifierType": "DOI" + }, + { + "identifier": "oai:data.caltech.edu:f40da-hww21", + "identifierType": "oai" + } + ], + "publicationYear": "2025", + "publisher": "CaltechDATA", + "rightsList": [ + { + "rights": "Creative Commons Zero v1.0 Universal", + "rightsIdentifier": "cc0-1.0", + "rightsIdentifierScheme": "spdx", + "rightsUri": "https://creativecommons.org/publicdomain/zero/1.0/legalcode" + } + ], + "schemaVersion": "http://datacite.org/schema/kernel-4", + "titles": [ + { + "title": "2019 Ridgecrest Earthquake Sequence Long-Term Hypocenter and Moment Tensor Catalog" + } + ], + "types": { + "resourceType": "", + "resourceTypeGeneral": "Dataset" + } +} \ No newline at end of file diff --git a/tests/data/datacite43/fbdqe-hez98.json b/tests/data/datacite43/fbdqe-hez98.json new file mode 100644 index 0000000..0e35828 --- /dev/null +++ b/tests/data/datacite43/fbdqe-hez98.json @@ -0,0 +1,243 @@ +{ + "creators": [ + { + "affiliation": [ + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "familyName": "Sherman", + "givenName": "Myles B", + "name": "Sherman, Myles B", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0002-6573-7316", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + }, + { + "affiliation": [ + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "familyName": "Ravi", + "givenName": "Vikram", + "name": "Ravi, Vikram", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0002-7252-5485", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + }, + { + "affiliation": [ + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "familyName": "El-Badry", + "givenName": "Kareem", + "name": "El-Badry, Kareem", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0002-6871-1752", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + }, + { + "affiliation": [ + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "familyName": "Sharma", + "givenName": "Kritti", + "name": "Sharma, Kritti", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0002-4477-3625", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + }, + { + "affiliation": [ + { + "affiliationIdentifier": "03h4zjr91", + "affiliationIdentifierScheme": "ROR", + "name": "Carnegie Observatories" + }, + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "familyName": "Koch Ocker", + "givenName": "Stella", + "name": "Koch Ocker, Stella", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0002-4941-5333", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + }, + { + "affiliation": [ + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "familyName": "Kosogorov", + "givenName": "Nikita", + "name": "Kosogorov, Nikita", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0003-1226-118X", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + }, + { + "affiliation": [ + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "familyName": "Connor", + "givenName": "Liam", + "name": "Connor, Liam", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0002-7587-6352", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + }, + { + "affiliation": [ + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "familyName": "Faber", + "givenName": "Jakob", + "name": "Faber, Jakob", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0001-9855-5781", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + } + ], + "dates": [ + { + "date": "2024-05-17", + "dateType": "Issued" + }, + { + "date": "2024-04-07", + "dateInformation": "MNRAS", + "dateType": "Submitted" + }, + { + "date": "2024-05-15", + "dateInformation": "MNRAS", + "dateType": "Accepted" + } + ], + "descriptions": [ + { + "description": "This repository contains data associated with \"Searching for Magnetar Binaries Disrupted by Core-Collapse Supernovae\" by Myles B. Sherman, Vikram Ravi, Kareem El-Badry, Kritti Sharma, Stella Ocker, Nikita Kosogorov, Liam Connor, and Jakob Faber. For details on the data format, see the ReadMe.md file.\nAbstract: Core-collapse Supernovae (CCSNe) are considered to be the primary magnetar formation channel, with 15 magnetars associated with supernova remnants (SNRs). A large fraction of these should occur in massive stellar binaries that are disrupted by the explosion, meaning that $\\sim45\\%$ of magnetars should be nearby high-velocity stars. Here we conduct a multi-wavelength search for unbound stars, magnetar binaries, and SNR shells using public optical ($uvgrizy-$bands), infrared ($J-$, $H-$, $K-$, and $K_s-$bands), and radio ($888$\\,MHz, $1.4$\\,GHz, and $3$\\,GHz) catalogs. We use Monte Carlo analyses of candidates to estimate the probability of association with a given magnetar based on their proximity, distance, proper motion, and magnitude. In addition to recovering a proposed magnetar binary, a proposed unbound binary, and 13 of 15 magnetar SNRs, we identify two new candidate unbound systems: an OB star from the \\textit{Gaia} catalog we associate with SGR\\,J1822.3-1606, and an X-ray pulsar we associate with 3XMM\\,J185246.6+003317. Using a Markov-Chain Monte Carlo simulation that assumes all magnetars descend from CCSNe, we constrain the fraction of magnetars with unbound companions to $5\\lesssim f_u \\lesssim 24\\%$, which disagrees with population synthesis results. Alternate formation channels are unlikely to wholly account for the lack of unbound binaries as this would require $31\\lesssim f_{nc} \\lesssim 66\\%$ of magnetars to descend from such channels. Our results support a high fraction ($48\\lesssim f_m \\lesssim 86\\%$) of pre-CCSN mergers, which can amplify fossil magnetic fields to preferentially form magnetars.", + "descriptionType": "Abstract" + } + ], + "fundingReferences": [ + { + "awardNumber": "2139433", + "awardTitle": "Graduate Research Fellowship Program", + "funderIdentifier": "grid.431093.c", + "funderIdentifierType": "GRID", + "funderName": "National Science Foundation" + }, + { + "awardNumber": "1836018", + "awardTitle": "The DSA: A Fast Radio Burst Localization Machine", + "funderIdentifier": "grid.431093.c", + "funderIdentifierType": "GRID", + "funderName": "National Science Foundation" + } + ], + "identifiers": [ + { + "identifier": "10.22002/fbdqe-hez98", + "identifierType": "DOI" + }, + { + "identifier": "oai:data.caltech.edu:fbdqe-hez98", + "identifierType": "oai" + } + ], + "publicationYear": "2024", + "publisher": "CaltechDATA", + "relatedIdentifiers": [ + { + "relatedIdentifier": "10.1093/mnras/stae1289", + "relatedIdentifierType": "DOI", + "relationType": "IsSupplementTo", + "resourceTypeGeneral": "Text" + } + ], + "rightsList": [ + { + "rights": "Creative Commons Zero v1.0 Universal", + "rightsIdentifier": "cc0-1.0", + "rightsIdentifierScheme": "spdx", + "rightsUri": "https://creativecommons.org/publicdomain/zero/1.0/legalcode" + } + ], + "schemaVersion": "http://datacite.org/schema/kernel-4", + "subjects": [ + { + "subject": "Physical sciences" + } + ], + "titles": [ + { + "title": "Searching for Magnetar Binaries Disrupted by Core-Collapse Supernovae" + } + ], + "types": { + "resourceType": "", + "resourceTypeGeneral": "Dataset" + }, + "version": "4.0.0" +} \ No newline at end of file diff --git a/tests/data/datacite43/hevaf-20f84.json b/tests/data/datacite43/hevaf-20f84.json new file mode 100644 index 0000000..ee5f4ea --- /dev/null +++ b/tests/data/datacite43/hevaf-20f84.json @@ -0,0 +1,112 @@ +{ + "creators": [ + { + "affiliation": [ + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "familyName": "Law", + "givenName": "Casey", + "name": "Casey Law", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0002-4119-9963", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + } + ], + "dates": [ + { + "date": "2024", + "dateType": "Issued" + }, + { + "date": "2024-04-25", + "dateType": "Created" + } + ], + "descriptions": [ + { + "description": "Data associated with DSA-110 candidate transient.", + "descriptionType": "Abstract" + } + ], + "formats": [ + "png" + ], + "fundingReferences": [ + { + "funderIdentifier": "grid.431093.c", + "funderIdentifierType": "GRID", + "funderName": "National Science Foundation" + } + ], + "geoLocations": [ + { + "geoLocationPlace": "OVRO", + "geoLocationPoint": { + "pointLatitude": 37.2339, + "pointLongitude": -118.282 + } + } + ], + "identifiers": [ + { + "identifier": "10.25800/t9jd-fh86", + "identifierType": "DOI" + }, + { + "identifier": "oai:data.caltech.edu:hevaf-20f84", + "identifierType": "oai" + }, + { + "identifier": "221116aaab", + "identifierType": "dsa-110-id" + }, + { + "identifier": "hevaf-20f84", + "identifierType": "cdid" + } + ], + "publicationYear": "2024", + "publisher": "Caltech Data", + "relatedIdentifiers": [ + { + "relatedIdentifier": "http://deepsynoptic.org", + "relatedIdentifierType": "URL", + "relationType": "IsDocumentedBy" + } + ], + "rightsList": [ + { + "rights": "cc-by-4.0" + } + ], + "schemaVersion": "http://datacite.org/schema/kernel-4", + "subjects": [ + { + "subject": "OVRO" + }, + { + "subject": "Astrophysics" + }, + { + "subject": "Fast Radio Bursts" + } + ], + "titles": [ + { + "title": "DSA-110 Data for Candidate Fast Radio Burst 221116aaab" + } + ], + "types": { + "resourceType": "", + "resourceTypeGeneral": "Dataset" + }, + "version": "0.1" +} \ No newline at end of file diff --git a/tests/data/datacite43/hhg7x-hgm42.json b/tests/data/datacite43/hhg7x-hgm42.json new file mode 100644 index 0000000..9f112b4 --- /dev/null +++ b/tests/data/datacite43/hhg7x-hgm42.json @@ -0,0 +1,98 @@ +{ + "creators": [ + { + "affiliation": [ + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "familyName": "Atterholt", + "givenName": "James", + "name": "Atterholt, James", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0003-1603-5518", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + }, + { + "affiliation": [ + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "familyName": "Zhan", + "givenName": "Zhongwen", + "name": "Zhan, Zhongwen", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0002-5586-2607", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + } + ], + "dates": [ + { + "date": "2024-06-26", + "dateType": "Issued" + } + ], + "descriptions": [ + { + "description": "These are h5 files that contain events with PmP observations used in the publication \"Fine Scale Southern California Moho Structure Uncovered with Distributed Acoustic Sensing.\" Events are descriptively named.", + "descriptionType": "Abstract" + } + ], + "fundingReferences": [ + { + "awardNumber": "1848166", + "awardTitle": "CAREER:Potential of fiber acoustic sensing in the next-generation seismic networks", + "funderIdentifier": "grid.431093.c", + "funderIdentifierType": "GRID", + "funderName": "National Science Foundation" + }, + { + "funderIdentifier": "grid.452959.6", + "funderIdentifierType": "GRID", + "funderName": "Gordon and Betty Moore Foundation" + } + ], + "identifiers": [ + { + "identifier": "10.22002/hhg7x-hgm42", + "identifierType": "DOI" + }, + { + "identifier": "oai:data.caltech.edu:hhg7x-hgm42", + "identifierType": "oai" + } + ], + "publicationYear": "2024", + "publisher": "CaltechDATA", + "rightsList": [ + { + "rights": "Creative Commons Zero v1.0 Universal", + "rightsIdentifier": "cc0-1.0", + "rightsIdentifierScheme": "spdx", + "rightsUri": "https://creativecommons.org/publicdomain/zero/1.0/legalcode" + } + ], + "schemaVersion": "http://datacite.org/schema/kernel-4", + "titles": [ + { + "title": "Catalog of Events with PmP Phase" + } + ], + "types": { + "resourceType": "", + "resourceTypeGeneral": "Dataset" + } +} \ No newline at end of file diff --git a/tests/data/datacite43/kxjgj-tfk18.json b/tests/data/datacite43/kxjgj-tfk18.json new file mode 100644 index 0000000..da0ef70 --- /dev/null +++ b/tests/data/datacite43/kxjgj-tfk18.json @@ -0,0 +1,73 @@ +{ + "creators": [ + { + "affiliation": [ + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "familyName": "Ding", + "givenName": "Xiaozhe", + "name": "Ding, Xiaozhe", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0002-0267-0791", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + } + ], + "dates": [ + { + "date": "2024-04-16", + "dateType": "Issued" + } + ], + "descriptions": [ + { + "description": "Raw data for Ding, X., Chen, X., Sullivan, E.E., Shay, T.F., and Gradinaru, V. (2024). Fast, accurate ranking of engineered proteins by target binding propensity using structure modeling. Molecular Therapy. https://doi.org/10.1016/j.ymthe.2024.04.003", + "descriptionType": "Abstract" + } + ], + "identifiers": [ + { + "identifier": "10.22002/kxjgj-tfk18", + "identifierType": "DOI" + }, + { + "identifier": "oai:data.caltech.edu:kxjgj-tfk18", + "identifierType": "oai" + } + ], + "publicationYear": "2024", + "publisher": "CaltechDATA", + "relatedIdentifiers": [ + { + "relatedIdentifier": "10.1016/j.ymthe.2024.04.003", + "relatedIdentifierType": "DOI", + "relationType": "IsSupplementTo", + "resourceTypeGeneral": "Text" + } + ], + "rightsList": [ + { + "rights": "Creative Commons Zero v1.0 Universal", + "rightsIdentifier": "cc0-1.0", + "rightsIdentifierScheme": "spdx", + "rightsUri": "https://creativecommons.org/publicdomain/zero/1.0/legalcode" + } + ], + "schemaVersion": "http://datacite.org/schema/kernel-4", + "titles": [ + { + "title": "Data for Fast, accurate ranking of engineered proteins by target-binding propensity using structure modeling" + } + ], + "types": { + "resourceType": "", + "resourceTypeGeneral": "Dataset" + } +} \ No newline at end of file diff --git a/tests/data/datacite43/kxtar-bm759.json b/tests/data/datacite43/kxtar-bm759.json new file mode 100644 index 0000000..02fe20a --- /dev/null +++ b/tests/data/datacite43/kxtar-bm759.json @@ -0,0 +1,78 @@ +{ + "creators": [ + { + "affiliation": [ + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "familyName": "Bird", + "givenName": "Eli", + "name": "Bird, Eli", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0002-9428-0650", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + }, + { + "affiliation": [ + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "familyName": "Zhan", + "givenName": "Zhongwen", + "name": "Zhan, Zhongwen", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0002-5586-2607", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + } + ], + "dates": [ + { + "date": "2024-09-23", + "dateType": "Issued" + } + ], + "identifiers": [ + { + "identifier": "10.22002/kxtar-bm759", + "identifierType": "DOI" + }, + { + "identifier": "oai:data.caltech.edu:kxtar-bm759", + "identifierType": "oai" + } + ], + "publicationYear": "2024", + "publisher": "CaltechDATA", + "rightsList": [ + { + "rights": "Creative Commons Zero v1.0 Universal", + "rightsIdentifier": "cc0-1.0", + "rightsIdentifierScheme": "spdx", + "rightsUri": "https://creativecommons.org/publicdomain/zero/1.0/legalcode" + } + ], + "schemaVersion": "http://datacite.org/schema/kernel-4", + "titles": [ + { + "title": "Ambient Noise Cross-Correlation Data associated with Constraining Dike Opening Models With Seismic Velocity Changes Associated with the 2023-2024 Eruption Sequence on the Reykjanes Peninsula\" by Bird et al." + } + ], + "types": { + "resourceType": "", + "resourceTypeGeneral": "Dataset" + } +} \ No newline at end of file diff --git a/tests/data/datacite43/n0y4x-xx706.json b/tests/data/datacite43/n0y4x-xx706.json new file mode 100644 index 0000000..3f6a3db --- /dev/null +++ b/tests/data/datacite43/n0y4x-xx706.json @@ -0,0 +1,97 @@ +{ + "contributors": [ + { + "affiliation": [ + { + "name": "Department of Biological Sciences, California State University, Sacramento" + } + ], + "contributorType": "ContactPerson", + "familyName": "Gleason", + "givenName": "Lani U.", + "name": "Gleason, Lani U.", + "nameIdentifiers": [], + "nameType": "Personal" + } + ], + "creators": [ + { + "affiliation": [ + { + "name": "Department of Biological Sciences, California State University, Sacramento" + } + ], + "familyName": "Gleason", + "givenName": "Lani U.", + "name": "Gleason, Lani U.", + "nameIdentifiers": [], + "nameType": "Personal" + } + ], + "dates": [ + { + "date": "2025-01-24", + "dateType": "Issued" + }, + { + "date": "2025-01-22", + "dateType": "Accepted" + } + ], + "descriptions": [ + { + "description": "Genes identified to be significantly differentially expressed for each component of the Venn diagram in Figure 1B. The annotation information, RPKM expression value for each individual in each of the four treatments, and the average RPKM expression value per treatment are provided for each gene.", + "descriptionType": "Abstract" + } + ], + "fundingReferences": [ + { + "funderName": "This work was supported by a California State University, Sacramento Research & Creative Activity (RCA) Award and a Biological Sciences Genes to Ecosystems (G2E) Award to Lani Gleason. The California State University (CSU) Council on Ocean Affairs, Science, and Technology (COAST) also provided an Undergraduate Research Award to support Hanna Franklin." + } + ], + "identifiers": [ + { + "identifier": "10.22002/n0y4x-xx706", + "identifierType": "DOI" + }, + { + "identifier": "oai:data.caltech.edu:n0y4x-xx706", + "identifierType": "oai" + } + ], + "language": "eng", + "publicationYear": "2025", + "publisher": "CaltechDATA", + "relatedIdentifiers": [ + { + "relatedIdentifier": "10.17912/micropub.biology.001473", + "relatedIdentifierType": "DOI", + "relationType": "IsPartOf", + "resourceTypeGeneral": "Text" + } + ], + "rightsList": [ + { + "rights": "Creative Commons Attribution 4.0 International", + "rightsIdentifier": "cc-by-4.0", + "rightsIdentifierScheme": "spdx", + "rightsUri": "https://creativecommons.org/licenses/by/4.0/legalcode" + } + ], + "schemaVersion": "http://datacite.org/schema/kernel-4", + "subjects": [ + { + "subject": "haliotis rufescens" + } + ], + "titles": [ + { + "title": "Dataset: Heat Stress, Starvation, and Heat Stress Plus Starvation Cause Unique Transcriptomic Responses in the Economically Important Red Abalone Haliotis rufescens" + } + ], + "types": { + "resourceType": "", + "resourceTypeGeneral": "Dataset" + }, + "version": "1.0" +} \ No newline at end of file diff --git a/tests/data/datacite43/n13wc-zwc92.json b/tests/data/datacite43/n13wc-zwc92.json new file mode 100644 index 0000000..5a2949e --- /dev/null +++ b/tests/data/datacite43/n13wc-zwc92.json @@ -0,0 +1,88 @@ +{ + "creators": [ + { + "affiliation": [ + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "familyName": "Silevitch", + "givenName": "Daniel", + "name": "Silevitch, Daniel", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0002-6347-3513", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + }, + { + "affiliation": [ + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "familyName": "Armstrong", + "givenName": "Stephen", + "name": "Armstrong, Stephen", + "nameIdentifiers": [], + "nameType": "Personal" + } + ], + "dates": [ + { + "date": "2025-01-30", + "dateType": "Issued" + }, + { + "date": "2025-01-30", + "dateType": "Submitted" + } + ], + "descriptions": [ + { + "description": "Magnetic susceptibility and specific heat data for LiErF4.\u00a0", + "descriptionType": "Abstract" + } + ], + "identifiers": [ + { + "identifier": "10.22002/n13wc-zwc92", + "identifierType": "DOI" + }, + { + "identifier": "oai:data.caltech.edu:n13wc-zwc92", + "identifierType": "oai" + } + ], + "publicationYear": "2025", + "publisher": "CaltechDATA", + "rightsList": [ + { + "rights": "Creative Commons Attribution 4.0 International", + "rightsIdentifier": "cc-by-4.0", + "rightsIdentifierScheme": "spdx", + "rightsUri": "https://creativecommons.org/licenses/by/4.0/legalcode" + } + ], + "schemaVersion": "http://datacite.org/schema/kernel-4", + "subjects": [ + { + "subject": "Physical sciences" + } + ], + "titles": [ + { + "title": "LiErF4 susceptibility and specific heat" + } + ], + "types": { + "resourceType": "", + "resourceTypeGeneral": "Dataset" + } +} \ No newline at end of file diff --git a/tests/data/datacite43/nbtw5-37m55.json b/tests/data/datacite43/nbtw5-37m55.json new file mode 100644 index 0000000..5d7d52d --- /dev/null +++ b/tests/data/datacite43/nbtw5-37m55.json @@ -0,0 +1,111 @@ +{ + "creators": [ + { + "affiliation": [ + { + "affiliationIdentifier": "05dxps055", + "affiliationIdentifierScheme": "ROR", + "name": "California Institute of Technology" + } + ], + "familyName": "Law", + "givenName": "Casey", + "name": "Casey Law", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0002-4119-9963", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + } + ], + "dates": [ + { + "date": "2024", + "dateType": "Issued" + }, + { + "date": "2024-04-12", + "dateType": "Created" + } + ], + "descriptions": [ + { + "description": "Data associated with DSA-110 candidate transient.", + "descriptionType": "Abstract" + } + ], + "formats": [ + "png" + ], + "fundingReferences": [ + { + "funderIdentifier": "grid.431093.c", + "funderIdentifierType": "GRID", + "funderName": "National Science Foundation" + } + ], + "geoLocations": [ + { + "geoLocationPlace": "OVRO", + "geoLocationPoint": { + "pointLatitude": 37.2339, + "pointLongitude": -118.282 + } + } + ], + "identifiers": [ + { + "identifier": "10.25800/3ghe-8e93", + "identifierType": "DOI" + }, + { + "identifier": "oai:data.caltech.edu:nbtw5-37m55", + "identifierType": "oai" + }, + { + "identifier": "231120aabi", + "identifierType": "dsa-110-id" + }, + { + "identifier": "nbtw5-37m55", + "identifierType": "cdid" + } + ], + "publicationYear": "2024", + "publisher": "Caltech Data", + "relatedIdentifiers": [ + { + "relatedIdentifier": "http://deepsynoptic.org", + "relatedIdentifierType": "URL", + "relationType": "IsDocumentedBy" + } + ], + "rightsList": [ + { + "rights": "cc-by-4.0" + } + ], + "schemaVersion": "http://datacite.org/schema/kernel-4", + "subjects": [ + { + "subject": "OVRO" + }, + { + "subject": "Astrophysics" + }, + { + "subject": "Fast Radio Bursts" + } + ], + "titles": [ + { + "title": "DSA-110 Data for Candidate Fast Radio Burst 231120aabi" + } + ], + "types": { + "resourceType": "", + "resourceTypeGeneral": "Dataset" + } +} \ No newline at end of file diff --git a/tests/data/datacite43/rmzp9-9yx96.json b/tests/data/datacite43/rmzp9-9yx96.json new file mode 100644 index 0000000..52c0af0 --- /dev/null +++ b/tests/data/datacite43/rmzp9-9yx96.json @@ -0,0 +1,94 @@ +{ + "creators": [ + { + "familyName": "Devey", + "givenName": "Sean", + "name": "Devey, Sean", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0002-8937-939X", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + } + ], + "dates": [ + { + "date": "2024-06-07", + "dateType": "Issued" + }, + { + "date": "2023-11-09", + "dateInformation": "DPIV, CTA data collection", + "dateType": "Collected" + }, + { + "date": "2023-10-22", + "dateInformation": "No FMS DPIV data collected", + "dateType": "Collected" + }, + { + "date": "2023-11-16", + "dateInformation": "Cylinder wake dye visualizations collected", + "dateType": "Collected" + }, + { + "date": "2024-05-13", + "dateInformation": "Shear layer dye visualization", + "dateType": "Collected" + }, + { + "date": "2024-06-07", + "dateInformation": "date of upload", + "dateType": "Submitted" + } + ], + "descriptions": [ + { + "description": "DPIV, CTA measurements and dye visualizations demonstrating flow quality of the Free-surface, Low turbulence, Optically accessible, Water TUnnel in a Box (FLOWTUB) developed at GALCIT 2022-2024.", + "descriptionType": "Abstract" + } + ], + "fundingReferences": [ + { + "awardNumber": "DGE-1745301", + "awardTitle": "Graduate Research Fellowships Program (GRFP)", + "funderIdentifier": "grid.431093.c", + "funderIdentifierType": "GRID", + "funderName": "National Science Foundation" + } + ], + "identifiers": [ + { + "identifier": "10.22002/rmzp9-9yx96", + "identifierType": "DOI" + }, + { + "identifier": "oai:data.caltech.edu:rmzp9-9yx96", + "identifierType": "oai" + } + ], + "language": "eng", + "publicationYear": "2024", + "publisher": "CaltechDATA", + "rightsList": [ + { + "rights": "Creative Commons Attribution 4.0 International", + "rightsIdentifier": "cc-by-4.0", + "rightsIdentifierScheme": "spdx", + "rightsUri": "https://creativecommons.org/licenses/by/4.0/legalcode" + } + ], + "schemaVersion": "http://datacite.org/schema/kernel-4", + "titles": [ + { + "title": "FLOWTUB Water Tunnel Validation Data" + } + ], + "types": { + "resourceType": "", + "resourceTypeGeneral": "Dataset" + }, + "version": "1" +} \ No newline at end of file diff --git a/tests/data/datacite43/t15w6-x9q23.json b/tests/data/datacite43/t15w6-x9q23.json new file mode 100644 index 0000000..325cf06 --- /dev/null +++ b/tests/data/datacite43/t15w6-x9q23.json @@ -0,0 +1,109 @@ +{ + "contributors": [ + { + "affiliation": [ + { + "name": "National Eye Institute, National Institutes of Health, Bethesda, Maryland, United States" + }, + { + "name": "Intramural Research Program, National Library of Medicine, National Institutes of Health, Bethesda, Maryland, United States" + } + ], + "contributorType": "ContactPerson", + "familyName": "Pal", + "givenName": "Soumitra", + "name": "Pal, Soumitra", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0003-4840-3944", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + } + ], + "creators": [ + { + "affiliation": [ + { + "name": "National Eye Institute, National Institutes of Health, Bethesda, Maryland, United States" + }, + { + "name": "Intramural Research Program, National Library of Medicine, National Institutes of Health, Bethesda, Maryland, United States" + } + ], + "familyName": "Pal", + "givenName": "Soumitra", + "name": "Pal, Soumitra", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0003-4840-3944", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + } + ], + "dates": [ + { + "date": "2025-02-21", + "dateType": "Issued" + } + ], + "descriptions": [ + { + "description": "This MS-Excel workbook contains spreadsheets detailing the FCA datasets, clustering resolutions, and the results of our analysis at both the cell and cluster levels.", + "descriptionType": "Abstract" + } + ], + "fundingReferences": [ + { + "funderName": "This research was supported in part by the Intramural Research Program of the National Institutes of Health, USA: The National Institute of Diabetes and Digestive and Kidney Diseases (NIDDK) Grant No. ZIADK015600 to B.O. and National Library of Medicine (NLM) Grant No. LM200887 to T.M.P." + } + ], + "identifiers": [ + { + "identifier": "10.22002/t15w6-x9q23", + "identifierType": "DOI" + }, + { + "identifier": "oai:data.caltech.edu:t15w6-x9q23", + "identifierType": "oai" + } + ], + "language": "eng", + "publicationYear": "2025", + "publisher": "CaltechDATA", + "relatedIdentifiers": [ + { + "relatedIdentifier": "10.17912/micropub.biology.001501", + "relatedIdentifierType": "DOI", + "relationType": "IsPartOf", + "resourceTypeGeneral": "Text" + } + ], + "rightsList": [ + { + "rights": "Creative Commons Attribution 4.0 International", + "rightsIdentifier": "cc-by-4.0", + "rightsIdentifierScheme": "spdx", + "rightsUri": "https://creativecommons.org/licenses/by/4.0/legalcode" + } + ], + "schemaVersion": "http://datacite.org/schema/kernel-4", + "subjects": [ + { + "subject": "drosophila" + } + ], + "titles": [ + { + "title": "Dataset: Cell-Type Specific Variation in X-Chromosome Dosage Compensation in Drosophila" + } + ], + "types": { + "resourceType": "", + "resourceTypeGeneral": "Dataset" + }, + "version": "1.0" +} \ No newline at end of file diff --git a/tests/data/datacite43/wbty9-bqy29.json b/tests/data/datacite43/wbty9-bqy29.json new file mode 100644 index 0000000..77973fd --- /dev/null +++ b/tests/data/datacite43/wbty9-bqy29.json @@ -0,0 +1,113 @@ +{ + "contributors": [ + { + "affiliation": [ + { + "name": "Molecular Biophysics & Biochemistry, Yale University, New Haven, Connecticut, United States" + }, + { + "name": "Cell Biology, Yale University School of Medicine" + } + ], + "contributorType": "ContactPerson", + "familyName": "Berro", + "givenName": "Julien", + "name": "Berro, Julien", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0002-9560-8646", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + } + ], + "creators": [ + { + "affiliation": [ + { + "name": "Molecular Biophysics & Biochemistry, Yale University, New Haven, Connecticut, United States" + }, + { + "name": "Cell Biology, Yale University School of Medicine" + } + ], + "familyName": "Berro", + "givenName": "Julien", + "name": "Berro, Julien", + "nameIdentifiers": [ + { + "nameIdentifier": "0000-0002-9560-8646", + "nameIdentifierScheme": "ORCID" + } + ], + "nameType": "Personal" + } + ], + "dates": [ + { + "date": "2024-05-08", + "dateType": "Issued" + }, + { + "date": "2024-05-03", + "dateType": "Accepted" + } + ], + "descriptions": [ + { + "description": "Primers used in this study", + "descriptionType": "Abstract" + } + ], + "fundingReferences": [ + { + "funderName": "This work was partly supported by the National Institutes of Health (R01 GM11563601)." + } + ], + "identifiers": [ + { + "identifier": "10.22002/wbty9-bqy29", + "identifierType": "DOI" + }, + { + "identifier": "oai:data.caltech.edu:wbty9-bqy29", + "identifierType": "oai" + } + ], + "language": "eng", + "publicationYear": "2024", + "publisher": "CaltechDATA", + "relatedIdentifiers": [ + { + "relatedIdentifier": "10.17912/micropub.biology.001191", + "relatedIdentifierType": "DOI", + "relationType": "IsPartOf", + "resourceTypeGeneral": "Text" + } + ], + "rightsList": [ + { + "rights": "Creative Commons Attribution 4.0 International", + "rightsIdentifier": "cc-by-4.0", + "rightsIdentifierScheme": "spdx", + "rightsUri": "https://creativecommons.org/licenses/by/4.0/legalcode" + } + ], + "schemaVersion": "http://datacite.org/schema/kernel-4", + "subjects": [ + { + "subject": "s. pombe" + } + ], + "titles": [ + { + "title": "Dataset: CRISPR-Cas9 editing efficiency in fission yeast is not limited by homology search and is improved by combining gap-repair with fluoride selection" + } + ], + "types": { + "resourceType": "", + "resourceTypeGeneral": "Dataset" + }, + "version": "1.0" +} \ No newline at end of file diff --git a/tests/test_rdm.py b/tests/test_rdm.py index 2dd0fcd..43851d7 100644 --- a/tests/test_rdm.py +++ b/tests/test_rdm.py @@ -5,64 +5,91 @@ get_metadata, ) import json +import os def test_datacite_rdm_conversion(full_datacite43_record, full_rdm_record): - converted = customize_schema(full_datacite43_record, schema="43", pilot=True) + + # Remove DOI from full_datacite43_record + # since it's prcessed by caltechdata_write or caltechdata_edit + identifiers = [] + for identifier in full_datacite43_record["identifiers"]: + if identifier["identifierType"] != "DOI": + identifiers.append(identifier) + full_datacite43_record["identifiers"] = identifiers + + converted = customize_schema(full_datacite43_record, schema="43") assert converted == full_rdm_record def test_datacite_rdm_create_edit(full_datacite43_record): - doi = caltechdata_write( - full_datacite43_record, schema="43", pilot=True, publish=True - ) + env_token = os.environ.get("RDMTOK") - assert doi.startswith("10.33569") + # Remove DOI from full_datacite43_record + # since we want the test system to create one + identifiers = [] + for identifier in full_datacite43_record["identifiers"]: + if identifier["identifierType"] != "DOI": + identifiers.append(identifier) + full_datacite43_record["identifiers"] = identifiers - doi = caltechdata_write( + recid = caltechdata_write( full_datacite43_record, schema="43", - pilot=True, - files=["codemeta.json"], + production=False, publish=True, + token=env_token, ) - assert doi.startswith("10.33569") + assert len(recid) == 11 - # If we don't publish, don't get back a DOI - idv = caltechdata_write(full_datacite43_record, schema="43", pilot=True) + recid = caltechdata_write( + full_datacite43_record, + schema="43", + production=False, + files=["helpers.py"], + publish=True, + token=env_token, + ) - assert idv.startswith("10.33569") == False + assert len(recid) == 11 full_datacite43_record["publisher"] = "Edited" doi = caltechdata_edit( - idv, full_datacite43_record, schema="43", pilot=True, publish=True + recid, + full_datacite43_record, + schema="43", + production=False, + publish=True, + token=env_token, ) assert doi.startswith("10.33569") - idv = doi.split("/")[1] - new_metadata = get_metadata(idv, production=False, pilot=True) + # Validate is false until geolocation points are fixed/we move to 4.6 + new_metadata = get_metadata(recid, production=False, validate=False) assert new_metadata["publisher"] == "Edited" full_datacite43_record["publisher"] = "Again!" new_doi = caltechdata_edit( - idv, + recid, full_datacite43_record, - files=["codemeta.json"], + files=["helpers.py"], schema="43", - pilot=True, + production=False, publish=True, + token=env_token, ) assert new_doi != doi - idv = new_doi.split("/")[1] + recid = new_doi.split("/")[1] - new_metadata = get_metadata(idv, production=False, pilot=True) + # Validate is false until geolocation points are fixed/we move to 4.6 + new_metadata = get_metadata(recid, production=False, validate=False) assert new_metadata["publisher"] == "Again!" diff --git a/update_descriptions.py b/update_descriptions.py new file mode 100644 index 0000000..3c1f0ce --- /dev/null +++ b/update_descriptions.py @@ -0,0 +1,59 @@ +import os, requests, json, math +from caltechdata_api import get_metadata, caltechdata_edit + +token = os.environ["RDMTOK"] + +url = "https://data.caltech.edu/api/communities/0497183f-f3b1-483d-b8bb-133c731c939a/records" +query = "?q=NOT%20_exists_%3Ametadata.description&f=allversions:true" + +headers = { + "Authorization": "Bearer %s" % token, + "Content-type": "application/json", +} + +url = url + query +response = requests.get(url, headers=headers) +total = response.json()["hits"]["total"] +pages = math.ceil(int(total) / 10) +for c in range(1, pages + 1): + chunkurl = f"{url}&size=10&page={c}" + response = requests.get(chunkurl, headers=headers).json() + for hit in response["hits"]["hits"]: + idv = hit["id"] + print(idv) + result = requests.post( + "https://data.caltech.edu/api/records/" + idv + "/draft", + headers=headers, + ) + if result.status_code != 201: + raise Exception(result.text) + metadata = result.json() + metadata["metadata"]["description"] = hit["metadata"]["title"] + for desc in metadata["metadata"]["additional_descriptions"]: + if "title" in desc["type"]: + desc["type"].pop("title") + for date in metadata["metadata"]["dates"]: + if "title" in date["type"]: + date["type"].pop("title") + if "icon" in metadata["metadata"]["rights"][0]: + metadata["metadata"]["rights"][0].pop("icon") + metadata["metadata"]["rights"][0].pop("title") + metadata["metadata"]["rights"][0].pop("description") + metadata["metadata"]["rights"][0].pop("props") + if "title" in metadata["metadata"]["languages"][0]: + metadata["metadata"]["languages"][0].pop("title") + if "title" in metadata["metadata"]["resource_type"]: + metadata["metadata"]["resource_type"].pop("title") + result = requests.put( + "https://data.caltech.edu/api/records/" + idv + "/draft", + headers=headers, + json=metadata, + ) + if result.status_code != 200: + raise Exception(result.text) + publish_link = ( + f"https://data.caltech.edu/api/records/{idv}/draft/actions/publish" + ) + result = requests.post(publish_link, headers=headers) + if result.status_code != 202: + raise Exception(result.text) diff --git a/update_osn_links.py b/update_osn_links.py new file mode 100644 index 0000000..e2f2d24 --- /dev/null +++ b/update_osn_links.py @@ -0,0 +1,30 @@ +import os, requests, json, math +from caltechdata_api import get_metadata, caltechdata_edit + +token = os.environ["RDMTOK"] + +url = "https://data.caltech.edu/api/records" +query = '?q=metadata.additional_descriptions.description:"renc.osn.xsede.org"&allversions=true' + +headers = { + "Authorization": "Bearer %s" % token, + "Content-type": "application/json", +} + +url = url + query +response = requests.get(url, headers=headers) +total = response.json()["hits"]["total"] +pages = math.ceil(int(total) / 10) +for c in range(1, pages + 1): + chunkurl = f"{url}&size=10&page={c}" + response = requests.get(chunkurl, headers=headers).json() + for hit in response["hits"]["hits"]: + idv = hit["id"] + print(idv) + metadata = get_metadata(idv, token=token, validate=False) + for desc in metadata["descriptions"]: + desc["description"] = desc["description"].replace( + "renc.osn.xsede.org", + "sdsc.osn.xsede.org", + ) + caltechdata_edit(idv, metadata, token=token, production=True, publish=True)