{"id":13948830,"url":"https://github.com/JGCRI/hector","last_synced_at":"2025-07-20T10:32:49.319Z","repository":{"id":19640732,"uuid":"22892935","full_name":"JGCRI/hector","owner":"JGCRI","description":"The Hector Simple Climate Model","archived":false,"fork":false,"pushed_at":"2025-07-02T20:28:21.000Z","size":79269,"stargazers_count":118,"open_issues_count":47,"forks_count":49,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-07-08T00:17:54.379Z","etag":null,"topics":["climate","climate-change","climate-model","hector","science"],"latest_commit_sha":null,"homepage":"http://jgcri.github.io/hector/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JGCRI.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-08-12T21:20:53.000Z","updated_at":"2025-07-07T22:37:39.000Z","dependencies_parsed_at":"2023-09-21T19:32:25.608Z","dependency_job_id":"39a4247d-19b3-4795-8fe9-ed7b61bed462","html_url":"https://github.com/JGCRI/hector","commit_stats":{"total_commits":1112,"total_committers":21,"mean_commits":52.95238095238095,"dds":0.6915467625899281,"last_synced_commit":"1ef0b4df8563a31580ffa94eb11b113e3f317b86"},"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/JGCRI/hector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JGCRI%2Fhector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JGCRI%2Fhector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JGCRI%2Fhector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JGCRI%2Fhector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JGCRI","download_url":"https://codeload.github.com/JGCRI/hector/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JGCRI%2Fhector/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264923845,"owners_count":23683821,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["climate","climate-change","climate-model","hector","science"],"created_at":"2024-08-08T05:01:32.071Z","updated_at":"2025-07-20T10:32:49.310Z","avatar_url":"https://github.com/JGCRI.png","language":"C++","funding_links":[],"categories":["Observation and Conservation of Ecosystems","Climate Change"],"sub_categories":["Ocean and Climate","Earth and Climate Modeling"],"readme":"---\noutput: github_document\n---\n\n\u003c!-- README.md is generated from README.Rmd. Please edit this file then run devtools::build_readme() --\u003e\n\n```{r, include = FALSE}\nknitr::opts_chunk$set(\n    collapse = TRUE,\n    comment = \"#\u003e\",\n    fig.path = \"man/figures/README-\",\n    out.width = \"100%\"\n)\nlibrary(hector)\nlibrary(ggplot2)\n```\n\n# hector\n\n[![DOI](https://zenodo.org/badge/22892935.svg)](https://zenodo.org/badge/latestdoi/22892935) [![C++ unit tests](https://github.com/JGCRI/hector/actions/workflows/unit-testing.yaml/badge.svg)](https://github.com/JGCRI/hector/actions/workflows/unit-testing.yaml) [![Command Line Hector](https://github.com/JGCRI/hector/actions/workflows/command-line.yaml/badge.svg)](https://github.com/JGCRI/hector/actions/workflows/command-line.yaml)  [![R-CMD-check](https://github.com/JGCRI/hector/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/JGCRI/hector/actions/workflows/R-CMD-check.yaml) \n\nThis is the repository for **Hector**, an open source, object-oriented, simple \nglobal climate carbon-cycle model that runs very quickly while still\nrepresenting the most critical global scale earth system processes. \nHector is a simple climate model (SCM, also known as a reduced-complexity climate model),\na class of models that are extremely versatile with a wide\nrange of applications. Due to their computational efficiency, SCMs can easily\nbe coupled to other models and used to design scenarios, emulate more complex \nclimate models, and conduct uncertainty analyses.\n\n```{r tas_plot, echo=FALSE, fig.width=8, fig.height=4}\n\n# The variable naps and dates of variables to save.\nvars_to_plot \u003c- GLOBAL_TAS()\ndates_to_plot \u003c- 1850:2100\n\n# Color palette used by the IPCC\nSSP_COLORS \u003c- c(\"ssp119\" = \"#00a9cf\", \"ssp126\" = \"#003466\", \"ssp245\" = \"#f69320\",\n                \"ssp370\" = \"#df0000\", \"ssp434\" = \"#2274ae\",\"ssp460\" = \"#b0724e\",\n                \"ssp585\"= \"#980002\",   \"ssp534-overshoot\" = \"grey\", \"historical\" = \"#000000\",\n                \"historical\"=\"#92397a\")\n\n# Set up and run hector.\nini_files \u003c- list.files(file.path(\"inst\", \"input\"), pattern = \"ini\", full.names = TRUE)\nhector_tas_results \u003c- do.call(lapply(ini_files, function(f){\n    name \u003c- gsub(pattern = \"hector_|.ini\", x = basename(path = f), replacement = \"\")\n    hc \u003c- newcore(f, name = name)\n    run(hc)\n    out \u003c- fetchvars(hc, dates_to_plot, vars = vars_to_plot)\n    return(out)\n}), what = \"rbind\")\n\n# Modify the results data frame.\nhector_tas_results$scenario \u003c- ifelse(hector_tas_results$scenario == \"ssp534-over\",\n                                      \"ssp534-overshoot\", hector_tas_results$scenario)\nhector_tas_results$scenario \u003c- ifelse(hector_tas_results$year \u003c= 2016, \"historical\",\n                                      hector_tas_results$scenario)\nggplot(hector_tas_results) +\n    geom_line(aes(year, value, color = scenario), linewidth = 1) +\n    theme_bw(base_size = 15) +\n    labs(color = NULL, x = NULL, y = expression(\"Temperature Anomaly (\"~degree~\"C)\")) +\n    scale_color_manual(values = SSP_COLORS)\n```\n\nHector's output for global mean air temperature change for eight Shared Socioeconomic Pathways (SSPs).\n\n## Installation \n\nThe `hector` R package can be installed using the `remotes::install_github` \nfunction. More detailed installation instructions, including how to set up\nHector as a command line executable, can be found [here](articles/BuildHector.html).\n\n```r\nremotes::install_github('jgcri/hector')\nlibrary(hector)\n```\n\n## Tools and Software That Work with Hector\n\n* [GCAM](https://github.com/JGCRI/gcam-core): Hector can be used as the climate component in [GCAM](http://jgcri.github.io/gcam-doc/)\n* [pyhector](https://github.com/openclimatedata/pyhector): a Python\ninterface to Hector\n* [fldgen](https://github.com/JGCRI/fldgen): a spatially resolved temperature \u0026 precipitation emulator for CMIP5 ESMs\n* [HectorUI](https://jgcri.shinyapps.io/HectorUI/): run Hector in a web interface!\n\n## Contributing to Hector\n\nThe Hector team welcomes and values community contributions, but please see \nour [Contribution Guide](https://jgcri.github.io/hector/articles/ContributionsGuide.html) and note by  contributing \nto this project, you agree to abide to our [Contributor Code of Conduct](CODE_OF_CONDUCT.md)\n\n*** \n\nThis research was supported by the U.S. Department of Energy, Office of Science, as part of research in Multi-Sector Dynamics, Earth and Environmental System Modeling Program. The Pacific Northwest National Laboratory is operated for DOE by Battelle Memorial Institute under contract DE-AC05-76RL01830.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJGCRI%2Fhector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJGCRI%2Fhector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJGCRI%2Fhector/lists"}