遇见数据集

Global OCpetro Oxidation: data, code and environments

收藏
Zenodo2023-09-20 更新2026-05-26 收录
数据链接:
官方服务:

资源简介:

A repository of data files, code and python/R environments for the manuscript "Rock organic carbon oxidation CO<sub>2</sub> release offsets silicate weathering sink" by Jesse R. Zondervan, Robert G. Hilton, Mathieu Dellinger, Fiona J. Clubb, Tobias Roylands, Mateja Ogrič. This repository contains an Excel file and several zip files. <em>Zip files containing code, data and python environment to run a simulation of the Global OCpetro Oxidation model:</em> <strong>River rhenium (Re) and OC<sub>petro</sub> oxidation data: </strong>Supplementary Tables.xlsx <strong>Code only:</strong> Global_OCpetro_Oxidation-v1.1.0.zip (uploaded Github repository) <strong>Geospatial data files only:</strong> input_global_(data files only).zip <strong>Python environment only:</strong> ocpetro_oxidation_env.zip <strong>Code, data and environment:</strong> ocpetro_oxidation_code_data_env.zip <em>Outputs of the model presented in the manuscript:</em> Geospatial raster files of Fig 1: Re sample locations shapefile (panel A): Re_sample_locations.zip Re sample catchment shapefile (panel A): Re_sample_catchments.zip Median OC<sub>petro</sub> stocks model (panel B): Output_OCpetro_stock_median.zip Median denudation model (panel C): Output_denudation_median.zip Best-fit OC<sub>petro</sub> oxidation extrapolation (panel D): Output_OC_petro_oxidation.zip <em>Denudation and OCpetro stock subroutines (for transparency only, not needed to run OCpetro oxidation simulation):</em> <strong>Code, data and R environment (python environment from ocpetro_oxidation_env.zip, see above):</strong> Submodels_code_data_Renv.zip The easiest way to run the code is by downloading the zip file containing code, data and environment, and then unpacking using packages provided by the OS, or by running the 'anaconda-project unarchive' command. Instructions for this can be found by searching for anaconda-project online, or directly via https://anaconda-project.readthedocs.io/en/latest/user-guide/tasks/create-project-archive.html?highlight=unarchive#extracting-the-archive-file [last accessed 26/01/2023] The code was developed in a python environment detailed in anaconda-project.yml, with every recursive dependency down to the individual build in anaconda-project-locked.yml. The code file is "Glob_newmethod_parr_globalresidual.py" in this repository. This code should be reproducible indefinitely, without depending on online package repositories. Both the commands and the environment have been captured into a fully locked anaconda project with all conda packages unpacked and included using anaconda-project --pack-envs. Note that only packages for running the code on Linux can be unpacked in this way; building on other platforms (Windows, Mac) will still require access to repositories. Notes: This code was run on an HPC environment with a job submitter called SLURM. As such, the code will run according to a slurm job array with numbers from 1-100 (10,000 monte carlo simulations). The command to run the Monte Carlo simulation as 10,000 seperate jobs is done like this: "sbatch --array=1-10000:1 job_script_file_name.sh". Note that the version of code uploaded here is set to run 100 simulations ("sbatch --array=1-100:1 job_script_file_name.sh"). When running 10,000 simulations, please change line 46 to "quantile = float(os.getenv('SLURM_ARRAY_TASK_ID'))/10000." Whilst it is possible to run this code on a single machine such as a personal computer, the user is warned that it takes 24 core hours per simulation to run. For example, a typical 4-core laptop would need 6 hours to run one simulation. Now calculate how many 10,000 would take... To run one simulation, line 46 ("quantile = float(os.getenv('SLURM_ARRAY_TASK_ID'))/100.") can be replaced with ("quantile = float(number between 0 and 1)"). Outputs will be saved for each simulation, which can rack up a lot of space, unless you specifically put in lines to delete these from the disk, or, in the case of the example job script for HPC usage, exclude the files when moving data from the node that ran the job. Example: sbatch --array=1-100:1 run_Glob_OCpetro_model.sh #note that this runs 100 simulations. An example of a job script file has been appended. Please note that the details of this job script depend on your machine or HPC system. Please consult your HPC support or platform's (Linux, Mac, Windows) command prompt instructions.

本数据集仓库包含对应学术论文《岩石有机碳氧化释放的CO₂抵消硅酸盐风化汇》(作者为Jesse R. Zondervan、Robert G. Hilton、Mathieu Dellinger、Fiona J. Clubb、Tobias Roylands、Mateja Ogrič)的数据文件、代码及Python/R运行环境。本仓库包含1个Excel文件与多个压缩包文件。 *包含用于运行全球岩石成因有机碳(OCpetro)氧化模型模拟的代码、数据与Python环境的压缩包:* **河流铼(Re)与岩石成因有机碳氧化数据集:** Supplementary Tables.xlsx **仅代码:** Global_OCpetro_Oxidation-v1.1.0.zip(已上传至GitHub仓库) **仅地理空间数据文件:** input_global_(仅数据文件).zip **仅Python运行环境:** ocpetro_oxidation_env.zip **代码、数据与运行环境:** ocpetro_oxidation_code_data_env.zip *本手稿中展示的模型输出结果:* 图1的地理空间栅格文件: - 铼采样点位矢量文件(面板A):Re_sample_locations.zip - 铼采样流域矢量文件(面板A):Re_sample_catchments.zip - 岩石成因有机碳储量中位数模型(面板B):Output_OCpetro_stock_median.zip - 剥蚀速率中位数模型(面板C):Output_denudation_median.zip - 最优拟合岩石成因有机碳氧化外推模型(面板D):Output_OC_petro_oxidation.zip *剥蚀速率与岩石成因有机碳储量子程序(仅用于透明化展示,无需用于运行岩石成因有机碳氧化模拟):* **代码、数据与R运行环境(Python运行环境取自上述ocpetro_oxidation_env.zip):** Submodels_code_data_Renv.zip 运行该代码的最简方式为:下载包含代码、数据与运行环境的压缩包,随后通过操作系统自带的解压工具解压,或执行`anaconda-project unarchive`命令进行解压。相关操作指南可通过在线搜索`anaconda-project`获取,或直接访问链接:https://anaconda-project.readthedocs.io/en/latest/user-guide/tasks/create-project-archive.html?highlight=unarchive#extracting-the-archive-file【最后访问时间:2023年1月26日】。 本仓库中的核心代码文件为`Glob_newmethod_parr_globalresidual.py`。本代码基于`anaconda-project.yml`中定义的Python运行环境开发,所有递归依赖项均已通过`anaconda-project-locked.yml`锁定至具体构建版本。本代码可永久复现,无需依赖在线软件包仓库。通过`anaconda-project --pack-envs`命令,已将所有运行命令与运行环境完整打包至锁定的Anaconda项目中,所有Conda软件包均已解压并包含在内。 请注意,仅Linux平台下运行代码所需的软件包可通过此方式打包;若需在Windows、Mac等其他平台编译运行,仍需访问软件包仓库。 备注:本代码曾在搭载SLURM作业提交系统的高性能计算(High Performance Computing, HPC)环境中运行。因此,代码将通过编号1至100的SLURM作业阵列运行(对应10000次蒙特卡洛模拟)。若需以10000个独立作业运行蒙特卡洛模拟,可执行如下命令:`sbatch --array=1-10000:1 job_script_file_name.sh`。请注意,本仓库上传的代码版本默认运行100次模拟(对应命令为`sbatch --array=1-100:1 job_script_file_name.sh`)。若需运行10000次模拟,请将代码第46行修改为:`quantile = float(os.getenv('SLURM_ARRAY_TASK_ID'))/10000.` 尽管本代码可在个人电脑等单机环境中运行,但请注意:单次模拟需耗费24核小时。例如,一台典型的4核笔记本电脑运行单次模拟需耗时6小时,10000次模拟所需总时长可自行推算。若仅需运行单次模拟,可将第46行的`quantile = float(os.getenv('SLURM_ARRAY_TASK_ID'))/100.`替换为`quantile = float(0至1之间的任意数值)`。 每次模拟的结果均会被保存,若未主动配置磁盘自动删除逻辑,或未在高性能计算作业脚本中配置作业节点数据迁移时排除结果文件,则会占用大量存储空间。 运行示例:`sbatch --array=1-100:1 run_Glob_OCpetro_model.sh`(注:该命令将运行100次模拟)。本仓库已附带作业脚本文件示例。请注意,作业脚本的具体配置需适配您的单机或高性能计算系统,请咨询您的高性能计算支持人员,或参考对应平台(Linux、Mac、Windows)的命令行操作指南。

提供机构:
Zenodo
创建时间:
2023-01-26
二维码
社区交流群
二维码
科研交流群
商业服务