A simple object-oriented and open-source model for scientific and policy analyses of the global climate system – Hector v 1 . 0

Simple climate models play an integral role in the policy and scientific communities. They are used for climate mitigation scenarios within integrated assessment models, complex climate model emulation, and uncertainty analyses. Here we describe Hector v1.0, an open source, objectoriented, simple global climate carbon-cycle model. This model runs essentially instantaneously while still representing the most critical global-scale earth system processes. Hector has a three-part main carbon cycle: a one-pool atmosphere, land, and ocean. The model’s terrestrial carbon cycle includes primary production and respiration fluxes, accommodating arbitrary geographic divisions into, e.g., ecological biomes or political units. Hector actively solves the inorganic carbon system in the surface ocean, directly calculating air– sea fluxes of carbon and ocean pH. Hector reproduces the global historical trends of atmospheric [CO2], radiative forcing, and surface temperatures. The model simulates all four Representative Concentration Pathways (RCPs) with equivalent rates of change of key variables over time compared to current observations, MAGICC (a well-known simple climate model), and models from the 5th Coupled Model Intercomparison Project. Hector’s flexibility, open-source nature, and modular design will facilitate a broad range of research in various areas.


Introduction
Projecting future impacts of anthropogenic perturbations on the climate system relies on understanding the interactions of key earth system processes.To accomplish this, a hierarchy of climate models with differing levels of complexity and resolution are used, ranging from purely statistical or empirical models, to simple energy balance models, and fully coupled earth system models (ESMs) (Stocker, 2011).
Reduced-complexity or simple climate models (SCMs) lie in the middle of this spectrum, representing only the most critical global-scale earth system processes with low spatial and temporal resolution, e.g., carbon fluxes between the ocean and atmosphere, primary production and respiration fluxes on land.These models are relatively easy to use and understand and are computationally inexpensive.Most SCMs have a few key features: (1) calculating future concentrations of greenhouse gases (GHGs) from given emissions while modeling the global carbon cycle, (2) calculating global mean radiative forcing from greenhouse gas concentrations, and (3) converting the radiative forcing to global mean temperature (e.g., Wigley, 1991;Meinshausen et al., 2011a;Tanaka et al., 2007;Lenton, 2000).
With these capabilities, SCMs play an integral role in decision-making and scientific research.For example, energy-economic-climate models or integrated assessment models (IAMs) are used to address issues on energy system planning, climate mitigation, stabilization pathways, and land-use changes (Wigley et al., 1996;Edmonds and Smith, 2006;van Vuuren et al., 2011).ESMs are too computationally expensive to use in these analyses.Therefore, all IAMs rely on a simple representation of the global climate system.
Depending on the purpose of the IAMs (economics, costbenefit analysis, or more physically based processes), the corresponding climate and carbon component varies in complexity and resolution.For example, models like DICE, FUND, and MERGE have a highly simplified carbon/climate system (Nordhaus, 2008;Anthoff and Tol, 2014;Manne and Richels, 2005).IAMs focusing more on the physical processes of the natural system and the economy employ more complex representations of the climate/carbon system.Models like GCAM (Global Change Assessment Model) and MESSAGE use MAGICC as their SCM (Meinshausen et al., 2011a;Riahi et al., 2007;Calvin et al., 2011).Increasing in complexity, some IAMs include the climate/carbon system at gridded scales (e.g., IMAGE), and can be coupled to earth system models of intermediate complexity (e.g., MIT IGSM) or, more recently, coupled to a full earth system model (the iESM project) (Bouwman et al., 2006;Sokolov et al., 2005;Bond-Lamberty et al., 2014;Di Vittorio et al., 2014;Collins et al., 2015).
SCMs such as MAGICC, GENIE, and the climate emulation tool at RDCEP (Center for Robust Decision Making on Climate and Energy Policy) are also used as emulators of more complex ESMs (Meinshausen et al., 2011c;Schlesinger and Jiang, 1990;Challenor, 2012;Ratto et al., 2012;Lenton et al., 2009;Castruccio et al., 2014).The behavior of SCMs can be constrained to replicate the overall behavior of the more complex ESM.For instance, the climate sensitivity of a SCM can be made equal to that of an ESM by altering a single model parameter.In particular, the MAGICC model has been central to the analyses presented in the Intergovernmental Panel on Climate Change (IPCC) reports, and can be parameterized to emulate a large suite of ESMs (Meinshausen et al., 2011a).
Lastly, SCMs are computationally efficient and inexpensive to run.Therefore, they are used to run multiple simulations of future climate change emissions scenarios, parameter sensitivity experiments, perturbed physics experiments, large ensemble runs, and uncertainty analyses (Senior and Mitchell, 2000;Hoffert et al., 1980;Harvey and Schneider, 1985;Ricciuto et al., 2008;Sriver et al., 2012;Irvine et al., 2012).MAGICC, the Bern CC model, and SNEASY are examples of a few models used for uncertainly analysis (Meinshausen et al., 2011c;Urban and Keller, 2010;Joos et al., 2001b).SCMs have been useful in reducing uncertainties in future CO 2 sinks, quantifying parametric uncertainties in sea-level rise, ice-sheet modeling, ocean-heat uptake, and aerosol forcing (Ricciuto et al., 2008;Sriver et al., 2012;Applegate et al., 2012;Urban and Keller, 2009).
This study introduces Hector v1.0, an open-source, objectoriented, simple climate carbon-cycle model.Hector was developed with three main goals in mind.First, Hector is an open-source model, an important quality given that the scientific community, funding agencies, and journals are increasingly emphasizing transparency and open source (White et al., 2013;Heron et al., 2013), particularly in climate change sciences (Wolkovich et al., 2012).A large community of scientists can access, use, and enhance open-source models, with the potential for long-term utilization, improvement, and reproducibility (Ince et al., 2012).Second, a clean design using an object-oriented framework is critical for Hector development and future use.This allows for new components to easily be added to Hector, i.e., the model's functionality to be easily extended in the future.In addition, this framework allows for easy coupling into IAMs, in particular GCAM.Lastly, Hector is a stand-alone simple climate model used to answer fundamental scientific research questions, uncertainty analysis, parameter sensitivities, etc.
One of the fundamental questions faced in developing a SCM is how much detail should be represented in the climate system.Our goal is to introduce complexity only where warranted, keeping the representations of the climate system as simple as possible.This results in fewer calculations, faster execution times, and easier analysis and interpretation of results.Sections 2, 3, and 4 describe the structure and components of Hector.Sections 5 and 6 describe the experiments, results and comparison of Hector against observational data and other models (MAGICC and CMIP5).

Overall structure and design
Hector is written in C++ and uses an object-oriented design that enforces clean separation between its different parts, which interact via strictly defined interfaces.The separation keeps each software module self-contained, which makes the code easy for users to understand, maintain, and enhance.Entities in the model include a command-line wrapper, the model coupler, various components organized around scientific areas (carbon cycling, radiative forcing, etc.) and visitors responsible for model output.Each of these is discussed below.

Model coupler
Hector's control flow starts with the coupler, which is responsible for (1) parsing and routing input data to the model components; (2) tracking how the components depend on each other; (3) passing messages and data between components; (4) providing facilities for logging, time series interpolation, etc.; and (5) controlling the main model loop as it progresses through time.Any errors thrown by the model are caught by the wrapper, which prints a detailed summary of the error.
Input data are specified in flat text files, and during startup are routed to the correct model component for its initialization.Some of the key initial model conditions are summarized in Tables 1 and 2. For more details of initial model conditions we urge the reader to download Hector v1.0 (https:// github.com/JGCRI/hector).Components can send messages to each other during the model run, most often requesting data.The messaging interface is also available to external subroutines, such as components of IAMs or other linked models.The coupler handles message routing (via the capability mechanism, below) and enforces mandatory type checking: e.g., if a component requests mean global temperature in degrees Celcius but the data are provided in kelvins, an error will be thrown (i.e., execution halts) unless the receiving component can handle this situation.
Visitor patterns are units of code that traverse all model components and handle model output (Martin et al., 1997).Two visitors currently exist: one saves an easily readable summary table to an output file, while the other writes a stream of model data (both standard outputs and internal diagnostics).After the model finishes, this "stream" file can be parsed and summarized by R scripts (R Development Core Team, 2014) included with Hector.Log files may also be written by any model entity, using facilities provided by the coupler.The full sequence of events during a model run is summarized in Fig. 1.

Components
Model components are submodels that communicate with the coupler.From the coupler's point of view, components are fully defined by their capabilities and dependencies.At model startup, before the run begins, components inform the coupler of their capabilities, i.e., what data they can provide to or accept from the larger model system.The coupler uses this information to route messages, such as requests for data, between components.Components also register their dependencies, i.e., what results they require from other components in order to complete their computations.After initialization, but before the model begins to run, the coupler uses this dependency information to determine the order in which components will be called in the main control loop.
The model's modular architecture and the capability/dependency systems described above allow swapping, enabling and disabling of model components directly via the input without recompiling.For example, this means that a user can test two different ocean submodels and easily compare results without having to rebuild the model.

Time step, spinup, and constraints
The model's fundamental time step is 1 year, although the carbon cycle can operate on a finer resolution when necessary (Sect.3.1).When the model is on an integer date (e.g., 1997.0) it is considered to be the midpoint of that particular calendar year, in accordance with Representative Concentration Pathway (RCP) data (Meinshausen et al., 2011b).
Like many models, Hector has an optional "spinup" step, in which the model runs to equilibrium in an a historical, perturbation-free mode (Pietsch and Hasenauer, 2006).This occurs after model initialization, but before the historical run begins, and ensures that the model is in steady state when it enters the main simulation.During spinup, the coupler repeatedly calls all the model components in their dependencydriven ordering, using an annual time step.Each component signals whether it needs further steps to stabilize, and this process repeats until all components signal that they are complete.
Currently only the model's carbon cycle makes use of the spinup phase.Spinup takes place prior to land use change or industrial emission inputs, and the main carbon cycle moves from its initial, user-defined carbon pool values to a steady state in which dC/dt < ε for all pools.The convergence criterion ε is user-definable; by default ε = 1 Tg C yr −1 .From its default values the preindustrial carbon cycle will typically stabilize in 300-400 time steps.
Hector can be forced to match its output to a user-supplied time series.This is helpful to isolate and test different components.Available constraints currently include atmospheric CO 2 , global temperature anomaly, total ocean-atmosphere carbon exchange, total land-atmosphere carbon exchange, and total radiative forcing.Most constraints operate by over- The deep ocean holds the largest reservoir of carbon; therefore, small changes in this large pool have a negligible effect on the carbon cycle dynamics.When the model exits the constraint time period, atmospheric [CO 2 ] again becomes fully prognostic.

Code availability and dependencies
All Hector code is open source and available at https://github.com/JGCRI/hector/.The repository includes model code that can be compiled on Mac, Linux, and Windows input files for the four RCPs cases discussed in Sect.5, R scripts to process model output, and extensive documentation.Software dependencies are as limited as possible, with only the GNU Scientific Library (GSL; Gough, 2009) and the Boost C++ libraries (http://www.boost.org)required.HTML documentation can be automatically generated from the code using the Doxygen tool (http://www.doxygen.org).All these tools and libraries are free and open source.
In keeping with Hector's emphasis on modern, robust software design, the code includes an optional (i.e., not needed to compile and run the model) unit testing build target.Unit testing allows individual units of source code to be tested in a standardized and automatic manner, ensuring that they behave as expected after changes are made to the model source code.Current tests verify the behavior of the model coupler (message passing and dependency calculation), reading of input, time series, logging, and units checking.This functionality requires the "googletest" library (http://code.google.com/p/googletest).

Carbon cycle
In the model's default terrestrial carbon cycle, terrestrial vegetation, detritus, and soil are linked with each other and the atmosphere by first-order differential equations (Fig. 2).Vegetation net primary production is a function of atmospheric [CO 2 ] and temperature.Carbon flows from the vegetation to detritus and then to soil, losing fractions to heterotrophic respiration on the way.Land-use change emissions are specified as inputs.An "earth" pool debits carbon emitted as anthropogenic emissions, allowing a continual mass-balance check across the entire carbon cycle.
More formally, any change in atmospheric carbon, and thus [CO 2 ], occurs as a function of anthropogenic fossil fuel and industrial emissions (F A ), land-use change emissions (F LC ), and the atmosphere-ocean (F O ) and atmosphere-land (F L ) carbon fluxes.The atmosphere is treated as a single well-mixed box whose rate of change is Note that the carbon cycle is solved under indeterminate time steps (represented in the text by equations with d/dt), while most other submodels of Hector are solved under a fixed time step of 1 year (equations with ).Future versions of Hector will incorporate indeterminate time steps within all components of the model.The overall terrestrial carbon balance (Eq.2) excluding user-specified land-use change fluxes at time t is the difference between net primary production (NPP) and heterotrophic respiration (RH).This is summed over user-specified n groups (each typically regarded as a latitude band, biome, or political unit), with n ≥ 1: Note that NPP here is assumed to include non-LUC disturbance effects (e.g., fire), for which there is currently no separate term.For each biome i, NPP is computed as a function of its preindustrial values NPP 0 , current atmospheric carbon C atm , and the biome's temperature anomaly T i , while RH depends upon the pool sizes of detritus (C D ) and soil (C S ), and The ocean consists of four boxes, with advection and water mass exchange simulating thermohaline circulation (see Table 2 for description of parameters).At steady state, the high-latitude surface ocean takes up carbon from the atmosphere, while the low-latitude surface ocean off-gases carbon to the atmosphere.The land consists of a user-defined number of biomes or regions for vegetation, detritus and soil.At steady state the vegetation takes up carbon from the atmosphere while the detritus and soil release carbon back into the atmosphere.The earth pool is continually debited with each time step to act as a mass balance check on the carbon system.
global temperatures: These are commonly used formulations: NPP is modified by a user-specified carbon fertilization parameter, β (Piao et al., 2013), that is constant in time but not necessarily in space.For example, users can define separate β values for different biomes.RH changes are controlled by a biome-specific Q 10 value.Biomes can experience temperature changes at rates that differ from the global mean T G , controlled by a user-specified temperature factor δ I .Note that in Eq. ( 5), soil RH depends on a running mean of past temperatures, representing the slower propagation of heat through soil strata.
Land carbon pools (vegetation, detritus, and soil) change as a result of NPP, RH, and land-use change fluxes, whose effects are partitioned among these carbon pools.In addition, carbon flows from vegetation to detritus and to soil (Fig. 2).Partitioning fractions (f ) control the flux quantities between pools (Table 2).For simplicity, Eqs.(7-9) omit the time t and biome-specific i notations, but each pool is tracked sep-arately for each biome at each time step: The ocean-atmosphere carbon flux is the sum of the ocean's surface fluxes (F i ) (currently n = 2, high-and low-latitude surface box): The surface fluxes of each individual box are directly calculated from an ocean chemistry submodel described in detail by Hartin et al. (2015).We model the nonlinearity of the inorganic carbon cycle, calculating pCO 2 , pH, and carbonate saturations based on equations from Zeebe and Wolf-Gladrow ( 2001).The flux of CO 2 for each box i is calculated by where k is the CO 2 gas-transfer velocity, α is the solubility of CO 2 in water based on salinity, temperature, and pressure, and pCO 2 is the atmosphere-ocean gradient of pCO 2 (Takahashi et al., 2009).The calculation of pCO 2 in each surface box is based on the concentration of CO 2 in the ocean and its solubility (a function of temperature, salinity, and pressure).At steady state, the cold high-latitude surface box (> 55 • , subpolar gyres) acts as a sink of carbon from the atmosphere, while the warm low-latitude surface box (< 55 • ) off-gases carbon back to the atmosphere.Temperatures of the surface boxes are linearly related to atmospheric global temperatures (see Sect. 4.1), T HL = T − 13 and T LL = T + 7 (Lenton, 2000).The ocean model, modeled after Lenton et al. (2000) and Knox and McElroy (1984), circulates carbon through four boxes (two surface, one intermediate depth, one deep), via water mass advection and exchange, simulating a simple thermohaline circulation (Fig. 2).At steady state, approximately 100 Pg of carbon are transferred from the highlatitude surface box to the deep box based on the volume of the box and transport (in Sv; 10 6 m 3 s −1 ) between the boxes.The change in carbon of any box i is given by the fluxes in and out, with F atm→i as the atmosphere-ocean carbon flux: As the model advances, the carbon in PgC is converted to dissolved inorganic carbon (DIC) in each box.The new DIC values are used within the chemistry submodel to calculate pCO 2 values at the next time step.

Adaptive time step solver
The fundamental time step in Hector is currently 1 year, and most model components are solved at this resolution.The carbon cycle, however, operates on a variable time step, ensuring accurate ODE solutions, even under high-emissions scenarios.This will also allow for future subannual applications where desired.The adaptive time step accomplished using the gsl_odeiv2_evolve_apply solver package of GSL 1.16, which varies the time step to keep truncation error within a specific tolerance when advancing the model.Thus, all the carbon cycle components handle indeterminate time steps less than or equal to 1 year and can signal the solver if a too-large time step is leading to instability.The solver then retries the solution, using a series of smaller steps.From the coupler's point of view, however, the entire model continues to advance in annual increments.
4 Other components

Global atmospheric temperature
Near surface global atmospheric temperature is calculated by where the user-specified λ is the climate feedback parameter, defined as λ = S /S, S is the climate sensitivity parameter (3 K) and S is the equilibrium climate sensitivity for a doubling of CO 2 (3.7 W m −2 ) (Knutti and Hegerl, 2008).RF is the total radiative forcing and F H is the ocean heat flux.F H is calculated by a simple sigmoidal expression of the ocean heat uptake efficiency k (W m −2 K −1 ) that decreases with increasing global temperatures) multiplied by the atmospheric temperature change prior to the ocean's removal of heat from the atmosphere (T H ) (Raper et al., 2002).
As global temperatures rise, the uptake capacity of the ocean may diminish, simulating both a saturation of heat in the surface and a slowdown in ocean circulation with increased temperatures.Finally, the temperature effects from atmospheric [CO 2 ] are lagged in time, as there are numerous real-world processes not simulated in Hector buffering the temperature effects of increasing atmospheric [CO 2 ].

Radiative forcing
Radiative forcing is calculated from a series of atmospheric greenhouse gases, aerosols, and pollutants (Eqs. 15,16,(18)(19)(20)(21)(22)25,29 and 30).Radiative forcing is reported as the relative radiative forcing.The base year user-specified forcings are subtracted from the total radiative forcing to yield a forcing relative to the base year (1750).

CO 2
Radiative forcing from atmospheric [CO 2 ] (in W m −2 ) is calculated based on Meinshausen et al. (2011a): where 5.35 W m −2 is a scaling parameter from Myhre et al. (1998), Ca is the current atmospheric [CO 2 ] in ppmv and C0 is the preindustrial [CO 2 ] in ppmv.
Radiative forcing by halocarbons and other gases controlled under the Montreal Protocol, SF 6 , and ozone are calculated via where α is the radiative efficiency (input parameters; in W m −2 ppbv −1 ) and [C i ] is the atmospheric concentration.

Ozone
Tropospheric ozone concentrations are calculated from the CH 4 concentration and the emissions of three primary pollutants, NO x , CO, and NMVOCs (non-methane volatile organic compounds), modified from Tanaka et al. (2007): where the constants are the ozone sensitivity factors for each of the precursors (Ehhalt et al., 2001).The radiative forcing of tropospheric ozone is calculated from a linear relationship using a radiative efficiency factor (Joos et al., 2001a): www.geosci-model-dev.net/8/939/2015/Geosci.Model Dev., 8, 939-955, 2015

BC and OC
The radiative forcing from black and organic carbon is a function of their emissions (EBC and EOC).
The coefficients include both indirect and direct forcings of black and organic carbon (fossil fuel and biomass) (Bond et al., 2013, Table C1).

Sulfate aerosols
The radiative forcing from sulfate aerosols is a combination of the direct and indirect forcings (Joos et al., 2001a).
The direct forcing by sulfate aerosols is proportional to the anthropogenic sulfur emissions (Gg S yr −1 ) divided by the sulfate emissions from 2000.The indirect forcing by sulfate aerosols is a function of the anthropogenic and natural sulfur emissions.Natural sulfur emissions, denoted by ESN, are equal to 42 000 Gg S. A time series of annual mean volcanic stratospheric aerosol forcing (W m −2 ) is supplied from Meinshausen et al. (2011b) and added to the indirect and direct forcing for a total sulfate forcing.

Methane (CH 4 )
The change in [CH 4 ] is calculated directly from CH 4 emissions, and sinks of CH 4 in the troposphere (based on the lifetime of OH), stratosphere, and soil based on Wigley et al. (2002).
where E is total CH 4 emissions (Tg yr −1 ) from both natural and anthropogenic sources, 2.78 (Tg ppb −1 ) is the conversion factor, and τ are the lifetimes of the tropospheric sink (τ OH ), the stratospheric sink (τ strat = 120 years), and the soil sink (τ soil = 160 years).Note that within Hector, natural emissions are held at a constant 300 Tg yr −1 .The lifetime of OH is a function of [CH 4 ] and the emissions of NO x , CO and VOC, based on Tanaka et al. (2007).
− (E(CO) t0 ) − 0.00315(E(VOC) t ) − (E(VOC) t0 ) The radiative forcing equation for CH 4 (Joos et al., 2001a) is a function of the concentrations (ppbv) of both CH 4 and N 2 O: The function f accounts for the overlap in CH 4 and N 2 O in their bands is

N 2 O
The change in [N 2 O] is a function of N 2 O emissions and the lifetime of N 2 O based on Ward and Mahowald (2014).
where E is total N 2 O emissions (Tg N yr −1 ), both natural and anthropogenic, 4.8 (Tg N ppbv −1 ) is the conversion factor, and τ N 2 O is the lifetime of N 2 O.We set natural emissions of N 2 O to linearly decrease from 11 Tg N yr −1 in 1765, to 8 Tg N yr −1 in 2000 and are then held constant at 8 Tg N yr −1 to 2300.The lifetime of N 2 O is a function of its initial lifetime (τ 0 ) and concentration ([ The radiative forcing equation for N 2 O (Joos et al., 2001a) is a function of the concentration (ppbv) of both CH 4 and N 2 O: The function f accounts for the overlap in CH 4 and N 2 O in their bands is the same as Eq. ( 27).

Stratospheric H 2 O from CH 4 oxidation
The radiative forcing from stratospheric H 2 O is a function of the [CH 4 ] (Tanaka et al., 2007).The coefficient 0.05 is from Joos et al. (2001a) based on the fact that the forcing contribution from stratospheric H 2 O is about 5 % of the total CH 4 forcing (IPCC, 2001).The 0.036 value of the coefficient corresponds to the same value used in the CH 4 radiative forcing equation.

Model experiments and data sources
A critical test of Hector's performance is to compare the major climatic variables calculated in Hector, e.g., atmospheric [CO 2 ], radiative forcing, and atmospheric temperature, to observational records and both simple and complex climate models.Within this study, Hector is run under prescribed emissions from 1850 to 2300 for all four RCPs, freely available at http://tntcat.iiasa.ac.at/RcpDb/ (Moss et al., 2010;van Vuuren et al., 2007;Clarke et al., 2007;Wise et al., 2009;Riahi et al., 2007;Fujino et al., 2006;Hijioka et al., 2008;Smith and Wigley, 2006).The RCPs are plausible future scenarios that were developed to improve our understanding of the coupled human climate system.RCPs by definition are concentration pathways; however, for all experiments within this study we use the corresponding emissions trajectories from each RCP as input for Hector.
Comparison data was obtained from a series of models.We compared Hector results to MAGICC, a SCM widely used in the scientific and IAM communities, for global variables such as atmospheric CO 2 , radiative forcing, and temperature (e.g., Raper et al., 2001;Wigley, 1995;Meinshausen et al., 2011a).We also compare Hector to a suite of 11 earth system models included in the 5th Coupled Model Intercomparison Project (CMIP5) archive (Taylor et al., 2012) (Table 3).All CMIP5 data were converted to yearly global averages from the historical period through the RCPs and their extensions.One standard deviation of the annual global averages and the CMIP5 model range were calculated for each variable using the RCMIP5 (http://github.com/JGCRI/RCMIP5) package in R. All CMIP5 variables used in this study are from model runs with prescribed atmospheric concentrations, except for comparisons involving atmospheric [CO 2 ] which are from the emissions-driven scenario (es-mHistorical and esmrcp85) (Figs. 3, 5).We acknowledge that this comparison, between an emissions-forced model (Hector) and concentration-forced models (CMIP5), is not perfect.However, very few CMIP5 models were run under prescribed emissions scenarios.

Historical
A critical test of Hector's performance is how well it compares to historical and present day climate from observations, MAGICC, and a suite of CMIP5 models.Rates of change and root mean square errors were calculated for Hector's primary outputs, which are summarized in Table 4.After spinup is complete in Hector, atmospheric [CO 2 ] in 1850 is 286.0 ppmv, which compares well with observations from Law Dome of 285.2 ppmv.Hector captures the global trends in atmospheric [CO 2 ] (Fig. 3) with an average root mean square error (RMSE) of 2.85 ppmv (Table 4a), when compared to observations, MAGICC6, and CMIP5 data from 1850 to 2005.The rate of change of atmospheric [CO 2 ] from 1850 to 2005 is slightly lower than the observations, MAG-ICC6, and CMIP5.Hector can be forced to match atmospheric [CO 2 ] records (Sect.2.4), but we disabled this feature to highlight the full performance of the model.Note, however, that in the MAGICC6 results a similar feature was used to force the output to match the historical atmospheric [CO 2 ] record.
Historical global atmospheric temperature anomalies (relative to 1850) are compared across Hector, MAGICC6, CMIP5, and observations from HadCRUT4 (Fig. 4).Atmospheric temperature change from Hector (0.98 • C) over the period 1850-2005 closely matches the CMIP5 temperature change (1.01 • C), both slightly higher than the observational record.Over this time period Hector has an average RMSE of 0.14   ture temperature variations due to interannual/decadal variability found in ESMs or the real world; instead, they simulate the overall trends in global mean temperature change.

Future projections
Hector's strengths lie within policy-relevant timescales of decades to centuries, and here we compare Hector to MAG-ICC and CMIP5 under differing future climate projections.
Results from all four RCPs are broadly similar when comparing Hector, to MAGICC6, and CMIP5; we display here RCP8.5 results as representative.Studies suggest that 80 % of the anthropogenic CO 2 emissions have an average atmospheric lifetime of 300-450 years (Archer et al., 1997;Rogner, 1997;Archer, 2005).Hector has all the necessary components to model the climate system from present day through the next approximately 300 years.Figure 5 highlights historical trends in atmospheric [CO 2 ], along with projections of atmospheric [CO 2 ] under esmrcp8.5 from 1850 to 2100.Note that the emissions-forced scenario only extends to 2100 and not to 2300 like the concentration-forced scenarios (e.g., Fig. 8).Both Hector and MAGICC6 are on the low end of the CMIP5 median but fall within one standard deviation and model range, with a RMSE of 9.0 ppmv (Table 4b).The CMIP5 archive does not provide emissions-prescribed scenarios for all RCPs; we can only compare atmospheric [CO 2 ] from Hector with MAGICC6 under all four RCP scenarios out to 2300 (Fig. 6).Hector's change in [CO 2 ] (1472.13ppmv) from 1850 to 2300 is slightly lower than MAGICC6 (1600.0ppmv) for RCP 8.5.This is most likely due to different representations of the global carbon cycle.We compare Hector to MAGICC6 for changes in radiative forcing under the four RCPs (Fig. 7).Radiative forcing was not provided within the CMIP5 archive and therefore we can only compare Hector and MAGICC6.Over the period 1850-2300 Hector (12.80 W m −2 ) and MAGICC6 (12.24 W m −2 ) are comparable in their change in radiative forcing, with a RMSE of 0.26 W m −2 .One noticeable difference between MAGICC6 and Hector during the historical period is the decreases in radiative forcing.This is due to the effects of volcanic emissions on radiative forcing.For simplicity, we have chosen to run Hector without these effects.4c).To highlight this close comparison, temperature change over the entire record (1850-2300) for Hector is 9.58 • C, which is within 1.0 • C of the CMIP5 median, while MAGICC6's temperature change is greater than 2.5 • C away from the CMIP5 median.
Figures 9 and 10 present a detailed view of carbon fluxes under RCP 8.5, for CMIP5 and observations (negative represents carbon flux to the atmosphere).The ocean is a major  sink of carbon through 2100, becoming less effective with time in both Hector and the CMIP5 models.MAGICC6 does not include air-sea fluxes in its output, and because it is not open source we were unable to obtain these values.Therefore, we compare air-sea fluxes of CO 2 to MAGICC5.3, updated with explicit BC and OC forcing as described in Smith and Bond (2014).Hector's calculation of air-sea fluxes is within the large CMIP5 model range up to 2100.However, after that Hector peaks close to 2150, while the CMIP5 models are beginning to decline.One potential reason for this discrepancy after 2100 is that in this version of Hector we do not simulate changes in ocean circulation, potentially biasing fluxes too high after 2100.Most ESMs in CMIP5 show a weakening of the Atlantic meridional overturning circulation by 2100 between 15 and 60 % under RCP 8.5 (Cheng et al., 2013).A slowdown in ocean circulation may result in less Figure 7. Relative radiative forcing from 1850 to 2300 for Hector (solid) and MAGICC6 (dashed) for all four RCP scenarios: 2.6 (red), 4.5 (green), 6.0 (blue), and 8.5 (purple).Hector has the option to enable or disable radiative forcing from historical volcanic emissions.We have opted to disable this for ease of comparison across all RCPs.carbon uptake by the oceans.Another potential reason for this bias is Hector's constant pole to Equator ocean temperature gradient.Studies show that the Artic is warming faster than the rest of the globe (e.g., Bintanja and van der Linden, 2013;Holland and Bitz, 2003;Bekryaev et al., 2010).A warmer high-latitude surface ocean in Hector would suppress the uptake of carbon, potentially bringing the air-sea fluxes closer to the CMIP5 median after 2100.
CMIP models tend to show huge divergences in their land responses to changing climate (e.g., Friedlingstein et al., 2006), which is evident by the large range in CMIP5 models (Fig. 10).Hector simulates the general trends of the increasing carbon sink and then a gradual decline to a carbon source after 2100.Both land and ocean fluxes within Hector agree well the observations from Le Quéré et al. (2013).
One feature in Hector that is unique amongst SCMs is its ability to actively solve the carbonate system in the upper ocean (Hartin et al., 2015).This feature allows us to predict changes ocean acidification, calcium carbonate saturations and other carbonate system parameters.Figure 11 shows low-latitude (< 55 • ) pH for Hector compared to CMIP5 and observations from 1850 to 2100 under RCP 8.5.The model projects a significant drop in pH from present day through 2100, which may lead to detrimental effects on marine ecosystems (e.g., Fabry et al., 2008).

Conclusions
Hector reproduces the large-scale couplings and feedbacks on the climate system between the atmosphere, ocean, and land, falling within the range of the CMIP5 model and matching MAGICC.It does not simulate the fine details or parameterizations found in large-scale, complex ESMs,  but instead represents the most critical global processes in a reduced-complexity form.This allows for fast execution times, ease of understanding, and straightforward analysis of the model output.
Two of Hector's key features are its open-source nature and modular design.This allows the user to edit the input files and code at will, for example, to enable/disable/replace components, or include components not found within the core version of Hector.For example, a user can design a new submodel (e.g., sea ice) to answer specific climate questions relating to that process.Hector is hosted on a widely used open-source software repository (Github) and, thus, changes and improvements can be easily shared with the scientific community.Because of these critical features, Hector has the potential to be a key analytical tool in both the policy and scientific communities.We welcome user input and encourage use, modifications, and collaborations with Hector.
While Hector has many strengths, the current 1.0 version has some limitations.For example, Hector does not currently simulate terrestrial gross primary production, a key metric of comparison to e.g., the FLUXNET database.Also, Hector does not have differential radiative forcing and atmospheric temperature calculations over land and ocean.This may be a problem, as land responds to changes in emissions of greenhouse gases and aerosols much quicker than the ocean (Hansen et al., 2005).Hector does not explicitly deal with oceanic heat uptake, except via a simple empirical formula.Surface temperatures are calculated based on a linear relationship with atmospheric temperature and we assume a constant pole to Equator temperature gradient.We acknowledge that this assumption may not hold true if the poles warm faster than the Equator.
Future plans with Hector include addressing some of the above limitations and conducting numerous scientific experiments, using Hector as a stand-alone simple climate carbon-cycle model.It is also being incorporated into Pacific Northwest National Laboratory's Global Change Assessment Model for policy-relevant experiments.Hector has the ability to be a key analytical tool used across many scientific and policy communities due to its modern software architecture, open-source, and object-oriented structure.

Figure 1 .
Figure 1.Model phases for the coupler (left) and a typical component (right).Arrows show flow of control and data.The greyed spinup step is optional.

Figure 2 .
Figure 2. Representation of Hector's carbon cycle, land, atmosphere, and ocean.The atmosphere consists of one well-mixed box.The ocean consists of four boxes, with advection and water mass exchange simulating thermohaline circulation (see Table2for description of parameters).At steady state, the high-latitude surface ocean takes up carbon from the atmosphere, while the low-latitude surface ocean off-gases carbon to the atmosphere.The land consists of a user-defined number of biomes or regions for vegetation, detritus and soil.At steady state the vegetation takes up carbon from the atmosphere while the detritus and soil release carbon back into the atmosphere.The earth pool is continually debited with each time step to act as a mass balance check on the carbon system.

Figure 3 .
Figure 3. Historical atmospheric [CO 2 ] from 1850 to 2005 for Hector (blue); CMIP5 median, standard deviation, and model range (pink, n = 4); MAGICC6 (green); Law Dome (teal); and Mauna Loa (brown).Note CMIP5 data are from the prescribed emissions historical scenario (esmHistorical).MAGICC6, however, is constrained to match the observational record.Although Hector can be run with similar constraints, in this study Hector was unconstrained to highlight the full performance of the model.n = 4 is the number of CMIP5 models used to produce this figure.

Figure 4 .
Figure 4. Historical global temperature anomaly relative to 1850 for Hector (blue); MAGICC6 (green); CMIP5 median, standard deviation and model range (pink, n = 8); and historical observations from HadCRUT4 (purple).Hector is running without the effects of volcanic forcing, leading to a smoother representation of temperature with time.

Figure 8
Figure 8 compares global temperature anomalies from Hector to MAGICC6 and CMIP5 over the four RCPs, from 2005 to 2300.Hector simulates the CMIP5 median more closely than MAGICC6 across all four RCPs, with a temperature change under RCP 8.5 for Hector of 8.59 • C, compared to MAGICC6 of 7.30 • C, while the temperature change for CMIP5 is 9.57 • C (Table4c).To highlight this close comparison, temperature change over the entire record (1850-2300) for Hector is 9.58 • C, which is within 1.0 • C of the CMIP5 median, while MAGICC6's temperature change is greater than 2.5 • C away from the CMIP5 median.Figures 9 and 10 present a detailed view of carbon fluxes under RCP 8.5, for CMIP5 and observations (negative represents carbon flux to the atmosphere).The ocean is a major

Figure 9 .
Figure 9. Global air-sea fluxes of carbon under RCP 8.5; Hector (blue); MAGICC5.3 (purple, note that this is not the current version of MAGICC); CMIP5 median, standard deviation, and model range (pink, n = 9 (1850-2100) and n = 4 (2101-2300)); and observations from GCP (green) (Le Quéré et al., 2013).The break in the graph at 2100 signifies a change in the number of models that ran the RCP 8.5 extension.
(Denman et al., 2007)g in the input file.bInorder to obtain a steady state in Hector, carbon values in the intermediate box are less than reported(Denman et al., 2007).writingmodel-calculated values with user-supplied time series data during the run.The atmospheric [CO 2 ] constraint operates slightly differently, as the global carbon cycle is subject to a continuous mass-balance check.As a result, when the user supplies a [CO 2 ] record between arbitrary dates and orders the model to match it, the model computes [CO 2 ] at each time step, and any deficit (surplus) in comparison with the constraint [CO 2 ] is drawn from (added to) the deep ocean.

Table 2 .
Model parameters for the land and ocean carbon components.
* Parameters appearing in the input file.

Table 3 .
Friedlingstein et al. (2014) this study.We use the same suite of models as found inFriedlingstein et al. (2014).Note, not all variables are reported for each model under all scenarios.
* Model for Interdisciplinary Research on Climate, Atmosphere and Ocean Research Institute; , * Models used in emissions-forced scenarios (esmHistorical and esmrcp85).

Table 4 .
Root mean square error (RMSE) for Hector versus observations, CMIP5, and MAGICC for atmospheric [CO 2 ], surface temperature anomaly, radiative forcing, fluxes of carbon (ocean and land), and low-latitude surface ocean pH and change ( ) in atmospheric [CO 2 ], surface temperature anomaly and radiative forcing for Hector, CMIP5, observations, and MAGICC6.