diff --git a/.Rprofile b/.Rprofile index bf3c215a9..3aa5a2fd7 100644 --- a/.Rprofile +++ b/.Rprofile @@ -3,26 +3,28 @@ local({ # for some reason this also has implications for symlinking into the global cache Sys.setenv(RENV_PATHS_LIBRARY = "renv/library") -# remind's renv integration previously relied on renv.lock, but now it should generally not be used anymore -# this can safely be removed in January 2024 -if (file.exists("renv.lock") && file.exists("README.md") && !file.exists("renv/old_renv.lock")) { - file.rename("renv.lock", "renv/old_renv.lock") - message("moved legacy renv.lock to renv/old_renv.lock") -} - # do not check if library and renv.lock are in sync, because normally renv.lock does not exist options(renv.config.synchronized.check = FALSE) -source("renv/activate.R") +# always set the renv project to the current directory +Sys.setenv("RENV_PROJECT" = getwd()) # when increasing renvVersion first commit new version's activate script and -# put that commit's hash into the download.file call below +# put that commit's hash into the git checkout call below renvVersion <- "1.0.7" + +# reset renv/activate.R to match renv 1.0.7 +gitRoot <- system2("git", c("rev-parse", "--show-toplevel"), stdout = TRUE) +if (Sys.getenv("RESET_RENV_ACTIVATE_SCRIPT", unset = "TRUE") == "TRUE" && + normalizePath(gitRoot) == normalizePath(".")) { + system2("git", c("checkout", "b83bb1811ff08d8ee5ba8e834af5dd0080d10e66", "--", "renv/activate.R")) +} + +source("renv/activate.R") + if (packageVersion("renv") != renvVersion) { renvLockExisted <- file.exists(renv::paths$lockfile()) renv::install(paste0("renv@", renvVersion)) - message("Downloading 'renv/activate.R' of renv version 1.0.7") - download.file("https://raw.githubusercontent.com/remindmodel/remind/b83bb1811ff08d8ee5ba8e834af5dd0080d10e66/renv/activate.R", "renv/activate.R") if (!renvLockExisted) { unlink(renv::paths$lockfile()) } @@ -36,30 +38,10 @@ if (!"https://rse.pik-potsdam.de/r/packages" %in% getOption("repos")) { if (isTRUE(rownames(installed.packages(priority = "NA")) == "renv")) { message("R package dependencies are not installed in this renv, installing now...") renv::install("rmarkdown", prompt = FALSE) # rmarkdown is required to find dependencies in Rmd files - renv::hydrate() # auto-detect and install all dependencies + renv::hydrate(prompt = FALSE, report = FALSE) # auto-detect and install all dependencies message("Finished installing R package dependencies.") } -# bootstrapping python venv, will only run once after remind is freshly cloned -if (!dir.exists(".venv/") - && (Sys.which("python3") != "" - || (Sys.which("python.exe") != "" - && suppressWarnings(isTRUE(startsWith(system2("python.exe", "--version", stdout = TRUE), "Python 3"))) - ))) { - message("Python venv is not available, setting up now...") - # use system python to set up venv - if (.Platform$OS.type == "windows") { - system2("python.exe", c("-mvenv", ".venv")) - pythonInVenv <- normalizePath(file.path(".venv", "Scripts", "python.exe"), mustWork = TRUE) - } else { - system2("python3", c("-mvenv", ".venv")) - pythonInVenv <- normalizePath(file.path(".venv", "bin", "python"), mustWork = TRUE) - } - # use venv python to install dependencies in venv - system2(pythonInVenv, c("-mpip", "install", "--upgrade", "pip", "wheel")) - system2(pythonInVenv, c("-mpip", "install", "-r", "requirements.txt")) -} - # Configure locations of REMIND input data # These can be located in directories on the local machine, remote directories, # or default directories on the cluster. @@ -74,51 +56,12 @@ if (!dir.exists(".venv/") # REMIND_repos_dirs="C:\my\first\path;D:\my\second\path" remindReposDirs <- Sys.getenv("REMIND_repos_dirs") -# for scp targets, you need to set three environment variables -# on linux e.g. (separate multiple paths by semicolons) -# REMIND_repos_scp="scp://cluster.pik-potsdam.de/p/projects/rd3mod/inputdata/output;scp://cluster.pik-potsdam.de/p/projects/remind/inputdata/CESparametersAndGDX" -# REMIND_repos_scp_user="myusername" # use your user name on the scp target, e.g. the cluster -# REMIND_repos_scp_key="/home/myusername/.ssh/id_ed25519" # path to your your ssh private key on your laptop -# on windows e.g. -# REMIND_repos_scp="scp://cluster.pik-potsdam.de/p/projects/rd3mod/inputdata/output;scp://cluster.pik-potsdam.de/p/projects/remind/inputdata/CESparametersAndGDX" -# REMIND_repos_scp_user="myusername" # use your user name on the scp target, e.g. the cluster -# REMIND_repos_scp_key="C:\Users\myusername\.ssh\id_ed25519" # path to your your ssh private key on your laptop -remindReposSCP <- Sys.getenv("REMIND_repos_scp") # scp URL -remindReposSCPUser <- Sys.getenv("REMIND_repos_scp_user") # ssh user name -remindReposSCPKey <- Sys.getenv("REMIND_repos_scp_key") # ssh key path - -# unless specified otherwise, use cluster defaults -use_cluster_defaults <- TRUE - # add local directories, if any if ("" != remindReposDirs) { - directories <- unlist(strsplit(remindReposDirs, .Platform$path.sep, - fixed = TRUE)) + directories <- unlist(strsplit(remindReposDirs, .Platform$path.sep, fixed = TRUE)) directoriesList <- rep(list(NULL), length(directories)) names(directoriesList) <- directories - options(remind_repos = c(options("remind_repos")[[1]], directoriesList)) - use_cluster_defaults <- FALSE -} - -# add remote directories, if any remote directory and username and SSH key are set -if ("" != remindReposSCP && "" != remindReposSCPUser && "" != remindReposSCPKey) { - SCPUrls <- unlist(strsplit(remindReposSCP, ";", fixed = TRUE)) - config <- list(list(username = remindReposSCPUser, ssh_private_keyfile = remindReposSCPKey)) - for (SCPUrl in SCPUrls) { - names(config) <- SCPUrl - options(remind_repos = c(options("remind_repos")[[1]], config)) - } - use_cluster_defaults <- FALSE -} - -# default to cluster directories -if (use_cluster_defaults && - all(file.exists(c("/p/projects/rd3mod/inputdata/output", - "/p/projects/remind/inputdata/CESparametersAndGDX")))) { - options(remind_repos = list( - "/p/projects/rd3mod/inputdata/output" = NULL, - "/p/projects/remind/inputdata/CESparametersAndGDX" = NULL)) } # Include local calibration results, if they exist, from either the main diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 86f878fd2..0f501109c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.6.0 + rev: v5.0.0 hooks: - id: check-case-conflict - id: check-json diff --git a/.zenodo.json b/.zenodo.json deleted file mode 100644 index 149447029..000000000 --- a/.zenodo.json +++ /dev/null @@ -1,253 +0,0 @@ -{ - "title": "REMIND - REgional Model of INvestments and Development", - "version": "3.3.2", - "creators": [ - { - "name": "Luderer, Gunnar", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-9057-6155" - }, - { - "name": "Bauer, Nico", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-0211-4162" - }, - { - "name": "Baumstark, Lavinia", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-6979-6671" - }, - { - "name": "Bertram, Christoph", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-0933-4395" - }, - { - "name": "Leimbach, Marian", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Pietzcker, Robert", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-9403-6711" - }, - { - "name": "Strefler, Jessica", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-5279-4629" - }, - { - "name": "Aboumahboub, Tino" - }, - { - "name": "Abrahão, Gabriel", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0003-0336-6246" - }, - { - "name": "Auer, Cornelia", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Benke, Falk", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Bi, Stephen", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Dietrich, Jan", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-4309-6431" - }, - { - "name": "Dirnaichner, Alois", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-3240-2608" - }, - { - "name": "Fuchs, Sophie", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0009-0000-7258-1287" - }, - { - "name": "Führlich, Pascal", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-6856-8239" - }, - { - "name": "Giannousakis, Anastasis", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-4225-0011" - }, - { - "name": "Gong, Chen Chris", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-6406-6266" - }, - { - "name": "Haller, Markus" - }, - { - "name": "Hasse, Robin", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0003-1818-3186" - }, - { - "name": "Hilaire, Jerome", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-9879-6339" - }, - { - "name": "Hoppe, Johanna", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Klein, David", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Koch, Johannes", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Körner, Alexander" - }, - { - "name": "Kowalczyk, Katarzyna", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Kriegler, Elmar", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Levesque, Antoine", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Lorenz, Alexander" - }, - { - "name": "Ludig, Sylvie" - }, - { - "name": "Lüken, Michael" - }, - { - "name": "Malik, Aman", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-7310-8448" - }, - { - "name": "Mandaroux, Rahel", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0001-5596-2571" - }, - { - "name": "Manger, Susanne" - }, - { - "name": "Merfort, Anne", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-5929-7748" - }, - { - "name": "Merfort, Leon", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0003-1704-6892" - }, - { - "name": "Moreno-Leiva, Simón", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-9625-3955" - }, - { - "name": "Mouratiadou, Ioanna" - }, - { - "name": "Odenweller, Adrian", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-1123-8124" - }, - { - "name": "Pehl, Michaja", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Pflüger, Mika", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-7814-8916" - }, - { - "name": "Piontek, Franziska", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Popin, Laura" - }, - { - "name": "Rauner, Sebastian", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Richters, Oliver", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0001-8253-4716" - }, - { - "name": "Rodrigues, Renato", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-5863-5514" - }, - { - "name": "Roming, Niklas" - }, - { - "name": "Rottoli, Marianna", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Schmidt, Eva" - }, - { - "name": "Schötz, Christof", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0003-3528-4544" - }, - { - "name": "Schreyer, Felix", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0003-0376-2599" - }, - { - "name": "Schultes, Anselm", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Sörgel, Björn", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-2630-7081" - }, - { - "name": "Ueckerdt, Falko", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Verpoort, Philipp", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0003-1319-5006" - }, - { - "name": "Weigmann, Pascal", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0001-8801-173X" - } - ], - "keywords": ["energy", "economy", "modeling"], - "license": { - "id": "AGPL-3.0-or-later" - }, - "publication_date": "2024-07-04" -} diff --git a/CHANGELOG.md b/CHANGELOG.md index c7132daae..37207d136 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,36 +4,124 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). -## [Unreleased] +## [3.4.0] - 2024-12-11 + +### input data/calibration +- new input data rev6.84 [[#1757](https://github.com/remindmodel/remind/pull/1757)] +- new input data rev6.95 in US$2017[[#1812]] (https://github.com/remindmodel/remind/pull/1812) +- new input data rev7.13 including new MAgPIE emulators [[#1886]] (https://github.com/remindmodel/remind/pull/1886) +- CES parameter and gdx files calibrated with new default diffLin2Lin for NPi + [[#1747](https://github.com/remindmodel/remind/pull/1747)] and + [[#1757](https://github.com/remindmodel/remind/pull/1757)] +- Update of NDC goals with cutoff data August 31, 2024 + [[#1816](https://github.com/remindmodel/remind/pull/1816)] +- Prepare to make input data available for externals. Do not stop on missing validation data. + [[1828]][(https://github.com/remindmodel/remind/pull/1828)] ### changed +- shift base unit from US$2005 to US$2017 [[#1812]] (https://github.com/remindmodel/remind/pull/1812) +- plastic waste by default does not lag plastics production by ten years + anymore; can be re-activated using `cm_wastelag` +- moved to edgeTransport 2.0 version [[#1749](https://github.com/remindmodel/remind/pull/1749)] +- **scripts** in readCheckScenarioConfig(), do not automatically remove path_gdx_bau if allegedly 'not needed' + [[#1809](https://github.com/remindmodel/remind/pull/1809)] +- **scripts** adjust MAgPIE coupling to US$2005 -> 2017 shift + [[#1851](https://github.com/remindmodel/remind/pull/1851)] +- **core** changed adjustment cost of geohe (central heat pumps), elh2 (electrolysis), MeOH (FT-Synthesis: H2-to-Liquids) + and h22ch4 (methanation: H2-to-Gas) to better reflect upscaling dynamics + [[#1823](https://github.com/remindmodel/remind/pull/1823)] +- **core** increase electrolysis CAPEX and slightly adjust default setting for electrolysis taxation and flexibility benefit, + add near-term bounds for electrolysis and synthetic fuel deployment + [[#1882](https://github.com/remindmodel/remind/pull/1882)] +- **core** update co2 capture rates and cost of biomass liquids and gas and some other X-to-Liq/Gas technologies to be internally consistent + [[#1881](https://github.com/remindmodel/remind/pull/1881)] ### added - +- **config** add ScenarioMIP config + [[#1894](https://github.com/remindmodel/remind/pull/1894)] and [[#1920](https://github.com/remindmodel/remind/pull/1920)] +- **32_power** increase minimum required dispatchable back-up capacity for VRE integration + [[#1789](https://github.com/remindmodel/remind/pull/1789)] +- **33_CDR** added ocean alkalinity enhancement to the CDR portfolio (OAE is turned off by default) + [[#1777](https://github.com/remindmodel/remind/pull/1777)] +- **45_carbonprice** added realization functionalForm + [[#1874](https://github.com/remindmodel/remind/pull/1874)] and [[#1723](https://github.com/remindmodel/remind/pull/1723)] +- **45_carbonprice** added realizations NPi2025, NPi2025expo and NPiexpo + [[#1851](https://github.com/remindmodel/remind/pull/1851)] and + [[#1888](https://github.com/remindmodel/remind/pull/1888)] +- **50_damages**, **51_internalizeDamages** add KotzWenz realization based on Kotz & Wenz (2024) + [[#1601](https://github.com/remindmodel/remind/pull/1601)] +- **config** add ELEVATE2p3 config + [[#1851](https://github.com/remindmodel/remind/pull/1851)] +- **scripts** define defaults for script selections in output.R + [[#1739](https://github.com/remindmodel/remind/pull/1739)] +- **scripts** fail transparently on duplicated column names in `scenario_config*.csv` files + [[#1742](https://github.com/remindmodel/remind/pull/1742)] +- **scripts** checkProjectSummations now also checks whether global intensive variables (prices) + lie between regional min/max + [[#1773](https://github.com/remindmodel/remind/pull/1773)] +- **scripts** add support for EDGE-Transport standalone results to cs2 + [[#1780](https://github.com/remindmodel/remind/pull/1780)] +- **scripts** add option to use raw land-use change emissions variable in coupled runs + [[#1796](https://github.com/remindmodel/remind/pull/1796)] +- **testthat** fail if manipulating main.gms with default cfg drops/changes switches and comments + [[#1764](https://github.com/remindmodel/remind/pull/1764)] and + [[#1767](https://github.com/remindmodel/remind/pull/1767)] +- **scripts** integrate automated scenario validation via piamValidation as output script + [[#1790](https://github.com/remindmodel/remind/pull/1790)] +- **scripts** add interactive plotting script 'selectPlots' + [[#1815](https://github.com/remindmodel/remind/pull/1815)] +- **scripts** in readCheckScenarioConfig() while running tests, check if all scenarios stated in path_gdx* columns exist + [[#1818](https://github.com/remindmodel/remind/pull/1818)] +- **scripts** fail transparently if cm_startyear is earlier than that of path_gdx_ref + [[#1851](https://github.com/remindmodel/remind/pull/1851)] +- **testthat** ignore missing historical.mif in tests because it is an optional input file + [[#1857](https://github.com/remindmodel/remind/pull/1857)] +- **scripts** Add scripts for preparing a release + [[#1871](https://github.com/remindmodel/remind/pull/1871)] + ### fixed +- **30_biomass** reset 1st gen. biofuel bound from 2045 to 2030 + [[#1890](https://github.com/remindmodel/remind/pull/1890)] +- **37_industry** included CCS from plastic waste incineration in CCS mass flows so it is + subject to injection constraints (but did not add CCS costs, see + https://github.com/remindmodel/development_issues/issues/274 +- **MAGICC7** fix climate data for time before cm_startyear on reference run + [[#1744](https://github.com/remindmodel/remind/pull/1744)] +- **scripts** fix tax convergence reporting in modelSummary + [[#1728](https://github.com/remindmodel/remind/pull/1728)] +- **scripts** cleanup non-existing realizations from settings_config.csv + [[#1718](https://github.com/remindmodel/remind/pull/1718)] +- **scripts** REMIND-MAgPIE start scripts now correctly use all non-gms cfg switches + [[#1768](https://github.com/remindmodel/remind/pull/1768)] +- **scripts** limit slurm runtime of output.R scripts to 2 hours + [[#1783](https://github.com/remindmodel/remind/pull/1783)] ### removed +- **45_carbonprice** removed superseded realizations linear, exponential and diffCurvPhaseIn2Lin + [[#1858](https://github.com/remindmodel/remind/pull/1858)] ## [3.3.2] - 2024-07-04 ### changed -- fix output generation [[#1715]] (https://github.com/remindmodel/remind/pull/1715) +- fix output generation [[#1715](https://github.com/remindmodel/remind/pull/1715)] ## [3.3.1] - 2024-06-18 ### changed -- new input data (6.77) including new GDP and population data([#83](https://github.com/pik-piam/mrdrivers/pull/83)) [[#1684]](https://github.com/remindmodel/remind/pull/1684) +- new input data (6.77) including new GDP and population data + [[#83](https://github.com/pik-piam/mrdrivers/pull/83)] [[#1684](https://github.com/remindmodel/remind/pull/1684)] - **37_industry** remove subsector-specific shares of SE - origins in FE carriers for performance reasons [[#1659]](https://github.com/remindmodel/remind/pull/1659) -- **37_industry** make process-based steel production model the default over the ces-based model [[#1663]](https://github.com/remindmodel/remind/pull/1663) + origins in FE carriers for performance reasons [[#1659](https://github.com/remindmodel/remind/pull/1659)] +- **37_industry** make process-based steel production model the default over the ces-based model [[#1663](https://github.com/remindmodel/remind/pull/1663)] - **37_industry** fixed incineration of plastic and non-plastic waste causing non-zero emissions for biomass and synfuels - [[#1682]](https://github.com/remindmodel/remind/pull/1682) -- **core** another change of preference parameters and associated computation of interest rates/mark ups [[#1663]](https://github.com/remindmodel/remind/pull/1663) + [[#1682](https://github.com/remindmodel/remind/pull/1682)] +- **core** another change of preference parameters and associated computation of interest rates/mark ups [[#1663](https://github.com/remindmodel/remind/pull/1663)] - **scripts** do not check anymore that MAgPIE uses renv [[1646](https://github.com/remindmodel/remind/pull/1646)] -- **scripts** adjust function calls after moving functionality from `remind2` [[#578]]](https://github.com/pik-piam/remind2/pull/578) to `piamPlotComparison` and `piamutils` [[#1661](https://github.com/remindmodel/remind/pull/1661) -- **scripts** enhance output script `reportCEScalib` to include additional plot formats [[#1671](https://github.com/remindmodel/remind/pull/1671) +- **scripts** adjust function calls after moving functionality from `remind2` + [[#578](https://github.com/pik-piam/remind2/pull/578)] to `piamPlotComparison` and `piamutils` [[#1661](https://github.com/remindmodel/remind/pull/1661)] +- **scripts** enhance output script `reportCEScalib` to include additional plot formats [[#1671](https://github.com/remindmodel/remind/pull/1671)] ### added - **24_trade** add optinal trade scenario for EUR hydrogen and e-liquids imports [[#1666](https://github.com/remindmodel/remind/pull/1666)] @@ -42,7 +130,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### changed - **37_industry** changed industry to have subsector-specific shares of SE - origins in FE carriers [[#1620]](https://github.com/remindmodel/remind/pull/1620) + origins in FE carriers [[#1620](https://github.com/remindmodel/remind/pull/1620)] ### added - **config** regex tests for many parameters [[#1356](https://github.com/remindmodel/remind/pull/1356)] diff --git a/CITATION.cff b/CITATION.cff index 69faef638..60f502f9a 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -1,4 +1,4 @@ -cff-version: 1.0.3 +cff-version: 1.2.0 message: If you use this model, please cite it as below. type: software authors: @@ -58,7 +58,7 @@ authors: affiliation: "Potsdam Institute for Climate Impact Research" - family-names: "Dietrich" - given-names: "Jan" + given-names: "Jan Philipp" orcid: https://orcid.org/0000-0002-4309-6431 affiliation: "Potsdam Institute for Climate Impact Research" @@ -116,6 +116,12 @@ authors: - family-names: "Koch" given-names: "Johannes" + orcid: https://orcid.org/0000-0003-2920-8086 + affiliation: "Potsdam Institute for Climate Impact Research" + +- family-names: "Köhler-Schindler" + given-names: "Laurin" + orcid: https://orcid.org/0000-0003-4268-3084 affiliation: "Potsdam Institute for Climate Impact Research" - family-names: "Körner" @@ -180,6 +186,7 @@ authors: - family-names: "Pehl" given-names: "Michaja" + orcid: https://orcid.org/0000-0003-2349-6515 affiliation: "Potsdam Institute for Climate Impact Research" - family-names: "Pflüger" @@ -215,6 +222,10 @@ authors: given-names: "Marianna" affiliation: "Potsdam Institute for Climate Impact Research" +- family-names: "Rüter" + given-names: "Tonn" + affiliation: "Potsdam Institute for Climate Impact Research" + - family-names: "Schmidt" given-names: "Eva" @@ -260,13 +271,14 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2" -date-released: 2024-07-04 +version: 3.4.0 +date-released: 2024-12-11 repository-code: https://github.com/remindmodel/remind keywords: - energy - economy - modeling - model + - active-development license: AGPL-3.0-or-later url: https://www.pik-potsdam.de/research/transformation-pathways/models/remind diff --git a/DESCRIPTION b/DESCRIPTION index a71c89512..b07b7f2f9 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -17,14 +17,15 @@ Imports: data.table, devtools, dplyr, - edgeTransport (>= 1.5.5), + edgeTransport (>= 2.7.0), + reporttransport (>= 0.5.0), flexdashboard, GDPuc, gdx (>= 1.53.0), gdxdt, gdxrrw, ggplot2, - gms (>= 0.30.7), + gms (>= 0.33.0), goxygen (>= 1.4.4), gridExtra, gtools, @@ -35,32 +36,35 @@ Imports: knitr, lazyeval, lpjclass, - lucode2 (>= 0.36.0), + lucode2 (>= 0.47.11), luplot, luscale, lusweave, magclass, magpie4 (>= 2.3.10), magpiesets, - mip (>= 0.148.12), + mip (>= 0.150.0), modelstats, - mrremind, + mrremind (>= 0.191.2), + mrcommons (>= 1.43.6), + mrdrivers (>= 3.0.0), + mrtransport (>= 0.7.1), mrvalidation, ncdf4, nleqslv, optparse, - piamenv (>= 0.4.0), - piamInterfaces (>= 0.17.4), + piamenv (>= 0.6.0), + piamInterfaces (>= 0.34.1), piamPlotComparison (>= 0.0.10), piamutils, plotly, purrr, - quitte (>= 0.3128.4), + quitte (>= 0.3137.2), R.utils, raster, readr, readxl, - remind2 (>= 1.142), + remind2 (>= 1.156.1), renv, reshape2, reticulate, diff --git a/Makefile b/Makefile index e3be3cf9d..cba1843f0 100644 --- a/Makefile +++ b/Makefile @@ -26,16 +26,7 @@ update-renv: ## Upgrade all pik-piam packages in your renv to the respective update-renv-all: ## Upgrade all packages (including CRAN packages) in your renv ## to the respective latest release, write renv.lock archive - ## Upgrade all packages in python venv, if python venv exists @Rscript -e 'renv::update(exclude = "renv"); piamenv::archiveRenv()' - @if [ -e "./venv/bin/python" ]; then \ - pv_maj=$$( .venv/bin/python -V | sed 's/^Python \([0-9]\).*/\1/' ); \ - pv_min=$$( .venv/bin/python -V | sed 's/^Python [0-9]\.\([0-9]\+\).*/\1/' ); \ - if (( 3 == $$pv_maj )) && (( 7 <= $$pv_min )) && (( $pv_min < 11 )); then \ - .venv/bin/python -mpip install --upgrade pip wheel; \ - .venv/bin/python -mpip install --upgrade --upgrade-strategy eager -r requirements.txt; \ - fi \ - fi revert-dev-packages: ## All PIK-PIAM packages that are development versions, i.e. ## that have a non-zero fourth version number component, are @@ -47,13 +38,6 @@ ensure-reqs: ## Ensure the REMIND library requirements are fulfilled ## by installing updates and new libraries as necessary. Does not ## install updates unless it is required. @Rscript -e 'source("scripts/start/ensureRequirementsInstalled.R"); ensureRequirementsInstalled(rerunPrompt="make ensure-reqs")' - @if [ -e "./venv/bin/python" ]; then \ - pv_maj=$$( .venv/bin/python -V | sed 's/^Python \([0-9]\).*/\1/' ); \ - pv_min=$$( .venv/bin/python -V | sed 's/^Python [0-9]\.\([0-9]\+\).*/\1/' ); \ - if (( 3 == $$pv_maj )) && (( 7 <= $$pv_min )) && (( $pv_min < 11 )); then \ - .venv/bin/python -mpip -qq install -r requirements.txt; \ - fi \ - fi archive-renv: ## Write renv.lock into archive. Rscript -e 'piamenv::archiveRenv()' @@ -62,6 +46,45 @@ restore-renv: ## Restore renv to the state described in interactively ## selected renv.lock from the archive or a run folder. Rscript -e 'piamenv::restoreRenv()' +clone-conda: ## Clone the specified conda environment or the active environment to a new environment in the user's home directory or specified DEST + @if [ -z "$$ENV" ] && [ -z "$$CONDA_DEFAULT_ENV" ]; then \ + echo "No Conda environment specified and no active Conda environment found."; \ + exit 1; \ + elif [ -z "$$ENV" ]; then \ + ENV=$$CONDA_DEFAULT_ENV; \ + fi; \ + TIMESTAMP=$$(date +%Y%m%d); \ + BASENAME=$$(basename $$ENV); \ + DEFAULT_CONDA_ENV_DIR=~/.conda/envs; \ + CLONE_DIR=$${DEST:-$$DEFAULT_CONDA_ENV_DIR/$$BASENAME-clone-$$TIMESTAMP}; \ + echo "Cloning Conda environment: $$ENV"; \ + echo "Cloning to: $$CLONE_DIR"; \ + echo "This might take a few minutes..."; \ + if conda create --prefix $$CLONE_DIR --clone $$ENV; then \ + echo "Done!"; \ + conda env export --prefix $$CLONE_DIR > $$CLONE_DIR.yml; \ + echo "Cloned environment saved to $$CLONE_DIR.yml"; \ + else \ + echo "Cloning failed or was interrupted."; \ + exit 1; \ + fi; + +create-conda: ## Create a conda environment from the config/py_requirements.txt file + @if [ ! -f config/py_requirements.txt ]; then \ + echo "Requirements file not found: config/py_requirements.txt"; \ + exit 1; \ + fi; \ + ENV=$${ENV:-remind}; \ + DEST=$${DEST:-$$HOME/.conda/envs}; \ + echo "Creating Conda environment: $$DEST/$$ENV with Python 3.11"; \ + mkdir -p $$DEST; \ + conda create --prefix $$DEST/$$ENV python=3.11 -y; \ + echo "Activating Conda environment: $$ENV"; \ + . $$(conda info --base)/etc/profile.d/conda.sh && conda activate $$DEST/$$ENV && \ + echo "Installing requirements from config/py_requirements.txt"; \ + pip install -r config/py_requirements.txt; \ + echo "Conda environment $$ENV created and requirements installed successfully in $$DEST with Python 3.11."; + check: ## Check if the GAMS code follows the coding etiquette ## using gms::codeCheck Rscript -e 'options(warn = 1); invisible(gms::codeCheck(strict = TRUE));' @@ -79,6 +102,7 @@ test: ## Test if the model compiles and runs without running a full test-fix: ## First run codeCheck interactively, then test if the model compiles and runs without ## running a full scenario. Tests take about 15 minutes to run. $(info Tests take about 18 minutes to run, please be patient) + @./scripts/utils/SOFEOF @Rscript -e 'rlang::with_options(warn = 1, invisible(gms::codeCheck(strict = TRUE, interactive = TRUE))); testthat::test_dir("tests/testthat");' @echo "Do not forget to commit possible changes done by codeCheck to not_used.txt files" @git add -p modules/*/*/not_used.txt @@ -92,7 +116,7 @@ test-coupled: ## Test if the coupling with MAgPIE works. Takes significantly test-coupled-slurm: ## test-coupled, but on slurm $(info Coupling tests take around 75 minutes to run. Sent to slurm, find log in test-coupled.log) make ensure-reqs - @sbatch --qos=priority --wrap="make test-coupled" --job-name=test-coupled --mail-type=END --output=test-coupled.log --comment="test-coupled.log" + @sbatch --qos=priority --wrap="make test-coupled" --job-name=test-coupled --mail-type=END,FAIL --time=180 --output=test-coupled.log --comment="test-coupled.log" test-full: ## Run all tests, including coupling tests and a default ## REMIND scenario. Takes several hours to run. @@ -101,7 +125,8 @@ test-full: ## Run all tests, including coupling tests and a default test-full-slurm: ##test-full, but on slurm $(info Full tests take more than an hour to run, please be patient) - @sbatch --qos=priority --wrap="make test-full" --job-name=test-full --mail-type=END --output=test-full.log --comment="test-full.log" + make ensure-reqs + @sbatch --qos=priority --wrap="make test-full" --job-name=test-full --mail-type=END,FAIL --output=test-full.log --comment="test-full.log" test-validation: ## Run validation tests, requires a full set of runs in the output folder $(info Run validation tests, requires a full set of runs in the output folder) @@ -109,4 +134,4 @@ test-validation: ## Run validation tests, requires a full set of runs in the out set-local-calibration: ## set up local calibration results directory @./scripts/utils/set-local-calibration.sh - $(info use `collect_calibration` script in calibration_results/ directory ) + $(info Local calibration has been set. Now use `collect_calibration` script in calibration_results/ directory ) diff --git a/README.md b/README.md index 847b1f1be..1e5ab21e0 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ Tutorials can be found in the form of markdown files in the repository: https://github.com/remindmodel/remind/tree/develop/tutorials ## COPYRIGHT -Copyright 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +Copyright 2006-2024 Potsdam Institute for Climate Impact Research (PIK) ## LICENSE This program is free software: you can redistribute it and/or modify diff --git a/config/conopt3.op6 b/config/conopt3.op6 new file mode 100644 index 000000000..0bd27e75f --- /dev/null +++ b/config/conopt3.op6 @@ -0,0 +1,10 @@ +rtnwtr = 1.e-7; +lfnicr = 1000; +lfstal = 1000; +lfilog = 500; +rtredg = 1.d-6; +rvhess 100; +lfdegi 500; +lfnsup 7000; +rtmins 0.0009765625; +rtnwmi = 1.d-9; diff --git a/config/default.cfg b/config/default.cfg index 92e4f8f9c..15064ae61 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -26,11 +26,12 @@ cfg$regionmapping <- "config/regionmappingH12.csv" ### Additional (optional) region mapping, so that those validation data can be loaded that contain the corresponding additional regions. cfg$extramappings_historic <- "" + #### Current input data revision (.) #### -cfg$inputRevision <- "6.77" +cfg$inputRevision <- "7.18" #### Current CES parameter and GDX revision (commit hash) #### -cfg$CESandGDXversion <- "31bbe498c5e0fc19da876e8b543d5aa1fc112015" +cfg$CESandGDXversion <- "354727cdf8174836422acc002670b1488410ecfd" #### Force the model to download new input data #### cfg$force_download <- FALSE @@ -40,15 +41,12 @@ cfg$force_replace <- FALSE #### list of repositories containing input data # defined in your local .Rprofile or on the cluster /p/projects/rd3mod/R/.Rprofile -cfg$repositories <- getOption("remind_repos") +cfg$repositories <- append(list("https://rse.pik-potsdam.de/data/remind/public" = NULL), + getOption("remind_repos")) #### Folder run statistics should be submitted to cfg$runstatistics <- "/p/projects/rd3mod/models/statistics/remind" -#### Folder containing magicc files that can not be published open source. These files are automatically -# copied into remind when starting a run and required to calculate climate responses (e.g. temperature). -cfg$magicc_template <- "/p/projects/rd3mod/magicc/" - #### Folders and file paths used for climate-assessment/MAGICC7 integration & reporting cfg$climate_assessment_root <- "/p/projects/rd3mod/python/climate-assessment/src/" cfg$climate_assessment_infiller_db <- "/p/projects/rd3mod/climate-assessment-files/1652361598937-ar6_emissions_vetted_infillerdatabase_10.5281-zenodo.6390768.csv" @@ -71,7 +69,7 @@ cfg$validationmodel_name <- "VALIDATIONREMIND" #### model version of the overall model (used for run statistics only). # automatically generated for development versions, updated by hand for releases -cfg$model_version <- "3.3.2" +cfg$model_version <- "3.3.2.dev1198" #### settings #### cfg$gms <- list() @@ -107,8 +105,15 @@ cfg$action <- "ce" #def <- ce # --qos, --nodes, --tasks-per-node, -job-name, --output, --mail-type, --comment. cfg$slurmConfig <- "" -# Enable Python integration to interface with other Python-based models -cfg$pythonEnabled <- "off" # def <- off +# Enable Python integration to interface with specialized, Python-based simulation models +# Python/reticulate support is enabled per default in REMIND. If you want to disable it, set the following variable to "off". +cfg$pythonEnabled <- "on" +# Examples: +# "/p/projects/rd3mod/python/environments/scm_magicc7_hpc/" -> Recommended for users of PIK computing infrastructure +# "~/.conda/envs/" -> Recommended for users outside of PIK: Use a dedicated conda (= virtual Python) environment in your home directory +# "" -> Empty string: Will use the system Python on typical Linux systems (this is discouraged) +cfg$pythonPath <- "/p/projects/rd3mod/python/environments/scm_magicc7_hpc/" +cfg$ignorePythonRequirements <- "false" # Should REMIND output be shown in console? (0:no, 2:logfile, 3:yes) cfg$logoption <- 2 @@ -131,28 +136,28 @@ cfg$files2export$start <- c("config/conopt3.opt", "config/conopt3.op2", "config/conopt3.op3", "config/conopt3.op4", + "config/conopt3.op6", "config/conopt3.op9", "core/input/historical/historical.mif", "scripts/input/exoGAINSAirpollutants.R", "scripts/input/climate_assessment_run.R", "scripts/input/climate_assessment_temperatureImpulseResponse.R", + "scripts/input/run_KotzWenz_damages.R", + "scripts/input/climate_assessment_openscm_run.py", ".Rprofile", "config/mappingEDGEtoREMINDsectors.csv", "modules/11_aerosols/exoGAINS/input/ef_gains.cs4r", "modules/11_aerosols/exoGAINS/input/emi_gains.cs4r", "modules/11_aerosols/exoGAINS/input/mappingGAINSmixedtoREMIND17activities.csv", "modules/11_aerosols/exoGAINS/input/mappingGAINStoREMINDsectors.csv", - "modules/35_transport/edge_esm/input/mapping_CESnodes_EDGE.csv", - "modules/35_transport/edge_esm/input/mapping_EDGE_REMIND_transport_categories.csv", - "modules/35_transport/edge_esm/input/value_time.cs4r", - "modules/35_transport/edge_esm/input/pref.cs4r", - "modules/35_transport/edge_esm/input/logit_exponent.cs4r", - "modules/35_transport/edge_esm/input/annual_mileage.cs4r", - "modules/35_transport/edge_esm/input/harmonized_intensities.cs4r", - "modules/35_transport/edge_esm/input/UCD_NEC_iso.cs4r", - "modules/35_transport/edge_esm/input/price_nonmot.cs4r", - "modules/35_transport/edge_esm/input/loadFactor.cs4r", - "modules/35_transport/edge_esm/input/ptab4W.cs4r") + "modules/35_transport/edge_esm/input/CAPEXandNonFuelOPEX.cs4r", + "modules/35_transport/edge_esm/input/scenSpecPrefTrends.cs4r", + "modules/35_transport/edge_esm/input/scenSpecLoadFactor.cs4r", + "modules/35_transport/edge_esm/input/scenSpecEnIntensity.cs4r", + "modules/35_transport/edge_esm/input/initialIncoCosts.cs4r", + "modules/35_transport/edge_esm/input/annualMileage.cs4r", + "modules/35_transport/edge_esm/input/timeValueCosts.cs4r", + "modules/29_CES_parameters/calibrate/input/f29_trpdemand.cs4r") # Files that should be copied after the REMIND run is finished cfg$files2export$end <- NULL diff --git a/config/gdx-files/files b/config/gdx-files/files index 6e8aef604..8387b8679 100644 --- a/config/gdx-files/files +++ b/config/gdx-files/files @@ -1,8 +1,7 @@ indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2-Kap_debt_limit-Reg_62eff8f7.gdx +indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2-Kap_debt_limit-Reg_2b1450bc.gdx indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP1-GDP_gdp_SSP1-En_gdp_SSP1-Kap_debt_limit-Reg_62eff8f7.gdx -indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SDP_MC-GDP_gdp_SDP_MC-En_gdp_SDP_MC-Kap_debt_limit-Reg_62eff8f7.gdx -indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SDP_RC-GDP_gdp_SDP_RC-En_gdp_SDP_RC-Kap_debt_limit-Reg_62eff8f7.gdx -indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SDP_EI-GDP_gdp_SDP_EI-En_gdp_SDP_EI-Kap_debt_limit-Reg_62eff8f7.gdx +indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP3-GDP_gdp_SSP3-En_gdp_SSP3-Kap_debt_limit-Reg_62eff8f7.gdx indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP5-GDP_gdp_SSP5-En_gdp_SSP5-Kap_debt_limit-Reg_62eff8f7.gdx -indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2-Kap_debt_limit-Reg_2b1450bc.gdx +indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2_lowEn-Kap_debt_limit-Reg_62eff8f7.gdx diff --git a/config/py_requirements.txt b/config/py_requirements.txt new file mode 100644 index 000000000..03791fe88 --- /dev/null +++ b/config/py_requirements.txt @@ -0,0 +1,15 @@ +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de +# Use Gabriels version of climate_assessment +climate-assessment @ git+https://github.com/gabriel-abrahao/climate-assessment.git@5d4d81ffed1d2af9cb463608b9a41d91ed02ea63 + +# netcdf for HDF5 support +netCDF4>=1.6.0 + +# No new numpy, no old pandas +numpy<3 +pandas>2 diff --git a/config/scenario_config.csv b/config/scenario_config.csv index ec5658010..4c203ab87 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -1,50 +1,46 @@ -title;start;CES_parameters;optimization;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;c_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_bioenergy_SustTax;cm_maxProdBiolc;c_ccsinjecratescen;c_ccscapratescen;cm_subsec_model_steel;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description -# H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;;14;;;rcp45;;;0;NPi;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-Base;1,AMT;;;;;;;;;0;;;;;;;off;;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-NDC;1,AMT;;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2025;;SSP2-NPi;SSP2-NPi;SSP2-NPi;SSP2-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NDC includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the begining of 2021 continues over the 21st century. -SSP2-NPi;1,AMT,compileInTests;;;;;;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-PkBudg500;1,AMT;;;;;;rcp20;9;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg650;1,AMT;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg1050;1,AMT;;;;;;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;60;2100;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-EU21-NPi-calibrate;calibrate;calibrate;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;0;NPi;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-EU21-Base;1,AMT,compileInTests;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;0;;;;;;;off;;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-EU21-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-EU21-NDC;1,AMT;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;9;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2025;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NDC includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the begining of 2021 continues over the 21st century. -SSP2-EU21-NPi;1,AMT;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-EU21-PkBudg500;1,AMT;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg650;1,AMT;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg1050;1,AMT;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;60;2100;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP1-NPi-calibrate;calibrate;calibrate;;14;;;rcp45;;;0;NPi;;;;9;;;2;1.025;1.75;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;SSP1;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. -SSP1-NDC;1,AMT,compileInTests;;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;2;1.025;1.75;;2;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;SSP1;Mix2;2025;;SSP2-NPi;SSP1-NPi;SSP1-NPi;SSP1-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NDC includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the begining of 2021 continues over the 21st century. -SSP1-NPi;1,AMT;;;;;;rcp45;3;;0;NPi;;;;9;;;2;1.025;1.75;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;SSP1;Mix1;2005;;;;;SSP1-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP1-PkBudg650;1,AMT;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;2;1.025;1.75;;2;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;SSP1;Mix4;2025;;SSP2-NPi;;;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP1-PkBudg1050;1,AMT;;;;;;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;60;2100;;9;;;2;1.025;1.75;;2;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;SSP1;Mix3;2025;;SSP2-NPi;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP5-NPi-calibrate;calibrate;calibrate;;14;;;rcp45;;;0;NPi;;;;9;;;1;;1.75;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. -SSP5-NDC;1,AMT;;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;1;;1.75;;3;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2;2025;;SSP2-NPi;SSP5-NPi;SSP5-NPi;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NDC includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the begining of 2021 continues over the 21st century. -SSP5-NPi;1,AMT;;;;;;rcp45;3;;0;NPi;;;;9;;;1;;1.75;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP5-PkBudg650;1,AMT;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;150;2080;;9;;;1;;1.75;;3;2;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4;2025;;SSP2-NPi;;;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP5-PkBudg1050;1,AMT,compileInTests;;;;;;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;80;2100;;9;;;1;;1.75;;3;2;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3;2025;;SSP2-NPi;;;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SDP_MC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SDP_MC-NPi-calibrate;calibrate;calibrate;;14;;;rcp45;;;0;NPi;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;152;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SDP_MC;gdp_SDP_MC;gdp_SDP_MC;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix4;2005;;;;;"SDP_MC-calibration: This baseline calibration scenario follows the Sustainable Development Pathway scenario following the narrative of ""Managing the global commons"": strong global institutions - efficient technological solutions." -SDP_MC-NDC;1,AMT;;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;152;2;;;;;;;NDCplus;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SDP_MC;gdp_SDP_MC;gdp_SDP_MC;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix4;2025;;SSP2-NPi;SDP_MC-NPi;SDP_MC-NPi;"SDP_MC-NDC: This Nationally Determined Contribution (NDC) scenario follows the Sustainable Development Pathway scenario following the narrative of ""Managing the global commons"": strong global institutions - efficient technological solutions. The NDC includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the begining of 2021 continues over the 21st century." -SDP_MC-NPi;1,AMT;;;;;;rcp45;3;;0;NPi;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;152;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SDP_MC;gdp_SDP_MC;gdp_SDP_MC;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix4;2005;;;;;"SDP_MC-NPi: This National Policies Implemented (NPi) scenario follows the Sustainable Development Pathway scenario following the narrative of ""Managing the global commons"": strong global institutions - efficient technological solutions. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies." -SDP_MC-PkBudg650;1,AMT,compileInTests;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;150;2045;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;152;2;;;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDCplus;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SDP_MC;gdp_SDP_MC;gdp_SDP_MC;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;MFR;Mix4;2025;;SSP2-NPi;;;"SDP_MC-PkBudg650: This climate policy scenario follows the Sustainable Development Pathway scenario following the narrative of ""Managing the global commons"": strong global institutions - efficient technological solutions. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century." -# H12 SDP_EI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SDP_EI-NPi-calibrate;calibrate;calibrate;;14;;;rcp45;;;0;NPi;;;;9;GLO 0.14, EUR_regi 0.15;;2;1.025;1.75;300;;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SDP_EI;gdp_SDP_EI;gdp_SDP_EI;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;SSP1;Mix4;2005;;;;;"SDP_EI-calibration: This baseline calibration scenario follows the Sustainable Development Pathway scenario following the narrative of ""Economy-driven innovation"": tech & market driven - globalized word - high-growth." -SDP_EI-NDC;0;;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;GLO 0.14, EUR_regi 0.15;;2;1.025;1.75;300;;2;;;;;;NDCplus;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SDP_EI;gdp_SDP_EI;gdp_SDP_EI;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;SSP1;Mix4;2025;;SSP2-NPi;SDP_EI-NPi;SDP_EI-NPi;"SDP_EI-NDC: This Nationally Determined Contribution (NDC) scenario follows the Sustainable Development Pathway scenario following the narrative of ""Economy-driven innovation"": tech & market driven - globalized word - high-growth. The NDC includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the begining of 2021 continues over the 21st century." -SDP_EI-NPi;0;;;;;;rcp45;3;;0;NPi;;;;9;GLO 0.14, EUR_regi 0.15;;2;1.025;1.75;300;;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SDP_EI;gdp_SDP_EI;gdp_SDP_EI;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;SSP1;Mix4;2005;;;;;"SDP_EI-NPi: This National Policies Implemented (NPi) scenario following the narrative of ""Economy-driven innovation"": tech & market driven - globalized word - high-growth. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies." -SDP_EI-PkBudg650;0;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;150;2045;;9;GLO 0.14, EUR_regi 0.15;;2;1.025;1.75;300;;2;;feelhpb 1.05, fehob 1.75, feheb 0.35;manual;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05;2050.GLO 0.9;NDCplus;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SDP_EI;gdp_SDP_EI;gdp_SDP_EI;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;SSP1;Mix4;2025;;SSP2-NPi;;;"SDP_EI-PkBudg650: This climate policy scenario following the narrative of ""Economy-driven innovation"": tech & market driven - globalized word - high-growth. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century." -# H12 SDP_RC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SDP_RC-NPi-calibrate;calibrate;calibrate;;14;;;rcp45;;;0;NPi;;;;9;;;4;1.025;2;100;5;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SDP_RC;gdp_SDP_RC;gdp_SDP_RC;lowOil;lowGas;lowCoal;2;;4;3;SDP;;1;forcing_SSP1;SSP1;Mix3;2005;;;;;"SDP_RC-calibration: This baseline calibration scenario follows the Sustainable Development Pathway scenario following the narrative of ""Resilient communities"": human well-being - behavioural change - local & less tech-driven." -SDP_RC-NDC;0;;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;4;1.025;2;100;5;;;;;;;NDCplus;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SDP_RC;gdp_SDP_RC;gdp_SDP_RC;lowOil;lowGas;lowCoal;2;;4;3;SDP;;1;forcing_SSP1;SSP1;Mix3;2025;;SSP2-NPi;SDP_RC-NPi;SDP_RC-NPi;"SDP_RC-NDC: This Nationally Determined Contribution (NDC) scenario follows the Sustainable Development Pathway scenario following the narrative of ""Resilient communities"": human well-being - behavioural change - local & less tech-driven. The NDC includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the begining of 2021 continues over the 21st century." -SDP_RC-NPi;0;;;;;;rcp45;3;;0;NPi;;;;9;;;4;1.025;2;100;5;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SDP_RC;gdp_SDP_RC;gdp_SDP_RC;lowOil;lowGas;lowCoal;2;;4;3;SDP;;1;forcing_SSP1;SSP1;Mix3;2005;;;;;"SDP_RC-NPi: This National Policies Implemented (NPi) scenario follows the Sustainable Development Pathway scenario following the narrative of ""Resilient communities"": human well-being - behavioural change - local & less tech-driven. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies." -SDP_RC-PkBudg650;0;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;150;2045;2060;9;;;4;1.025;2;100;5;;;feelhpb 1.05, fehob 1.75, feheb 0.35;manual;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05;2050.GLO 0.9;NDCplus;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SDP_RC;gdp_SDP_RC;gdp_SDP_RC;lowOil;lowGas;lowCoal;2;;4;;SDP;;1;forcing_SSP1;SSP1;Mix3;2025;;SSP2-NPi;;;"SDP_RC-PkBudg650: This climate policy scenario follows the Sustainable Development Pathway scenario following the narrative of ""Resilient communities"": human well-being - behavioural change - local & less tech-driven. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century." -# H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2_lowEn-NPi-calibrate;calibrate;calibrate;;14;;;rcp45;;;0;NPi;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. -SSP2_lowEn-NDC;0;;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix2;2025;;SSP2-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NDC includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the begining of 2021 continues over the 21st century. -SSP2_lowEn-NPi;0;;;;;;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2_lowEn-PkBudg650;0;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;;;;;;Mix4;2025;;SSP2-NPi;;;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2_lowEn-PkBudg1050;0;;;;;;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;60;2100;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;;;;;;Mix3;2025;;SSP2-NPi;;;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;subsidizeLearning;cm_prtpScen;capitalMarket;cm_iterative_target_adj;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_regiDiff;cm_taxCO2_regiDiff_endYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_bioenergy_SustTax;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_ccscapratescen;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;c_changeProdCost;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +# H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;14;;;rcp45;;;;;0;NPi;;;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-NDC;1,AMT,2;;;;;rcp45;globallyOptimal;;;3;0;NDC;;;;;;9;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;1;2030;;SSP2-NPi2025;SSP2-NPi;SSP2-NPi2025;SSP2-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. The NDC includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the begining of 2021 continues over the 21st century. +SSP2-NDCsy2025;1,AMT,2;;;;;rcp45;globallyOptimal;;;3;0;NDC;;;;;;9;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;5;2025;;SSP2-NPi;SSP2-NPi;SSP2-NPi2025;SSP2-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi until 2020 and has start year 2025.The NDC includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the begining of 2021 continues over the 21st century. +SSP2-NPi;1,AMT,compileInTests,2;;;;;rcp45;;;;0;0;NPi;;;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-NPi2025;1,AMT,2;;;;;rcp45;;;;0;0;NPi2025;;;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;;2005;;;;;SSP2-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-PkBudg500;1,AMT,2;;;;;rcp20;globallyOptimal;;;9;500;functionalForm;;200;2045;;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;1;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg650;1,AMT,2;;;;;rcp20;globallyOptimal;;;9;650;functionalForm;;100;2055;;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;1;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg1000;1,AMT,2;;;;;rcp26;globallyOptimal;;;9;1000;functionalForm;;75;2080;;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;1;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP2-EcBudg400;1,AMT,2;;;;;rcp26;globallyOptimal;;;5;400;functionalForm;exponential;70;;initialSpread20;GLO 2070;9;;;;;1;1;0;;;;;;2060.GLO 0.9;NDC;regiCarbonPrice;(2080,2090,2100,2110,2130,2150).GLO.tax.t.oae.all 5000;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;1;2035;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-EcBudg400: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes an end-of-century budget of 400 Gt CO2 on total CO2 emissions from 2020 to 2100. This is a high overshoot scenario with delayed climate policy. +SSP2-rollBack;1,AMT,2;;;;;rcp45;;;;0;0;none;;;;;;0;;;5;;;;;;;;;;;none;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;1;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-rollBack: This rollback of climate policy scenario follows the Shared Socioeconomic Pathways 3 called Middle of the Road. +# EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-EU21-NPi-calibrate;calibrate;calibrate;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;;;0;NPi;;;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-EU21-NDC;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;globallyOptimal;;;3;0;NDC;;;;;;9;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;1;2030;;SSP2-EU21-NPi2025;SSP2-EU21-NPi;SSP2-EU21-NPi2025;SSP2-EU21-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. The NDC includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the begining of 2021 continues over the 21st century. +SSP2-EU21-NDCsy2025;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;globallyOptimal;;;3;0;NDC;;;;;;9;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;5;2025;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi2025;SSP2-EU21-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi until 2020 and has start year 2025. The NDC includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the begining of 2021 continues over the 21st century. +SSP2-EU21-NPi;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;;0;0;NPi;;;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-EU21-NPi2025;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;;0;0;NPi2025;;;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;;2005;;;;;SSP2-EU21-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;globallyOptimal;;;9;500;functionalForm;;200;2045;;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;1;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi2025;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;globallyOptimal;;;9;650;functionalForm;;100;2055;;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;1;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi2025;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;globallyOptimal;;;9;1000;functionalForm;;75;2080;;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;1;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi2025;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;3;;;0;NPi;;;;;;9;;;1;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix1;;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NPi_impCM-calibrate;calibrate;calibrate;14;;;rcp45;;3;imperfect;;0;NPi;;;;;;9;;;1;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix1;;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NDC;1;;;;;rcp45;;3;;3;0;NDC;;;;;;9;;;1;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix2ICEban;1;2030;;SSP2-NPi2025;SSP2-NPi;;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. It assumes NPi2025 until 2025 and has start year 2030. The NDC includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the begining of 2021 continues over the 21st century. +SSP3-NPi2025;1;;;;;rcp45;;3;;0;0;NPi2025;;;;;;9;;;1;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix2ICEban;1;2030;;SSP2-NPi2025;;;SSP3-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP3-PkBudg1000;1;;;;;rcp26;;3;;9;1000;functionalForm;;75;2080;;GLO 2100;9;;;1;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;;SSP3;1.5;;forcing_SSP3;CLE;Mix3ICEban;1;2030;;SSP2-NPi2025;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP3-rollBack;1;;;;;rcp45;;3;;0;0;none;;;;;;0;;;5;;;;;;;;;;;none;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix1;1;2030;;SSP2-NPi2025;;;SSP3-rollBack: This rollback of climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. +# H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;;;0;NPi;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. +SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;globallyOptimal;;;3;0;NDC;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;1;2030;;SSP2-NPi2025;SSP2-NPi;;SSP1-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. It assumes NPi2025 until 2025 and has start year 2030. The NDC includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the begining of 2021 continues over the 21st century. +SSP1-NPi2025;1,AMT;;;;;rcp45;;;;0;0;NPi2025;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;1;2030;;SSP2-NPi2025;;;SSP1-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP1-PkBudg650;1,AMT;;;;;rcp20;globallyOptimal;;;9;650;functionalForm;;100;2055;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix4ICEban;1;2030;;SSP2-NPi2025;;;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP1-PkBudg1000;1,AMT;;;;;rcp26;globallyOptimal;;;9;1000;functionalForm;;75;2080;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix3ICEban;1;2030;;SSP2-NPi2025;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;;;0;NPi;;;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. +SSP2_lowEn-NDC;1,AMT;;;;;rcp45;globallyOptimal;;;3;0;NDC;;;;;;9;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;1;2030;;SSP2-NPi2025;SSP2-NPi;;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. This scenario also assumes low energy demand trajectories. The NDC includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the begining of 2021 continues over the 21st century. +SSP2_lowEn-NPi2025;1,AMT;;;;;rcp45;;;;0;0;NPi2025;;;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;1;2030;;SSP2-NPi2025;;;SSP2_lowEn-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;globallyOptimal;;;9;650;functionalForm;;100;2055;;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix4ICEban;1;2030;;SSP2-NPi2025;;;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;globallyOptimal;;;9;1000;functionalForm;;75;2080;;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix3ICEban;1;2030;;SSP2-NPi2025;;;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP5-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;;;0;NPi;;;;;;9;;;1;1.75;;;;3;2;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. +SSP5-NDC;1;;;;;rcp45;globallyOptimal;;;3;0;NDC;;;;;;9;;;1;1.75;;;;3;2;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;1;2030;;SSP2-NPi2025;SSP2-NPi;;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. It assumes NPi2025 until 2025 and has start year 2030. The NDC includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the begining of 2021 continues over the 21st century. +SSP5-NPi2025;1;;;;;rcp45;;;;0;0;NPi2025;;;;;;9;;;1;1.75;;;;3;2;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;1;2030;;SSP2-NPi2025;;;SSP5-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP5-PkBudg650;1;;;;;rcp20;globallyOptimal;;;9;650;functionalForm;;100;2055;;;9;;;1;1.75;;;;3;2;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;1;2030;;SSP2-NPi2025;;;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP5-PkBudg1000;1,compileInTests;;;;;rcp26;globallyOptimal;;;9;1000;functionalForm;;75;2080;;;9;;;1;1.75;;;;3;2;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;1;2030;;SSP2-NPi2025;;;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. diff --git a/config/scenario_config_21_EU11_2040_target.csv b/config/scenario_config_21_EU11_2040_target.csv new file mode 100644 index 000000000..be59a4bce --- /dev/null +++ b/config/scenario_config_21_EU11_2040_target.csv @@ -0,0 +1,215 @@ +title;start;c_tech_CO2capturerate;cm_limitSolidsFossilRegi;cm_INCONV_PENALTY_FESwitch;cm_seFeSectorShareDevMethod;c_seFeSectorShareDevUnit;c_seFeSectorShareDevScale;c_ccsinjecratescen;trade;cm_import_EU;cm_implicitQttyTargetType;cm_implicitQttyTarget;regipol;cm_emiMktTarget;cm_emiMktTarget_tolerance;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_EDGEtr_scen;cm_wasteIncinerationCCSshare;cm_SEtaxRampUpParam;cm_regiExoPrice;CES_parameters;optimization;cm_nash_mode;c_testOneRegi_region;c_keep_iteration_gdxes;cm_abortOnConsecFail;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_startyear;cm_peakBudgYr;cm_emiscen;techpol;cm_multigasscen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;description;cm_PriceDurSlope_elh2;cm_adj_coeff;cm_inco0Factor +xx_Calib;0,calib;;;;sqSectorAvrgShare;;;;;;;;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;Mix1;;;;calibrate;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;0;NPi;;;9;NPi2018;3;2005;;;;Npi;;; +xx_Npi;0,npi;;EUR_regi;;sqSectorAvrgShare;;;;;;;;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;Mix1;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;9;NPi2018;3;2005;;;;Npi;;; +# Policy Scenarios EU27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +## 55% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Nzero_55_bio4;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Npi;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio7p5;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Npi;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio12;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Npi;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio20;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Npi;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio4;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio7p5;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio12;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio20;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio4;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio7p5;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio12;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio20;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio4;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio7p5;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio12;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio20;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; +## 57% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Nzero_57_bio4;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio7p5;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio12;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio20;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio4;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio7p5;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio12;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio20;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio4;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio7p5;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio12;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio20;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio4;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio7p5;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio12;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio20;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; +## 59% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Nzero_59_bio4;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;20;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio7p5;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio12;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;20;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio20;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio4;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio7p5;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio12;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio20;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio4;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio7p5;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio12;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio20;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio4;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio7p5;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio12;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio20;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; +# Limited Carbon capture;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +## limCC - 55% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Nzero_55_bio4_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio7p5_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bioxx_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio20_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio4_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio7p5_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bioxx_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio20_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio4_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio7p5_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bioxx_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio20_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio4_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio7p5_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bioxx_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio20_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +## limCC - 57% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Nzero_57_bio4_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio7p5_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bioxx_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio20_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio4_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio7p5_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bioxx_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio20_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio4_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio7p5_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bioxx_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio20_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio4_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio7p5_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bioxx_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio20_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +## limCC - 59% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Nzero_59_bio4_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio7p5_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bioxx_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio20_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio4_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio7p5_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bioxx_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio20_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio4_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio7p5_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bioxx_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio20_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio4_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio7p5_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bioxx_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio20_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +# Limited Variable Renewables;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +## limRES - 55% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Nzero_55_bio4_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio7p5_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bioxx_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio20_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio4_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio7p5_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bioxx_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio20_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio4_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio7p5_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bioxx_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio20_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio4_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio7p5_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bioxx_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio20_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +## limRES - 57% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Nzero_57_bio4_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio7p5_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bioxx_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio20_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio4_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio7p5_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bioxx_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio20_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio4_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio7p5_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bioxx_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio20_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio4_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio7p5_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bioxx_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio20_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +## limRES - 59% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Nzero_59_bio4_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio7p5_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bioxx_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio20_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio4_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio7p5_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bioxx_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio20_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio4_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio7p5_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bioxx_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio20_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio4_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio7p5_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bioxx_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio20_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +# Limited Hydrogen and E-fuels;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +## limH2 - 55% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Nzero_55_bio4_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio7p5_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bioxx_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio20_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio4_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio7p5_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bioxx_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio20_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio4_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio7p5_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bioxx_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio20_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio4_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio7p5_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bioxx_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio20_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +## limH2 - 57% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Nzero_57_bio4_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio7p5_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bioxx_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio20_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio4_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio7p5_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bioxx_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio20_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio4_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio7p5_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bioxx_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio20_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio4_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio7p5_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bioxx_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio20_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +## limH2 - 59% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Nzero_59_bio4_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio7p5_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bioxx_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio20_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio4_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio7p5_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bioxx_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio20_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio4_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio7p5_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bioxx_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio20_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio4_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio7p5_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bioxx_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio20_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +# Test Runs;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Npi_DEU;0,DEUtest;;EUR_regi;;;;;;;;;;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;Mix1;;;;;testOneRegi;;DEU;1;1;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;9;NPi2018;3;2005;;;;Npi;;; +xx_Npi_IND;0,INDtest;;;;;;;;;;;;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;Mix1;;;;;testOneRegi;;IND;1;1;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;9;NPi2018;3;2005;;;;Npi;;; +xx_Npi_NEN;0,NENtest;;;;;;;;;;;;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;Mix1;;;;;testOneRegi;;NEN;1;1;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;9;NPi2018;3;2005;;;;Npi;;; diff --git a/config/scenario_config_21_EU11_ARIADNE.csv b/config/scenario_config_21_EU11_ARIADNE.csv new file mode 100755 index 000000000..2b64f5ee3 --- /dev/null +++ b/config/scenario_config_21_EU11_ARIADNE.csv @@ -0,0 +1,18 @@ +title;start;copyConfigFrom;.description;CES_parameters;c_keep_iteration_gdxes;cm_calibration_string;optimization;c_testOneRegi_region;cm_solver_try_max;cm_nash_mode;cm_startIter_EDGET;subsidizeLearning;trade;cm_trade_SE_exog;cm_EnSecScen_price;cm_EnSecScen_limit;cm_Ger_Pol;c_ccsinjecratescen;c_ccsinjecrateRegi;cm_ccsinjeCost;cm_frac_NetNegEmi;cm_bioprod_regi_lim;c_tech_earlyreti_rate;cm_import_tax;cm_1stgen_phaseout;c_agricult_base_shift;cm_altFeEmiFac;cm_PriceDurSlope_elh2;cm_SEtaxRampUpParam;cm_build_H2costAddH2Inv;cm_steel_secondary_max_share_scenario;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_exogDem_scen;cm_wasteIncinerationCCSshare;cm_feedstockEmiUnknownFate;cm_ind_energy_limit;cm_ind_energy_limit_manual;cm_FEtax_trajectory_abs;cm_FEtax_trajectory_rel;cm_inco0Factor;cm_adj_coeff_multiplier;cm_adj_seed_multiplier;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;cm_budgetCO2from2020;carbonprice;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_IncAfterPeakBudgYr;techpol;regipol;cm_regiExoPrice;cm_emiMktTarget;cm_emiMktTarget_tolerance;cm_NucRegiPol;cm_CoalRegiPol;cm_EDGEtr_scen;cm_emiscen;cm_multigasscen;cm_POPscen;cm_GDPscen;cm_demScen;cm_startyear;path_gdx;path_gdx_ref +# _____Reference Runs_____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Calib_EU_NPi;0;;Calibration Run with National Policies Implemented (NPI);calibrate;;;;;;;;;se_trade;;;;;;;;;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;NPi;1;;;NPi2018;regiCarbonPrice;;;;on;on;Mix1;9;3;;;;2005;; +NPi;0;Calib_EU_NPi;National Policies implemented;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Calib_EU_Npi_lowDem;0;Calib_EU_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;NAV_all;;;;;gdp_SSP2EU_NAV_all;;; +Npi_lowDem;0;Calib_EU_Npi_lowDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +# ____ Standard Scenarios______;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.045, 2035.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;;off;;;fehob 1.75, enhb 0.5;;;ariadne_bal;;;manual; 2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90, 2100 . DEU . (ue_otherInd, ue_cement, ue_chemicals) 0.01;;;;;;;;;;;;;;;;;EU27_regi.(2025 65,2030 94,2035 124,2040 141,2045 162,2050 175,2055 175,2060 175,2070 175,2080 175,2090 175,2100 175,2110 175,2130 175,2150 175);;;;;Mix3;;;;;;2025;;NPi +KN2045_Bal_v4;0;;Standard Ariadne scenario with -55% GHG in 2030 and GHG neutrality goal in 2050 for EU (incl. EU LULUCF sink), -65% GHG in 2030 and GHG neutrality goal in 2045 for Germany;;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;;off;;;fehob 1.75, enhb 0.5;manual;feelhth_otherInd 1.3;ariadne_bal;;;manual; 2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90, 2100 . DEU . (ue_otherInd, ue_cement, ue_chemicals) 0.01;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;650;functionalForm;100;2080;3;;regiCarbonPrice;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;0.003;on;on;Mix4;9;;;;;2025;;NPi +KN2045_Elec_v4;0;KN2045_Bal_v4;Scenario with high electrification, low H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.183, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feh2_otherInd 0.7, feelhth_otherInd 0.9, feh2_cement 2.2, feh2_chemicals 1.05;;;;;;;2040.build.feels 0.7, 2040.build.fegas 1.3, 2040.indst.feels 0.7, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 0.7, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3;tdh2s 3, tdh2t 3;;;;;;;;;;;;;;;;;;;;;;;;;;; +KN2045_H2_v4;0;KN2045_Bal_v4;Scenario with high H2 and synfuel use, high H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.732, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;20;;0.1;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feh2_otherInd 0.01, feelhth_otherInd 1.6, feh2_cement 0.43, feelhth_chemicals 1.6, feh2_chemicals 0.43;;;;;;;2040.build.feels 1.3, 2040.build.fegas 1.3, 2040.indst.feels 1.3, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 1.3, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3, 2040.trans.feh2t 0.7;tdh2s 0.5, tdh2t 0.5;;;;;;;;;;;;;;;;;;;HydrHype4;;;;;;;; +# ____ Energy Security Scenarios___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +KN2045_EnSov;0;KN2045_Bal_v4;Energy security scenario with limits/taxes on PE gas consumption in Germany and reduced steel demand;;;;;;;;;;;;on;2;ensec;;;;;;;;;;EUR_regi, NEU_regi;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.1, fega_steel 0.4;ariadne_lowDem;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +# ____ low-demand/high-demand scenarios ____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +KN2045plus_EasyRide;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5, feheb 0.01;;feelhth_otherInd 0.9, feh2_chemicals 0.43;ariadne_lowDem;;;;2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90;;;tdh2s 0.5, tdh2t 0.5;spv 0.5, storspv 0.5, wind 0.5, storwind 0.5, elh2 0.5;spv 2, storspv 2, wind 2, storwind 2, elh2 2;;;;;;;;;;;;;off;;;;NAV_all;;;;;gdp_SSP2EU_NAV_all;;;Npi_lowDem +KN2045plus_LowDemand;0;KN2045_Bal_v4;;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.045, 2035.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5, feheb 0.01;;feelhth_otherInd 0.9, feh2_chemicals 0.43;ariadne_bal;;;;2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90;;;tdh2s 3, tdh2t 3;spv 2, storspv 2, wind 2, storwind 2, elh2 2;spv 0.5, storspv 0.5, wind 0.5, storwind 0.5, elh2 0.5;;;;;;;;;;;;;off;;;;NAV_all;;;;;gdp_SSP2EU_NAV_all;;;Npi_lowDem +KN2045minus_WorstCase;0;KN2045_Bal_v4;;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.045, 2035.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;;;;;;;;;;;;;;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;;ariadne_highDem;;;;;;;tdh2s 3, tdh2t 3;spv 2, storspv 2, wind 2, storwind 2, elh2 2;spv 0.5, storspv 0.5, wind 0.5, storwind 0.5, elh2 0.5;;;;;;;;;;;;;;;;;;;;;;;;; +KN2045minus_SupplyFocus;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ariadne_highDem;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/config/scenario_config_21_EU11_ECEMF.csv b/config/scenario_config_21_EU11_ECEMF.csv index 9ae582314..be47036b7 100644 --- a/config/scenario_config_21_EU11_ECEMF.csv +++ b/config/scenario_config_21_EU11_ECEMF.csv @@ -1,54 +1,54 @@ -title;start;CES_parameters;optimization;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;c_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_bioenergy_SustTax;cm_maxProdBiolc;c_ccsinjecratescen;c_ccscapratescen;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;water;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description;cm_loadFromGDX_implicitQttyTargetTax;cm_implicitPriceTarget;cm_implicitPePriceTarget;cm_VREminShare;c_regi_nucscen;cm_incolearn;cm_learnRate;cm_regiExoPrice;c_testOneRegi_region;cm_nash_mode;c_keep_iteration_gdxes;cm_abortOnConsecFail;cm_emiMktTarget_tolerance -# _____default_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_DIAG-NPI;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;heat;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies.;;;;;;;;;;;1;; -# _____pure_carbon_pricing_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_DIAG-C80-gr5;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;GLO.(2025 34,2030 44,2035 56,2040 71,2045 91,2050 116,2055 148,2060 190,2070 309,2080 503,2090 819,2100 1334,2110 1334,2130 1334,2150 1334);;;;; -xx_DIAG-C0to80-gr5;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;GLO.(2025 0.001,2030 0.001,2035 0.001,2040 71,2045 91,2050 116,2055 148,2060 190,2070 309,2080 503,2090 819,2100 1334,2110 1334,2130 1334,2150 1334);;;;; -xx_DIAG-C400-lin;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; -# _____NZero_DIAG_scenario_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_DIAG-NZero;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -# _____C400-lin_tech_constraint_scenarios_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_DIAG-C400-lin-LimBio;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; -xx_DIAG-C400-lin-LimCCS;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 2000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; -xx_DIAG-C400-lin-LimNuclear;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; -# _____C400-lin_DIAG_paradigm_shift_scenarios_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_DIAG-C400-lin-HighVRE;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;2050.EUR_regi 0.7;;wind 2300, windoff 4700, spv 5060;wind 0.9, windoff 0.9, spv 0.9;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; -xx_DIAG-C400-lin-HighElectrification;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;elecPrice;;;;;wind 0.820125, windoff 0.91125, spv 0.95;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; -xx_DIAG-C400-lin-HighElec-Supply;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, 2050.EUR_regi.sub.t.SE.electricity 0.913;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; -xx_DIAG-C400-lin-HighH2;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;H2Price;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; -xx_DIAG-C400-lin-ResidualFossil;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;highFossilPrice;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; -xx_DIAG-C400-lin-HighEff;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; -# _____NZero_scenario_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_WP1_Nzero;0,WP1;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;; -# _____NZero_tech_constraint_scenarios_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_WP1_NZero-LimBio;0,WP1;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP1_NZero-LimCCS;0,WP1;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 2000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP1_NZero-LimNuclear;0,WP1;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; -# _____WP5p3_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_WP5_Base;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;heat;Mix1;2005;;;;;same as xx_DIAG-NPI;;;;;;;;;;;1;; -xx_WP5_OPT-CP;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;;;;;; -xx_WP5_OPT-CP-LimBio;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP5_OPT-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP5_OPT-CP-LimCCS;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 3000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP5_OPT-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP5_OPT-CP-LimNuclear;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix3;2025;xx_WP5_OPT-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; -# xx_WP5_OPT-CP-LimRES;0;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_WP5_OPT-REG;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;;;;;; -xx_WP5_OPT-REG-LimBio;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP5_OPT-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP5_OPT-REG-LimCCS;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 3000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP5_OPT-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP5_OPT-REG-LimNuclear;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix4;2025;xx_WP5_OPT-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; -# xx_WP5_OPT-REG-LimRES;0;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_WP5_RAP-CP;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;;;;;; -xx_WP5_RAP-CP-LimBio;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP5_RAP-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP5_RAP-CP-LimCCS;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 3000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP5_RAP-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP5_RAP-CP-LimNuclear;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix3;2025;xx_WP5_RAP-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; -# xx_WP5_RAP-CP-LimRES;0;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_WP5_RAP-REG;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;;;;;; -xx_WP5_RAP-REG-LimBio;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP5_RAP-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP5_RAP-REG-LimCCS;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 3000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP5_RAP-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP5_RAP-REG-LimNuclear;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix4;2025;xx_WP5_RAP-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; -# xx_WP5_RAP-REG-LimRES;0;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -# _____tests_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;35.43046358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -test_WP1_Nzero_DEU;0,WP1;;testOneRegi;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;DEU;1;1;1; -xx_WP1_Nzero_highPrecision_10tCO2eq;0,test;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;;0.002 -xx_WP1_Nzero_highPrecision_5tCO2eq;0,test;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;;0.001 -xx_WP1_Nzero_highPrecision_1tCO2eq;0,test;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;;0.0002 -xx_WP1_Nzero_highPrecision_0p4tCO2eq;0,test;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;;0.00008 +title;start;CES_parameters;optimization;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_startyear;cm_peakBudgYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_bioenergy_SustTax;cm_maxProdBiolc;c_ccsinjecratescen;c_ccscapratescen;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;water;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description;cm_loadFromGDX_implicitQttyTargetTax;cm_implicitPriceTarget;cm_implicitPePriceTarget;cm_VREminShare;c_regi_nucscen;cm_incolearn;cm_learnRate;cm_regiExoPrice;c_testOneRegi_region;cm_nash_mode;c_keep_iteration_gdxes;cm_abortOnConsecFail;cm_emiMktTarget_tolerance +# _____default_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_DIAG-NPI;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;heat;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies.;;;;;;;;;;;1;; +# _____pure_carbon_pricing_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_DIAG-C80-gr5;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;GLO.(2025 34,2030 44,2035 56,2040 71,2045 91,2050 116,2055 148,2060 190,2070 309,2080 503,2090 819,2100 1334,2110 1334,2130 1334,2150 1334);;;;; +xx_DIAG-C0to80-gr5;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;GLO.(2025 0.001,2030 0.001,2035 0.001,2040 71,2045 91,2050 116,2055 148,2060 190,2070 309,2080 503,2090 819,2100 1334,2110 1334,2130 1334,2150 1334);;;;; +xx_DIAG-C400-lin;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; +# _____NZero_DIAG_scenario_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_DIAG-NZero;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +# _____C400-lin_tech_constraint_scenarios_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_DIAG-C400-lin-LimBio;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; +xx_DIAG-C400-lin-LimCCS;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 2000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; +xx_DIAG-C400-lin-LimNuclear;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; +# _____C400-lin_DIAG_paradigm_shift_scenarios_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_DIAG-C400-lin-HighVRE;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;2050.EUR_regi 0.7;;wind 2300, windoff 4700, spv 5060;wind 0.9, windoff 0.9, spv 0.9;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; +xx_DIAG-C400-lin-HighElectrification;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;elecPrice;;;;;wind 0.820125, windoff 0.91125, spv 0.95;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; +xx_DIAG-C400-lin-HighElec-Supply;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, 2050.EUR_regi.sub.t.SE.electricity 0.913;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; +xx_DIAG-C400-lin-HighH2;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;H2Price;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; +xx_DIAG-C400-lin-ResidualFossil;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;highFossilPrice;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; +xx_DIAG-C400-lin-HighEff;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; +# _____NZero_scenario_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_WP1_Nzero;0,WP1;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;; +# _____NZero_tech_constraint_scenarios_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_WP1_NZero-LimBio;0,WP1;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP1_NZero-LimCCS;0,WP1;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 2000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP1_NZero-LimNuclear;0,WP1;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; +# _____WP5p3_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_WP5_Base;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;heat;Mix1;2005;;;;;same as xx_DIAG-NPI;;;;;;;;;;;1;; +xx_WP5_OPT-CP;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;;;;;; +xx_WP5_OPT-CP-LimBio;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP5_OPT-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP5_OPT-CP-LimCCS;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 3000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP5_OPT-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP5_OPT-CP-LimNuclear;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix3;2025;xx_WP5_OPT-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; +# xx_WP5_OPT-CP-LimRES;0;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_WP5_OPT-REG;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;;;;;; +xx_WP5_OPT-REG-LimBio;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP5_OPT-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP5_OPT-REG-LimCCS;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 3000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP5_OPT-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP5_OPT-REG-LimNuclear;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix4;2025;xx_WP5_OPT-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; +# xx_WP5_OPT-REG-LimRES;0;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_WP5_RAP-CP;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;;;;;; +xx_WP5_RAP-CP-LimBio;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP5_RAP-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP5_RAP-CP-LimCCS;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 3000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP5_RAP-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP5_RAP-CP-LimNuclear;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix3;2025;xx_WP5_RAP-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; +# xx_WP5_RAP-CP-LimRES;0;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_WP5_RAP-REG;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;;;;;; +xx_WP5_RAP-REG-LimBio;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP5_RAP-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP5_RAP-REG-LimCCS;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 3000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP5_RAP-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP5_RAP-REG-LimNuclear;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix4;2025;xx_WP5_RAP-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; +# xx_WP5_RAP-REG-LimRES;0;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +# _____tests_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;3.543.046.358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +test_WP1_Nzero_DEU;0,WP1;;testOneRegi;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;DEU;1;1;1; +xx_WP1_Nzero_highPrecision_10tCO2eq;0,test;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;;GLO 0.002 +xx_WP1_Nzero_highPrecision_5tCO2eq;0,test;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;;GLO 0.001 +xx_WP1_Nzero_highPrecision_1tCO2eq;0,test;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;;GLO 0.0002 +xx_WP1_Nzero_highPrecision_0p4tCO2eq;0,test;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;;GLO 0.00008 diff --git a/config/scenario_config_DeepEl.csv b/config/scenario_config_DeepEl.csv index 9ce821886..72f10af23 100644 --- a/config/scenario_config_DeepEl.csv +++ b/config/scenario_config_DeepEl.csv @@ -1,9 +1,9 @@ -title;start;CES_parameters;optimization;slurmConfig;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_VRE_supply_assumptions;cm_wasteIncinerationCCSshare;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;c_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;c_tech_earlyreti_rate;cm_maxProdBiolc;c_ccsinjecratescen;techpol;regipol;cm_NucRegiPol;cm_CoalRegiPol;cm_multigasscen;cm_1stgen_phaseout;water;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description -testOneRegi-Base-DeepEl;0;;testOneRegi;8;;;;0;;;;;;;;;;;;;;;;;;;;;;;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. -# H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-NPi-calibrate-DeepEl;1;calibrate;;14;rcp45;;;0;;0;NPi;1;2100;;9;;;;NPi2018;regiCarbonPrice;on;on;3;;heat;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-Base-DeepEl;1;;;1;;;;0;;0;;;2100;;;off;;;;;;;;;heat;Mix1;2005;;;;;SSP2-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-NPi-DeepEl;1;;;1;rcp45;3;;0;;0;NPi;1;2100;;9;;;;NPi2018;regiCarbonPrice;on;on;3;;heat;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-NDC-DeepEl;1;;;1;rcp45;3;globallyOptimal;0;;0;NDC;1;2100;;9;;;;NDC;regiCarbonPrice;on;on;3;;heat;Mix2;2025;;SSP2-NPi-DeepEl;SSP2-NPi-DeepEl;;SSP2-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NDC includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the begining of 2021 continues over the 21st century. This scenario serves as reference for all other policy scenarios and The NPi scenario until 2020. -SSP2-PkBudg500-DeepEl;1;;;1;rcp20;9;globallyOptimal;1;2050.GLO 0.9;500;diffCurvPhaseIn2Lin;100;2080;;9;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.13, IND_regi.pc 0.13;100;5;NDC;regiCarbonPrice;on;on;2;1;heat;Mix4;2025;;SSP2-NPi-DeepEl;SSP2-NPi-DeepEl;;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2-PkBudg1150-DeepEl;1;;;1;rcp26;9;globallyOptimal;1;2050.GLO 0.5;1150;diffCurvPhaseIn2Lin;60;2100;;9;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.13, IND_regi.pc 0.13;100;5;NDC;regiCarbonPrice;on;on;2;1;heat;Mix4;2025;;SSP2-NPi-DeepEl;SSP2-NPi-DeepEl;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. +title;start;CES_parameters;optimization;slurmConfig;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_VRE_supply_assumptions;cm_wasteIncinerationCCSshare;cm_budgetCO2from2020;carbonprice;cm_taxCO2_startyear;cm_peakBudgYr;cm_emiscen;c_tech_earlyreti_rate;cm_maxProdBiolc;c_ccsinjecratescen;techpol;regipol;cm_NucRegiPol;cm_CoalRegiPol;cm_multigasscen;cm_1stgen_phaseout;water;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +testOneRegi-Base-DeepEl;0;;testOneRegi;8;;;;0;;;;;;;;;;;;;;;;;;;;;;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. +# H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-NPi-calibrate-DeepEl;1;calibrate;;14;rcp45;;;0;;0;NPi;1;2100;9;;;;NPi2018;regiCarbonPrice;on;on;3;;heat;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-Base-DeepEl;1;;;1;;;;0;;0;;;2100;;off;;;;;;;;;heat;Mix1;2005;;;;;SSP2-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-NPi-DeepEl;1;;;1;rcp45;3;;0;;0;NPi;1;2100;9;;;;NPi2018;regiCarbonPrice;on;on;3;;heat;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-NDC-DeepEl;1;;;1;rcp45;3;globallyOptimal;0;;0;NDC;1;2100;9;;;;NDC;regiCarbonPrice;on;on;3;;heat;Mix2;2025;;SSP2-NPi-DeepEl;SSP2-NPi-DeepEl;;SSP2-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NDC includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the begining of 2021 continues over the 21st century. +SSP2-PkBudg500-DeepEl;1;;;1;rcp20;9;globallyOptimal;1;2050.GLO 0.9;500;functionalForm;100;2080;9;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.13, IND_regi.pc 0.13;100;5;NDC;regiCarbonPrice;on;on;2;1;heat;Mix4;2025;;SSP2-NPi-DeepEl;;;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5 C scenario, peak warming is allowed to be at or slightly above 1.5 C, at median climate sensitivity but returns to values below 1.5 C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg1150-DeepEl;1;;;1;rcp26;9;globallyOptimal;1;2050.GLO 0.5;1150;functionalForm;60;2100;9;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.13, IND_regi.pc 0.13;100;5;NDC;regiCarbonPrice;on;on;2;1;heat;Mix4;2025;;SSP2-NPi-DeepEl;;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2 C scenario, peak warming is allowed to be at or slightly above 2 C, at median climate sensitivity but returns to values below 2 C in at least 67 % of scenarios by the end of the century. diff --git a/config/scenario_config_EL2p0DeepDive.csv b/config/scenario_config_EL2p0DeepDive.csv new file mode 100644 index 000000000..a3aaf1ece --- /dev/null +++ b/config/scenario_config_EL2p0DeepDive.csv @@ -0,0 +1,39 @@ +title;start;path_gdx_carbonprice;cm_bioenergy_SustTax;CES_parameters;optimization;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_startyear;cm_peakBudgYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_maxProdBiolc;c_ccsinjecratescen;c_ccscapratescen;cm_subsec_model_steel;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +SSP2EU-NPi-calibrate;calibrate,AMT,compileInTests;;1.5;calibrate;;14;;;rcp45;;;0;NPi;;;9;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2EU-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2EU-Base;1,AMT;;1.5;;;;;;;;;0;;;;;;off;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2EU-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2EU-NDC;1,AMT;;1.5;;;;;;rcp45;3;globallyOptimal;0;NDC;;;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2025;;SSP2EU-NPi;SSP2EU-NPi;;SSP2EU-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NDC includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the begining of 2021 continues over the 21st century. +SSP2EU-NPi;1,AMT,compileInTests;;1.5;;;;;;rcp45;3;;0;NPi;;;9;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2EU-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2EU-noDSPkB500-noDS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;functionalForm;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 500 +SSP2EU-DSPkB500-DS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;functionalForm;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 500 +SSP2EU-noDSPkB500-DS_betax_DeepDive;1,AMT;SSP2EU-noDSPkB500-noDS_betax_DeepDive;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 without diet change, but includes diet change in magpie +SSP2EU-DSPkB500-noDS_betax_DeepDive;1,AMT;SSP2EU-DSPkB500-DS_betax_DeepDive;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB650-noDS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 650 +SSP2EU-DSPkB650-DS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 650 +SSP2EU-noDSPkB650-DS_betax_DeepDive;1,AMT;SSP2EU-noDSPkB650-noDS_betax_DeepDive;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 without diet change, but includes diet change in magpie +SSP2EU-DSPkB650-noDS_betax_DeepDive;1,AMT;SSP2EU-DSPkB650-DS_betax_DeepDive;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB1050-noDS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;functionalForm;60;2100;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 1050 +SSP2EU-DSPkB1050-DS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;functionalForm;60;2100;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 1050 +SSP2EU-noDSPkB1050-DS_betax_DeepDive;1,AMT;SSP2EU-noDSPkB1050-noDS_betax_DeepDive;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 without diet change, but includes diet change in magpie +SSP2EU-DSPkB1050-noDS_betax_DeepDive;1,AMT;SSP2EU-DSPkB1050-DS_betax_DeepDive;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB500-noDS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;functionalForm;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 500 +SSP2EU-DSPkB500-DS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;functionalForm;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 500 +SSP2EU-noDSPkB500-DS_betax_AgMIP;1,AMT;SSP2EU-noDSPkB500-noDS_betax_AgMIP;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 without diet change, but includes diet change in magpie +SSP2EU-DSPkB500-noDS_betax_AgMIP;1,AMT;SSP2EU-DSPkB500-DS_betax_AgMIP;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB650-noDS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 650 +SSP2EU-DSPkB650-DS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 650 +SSP2EU-noDSPkB650-DS_betax_AgMIP;1,AMT;SSP2EU-noDSPkB650-noDS_betax_AgMIP;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 without diet change, but includes diet change in magpie +SSP2EU-DSPkB650-noDS_betax_AgMIP;1,AMT;SSP2EU-DSPkB650-DS_betax_AgMIP;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB1050-noDS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;functionalForm;60;2100;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 1050 +SSP2EU-DSPkB1050-DS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;functionalForm;60;2100;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 1050 +SSP2EU-noDSPkB1050-DS_betax_AgMIP;1,AMT;SSP2EU-noDSPkB1050-noDS_betax_AgMIP;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 without diet change, but includes diet change in magpie +SSP2EU-DSPkB1050-noDS_betax_AgMIP;1,AMT;SSP2EU-DSPkB1050-DS_betax_AgMIP;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB500-noDS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;functionalForm;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 500 +SSP2EU-DSPkB500-DS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;functionalForm;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 500 +SSP2EU-noDSPkB500-DS_betax_DeepDive_noNDC;1,AMT;SSP2EU-noDSPkB500-noDS_betax_DeepDive_noNDC;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 without diet change, but includes diet change in magpie +SSP2EU-DSPkB500-noDS_betax_DeepDive_noNDC;1,AMT;SSP2EU-DSPkB500-DS_betax_DeepDive_noNDC;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB650-noDS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 650 +SSP2EU-DSPkB650-DS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 650 +SSP2EU-noDSPkB650-DS_betax_DeepDive_noNDC;1,AMT;SSP2EU-noDSPkB650-noDS_betax_DeepDive_noNDC;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 without diet change, but includes diet change in magpie +SSP2EU-DSPkB650-noDS_betax_DeepDive_noNDC;1,AMT;SSP2EU-DSPkB650-DS_betax_DeepDive_noNDC;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB1050-noDS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;functionalForm;60;2100;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 1050 +SSP2EU-DSPkB1050-DS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;functionalForm;60;2100;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 1050 diff --git a/config/scenario_config_ELEVATE2p3.csv b/config/scenario_config_ELEVATE2p3.csv new file mode 100755 index 000000000..c3cc0635d --- /dev/null +++ b/config/scenario_config_ELEVATE2p3.csv @@ -0,0 +1,18 @@ +title;start;slurmConfig;cm_wasteIncinerationCCSshare;cm_EDGEtr_scen;cm_reducCostB;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;regipol;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;carbonpriceRegi;cm_netZeroScen;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_IncAfterPeakBudgYr;cm_emiscen;cm_taxCO2_expGrowth;cm_maxProdBiolc;techpol;cm_multigasscen;cm_startyear;path_gdx_carbonprice;path_gdx;path_gdx_refpolicycost;path_gdx_ref;path_gdx_bau;description +SSP2-Base;0;9;;Mix1;none;none;0;off;0;none;;;;;none;;-1;2100;3;1;1.05;off;none;2;2005;;;;;;SSP2-Base: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. No Damages from climate change are considered. +ELV_CurPol_T44;0;9;;Mix3;none;rcp45;3;off;0;NPi;;;;;none;;1;2100;3;9;1.05;100;NPi2018;3;2005;;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. In the default setting carbon prices converges after 2030 over all regions to $25 eoc. +ELV_NDC2030_T44;1;9;;Mix3;none;rcp45;3;globallyOptimal;0;NDC;;;;;none;;1;2100;3;9;1.05;100;NDC;3;2025;;;ELV_CurPol_T44;ELV_CurPol_T44;ELV_CurPol_T44;ELV_NDC2030_T44: The NDCs scenario aims to represent the goals of each country or region defined in their NDCs. The ambition levels reached in the target year remains at least constant throughout the rest of the century. +ELV_NDC2030_cm2030;1;9;;Mix3;none;rcp45;3;globallyOptimal;0;NDC;;;;;none;;1;2100;3;9;1.05;100;NDC;3;2030;;;ELV_CurPol_T44_NPi2025;ELV_CurPol_T44_NPi2025;ELV_CurPol_T44_NPi2025;ELV_NDC2030_T44: The NDCs scenario aims to represent the goals of each country or region defined in their NDCs. The ambition levels reached in the target year remains at least constant throughout the rest of the century. +ELV_NDC2030_cm2025;1;9;;Mix3;none;rcp45;3;globallyOptimal;0;NDC;;;;;none;;1;2100;3;9;1.05;100;NDC;3;2025;;;ELV_CurPol_T44_NPi2025;ELV_CurPol_T44_NPi2025;ELV_CurPol_T44_NPi2025;ELV_NDC2030_T44: The NDCs scenario aims to represent the goals of each country or region defined in their NDCs. The ambition levels reached in the target year remains at least constant throughout the rest of the century. +ELV-SSP2-NDC-D0;1;9;;Mix3;none;rcp45;3;globallyOptimal;0;NPiexpo;;;;;none;;1;2100;3;9;1;100;NDC;3;2035;;ELV_NDC2030_T44;ELV_NDC2030_T44;;;ELV-SSP2-NDC-D0: The NDCs scenario aims to represent the goals of each country or region defined in their NDCs. The ambition levels reached in the target year remains constant throughout the rest of the century. +ELV-SSP2-NDC-D1;1;9;;Mix3;none;rcp45;3;globallyOptimal;0;NPiexpo;;;;;none;;1;2100;3;9;1.01;100;NDC;3;2035;;ELV_NDC2030_T44;ELV_NDC2030_T44;;;ELV-SSP2-NDC-D1: The NDCs scenario aims to represent the goals of each country or region defined in their NDCs. The ambition levels reached in the target year increases by 1%. +ELV-SSP2-NDC-D3;1;9;;Mix3;none;rcp45;3;globallyOptimal;0;NPiexpo;;;;;none;;1;2100;3;9;1.03;100;NDC;3;2035;;ELV_NDC2030_T44;ELV_NDC2030_T44;;;ELV-SSP2-NDC-D3: The NDCs scenario aims to represent the goals of each country or region defined in their NDCs. The ambition levels reached in the target year increases by 3%. +ELV-SSP2-LTS;1;9;2050.GLO 0.5;Mix3;none;rcp26;3;globallyOptimal;0;NDC;;;;;netZero;ELEVATE2p3;1;2100;3;9;1.05;100;NDC;3;2025;;ELV-SSP2-CP-D1;ELV-SSP2-CP-D1;;ELV-SSP2-CP-D1;ELV_LTS_T44: High uncoordinated ambition (named as Glasgow in the ENGAGE 4.5 runs. The Glasgow scenario considers the NDC pledges and the mid-century strategy pledges (net-zero) announced at COP26 in Glasgow.) +ELV-SSP2-NDC-LTS;1;9;2050.GLO 0.5;Mix3;none;rcp26;3;globallyOptimal;0;exogenous;;;;;netZero;ELEVATE2p3;1;2100;3;9;1.05;100;NDC;3;2035;ELV_NDC2030_T44;ELV_NDC2030_T44;ELV_NDC2030_T44;;ELV-SSP2-CP-D1;ELV-SSP2-NDC-LTS: The scenario reaches NDC pleages in 2030 and converges to the Glasgow mid-century pledges. +ELV-SSP2-1150;1;9;2050.GLO 0.5;Mix3;heatpumps;rcp26;7;globallyOptimal;1150;expoLinear;;;;;none;;163;2080;3;9;1.05;100;NDC;2;2030;;;ELV_NDC2030_T44;;;ELV-SSP2-1150: net-zero budget Szenarien for 2 degree C global scenario without overshoot +ELV-SSP2-400Feoc;1;9;2050.GLO 0.9;Mix3;heatpumps;rcp20;5;globallyOptimal;400;expoLinear;;;;;none;;163;2080;3;9;1.05;100;NDC;2;2030;;ELV_NDC2030_T44;ELV_NDC2030_T44;;;ELV-SSP2-400F: full century 1.5 degree C global scenario allowing for overshoot. +ELV-SSP2-CP-D0;1;9;;Mix2ICEban;none;rcp45;3;off;0;NPi2025expo;;;;;none;;1;2100;3;9;1;100;NPi2018;3;2005;;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030 with new expert guess for 2025 and 2030 (EUR only). After 2030 each region keeps the carbon price constant. +ELV-SSP2-CP-D1;1;9;;Mix2ICEban;none;rcp45;3;off;0;NPi2025expo;;;;;none;;1;2100;3;9;1.01;100;NPi2018;3;2005;;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030 with new expert guess for 2025 and 2030 (EUR only). After 2030 each region increases their carbon price by 1%. +ELV-SSP2-CP-D3;1;9;;Mix2ICEban;none;rcp45;3;off;0;NPi2025expo;;;;;none;;1;2100;3;9;1.03;100;NPi2018;3;2005;;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030 with new expert guess for 2025 and 2030 (EUR only). After 2030 each region increases their carbon price by 3%. +ELV_CurPol_T44_NPi2025;1;9;;Mix2ICEban;none;rcp45;3;off;0;NPi2025;;;;;none;;1;2100;3;9;1;100;NPi2018;3;2005;;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. In the default setting carbon prices converges after 2030 over all regions to $25 eoc. +ELV_CurPol_T44_NPi2025_regi;1;9;;Mix2ICEban;none;rcp45;3;off;0;NPi2025;regiCarbonPrice;on;on;EUR_regi, NEU_regi;;;1;2100;3;9;1;100;NPi2018;3;2005;;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. In the default setting carbon prices converges after 2030 over all regions to $25 eoc. diff --git a/config/scenario_config_ELEVATE4p4.csv b/config/scenario_config_ELEVATE4p4.csv index 7a8aa3984..a140c7133 100755 --- a/config/scenario_config_ELEVATE4p4.csv +++ b/config/scenario_config_ELEVATE4p4.csv @@ -1,26 +1,26 @@ -title;start;slurmConfig;climate;cm_import_tax;cm_taxrc_RE;cm_magicc_calibrateTemperature2000;cm_damage_KWSE;cm_magicc_config;cm_magicc_temperatureImpulseResponse;cm_damage_DiceLike_specification;cm_damages_BurkeLike_persistenceTime;cm_damages_BurkeLike_specification;cm_damages_SccHorizon;cm_VRE_supply_assumptions;c_CES_calibration_new_structure;buildings;transport;industry;cm_wasteIncinerationCCSshare;cm_DiscRateScen;c_shBioTrans;cm_EDGEtr_scen;cm_reducCostB;cm_CES_calibration_default_prices;c_ccsinjecratescen;.CDR;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_LearningSpillover;c_budgetCO2from2020;carbonprice;carbonpriceRegi;cm_netZeroScen;cm_co2_tax_2020;c_peakBudgYr;c_taxCO2inc_after_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_maxProdBiolc;c_ccscapratescen;techpol;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;water;cm_startyear;path_gdx_carbonprice;path_gdx;path_gdx_ref;path_gdx_bau;description -SSP2-Base_bIT;0;5;off;;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix1;none;0.01;1;off;1.5;none;0;off;1;0;none;none;;-1;2100;3;2050;1;;;3;1.05;off;1;none;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2005;;;;;SSP2-Base_bIT: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. No Damages from climate change are considered. -ELV_CurPol_nTecC_T44;1;5;off;;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;off;0;0;NPi;none;;1;2100;3;2050;9;;;3;1.05;100;1;NPi2018;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2005;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. -ELV_CurPol_T44;1;5;off;;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;off;1;0;NPi;none;;1;2100;3;2050;9;;;3;1.05;100;1;NPi2018;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2005;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. -ELV_NDC2030_T44;1;5;off;;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;globallyOptimal;1;0;NDC;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;;;ELV_CurPol_T44;ELV_CurPol_T44;ELV_NDC2030_T44: The NDCs scenario aims to represent the goals of each country or region defined in their NDCs. The ambition levels reached in the target year remains at least constant throughout the rest of the century. -ELV_NDC2030_nTecC_T44;1;5;off;;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;off;1;0;NDC;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;;;ELV_CurPol_T44;ELV_CurPol_T44;ELV_NDC2030_nTecC_T44: NDCs with no cooperation on technology learning (fixing the foreign capacity in technology learning to the level of 2020). -ELV_NPi2020_700_T44;0;5;off;;none;uncalibrated;0;RCP26_50;on;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.9;0;1;Mix3;heatpumps;0.01;1;off;1.5;rcp26;7;globallyOptimal;1;660;expoLinear;none;;100;2080;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;;;ELV_NDC2030_T44;;ELV_NPi2020_700f_T45: full century 1.5 degree C global scenario -ELV_NPi2020_700f_T44;0;5;off;;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.9;0;1;Mix3;heatpumps;0.01;1;off;1.5;rcp26;9;globallyOptimal;1;660;expoLinear;none;;100;2080;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;;;ELV_NDC2030_T44;;ELV_NPi2020_700f_T45: full century 1.5 degree C global scenario -ELV_NDC2030_intax_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;globallyOptimal;1;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_CurPol_T44;;ELV_NDC2030_intax_T44: NDC with extra national tax on imported CO2 emissions (i.e emissions associated to imports of energy carriers) using national carbon tax as the value to tax imports. -ELV_NDC2030_intax_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;REdirect;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;globallyOptimal;1;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_NDC2030_intax_T44;;ELV_NDC2030_intax_rc_T44: same as NDC_intax but with import tax revenue recycling to additional investments in wind, solar and storage. -ELV_NDC2030_intax_nTecC_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;off;0;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_CurPol_T44;;ELV_NDC2030_intax_nTecC_T44: NDC_intax and no cooperation on technology learning (fixing the foreign capacity in technology learning to the level of 2020). -ELV_NDC2030_intax_nTecC_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;REdirect;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;off;0;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_NDC2030_intax_nTecC_T44;;ELV_NDC2030_intax_nTecC_rc_T44: same as NDC_intax_nTecC but with import tax revenue recycling to additional investments in wind, solar and storage. -ELV_NDC2030_avtax_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;globallyOptimal;1;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_CurPol_T44;;ELV_NDC2030_avtax_T44: NDC with extra tax on imported CO2 emissions (i.e emissions associated to imports of energy carriers) using the max between average worldwide carbon tax or national carbon tax as the value to tax imports. -ELV_NDC2030_avtax_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;REdirect;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;globallyOptimal;1;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_NDC2030_avtax_T44;;ELV_NDC2030_avtax_rc_T44: same as NDC_avtax but with import tax revenue recycling to additional investments in wind, solar and storage. -ELV_NDC2030_avtax_nTecC_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;off;0;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_CurPol_T44;;ELV_NDC2030_avtax_nTecC_T44: same as NDC_avtax and no cooperation on technology learning (fixing the foreign capacity in technology learning to the level of 2020). -ELV_NDC2030_avtax_nTecC_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;REdirect;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;off;0;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_NDC2030_avtax_nTecC_T44;;ELV_NDC2030_avtax_nTecC_rc_T44: same as NDC_avtax_nTecC but with import tax revenue recycling to additional investments in wind, solar and storage. -ELV_LTS_T44;1;5;off;;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;globallyOptimal;1;0;NDC;netZero;NGFS_v4;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;;;ELV_NDC2030_T44;ELV_CurPol_T44;ELV_LTS_T44: High uncoordinated ambition (named as Glasgow in the ENGAGE 4.5 runs. The Glasgow scenario considers the NDC pledges and the mid-century strategy pledges (net-zero) announced at COP26 in Glasgow.) -ELV_LTS_nTecC_T44;1;5;off;;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;off;1;0;NDC;netZero;NGFS_v4;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;;;ELV_NDC2030_T44;ELV_CurPol_T44;ELV_LTS_nTecC_T44: LTS with no cooperation on technology learning. -ELV_LTS_intax_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;globallyOptimal;1;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_NDC2030_intax_T44;;ELV_LTS_intax_T44: LTS with extra national tax on imported CO2 emissions (i.e emissions associated to imports of energy carriers) using national carbon tax as the value to tax imports. -ELV_LTS_intax_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;REdirect;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;globallyOptimal;1;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_LTS_intax_T44;;ELV_LTS_intax_rc_T44: same as LTS_intax but with import tax revenue recycling to additional investments in wind, solar and storage. -ELV_LTS_intax_nTecC_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;off;0;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_NDC2030_intax_nTecC_T44;;ELV_LTS_intax_nTecC_T44: LTS_intax and no cooperation on technology learning (fixing the foreign capacity in technology learning to the level of 2020). -ELV_LTS_intax_nTecC_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;REdirect;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;off;0;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_LTS_intax_nTecC_T44;;ELV_LTS_intax_nTecC_rc_T44: LTS_intax_nTecC but with import tax revenue recycling to additional investments in wind, solar and storage. -ELV_LTS_avtax_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;globallyOptimal;1;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_NDC2030_avtax_T44;;ELV_LTS_avtax_T44: LTS with extra tax on imported CO2 emissions (i.e emissions associated to imports of energy carriers) using the max between average worldwide carbon tax or national carbon tax as the value to tax imports. -ELV_LTS_avtax_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;REdirect;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;globallyOptimal;1;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_LTS_avtax_T44;;ELV_LTS_avtax_rc_T44: same as LTS_avtax but with import tax revenue recycling to additional investments in wind, solar and storage. -ELV_LTS_avtax_nTecC_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;off;0;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_NDC2030_avtax_nTecC_T44;;ELV_LTS_avtax_nTecC_T44: same as LTS_avtax and no cooperation on technology learning (fixing the foreign capacity in technology learning to the level of 2020). -ELV_LTS_avtax_nTecC_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;REdirect;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;off;0;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;ELV_LTS_avtax_nTecC_T44;ELV_LTS_avtax_nTecC_T44;;ELV_LTS_avtax_nTecC_rc_T44: LTS_avtax_nTecC but with import tax revenue recycling to additional investments in wind, solar and storage. +title;start;slurmConfig;climate;cm_import_tax;cm_taxrc_RE;cm_magicc_calibrateTemperature2000;cm_damage_KWSE;cm_magicc_config;cm_magicc_temperatureImpulseResponse;cm_damage_DiceLike_specification;cm_damages_BurkeLike_persistenceTime;cm_damages_BurkeLike_specification;cm_damages_SccHorizon;cm_VRE_supply_assumptions;c_CES_calibration_new_structure;buildings;transport;industry;cm_wasteIncinerationCCSshare;cm_DiscRateScen;c_shBioTrans;cm_EDGEtr_scen;cm_reducCostB;cm_CES_calibration_default_prices;c_ccsinjecratescen;.CDR;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_LearningSpillover;cm_budgetCO2from2020;carbonprice;carbonpriceRegi;cm_netZeroScen;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_IncAfterPeakBudgYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_taxCO2_expGrowth;cm_maxProdBiolc;c_ccscapratescen;techpol;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;water;cm_startyear;path_gdx_carbonprice;path_gdx;path_gdx_ref;path_gdx_bau;description +SSP2-Base_bIT;0;5;off;;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix1;none;0.01;1;off;1.5;none;0;off;1;0;none;none;;-1;2100;3;1;;;3;1.05;off;1;none;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2005;;;;;SSP2-Base_bIT: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. No Damages from climate change are considered. +ELV_CurPol_nTecC_T44;1;5;off;;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;off;0;0;NPi;none;;1;2100;3;9;;;3;1.05;100;1;NPi2018;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2005;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. +ELV_CurPol_T44;1;5;off;;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;off;1;0;NPi;none;;1;2100;3;9;;;3;1.05;100;1;NPi2018;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2005;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. +ELV_NDC2030_T44;1;5;off;;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;globallyOptimal;1;0;NDC;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;;;ELV_CurPol_T44;ELV_CurPol_T44;ELV_NDC2030_T44: The NDCs scenario aims to represent the goals of each country or region defined in their NDCs. The ambition levels reached in the target year remains at least constant throughout the rest of the century. +ELV_NDC2030_nTecC_T44;1;5;off;;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;off;1;0;NDC;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;;;ELV_CurPol_T44;ELV_CurPol_T44;ELV_NDC2030_nTecC_T44: NDCs with no cooperation on technology learning (fixing the foreign capacity in technology learning to the level of 2020). +ELV_NPi2020_700_T44;0;5;off;;none;uncalibrated;0;RCP26_50;on;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.9;0;1;Mix3;heatpumps;0.01;1;off;1.5;rcp26;7;globallyOptimal;1;660;expoLinear;none;;100;2080;3;9;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;;;ELV_NDC2030_T44;;ELV_NPi2020_700f_T45: full century 1.5 degree C global scenario +ELV_NPi2020_700f_T44;0;5;off;;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.9;0;1;Mix3;heatpumps;0.01;1;off;1.5;rcp26;9;globallyOptimal;1;660;expoLinear;none;;100;2080;3;9;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;;;ELV_NDC2030_T44;;ELV_NPi2020_700f_T45: full century 1.5 degree C global scenario +ELV_NDC2030_intax_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;globallyOptimal;1;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_CurPol_T44;;ELV_NDC2030_intax_T44: NDC with extra national tax on imported CO2 emissions (i.e emissions associated to imports of energy carriers) using national carbon tax as the value to tax imports. +ELV_NDC2030_intax_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;REdirect;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;globallyOptimal;1;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_NDC2030_intax_T44;;ELV_NDC2030_intax_rc_T44: same as NDC_intax but with import tax revenue recycling to additional investments in wind, solar and storage. +ELV_NDC2030_intax_nTecC_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;off;0;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_CurPol_T44;;ELV_NDC2030_intax_nTecC_T44: NDC_intax and no cooperation on technology learning (fixing the foreign capacity in technology learning to the level of 2020). +ELV_NDC2030_intax_nTecC_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;REdirect;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;off;0;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_NDC2030_intax_nTecC_T44;;ELV_NDC2030_intax_nTecC_rc_T44: same as NDC_intax_nTecC but with import tax revenue recycling to additional investments in wind, solar and storage. +ELV_NDC2030_avtax_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;globallyOptimal;1;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_CurPol_T44;;ELV_NDC2030_avtax_T44: NDC with extra tax on imported CO2 emissions (i.e emissions associated to imports of energy carriers) using the max between average worldwide carbon tax or national carbon tax as the value to tax imports. +ELV_NDC2030_avtax_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;REdirect;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;globallyOptimal;1;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_NDC2030_avtax_T44;;ELV_NDC2030_avtax_rc_T44: same as NDC_avtax but with import tax revenue recycling to additional investments in wind, solar and storage. +ELV_NDC2030_avtax_nTecC_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;off;0;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_CurPol_T44;;ELV_NDC2030_avtax_nTecC_T44: same as NDC_avtax and no cooperation on technology learning (fixing the foreign capacity in technology learning to the level of 2020). +ELV_NDC2030_avtax_nTecC_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;REdirect;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;off;0;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_NDC2030_avtax_nTecC_T44;;ELV_NDC2030_avtax_nTecC_rc_T44: same as NDC_avtax_nTecC but with import tax revenue recycling to additional investments in wind, solar and storage. +ELV_LTS_T44;1;5;off;;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;globallyOptimal;1;0;NDC;netZero;NGFS_v4;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;;;ELV_NDC2030_T44;ELV_CurPol_T44;ELV_LTS_T44: High uncoordinated ambition (named as Glasgow in the ENGAGE 4.5 runs. The Glasgow scenario considers the NDC pledges and the mid-century strategy pledges (net-zero) announced at COP26 in Glasgow.) +ELV_LTS_nTecC_T44;1;5;off;;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;off;1;0;NDC;netZero;NGFS_v4;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;;;ELV_NDC2030_T44;ELV_CurPol_T44;ELV_LTS_nTecC_T44: LTS with no cooperation on technology learning. +ELV_LTS_intax_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;globallyOptimal;1;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_NDC2030_intax_T44;;ELV_LTS_intax_T44: LTS with extra national tax on imported CO2 emissions (i.e emissions associated to imports of energy carriers) using national carbon tax as the value to tax imports. +ELV_LTS_intax_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;REdirect;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;globallyOptimal;1;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_LTS_intax_T44;;ELV_LTS_intax_rc_T44: same as LTS_intax but with import tax revenue recycling to additional investments in wind, solar and storage. +ELV_LTS_intax_nTecC_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;off;0;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_NDC2030_intax_nTecC_T44;;ELV_LTS_intax_nTecC_T44: LTS_intax and no cooperation on technology learning (fixing the foreign capacity in technology learning to the level of 2020). +ELV_LTS_intax_nTecC_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;REdirect;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;off;0;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_LTS_intax_nTecC_T44;;ELV_LTS_intax_nTecC_rc_T44: LTS_intax_nTecC but with import tax revenue recycling to additional investments in wind, solar and storage. +ELV_LTS_avtax_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;globallyOptimal;1;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_NDC2030_avtax_T44;;ELV_LTS_avtax_T44: LTS with extra tax on imported CO2 emissions (i.e emissions associated to imports of energy carriers) using the max between average worldwide carbon tax or national carbon tax as the value to tax imports. +ELV_LTS_avtax_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;REdirect;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;globallyOptimal;1;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_LTS_avtax_T44;;ELV_LTS_avtax_rc_T44: same as LTS_avtax but with import tax revenue recycling to additional investments in wind, solar and storage. +ELV_LTS_avtax_nTecC_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;off;0;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_NDC2030_avtax_nTecC_T44;;ELV_LTS_avtax_nTecC_T44: same as LTS_avtax and no cooperation on technology learning (fixing the foreign capacity in technology learning to the level of 2020). +ELV_LTS_avtax_nTecC_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;REdirect;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;off;0;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;ELV_LTS_avtax_nTecC_T44;ELV_LTS_avtax_nTecC_T44;;ELV_LTS_avtax_nTecC_rc_T44: LTS_avtax_nTecC but with import tax revenue recycling to additional investments in wind, solar and storage. diff --git a/config/scenario_config_IKEA.csv b/config/scenario_config_IKEA.csv new file mode 100644 index 000000000..d75bf10e2 --- /dev/null +++ b/config/scenario_config_IKEA.csv @@ -0,0 +1,38 @@ +title;start;CES_parameters;.comment;optimization;cm_iteration_max;cm_nash_autoconverge;cm_nash_mode;cm_calibration_string;c_testOneRegi_region;c_keep_iteration_gdxes;slurmConfig;c_changeProdCost;c_SlackMultiplier;cm_rcp_scen;cm_floorCostScen;cm_iterative_target_adj;cm_taxCO2_regiDiff_endYr;cm_flex_tax;cm_VRE_supply_assumptions;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_startyear;cm_peakBudgYr;cm_emiscen;cm_nucscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_tradecostBio;cm_bioenergy_SustTax;cm_maxProdBiolc;c_ccsinjecratescen;cm_CESMkup_build;cm_CESMkup_ind;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_multigasscen;cm_1stgen_phaseout;water;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +testOneRegi-Base_floor1;0;;default global floor cost;testOneRegi;;;;;CHA;0;8;;;;default;;;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. +testOneRegi-Base_floor2;0;;floor cost preserves price structure;testOneRegi;;;;;CHA;0;8;;;;pricestruc;;;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. +testOneRegi-Base_floor3;0;;floor cost simulates tech transfer;testOneRegi;;;;;CHA;0;8;;;;techtrans;;;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. +testOneRegi-Base_500_debug;0;;floor cost simulates tech transfer;testOneRegi;;;1;default;REF;0;8;;;rcp20;default;9;GLO 2100;0;0;globallyOptimal;500;functionalForm;100;2080;9;2;GLO 0.04, EUR_regi 0.15;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. +# H12 SSP2EU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-NPi-calibrate;0;calibrate;;;;;;;;1;1;;;rcp45;default;;;0;0;;0;NPi;-1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-NPi-calibrate_floor2;0;calibrate;;;;;;;;1;1;;;rcp45;pricestruc;;;0;0;;0;NPi;-1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-NPi-calibrate_floor3;0;calibrate;;;;;;;;1;1;;;rcp45;techtrans;;;0;0;;0;NPi;-1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-NPi;0;;floor cost default;;;;;default;;1;5;;;rcp45;default;3;;0;0;;0;NPi;1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-NDC;0;;floor cost default;;;;;default;;1;5;;;rcp45;default;3;;0;0;globallyOptimal;0;NDC;1;2100;9;2;GLO 0.05, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;3;;heat;Mix2;2030;;SSP2-NPi;SSP2-NPi;;SSP2-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NDC includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the begining of 2021 continues over the 21st century. This scenario serves as reference for all other policy scenarios and The NPi scenario until 2020. +SSP2-PkBudg1150;0;;floor cost default;;;;;default;;1;5;;;rcp26;default;9;GLO 2100;1;1;globallyOptimal;1150;functionalForm;60;2100;9;2;GLO 0.06, EUR_regi 0.15;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg650;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;GLO 2100;1;1;globallyOptimal;650;functionalForm;100;2080;9;2;GLO 0.09, EUR_regi 0.15;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg620;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;GLO 2100;1;1;globallyOptimal;620;functionalForm;100;2080;9;2;GLO 0.09, EUR_regi 0.15;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg620: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg590;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;GLO 2100;1;1;globallyOptimal;590;functionalForm;100;2080;9;2;GLO 0.09, EUR_regi 0.15;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg590: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg560;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;GLO 2100;1;1;globallyOptimal;560;functionalForm;100;2080;9;2;GLO 0.09, EUR_regi 0.15;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg550: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg530;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;GLO 2100;1;1;globallyOptimal;530;functionalForm;100;2080;9;2;GLO 0.09, EUR_regi 0.15;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-NPi_floor2;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp45;pricestruc;3;;0;0;;0;NPi;1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2030;;;;;SSP2-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-NDC_floor2;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp45;pricestruc;3;;0;0;globallyOptimal;0;NDC;1;2100;9;2;GLO 0.05, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;3;;heat;Mix2;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NDC includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the begining of 2021 continues over the 21st century. This scenario serves as reference for all other policy scenarios and The NPi scenario until 2020. +SSP2-PkBudg500_floor2;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp20;pricestruc;9;GLO 2100;0;0;globallyOptimal;500;functionalForm;100;2080;9;2;GLO 0.09, EUR_regi 0.15;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg650_floor2;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp20;pricestruc;9;GLO 2100;0;0;globallyOptimal;650;functionalForm;100;2080;9;2;GLO 0.09, EUR_regi 0.15;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg1150_floor2;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp26;pricestruc;9;GLO 2100;0;0;globallyOptimal;1150;functionalForm;60;2100;9;2;GLO 0.06, EUR_regi 0.15;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. +SSP2-NPi_floor3;0;;floor cost simulates tech transfer;;;;;techtrans;;1;5;;;rcp45;techtrans;3;;0;0;;0;NPi;1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2030;;;;;SSP2-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-NDC_floor3;0;;floor cost simulates tech transfer;;;;;techtrans;;1;5;;;rcp45;techtrans;3;;0;0;globallyOptimal;0;NDC;1;2100;9;2;GLO 0.05, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;3;;heat;Mix2;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;;SSP2-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NDC includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the begining of 2021 continues over the 21st century. This scenario serves as reference for all other policy scenarios and The NPi scenario until 2020. +SSP2-PkBudg500_floor3;0;;floor cost simulates tech transfer;;;;;techtrans;;1;5;;;rcp20;techtrans;9;GLO 2100;0;0;globallyOptimal;500;functionalForm;100;2080;9;2;GLO 0.09, EUR_regi 0.15;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg650_floor3;0;;floor cost simulates tech transfer;;;;;techtrans;;1;5;;;rcp20;techtrans;9;GLO 2100;0;0;globallyOptimal;650;functionalForm;100;2080;9;2;GLO 0.09, EUR_regi 0.15;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg1150_floor3;0;;floor cost simulates tech transfer;;;;;techtrans;;1;1;;;rcp26;techtrans;9;GLO 2100;0;0;globallyOptimal;1150;functionalForm;60;2100;9;2;GLO 0.06, EUR_regi 0.15;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. +# H12 SSP2EU budget scenarios;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-PkBudg600_cost_budget1_2030bionu;0;;south abate less, north abate more;;;2;;pricestruc;;1;5;;;rcp20;pricestruc;9;GLO 2100;0;0;globallyOptimal;600;functionalForm;100;2080;9;2;GLO 0.09, EUR_regi 0.15;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.04, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;2020.2060.EUR.all.budget.netCO2 23,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 130,2020.2050.CHA.all.year.netGHG 0.1,2020.2070.JPN.all.budget.netCO2 8.5,2020.2070.CAZ.all.budget.netCO2 4.5,2020.2070.NEU.all.budget.netCO2 7.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;; +SSP2-PkBudg600_cost_budget2_2030bionu;0;;south abate less, north abate more;;;2;;pricestruc;;1;5;;;rcp20;pricestruc;9;GLO 2100;0;0;globallyOptimal;600;functionalForm;100;2080;9;2;GLO 0.09, EUR_regi 0.15;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.04, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;2020.2060.EUR.all.budget.netCO2 23,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 130,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;; +SSP2-PkBudg600_cost_budget5_2030bionu;0;;south abate less, north abate more;;;2;;techtrans;;1;5;;;rcp20;techtrans;9;GLO 2100;0;0;globallyOptimal;600;functionalForm;100;2080;9;2;GLO 0.09, EUR_regi 0.15;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;; +SSP2-PkBudg620_cost_budget5_2030bionu;0;;south abate less, north abate more;;;2;;techtrans;;1;5;;;rcp20;techtrans;9;GLO 2100;0;0;globallyOptimal;620;functionalForm;100;2080;9;2;GLO 0.09, EUR_regi 0.15;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;; +SSP2-PkBudg650_cost_budget5_2030bionu;0;;south abate less, north abate more;;;2;;techtrans;;1;5;;;rcp20;techtrans;9;GLO 2100;0;0;globallyOptimal;650;functionalForm;100;2080;9;2;GLO 0.09, EUR_regi 0.15;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;; +SSP2-PkBudg600_cost_year_2030;0;;north abate less, south abate more;;;2;;techtrans;;1;5;;;rcp20;techtrans;9;GLO 2100;0;0;globallyOptimal;600;functionalForm;100;2080;9;2;GLO 0.09, EUR_regi 0.15;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.04, (IND_regi, SSA_regi, OAS_regi).coalchp 0.04;;;;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2050.CHA.all.budget.netCO2 180, 2020.2050.EUR.all.year.netGHG_LULUCFGrassi 0.1, 2020.2050.USA.all.year.netGHG_LULUCFGrassi 0.1;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;; +SSP2-PkBudg590_budget_year_2030;0;;north abate less, south abate more;;;2;;techtrans;;1;5;;;rcp20;techtrans;9;GLO 2100;0;0;globallyOptimal;590;functionalForm;100;2080;9;2;GLO 0.09, EUR_regi 0.15;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.04, (IND_regi, SSA_regi, OAS_regi).coalchp 0.04;;;;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 40,2020.2050.USA.all.budget.netCO2 57,2020.2050.CHA.all.budget.netCO2 180;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;; +# H12 SSP2 demand scenarios;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-PkBudg650_floor2_demInc;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp20;pricestruc;9;GLO 2100;0;0;globallyOptimal;650;functionalForm;100;2080;9;2;GLO 0.09, EUR_regi 0.15;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg1150_floor2_demInc;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp26;pricestruc;9;GLO 2100;0;0;globallyOptimal;1150;functionalForm;60;2100;9;2;GLO 0.06, EUR_regi 0.15;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. diff --git a/config/scenario_config_NGFS_v5.csv b/config/scenario_config_NGFS_v5.csv index 0ed8f0f62..b7a60a888 100644 --- a/config/scenario_config_NGFS_v5.csv +++ b/config/scenario_config_NGFS_v5.csv @@ -1,67 +1,25 @@ -title;start;copyConfigFrom;cm_import_tax;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;CES_parameters;slurmConfig;climate;downscaleTemperature;cm_magicc_calibrateTemperature2000;damages;cm_damage_KWSE;internalizeDamages;cm_magicc_config;cm_magicc_temperatureImpulseResponse;cm_damage_DiceLike_specification;cm_damages_BurkeLike_persistenceTime;cm_damages_BurkeLike_specification;cm_damages_SccHorizon;cm_VRE_supply_assumptions;c_CES_calibration_new_structure;buildings;transport;industry;cm_wasteIncinerationCCSshare;cm_DiscRateScen;c_shBioTrans;cm_EDGEtr_scen;cm_reducCostB;cm_CES_calibration_default_prices;cm_CO2TaxSectorMarkup;c_ccsinjecratescen;c_ccsinjecrateRegi;cm_33DAC;cm_33EW;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;carbonpriceRegi;regipol;cm_implicitQttyTarget;cm_implicitQttyTarget_tolerance;cm_NDC_version;cm_netZeroScen;cm_co2_tax_2020;c_peakBudgYr;c_taxCO2inc_after_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_maxProdBiolc;c_ccscapratescen;techpol;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;water;cm_startyear;path_gdx;path_gdx_ref;path_gdx_refpolicycost;path_gdx_bau;description -# ___Calibration___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;initial value;initial value;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-Base_covidCalib;0;;;gdp_SSP2;;;;calibrate;14;off;off;uncalibrated;off;0;off;OLDDEFAULT;off;HowardNonCatastrophic;15;0;100;0;1;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;;1;;;;1.5;none;0;off;0;none;none;;;;;;-1;2100;3;2050;1;;;3;1.05;off;1;none;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2005;;;;; -SSP2-lowDem_calib;0;SSP2-Base_covidCalib;;gdp_SSP2_lowEn;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -# ___Baselines___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-Base;0;;;gdp_SSP2;medOil;medGas;medCoal;load;5;off;off;uncalibrated;off;0;off;RCP26_50;off;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix1;none;0.01;;1;;;;1.5;none;0;off;0;none;none;;;;;;-1;2100;3;2050;1;;;3;1.05;off;1;none;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2005;;;;;SSP2-Base: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. No Damages from climate change are considered. -SSP2-Base_d50;0;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KWLike;0;;RCP26_50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d50: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -SSP2-Base_d95;0;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KWLike;0;;RCP26_95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d95: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -SSP2-Base_d50high;d50high;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KW_SE;1.96;;RCP26_50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d50: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -SSP2-Base_d95high;d95high;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KW_SE;1.96;;RCP26_95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d95: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -# ___NO_DAMAGES___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -h_cpol_noUkr;NGFS;SSP2-Base;;;;;;;;;;;;;;;;;30;;;;;;;;;;;Mix2;none;;;;;0;0;1.5;rcp45;3;off;0;NPi;none;;;;;;1;2100;;2050;9;;;3;1.05;100;;NPi2018;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2005;;;;;h_cpol: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. No Damages from climate change are considered. -h_cpol;NGFS;h_cpol_noUkr;EUR.pegas.worldPricemarkup 0.5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol_noUkr;;; -h_ndc;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;;Mix3;none;;;1;;;;1.5;rcp45;3;globallyOptimal;0;NDC;none;;;;;;1;2100;3;2050;;;;;;;;NDC;;;;3;;;;;;;2025;;h_cpol_noUkr;h_cpol;h_cpol_noUkr;h_ndc: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. No Damages from climate change are considered. -o_1p5c;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;Mix4;heatpumps;;;1;;;;1.5;rcp20;9;globallyOptimal;560;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 4300, 2080.GLO.tax.t.CCS.biomass 4300;0.1;;;200;2045;6;2050;;;;;;;;NDC;;;;2;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_1p5c: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. No Damages from climate change are considered. -o_lowdem;NGFS;o_1p5c;;gdp_SSP2_lowEn;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;GLO 0.00125, CAZ_regi 0.0045, CHA_regi 0.004, EUR_regi 0.0045, IND_regi 0.004, JPN_regi 0.002, USA_regi 0.002;;;;;;;560;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 3800, 2080.GLO.tax.t.CCS.biomass 3800;0.1;;;;;1;;;;;;;;;;;;;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_lowdem: Low Demand scenario -o_2c;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.5;;;Mix4;heatpumps;;;1;;;;1.5;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;NGFS_v4_20pc;100;2080;3;2050;;;;;;;;NDC;;;;2;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_2c: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. No Damages from climate change are considered. -d_delfrag;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.5;;;Mix3;heatpumps;;;;GLO 0.00125, CAZ_regi 0.0045, CHA_regi 0.004, EUR_regi 0.0045, IND_regi 0.004, JPN_regi 0.002, USA_regi 0.002;;;1.5;rcp26;9;globallyOptimal;1010;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;;100;2080;;2050;;;;;;;;NDC;;;;2;;;;;;;2035;;h_cpol;h_cpol;;d_delfrag: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. No Damages from climate change are considered. -d_strain;NGFS;d_delfrag;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3;off;;NPi;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;NGFS_v4_20pc;1;2100;;;;;;;;;;;;;;;;;;;;;2035;;h_cpol;h_cpol;;d_strain: Fragmented world -d_rap;0;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;Mix4;heatpumps;;GLO.trans 2, GLO.build 2;2;;;;1.5;rcp20;9;globallyOptimal;560;diffCurvPhaseIn2Lin;none;;;;;;200;2045;3;2050;;;;;;;;NDC;;;;2;;;;;;;2025;;h_cpol_noUkr;h_cpol;;d_rap: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. No Damages from climate change are considered. -# ___WITH_DAMAGES___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -h_cpol_d50;d50;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d50: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_cpol_d95;d95;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d95: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -h_cpol_d50high;d50high;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d50high: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_cpol_d95high;d95high;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d95high: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -h_ndc_d50;d50;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d50;SSP2-Base;h_ndc_d50: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_ndc_d95;d95;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d95;SSP2-Base;h_ndc_d95: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -h_ndc_d50high;d50high;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d50high;SSP2-Base;h_ndc_d50high: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_ndc_d95high;d95high;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d95high;SSP2-Base;h_ndc_d95high: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -o_1p5c_d50;d50;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d50;;o_1p5c_d50: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_1p5c_d95;d95;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d95;;o_1p5c_d95: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_1p5c_d50high;d50high;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d50high;;o_1p5c_d50high: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_1p5c_d95high;d95high;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d95high;;o_1p5c_d95high: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_1p5c_d50_cpricereg;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_d50_cpricereg: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_1p5c_d95_cpricereg;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_d95_cpricereg: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_1p5c_dni50;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_dni50: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -o_1p5c_dni95;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_dni95: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -o_lowdem_d50;d50;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d50;;o_lowdem_d50 -o_lowdem_d95;d95;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d95;;o_lowdem_d95 -o_lowdem_d50high;d50high;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d50high;;o_lowdem_d50high -o_lowdem_d95high;d95high;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d95high;;o_lowdem_d95high -o_2c_d50;d50;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d50;;o_2c_d50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_2c_d95;d95;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d95;;o_2c_d95: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_2c_d50high;d50high;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d50high;;o_2c_d50high: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_2c_d95high;d95high;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d95high;;o_2c_d95high: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_2c_d50_cpricereg;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_d50_cpricereg: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. The Social Cost of Carbon is regional rather than globally uniform. -o_2c_d95_cpricereg;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_d95_cpricereg: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. The Social Cost of Carbon is regional rather than globally uniform. -o_2c_dni50;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -o_2c_dni50_fixCprice;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;0;;1050;exogenous;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni50_fixCprice: a test run fixing the carbon price to the one from the fully integrated o_2c_d50 scenario -o_2c_fixCprice;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;off;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;0;;1050;exogenous;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_fixCprice: a test run fixing the carbon price to the one from the fully integrated o_2c scenario -o_2c_dni95;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni95: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -d_delfrag_d50;d50;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d50;h_cpol_d50;;d_delfrag_d50: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_delfrag_d95;d95;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d95;h_cpol_d95;;d_delfrag_d95: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -d_delfrag_d50high;d50high;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d50high;h_cpol_d50high;;d_delfrag_d50high: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_delfrag_d95high;d95high;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d95high;h_cpol_d95high;;d_delfrag_d95high: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -d_strain_d50;d50;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d50;h_cpol_d50;;d_strain_d50: Fragmented World -d_strain_d95;d95;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d95;h_cpol_d95;;d_strain_d95: Fragmented World -d_strain_d50high;d50high;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d50high;h_cpol_d50high;;d_strain_d50high: Fragmented World -d_strain_d95high;d95high;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d95high;h_cpol_d95high;;d_strain_d95high: Fragmented World -d_rap_d50;d50;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d50;;d_rap_d50: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_rap_d95;d95;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d95;;d_rap_d95: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -d_rap_d50high;d50high;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d50high;;d_rap_d50high: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_rap_d95high;d95high;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d95high;;d_rap_d95high: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_cba_d50;d50;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;o_2c;h_cpol_noUkr;h_cpol_d50;;o_cba_d50: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_cba_d95;d95;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;o_2c;h_cpol_noUkr;h_cpol_d95;;o_cba_d95: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_cba_d50high;d50high;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;o_2c;h_cpol_noUkr;h_cpol_d50high;;o_cba_d50high: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_cba_d95high;d95high;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;o_2c;h_cpol_noUkr;h_cpol_d95high;;o_cba_d95high: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +title;start;copyConfigFrom;cm_import_tax;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;CES_parameters;slurmConfig;climate;downscaleTemperature;cm_magicc_calibrateTemperature2000;damages;cm_damage_KWSE;internalizeDamages;climate_assessment_magicc_prob_file_iteration;cm_magicc_config;cm_magicc_temperatureImpulseResponse;cm_KotzWenzPerc;cm_damage_DiceLike_specification;cm_damages_BurkeLike_persistenceTime;cm_damages_BurkeLike_specification;cm_damages_SccHorizon;cm_VRE_supply_assumptions;c_CES_calibration_new_structure;buildings;transport;industry;cm_wasteIncinerationCCSshare;cm_DiscRateScen;c_shBioTrans;cm_EDGEtr_scen;cm_reducCostB;cm_CES_calibration_default_prices;cm_CO2TaxSectorMarkup;c_ccsinjecratescen;c_ccsinjecrateRegi;cm_33DAC;cm_33EW;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;carbonpriceRegi;regipol;cm_implicitQttyTarget;cm_implicitQttyTarget_tolerance;cm_NDC_version;cm_netZeroScen;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_IncAfterPeakBudgYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_taxCO2_expGrowth;cm_maxProdBiolc;c_ccscapratescen;techpol;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;water;fixOnRefAuto;cm_startyear;path_gdx;path_gdx_ref;path_gdx_refpolicycost;path_gdx_bau;description +# ___Calibration___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;initial value;initial value;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-Base_covidCalib;0;;;gdp_SSP2;;;;calibrate;14;off;off;uncalibrated;off;0;off;;OLDDEFAULT;off;;HowardNonCatastrophic;15;0;100;0;1;simple;edge_esm;subsectors;;0;1;Mix3;none;0.01;;1;;;;1.5;none;0;off;0;none;none;;;;;;-1;2100;3;1;;;3;1.05;off;1;none;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2005;;;;; +SSP2-lowDem_calib;0;SSP2-Base_covidCalib;;gdp_SSP2_lowEn;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +# ___Baselines___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-Base;0;;;gdp_SSP2;medOil;medGas;medCoal;load;5;off;off;uncalibrated;off;0;off;;RCP26_50;off;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix1;none;0.01;;1;;;;1.5;none;0;off;0;none;none;;;;;;-1;2100;3;1;;;3;1.05;off;1;none;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;TRUE;2005;;;;;SSP2-Base: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. No Damages from climate change are considered. +# ___NO_DAMAGES___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +h_cpol_noUkr;NGFS;SSP2-Base;;;;;;;;;;;;;;;;;;;30;;;;;;;;;;;Mix2;none;;;;;0;0;1.5;rcp45;3;off;0;NPi;none;;;;;;1;2100;;9;;;3;1.05;100;;NPi2018;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;;2005;;;;;h_cpol: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. No Damages from climate change are considered. +h_cpol;NGFS;h_cpol_noUkr;EUR.pegas.worldPricemarkup 0.5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol_noUkr;;; +h_ndc;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Mix3;none;;;1;;;;1.5;rcp45;3;globallyOptimal;0;NDC;none;;;;;;1;2100;3;;;;;;;;NDC;;;;3;;;;;;;;2025;;h_cpol_noUkr;h_cpol;h_cpol_noUkr;h_ndc: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. No Damages from climate change are considered. +o_1p5c;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;Mix4;heatpumps;;;1;;;;1.5;rcp20;9;globallyOptimal;560;functionalForm;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 4300, 2080.GLO.tax.t.CCS.biomass 4300;0.1;;;150;2045;6;;;;;;;;NDC;;;;2;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_1p5c: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. No Damages from climate change are considered. +o_lowdem;NGFS;o_1p5c;;gdp_SSP2_lowEn;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;GLO 0.00125, CAZ_regi 0.0045, CHA_regi 0.004, EUR_regi 0.0045, IND_regi 0.004, JPN_regi 0.002, USA_regi 0.002;;;;;;;560;functionalForm;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 3800, 2080.GLO.tax.t.CCS.biomass 3800;0.1;;;;;1;;;;;;;;;;;;;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_lowdem: Low Demand scenario +o_2c;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.5;;;Mix4;heatpumps;;;1;;;;1.5;rcp26;9;globallyOptimal;1050;functionalForm;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;NGFS_v4_20pc;100;2080;3;;;;;;;;NDC;;;;2;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_2c: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. No Damages from climate change are considered. +d_delfrag;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.5;;;Mix3;heatpumps;;;;GLO 0.00125, CAZ_regi 0.0045, CHA_regi 0.004, EUR_regi 0.0045, IND_regi 0.004, JPN_regi 0.002, USA_regi 0.002;;;1.5;rcp26;9;globallyOptimal;1010;functionalForm;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;;100;2080;;;;;;;;;NDC;;;;2;;;;;;;;2035;;h_cpol;h_cpol;;d_delfrag: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. No Damages from climate change are considered. +d_strain;NGFS;d_delfrag;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3;off;;NPi;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;NGFS_v4_20pc;1;2100;;;;;;;;;;;;;;;;;;;;;2035;;h_cpol;h_cpol;;d_strain: Fragmented world +d_rap;0;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;Mix4;heatpumps;;GLO.trans 2, GLO.build 2;2;;;;1.5;rcp20;9;globallyOptimal;560;functionalForm;none;;;;;;150;2045;3;;;;;;;;NDC;;;;2;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;d_rap: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. No Damages from climate change are considered. +# ___WITH_DAMAGES___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +h_cpol_KLW_d50;KLW;h_cpol;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;off;/p/projects/rd3mod/climate-assessment-files/parsets/RCP45_50.json;;off;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol;;;h_cpol_KLW_d50: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP4.5. +h_ndc_KLW_d50;KLW;h_ndc;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;off;/p/projects/rd3mod/climate-assessment-files/parsets/RCP45_50.json;;off;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol;h_cpol_KLW_d50;;h_ndc_KLW_d50: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP4.5. +o_1p5c_KLW_d50;KLW;o_1p5c;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP20_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol;h_cpol_KLW_d50;;o_1p5c_KLW_d50: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.0. +o_lowdem_KLW_d50;KLW;o_lowdem;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP20_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol;h_cpol_KLW_d50;;o_lowdem_KLW_d50: Low Demand scenario. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.0. +o_2c_KLW_d50;KLW;o_2c;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP26_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol;h_cpol_KLW_d50;;o_2c_KLW_d50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.6. +d_delfrag_KLW_d50;KLW;d_delfrag;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP26_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol_KLW_d50;h_cpol_KLW_d50;;d_delfrag_KLW_d50: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.6. +d_strain_KLW_d50;KLW;d_strain;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP45_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol_KLW_d50;h_cpol_KLW_d50;;d_strain_KLW_d50: Fragmented World. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP4.5. +d_rap_KLW_d50;0;d_rap;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP20_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol;h_cpol_KLW_d50;;d_rap_KLW_d50: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.6. diff --git a/config/scenario_config_ScenarioMIP.csv b/config/scenario_config_ScenarioMIP.csv new file mode 100644 index 000000000..da15ca00f --- /dev/null +++ b/config/scenario_config_ScenarioMIP.csv @@ -0,0 +1,43 @@ +title;start;copyConfigFrom;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_historical;cm_taxCO2_historicalYr;cm_taxCO2_regiDiff;cm_taxCO2_interpolation;cm_taxCO2_startYearValue;cm_taxCO2_IncAfterPeakBudgYr;cm_emiscen;cm_fetaxscen;cm_maxProdBiolc;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_changeProdCost;cm_CESMkup_build;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;c_regi_earlyreti_rate;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +#___ScenarioMIP_defaults___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-H-SSP3-rollBack-def;1;;rcp45;0;off;;none;;;;;;;;;;0;5;off;1;0;0.5;1;1;standard;;none;regiCarbonPrice;off;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;medOil;medGas;highCoal;4;GLO 0.09, EUR_regi 0.15;2;0;3;SSP3;1.5;0;forcing_SSP3;CLE;Mix1;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-M-SSP2-NPi2025-def;1;;rcp45;0;off;;NPi2025;;;;;;;;;;9;3;off;1;0;0.5;1;;standard;;NPi2018;regiCarbonPrice;off;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2005;;;;; +SMIPv04-ML-SSP2-PkBudg1500-def;1;;rcp45;9;globallyOptimal;1500;functionalForm;linear;75;2100;50;2040;none;(EUR,USA,JPN,NEU,CAZ).2040.2050 1,REF.2040.2060 1,(CHA,LAM,MEA).2040.2080 1,OAS.2040.2100 1.5,IND.2040.2100 2,SSA.2040.2100 3;off;0;9;3;off;1;0;0.5;1;1;standard;2100.GLO 0.5;NDC;regiCarbonPrice;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2045;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-L-SSP2-PkBudg1000-def;1;;rcp26;9;globallyOptimal;1000;functionalForm;linear;85;2070;50;2028;none;(EUR,USA,JPN,NEU,CAZ).2030.2040 1,REF.2030.2050 1,(CHA,LAM,MEA).2030.2060 1,OAS.2030.2070 1.5,IND.2030.2070 2,SSA.2030.2070 3;EUR 130,(CAZ,USA) 50,(NEU,JPN) 40,(LAM,MEA) 30,(REF,CHA,OAS) 20,IND 15,SSA 10;5;9;3;off;1;0;0.5;1;5;standard;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-VLHO-SSP2-EcBudg400-def;1;;rcp26;5;globallyOptimal;400;functionalForm;exponential;80;;;;none;(EUR,USA,JPN,NEU,CAZ).2030.2040 1,REF.2030.2050 1,(CHA,LAM,MEA).2030.2060 1,OAS.2030.2070 1.5,IND.2030.2070 2,SSA.2030.2070 3;off;;9;3;off;1;1;0;1;1;standard;2060.GLO 0.9;NDC;regiCarbonPrice;(2080,2090,2100,2110,2130,2150).GLO.tax.t.oae.all 5000;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2035;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-VLLO-SSP1-PkBudg650-def;1;;rcp20;9;globallyOptimal;650;functionalForm;linear;100;2050;50;2028;none;(EUR,USA,JPN,NEU,CAZ).2030.2040 1,REF.2030.2045 1,(CHA,LAM,MEA).2030.2050 1,OAS.2030.2050 1.5,IND.2030.2050 2,SSA.2030.2050 3;EUR 150,(CAZ,NEU,USA,JPN) 70,REF 60,(CHA,LAM,MEA) 50,OAS 40,IND 30,SSA 20;2;9;2;100;1;0;0.5;5;5;feelhpb 1.4, fehob 0.8, feheb 0.15;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;GLO 0.12, EUR_regi 0.15;2;4;2;SSP1;1;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +#___ScenarioMIP_SSP_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-M-SSP1-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;GLO 0.12, EUR_regi 0.15;;4;;SSP1;;;forcing_SSP1;;;2030;;SMIPv04-M-SSP2-NPi2025-def;;; +SMIPv04-M-SSP2_lowEn-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gdp_SSP2_lowEn;;;;;GLO 0.09, EUR_regi 0.15;;;;SSP2_lowEn;;;;;;2030;;SMIPv04-M-SSP2-NPi2025-def;;; +SMIPv04-M-SSP3-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP3;gdp_SSP3;gdp_SSP3;medOil;medGas;highCoal;4;GLO 0.09, EUR_regi 0.15;;0;;SSP3;;;forcing_SSP3;;;2030;;SMIPv04-M-SSP2-NPi2025-def;;; +SMIPv04-L-SSP1-PkBudg1000-var;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;GLO 0.12, EUR_regi 0.15;;4;;SSP1;;;forcing_SSP1;;;;;;;; +SMIPv04-VLLO-SSP2-PkBudg650-var;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;;1;;SSP2;;;forcing_SSP2;;;;;;;; +SMIPv04-VLLO-SSP2_lowEn-PkBudg650-var;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2_lowEn;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;;1;;SSP2;;;forcing_SSP2;;;;;;;; +#___RIKEN___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +RIKEN-VLLO-SSP2-PkBudg650-def;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;3;;;;;1;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;;1;;SSP2;;0;forcing_SSP2;SSP2;;;;;;; +#___ScenarioMIP_carbon_price_convergence_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_yr2035;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;GLO.2030.2035 1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_yr2050;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;(EUR,USA,JPN,NEU,CAZ).2030.2040 1,REF.2030.2045 1,(CHA,LAM,MEA).2030.2050 1,OAS.2030.2050 1.5,IND.2030.2050 2,SSA.2030.2050 3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_yr2035;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;GLO.2030.2035 1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_yr2050;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;(EUR,USA,JPN,NEU,CAZ).2030.2040 1,REF.2030.2045 1,(CHA,LAM,MEA).2030.2050 1,OAS.2030.2050 1.5,IND.2030.2050 2,SSA.2030.2050 3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg650-var_yr2035;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;GLO.2030.2035 1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +#___ScenarioMIP_EW_off_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-H-SSP3-rollBack-var_EWoff;1;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; +SMIPv04-M-SSP2-NPi2025-var_EWoff;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-ML-SSP2-PkBudg1500-var_EWoff;1;SMIPv04-ML-SSP2-PkBudg1500-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; +SMIPv04-L-SSP2-PkBudg1000-var_EWoff;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; +SMIPv04-VLHO-SSP2-EcBudg400-var_EWoff;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; +SMIPv04-VLLO-SSP1-PkBudg650-var_EWoff;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; +#___ScenarioMIP_VLHO_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_NPi;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_plantation;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_plantation_NPi;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +#___ScenarioMIP_VLLO_variant_no1stgen_phaseout___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg650-var_no1stgen_phaseout;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0;;;;;;;;; +#___ScenarioMIP_raw_luc_variant___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-H-SSP3-rollBack-var_raw_luc;1;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_raw_luc;;SMIPv04-M-SSP2-NPi2025-var_raw_luc; +SMIPv04-M-SSP2-NPi2025-var_raw_luc;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-ML-SSP2-PkBudg1500-var_raw_luc;1;SMIPv04-ML-SSP2-PkBudg1500-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_raw_luc;;SMIPv04-M-SSP2-NPi2025-var_raw_luc; +SMIPv04-L-SSP2-PkBudg1000-var_raw_luc;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_raw_luc;;SMIPv04-M-SSP2-NPi2025-var_raw_luc; +SMIPv04-VLHO-SSP2-EcBudg400-var_raw_luc;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_raw_luc;;SMIPv04-M-SSP2-NPi2025-var_raw_luc; +SMIPv04-VLLO-SSP1-PkBudg650-var_raw_luc;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_raw_luc;;SMIPv04-M-SSP2-NPi2025-var_raw_luc; diff --git a/config/scenario_config_coupled.csv b/config/scenario_config_coupled.csv index 3ebc6fb22..f07bc69d2 100644 --- a/config/scenario_config_coupled.csv +++ b/config/scenario_config_coupled.csv @@ -1,20 +1,24 @@ -title;start;oldrun;path_report;qos;magpie_scen;no_ghgprices_land_until;path_gdx;path_gdx_bau;path_gdx_ref -SDP_MC-Base;0;;;;SDP-MC|NPI|nocc_hist;y2150;;; -SDP_MC-NDC;0;;;;SDP-MC|NDC|nocc_hist;y2150;;; -SDP_MC-NPi;0;;;;SDP-MC|NPI|nocc_hist;y2150;;; -SDP_MC-PkBudg650;0;;;;SDP-MC|NDC|nocc_hist;y2030;;; -SSP1-Base;0;;;;SSP1|NPI|nocc_hist;y2150;;; -SSP1-NDC;0;;;;SSP1|NDC|nocc_hist;y2150;;; -SSP1-NPi;0;;;;SSP1|NPI|nocc_hist;y2150;;; -SSP1-PkBudg1050;0;;;;SSP1|NDC|nocc_hist;y2030;;; -SSP1-PkBudg650;0;;;;SSP1|NDC|nocc_hist;y2030;;; -SSP2-Base;0;;;;SSP2|NPI|nocc_hist;y2150;;; -SSP2-NDC;0;;;;SSP2|NDC|nocc_hist;y2150;;; -SSP2-NPi;0;;;;SSP2|NPI|nocc_hist;y2150;;; -SSP2-PkBudg1050;0;;;;SSP2|NDC|nocc_hist;y2030;;; -SSP2-PkBudg650;0;;;;SSP2|NDC|nocc_hist;y2030;;; -SSP5-Base;0;;;;SSP5|NPI|nocc_hist;y2150;;; -SSP5-NDC;0;;;;SSP5|NDC|nocc_hist;y2150;;; -SSP5-NPi;0;;;;SSP5|NPI|nocc_hist;y2150;;; -SSP5-PkBudg1050;0;;;;SSP5|NDC|nocc_hist;y2030;;; -SSP5-PkBudg650;0;;;;SSP5|NDC|nocc_hist;y2030;;; +title;start;oldrun;path_report;qos;config/scenario_config.csv;no_ghgprices_land_until;path_gdx;path_gdx_bau;path_gdx_ref;cfg_mag$gms$s15_elastic_demand;cfg_mag$gms$s32_npi_ndc_reversal;cfg_mag$gms$s35_npi_ndc_reversal +SSP1-NDC;0;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp4p5;y2150;;;;1;; +SSP1-NPi2025;0;;;;SDP-MC|SSP1-POP-GDP|NPI|nocc_hist|rcp4p5;y2150;;;;1;; +SSP1-PkBudg1000;0;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp2p6;y2030;;;;1;; +SSP1-PkBudg650;0;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;;;;1;; +SSP2_lowEn-NDC;0;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;;;;1;; +SSP2_lowEn-NPi2025;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;;;1;; +SSP2_lowEn-PkBudg1000;0;;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;;;;1;; +SSP2_lowEn-PkBudg650;0;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;;;;1;; +SSP2-EcBudg400;0;;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;;;;1;; +SSP2-NDC;0;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;;;;1;; +SSP2-NPi;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;;;1;; +SSP2-NPi2025;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;;;1;; +SSP2-PkBudg1000;0;;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;;;;1;; +SSP2-PkBudg650;0;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;;;;1;; +SSP2-rollBack;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;;;1;2030;2030 +SSP3-NDC;0;;;;SSP3|NDC|nocc_hist|rcp4p5;y2150;;;;1;; +SSP3-NPi2025;0;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;;;;1;; +SSP3-PkBudg1000;0;;;;SSP3|NDC|nocc_hist|rcp2p6;y2030;;;;1;; +SSP3-rollBack;0;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;;;;1;2030;2030 +SSP5-NDC;0;;;;SSP5|NDC|nocc_hist|rcp4p5;y2150;;;;1;; +SSP5-NPi2025;0;;;;SSP5|NPI|nocc_hist|rcp4p5;y2150;;;;1;; +SSP5-PkBudg1000;0;;;;SSP5|NDC|nocc_hist|rcp2p6;y2030;;;;1;; +SSP5-PkBudg650;0;;;;SSP5|NDC|nocc_hist|rcp1p9;y2030;;;;1;; diff --git a/config/scenario_config_coupled_EL2p0DeepDive.csv b/config/scenario_config_coupled_EL2p0DeepDive.csv new file mode 100644 index 000000000..6a2a4802d --- /dev/null +++ b/config/scenario_config_coupled_EL2p0DeepDive.csv @@ -0,0 +1,40 @@ +title;start;oldrun;path_report;qos;config/scenario_config.csv;config/projects/scenario_config_el2.csv;no_ghgprices_land_until;path_gdx;path_gdx_bau;path_gdx_ref;path_gdx_refpolicycost +SSP2EU-Base;0;;;;SSP2EU|NPI|nocc_hist;EL2_default;y2150;;;; +SSP2EU-NDC;1;;;;SSP2EU|NDC|nocc_hist;EL2_default;y2150;;;; +SSP2EU-NPi;1;;;;SSP2EU|NPI|nocc_hist;EL2_default;y2150;;;; +SSP2EU-noDSPkB500-noDS_betax_DeepDive;0;;;priority;SSP2EU|NDC|nocc_hist;EL2_default;y2030;;;; +SSP2EU-DSPkB500-DS_betax_DeepDive;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default|EL2_Demand;y2030;;;; +SSP2EU-noDSPkB500-DS_betax_DeepDive;0;;;priority;SSP2EU|NDC|nocc_hist;EL2_default|EL2_Demand;y2030;;;; +SSP2EU-DSPkB500-noDS_betax_DeepDive;0;;;priority;SSP2EU|NDC|nocc_hist;EL2_default;y2030;;;; +SSP2EU-noDSPkB650-noDS_betax_DeepDive;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default;y2030;;;; +SSP2EU-DSPkB650-DS_betax_DeepDive;0;;;priority;SSP2EU|NDC|nocc_hist;EL2_default|EL2_Demand;y2030;;;; +SSP2EU-noDSPkB650-DS_betax_DeepDive;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default|EL2_Demand;y2030;;;; +SSP2EU-DSPkB650-noDS_betax_DeepDive;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default;y2030;;;; +SSP2EU-noDSPkB1050-noDS_betax_DeepDive;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default;y2030;;;; +SSP2EU-DSPkB1050-DS_betax_DeepDive;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default|EL2_Demand;y2030;;;; +SSP2EU-noDSPkB1050-DS_betax_DeepDive;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default|EL2_Demand;y2030;;;; +SSP2EU-DSPkB1050-noDS_betax_DeepDive;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default;y2030;;;; +SSP2EU-noDSPkB500-noDS_betax_AgMIP;0;;;priority;SSP2EU|NDC|nocc_hist;EL2_default;y2030;;;; +SSP2EU-DSPkB500-DS_betax_AgMIP;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default|EL2_PHD;y2030;;;; +SSP2EU-noDSPkB500-DS_betax_AgMIP;0;;;priority;SSP2EU|NDC|nocc_hist;EL2_default|EL2_PHD;y2030;;;; +SSP2EU-DSPkB500-noDS_betax_AgMIP;0;;;priority;SSP2EU|NDC|nocc_hist;EL2_default;y2030;;;; +SSP2EU-noDSPkB650-noDS_betax_AgMIP;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default;y2030;;;; +SSP2EU-DSPkB650-DS_betax_AgMIP;1;;;priority;SSP2EU|NDC|nocc_hist;EL2_default|EL2_PHD;y2030;;;; +SSP2EU-noDSPkB650-DS_betax_AgMIP;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default|EL2_PHD;y2030;;;; +SSP2EU-DSPkB650-noDS_betax_AgMIP;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default;y2030;;;; +SSP2EU-noDSPkB1050-noDS_betax_AgMIP;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default;y2030;;;; +SSP2EU-DSPkB1050-DS_betax_AgMIP;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default|EL2_PHD;y2030;;;; +SSP2EU-noDSPkB1050-DS_betax_AgMIP;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default|EL2_PHD;y2030;;;; +SSP2EU-DSPkB1050-noDS_betax_AgMIP;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default;y2030;;;; +SSP2EU-noDSPkB500-noDS_betax_DeepDive_noNDC;0;;;priority;SSP2EU|NPI|nocc_hist;EL2_default;y2030;;;; +SSP2EU-DSPkB500-DS_betax_DeepDive_noNDC;0;;;short;SSP2EU|NPI|nocc_hist;EL2_default|EL2_Demand;y2030;;;; +SSP2EU-noDSPkB500-DS_betax_DeepDive_noNDC;0;;;priority;SSP2EU|NPI|nocc_hist;EL2_default|EL2_Demand;y2030;;;; +SSP2EU-DSPkB500-noDS_betax_DeepDive_noNDC;0;;;priority;SSP2EU|NPI|nocc_hist;EL2_default;y2030;;;; +SSP2EU-noDSPkB650-noDS_betax_DeepDive_noNDC;0;;;short;SSP2EU|NPI|nocc_hist;EL2_default;y2030;;;; +SSP2EU-DSPkB650-DS_betax_DeepDive_noNDC;1;;;priority;SSP2EU|NPI|nocc_hist;EL2_default|EL2_Demand;y2030;;;; +SSP2EU-noDSPkB650-DS_betax_DeepDive_noNDC;0;;;short;SSP2EU|NPI|nocc_hist;EL2_default|EL2_Demand;y2030;;;; +SSP2EU-DSPkB650-noDS_betax_DeepDive_noNDC;0;;;short;SSP2EU|NPI|nocc_hist;EL2_default;y2030;;;; +SSP2EU-noDSPkB1050-noDS_betax_DeepDive_noNDC;0;;;short;SSP2EU|NPI|nocc_hist;EL2_default;y2030;;;; +SSP2EU-DSPkB1050-DS_betax_DeepDive_noNDC;0;;;short;SSP2EU|NPI|nocc_hist;EL2_default|EL2_Demand;y2030;;;; +SSP2EU-noDSPkB1050-DS_betax_DeepDive_noNDC;0;;;short;SSP2EU|NPI|nocc_hist;EL2_default|EL2_Demand;y2030;;;; +SSP2EU-DSPkB1050-noDS_betax_DeepDive_noNDC;0;;;short;SSP2EU|NPI|nocc_hist;EL2_default;y2030;;;; diff --git a/config/scenario_config_coupled_ELEVATE2p3.csv b/config/scenario_config_coupled_ELEVATE2p3.csv new file mode 100755 index 000000000..b4ea7ab6e --- /dev/null +++ b/config/scenario_config_coupled_ELEVATE2p3.csv @@ -0,0 +1,18 @@ +title;start;oldrun;path_report;qos;magpie_scen;no_ghgprices_land_until;.cm_nash_autoconverge_lastrun;path_gdx_carbonprice;path_gdx;path_gdx_ref;path_gdx_bau +SSP2-Base;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;;; +ELV_CurPol_T44;0;;;priority;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;;; +ELV_NDC2030_T44;1;;;priority;SSP2|NDC|nocc_hist|rcp4p5;y2150;2;;;; +ELV-SSP2-NDC-D0;1;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;2;;;; +ELV-SSP2-NDC-D1;1;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;2;;;; +ELV-SSP2-NDC-D3;1;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;2;;;; +ELV-SSP2-LTS;1;;;;SSP2|NDC|nocc_hist|rcp2p6;y2150;2;;;; +ELV-SSP2-NDC-LTS;1;;;;SSP2|NDC|nocc_hist|rcp2p6;y2150;2;;;; +ELV-SSP2-1150;1;;;;SSP2|NDC|nocc_hist|rcp2p6;y2150;2;;;; +ELV-SSP2-400Feoc;1;;;;SSP2|NDC|nocc_hist|rcp1p9;y2150;2;;;; +ELV-SSP2-CP-D0;1;;;priority;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;;; +ELV-SSP2-CP-D1;1;;;priority;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;;; +ELV-SSP2-CP-D3;1;;;priority;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;;; +ELV-SSP2-CP-D1_Mix1;1;;;priority;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;;; +ELV-SSP2-CP-D1_Mix2;1;;;priority;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;;; +ELV_CurPol_T44_Mix1;1;;;priority;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;;; +ELV_CurPol_T44_Mix2;1;;;priority;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;;; diff --git a/config/scenario_config_coupled_GCS.csv b/config/scenario_config_coupled_GCS.csv index e86a6ac45..f2ed4d400 100644 --- a/config/scenario_config_coupled_GCS.csv +++ b/config/scenario_config_coupled_GCS.csv @@ -1,48 +1,48 @@ -title;start;qos;oldrun;path_report;magpie_scen;no_ghgprices_land_until;path_gdx;path_gdx_ref;path_gdx_bau;path_mif_ghgprice_land -SSP2-Base;0;priority;;;SSP2|NPI|nocc;y2150;/p/projects/piam/abrahao/runs_gcsf/phase2_dec/remind/output/C_SSP2-Base-rem-1/fulldata.gdx;;; -SSP2-Tall-PkBudg750;0;priority;;;SSP2|NDC|Tland|GCSF|cc|rcp1p9;y2020;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-NDC;0;short;;;SSP2|NDC|GCSF|cc|rcp4p5;y2150;SSP2-Base;SSP2-Base;SSP2-Base; -SSP2-NPi;0;priority;;;SSP2|NPI|GCSF|cc|rcp4p5;y2150;SSP2-NDC;SSP2-Base;SSP2-Base; -SSP2-ENEndc;0;short;;;SSP2|NPI|GCSF|cc|rcp2p6;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-ENEcp;0;short;;;SSP2|NPI|GCSF|cc|rcp2p6;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-ENEelec;0;short;;;SSP2|NPI|GCSF|cc|rcp2p6;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-ENEcp-ENEcc;0;short;;;SSP2|NPI|GCSF|cc|rcp2p6;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-Tene;0;priority;;;SSP2|NPI|GCSF|cc|rcp2p6;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-Tpc;0;priority;;;SSP2|NPI|GCSF|cc|rcp2p6;y2150;/p/projects/piam/abrahao/runs_gcsf/phase2_biofix/remind/output/bkp_tpcfix/C_SSP2-Tpc-rem-5/fulldata.gdx;SSP2-NPi;SSP2-Base; -SSP2-LNDcp;0;short;;;SSP2|NPI|GCSF|cc|rcp2p6;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-LNDndc;0;short;;;SSP2|NDC|GCSF|cc|rcp2p6;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-LNDlbs;0;short;;;SSP2|NPI|LNDlbs|GCSF|cc|rcp2p6;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-LNDreseff;0;short;;;SSP2|NPI|LNDres|GCSF|cc|rcp2p6;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-LNDfood;0;short;;;SSP2|NPI|LNDfood|GCSF|cc|rcp2p6;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-Tland;0;short;;;SSP2|NDC|Tland|GCSF|cc|rcp2p6;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-nofood-Tland;0;short;;;SSP2|NDC|LNDlbs|LNDres|GCSF|cc|rcp2p6;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-Tene-LNDndc;0;short;;;SSP2|NDC|GCSF|cc|rcp2p6;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-Tene-LNDlbs;0;short;;;SSP2|NPI|LNDlbs|GCSF|cc|rcp2p6;y2020;SSP2-NDC;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-Tene-LNDreseff;0;short;;;SSP2|NPI|LNDres|GCSF|cc|rcp2p6;y2020;SSP2-NDC;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-Tene-LNDfood;0;short;;;SSP2|NPI|LNDfood|GCSF|cc|rcp2p6;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-nofood-Tene-Tland;0;short;;;SSP2|NDC|LNDlbs|LNDres|GCSF|cc|rcp2p6;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-Tene-Tland;0;short;;;SSP2|NDC|Tland|GCSF|cc|rcp2p6;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SDP-Tall-PkBudg750;0;short;;;SDP|NDC|Tland|GCSF|cc|rcp1p9;y2020;SSP2-NDC;SSP2-NPi;SSP2-Base; -SDP-Tall-exoCP;0;short;;;SDP|NDC|Tland|GCSF|cc|rcp1p9;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP1-Tall-exoCP;0;short;;;SSP1|NDC|Tland|GCSF|cc|rcp1p9;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-Tene-rcp45;0;short;;;SSP2|NPI|GCSF|cc|rcp4p5;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-Tpc-rcp45;0;priority;;;SSP2|NPI|GCSF|cc|rcp4p5;y2150;/p/projects/piam/abrahao/runs_gcsf/phase2_biofix/remind/output/bkp_tpcfix/C_SSP2-Tpc-rem-5/fulldata.gdx;SSP2-NPi;SSP2-Base; -SSP2-Tland-rcp45;0;short;;;SSP2|NDC|Tland|GCSF|cc|rcp4p5;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-LNDndc-rcp45;0;short;;;SSP2|NDC|GCSF|cc|rcp4p5;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-LNDlbs-rcp45;0;short;;;SSP2|NPI|LNDlbs|GCSF|cc|rcp4p5;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-LNDreseff-rcp45;0;short;;;SSP2|NPI|LNDres|GCSF|cc|rcp4p5;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-LNDfood-rcp45;0;short;;;SSP2|NPI|LNDfood|GCSF|cc|rcp4p5;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-basendc-Tene;0;short;;;SSP2|NDC|GCSF|cc|rcp2p6;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-basendc-Tland;0;short;;;SSP2|NDC|Tland|GCSF|cc|rcp2p6;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-Tall-noTpc-PkBudg750;0;short;;;SSP2|NDC|Tland|GCSF|cc|rcp1p9;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base; -SSP2-Tall-noDam-PkBudg750;0;short;;;SSP2|NDC|Tland|GCSF|nocc_hist|rcp1p9;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base; -SSP2-Tall-noDam-exoCP;0;short;;;SSP2|NDC|Tland|GCSF|nocc_hist|rcp1p9;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base; -SSP2-NPi-noDam;1;priority;;;SSP2|NPI|GCSF|nocc_hist|rcp4p5;y2150;SSP2-NDC;SSP2-Base;SSP2-Base; -SSP2-notrans-PkBudg750;0;short;;;SSP2|NDC|GCSF|cc|rcp2p6;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base; -SSP2-notrans-PkBudg500;0;short;;;SSP2|NDC|GCSF|cc|rcp2p6;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base; -SSP2-CPonly;0;short;;;SSP2|NPI|GCSF|cc|rcp2p6;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-lowEnBase;0;short;;;SSP2|NPI|GCSF|nocc;y2150;;;; -SSP2-sens-Tall-PkBudg750;0;short;;;SSP2|NDC|Tland|GCSF|cc|rcp1p9;y2020;/p/projects/piam/abrahao/runs_gcsf/phase2_dec/remind/output/C_SSP2-Tall-PkBudg820-rem-5/fulldata.gdx;SSP2-Base;SSP2-Base; -SSP2-sens-Tall-PkBudg700;0;short;;;SSP2|NDC|Tland|GCSF|cc|rcp1p9;y2020;/p/projects/piam/abrahao/runs_gcsf/phase2_dec/remind/output/C_SSP2-Tall-PkBudg820-rem-5/fulldata.gdx;SSP2-Base;SSP2-Base; -SSP2-sens-Tall-PkBudg650;0;short;;;SSP2|NDC|Tland|GCSF|cc|rcp1p9;y2020;/p/projects/piam/abrahao/runs_gcsf/phase2_dec/remind/output/C_SSP2-Tall-PkBudg820-rem-5/fulldata.gdx;SSP2-Base;SSP2-Base; -SSP2-sens-Tall-PkBudg600;0;short;;;SSP2|NDC|Tland|GCSF|cc|rcp1p9;y2020;/p/projects/piam/abrahao/runs_gcsf/phase2_dec/remind/output/C_SSP2-Tall-PkBudg820-rem-5/fulldata.gdx;SSP2-Base;SSP2-Base; +title;start;qos;oldrun;path_report;config/scenario_config.csv;config/projects/scenario_config_gcs.csv;no_ghgprices_land_until;path_gdx;path_gdx_ref;path_gdx_bau;path_mif_ghgprice_land +SSP2-Base;0;priority;;;SSP2|NPI|nocc;;y2150;;;; +SSP2-Tall-PkBudg750;0;priority;;;SSP2|NDC|cc|rcp1p9;Tland|GCSF;y2020;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-NDC;0;short;;;SSP2|NDC|cc|rcp4p5;GCSF;y2150;SSP2-Base;SSP2-Base;SSP2-Base; +SSP2-NPi;0;priority;;;SSP2|NPI|cc|rcp4p5;GCSF;y2150;SSP2-NDC;SSP2-Base;SSP2-Base; +SSP2-ENEndc;0;short;;;SSP2|NPI|cc|rcp2p6;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-ENEcp;0;short;;;SSP2|NPI|cc|rcp2p6;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-ENEelec;0;short;;;SSP2|NPI|cc|rcp2p6;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-ENEcp-ENEcc;0;short;;;SSP2|NPI|cc|rcp2p6;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-Tene;0;priority;;;SSP2|NPI|cc|rcp2p6;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-Tpc;0;priority;;;SSP2|NPI|cc|rcp2p6;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-LNDcp;0;short;;;SSP2|NPI|cc|rcp2p6;GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-LNDndc;0;short;;;SSP2|NDC|cc|rcp2p6;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-LNDlbs;0;short;;;SSP2|NPI|cc|rcp2p6;LNDlbs|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-LNDreseff;0;short;;;SSP2|NPI|cc|rcp2p6;LNDres|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-LNDfood;0;short;;;SSP2|NPI|cc|rcp2p6;LNDfood|GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-Tland;0;short;;;SSP2|NDC|cc|rcp2p6;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-nofood-Tland;0;short;;;SSP2|NDC|cc|rcp2p6;LNDlbs|LNDres|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-Tene-LNDndc;0;short;;;SSP2|NDC|cc|rcp2p6;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-Tene-LNDlbs;0;short;;;SSP2|NPI|cc|rcp2p6;LNDlbs|GCSF;y2020;SSP2-NDC;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-Tene-LNDreseff;0;short;;;SSP2|NPI|cc|rcp2p6;LNDres|GCSF;y2020;SSP2-NDC;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-Tene-LNDfood;0;short;;;SSP2|NPI|cc|rcp2p6;LNDfood|GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-nofood-Tene-Tland;0;short;;;SSP2|NDC|cc|rcp2p6;LNDlbs|LNDres|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-Tene-Tland;0;short;;;SSP2|NDC|cc|rcp2p6;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SDP-Tall-PkBudg750;0;short;;;SDP|NDC|cc|rcp1p9;Tland|GCSF;y2020;SSP2-NDC;SSP2-NPi;SSP2-Base; +SDP-Tall-exoCP;0;short;;;SDP|NDC|cc|rcp1p9;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP1-Tall-exoCP;0;short;;;SSP1|NDC|cc|rcp1p9;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-Tene-rcp45;0;short;;;SSP2|NPI|cc|rcp4p5;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-Tpc-rcp45;0;priority;;;SSP2|NPI|cc|rcp4p5;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-Tland-rcp45;0;short;;;SSP2|NDC|cc|rcp4p5;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-LNDndc-rcp45;0;short;;;SSP2|NDC|cc|rcp4p5;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-LNDlbs-rcp45;0;short;;;SSP2|NPI|cc|rcp4p5;LNDlbs|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-LNDreseff-rcp45;0;short;;;SSP2|NPI|cc|rcp4p5;LNDres|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-LNDfood-rcp45;0;short;;;SSP2|NPI|cc|rcp4p5;LNDfood|GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-basendc-Tene;0;short;;;SSP2|NDC|cc|rcp2p6;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-basendc-Tland;0;short;;;SSP2|NDC|cc|rcp2p6;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-Tall-noTpc-PkBudg750;0;short;;;SSP2|NDC|cc|rcp1p9;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base; +SSP2-Tall-noDam-PkBudg750;0;short;;;SSP2|NDC|nocc_hist|rcp1p9;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base; +SSP2-Tall-noDam-exoCP;0;short;;;SSP2|NDC|nocc_hist|rcp1p9;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base; +SSP2-NPi-noDam;1;priority;;;SSP2|NPI|nocc_hist|rcp4p5;GCSF;y2150;SSP2-NDC;SSP2-Base;SSP2-Base; +SSP2-notrans-PkBudg750;0;short;;;SSP2|NDC|cc|rcp2p6;GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base; +SSP2-notrans-PkBudg500;0;short;;;SSP2|NDC|cc|rcp2p6;GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base; +SSP2-CPonly;0;short;;;SSP2|NPI|cc|rcp2p6;GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-lowEnBase;0;short;;;SSP2|NPI|nocc;GCSF;y2150;;;; +SSP2-sens-Tall-PkBudg750;0;short;;;SSP2|NDC|cc|rcp1p9;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-Base;SSP2-Base; +SSP2-sens-Tall-PkBudg700;0;short;;;SSP2|NDC|cc|rcp1p9;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-Base;SSP2-Base; +SSP2-sens-Tall-PkBudg650;0;short;;;SSP2|NDC|cc|rcp1p9;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-Base;SSP2-Base; +SSP2-sens-Tall-PkBudg600;0;short;;;SSP2|NDC|cc|rcp1p9;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-Base;SSP2-Base; diff --git a/config/scenario_config_coupled_NGFS_v5.csv b/config/scenario_config_coupled_NGFS_v5.csv index db35956e6..24c24ffc3 100644 --- a/config/scenario_config_coupled_NGFS_v5.csv +++ b/config/scenario_config_coupled_NGFS_v5.csv @@ -1,48 +1,59 @@ -title;start;copyConfigFrom;oldrun;path_report;qos;magpie_scen;no_ghgprices_land_until;.cm_nash_autoconverge_lastrun;path_gdx;path_gdx_ref;path_gdx_bau -SSP2-Base;;;SSP2-Base;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;;; -h_cpol_noUkr;NGFS;;h_cpol;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;; -h_cpol;NGFS;;h_cpol;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;; -h_ndc;NGFS;;h_ndc;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;2;;; -o_1p5c;NGFS;;o_1p5c;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;2;;; -o_2c;NGFS;;o_2c;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;2;;; -o_lowdem;NGFS;;o_lowdem;;;SSP2|NDC|nocc_hist|rcp1p9|NGFS_o_lowdem;y2030;2;;; -d_delfrag;NGFS;;d_delfrag;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;2;;; -d_strain;NGFS;;d_strain;;;SSP2|NDC|nocc_hist|rcp4p5;y2030;2;;; -SSP2-Base_d50;0;SSP2-Base;SSP2-Base;;;SSP2|NPI|cc|rcp6p0;;;;; -SSP2-Base_d95;0;SSP2-Base_d50;SSP2-Base;;;;;;;; -SSP2-Base_d50high;0;SSP2-Base_d50;SSP2-Base;;;;;;;; -SSP2-Base_d95high;0;SSP2-Base_d50;SSP2-Base;;;;;;;; -h_cpol_d50;d50;h_cpol;h_cpol;;;SSP2|NPI|cc|rcp4p5;;;;; -h_cpol_d95;d95;h_cpol_d50;h_cpol;;;;;;;; -h_cpol_d50high;d50high;h_cpol_d50;h_cpol;;;;;;;; -h_cpol_d95high;d95high;h_cpol_d50;h_cpol;;;;;;;; -h_ndc_d50;d50;h_ndc;h_ndc;;;SSP2|NDC|cc|rcp4p5;;;;; -h_ndc_d95;d95;h_ndc_d50;h_ndc;;;;;;;; -h_ndc_d50high;d50high;h_ndc_d50;h_ndc;;;;;;;; -h_ndc_d95high;d95high;h_ndc_d50;h_ndc;;;;;;;; -o_1p5c_d50;d50;o_1p5c;o_1p5c;;;SSP2|NDC|cc|rcp1p9;;;;; -o_1p5c_d95;d95;o_1p5c_d50;o_1p5c;;;;;;;; -o_1p5c_d50high;d50high;o_1p5c_d50;o_1p5c;;;;;;;; -o_1p5c_d95high;d95high;o_1p5c_d50;o_1p5c;;;;;;;; -o_2c_d50;d50;o_2c;o_2c;;;SSP2|NDC|cc|rcp2p6;;;;; -o_2c_d95;d95;o_2c_d50;o_2c;;;;;;;; -o_2c_d50high;d50high;o_2c_d50;o_2c;;;;;;;; -o_2c_d95high;d95high;o_2c_d50;o_2c;;;;;;;; -o_lowdem_d50;d50;o_lowdem;o_lowdem;;;SSP2|NDC|cc|rcp1p9|NGFS_o_lowdem;;;;; -o_lowdem_d95;d95;o_lowdem_d50;o_lowdem;;;;;;;; -o_lowdem_d50high;d50high;o_lowdem_d50;o_lowdem;;;;;;;; -o_lowdem_d95high;d95high;o_lowdem_d50;o_lowdem;;;;;;;; -d_delfrag_d50;d50;d_delfrag;d_delfrag;;;SSP2|NDC|cc|rcp2p6;;;;; -d_delfrag_d95;d95;d_delfrag_d50;d_delfrag;;;;;;;; -d_delfrag_d50high;d50high;d_delfrag_d50;d_delfrag;;;;;;;; -d_delfrag_d95high;d95high;d_delfrag_d50;d_delfrag;;;;;;;; -d_strain_d50;d50;d_strain;d_strain;;;SSP2|NDC|cc|rcp4p5;;;;; -d_strain_d95;d95;d_strain_d50;d_strain;;;;;;;; -d_strain_d50high;d50high;d_strain_d50;d_strain;;;;;;;; -d_strain_d95high;d95high;d_strain_d50;d_strain;;;;;;;; -# old, from NGFS v3;;;;;;;;;;; -d_rap;0;;d_rap;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;2;;; -d_rap_d50;0;d_rap;d_rap;;;SSP2|NDC|cc|rcp1p9;;;;; -d_rap_d95;0;d_rap_d50;d_rap;;;;;;;; -d_rap_d50high;0;d_rap_d50;d_rap;;;;;;;; -d_rap_d95high;0;d_rap_d50;d_rap;;;;;;;; +title;start;copyConfigFrom;oldrun;path_report;qos;config/scenario_config.csv;config/projects/scenario_config_ngfs.csv;no_ghgprices_land_until;.cm_nash_autoconverge_lastrun;path_gdx;path_gdx_ref;path_gdx_bau;cfg_mag$gms$s56_cprice_red_factor +SSP2-Base;;;SSP2-Base;;;SSP2|NPI|nocc_hist|rcp4p5;;y2150;;;;; +h_cpol_noUkr;NGFS;;h_cpol;;;SSP2|NPI|nocc_hist|rcp4p5;;y2150;2;;;; +h_cpol;NGFS;;h_cpol;;;SSP2|NPI|nocc_hist|rcp4p5;;y2150;2;;;; +h_ndc;NGFS;;h_ndc;;;SSP2|NDC|nocc_hist|rcp4p5;;y2150;2;;;; +o_1p5c;NGFS;;o_1p5c;;;SSP2|NDC|nocc_hist|rcp1p9;;y2030;2;;;;0.3 +o_2c;NGFS;;o_2c;;;SSP2|NDC|nocc_hist|rcp2p6;;y2030;2;;;; +o_lowdem;NGFS;;o_lowdem;;;SSP2|NDC|nocc_hist|rcp1p9;NGFS_o_lowdem;y2030;2;;;;0.3 +d_delfrag;NGFS;;d_delfrag;;;SSP2|NDC|nocc_hist|rcp2p6;;y2030;2;;;; +d_strain;NGFS;;d_strain;;;SSP2|NDC|nocc_hist|rcp4p5;;y2030;2;;;; +# with damages;;;;;;;;;;;;; +h_cpol_KLW_d50;KLW;h_cpol;h_cpol;;;SSP2|NPI|cc|rcp4p5;;;;;;; +h_ndc_KLW_d50;KLW;h_ndc;h_ndc;;;SSP2|NDC|cc|rcp4p5;;;;;;; +o_1p5c_KLW_d50;KLW;o_1p5c;o_1p5c;;;SSP2|NDC|cc|rcp1p9;;;;;;; +o_2c_KLW_d50;KLW;o_2c;o_2c;;;SSP2|NDC|cc|rcp2p6;;;;;;; +o_lowdem_KLW_d50;KLW;o_lowdem;o_lowdem;;;SSP2|NDC|cc|rcp1p9;NGFS_o_lowdem;;;;;; +d_delfrag_KLW_d50;KLW;d_delfrag;d_delfrag;;;SSP2|NDC|cc|rcp2p6;;;;;;; +d_strain_KLW_d50;KLW;d_strain;d_strain;;;SSP2|NDC|cc|rcp4p5;;;;;;; +#;;;;;;;;;;;;; +# Kalkuhl and Wenz, from NGFS v4;;;;;;;;;;;;; +SSP2-Base_d50;0;SSP2-Base;SSP2-Base;;;SSP2|NPI|cc|rcp6p0;;;;;;; +SSP2-Base_d95;0;SSP2-Base_d50;SSP2-Base;;;;;;;;;; +SSP2-Base_d50high;0;SSP2-Base_d50;SSP2-Base;;;;;;;;;; +SSP2-Base_d95high;0;SSP2-Base_d50;SSP2-Base;;;;;;;;;; +h_cpol_d50;d50;h_cpol;h_cpol;;;SSP2|NPI|cc|rcp4p5;;;;;;; +h_cpol_d95;d95;h_cpol_d50;h_cpol;;;;;;;;;; +h_cpol_d50high;d50high;h_cpol_d50;h_cpol;;;;;;;;;; +h_cpol_d95high;d95high;h_cpol_d50;h_cpol;;;;;;;;;; +h_ndc_d50;d50;h_ndc;h_ndc;;;SSP2|NDC|cc|rcp4p5;;;;;;; +h_ndc_d95;d95;h_ndc_d50;h_ndc;;;;;;;;;; +h_ndc_d50high;d50high;h_ndc_d50;h_ndc;;;;;;;;;; +h_ndc_d95high;d95high;h_ndc_d50;h_ndc;;;;;;;;;; +o_1p5c_d50;d50;o_1p5c;o_1p5c;;;SSP2|NDC|cc|rcp1p9;;;;;;; +o_1p5c_d95;d95;o_1p5c_d50;o_1p5c;;;;;;;;;; +o_1p5c_d50high;d50high;o_1p5c_d50;o_1p5c;;;;;;;;;; +o_1p5c_d95high;d95high;o_1p5c_d50;o_1p5c;;;;;;;;;; +o_2c_d50;d50;o_2c;o_2c;;;SSP2|NDC|cc|rcp2p6;;;;;;; +o_2c_d95;d95;o_2c_d50;o_2c;;;;;;;;;; +o_2c_d50high;d50high;o_2c_d50;o_2c;;;;;;;;;; +o_2c_d95high;d95high;o_2c_d50;o_2c;;;;;;;;;; +o_lowdem_d50;d50;o_lowdem;o_lowdem;;;SSP2|NDC|cc|rcp1p9;NGFS_o_lowdem;;;;;; +o_lowdem_d95;d95;o_lowdem_d50;o_lowdem;;;;;;;;;; +o_lowdem_d50high;d50high;o_lowdem_d50;o_lowdem;;;;;;;;;; +o_lowdem_d95high;d95high;o_lowdem_d50;o_lowdem;;;;;;;;;; +d_delfrag_d50;d50;d_delfrag;d_delfrag;;;SSP2|NDC|cc|rcp2p6;;;;;;; +d_delfrag_d95;d95;d_delfrag_d50;d_delfrag;;;;;;;;;; +d_delfrag_d50high;d50high;d_delfrag_d50;d_delfrag;;;;;;;;;; +d_delfrag_d95high;d95high;d_delfrag_d50;d_delfrag;;;;;;;;;; +d_strain_d50;d50;d_strain;d_strain;;;SSP2|NDC|cc|rcp4p5;;;;;;; +d_strain_d95;d95;d_strain_d50;d_strain;;;;;;;;;; +d_strain_d50high;d50high;d_strain_d50;d_strain;;;;;;;;;; +d_strain_d95high;d95high;d_strain_d50;d_strain;;;;;;;;;; +# old, from NGFS v3;;;;;;;;;;;;; +d_rap;0;;d_rap;;;SSP2|NDC|nocc_hist|rcp1p9;;y2030;2;;;; +d_rap_d50;0;d_rap;d_rap;;;SSP2|NDC|cc|rcp1p9;;;;;;; +d_rap_d95;0;d_rap_d50;d_rap;;;;;;;;;; +d_rap_d50high;0;d_rap_d50;d_rap;;;;;;;;;; +d_rap_d95high;0;d_rap_d50;d_rap;;;;;;;;;; +d_rap_KLW_d50;0;d_rap;d_rap;;;SSP2|NDC|cc|rcp1p9;;;;;;; diff --git a/config/scenario_config_coupled_ScenarioMIP.csv b/config/scenario_config_coupled_ScenarioMIP.csv new file mode 100644 index 000000000..d2df8bac9 --- /dev/null +++ b/config/scenario_config_coupled_ScenarioMIP.csv @@ -0,0 +1,35 @@ +title;start;copyConfigFrom;oldrun;path_report;qos;config/scenario_config.csv;no_ghgprices_land_until;var_luc;path_gdx;path_gdx_bau;path_gdx_ref;cfg_mag$gms$s15_elastic_demand;cfg_mag$gms$s32_aff_plantation;cfg_mag$gms$s32_npi_ndc_reversal;cfg_mag$gms$s35_npi_ndc_reversal +SMIPv04-H-SSP3-rollBack-def;0;;;;;SSP3|NPI|nocc_hist;y2150;;;;;1;0;2030;2030 +SMIPv04-M-SSP2-NPi2025-def;0;;;;;SSP2|NPI|nocc_hist;y2150;;;;;1;0;; +SMIPv04-ML-SSP2-PkBudg1500-def;0;;;;;SSP2|NPI|nocc_hist;y2040;;;;;1;0;; +SMIPv04-L-SSP2-PkBudg1000-def;0;;;;;SSP2|NDC|nocc_hist;y2030;;;;;1;0;; +SMIPv04-VLHO-SSP2-EcBudg400-def;0;;;;;SSP2|NDC|nocc_hist;y2030;;;;;1;0;; +SMIPv04-VLLO-SSP1-PkBudg650-def;0;;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist;y2030;;;;;1;0;; +SMIPv04-M-SSP1-NPi2025-var;0;;;;;SSP1|NPI|nocc_hist;y2150;;;;;1;0;; +SMIPv04-M-SSP2_lowEn-NPi2025-var;0;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;; +SMIPv04-M-SSP3-NPi2025-var;0;;;;;SSP3|NPI|nocc_hist;y2150;;;;;1;0;; +SMIPv04-L-SSP1-PkBudg1000-var;0;;;;;SSP1|NDC|nocc_hist;y2030;;;;;1;0;; +SMIPv04-VLLO-SSP2-PkBudg650-var;0;;;;;SDP-MC|SSP2-POP-GDP|NDC|nocc_hist;y2030;;;;;1;0;; +SMIPv04-VLLO-SSP2_lowEn-PkBudg650-var;0;;;;;SDP-MC|SSP2-POP-GDP|NDC|nocc_hist;y2030;;;;;1;0;; +RIKEN-VLLO-SSP2-PkBudg650-def;0;;;;;SSP2|NDC|nocc_hist;y2030;;;;;1;0;; +SMIPv04-L-SSP2-PkBudg1000-var_yr2035;0;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_yr2050;0;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_yr2035;0;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_yr2050;0;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg650-var_yr2035;0;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;; +SMIPv04-H-SSP3-rollBack-var_EWoff;0;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;; +SMIPv04-M-SSP2-NPi2025-var_EWoff;0;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;; +SMIPv04-ML-SSP2-PkBudg1500-var_EWoff;0;SMIPv04-ML-SSP2-PkBudg1500-def;;;;;;;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_EWoff;0;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_EWoff;0;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg650-var_EWoff;0;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_NPi;0;;;;;SSP2|NPI|nocc_hist;y2030;;;;;1;0;; +SMIPv04-VLHO-SSP2-EcBudg400-var_plantation;0;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;1;; +SMIPv04-VLHO-SSP2-EcBudg400-var_plantation_NPi;0;SMIPv04-VLHO-SSP2-EcBudg400-var_NPi;;;;;;;;;;;1;; +SMIPv04-VLLO-SSP1-PkBudg650-var_no1stgen_phaseout;0;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;; +SMIPv04-H-SSP3-rollBack-var_raw_luc;0;SMIPv04-H-SSP3-rollBack-def;;;;;;raw;;;;;;; +SMIPv04-M-SSP2-NPi2025-var_raw_luc;0;SMIPv04-M-SSP2-NPi2025-def;;;;;;raw;;;;;;; +SMIPv04-ML-SSP2-PkBudg1500-var_raw_luc;0;SMIPv04-ML-SSP2-PkBudg1500-def;;;;;;raw;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_raw_luc;0;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;raw;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_raw_luc;0;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;raw;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg650-var_raw_luc;0;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;raw;;;;;;; diff --git a/config/settings_config.csv b/config/settings_config.csv index 9d081d75e..ba05072a1 100644 --- a/config/settings_config.csv +++ b/config/settings_config.csv @@ -1,54 +1,29 @@ - ;climate|off;growth|exogenous;growth|endogenous;growth|spillover;biomass|exogenous;biomass|magpie_hightccost;fossil|timeDepGrades;fossil|grades;fossil|polynomial;fossil|simple;fossil|exogenous;transport|simple;techpol|none;techpol|moderate;techpol|stringent;techpol|eur;techpol|lowCarbonPush;techpol|CombLowCandCoalPO;techpol|coalPhaseout;emicapregi|none;emicapregi|CandC;emicapregi|GDPint;emicapregi|POPint;emicapregi|exog;emicapregi|exogMod;emicapregi|exogMod2;emicapregi|exogStr;emicapregi|exogMT;emicapregi|exogG8;banking|off;banking|banking;banking|bankborrow;carbonprice|none;optimization|negishi;optimization|nash;optimization|testOneRegi;cm_emiscen|0;cm_emiscen|1;cm_emiscen|2;cm_emiscen|3;cm_emiscen|4;cm_emiscen|5;cm_emiscen|8;cm_emiscen|9;cm_rcp_scen|none;cm_rcp_scen|26;cm_iterative_target_adj|1;tax|off;cm_fetaxscen|1;cm_fetaxscen|2;codePerformance|on;cm_IndCCSscen|1;buildings|simple;industry|fixed_shares -climate|off;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;0;0;1;1;1;1;1;1;1;1;1;1;1 -growth|exogenous;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -growth|endogenous;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -growth|spillover;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -biomass|exogenous;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -biomass|magpie_hightccost;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -fossil|timeDepGrades;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -fossil|grades;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -fossil|polynomial;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -fossil|simple;0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;1;0;1;1;1;1;1;1;1;1 -fossil|exogenous;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -industry|simple;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1 -transport|simple;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -techpol|none;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -techpol|moderate;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -techpol|stringent;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -techpol|eur;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -techpol|lowCarbonPush;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -techpol|CombLowCandCoalPO;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -techpol|coalPhaseout;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -emicapregi|none;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1 -emicapregi|CandC;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -emicapregi|GDPint;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -emicapregi|POPint;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -emicapregi|exog;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1 -emicapregi|exogMod;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1 -emicapregi|exogMod2;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1 -emicapregi|exogStr;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1 -emicapregi|exogMT;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1 -emicapregi|exogG8;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1 -banking|off;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -banking|banking;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -banking|bankborrow;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -carbonprice|none;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;0;1;1;1 -optimization|negishi;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1 -optimization|nash;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;0;0;0;1;0;0;0;0;0;0;0;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1 -optimization|testOneRegi;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1 -cm_emiscen|0;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;0;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;1;1;1;0;1;1;1;0;1;1;1 -cm_emiscen|1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;0;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;1;1;1;0;1;1;1;0;1;1;1 -cm_emiscen|2;0;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;0;0;0;0;0;0;1;0;1;1;1;0;1;1;1 -cm_emiscen|3;0;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;1;0;0;0;0;0;1;0;1;1;1;0;1;1;1 -cm_emiscen|4;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;0;1;1;1;0;0;0;0;0;0;1;1;1;1;0;1;1;0;0;0;0;1;0;0;1;0;1;0;1;1;1;0;1;1;1 -cm_emiscen|5;0;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;1;0;1;0;0;0;1;1;1;0;1;1;1 -cm_emiscen|8;0;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;1;0;0;1;0;1;1;1;0;1;1;1 -cm_emiscen|9;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;0;0;1;1;0;1;0;1;1;1;1;1;1;1;1;1 -cm_rcp_scen|0;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;1;1;1;1;1;1;1;1;1;1 -cm_rcp_scen|1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;0;1;1;1;1;1;1;1 -cm_iterative_target_adj|1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;1;1;0;1;1;1;1;1;1;1;1 -tax|off;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;1;1;1 -cm_fetaxscen|1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1 -cm_fetaxscen|2;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1 -buildings|simple;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -industry|fixed_shares;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 + ;climate|off;techpol|lowCarbonPush;techpol|CombLowCandCoalPO;techpol|coalPhaseout;emicapregi|none;emicapregi|CandC;emicapregi|GDPint;emicapregi|POPint;emicapregi|exog;carbonprice|none;optimization|negishi;optimization|nash;optimization|testOneRegi;cm_emiscen|0;cm_emiscen|1;cm_emiscen|2;cm_emiscen|3;cm_emiscen|4;cm_emiscen|5;cm_emiscen|8;cm_emiscen|9;cm_rcp_scen|none;cm_rcp_scen|26;cm_iterative_target_adj|1;tax|off;cm_fetaxscen|1;cm_fetaxscen|2;codePerformance|on;cm_IndCCSscen|1 +climate|off;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;0;0;1;1;1;1;1;1;1;1;1 +industry|simple;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0 +techpol|lowCarbonPush;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 +techpol|CombLowCandCoalPO;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 +techpol|coalPhaseout;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 +emicapregi|none;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1 +emicapregi|CandC;1;1;1;1;1;1;1;1;1;1;1;0;1;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1 +emicapregi|GDPint;1;1;1;1;1;1;1;1;1;1;1;0;1;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1 +emicapregi|POPint;1;1;1;1;1;1;1;1;1;1;1;0;1;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1 +emicapregi|exog;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1 +carbonprice|none;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;0;1 +optimization|negishi;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1 +optimization|nash;1;0;0;0;1;0;0;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1 +optimization|testOneRegi;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1 +cm_emiscen|0;1;1;1;1;1;0;0;0;1;1;1;1;1;1;1;0;0;0;0;0;1;1;1;0;1;1;1;0;1 +cm_emiscen|1;1;1;1;1;1;0;0;0;1;1;1;1;1;1;1;0;0;0;0;0;1;1;1;0;1;1;1;0;1 +cm_emiscen|2;0;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;0;0;0;0;0;0;1;0;1;1;1;0;1 +cm_emiscen|3;0;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;1;0;0;0;0;0;1;0;1;1;1;0;1 +cm_emiscen|4;1;1;1;1;0;1;1;1;0;1;0;1;1;0;0;0;0;1;0;0;1;0;1;0;1;1;1;0;1 +cm_emiscen|5;0;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;1;0;1;0;0;0;1;1;1;0;1 +cm_emiscen|8;0;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;1;0;0;1;0;1;1;1;0;1 +cm_emiscen|9;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;0;0;1;1;0;1;0;1;1;1;1;1;1;1 +cm_rcp_scen|0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;1;1;1;1;1;1;1;1 +cm_rcp_scen|1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;0;1;1;1;1;1 +cm_iterative_target_adj|1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;1;1;0;1;1;1;1;1;1 +tax|off;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;1 +cm_fetaxscen|1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1 +cm_fetaxscen|2;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1 diff --git a/config/tests/scenario_config_coupled_shortCascade.csv b/config/tests/scenario_config_coupled_shortCascade.csv index 536666f59..87532043f 100644 --- a/config/tests/scenario_config_coupled_shortCascade.csv +++ b/config/tests/scenario_config_coupled_shortCascade.csv @@ -1,4 +1,4 @@ -title;start;qos;sbatch;magpie_scen;magpie_empty;no_ghgprices_land_until;max_iterations;oldrun;path_gdx;path_gdx_ref;path_gdx_bau;path_report;cm_nash_autoconverge_lastrun;path_mif_ghgprice_land -TESTTHAT-SSP2-Base;1;auto;--wait --mail-type=FAIL;SSP2|NPI;TRUE;y2150;2;;;;;;2; -TESTTHAT-SSP2-NDC;1;auto;--wait --mail-type=FAIL;SSP2|NDC;TRUE;y2150;2;;;;;;2;TESTTHAT-SSP2-Base -TESTTHAT-SSP2-Policy;2;auto;--wait --mail-type=FAIL;SSP2|NDC;TRUE;y2150;2;TESTTHAT-SSP2-Base;;;;;;output/C_TESTTHAT-SSP2-Base-rem-1/REMIND_generic_C_TESTTHAT-SSP2-Base-rem-1.mif +title;start;qos;sbatch;magpie_scen;config/scenario_config.csv;magpie_empty;no_ghgprices_land_until;max_iterations;oldrun;path_gdx;path_gdx_ref;path_gdx_bau;path_report;cm_nash_autoconverge_lastrun;path_mif_ghgprice_land;cfg_mag$gms$s56_minimum_cprice;cfg_mag$damping_factor;cfg_mag$gms$s56_cprice_red_factor +TESTTHAT-SSP2-Base;1;auto;--wait --mail-type=FAIL --time=60;SSP2|NPI;SDP-MC;TRUE;y2150;2;;;;;;2;;;; +TESTTHAT-SSP2-NDC;1;auto;--wait --mail-type=FAIL --time=60;SSP2|NDC;;TRUE;y2150;2;;;;;;2;TESTTHAT-SSP2-Base;;0.80;0.5 +TESTTHAT-SSP2-Policy;2;auto;--wait --mail-type=FAIL --time=60;SSP2|NDC;SDP-MC;TRUE;y2150;2;TESTTHAT-SSP2-Base;;;;;;output/C_TESTTHAT-SSP2-Base-rem-1/REMIND_generic_C_TESTTHAT-SSP2-Base-rem-1.mif;20;; diff --git a/config/tests/scenario_config_quick.csv b/config/tests/scenario_config_quick.csv index 0dc8d6f3c..dde5e701b 100644 --- a/config/tests/scenario_config_quick.csv +++ b/config/tests/scenario_config_quick.csv @@ -1,2 +1,2 @@ title;start;cm_nash_mode;cm_iteration_max;optimization;results_folder;output;cm_quick_mode;force_replace;slurmConfig -testOneRegi;1;1;1;testOneRegi;output/testOneRegi;NA;on;TRUE;--qos=priority --nodes=1 --tasks-per-node=1 --mem=8000 --time=60 --wait +testOneRegi;1;1;1;testOneRegi;output/testOneRegi;reportingREMIND2MAgPIE;on;TRUE;--qos=priority --nodes=1 --tasks-per-node=1 --mem=8000 --time=60 --wait diff --git a/config/tests/scenario_config_shortCascade.csv b/config/tests/scenario_config_shortCascade.csv index cc8b6b5e1..9e9c2fa8b 100644 --- a/config/tests/scenario_config_shortCascade.csv +++ b/config/tests/scenario_config_shortCascade.csv @@ -1,4 +1,4 @@ -title;start;c_empty_model;path_gdx_ref;path_gdx_bau;output -TESTTHAT-SSP2-Base;1;on;;;reportingREMIND2MAgPIE -TESTTHAT-SSP2-NDC;1;on;TESTTHAT-SSP2-Base;TESTTHAT-SSP2-Base;reportingREMIND2MAgPIE -TESTTHAT-SSP2-Policy;2;on;TESTTHAT-SSP2-Base;TESTTHAT-SSP2-Base;reportingREMIND2MAgPIE +title;start;c_empty_model;path_gdx_ref;output;cm_startyear;regipol +TESTTHAT-SSP2-Base;1;on;;reportingREMIND2MAgPIE;2005;regiCarbonPrice +TESTTHAT-SSP2-NDC;1;on;TESTTHAT-SSP2-Base;reportingREMIND2MAgPIE;2020;regiCarbonPrice +TESTTHAT-SSP2-Policy;2;on;TESTTHAT-SSP2-Base;reportingREMIND2MAgPIE;2025;regiCarbonPrice diff --git a/core/bounds.gms b/core/bounds.gms index f0a67fc34..79bc3afdf 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -25,8 +25,14 @@ vm_costTeCapital.fx(t,regi,teNoLearn) = pm_inco0_t(t,regi,teNoLearn); *' #### Model Bounds in Core *' Lower limit on all P2SE technologies capacities to 100 kW of all technologies and all time steps -loop(pe2se(enty,enty2,te)$((not sameas(te,"biotr")) AND (not sameas(te,"biodiesel")) AND (not sameas(te,"bioeths")) AND (not sameas(te,"gasftcrec")) AND (not sameas(te,"gasftrec")) -AND (not sameas(te,"tnrs"))), +loop(pe2se(enty,enty2,te) $ ( + (not sameas(te,"biotr")) AND + (not sameas(te,"biodiesel")) AND + (not sameas(te,"bioeths")) AND + (not sameas(te,"gasftcrec")) AND + (not sameas(te,"gasftrec")) AND + (not sameas(te,"tnrs")) + ), vm_cap.lo(t,regi,te,"1")$(t.val gt 2026 AND t.val le 2070) = 1e-7; if( (NOT teCCS(te)), vm_deltaCap.lo(t,regi,te,"1")$(t.val gt 2026 AND t.val le 2070) = 1e-8; @@ -43,32 +49,51 @@ loop(se2se(enty,enty2,te), loop(regi, loop(teRe2rlfDetail(te,rlf), if( (pm_dataren(regi,"maxprod",rlf,te) gt 0), - vm_capDistr.lo(t,regi,te,rlf)$(t.val gt 2011) = 1e-8; + v_capDistr.lo(t,regi,te,rlf)$(t.val gt 2011) = 1e-8; *cb* make sure that grade distribution in early time steps with capacity fixing is close to optimal one assumed for vm_capFac calibration, divide by p_aux_capacityFactorHistOverREMIND to correct for deviation of REMIND capacity factors from historic capacity factors - vm_capDistr.lo("2015",regi,te,rlf) = 0.90 / max(1, p_aux_capacityFactorHistOverREMIND(regi,te)) * p_aux_capThisGrade(regi,te,rlf); - vm_capDistr.lo("2020",regi,te,rlf) = 0.90 / max(1, p_aux_capacityFactorHistOverREMIND(regi,te)) * p_aux_capThisGrade(regi,te,rlf); + v_capDistr.lo("2015",regi,te,rlf) = 0.90 / max(1, p_aux_capacityFactorHistOverREMIND(regi,te)) * p_aux_capThisGrade(regi,te,rlf); + v_capDistr.lo("2020",regi,te,rlf) = 0.90 / max(1, p_aux_capacityFactorHistOverREMIND(regi,te)) * p_aux_capThisGrade(regi,te,rlf); ); ); ); *' Make sure no grades > 9 are used. Only cosmetic to avoid entries in lst file -vm_capDistr.fx(t,regi,te,rlf)$(rlf.val gt 9) = 0; +v_capDistr.fx(t,regi,te,rlf)$(rlf.val gt 9) = 0; *' No battery storage in 2010: vm_cap.up("2010",regi,teStor,"1") = 0; *' completely switching off technologies that are not used in the current version of REMIND, although their parameters are declared: -vm_cap.fx(t,regi,"solhe",rlf) = 0; -vm_deltaCap.fx(t,regi,"solhe",rlf) = 0; +loop(all_te $ ( + sameas(all_te, "solhe") OR + sameas(all_te, "fnrs") OR + sameas(all_te, "pcc") OR + sameas(all_te, "pco") OR + sameas(all_te, "wind") OR + sameas(all_te, "storwind") OR + sameas(all_te, "gridwind") + ), + vm_cap.fx(t,regi,all_te,rlf) = 0; + vm_deltaCap.fx(t,regi,all_te,rlf) = 0; +); -vm_cap.fx(t,regi,"fnrs",rlf) = 0; -vm_deltaCap.fx(t,regi,"fnrs",rlf) = 0; +vm_demPe.fx(t,regi,"pecoal","seel","pcc") = 0; +vm_demPe.fx(t,regi,"pecoal","seel","pco") = 0; +vm_prodSe.fx(t,regi,"pecoal","seel","pcc") = 0; +vm_prodSe.fx(t,regi,"pecoal","seel","pco") = 0; +*** windoffshore-todo: to remove when removing wind from all_te +vm_demPe.fx(t,regi,"pewin","seel","wind") = 0; +vm_prodSe.fx(t,regi,"pewin","seel","wind") = 0; -vm_cap.fx(t,regi,"pcc",rlf) = 0; -vm_deltaCap.fx(t,regi,"pcc",rlf) = 0; +*' Switch off coal-h2 hydrogen investments. Our current seh2 hydrogen represents only additional (clean) hydrogen use cases to current ones. +*' However, as we have too high H2 demand in 2025 and 2030 from the input data, we need to allow grey hydrogen for these time periods to meet the hydrogen demand +*' which cannot be fully met by incoming low-carbon H2 techologies. This should be removed once FE H2 industry input data is adapted. +*' It is allowed before 2020 to not make the model infeasible for low demands of hydrogen in that year. +vm_deltaCap.fx(t,regi,"coalh2",rlf)$(t.val ge 2020) = 0; +vm_deltaCap.fx(t,regi,"gash2",rlf)$((t.val gt 2030)) = 0; +*' upper bound of 0.5 EJ/yr on grey hydrogen to prevent building too much grey H2 before 2020, distributed to regions via GDP share +vm_cap.up("2020",regi,"gash2","1") = 0.5 / 3.66 * 1e3 / 8760 * pm_gdp("2020",regi) / sum(regi2,pm_gdp("2020",regi2)); -vm_cap.fx(t,regi,"pco",rlf) = 0; -vm_deltaCap.fx(t,regi,"pco",rlf) = 0; *' @stop @@ -255,44 +280,43 @@ vm_emiMac.fx(t,regi,"oc") = 0; *** ------------------------------------------------------------------------- *** Exogenous values: *** ------------------------------------------------------------------------- -***---- -*RP* fix capacities for wind, spv and csp to real world 2010 and 2015 values: -*CG* adding 2020 values -***---- -loop(te$(sameas(te,"csp")), - vm_cap.lo("2015",regi,te,"1") = 0.95 * pm_histCap("2015",regi,te)$(pm_histCap("2015",regi,te) gt 1e-10); - vm_cap.up("2015",regi,te,"1") = 1.05 * pm_histCap("2015",regi,te)$(pm_histCap("2015",regi,te) gt 1e-10); -); +*** fix capacities for wind, spv and csp to real world historical values: +vm_cap.lo("2015",regi,teVRE,"1") = 0.95 * pm_histCap("2015",regi,teVRE)$(pm_histCap("2015",regi,teVRE) gt 1e-10); +vm_cap.up("2015",regi,teVRE,"1") = 1.05 * pm_histCap("2015",regi,teVRE)$(pm_histCap("2015",regi,teVRE) gt 1e-10); +vm_cap.lo("2020",regi,teVRE,"1") = 0.95 * pm_histCap("2020",regi,teVRE)$(pm_histCap("2020",regi,teVRE) gt 1e-10); +vm_cap.up("2020",regi,teVRE,"1") = 1.05 * pm_histCap("2020",regi,teVRE)$(pm_histCap("2020",regi,teVRE) gt 1e-10); +vm_cap.up("2025",regi,teVRE,"1")$(pm_histCap("2025",regi,teVRE) gt 1e-6) = 1.05 * pm_histCap("2025",regi,teVRE)$(pm_histCap("2025",regi,teVRE) gt 1e-10); !! only set a bound if values >1MW are in pm_histCap -$IFTHEN.WindOff %cm_wind_offshore% == "0" -loop(te$(sameas(te,"spv") OR sameas(te,"wind") ), - vm_cap.lo("2015",regi,te,"1") = 0.95 * pm_histCap("2015",regi,te)$(pm_histCap("2015",regi,te) gt 1e-10); - vm_cap.up("2015",regi,te,"1") = 1.05 * pm_histCap("2015",regi,te)$(pm_histCap("2015",regi,te) gt 1e-10); - vm_cap.lo("2020",regi,te,"1") = 0.95 * pm_histCap("2020",regi,te)$(pm_histCap("2020",regi,te) gt 1e-10); - vm_cap.up("2020",regi,te,"1") = 1.05 * pm_histCap("2020",regi,te)$(pm_histCap("2020",regi,te) gt 1e-10); - vm_cap.up("2025",regi,te,"1")$(pm_histCap("2025",regi,te) gt 1e-6) = 1.05 * pm_histCap("2025",regi,te)$(pm_histCap("2025",regi,te) gt 1e-6); !! only set a bound if values >1MW are in pm_histCap +*** lower bound on capacities for ngcc and ngt and gaschp for regions defined at the pm_histCap file +loop(te$(sameas(te,"ngcc") OR sameas(te,"ngt") OR sameas(te,"gaschp")), + vm_cap.lo("2015",regi,te,"1")$pm_histCap("2015",regi,te) = 0.95 * pm_histCap("2015",regi,te); + vm_cap.lo("2020",regi,te,"1")$pm_histCap("2020",regi,te) = 0.95 * pm_histCap("2020",regi,te); ); -$ENDIF.WindOff +*** bounds on near-term electrolysis capacities +*' set lower and upper bounds for 2025 based on projects annoucements +*' from IEA Hydryogen project database: +*' https://www.iea.org/data-and-statistics/data-product/hydrogen-production-and-infrastructure-projects-database +*' distribute to regions via GDP share +*' in future this should be differentiated by region based on regionalized input data of project announcements +*' 2 GW(el) at least globally in 2025, about operational capacity as of 2023 +vm_cap.lo("2025",regi,"elh2","1")= 2 * pm_eta_conv("2025",regi,"elh2")*pm_gdp("2025",regi) + / sum(regi2,pm_gdp("2025",regi2)) * 1e-3; +*' 20 GW(el) at maximum globally in 2025 (be more generous to not overconstrain regions which scale-up fastest) +vm_cap.up("2025",regi,"elh2","1")= 20 * pm_eta_conv("2025",regi,"elh2")*pm_gdp("2025",regi) + / sum(regi2,pm_gdp("2025",regi2)) * 1e-3; -$IFTHEN.WindOff %cm_wind_offshore% == "1" -loop(te$(sameas(te,"spv") OR sameas(te,"wind") OR sameas(te,"windoff")), - vm_cap.lo("2015",regi,te,"1") = 0.95 * pm_histCap("2015",regi,te)$(pm_histCap("2015",regi,te) gt 1e-10); - vm_cap.up("2015",regi,te,"1") = 1.05 * pm_histCap("2015",regi,te)$(pm_histCap("2015",regi,te) gt 1e-10); - vm_cap.lo("2020",regi,te,"1") = 0.95 * pm_histCap("2020",regi,te)$(pm_histCap("2020",regi,te) gt 1e-10); - vm_cap.up("2020",regi,te,"1") = 1.05 * pm_histCap("2020",regi,te)$(pm_histCap("2020",regi,te) gt 1e-10); - vm_cap.up("2025",regi,te,"1")$(pm_histCap("2025",regi,te) gt 1e-6) = 1.05 * pm_histCap("2025",regi,te)$(pm_histCap("2025",regi,te) gt 1e-10); !! only set a bound if values >1MW are in pm_histCap -); +*** bounds on biomass technologies +*' set upper bounds on biomass gasification for h2 production, which is not deployed as of 2025 +*' set maximum of 0.1 EJ/yr production by 2030 for each technology +vm_cap.up("2030",regi,"bioh2","1")= 0.1 / 3.66 * 1e3 / 8760 * pm_gdp("2030",regi) / sum(regi2,pm_gdp("2030",regi2)); +vm_cap.up("2030",regi,"bioh2c","1")= 0.1 / 3.66 * 1e3 / 8760 * pm_gdp("2030",regi) / sum(regi2,pm_gdp("2030",regi2)); -$ENDIF.WindOff -*** lower bound on capacities for ngcc and ngt and gaschp for regions defined at the pm_histCap file -loop(te$(sameas(te,"ngcc") OR sameas(te,"ngt") OR sameas(te,"gaschp")), - vm_cap.lo("2015",regi,te,"1")$pm_histCap("2015",regi,te) = 0.95 * pm_histCap("2015",regi,te); - vm_cap.lo("2020",regi,te,"1")$pm_histCap("2020",regi,te) = 0.95 * pm_histCap("2020",regi,te); -); +*** fix capacities for advanced bio carbon capture technologies to zero in 2020 (i.e. no BECCS in 2020) +vm_cap.fx("2020",regi,te,rlf)$(teBio(te) AND teCCS(te)) = 0; *** fix emissions to historical emissions in 2010 *** RP: turned off in March 2018, as it produces substantial negative side-effects (requiring strong early retirement in 2010, which influences the future investments even in Reference scenarios) @@ -337,27 +361,36 @@ vm_deltaCap.fx(t,regi,te,rlf)$(t.val le 2025 AND pm_data(regi,"tech_stat",te) eq *CB allow for early retirement at the start of free model time *CB ------------------------------------------------------------ *** allow non zero early retirement for all technologies to avoid mathematical errors -vm_capEarlyReti.up(ttot,regi,te) = 1e-6; - +vm_capEarlyReti.up(t,regi,te) = 1e-6; ***generally allow full early retiremnt for all fossil technologies without CCS -vm_capEarlyReti.up(ttot,regi,te)$(teFosNoCCS(te)) = 1; -*** FS: allow nuclear early retirement (for nucscen 7) -vm_capEarlyReti.up(ttot,regi,"tnrs") = 1; +vm_capEarlyReti.up(t,regi,te)$(teFosNoCCS(te)) = 1; +*** allow nuclear early retirement +vm_capEarlyReti.up(t,regi,"tnrs") = 1; +*** allow early retirement of biomass used in electricity +vm_capEarlyReti.up(t,regi,"bioigcc") = 1; +*** allow early retirement of biomass used for heat and power +vm_capEarlyReti.up(t,regi,"biohp") = 1; +vm_capEarlyReti.up(t,regi,"biochp") = 1; + +*** allow early retirement for techs added to the c_tech_earlyreti_rate switch +$ifthen.tech_earlyreti not "%c_tech_earlyreti_rate%" == "off" +loop((ext_regi,te)$p_techEarlyRetiRate(ext_regi,te), + vm_capEarlyReti.up(t,regi,te)$(regi_group(ext_regi,regi))= 1; +); +$endif.tech_earlyreti -***restrict early retirement to the modeling time frame (to reduce runtime, the early retirement equations are phased out after 2110) +*** restrict early retirement to the modeling time frame (to reduce runtime, the early retirement equations are phased out after 2110) vm_capEarlyReti.up(ttot,regi,te)$(ttot.val lt 2009 or ttot.val gt 2111) = 0; -*cb 20120224 lower bound of 0.01% to help the model to be aware of the early retirement option -vm_capEarlyReti.lo(ttot,regi,te)$(teFosNoCCS(te) AND ttot.val gt 2011 AND ttot.val lt 2111) = 0.0001; -vm_capEarlyReti.lo(ttot,regi,"tnrs")$(ttot.val gt 2011 AND ttot.val lt 2111) = 0.0001; +*** lower bound of 0.01% to help the model to be aware of the early retirement option +vm_capEarlyReti.lo(t,regi,te)$((vm_capEarlyReti.up(t,regi,te) ge 1) and (t.val gt 2010) and (t.val le 2100)) = 1e-4; *cb 20120301 no early retirement for dot, they are used despite their economic non-competitiveness for various reasons. -vm_capEarlyReti.fx(ttot,regi,"dot")=0; +vm_capEarlyReti.fx(t,regi,"dot")=0; *rp 20210118 no investment into oil turbines in Europe vm_deltaCap.up(t,regi,"dot","1")$( (t.val gt 2005) AND regi_group("EUR_regi",regi) ) = 1e-6; - *' @code{extrapage: "00_model_assumptions"} *** ----------------------------------------------------------------------------- *' #### Bound on maximum annual carbon storage by region @@ -365,16 +398,13 @@ vm_deltaCap.up(t,regi,"dot","1")$( (t.val gt 2005) AND regi_group("EUR_regi",reg *' DK 20100929: default value (pm_ccsinjecrate= 0.5%) is consistent with Interview Gerling (BGR) *' (http://www.iz-klima.de/aktuelles/archiv/news-2010/mai/news-05052010-2/): *' 12 Gt storage potential in Germany, 50-75 Mt/a injection => 60 Mt/a => 60/12000=0.005 -*LP* if c_ccsinjecratescen=0 --> no CCS at all and vm_co2CCS is fixed to 0 before, therefore the upper bound is only set if there should be CCS! +*** if c_ccsinjecratescen=0 --> no CCS at all and vm_co2CCS is fixed to 0 before, therefore the upper bound is only set if there should be CCS! *** ----------------------------------------------------------------------------- if ( c_ccsinjecratescen gt 0, - - loop(regi, -***vm_co2CCS.up(t,regi,"tco2","ico2","ccsinje","1") = pm_dataccs(regi,"quan","1")*pm_ccsinjecrate(regi) - vm_co2CCS.up(t,regi,"cco2","ico2","ccsinje","1") = pm_dataccs(regi,"quan","1") * pm_ccsinjecrate(regi); - ); - + loop(regi, + vm_co2CCS.up(t,regi,"cco2","ico2","ccsinje","1") = pm_dataccs(regi,"quan","1") * pm_ccsinjecrate(regi); + ); ); *' @stop @@ -389,28 +419,27 @@ if(cm_emiscen gt 1, ); $endif - *** ------------------------------------------------------------------------------------------------------------- -*AM* No geological storage before 2025 (omitting approx. 40 MtCCS/yr globally in 2020 for Enhanced Oil Recovery) -*AM* Lower limit for 2025 and 2030 is capacities of all projects that are operational and under construction from project data base -*AM* Upper limit for 2025 and 2030 additionally includes announced/planned projects from project data base -*AM* In nash-mode regions cannot easily share ressources, therefore CCS potentials are redistributed in Europe: -*AM* Potential of EU27 regions is pooled and redistributed according to GDP (Only upper limit for 2030) -*AM* Norway and UK announced to store CO2 for EU27 countries. So 50% of Norway and UK potential in 2030 is attributed to EU27-Pool -*LP* if c_ccsinjecratescen=0 --> no CCS at all and vm_co2CCS is fixed to 0 before, therefore the upper bound is only set if there should be CCS! +*** Lower limit for 2020-2030 is capacities of all projects that are operational (2020-2030) from project data base +*** Upper limit for 2025 and 2030 additionally includes all projects under construction and 30% +*** (default, or changed by c_fracRealfromAnnouncedCCScap2030) of announced/planned projects from project data base +*** See also corresponding code in input validation data preparation in mrremind/R/calcProjectPipeline.R. +*** In nash-mode regions cannot easily share ressources, therefore CCS potentials are redistributed in Europe in data preprocessing in mrremind: +*** Potential of EU27 regions is pooled and redistributed according to GDP (Only upper limit for 2030) +*** Norway and UK announced to store CO2 for EU27 countries. So 50% of Norway and UK potential in 2030 is attributed to EU27-Pool +*** if c_ccsinjecratescen=0 --> no CCS at all and vm_co2CCS is fixed to 0 before, therefore the upper bound is only set if there should be CCS! *** ------------------------------------------------------------------------------------------------------------- -if ( c_ccsinjecratescen gt 0, - vm_co2CCS.up(ttot,regi,"cco2","ico2","ccsinje","1")$(ttot.val ge 2005 AND ttot.val lt 2025) = 0; - vm_co2CCS.up("2025",regi,"cco2","ico2","ccsinje","1") = pm_boundCapCCS("2025",regi,"up")/(1000*11/3); - vm_co2CCS.up("2030",regi,"cco2","ico2","ccsinje","1") = pm_boundCapCCS("2030",regi,"up")/(1000*11/3); - vm_co2CCS.lo("2025",regi,"cco2","ico2","ccsinje","1") = pm_boundCapCCS("2025",regi,"low")/(1000*11/3); - vm_co2CCS.lo("2030",regi,"cco2","ico2","ccsinje","1") = pm_boundCapCCS("2030",regi,"low")/(1000*11/3); +if ( (c_ccsinjecratescen gt 0) AND (NOT cm_emiscen eq 1), + vm_co2CCS.lo(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = p_boundCapCCS(t,regi,"operational")$(t.val le 2030) * s_MtCO2_2_GtC; + vm_co2CCS.up(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = (p_boundCapCCS(t,regi,"operational")$(t.val le 2030) + p_boundCapCCS(t,regi,"construction")$(t.val le 2030) + p_boundCapCCS(t,regi,"planned")$(t.val le 2030) * c_fracRealfromAnnouncedCCScap2030) * s_MtCO2_2_GtC; ); +*** Fix capacities of technologies with carbon capture to zero if there are no CCS projects in the pipeline in that region +*** This is only reasonable, as long as we also don't expect any CCU projects in the early years. loop(regi, loop(t$(t.val le 2030), - if( ( pm_boundCapCCS(t,regi,"up") eq 0), + if( ((p_boundCapCCS(t,regi,"operational") + p_boundCapCCS(t,regi,"construction") + p_boundCapCCS(t,regi,"planned")) eq 0), vm_cap.fx(t,regi,teCCS,rlf) = 0; ); ); @@ -419,34 +448,31 @@ loop(regi, loop(regi, if( (p_boundCapCCSindicator(regi) eq 0), vm_cap.fx("2025",regi,teCCS,rlf) = 0; - vm_cap.fx("2030",regi,teCCS,rlf) = 0; + vm_cap.fx("2030",regi,teCCS,rlf) = 0; ); ); -*AL* fixing prodFE in 2005 to the value contained in pm_cesdata("2005",regi,in,"quantity"). This is done to ensure that the energy system will reproduce the 2005 calibration values. -*** Fixing will produce clearly attributable errors (good for debugging) when using inconsistent data, as the GAMS accuracy when comparing fixed results is very high (< 1e-8). -***vm_prodFe.fx("2005",regi,se2fe(enty,enty2,te)) = sum(fe2ppfEn(enty2,in), pm_cesdata("2005",regi,in,"quantity") ); +*** ------------------------------------------------------------------------------------------------------------- +*** Limit REMINDs ability to vent captured CO2 to 1 MtCO2 per yr per region. This happens otherwise to a great extend in stringent climate +*** policy scenarios if CCS and CCU capacities are limited in early years, to lower overall adjustment costs of capture technologies. +*** In reality, people don't have perfect foresight and without storage or usage capacities, no capture facilities will be built. +v_co2capturevalve.up(t,regi) = 1 * s_MtCO2_2_GtC; -$ontext -*** ------------------------------------------------------------- -*** *RP* Chinese depoyment of coal power plants and coal use in industry was probably not only demand-driven, but also policy-driven (faster than demand). Therefore, we implement lower bounds on coal power plants and solid coal use: -*** ------------------------------------------------------------- -if (cm_startyear le 2015, -vm_cap.lo("2015","CHN","pc","1") = 0.75; !! WEO says 826GW in 2013, 980 in 2020 -vm_cap.lo("2010","CHN","coaltr","1") = 0.79; !! IEA says ~27EJ in 2010. In REMIND, a coaltr cap of 0.647 is equivalent to an FE solids coal level of 20.5 EJ, thus 25*0.647/20.5 = 0.79 -vm_cap.lo("2015","CHN","coaltr","1") = 0.88; !! IEA says ~29.7EJ in 2012. In REMIND, a coaltr cap of 0.647 is equivalent to an FE solids coal level of 20.5 EJ, thus 28*0.647/20.5 = 0.88 -); -$offtext + +*** fixing prodFE in 2005 to the value contained in pm_cesdata("2005",regi,in,"quantity"). This is done to ensure that the energy system will reproduce the 2005 calibration values. +*** Fixing will produce clearly attributable errors (good for debugging) when using inconsistent data, as the GAMS accuracy when comparing fixed results is very high (< 1e-8). +*** vm_prodFe.fx("2005",regi,se2fe(enty,enty2,te)) = sum(fe2ppfEn(enty2,in), pm_cesdata("2005",regi,in,"quantity") ); $if %c_SSP_forcing_adjust% == "forcing_SSP1" vm_deltaCap.up(t,regi,"coalgas",rlf)$(t.val gt 2010) = 0.00001; *** ------------------------------------------------------------- *** H2 Curtailment *** ------------------------------------------------------------- -***Fixing h2curt value to zero to avoid the model to generate SE out of nothing. -***Models that have additional se production channels should release this variable (eg. RLDC power module). +*** RLDC removal +*** Fixing h2curt value to zero to avoid the model to generate SE out of nothing. +*** Models that have additional se production channels should release this variable (eg. RLDC power module). loop(prodSeOth2te(enty,te), - vm_prodSeOth.fx(t,regi,"seh2","h2curt") = 0; + v_prodSeOth.fx(t,regi,"seh2","h2curt") = 0; ); @@ -477,9 +503,9 @@ vm_emiFgas.fx(ttot,all_regi,all_enty) = f_emiFgas(ttot,all_regi,"%c_SSP_forcing_ display vm_emiFgas.L; -*AL* Bugfix. For some reason the model cannot reduce the production of district heating to 0 -*AL* where it should be 0. Not fixings can account for this -*AL* Fixing vm_prodSe to 0 avoids the problem +*** Bugfix. For some reason the model cannot reduce the production of district heating to 0 +*** where it should be 0. Not fixings can account for this +*** Fixing vm_prodSe to 0 avoids the problem loop ((in,in2) $ (sameAs(in,"feheb") and sameAs(in2,"fehei")), loop ((t, regi) $ ( (sameAs(t,"2010") OR sameAs(t,"2015")) AND @@ -524,8 +550,8 @@ v_shfe.lo(t,regi,entyFe,sector)$pm_shfe_lo(t,regi,entyFe,sector) = pm_shfe_lo(t, v_shGasLiq_fe.up(t,regi,sector)$pm_shGasLiq_fe_up(t,regi,sector) = pm_shGasLiq_fe_up(t,regi,sector); v_shGasLiq_fe.lo(t,regi,sector)$pm_shGasLiq_fe_lo(t,regi,sector) = pm_shGasLiq_fe_lo(t,regi,sector); -*** RH: Fix H2 in buildings to zero until given year (always zero by default) -vm_demFeSector.up(t,regi,"seh2","feh2s","build",emiMkt)$(t.val le c_H2InBuildOnlyAfter) = 0; +*** Set H2 upper bound in buildings for years defined at cm_H2InBuildOnlyAfter +vm_demFeSector.up(t,regi,"seh2","feh2s","build",emiMkt)$(t.val le cm_H2InBuildOnlyAfter) = 1e-6; ***---------------------------------------------------------------------------- *** Controlling if active, dampening factor to align edge-t non-energy transportation costs with historical GDP data @@ -541,5 +567,4 @@ $ENDIF.transpGDPscale v_changeProdStartyearSlack.up(t,regi,te)$( (t.val gt 2005) AND (t.val eq cm_startyear ) ) = + c_SlackMultiplier * p_adj_seed_reg(t,regi) * p_adj_seed_te(t,regi,te) ; v_changeProdStartyearSlack.lo(t,regi,te)$( (t.val gt 2005) AND (t.val eq cm_startyear ) ) = - c_SlackMultiplier * p_adj_seed_reg(t,regi) * p_adj_seed_te(t,regi,te) ; - *** EOF ./core/bounds.gms diff --git a/core/datainput.gms b/core/datainput.gms index 23e2b8184..0a1d46516 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -6,14 +6,14 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./core/datainput.gms -*AJS* technical. initialize parameters so that they are read from gdx +*** technical. initialize parameters so that they are read from gdx vm_co2eq.l(ttot,regi) = 0; vm_emiAll.l(ttot,regi,enty) = 0; vm_emiCO2Sector.l(ttot,all_regi,emi_sectors) = 0; -*AJS* initialize parameter (avoid compilation errors) -* do this at the start of datainput to prevent accidental overwriting +*** initialize parameter (avoid compilation errors) +*** do this at the start of datainput to prevent accidental overwriting pm_SolNonInfes(regi) = 1; !! assume the starting point came from a feasible solution pm_capCum0(ttot,regi,teLearn)$( (ttot.val ge 2005) and (pm_SolNonInfes(regi) eq 1)) = 0; @@ -21,12 +21,13 @@ pm_globalMeanTemperature(tall) = 0; pm_globalMeanTemperatureZeroed1900(tall) = 0; pm_temperatureImpulseResponseCO2(tall,tall) = 0; -*AL* Initialise to avoid compilation errors in presolve if variable not in input.gdx +*** Initialise to avoid compilation errors in presolve if variable not in input.gdx vm_demFeForEs.L(t,regi,entyFe,esty,teEs) = 0; vm_demFeForEs.L(t,regi,fe2es(entyFe,esty,teEs)) = 0.1; -pm_taxCO2eq_iterationdiff(t,regi) = 0; -pm_taxCO2eq_iterationdiff_tmp(t,regi) = 0; +*** -------- initial declaration of parameters for iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff(t) = 0; +pm_taxCO2eq_anchor_iterationdiff_tmp(t) = 0; *------------------------------------------------------------------------------------ *** calculations based on sets @@ -41,14 +42,12 @@ pm_dt("1900") = 5; pm_dt(ttot)$(ttot.val > 1900) = ttot.val - pm_ttot_val(ttot-1); display pm_ts, pm_dt; - loop(ttot, loop(tall$((ttot.val le tall.val) AND (pm_ttot_val(ttot+1) ge tall.val)), pm_interpolWeight_ttot_tall(tall) = ( p_tall_val(tall) - pm_ttot_val(ttot) ) / ( pm_ttot_val(ttot+1) - pm_ttot_val(ttot) ); ); ); - pm_tall_2_ttot(tall, ttot)$((ttot.val lt tall.val) AND (pm_ttot_val(ttot+1) gt tall.val)) = Yes; pm_ttot_2_tall(ttot,tall)$((ttot.val = tall.val) ) = Yes; @@ -97,22 +96,21 @@ $offdelim ; pm_gdp(tall,all_regi) = f_gdp(tall,all_regi,"%cm_GDPscen%") * pm_shPPPMER(all_regi) / 1000000; !! rescale from million US$ to trillion US$ -*** load level of development -table f_developmentState(tall,all_regi,all_GDPpcScen) "level of development based on GDP per capita" +*** load level of development based on GDP PPP per capita: 0 is low income, 1 is high income. +*** Values in 2020 SSP2: SSA=0.1745, IND=0.3686, OAS=0.5136, MEA=0.6568, REF=0.836, LAM=0.8763, NEU=0.9962, EUR=1, CAZ=1, CHA=1, JPN=1, USA=1 +table f_developmentState(tall,all_regi,all_GDPpcScen) "level of development based on GDP PPP per capita" $ondelim $include "./core/input/f_developmentState.cs3r" $offdelim ; p_developmentState(tall,all_regi) = f_developmentState(tall,all_regi,"%c_GDPpcScen%"); - *** Load information from BAU run Execute_Loadpoint 'input' vm_cesIO, vm_invMacro; pm_gdp_gdx(ttot,regi) = vm_cesIO.l(ttot,regi,"inco"); p_inv_gdx(ttot,regi) = vm_invMacro.l(ttot,regi,"kap"); - *------------------------------------------------------------------------------------ *------------------------------------------------------------------------------------ *** ESM @@ -132,10 +130,10 @@ pm_shGasLiq_fe_lo(ttot,regi,sector)=0; *------------------------------------------------------------------------------------ -*** Technology data input read-in and manipulation +*** Technology data input read-in and manipulation START *------------------------------------------------------------------------------------ -*** Note: future to be its own module perhaps -*** Note: in module 5 there are more cost manipulation after initial capacities are calculated, be aware those can overwrite your technology values for policy runs if you set them here in the core +*** In module 5 there are more cost manipulation after initial capacities are calculated, +*** be aware those can overwrite your technology values for policy runs if you set them here in the core ***--------------------------------------------------------------------------- *** Reading in and initializing global data ***--------------------------------------------------------------------------- @@ -145,8 +143,9 @@ $include "./core/input/generisdata_tech.prn" $include "./core/input/generisdata_trade.prn" ; -*** CG warning: some of the SSP1 and SSP5 costs are not consistent with the story line (e.g. under SSP1 blue H2 and some fossil fuel CCS technologies have lower costs than in SSP2). This is to be fixed in the future when new SSP storylines are implemented, unclear when (29-1-2024). In the future, SSP1 and SSP5 data should be implemented as switches to avoid errors -*JH* SSP energy technology scenario +*** CG warning: some of the SSP1 and SSP5 costs are not consistent with the story line (e.g. under SSP1 blue H2 and some fossil fuel CCS technologies have lower costs than in SSP2). +*** This is to be fixed in the future when new SSP storylines are implemented, unclear when (29-1-2024). +*** In the future, SSP1 and SSP5 data should be implemented as switches to avoid errors table f_dataglob_SSP1(char,all_te) "Techno-economic assumptions consistent with SSP1" $include "./core/input/generisdata_tech_SSP1.prn" $include "./core/input/generisdata_trade.prn" @@ -155,29 +154,12 @@ table f_dataglob_SSP5(char,all_te) "Techno-economic assumptions consisten $include "./core/input/generisdata_tech_SSP5.prn" $include "./core/input/generisdata_trade.prn" ; - -$ifthen.WindOff %cm_wind_offshore% == "1" -*CG* set wind offshore, storage and grid to be the same as wind onshore (later should be integrated into input data) -* main difference between onshore and offshore is the difference in f32_factorStorage -fm_dataglob(char,"storwindoff") = fm_dataglob(char,"storwind"); -fm_dataglob(char,"gridwindoff") = fm_dataglob(char,"gridwind"); -f_dataglob_SSP1(char,"storwindoff") = f_dataglob_SSP1(char,"storwind"); -f_dataglob_SSP1(char,"gridwindoff") = f_dataglob_SSP1(char,"gridwind"); -f_dataglob_SSP5(char,"storwindoff") = f_dataglob_SSP5(char,"storwind"); -f_dataglob_SSP5(char,"gridwindoff") = f_dataglob_SSP5(char,"gridwind"); -$endif.WindOff - -***--------------------------------------------------------------------------- -*** Reading in and initializing regional cost data -***--------------------------------------------------------------------------- -parameter p_inco0(ttot,all_regi,all_te) "regionalized technology costs Unit: USD$/KW" -/ -$ondelim -$include "./core/input/p_inco0.cs4r" -$offdelim -/ +table f_dataglob_SSP3(char,all_te) "Techno-economic assumptions consistent with SSP3" +$include "./core/input/generisdata_tech_SSP3.prn" +$include "./core/input/generisdata_trade.prn" ; + *** initializing energy service capital pm_esCapCost(tall,all_regi,all_teEs) = 0; @@ -186,22 +168,21 @@ pm_esCapCost(tall,all_regi,all_teEs) = 0; ***--------------------------------------------------------------------------- *** Manipulating global or regional cost technology data - absolute value ***--------------------------------------------------------------------------- -!! Modify spv and storspv parameters for optimistic VRE supply assumptions -if (cm_VRE_supply_assumptions eq 1, +*** Modify spv and storspv parameters for optimistic VRE supply assumptions +if (cm_VRE_supply_assumptions eq 1, !! "optimistic" assumptions on VRE supply fm_dataglob("learn","spv") = 0.257; fm_dataglob("inco0","storspv") = 7000; fm_dataglob("incolearn","storspv") = 4240; fm_dataglob("learn","storspv") = 0.12; ); -if (cm_VRE_supply_assumptions eq 2, +if (cm_VRE_supply_assumptions eq 2, !! "sombre" assumptions on VRE supply fm_dataglob("incolearn","spv") = 5010; ); -if (cm_VRE_supply_assumptions eq 3, +if (cm_VRE_supply_assumptions eq 3, !! "bleak" assumptions on VRE supply fm_dataglob("incolearn","spv") = 4960; ); - -*JH* New nuclear assumption for SSP5 +*** New nuclear assumption for SSP5 if (cm_nucscen eq 6, f_dataglob_SSP5("inco0","tnrs") = 6270; !! increased from 4000 to 6270 with the update of technology costs in REMIND 1.7 to keep the percentage increase between SSP2 and SSP5 constant ); @@ -212,56 +193,74 @@ if (c_techAssumptScen eq 2, if (c_techAssumptScen eq 3, fm_dataglob(char,te) = f_dataglob_SSP5(char,te) ); +if (c_techAssumptScen eq 4, + fm_dataglob(char,te) = f_dataglob_SSP3(char,te) +); *RP* include global flexibility parameters $include "./core/input/generisdata_flexibility.prn" -$ifthen.WindOff %cm_wind_offshore% == "1" -fm_dataglob("flexibility","storwindoff") = 1.93; -fm_dataglob("flexibility","windoff") = -1; -$endif.WindOff display fm_dataglob; -*TD* ccsinje cost scenarios -* low estimate: ccsinje cost prior to 03/2024; i.e. ~11 USD/tCO2 in 2025, decreasing to ~7.5USD/tCO2 as of 2035 +*** ccsinje cost scenarios +*** low estimate: ccsinje cost prior to 03/2024; i.e. ~11 USD/tCO2 in 2025, decreasing to ~7.5USD/tCO2 as of 2035 $if "%cm_ccsinjeCost%" == "low" fm_dataglob("tech_stat","ccsinje") = 2; $if "%cm_ccsinjeCost%" == "low" fm_dataglob("inco0","ccsinje") = 220; $if "%cm_ccsinjeCost%" == "low" fm_dataglob("constrTme","ccsinje") = 0; -* high estimate: ~20USD/tCO2 (constant), assuming upper end of storage cost and long transport distances +*** high estimate: ~20USD/tCO2 (constant), assuming upper end of storage cost and long transport distances $if "%cm_ccsinjeCost%" == "high" fm_dataglob("inco0","ccsinje") = 550; ***--------------------------------------------------------------------------- *** Manipulating global or regional cost technology data - relative value ***--------------------------------------------------------------------------- *** Overwrite default technology cost parameter values based on specific scenario configs -$if not "%cm_incolearn%" == "off" parameter p_new_incolearn(all_te) / %cm_incolearn% /; -$if not "%cm_incolearn%" == "off" fm_dataglob("incolearn",te)$p_new_incolearn(te)=p_new_incolearn(te); -$if not "%cm_inco0Factor%" == "off" parameter p_new_inco0Factor(all_te) / %cm_inco0Factor% /; -$if not "%cm_inco0Factor%" == "off" fm_dataglob("inco0",te)$p_new_inco0Factor(te)=p_new_inco0Factor(te)*fm_dataglob("inco0",te); -$if not "%cm_inco0RegiFactor%" == "off" parameter p_new_inco0RegiFactor(all_te) / %cm_inco0RegiFactor% /; -$if not "%cm_inco0RegiFactor%" == "off" p_inco0(ttot,regi,te)$(p_inco0(ttot,regi,te) and p_new_inco0RegiFactor(te)) = p_new_inco0RegiFactor(te)*p_inco0(ttot,regi,te); -$if not "%cm_learnRate%" == "off" parameter p_new_learnRate(all_te) / %cm_learnRate% /; -$if not "%cm_learnRate%" == "off" fm_dataglob("learn",te)$p_new_learnRate(te)=p_new_learnRate(te); +$if not "%cm_incolearn%" == "off" parameter p_new_incolearn(all_te) / %cm_incolearn% /; +$if not "%cm_incolearn%" == "off" fm_dataglob("incolearn",te)$p_new_incolearn(te) = p_new_incolearn(te); +$if not "%cm_inco0Factor%" == "off" parameter p_new_inco0Factor(all_te) / %cm_inco0Factor% /; +$if not "%cm_inco0Factor%" == "off" fm_dataglob("inco0",te)$p_new_inco0Factor(te) = p_new_inco0Factor(te) * fm_dataglob("inco0",te); +$if not "%cm_learnRate%" == "off" parameter p_new_learnRate(all_te) / %cm_learnRate% /; +$if not "%cm_learnRate%" == "off" fm_dataglob("learn",te)$p_new_learnRate(te) = p_new_learnRate(te); + +*** generisdata_tech is in $2015. Needs to be converted to $2017 +fm_dataglob("inco0",te) = s_D2015_2_D2017 * fm_dataglob("inco0",te); +fm_dataglob("incolearn",te) = s_D2015_2_D2017 * fm_dataglob("incolearn",te); +fm_dataglob("omv",te) = s_D2015_2_D2017 * fm_dataglob("omv",te); -*RP* the new cost data in generisdata_tech is now in $2015. As long as the model runs in $2005, these values have first to be converted to D2005 by dividing by 1.2 downwards -fm_dataglob("inco0",te) = s_D2015_2_D2005 * fm_dataglob("inco0",te); -fm_dataglob("incolearn",te) = s_D2015_2_D2005 * fm_dataglob("incolearn",te); -fm_dataglob("omv",te) = s_D2015_2_D2005 * fm_dataglob("omv",te); -p_inco0(ttot,regi,te) = s_D2015_2_D2005 * p_inco0(ttot,regi,te); +***--------------------------------------------------------------------------- +*** Reading in and initializing regional cost data +***--------------------------------------------------------------------------- +parameter p_inco0(ttot,all_regi,all_te) "regionalized technology costs Unit: USD$/KW" +/ +$ondelim +$include "./core/input/p_inco0.cs4r" +$offdelim +/ +; + +*** windoffshore-todo +*** allow input data with either "wind" or "windon" until mrremind is updated +p_inco0(ttot,all_regi,"windon") $ (p_inco0(ttot,all_regi,"windon") eq 0) = p_inco0(ttot,all_regi,"wind"); +p_inco0(ttot,all_regi,"wind") = 0; + + +$if not "%cm_inco0RegiFactor%" == "off" parameter p_new_inco0RegiFactor(all_te) / %cm_inco0RegiFactor% /; +$if not "%cm_inco0RegiFactor%" == "off" p_inco0(ttot,regi,te)$(p_inco0(ttot,regi,te) and p_new_inco0RegiFactor(te)) = p_new_inco0RegiFactor(te) * p_inco0(ttot,regi,te); *** inco0 (and incolearn) are given in $/kW (or $/(tC/a) for ccs-related tech or $/(t/a) for process-based industry) *** convert to REMIND units, i.e., T$/TW (or T$/(GtC/a) for ccs-related tech or T$/(Gt/a) for process-based industry) *** note that factor for $/kW -> T$/TW is the same as for $/(tC/a) -> T$/(GtC/a) -fm_dataglob("inco0",te) = s_DpKW_2_TDpTW * fm_dataglob("inco0",te); -fm_dataglob("incolearn",te) = s_DpKW_2_TDpTW * fm_dataglob("incolearn",te); -fm_dataglob("omv",te) = s_DpKWa_2_TDpTWa * fm_dataglob("omv",te); -p_inco0(ttot,regi,te) = s_DpKW_2_TDpTW * p_inco0(ttot,regi,te); +fm_dataglob("inco0",te) = s_DpKW_2_TDpTW * fm_dataglob("inco0",te); +fm_dataglob("incolearn",te) = s_DpKW_2_TDpTW * fm_dataglob("incolearn",te); +fm_dataglob("omv",te) = s_DpKWa_2_TDpTWa * fm_dataglob("omv",te); +p_inco0(ttot,regi,te) = s_DpKW_2_TDpTW * p_inco0(ttot,regi,te); *RP* rescale the global CSP investment costs in REMIND: Originally we assume a SM3/12h setup, while the cost data from IEA for the short term seems rather based on a SM2/6h setup (with 40% average CF) *** Accordingly, also decrease long-term costs in REMIND to 0.7 of the current values -fm_dataglob("inco0","csp") = 0.7 * fm_dataglob("inco0","csp"); -fm_dataglob("incolearn","csp") = 0.7 * fm_dataglob("incolearn","csp"); - +fm_dataglob("inco0","csp") = 0.7 * fm_dataglob("inco0","csp"); +fm_dataglob("incolearn","csp") = 0.7 * fm_dataglob("incolearn","csp"); +*** adjust costs for oae from USD/GtCaO to USD/GtC +fm_dataglob("inco0", "oae_ng") = fm_dataglob("inco0", "oae_ng") / (cm_33_OAE_eff / sm_c_2_co2); +fm_dataglob("inco0", "oae_el") = fm_dataglob("inco0", "oae_el") / (cm_33_OAE_eff / sm_c_2_co2); *** -------------------------------------------------------------------------------- *** Regionalize technology investment cost data *** ------------------------------------------------------------------------------- @@ -298,7 +297,6 @@ $endif ) ); - *** nuclear sees 3% higher interest rates during construction time due to higher construction time risk, see "The economic future of nuclear power - A study conducted at The University of Chicago" (2004) loop(te$sameas(te,"tnrs"), p_tkpremused(regi,te) = 1/fm_dataglob("constrTme",te) @@ -313,7 +311,6 @@ $endif display p_tkpremused; *** modify regionalized cost data using cost premium during construction time - pm_data(regi,"inco0",te) = (1 + p_tkpremused(regi,te) ) * pm_data(regi,"inco0",te); pm_data(regi,"incolearn",te) = (1 + p_tkpremused(regi,te) ) * pm_data(regi,"incolearn",te); p_inco0(ttot,regi,teRegTechCosts) = (1 + p_tkpremused(regi,teRegTechCosts) ) * p_inco0(ttot,regi,teRegTechCosts); @@ -321,33 +318,61 @@ p_inco0(ttot,regi,teRegTechCosts) = (1 + p_tkpremused(regi,teRegTechCosts) ) * *** take region average p_tkpremused for global convergence price fm_dataglob("inco0",te) = (1 + sum(regi, p_tkpremused(regi,te))/sum(regi, 1)) * fm_dataglob("inco0",te); +*** ====================== floor cost scenarios =========================== *** calculate default floor costs for learning technologies pm_data(regi,"floorcost",teLearn(te)) = pm_data(regi,"inco0",te) - pm_data(regi,"incolearn",te); +*** report old floor costs pre manipulation in non-default scenario +$ifthen.floorscen NOT %cm_floorCostScen% == "default" + p_oldFloorCostdata(regi,teLearn(te)) = pm_data(regi,"inco0",te) - pm_data(regi,"incolearn",te); +$endif.floorscen +*** calculate floor costs for learning technologies if historical price structure prevails +$ifthen.floorscen %cm_floorCostScen% == "pricestruc" +*** compute maximum tech cost in 2015 for a given tech among regions + p_maxRegTechCost2015(teRegTechCosts) = SMax(regi, p_inco0("2015",regi,teRegTechCosts)); +*** take the ratio of the tech cost in 2015 and the maximum cost, and multiply with the global floor to get new floorcost that preserves the price structure + pm_data(regi,"floorcost",teLearn(te))$(p_maxRegTechCost2015(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2015",regi,te) / p_maxRegTechCost2015(te); +*** for newer data than 2015, use these + p_maxRegTechCost2020(teRegTechCosts) = SMax(regi, p_inco0("2020",regi,teRegTechCosts)); + pm_data(regi,"floorcost",teLearn(te))$(p_maxRegTechCost2020(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2020",regi,te) / p_maxRegTechCost2020(te); +*** report the new floor cost data + p_newFloorCostdata(regi,teLearn(te))$(p_maxRegTechCost2015(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2015",regi,te) / p_maxRegTechCost2015(te); + p_newFloorCostdata(regi,teLearn(te))$(p_maxRegTechCost2020(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2020",regi,te) / p_maxRegTechCost2020(te); +$endif.floorscen + +*** calculate floor costs for learning technologies if there is technology transfer +$ifthen.floorscen %cm_floorCostScen% == "techtrans" +*** compute maximum income GDP PPP per capita among regions in 2050 + p_gdppcap2050_PPP(regi) = pm_gdp("2050",regi) / pm_shPPPMER(regi) / pm_pop("2050",regi); + p_maxPPP2050 = SMax(regi, p_gdppcap2050_PPP(regi)); +*** take the ratio of the PPP income and the maximum income, and multiply with the global floor to get new floorcost that simulates tech transfer where costs are solely dependent on local wages, not on IP rent + pm_data(regi,"floorcost",teLearn(te))$(p_maxPPP2050 ne 0) = p_oldFloorCostdata(regi,te) * p_gdppcap2050_PPP(regi) / p_maxPPP2050; + p_newFloorCostdata(regi,teLearn(te))$(p_maxPPP2050 ne 0) = p_oldFloorCostdata(regi,te) * p_gdppcap2050_PPP(regi) / p_maxPPP2050; +$endif.floorscen *** In case regionally differentiated investment costs should be used the corresponding entries are revised: $ifthen.REG_techcosts not "%cm_techcosts%" == "GLO" !! cm_techcosts is REG or REG2040 pm_data(regi,"inco0",teRegTechCosts) = p_inco0("2015",regi,teRegTechCosts); - loop(teRegTechCosts$(sameas(teRegTechCosts,"spv") ), - pm_data(regi,"inco0",teRegTechCosts) = p_inco0("2020",regi,teRegTechCosts); - ); - pm_data(regi,"incolearn",teLearn(te)) = pm_data(regi,"inco0",te) - pm_data(regi,"floorcost",te) ; + pm_data(regi,"inco0","spv") = p_inco0("2020",regi,"spv"); + pm_data(regi,"incolearn",teLearn) = pm_data(regi,"inco0",teLearn) - pm_data(regi,"floorcost",teLearn) ; $endif.REG_techcosts +*** ------------------------------------------------------------------------------- *** Calculate learning parameters: - +*** ------------------------------------------------------------------------------- *** global exponent *** parameter calculation for global level, that regional values can gradually converge to -fm_dataglob("learnExp_wFC",teLearn(te)) = fm_dataglob("inco0",te)/fm_dataglob("incolearn",te) * log(1-fm_dataglob("learn", te))/log(2); +fm_dataglob("learnExp_woFC",teLearn(te)) = log(1 - fm_dataglob("learn",te)) / log(2); +*RP* adjust exponent parameter learnExp_woFC to take floor costs into account +fm_dataglob("learnExp_wFC",teLearn(te)) = fm_dataglob("inco0",te) / fm_dataglob("incolearn",te) * fm_dataglob("learnExp_woFC",te); *** regional exponent -pm_data(regi,"learnExp_woFC",teLearn(te)) = log(1-pm_data(regi,"learn", te))/log(2); -*RP* adjust exponent parameter learnExp_woFC to take floor costs into account -pm_data(regi,"learnExp_wFC",teLearn(te)) = pm_data(regi,"inco0",te) / pm_data(regi,"incolearn",te) * log(1-pm_data(regi,"learn", te))/log(2); +pm_data(regi,"learnExp_woFC",teLearn(te)) = log(1 - pm_data(regi,"learn",te)) / log(2); +pm_data(regi,"learnExp_wFC",teLearn(te)) = pm_data(regi,"inco0",te) / pm_data(regi,"incolearn",te) * pm_data(regi,"learnExp_woFC",te); *** global factor *** parameter calculation for global level, that regional values can gradually converge to -fm_dataglob("learnMult_wFC",teLearn(te)) = fm_dataglob("incolearn",te)/(fm_dataglob("ccap0",te)**fm_dataglob("learnExp_wFC", te)); +fm_dataglob("learnMult_wFC",teLearn(te)) = fm_dataglob("incolearn",te) / (fm_dataglob("ccap0",te) ** fm_dataglob("learnExp_wFC", te)); *** regional factor *NB* read in vm_capCum(t0,regi,teLearn) from input.gdx to have info available for the recalibration of 2005 investment costs @@ -369,8 +394,8 @@ $else pm_data(regi,"learnMult_wFC","spv") = pm_data(regi,"incolearn","spv") / (sum(regi2,p_capCum("2020",regi2,"spv")) ** pm_data(regi,"learnExp_wFC","spv")); $endif -*FS initialize learning curve for most advanced technologies as defined by tech_stat = 4 in generisdata_tech.prn (with very small real-world capacities in 2020) -* equally for all regions based on global cumulate capacity of ccap0 and incolearn (difference between initial investment cost and floor cost) +*FS* initialize learning curve for most advanced technologies as defined by tech_stat = 4 in generisdata_tech.prn (with very small real-world capacities in 2020) +*** equally for all regions based on global cumulate capacity of ccap0 and incolearn (difference between initial investment cost and floor cost) pm_data(regi,"learnMult_wFC",te)$( pm_data(regi,"tech_stat",te) eq 4 ) = pm_data(regi,"incolearn",te) / ( fm_dataglob("ccap0",te) @@ -379,17 +404,18 @@ pm_data(regi,"learnMult_wFC",te)$( pm_data(regi,"tech_stat",te) eq 4 ) display p_capCum; display pm_data; - +*** ------------------------------------------------------------------------------- *** end learning parameters +*** ------------------------------------------------------------------------------- -*RP* 2012-03-07: Markup for advanced technologies +*** Markup for advanced technologies table p_costMarkupAdvTech(s_statusTe,tall) "Multiplicative investment cost markup for early time periods (until 2030) on advanced technologies (CCS, Hydrogen) that are not modeled through endogenous learning" $include "./core/input/p_costMarkupAdvTech.prn" ; *** add mark-up cost for tech_stat 4 and 5 technologies as for tech_stat 3 technologies in first years -p_costMarkupAdvTech("4",ttot)=p_costMarkupAdvTech("3",ttot); -p_costMarkupAdvTech("5",ttot)=p_costMarkupAdvTech("3",ttot); +p_costMarkupAdvTech("4",ttot) = p_costMarkupAdvTech("3",ttot); +p_costMarkupAdvTech("5",ttot) = p_costMarkupAdvTech("3",ttot); loop (teNoLearn(te), pm_inco0_t(ttot,regi,te) = pm_data(regi,"inco0",te); @@ -403,7 +429,7 @@ loop (teNoLearn(te), ); display pm_inco0_t; -*FL* regional differentiation and convergence of non-learning technologies costs +*** regional differentiation and convergence of non-learning technologies costs $ifthen.REG2040_techcosts "%cm_techcosts%" == "REG2040" !! cm_techcosts REG2040 *** for 2015-2040, use differentiated costs when available for a specific non-learning technology loop(te$( teNoLearn(te) AND teRegTechCosts(te) ), @@ -448,22 +474,22 @@ $ifthen.REG_techcosts "%cm_techcosts%" == "REG" !! cm_techcosts REG ); $endif.REG_techcosts - *------------------------------------------------------------------------------------ -* END of Technology cost data input read-in and manipulation in core +*** Technology data input read-in and manipulation END *------------------------------------------------------------------------------------ *** Note: in modules/05_initialCap/on/preloop.gms, there are additional adjustment to investment *** cost in the near term due to calibration of historical energy conversion efficiencies based on *** initial capacities *------------------------------------------------------------------------------------ -*JH* Determine CCS injection rates -*LP* for c_ccsinjecratescen =0 the storing variable vm_co2CCS will be fixed to 0 in bounds.gms, the sm_ccsinjecrate=0 will cause a division by 0 error in the 21_tax module +*** Determine CCS injection rates +*** for c_ccsinjecratescen =0 the storing variable vm_co2CCS will be fixed to 0 in bounds.gms, the sm_ccsinjecrate=0 will cause a division by 0 error in the 21_tax module s_ccsinjecrate = 0.005 if (c_ccsinjecratescen eq 2, s_ccsinjecrate = s_ccsinjecrate * 0.50 ); !! Lower estimate if (c_ccsinjecratescen eq 3, s_ccsinjecrate = s_ccsinjecrate * 1.50 ); !! Upper estimate if (c_ccsinjecratescen eq 4, s_ccsinjecrate = s_ccsinjecrate * 200 ); !! remove flow constraint for DAC runs if (c_ccsinjecratescen eq 5, s_ccsinjecrate = s_ccsinjecrate * 0.20 ); !! sustainable estimate +if (c_ccsinjecratescen eq 6, s_ccsinjecrate = s_ccsinjecrate * 0.44 ); !! Intermediate estimate pm_ccsinjecrate(regi) = s_ccsinjecrate; *** OR: overwrite with regional values of ccs injection rate @@ -479,7 +505,7 @@ table fm_dataemiglob(all_enty,all_enty,all_te,all_enty) "read-in of emissions f $include "./core/input/generisdata_emi.prn" ; -parameter pm_share_ind_fesos(tall,all_regi) "Share of coal solids (coaltr) used in the industry (rest is residential)" +parameter pm_share_ind_fesos(tall,all_regi) "Share of coal solids (coaltr) used in the industry (rest is residential)" / $ondelim $include "./core/input/p_share_ind_fesos.cs4r" @@ -487,7 +513,7 @@ $offdelim / ; -parameter pm_share_ind_fesos_bio(tall,all_regi) "Share of biomass solids (biotr) used in the industry (rest is residential)" +parameter pm_share_ind_fesos_bio(tall,all_regi) "Share of biomass solids (biotr) used in the industry (rest is residential)" / $ondelim $include "./core/input/p_share_ind_fesos_bio.cs4r" @@ -495,7 +521,7 @@ $offdelim / ; -parameter pm_share_ind_fehos(tall,all_regi) "Share of heating oil used in the industry (rest is residential)" +parameter pm_share_ind_fehos(tall,all_regi) "Share of heating oil used in the industry (rest is residential)" / $ondelim $include "./core/input/p_share_ind_fehos.cs4r" @@ -524,7 +550,30 @@ pm_share_trans("2130",regi) = 0.865; pm_share_trans("2150",regi) = 0.872; -*JH* CO2 capture rate of CCS technologies (new SSP5 assumptions) +$ifthen.tech_CO2capturerate not "%c_tech_CO2capturerate%" == "off" +p_PECarriers_CarbonContent(peFos)=pm_cintraw(peFos); +*** From conversation: 25 GtC/ZJ is the assumed carbon content of PE biomass (makes default bioh2c capture rate 90%) +*** Convert to GtC/TWa +p_PECarriers_CarbonContent("pebiolc")=25 / s_zj_2_twa; +loop(pe2se(entyPe,entySe,te)$(p_tech_co2capturerate(te)), + if(p_tech_co2capturerate(te) gt 0, + if(p_tech_co2capturerate(te) ge 1, + abort "Error: Inconsistent switch usage. A CO2 capture rate is greater than 1. Check c_tech_CO2capturerate."; + ); +*** Alter CO2 capture rate in fm_dataemiglob +*** fm_dataemiglob is given in GtC/ZJ + fm_dataemiglob(entyPe,entySe,te,"cco2") = p_tech_co2capturerate(te) * p_PECarriers_CarbonContent(entyPe) * s_zj_2_twa; + if(sameAs(entyPe,"pebiolc"), + fm_dataemiglob(entyPe,entySe,te,"co2") = -fm_dataemiglob(entyPe,entySe,te,"cco2") ; + else + fm_dataemiglob(entyPe,entySe,te,"co2") = p_PECarriers_CarbonContent(entyPe) - fm_dataemiglob(entyPe,entySe,te,"cco2") ; + ); + ); +); +display fm_dataemiglob; +$endif.tech_CO2capturerate + +*** CO2 capture rate of CCS technologies (new SSP5 assumptions) if (c_ccscapratescen eq 2, fm_dataemiglob("pecoal","seel","igccc","co2") = 0.2; fm_dataemiglob("pecoal","seel","igccc","cco2") = 25.9; @@ -541,14 +590,11 @@ $endif fm_dataemiglob(enty,enty2,te,"co2")$pe2se(enty,enty2,te) = 1/s_zj_2_twa * fm_dataemiglob(enty,enty2,te,"co2"); fm_dataemiglob(enty,enty2,te,"cco2") = 1/s_zj_2_twa * fm_dataemiglob(enty,enty2,te,"cco2"); -table f_datarenglob(char,rlf,*) "global nur and ren data" -$include "./core/input/generisdata_nur_ren.prn" -; table f_dataetaglob(tall,all_te) "global eta data" $include "./core/input/generisdata_varying_eta.prn" ; -* Read in mac historical emissions to calibrate MAC reference emissions +*** Read in mac historical emissions to calibrate MAC reference emissions parameter p_histEmiMac(tall,all_regi,all_enty) "historical emissions per MAC" / $ondelim @@ -556,7 +602,7 @@ $include "./core/input/p_histEmiMac.cs4r" $offdelim / ; -* Read in historical emissions per sector to calibrate MAC reference emissions +*** Read in historical emissions per sector to calibrate MAC reference emissions parameter p_histEmiSector(tall,all_regi,all_enty,emi_sectors,sector_types) "historical emissions per sector" / $ondelim @@ -569,7 +615,7 @@ $offdelim *** Import and set regional data ***--------------------------------------------------------------------------- -*RP* 2012-07-24: CO2-technologies don't have own emissions, but the pipeline leakage rate (s_co2pipe_leakage) is multiplied on the individual pe2se +*** CO2-technologies don't have own emissions, but the pipeline leakage rate (s_co2pipe_leakage) is multiplied on the individual pe2se s_co2pipe_leakage = 0.01; loop(emi2te(enty,enty2,te,enty3)$teCCS(te), @@ -584,9 +630,9 @@ pm_emifac(ttot,regi,enty,enty2,te,"cco2")$emi2te(enty,enty2,te,"cco2") = fm_data *JeS scale N2O energy emissions to EDGAR pm_emifac(ttot,regi,enty,enty2,te,"n2o")$emi2te(enty,enty2,te,"n2o") = 0.905 * fm_dataemiglob(enty,enty2,te,"n2o"); -*JeS from IPCC http://www.ipcc-nggip.iges.or.jp/public/gp/bgp/2_2_Non-CO2_Stationary_Combustion.pdf: -*JeS CH4: 300 kg/TJ = 0.3 Mt/EJ * 31.536 EJ/TWa = 9.46 Mt /TWa -*JeS N2O: 1 kg/TJ = 0.001 Mt/EJ * 31.536 EJ/TWa = 0.031536 Mt / TWa +***JeS from IPCC http://www.ipcc-nggip.iges.or.jp/public/gp/bgp/2_2_Non-CO2_Stationary_Combustion.pdf: +***JeS CH4: 300 kg/TJ = 0.3 Mt/EJ * 31.536 EJ/TWa = 9.46 Mt /TWa +***JeS N2O: 1 kg/TJ = 0.001 Mt/EJ * 31.536 EJ/TWa = 0.031536 Mt / TWa *** coal 1.4 kg/TJ = 0.04415 Mt/TWa *** gas 0.1 kg/TJ = 0.00315 Mt/TWa *** oil 0.6 kg/TJ = 0.01892 Mt/TWa @@ -611,7 +657,7 @@ $offdelim ; pm_IO_trade(ttot,regi,enty,char) = f_IO_trade(ttot,regi,enty,char) * sm_EJ_2_TWa; -*LB* use scaled data for export to guarantee net trade = 0 for each traded good +*** use scaled data for export to guarantee net trade = 0 for each traded good loop(tradePe, loop(ttot, if(sum(regi2, pm_IO_trade(ttot,regi2,tradePe,"Xport")) ne 0, @@ -634,20 +680,8 @@ p_cint(regi,"co2","peoil","6")=0.1775748800; p_cint(regi,"co2","peoil","7")=0.2283105600; p_cint(regi,"co2","peoil","8")=0.4153983800; -$ifthen.WindOff %cm_wind_offshore% == "0" -** historical installed capacity -*** read-in of pm_histCap.cs3r -$Offlisting -table pm_histCap(tall,all_regi,all_te) "historical installed capacity" -$ondelim -$include "./core/input/pm_histCap.cs3r" -$offdelim -; -$Onlisting -$endif.WindOff - -$ifthen.WindOff %cm_wind_offshore% == "1" -*** read-in of pm_histCap_windoff.cs3r +*** historical installed capacity +*** read-in of pm_histCap_windoff.cs3r *** windoffshore-todo $Offlisting table pm_histCap(tall,all_regi,all_te) "historical installed capacity" $ondelim @@ -655,7 +689,12 @@ $include "./core/input/pm_histCap_windoff.cs3r" $offdelim ; $Onlisting -$endif.WindOff + +*** windoffshore-todo +*** allow input data with either "wind" or "windon" until mrremind is updated +pm_histCap(tall,all_regi,"windon") $ (pm_histCap(tall,all_regi,"windon") eq 0) = pm_histCap(tall,all_regi,"wind"); +pm_histCap(tall,all_regi,"wind") = 0; + *** calculate historic capacity additions pm_delta_histCap(tall,regi,te) = pm_histCap(tall,regi,te) - pm_histCap(tall-1,regi,te); @@ -679,20 +718,25 @@ $offdelim $Onlisting -*CG* setting wind off capacity factor to be the same as onshore here (later adjusting it in vm_capFac) -$ifthen.WindOff %cm_wind_offshore% == "1" -f_cf(ttot,regi,"windoff") = f_cf(ttot,regi,"wind"); -$endif.WindOff +*CG* setting wind offshore capacity factor to be the same as onshore here (later adjusting it in vm_capFac) +*** windoffshore-todo +*** allow input data with either "wind" or "windon" until mrremind is updated +f_cf(ttot,regi,"windon") $ (f_cf(ttot,regi,"windon") eq 0) = f_cf(ttot,regi,"wind"); +f_cf(ttot,regi,"storwindon") $ (f_cf(ttot,regi,"storwindon") eq 0) = f_cf(ttot,regi,"storwind"); +f_cf(ttot,regi,"gridwindon") $ (f_cf(ttot,regi,"gridwindon") eq 0) = f_cf(ttot,regi,"gridwind"); +f_cf(ttot,regi,"windoff") = f_cf(ttot,regi,"windon"); +f_cf(ttot,regi,"storwindoff") = f_cf(ttot,regi,"storwindon"); +f_cf(ttot,regi,"gridwindoff") = f_cf(ttot,regi,"gridwindon"); pm_cf(ttot,regi,te) = f_cf(ttot,regi,te); ***pm_cf(ttot,regi,"h2turbVRE") = 0.15; pm_cf(ttot,regi,"elh2VRE") = 0.6; -*short-term fix for new synfuel td technologies +*** short-term fix for new synfuel td technologies pm_cf(ttot,regi,"tdsyngas") = 0.65; pm_cf(ttot,regi,"tdsynhos") = 0.6; pm_cf(ttot,regi,"tdsynpet") = 0.7; pm_cf(ttot,regi,"tdsyndie") = 0.7; -*JD eternal short-term fix for process-based industry +*** eternal short-term fix for process-based industry pm_cf(ttot,regi,"bf") = 0.8; pm_cf(ttot,regi,"bfcc") = 0.8; pm_cf(ttot,regi,"bof") = 0.8; @@ -715,29 +759,28 @@ pm_cf(ttot,regi,"tdh2b") = pm_cf(ttot,regi,"tdh2s"); pm_cf(ttot,regi,"tdh2i") = pm_cf(ttot,regi,"tdh2s"); -*SB* Region- and tech-specific early retirement rates -*Regional* +*** Region- and tech-specific early retirement rates loop(ext_regi$pm_extRegiEarlyRetiRate(ext_regi), pm_regiEarlyRetiRate(t,regi,te)$(regi_group(ext_regi,regi)) = pm_extRegiEarlyRetiRate(ext_regi); ); -*Tech-specific* +***Tech-specific* *RP*: reduce early retirement for technologies with additional characteristics that are difficult to represent in REMIND, eg. industries built around heating/CHP plants, or flexibility from ngt plants -pm_regiEarlyRetiRate(t,regi,"ngt") = 0.3 * pm_regiEarlyRetiRate(t,regi,"ngt") ; !! ngt should only be phased out very slowly, as they provide flexibility - which REMIND is not too good at capturing endogeneously -pm_regiEarlyRetiRate(t,regi,"gaschp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"gaschp") ; !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input -pm_regiEarlyRetiRate(t,regi,"coalchp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"coalchp"); !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input -pm_regiEarlyRetiRate(t,regi,"biochp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"biochp") ; !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input -pm_regiEarlyRetiRate(t,regi,"gashp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"gashp") ; !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input -pm_regiEarlyRetiRate(t,regi,"coalhp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"coalhp"); !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input -pm_regiEarlyRetiRate(t,regi,"biohp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"biohp") ; !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input - +pm_regiEarlyRetiRate(t,regi,"ngt") = 0.3 * pm_regiEarlyRetiRate(t,regi,"ngt"); !! ngt should only be phased out very slowly, as they provide flexibility - which REMIND is not too good at capturing endogeneously +pm_regiEarlyRetiRate(t,regi,"gaschp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"gaschp"); !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input +pm_regiEarlyRetiRate(t,regi,"coalchp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"coalchp"); !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input +pm_regiEarlyRetiRate(t,regi,"gashp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"gashp"); !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input +pm_regiEarlyRetiRate(t,regi,"coalhp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"coalhp"); !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input +pm_regiEarlyRetiRate(t,regi,"biohp") = 0.25 * pm_regiEarlyRetiRate(t,regi,"biohp"); !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input +pm_regiEarlyRetiRate(t,regi,"biochp") = 0.25 * pm_regiEarlyRetiRate(t,regi,"biochp"); !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input +pm_regiEarlyRetiRate(t,regi,"bioigcc") = 0.25 * pm_regiEarlyRetiRate(t,regi,"bioigcc"); !! reduce bio early retirement rate $ifthen.tech_earlyreti not "%c_tech_earlyreti_rate%" == "off" loop((ext_regi,te)$p_techEarlyRetiRate(ext_regi,te), - pm_regiEarlyRetiRate(t,regi,te)$(regi_group(ext_regi,regi) and (t.val lt 2035 or sameas(ext_regi,"GLO"))) = p_techEarlyRetiRate(ext_regi,te); + pm_regiEarlyRetiRate(t,regi,te)$(regi_group(ext_regi,regi) and (t.val lt c_earlyRetiValidYr or sameas(ext_regi,"GLO"))) = p_techEarlyRetiRate(ext_regi,te); ); $endif.tech_earlyreti -*SB* Time-dependent early retirement rates in Baseline scenarios +*** Time-dependent early retirement rates in Baseline scenarios $ifthen.Base_Cprice %carbonprice% == "none" $ifthen.Base_techpol %techpol% == "none" *** CG: Allow no early retirement in future periods under baseline for developing countries @@ -777,7 +820,7 @@ loop(regi, ); ); -*LB* calculate mapping tsu2opTimeYr +*** calculate mapping tsu2opTimeYr alias(ttot, tttot); tsu2opTimeYr(ttot,opTimeYr) = no; tsu2opTimeYr(ttot,"1") = yes; @@ -857,10 +900,10 @@ if(pm_NuclearConstraint("2020",regi,"tnrs")<0, ); *** read in data on CCS capacities and announced projects used as upper and lower bound on vm_co2CCS in 2025 and 2030 -parameter pm_boundCapCCS(ttot,all_regi,bounds) "installed and planned capacity of CCS" +parameter p_boundCapCCS(ttot,all_regi,project_status) "installed and planned capacity of CCS" / $ondelim -$include "./core/input/pm_boundCapCCS.cs4r" +$include "./core/input/p_boundCapCCS.cs4r" $offdelim / ; @@ -925,17 +968,22 @@ $offdelim $if %cm_LU_emi_scen% == "SSP1" p_efFossilFuelExtr(regi,"pebiolc","n2obio") = 0.0047/sm_EJ_2_TWa; $if %cm_LU_emi_scen% == "SSP2" p_efFossilFuelExtr(regi,"pebiolc","n2obio") = 0.0079/sm_EJ_2_TWa; +$if %cm_LU_emi_scen% == "SSP2_lowEn" p_efFossilFuelExtr(regi,"pebiolc","n2obio") = 0.0079/sm_EJ_2_TWa; +$if %cm_LU_emi_scen% == "SSP3" p_efFossilFuelExtr(regi,"pebiolc","n2obio") = 0.0079/sm_EJ_2_TWa; $if %cm_LU_emi_scen% == "SSP5" p_efFossilFuelExtr(regi,"pebiolc","n2obio") = 0.0066/sm_EJ_2_TWa; -*BS* added SDP, copied SSP1 number -$if %cm_LU_emi_scen% == "SDP" p_efFossilFuelExtr(regi,"pebiolc","n2obio") = 0.0047/sm_EJ_2_TWa; +$if %cm_LU_emi_scen% == "SDP" p_efFossilFuelExtr(regi,"pebiolc","n2obio") = 0.0047/sm_EJ_2_TWa; *DK* In case REMIND is coupled to MAgPIE emissions are obtained from the MAgPIE reporting. Thus, emission factors are set to zero $if %cm_MAgPIE_coupling% == "on" p_efFossilFuelExtr(regi,"pebiolc","n2obio") = 0.0; display p_efFossilFuelExtr; -pm_dataren(regi,"nur",rlf,te) = f_datarenglob("nur",rlf,te); -pm_dataren(regi,"maxprod",rlf,te) = sm_EJ_2_TWa * f_datarenglob("maxprod",rlf,te); +*** capacity factors (nur) are 1 by default +pm_dataren(regi,"nur",rlf,te) = 1; + +*** geothermal heatpumps (geohe) do not get maxprod and nur from f_maxProdGradeRegi files +*** we set regional maxprod to 200EJ = 6.342TWa to represent unlimited potential +pm_dataren(regi,"maxprod","1","geohe") = 6.342; *RP* hydro, spv and csp get maxprod for all regions and grades from external file table f_maxProdGradeRegiHydro(all_regi,char,rlf) "input of regionalized maximum from hydro [EJ/a]" @@ -947,52 +995,59 @@ pm_dataren(all_regi,"maxprod",rlf,"hydro") = sm_EJ_2_TWa * f_maxProdGradeRegiHyd pm_dataren(all_regi,"nur",rlf,"hydro") = f_maxProdGradeRegiHydro(all_regi,"nur",rlf); *CG* separating input of wind onshore and offshore +*** windoffshore-todo table f_maxProdGradeRegiWindOn(all_regi,char,rlf) "input of regionalized maximum from wind onshore [EJ/a]" $ondelim $include "./core/input/f_maxProdGradeRegiWindOn.cs3r" $offdelim ; - -pm_dataren(all_regi,"maxprod",rlf,"wind") = sm_EJ_2_TWa * f_maxProdGradeRegiWindOn(all_regi,"maxprod",rlf); -pm_dataren(all_regi,"nur",rlf,"wind") = f_maxProdGradeRegiWindOn(all_regi,"nur",rlf); +pm_dataren(all_regi,"maxprod",rlf,"windon") = sm_EJ_2_TWa * f_maxProdGradeRegiWindOn(all_regi,"maxprod",rlf); +pm_dataren(all_regi,"nur",rlf,"windon") = f_maxProdGradeRegiWindOn(all_regi,"nur",rlf); -$ifthen.WindOff %cm_wind_offshore% == "1" table f_maxProdGradeRegiWindOff(all_regi,char,rlf) "input of regionalized maximum from wind offshore [EJ/a]" $ondelim $include "./core/input/f_maxProdGradeRegiWindOff.cs3r" $offdelim ; pm_dataren(all_regi,"maxprod",rlf,"windoff") = sm_EJ_2_TWa * f_maxProdGradeRegiWindOff(all_regi,"maxprod",rlf); -pm_dataren(all_regi,"nur",rlf,"windoff") = 1.25 * f_maxProdGradeRegiWindOff(all_regi,"nur",rlf); !! increase wind offshore capacity factors by 25% as the NREL values seem to underestimate offshore capacity factors compared to historic values +*** increase wind offshore capacity factors by 25% to account for very different real-world values +*** NREL values seem underestimated, potentially partially due to assuming low turbines +pm_dataren(all_regi,"nur",rlf,"windoff") = 1.25 * f_maxProdGradeRegiWindOff(all_regi,"nur",rlf); -pm_shareWindPotentialOff2On(all_regi) = sum(rlf,f_maxProdGradeRegiWindOff(all_regi,"maxprod",rlf)$(rlf.val le 8)) / - sum(rlf,f_maxProdGradeRegiWindOn(all_regi,"maxprod",rlf)$(rlf.val le 8)); +pm_shareWindPotentialOff2On(all_regi) = + sum(rlf $ (rlf.val le 8), f_maxProdGradeRegiWindOff(all_regi,"maxprod",rlf)) + / + sum(rlf $ (rlf.val le 8), f_maxProdGradeRegiWindOn( all_regi,"maxprod",rlf)); pm_shareWindOff("2010",regi) = 0.05; pm_shareWindOff("2015",regi) = 0.1; -pm_shareWindOff("2020",regi) = 0.15; -pm_shareWindOff("2025",regi) = 0.2; -pm_shareWindOff("2030",regi) = 0.35; -pm_shareWindOff("2035",regi) = 0.5; -pm_shareWindOff("2040",regi) = 0.65; -pm_shareWindOff("2045",regi) = 0.8; +pm_shareWindOff("2020",regi) = 0.2; +pm_shareWindOff("2025",regi) = 0.4; +pm_shareWindOff("2030",regi) = 0.6; +pm_shareWindOff("2035",regi) = 0.8; +pm_shareWindOff("2040",regi) = 0.9; +pm_shareWindOff("2045",regi) = 0.95; pm_shareWindOff(ttot,regi)$((ttot.val ge 2050)) = 1; -$endif.WindOff - table f_dataRegiSolar(all_regi,char,all_te,rlf) "input of regionalized data for solar" $ondelim $include "./core/input/f_dataRegiSolar.cs3r" $offdelim ; -pm_dataren(all_regi,"maxprod",rlf,"csp") = sm_EJ_2_TWa * f_dataRegiSolar(all_regi,"maxprod","csp",rlf); -pm_dataren(all_regi,"maxprod",rlf,"spv") = sm_EJ_2_TWa * f_dataRegiSolar(all_regi,"maxprod","spv",rlf); -pm_dataren(all_regi,"nur",rlf,"csp") = f_dataRegiSolar(all_regi,"nur","csp",rlf); -pm_dataren(all_regi,"nur",rlf,"spv") = f_dataRegiSolar(all_regi,"nur","spv",rlf); +pm_dataren(all_regi,"maxprod",rlf,"csp") = sm_EJ_2_TWa * f_dataRegiSolar(all_regi,"maxprod","csp",rlf); +pm_dataren(all_regi,"maxprod",rlf,"spv") = sm_EJ_2_TWa * f_dataRegiSolar(all_regi,"maxprod","spv",rlf); +pm_dataren(all_regi,"nur",rlf,"spv") = f_dataRegiSolar(all_regi,"nur","spv",rlf); p_datapot(all_regi,"limitGeopot",rlf,"pesol") = f_dataRegiSolar(all_regi,"limitGeopot","spv",rlf); -pm_data(all_regi,"luse","spv") = f_dataRegiSolar(all_regi,"luse","spv","1")/1000; +pm_data(all_regi,"luse","spv") = 0.001 * f_dataRegiSolar(all_regi,"luse","spv","1"); + +*** RP: rescale CSP capacity factors in REMIND +*** In the DLR resource data input files, the numbers are based on a SM3/12h setup, +*** while the cost data from IEA seems rather based on a SM2/6h setup (with 40% average CF). +*** Accordingly, decrease CF in REMIND to 2/3 of the DLR values (no need to correct maxprod, +*** as here no miscalculation of total energy yield takes place, in contrast to wind) +pm_dataren(all_regi,"nur",rlf,"csp") = 2/3 * f_dataRegiSolar(all_regi,"nur","csp",rlf); table f_maxProdGeothermal(all_regi,char) "input of regionalized maximum from geothermal [EJ/a]" @@ -1007,10 +1062,6 @@ pm_dataren(all_regi,"maxprod","1","geohdr")$f_maxProdGeothermal(all_regi,"maxpro *** FS: temporary fix: set minimum geothermal potential across all regions to 10 PJ (still negligible even in small regions) to get rid of infeasibilities pm_dataren(all_regi,"maxprod","1","geohdr")$(f_maxProdGeothermal(all_regi,"maxprod") <= 0.01) = sm_EJ_2_TWa * 0.01; - -*mh* set 'nur' for all non renewable technologies to '1': -pm_dataren(regi,"nur",rlf,teNoRe) = 1; - display p_datapot, pm_dataren; ***--------------------------------------------------------------------------- @@ -1018,36 +1069,35 @@ display p_datapot, pm_dataren; *** -------------------------------------------------------------------------- loop(regi, loop(teReNoBio(te), - p_aux_capToDistr(regi,te) = pm_histCap("2015",regi,te)$(pm_histCap("2015",regi,te) gt 1e-10); - s_aux_cap_remaining = p_aux_capToDistr(regi,te); -*RP* fill up the renewable grades to calculate the total capacity needed to produce the amount calculated in initialcap2, assuming the best grades are filled first (with 20% of each grade not yet used) + p_aux_capToDistr(regi,te) = pm_histCap("2015",regi,te) $ (pm_histCap("2015",regi,te) gt 1e-10); - loop(teRe2rlfDetail(te,rlf)$(pm_dataren(regi,"nur",rlf,te) > 0), +*** Knowing the historical capacity (pm_histCap) in 2015, let us estimate on which grades this capacity was distributed. +*** We assume that the best grades were filled first, but only up to 80% of their potential. + s_aux_cap_remaining = p_aux_capToDistr(regi,te); + loop(teRe2rlfDetail(te,rlf) $ (pm_dataren(regi,"nur",rlf,te) > 0), if(s_aux_cap_remaining > 0, - p_aux_capThisGrade(regi,te,rlf) = min(s_aux_cap_remaining, ( (pm_dataren(regi,"maxprod",rlf,te) * 0.8) / pm_dataren(regi,"nur",rlf,te) ) ); - s_aux_cap_remaining = s_aux_cap_remaining - p_aux_capThisGrade(regi,te,rlf); + p_aux_capThisGrade(regi,te,rlf) = min( + s_aux_cap_remaining, + 0.8 * pm_dataren(regi,"maxprod",rlf,te) / pm_dataren(regi,"nur",rlf,te)); !! installedCapacity = maxprod / capacityFactor + s_aux_cap_remaining = s_aux_cap_remaining - p_aux_capThisGrade(regi,te,rlf); ); ); !! teRe2rlfDetail - p_avCapFac2015(regi,te) = sum(teRe2rlfDetail(te,rlf), p_aux_capThisGrade(regi,te,rlf) * pm_dataren(regi,"nur",rlf,te) ) - / ( sum(teRe2rlfDetail(te,rlf), p_aux_capThisGrade(regi,te,rlf) ) + 1e-10) +*** With this estimated distribution of capacity across grades (p_aux_capThisGrade), +*** let us compute the average capacity factor of each technology in 2015 (p_avCapFac2015). + p_avCapFac2015(regi,te) = + sum(teRe2rlfDetail(te,rlf), + p_aux_capThisGrade(regi,te,rlf) * pm_dataren(regi,"nur",rlf,te)) + / + (sum(teRe2rlfDetail(te,rlf), p_aux_capThisGrade(regi,te,rlf)) + + 1e-10) ); !! teReNoBio ); !! regi display p_aux_capToDistr, s_aux_cap_remaining, p_aux_capThisGrade, p_avCapFac2015, p_inco0; -$ifthen.WindOff %cm_wind_offshore% == "0" -parameter p_histCapFac(tall,all_regi,all_te) "Capacity factor (fraction of the year that a plant is running) of installed capacity in 2015" -/ -$ondelim -$include "./core/input/p_histCapFac.cs4r" -$offdelim -/ -; -$endif.WindOff -$ifthen.WindOff %cm_wind_offshore% == "1" parameter p_histCapFac(tall,all_regi,all_te) "Capacity factor (fraction of the year that a plant is running) of installed capacity in 2015" / $ondelim @@ -1055,58 +1105,37 @@ $include "./core/input/p_histCapFac_windoff.cs4r" $offdelim / ; -$endif.WindOff - -*** RP rescale wind capacity factors in REMIND to account for very different real-world CF (potentially partially due to assumed low-wind turbine set-ups in the NREL data) -*** Because of the lag effect (turbines in the 2000s were much smaller and thus yielded lower CFs), only implement half of the calculated ratio of historic to REMIND capFac as rescaling for the new CFs - realised as (x+1)/2 - -*cb* CF calibration analogously for wind and spv: calibrate 2015, and assume gradual phase-in of grade-based CF (until 2045 for wind, until 2030 for spv) -p_aux_capacityFactorHistOverREMIND(regi,"wind")$p_avCapFac2015(regi,"wind") = p_histCapFac("2015",regi,"wind") / p_avCapFac2015(regi,"wind"); -$ifthen.WindOff %cm_wind_offshore% == "1" -p_aux_capacityFactorHistOverREMIND(regi,"windoff")$p_avCapFac2015(regi,"windoff") = p_histCapFac("2015",regi,"windoff") / p_avCapFac2015(regi,"windoff"); -$endif.WindOff - -$ifthen.WindOff %cm_wind_offshore% == "0" -loop(t$(t.val ge 2015 AND t.val le 2035 ), -pm_cf(t,regi,"wind") = -(2035 - pm_ttot_val(t)) / 20 * p_aux_capacityFactorHistOverREMIND(regi,"wind") *pm_cf(t,regi,"wind") -+ -(pm_ttot_val(t) - 2015) / 20 * pm_cf(t,regi,"wind") +*** windoffshore-todo +*** allow input data with either "wind" or "windon" until mrremind is updated +p_histCapFac(tall,all_regi,"windon") $ (p_histCapFac(tall,all_regi,"windon") eq 0) = p_histCapFac(tall,all_regi,"wind"); +p_histCapFac(tall,all_regi,"wind") = 0; + + +*** Capacity factor for wind and solar +*** Effective capacity factor pm_dataren("nur") * pm_cf scales from historical values in 2015 to grade-based values in 2030 +*** pm_dataren("nur",rlf) is the capacity factor of a given rlf grade +*** pm_cf is a multiplier that scales linearly from p_aux_capacityFactorHistOverREMIND in 2015 to 1 in 2030 +*** This scaling accounts for lag effects, for instance turbines in the 2000s were much smaller hence yielding lower capacity factors +p_aux_capacityFactorHistOverREMIND(regi,teVRE) = 1; +p_aux_capacityFactorHistOverREMIND(regi,teVRE) $ (p_histCapFac("2015",regi,teVRE) and p_avCapFac2015(regi,teVRE)) = + p_histCapFac("2015",regi,teVRE) / p_avCapFac2015(regi,teVRE); + +loop(t $ (t.val ge 2015 AND t.val lt 2030), + pm_cf(t,regi,teVRE) = + pm_cf(t,regi,teVRE) !! always 1 for VRE in f_cf, but could be modified by modules + * ( (2030 - pm_ttot_val(t)) * p_aux_capacityFactorHistOverREMIND(regi,teVRE) + + (pm_ttot_val(t) - 2015) + ) / (2030 - 2015) ); -$endif.WindOff - -$ifthen.WindOff %cm_wind_offshore% == "1" -loop(te$(sameas(te,"wind") OR sameas(te,"windoff")), -loop(t$(t.val ge 2015 AND t.val le 2035 ), -pm_cf(t,regi,te) = -(2035 - pm_ttot_val(t)) / 20 * p_aux_capacityFactorHistOverREMIND(regi,te) *pm_cf(t,regi,te) -+ -(pm_ttot_val(t) - 2015) / 20 * pm_cf(t,regi,te) -); -); -$endif.WindOff +*CG* set storage and grid of windoff to be the same as windon +pm_cf(t,regi,"storwindoff") = pm_cf(t,regi,"storwindon"); +pm_cf(t,regi,"gridwindoff") = pm_cf(t,regi,"gridwindon"); -*CG* set storage and grid of windoff to be the same as windon -$ifthen.WindOff %cm_wind_offshore% == "1" -pm_cf(t,regi,"storwindoff") = pm_cf(t,regi,"storwind"); -pm_cf(t,regi,"gridwindoff") = pm_cf(t,regi,"gridwind"); -$endif.WindOff - -p_aux_capacityFactorHistOverREMIND(regi,"spv")$p_avCapFac2015(regi,"spv") = p_histCapFac("2015",regi,"spv") / p_avCapFac2015(regi,"spv"); -pm_cf("2015",regi,"spv") = pm_cf("2015",regi,"spv") * p_aux_capacityFactorHistOverREMIND(regi,"spv"); -pm_cf("2020",regi,"spv") = pm_cf("2020",regi,"spv") * (p_aux_capacityFactorHistOverREMIND(regi,"spv")+1)/2; -pm_cf("2025",regi,"spv") = pm_cf("2025",regi,"spv") * (p_aux_capacityFactorHistOverREMIND(regi,"spv")+3)/4; - -*** RP rescale CSP capacity factors in REMIND - in the DLR resource data input files, the numbers are based on a SM3/12h setup, while the cost data from IEA seems rather based on a SM2/6h setup (with 40% average CF) -*** Accordingly, decrease CF in REMIND to 2/3 of the DLR values (no need to correct maxprod, as here no miscalculation of total energy yield takes place, in contrast to wind) -loop(te$sameas(te,"csp"), - pm_dataren(regi,"nur",rlf,te) = pm_dataren(regi,"nur",rlf,te) * 2/3 ; -); -display p_aux_capacityFactorHistOverREMIND, pm_dataren; +display p_aux_capacityFactorHistOverREMIND, pm_dataren, pm_cf; *** FS: sensitivity scenarios for renewable potentials @@ -1121,7 +1150,7 @@ $endif.VREPot_Factor pm_dataeta(tall,regi,te) = f_dataetaglob(tall,te); -*RP* 20100620 adjust which technologies have time-varying etas +*** adjust which technologies have time-varying etas display f_dataetaglob; display teEtaIncr; loop(te, @@ -1141,7 +1170,7 @@ $offdelim ***----------------------------------------------------------------------------- *** adjustment cost parameter ***----------------------------------------------------------------------------- -***RP 20100531 import regional offset for adjustment cost calculations +*** import regional offset for adjustment cost calculations parameter p_adj_deltacapoffset(tall,all_regi,all_te) "adjustment cost offset to prevent delay of capacity addition" / $ondelim @@ -1151,9 +1180,11 @@ $offdelim ; p_adj_deltacapoffset("2015",regi,"tnrs")= 1; -$ifthen.WindOff %cm_wind_offshore% == "1" -p_adj_deltacapoffset(t,regi,"windoff")= p_adj_deltacapoffset(t,regi,"wind"); -$endif.WindOff +*** windoffshore-todo +*** allow input data with either "wind" or "windon" until mrremind is updated +p_adj_deltacapoffset(t,regi,"windon") $ (p_adj_deltacapoffset(t,regi,"windon") eq 0) = p_adj_deltacapoffset(t,regi,"wind"); +p_adj_deltacapoffset(t,regi,"windoff")= p_adj_deltacapoffset(t,regi,"windon"); +p_adj_deltacapoffset(t,regi,"wind") = 0; *** share of PE2SE capacities in 2005 depends on GDP-MER p_adj_seed_reg(t,regi) = pm_gdp(t,regi) * 1e-4; @@ -1166,21 +1197,21 @@ loop(ttot$(ttot.val ge 2005), p_adj_seed_te(ttot,regi,"hydro") = 0.25; p_adj_seed_te(ttot,regi,"csp") = 0.25; p_adj_seed_te(ttot,regi,"spv") = 2.00; + p_adj_seed_te(ttot,regi,"windoff") = 0.5; p_adj_seed_te(ttot,regi,"gasftrec") = 0.25; p_adj_seed_te(ttot,regi,"gasftcrec") = 0.25; p_adj_seed_te(ttot,regi,"coalftrec") = 0.25; p_adj_seed_te(ttot,regi,"coalftcrec") = 0.25; p_adj_seed_te(ttot,regi,"coaltr") = 4.00; p_adj_seed_te(ttot,regi,'dac') = 0.25; - p_adj_seed_te(ttot,regi,'geohe') = 0.33; + p_adj_seed_te(ttot,regi,'oae_ng') = 0.25; + p_adj_seed_te(ttot,regi,'oae_el') = 0.25; $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" p_adj_seed_te(ttot,regi,"bfcc") = 0.05; p_adj_seed_te(ttot,regi,"idrcc") = 0.05; $endif.cm_subsec_model_steel - -$ifthen.WindOff %cm_wind_offshore% == "1" - p_adj_seed_te(ttot,regi,"windoff") = 0.5; -$endif.WindOff + p_adj_seed_te(ttot,regi,"MeOH") = 0.5; + p_adj_seed_te(ttot,regi,"h22ch4") = 0.5; *RP: for comparison of different technologies: *** pm_conv_cap_2_MioLDV <- 650 # The world has slightly below 800million cars in 2005 (IEA TECO2), so with a global vm_cap of 1.2, this gives ~650 @@ -1206,21 +1237,23 @@ $endif.WindOff p_adj_coeff(ttot,regi,teCCS) = 1.0; p_adj_coeff(ttot,regi,"ccsinje") = 1.0; p_adj_coeff(ttot,regi,"spv") = 0.15; - p_adj_coeff(ttot,regi,"wind") = 0.25; - p_adj_coeff(ttot,regi,"geohe") = 0.6; + p_adj_coeff(ttot,regi,"windon") = 0.25; + p_adj_coeff(ttot,regi,"windoff") = 0.35; $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" p_adj_coeff(ttot,regi,"bfcc") = 1.0; p_adj_coeff(ttot,regi,"idrcc") = 1.0; $endif.cm_subsec_model_steel -$ifthen.WindOff %cm_wind_offshore% == "1" - - p_adj_coeff(ttot,regi,"windoff") = 0.35; -$endif.WindOff - p_adj_coeff(ttot,regi,"dac") = 0.8; + p_adj_coeff(ttot,regi,'oae_ng') = 0.8; + p_adj_coeff(ttot,regi,'oae_el') = 0.8; p_adj_coeff(ttot,regi,teGrid) = 0.3; p_adj_coeff(ttot,regi,teStor) = 0.05; + + p_adj_coeff(ttot,regi,"MeOH") = 0.5; + p_adj_coeff(ttot,regi,"h22ch4") = 0.5; + + ); ***Rescaling adj seed and coeff if adj cost multiplier switches are on @@ -1331,7 +1364,6 @@ if(c_macscen eq 2, if(c_macscen eq 1, pm_macSwitch(emiMacSector) = 1; ); -*pm_macCostSwitch(enty)=pm_macSwitch(enty); *** for NDC and NPi switch off landuse MACs $if %carbonprice% == "off" pm_macSwitch(emiMacMagpie) = 0; @@ -1340,15 +1372,14 @@ $if %carbonprice% == "NPi" pm_macSwitch(emiMacMagpie) = 0; *** Load historical carbon prices defined in $/t CO2, need to be rescaled to right unit pm_taxCO2eq(ttot,regi)$(ttot.val le 2020) = 0; -parameter f_taxCO2eqHist(ttot,all_regi) "historic CO2 prices ($/tCO2)" +parameter fm_taxCO2eqHist(ttot,all_regi) "historic CO2 prices [$/tCO2]" / $ondelim $include "./core/input/pm_taxCO2eqHist.cs4r" $offdelim / ; -pm_taxCO2eq(ttot,regi)$(ttot.val le 2020) = f_taxCO2eqHist(ttot,regi) * sm_DptCO2_2_TDpGtC; - +pm_taxCO2eq(ttot,regi)$(ttot.val le 2020) = fm_taxCO2eqHist(ttot,regi) * sm_DptCO2_2_TDpGtC; *DK* LU emissions are abated in MAgPIE in coupling mode *** An alternative to the approach below could be to introduce a new value for c_macswitch that only deactivates the LU MACs @@ -1489,31 +1520,6 @@ pm_incinerationRate(ttot,all_regi)=f_incinerationShares(ttot,all_regi); *** the differences are cancelled out here!!! pm_cesdata(ttot,regi,in,"offset_quantity")$(ttot.val ge 2005) = 0; -*** ----- MAGICC RCP scenario emission data ----------------------------------- -*** load default values from the scenario depending on cm_rcp_scen -*** (0): no RCP scenario, standard setting -*** (1): RCP2.6 - this only works with emiscen = 8 -*** (2): RCP3.7 - this only works with emiscen = 5 -*** (3): RCP4.5 - this only works with emiscen = 5 -*** (4): RCP6.0 - this only works with emiscen = 5 -*** (5): RCP8.5 - this only works with emiscen = 5 -*** (6): RCP2.0 - this only works with emiscen = 8 - -$include "./core/magicc/magicc_scen_bau.inc"; -$include "./core/magicc/magicc_scen_450.inc"; -$include "./core/magicc/magicc_scen_550.inc"; - -*** ----- Parameters needed for MAGICC ---------------------------------------- - -table p_regi_2_MAGICC_regions(all_regi,RCP_regions_world_bunkers) "map REMIND to MAGICC regions" -$ondelim -$include "./core/input/p_regi_2_MAGICC_regions.cs3r" -$offdelim -; -p_regi_2_MAGICC_regions(regi,"WORLD") = 1; -p_regi_2_MAGICC_regions(regi,"BUNKERS") = 0; -display p_regi_2_MAGICC_regions ; - ***----------------------------------------------------------------- *RP* vintages ***----------------------------------------------------------------- @@ -1521,11 +1527,6 @@ table p_vintage_glob_in(opTimeYr,all_te) "read-in of global historical v $include "./core/input/generisdata_vintages.prn" ; -*CG* wind offshore has the same vintage structure as onshore -$ifthen.WindOff %cm_wind_offshore% == "1" -p_vintage_glob_in(opTimeYr,"windoff") = p_vintage_glob_in(opTimeYr,"wind"); -$endif.WindOff - pm_vintage_in(regi,opTimeYr,te) = p_vintage_glob_in(opTimeYr,te); *RP* 2015-12-09: make sure that all technologies have a pm_vintage_in value > 0 in 2005. If a technology should not be built, this is modeled by @@ -1538,8 +1539,6 @@ loop(te, ); -*** -------- initial declaration of parameters for iterative target adjustment -o_reached_until2150pricepath(iteration) = 0; *** ---- FE demand trajectories for calibration ------------------------------- *** also used for limiting secondary steel demand in baseline and policy @@ -1568,10 +1567,19 @@ $include "./core/input/f_fedemand_build.cs4r" $offdelim /; -pm_fedemand(t,regi,cal_ppf_buildings_dyn36) = - f_fedemand_build(t,regi,"%cm_demScen%","%cm_rcp_scen_build%",cal_ppf_buildings_dyn36); +pm_fedemand(t,regi,cal_ppf_buildings_dyn36) = f_fedemand_build(t,regi,"%cm_demScen%","%cm_rcp_scen_build%",cal_ppf_buildings_dyn36); $endif.cm_rcp_scen_build + +*** Scale FE demand across industry and building sectors +$ifthen.scaleDemand not "%cm_scaleDemand%" == "off" + loop((tall,tall2,all_regi) $ pm_scaleDemand(tall,tall2,all_regi), +*FL* rescaled demand = normal demand * [ scaling factor + (1-scaling factor) * remaining phase-in, between zero and one ] + pm_fedemand(t,all_regi,all_in) = pm_fedemand(t,all_regi,all_in) * ( pm_scaleDemand(tall,tall2,all_regi) + (1-pm_scaleDemand(tall,tall2,all_regi)) * min(1, max(0, tall2.val-t.val) / (tall2.val-tall.val)) ); + ); +$endif.scaleDemand + + *** initialize global target deviation scalar sm_globalBudget_dev = 1; diff --git a/core/declarations.gms b/core/declarations.gms index bf7d76972..a9b53180f 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -19,6 +19,7 @@ parameters ***prices pm_pvp(ttot,all_enty) "Price on commodity markets", p_pvpRef(ttot,all_enty) "Price on commodity markets - imported from REF gdx", +pm_ies(all_regi) "intertemporal elasticity of substitution", p_pvpRegiBeforeStartYear(ttot,all_regi,all_enty) "prices of traded commodities before start year - regional. only used for permit trade" @@ -28,11 +29,9 @@ pm_gdp_gdx(tall,all_regi) "GDP path from gdx, updated p_inv_gdx(tall,all_regi) "macro-investments path from gdx, updated iteratively." pm_taxCO2eq(ttot,all_regi) "CO2 tax path in T$/GtC = $/kgC. To get $/tCO2, multiply with 272 [T$/GtC]" pm_taxCO2eqRegi(tall,all_regi) "additional regional CO2 tax path in T$/GtC = $/kgC. To get $/tCO2, multiply with 272 [T$/GtC]" +pm_taxCO2eq_anchor_iterationdiff(ttot) "help parameter for iterative adjustment of taxes" +pm_taxCO2eq_anchor_iterationdiff_tmp(ttot) "help parameter for iterative adjustment of taxes" pm_taxCO2eqSum(tall,all_regi) "sum of pm_taxCO2eq, pm_taxCO2eqRegi, pm_taxCO2eqSCC in T$/GtC = $/kgC. To get $/tCO2, multiply with 272 [T$/GtC]" -p_taxCO2eq_iteration(iteration,ttot,all_regi) "save CO2eq tax used in iteration" -pm_taxCO2eq_iterationdiff(ttot,all_regi) "help parameter for iterative adjustment of taxes" -pm_taxCO2eq_iterationdiff_tmp(ttot,all_regi) "help parameter for iterative adjustment of taxes" -o_taxCO2eq_iterDiff_Itr(iteration,all_regi) "track p_taxCO2eq_iterationdiff over iterations" pm_taxemiMkt(ttot,all_regi,all_emiMkt) "CO2 or CO2eq region and emission market specific emission tax" pm_taxemiMkt_iteration(iteration,ttot,all_regi,all_emiMkt) "CO2 or CO2eq region and emission market specific emission tax per iteration" pm_emissionsForeign(tall,all_regi,all_enty) "total emissions of other regions (nash relevant)" @@ -51,21 +50,6 @@ pm_esCapCost(tall,all_regi,all_teEs) "Capital energy cost per un pm_cesdata_sigma(ttot,all_in) "elasticities of substitution." p_r(ttot,all_regi) "calculating capital interest rate" -o_diff_to_Budg(iteration) "Difference between actual CO2 budget and target CO2 budget" -o_totCO2emi_peakBudgYr(iteration) "Total CO2 emissions in the peakBudgYr" -o_peakBudgYr_Itr(iteration) "Year in which the CO2 budget is supposed to peak. Is changed in iterative_target_adjust = 9" -o_factorRescale_taxCO2_afterPeakBudgYr(iteration) "Multiplicative factor for rescaling the CO2 price in the year after peakBudgYr - only needed if flip-flopping of peakBudgYr occurs" -o_delay_increase_peakBudgYear(iteration) "Counter that tracks if flip-flopping of peakBudgYr happened. Starts an inner loop to try and overcome this" -o_reached_until2150pricepath(iteration) "Counter that tracks if the inner loop of increasing the CO2 price AFTER peakBudgYr goes beyond the initial trajectory" -p_taxCO2eq_until2150(ttot,all_regi) "CO2 price trajectory continued until 2150 - as if there was no change in trajectory after peakBudgYr. Needed to recalculate CO2 price trajectory after peakBudgYr was shifted right" -o_totCO2emi_allYrs(ttot,iteration) "Global CO2 emissions over time and iterations. Needed to check the procedure to find the peakBudgYr" -o_change_totCO2emi_peakBudgYr "Measure for how much the CO2 emissions change around the peakBudgYr" -p_factorRescale_taxCO2(iteration) "Multiplicative factor for rescaling the CO2 price to reach the target" -p_factorRescale_taxCO2_Funneled(iteration) "Multiplicative factor for rescaling the CO2 price to reach the target - limited by an iteration-dependent funnel" -o_taxCO2eq_Itr_1regi(ttot,iteration) "CO2 taxed in the last region, tracked over iterations for debugging" -o_pkBudgYr_flipflop(iteration) "Counter that tracks if flipfloping of c_peakBudgYr occured in the last iterations" -o_taxCO2eq_afterPeakShiftLoop_Itr_1regi(ttot, iteration) "CO2 taxed in the last region, after the loop that shifts peakBudgYr, tracked over iterations for debugging" - ***---------------------------------------------------------------------------------------- ***-----------------------------------------------ESM module------------------------------- pm_emiExog(tall,all_regi,all_enty) "exogenous emissions" @@ -83,9 +67,9 @@ pm_macCost(tall,all_regi,all_enty) "abatement costs for all em pm_macStep(tall,all_regi,all_enty) "step number of abatement level [integer]" pm_macSwitch(all_enty) "switch to include mac option in the code" pm_macCostSwitch(all_enty) "switch to include mac costs in the code (e.g. in coupled scenarios, we want to include the costs in REMIND, but MAC effects on emissions are calculated in MAgPIE)" -p_priceCO2(tall,all_regi) "carbon price [$/tC]" -pm_priceCO2forMAC(tall,all_regi,all_enty) "carbon price defined for MAC gases [$/tC]" -p_priceGas(tall,all_regi) "gas price in [$/tCeq] for ch4gas MAC" +p_priceCO2(tall,all_regi) "carbon price [$/tC]" +pm_priceCO2forMAC(tall,all_regi,all_enty) "carbon price defined for MAC gases [$/tC]" +p_priceGas(tall,all_regi) "gas price for ch4gas MAC [$/tCeq]" pm_ResidualCementDemand(tall,all_regi) "reduction in cemend demand (and thus process emissions) due to climate policy [0...1]" pm_CementAbatementPrice(ttot,all_regi) "CO2 price used during calculation of cement demand reduction [$/tCO2]" pm_CementDemandReductionCost(tall,all_regi) "cost of reducing cement demand [tn$2005]" @@ -111,9 +95,21 @@ p_techEarlyRetiRate(ext_regi,all_te) "Technology specific early $ENDIF.tech_earlyreti pm_regiEarlyRetiRate(ttot,all_regi,all_te) "regional early retirement rate (model native regions)" +p_maxRegTechCost2015(all_te) "highest historical regional tech cost in 2015" +p_maxRegTechCost2020(all_te) "highest historical regional tech cost in 2020" +p_oldFloorCostdata(all_regi,all_te) "print old floor cost data" +p_newFloorCostdata(all_regi,all_te) "print new floor cost data" +p_gdppcap2050_PPP(all_regi) "regional GDP PPP per capita in 2050" +p_maxPPP2050 "maximum income GDP PPP among regions in 2050" +p_maxSpvCost "maximum spv investment cost among regions" + +$ifthen.tech_CO2capturerate not "%c_tech_CO2capturerate%" == "off" +p_tech_co2capturerate(all_te) "Technology specific CO2 capture rate" / %c_tech_CO2capturerate% / +p_PECarriers_CarbonContent(all_enty) "Carbon content of PE carriers [GtC/TWa]" +$endif.tech_CO2capturerate + pm_EN_demand_from_initialcap2(all_regi,all_enty) "PE demand resulting from the initialcap routine. [EJ, Uranium: MT U3O8]" pm_budgetCO2eq(all_regi) "budget for regional energy-emissions in period 1" -p_actualbudgetco2(tall) "actual level of cumulated emissions starting from 2020 [GtCO2]" pm_dataccs(all_regi,char,rlf) "maximum CO2 storage capacity using CCS technology. [GtC]" pm_ccsinjecrate(all_regi) "Regional CCS injection rate factor. 1/a." @@ -131,17 +127,17 @@ p_ef_dem(all_regi,all_enty) "Demand side emissio pm_secBioShare(ttot,all_regi,all_enty,emi_sectors) "share of biomass per carrier for each sector" p_avCapFac2015(all_regi,all_te) "average capacity factor of non-bio renewables in 2015 in REMIND" -p_aux_capToDistr(all_regi,all_te) "aux. param. to calculate p_avCapFac2015; The historic capacity in 2015" -s_aux_cap_remaining "aux. param. to calculate p_avCapFac2015; countdown parameter" -p_aux_capThisGrade(all_regi,all_te,rlf) "aux. param. to calculate p_avCapFac2015; How the historic 2015 capacity is distributed among grades" -p_aux_capacityFactorHistOverREMIND(all_regi,all_te) "aux. param. to calculate capacity factors correction (wind and spv): the ratio of historic over REMIND CapFac in 2015" -p_aux_scaleEmiHistorical_n2o(all_regi) "aux. param. to rescale MAgPIE n2o emissions to historical values" -p_aux_scaleEmiHistorical_ch4(all_regi) "aux. param. to rescale MAgPIE ch4 emissions to historical values" - -$IFTHEN.WindOff %cm_wind_offshore% == "1" -pm_shareWindPotentialOff2On(all_regi) "ratio of technical potential of windoff to windon" -pm_shareWindOff(ttot,all_regi) "windoff rollout as a fraction of technical potential" -$ENDIF.WindOff +p_aux_capToDistr(all_regi,all_te) "auxiliary parameter to calculate p_avCapFac2015; The historic capacity in 2015" +s_aux_cap_remaining "auxiliary parameter to calculate p_avCapFac2015; countdown parameter" +p_aux_capThisGrade(all_regi,all_te,rlf) "auxiliary parameter to calculate p_avCapFac2015; How the historic 2015 capacity is distributed among grades" +p_aux_capacityFactorHistOverREMIND(all_regi,all_te) "auxiliary parameter to calculate capacity factors correction (wind and spv): the ratio of historic over REMIND CapFac in 2015" + +p_aux_scaleEmiHistorical_n2o(all_regi) "auxiliary parameter to rescale MAgPIE n2o emissions to historical values" +p_aux_scaleEmiHistorical_ch4(all_regi) "auxiliary parameter to rescale MAgPIE ch4 emissions to historical values" + +*** windoffshore-todo +pm_shareWindPotentialOff2On(all_regi) "ratio of technical potential of windoff to windon" +pm_shareWindOff(ttot,all_regi) "windoff rollout as a fraction of technical potential" pm_fe2es(tall,all_regi,all_teEs) "Conversion factor from final energies to energy services. Default is 1." @@ -149,6 +145,8 @@ pm_shFeCes(ttot,all_regi,all_enty,all_in,all_teEs) "Final energy shares for CE pm_shfe_up(ttot,all_regi,all_enty,emi_sectors) "Final energy shares exogenous upper bounds per sector" pm_shfe_lo(ttot,all_regi,all_enty,emi_sectors) "Final energy shares exogenous lower bounds per sector" +p_shSeFe(ttot,all_regi,all_enty) "Initial share of energy carrier subtype in final energy demand of the aggregated carrier type (eg 'the share of bio-based FE liquids in all FE liquids') [0..1]" +p_shSeFeSector(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "Initial share of energy carrier subtype in final energy demand of the aggregated carrier type for each sector/emiMarket combination (eg 'bio-based FE liquids share in all FE liquids within ETS transport') [0..1]" pm_shGasLiq_fe_up(ttot,all_regi,emi_sectors) "Final energy gases plus liquids shares exogenous upper bounds per sector" pm_shGasLiq_fe_lo(ttot,all_regi,emi_sectors) "Final energy gases plus liquids shares exogenous lower bounds per sector" @@ -177,11 +175,15 @@ $ifthen.VREPot_Factor not "%c_VREPot_Factor%" == "off" p_VREPot_Factor(all_te) "Rescale factor for renewable potentials" / %c_VREPot_Factor% / $endif.VREPot_Factor +$ifthen.scaleDemand not "%cm_scaleDemand%" == "off" + pm_scaleDemand(tall,tall,all_regi) "Rescaling factor on final energy and usable energy demand, for selected regions and over a phase-in window." / %cm_scaleDemand% / +$endif.scaleDemand + p_boundtmp(tall,all_regi,all_te,rlf) "read-in bound on capacities" p_bound_cap(tall,all_regi,all_te,rlf) "read-in bound on capacities" pm_data(all_regi,char,all_te) "Large array for most technical parameters of technologies; more detail on the individual technical parameters can be found in the declaration of the set 'char' " pm_cf(tall,all_regi,all_te) "Installed capacity availability - capacity factor (fraction of the year that a plant is running)" -p_tkpremused(all_regi,all_te) "turn-key cost premium used in the model (with a discount rate of 3+ pure rate of time preference); in comparison to overnight costs)" +p_tkpremused(all_regi,all_te) "turn-key cost premium used in the model (with a discount rate of 3+ pure rate of time preference); in comparison to overnight costs)" p_aux_tlt(all_te) "auxilliary parameter to determine maximal lifetime of a technology" p_aux_check_omeg(all_te) "auxiliary parameter for an automated check that no technology is erroneously entered with pm_omeg('1') value of 0" p_aux_check_tlt(all_te) "auxiliary parameter for an automated check that the pm_omeg calculation and filling of the opTimeYr2te mapping is in accordance" @@ -192,7 +194,7 @@ p_efFossilFuelExtrGlo(all_enty,all_enty) "global emission factor for pm_dataren(all_regi,char,rlf,all_te) "Array including both regional renewable potential and capacity factor" p_datapot(all_regi,char,rlf,all_enty) "Total land area usable for the solar technologies PV and CSP. [km^2]" p_adj_seed_reg(tall,all_regi) "market capacity that can be built from 0 and gives v_adjFactor=1" -p_adj_seed_te(ttot,all_regi,all_te) "technology-dependent multiplicative prefactor to the v_adjFactor seed value. Smaller means slower scale-up" +p_adj_seed_te(ttot,all_regi,all_te) "technology-dependent multiplicative prefactor to the v_adjFactor seed value. Smaller means slower scale-up" *** appears in q_esm2macro and q_balFeForCes. This energy category is 0 in LAM, IND and AFR in 2005, but a value > 0 is needed for the calculation of CES parameters. *** Accordingly, a value of sm_eps is inserted in pm_cesdata to allow calculation of the CES parameters. p_datacs(all_regi,all_enty) "fossil energy that is not oxidized (=carbon stored)" @@ -209,7 +211,7 @@ p_capCum(tall, all_regi,all_te) "vm_capCum from input.gdx f pm_capCumForeign(ttot,all_regi,all_te) "parameter for learning externality (cumulated capacity of other regions except regi)" pm_SolNonInfes(all_regi) "model status from last iteration. 1 means status 2 or 7, 0 for all other status codes" -pm_cintraw(all_enty) "carbon intensity of fossils [GtC per TWa]" +pm_cintraw(all_enty) "carbon intensity of fossils [GtC per TWa]" p_CapFixFromRWfix(ttot,all_regi,all_te) "parameter for fixing capacity variable to Real-World values in 2010/2015" p_deltaCapFromRWfix(ttot,all_regi,all_te) "parameter with resulting deltacap values resulting from fixing capacity to real-world values in 2010/2015" @@ -233,29 +235,29 @@ p_co2CCSReference(ttot,all_regi,all_enty,all_enty,all_te,rlf) "Captured CO2 p_prodAllReference(ttot,all_regi,all_te) "Sum of the above in the reference run. As each te has only one type of output, the differing units should not be a problem" -* Energy carrier Prices -pm_FEPrice(ttot,all_regi,all_enty,sector,emiMkt) "parameter to capture all FE prices across sectors and markets (tr$2005/TWa)" -pm_FEPrice_iter(iteration,ttot,all_regi,all_enty,sector,emiMkt) "parameter to capture all FE prices across sectors and markets (tr$2005/TWa) across iterations" -pm_SEPrice(ttot,all_regi,all_enty) "parameter to capture all SE prices (tr$2005/TWa)" -pm_PEPrice(ttot,all_regi,all_enty) "parameter to capture all PE prices (tr$2005/TWa)" - -p_FEPrice_by_SE_Sector_EmiMkt(ttot,all_regi,entySe,all_enty,sector,emiMkt) "parameter to save FE price per SE, sector and emission market (tr$2005/TWa)" -p_FEPrice_by_Sector_EmiMkt(ttot,all_regi,all_enty,sector,emiMkt) "parameter to save FE marginal price per sector and emission market (tr$2005/TWa)" -pm_FEPrice_by_SE_Sector(ttot,all_regi,entySe,all_enty,sector) "parameter to save FE marginal price per SE and sector (tr$2005/TWa)" -p_FEPrice_by_SE_EmiMkt(ttot,all_regi,entySe,all_enty,emiMkt) "parameter to save FE marginal price per SE and emission market (tr$2005/TWa)" -p_FEPrice_by_SE(ttot,all_regi,entySe,all_enty) "parameter to save FE marginal price per SE (tr$2005/TWa)" -p_FEPrice_by_Sector(ttot,all_regi,all_enty,sector) "parameter to save FE marginal price per sector (tr$2005/TWa)" -p_FEPrice_by_EmiMkt(ttot,all_regi,all_enty,emiMkt) "parameter to save FE marginal price per emission market (tr$2005/TWa)" -p_FEPrice_by_FE(ttot,all_regi,all_enty) "parameter to save FE marginal price (tr$2005/TWa)" - -p_FEPrice_by_SE_Sector_EmiMkt_iter(iteration,ttot,all_regi,entySe,all_enty,sector,emiMkt) "parameter to save iteration FE marginal price per SE, sector and emission market (tr$2005/TWa)" -p_FEPrice_by_Sector_EmiMkt_iter(iteration,ttot,all_regi,all_enty,sector,emiMkt) "parameter to save iteration FE marginal price per sector and emission market (tr$2005/TWa)" -p_FEPrice_by_SE_Sector_iter(iteration,ttot,all_regi,entySe,all_enty,sector) "parameter to save iteration FE marginal price per SE and sector (tr$2005/TWa)" -p_FEPrice_by_SE_EmiMkt_iter(iteration,ttot,all_regi,entySe,all_enty,emiMkt) "parameter to save iteration FE marginal price per SE and emission market (tr$2005/TWa)" -p_FEPrice_by_SE_iter(iteration,ttot,all_regi,entySe,all_enty) "parameter to save iteration FE marginal price per SE (tr$2005/TWa)" -p_FEPrice_by_Sector_iter(iteration,ttot,all_regi,all_enty,sector) "parameter to save iteration FE marginal price per sector (tr$2005/TWa)" -p_FEPrice_by_EmiMkt_iter(iteration,ttot,all_regi,all_enty,emiMkt) "parameter to save iteration FE marginal price per emission market (tr$2005/TWa)" -p_FEPrice_by_FE_iter(iteration,ttot,all_regi,all_enty) "parameter to save iteration FE marginal price (tr$2005/TWa)" +*** Energy carrier Prices +pm_FEPrice(ttot,all_regi,all_enty,sector,emiMkt) "parameter to capture all FE prices across sectors and markets [tr$2005/TWa]" +pm_FEPrice_iter(iteration,ttot,all_regi,all_enty,sector,emiMkt) "parameter to capture all FE prices across sectors and markets [tr$2005/TWa] across iterations" +pm_SEPrice(ttot,all_regi,all_enty) "parameter to capture all SE prices [tr$2005/TWa]" +pm_PEPrice(ttot,all_regi,all_enty) "parameter to capture all PE prices [tr$2005/TWa]" + +p_FEPrice_by_SE_Sector_EmiMkt(ttot,all_regi,entySe,all_enty,sector,emiMkt) "parameter to save FE price per SE, sector and emission market [tr$2005/TWa]" +p_FEPrice_by_Sector_EmiMkt(ttot,all_regi,all_enty,sector,emiMkt) "parameter to save FE marginal price per sector and emission market [tr$2005/TWa]" +pm_FEPrice_by_SE_Sector(ttot,all_regi,entySe,all_enty,sector) "parameter to save FE marginal price per SE and sector [tr$2005/TWa]" +p_FEPrice_by_SE_EmiMkt(ttot,all_regi,entySe,all_enty,emiMkt) "parameter to save FE marginal price per SE and emission market [tr$2005/TWa]" +p_FEPrice_by_SE(ttot,all_regi,entySe,all_enty) "parameter to save FE marginal price per SE [tr$2005/TWa]" +p_FEPrice_by_Sector(ttot,all_regi,all_enty,sector) "parameter to save FE marginal price per sector [tr$2005/TWa]" +p_FEPrice_by_EmiMkt(ttot,all_regi,all_enty,emiMkt) "parameter to save FE marginal price per emission market [tr$2005/TWa]" +p_FEPrice_by_FE(ttot,all_regi,all_enty) "parameter to save FE marginal price [tr$2005/TWa]" + +p_FEPrice_by_SE_Sector_EmiMkt_iter(iteration,ttot,all_regi,entySe,all_enty,sector,emiMkt) "parameter to save iteration FE marginal price per SE, sector and emission market [tr$2005/TWa]" +p_FEPrice_by_Sector_EmiMkt_iter(iteration,ttot,all_regi,all_enty,sector,emiMkt) "parameter to save iteration FE marginal price per sector and emission market [tr$2005/TWa]" +p_FEPrice_by_SE_Sector_iter(iteration,ttot,all_regi,entySe,all_enty,sector) "parameter to save iteration FE marginal price per SE and sector [tr$2005/TWa]" +p_FEPrice_by_SE_EmiMkt_iter(iteration,ttot,all_regi,entySe,all_enty,emiMkt) "parameter to save iteration FE marginal price per SE and emission market [tr$2005/TWa]" +p_FEPrice_by_SE_iter(iteration,ttot,all_regi,entySe,all_enty) "parameter to save iteration FE marginal price per SE [tr$2005/TWa]" +p_FEPrice_by_Sector_iter(iteration,ttot,all_regi,all_enty,sector) "parameter to save iteration FE marginal price per sector [tr$2005/TWa]" +p_FEPrice_by_EmiMkt_iter(iteration,ttot,all_regi,all_enty,emiMkt) "parameter to save iteration FE marginal price per emission market [tr$2005/TWa]" +p_FEPrice_by_FE_iter(iteration,ttot,all_regi,all_enty) "parameter to save iteration FE marginal price [tr$2005/TWa]" *** climate related pm_globalMeanTemperature(tall) "global mean temperature anomaly" @@ -266,9 +268,6 @@ pm_temperatureImpulseResponseCO2(tall,tall) "temperature impulse respon pm_taxCO2eqSCC(ttot,all_regi) "carbon tax component due to damages (social cost of carbon) " pm_GDPGross(tall,all_regi) "gross GDP (before damages)" -***---------------------------------------------------------------------------------------- -*** ----- Parameters needed for MAGICC ---------------------------------------------------- -p_MAGICC_emi(tall,RCP_regions_world_bunkers,emiRCP) "emission data to export" ***---------------------------------------------------------------------------------------- ***---------------------------parameter for output----------------------------------------- o_DirlcoCCS(ttot,all_regi,all_te) "Annuity per sequestered CO2 by CCS technology, calc. from investment costs and fixOM. [$/tCO2]" @@ -371,7 +370,7 @@ vm_esCapInv(ttot,all_regi,all_teEs) "investment for energy end vm_costEnergySys(ttot,all_regi) "energy system costs" vm_cap(tall,all_regi,all_te,rlf) "net total capacities" -vm_capDistr(tall,all_regi,all_te,rlf) "net capacities, distributed to the different grades for renewables" +v_capDistr(tall,all_regi,all_te,rlf) "net capacities, distributed to the different grades for renewables" vm_capTotal(ttot,all_regi,all_enty,all_enty) "total capacity without technology differentation for technologies where there exists differentation [TW]" vm_capFac(ttot,all_regi,all_te) "capacity factor of conversion technologies" vm_deltaCap(tall,all_regi,all_te,rlf) "capacity additions" @@ -397,26 +396,30 @@ vm_costAddTeInv(tall,all_regi,all_te,emi_sectors) "additional sector-specific vm_co2CCS(ttot,all_regi,all_enty,all_enty,all_te,rlf) "all different ccs. [GtC/a]" -vm_co2capture(ttot,all_regi,all_enty,all_enty,all_te,rlf) "all captured CO2. [GtC/a]" +v_co2capture(ttot,all_regi,all_enty,all_enty,all_te,rlf) "all captured CO2. [GtC/a]" v_co2capturevalve(ttot,all_regi) "CO2 emitted right after capture [GtC/a] (in q_balCCUvsCCS to account for different lifetimes of capture and CCU/CCS te and capacities)" v_prodUe (ttot,all_regi,all_enty,all_enty,all_te) "Useful energy production [TWa]" vm_capEarlyReti(tall,all_regi,all_te) "fraction of early retired capital" -vm_demSeOth(ttot,all_regi,all_enty,all_te) "other sety demand from certain technologies, have to calculated in additional equations [TWa]" -vm_prodSeOth(ttot,all_regi,all_enty,all_te) "other sety production from certain technologies, have to be calculated in additional equations [TWa]" +*** RLDC removal +v_demSeOth(ttot,all_regi,all_enty,all_te) "other sety demand from certain technologies, have to calculated in additional equations [TWa]" +v_prodSeOth(ttot,all_regi,all_enty,all_te) "other sety production from certain technologies, have to be calculated in additional equations [TWa]" v_shGreenH2(ttot,all_regi) "share of green hydrogen in all hydrogen by 2030 [0..1]" v_shBioTrans(ttot,all_regi) "Share of biofuels in transport liquids from 2025 onwards. Value between 0 and 1." v_shfe(ttot,all_regi,all_enty,emi_sectors) "share of final energy in sector total final energy [0..1]" +v_shSeFe(ttot,all_regi,all_enty) "share of energy carrier subtype in final energy demand of the aggregated carrier type (eg 'the share of bio-based FE liquids in all FE liquids') [0..1]" +v_shSeFeSector(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "share of energy carrier subtype in final energy demand of the aggregated carrier type per sector/emiMarket combination (eg 'the share of bio-based FE liquids in all FE liquids used in ETS-covered transport') [0..1]" v_shGasLiq_fe(ttot,all_regi,emi_sectors) "share of gases and liquids in sector final energy [0..1]" vm_emiCdrAll(ttot,all_regi) "all CDR emissions" vm_feedstockEmiUnknownFate(ttot,all_regi,all_enty,all_enty,all_emiMkt) "Carbon flow: carbon contained in feedstocks with unknown fate (not plastics)(assumed to go back into the atmosphere) [GtC]" vm_incinerationEmi(ttot,all_regi,all_enty,all_enty,all_emiMkt) "Emissions from incineration of plastic waste [GtC]" +vm_incinerationCCS(ttot,all_regi,all_enty,all_enty,all_emiMkt) "CCS from incineration of plastic waste [GtC]" vm_nonIncineratedPlastics(ttot,all_regi,all_enty,all_enty,all_emiMkt) "Carbon flow: carbon contained in plastics that are not incinerated [GtC]" v_changeProdStartyearAdj(ttot,all_regi,all_te) "Absolute effect size of changing output with respect to the reference run for each te" @@ -428,7 +431,17 @@ vm_demFeForEs(ttot,all_regi,all_enty,all_esty,all_teEs) "Final energy which vm_prodEs(ttot,all_regi,all_enty,all_esty,all_teEs) "Energy services (unit determined by conversion factor pm_fe2es)." vm_transpGDPscale(ttot,all_regi) "dampening factor to align edge-t non-energy transportation costs with historical GDP data" +$ifthen.seFeSectorShareDev not "%cm_seFeSectorShareDevMethod%" == "off" + v_penSeFeSectorShare(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "penalty cost for secondary energy share deviation between sectors, for each sector/emiMarket combination" + vm_penSeFeSectorShareDevCost(ttot,all_regi) "total penalty cost for secondary energy share deviation between sectors" +$endif.seFeSectorShareDev + +$ifthen.minMaxSeFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "minMaxAvrgShare" + v_NegPenSeFeSectorShare(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "min-max negative penalty for secondary energy share deviation in sectors" + v_PosPenSeFeSectorShare(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "min-max positive penalty for secondary energy share deviation in sectors" +$endif.minMaxSeFeSectorShareDev ; + ***---------------------------------------------------------------------------------------- *** EQUATIONS ***---------------------------------------------------------------------------------------- @@ -449,10 +462,9 @@ q_cap(tall,all_regi,all_te,rlf) "definition of available ca q_capDistr(tall,all_regi,all_te) "distribute available capacities across grades" q_capTotal(ttot,all_regi,all_enty,all_enty) "calculation of vm_capTotal as total capacity without technology differentation for technologies where there exists differentation" -$IFTHEN.WindOff %cm_wind_offshore% == "1" +*** windoffshore-todo q_windoff_low(tall,all_regi) "semi-endogenous offshore wind power generation as a share of onshore wind energy, which is proportional to more than half of maxprod ratio" q_windoff_high(tall,all_regi) "semi-endogenous offshore wind power generation as a share of onshore wind energy, which is proportional to less than twice of maxprod ratio" -$ENDIF.WindOff q_limitCapSe(ttot,all_regi,all_enty,all_enty,all_te) "capacity constraint for se production" q_limitCapSe2se(ttot,all_regi,all_enty,all_enty,all_te) "capacity constraint for se to se transformation" @@ -491,7 +503,7 @@ qm_co2eqCum(all_regi) "cumulate regional emission q_budgetCO2eqGlob "global emission budget balance" q_emiTeDetailMkt(ttot,all_regi,all_enty,all_enty,all_te,all_enty,all_emiMkt) "detailed energy specific emissions per region and market" -q_emiTeMkt(ttot,all_regi,all_enty,all_emiMkt) "total energy-emissions per region and market" +q_emiTeMkt(ttot,all_regi,all_enty,all_emiMkt) "total energy-emissions per region and market" q_emiEnFuelEx(ttot,all_regi,all_enty) "energy emissions from fuel extraction" q_emiAllMkt(ttot,all_regi,all_enty,all_emiMkt) "total regional emissions for each emission market" @@ -534,6 +546,8 @@ q_shGreenH2(ttot,all_regi) "share of green hydrogen in all hydrogen" q_shBioTrans(ttot,all_regi) "Define the share of biofuels in transport liquids from 2025 on." q_shfe(ttot,all_regi,all_enty,emi_sectors) "share of final energy carrier in the sector final energy" +q_shSeFe(ttot,all_regi,all_enty) "share of energy carrier subtype in final energy demand of the aggregated carrier type (eg 'the share of bio-based FE liquids in all FE liquids')" +q_shSeFeSector(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "share of energy carrier subtype in final energy demand of the aggregated carrier type for each sector/emiMarket combination (eg 'the share of bio-based FE liquids in all FE liquids within ETS-covered transport" q_shGasLiq_fe(ttot,all_regi,emi_sectors) "share of gases and liquids in sector final energy" q_shbiofe_up(ttot,all_regi,all_enty,emi_sectors,all_emiMkt) "share of biomass per carrier in sector final energy (upper bound)" @@ -547,9 +561,18 @@ $IFTHEN.sehe_upper not "%cm_sehe_upper%" == "off" q_heat_limit(ttot,all_regi) "equation to limit maximum level of secondary energy district heating and heat pumps use" $ENDIF.sehe_upper -***---------------------------------------------------------------------------------------- -***----------------------------------------------trade module------------------------------ +$ifthen.seFeSectorShareDev not "%cm_seFeSectorShareDevMethod%" == "off" + q_penSeFeSectorShareDevCost(ttot,all_regi) "total penalty cost for secondary energy share deviation in sectors" + q_penSeFeSectorShareDev(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "penalty for secondary energy share deviation in sectors" +$endif.seFeSectorShareDev +$ifthen.minMaxSeFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "minMaxAvrgShare" + q_minMaxPenSeFeSectorShareDev(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "min-max penalty balance for secondary energy share deviation in sectors" +$endif.minMaxSeFeSectorShareDev + +$ifthen.limitSolidsFossilRegi not %cm_limitSolidsFossilRegi% == "off" + q_fossilSolidsLimitReg(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "limit solids fossil to be lower or equal to previous year values in each (sector x emiMkt) combination" +$endif.limitSolidsFossilRegi ; ***---------------------------------------------------------------------------------------- *** SCALARS @@ -557,11 +580,6 @@ $ENDIF.sehe_upper scalars o_modelstat "critical solver status for solution" -***---------------------------------------------------------------------------------------- -***------------------------------------------------MACRO module---------------------------- - -***---------------------------------------------------------------------------------------- -***-----------------------------------------------ESM module------------------------------- pm_conv_TWa_EJ "conversion from TWa to EJ" /31.536/, sm_c_2_co2 "conversion from c to co2" /3.666666666667/, *** conversion factors of time units @@ -587,12 +605,16 @@ sm_dmac "step in MAC functions [US sm_macChange "maximum yearly increase of relative abatement in percentage points of maximum abatement. [0..1]" /0.05/ sm_tgn_2_pgc "conversion factor 100-yr GWP from TgN to PgCeq" sm_tgch4_2_pgc "conversion factor 100-yr GWP from TgCH4 to PgCeq" +s_MtCO2_2_GtC "conversion factor from MtCO2 to native REMIND emission unit GtC" /2.727e-04/ s_MtCH4_2_TWa "Energy content of methane. MtCH4 --> TWa: 1 MtCH4 = 1.23 * 10^6 toe * 42 GJ/toe * 10^-9 EJ/GJ * 1 TWa/31.536 EJ = 0.001638 TWa (BP statistical review)" /0.001638/ -sm_h2kg_2_h2kWh "convert kilogramme of hydrogen to kwh energy value." /32.5/ +s_D2015_2_D2017 "Convert US$2015 to US$2017" /1.0292/ +sm_D2005_2_D2017 "Convert US$2005 to US$2017" /1.231/ +sm_D2020_2_D2017 "Convert US$2020 to US$2017" /0.9469/ +sm_EURO2023_2_D2017 "Convert EURO 2023 to US$2017" /0.8915/ -s_D2015_2_D2005 "Convert $2015 to $2005 by dividing by 1.2: 1/1.2 = 0.8333" /0.8333/ +sm_h2kg_2_h2kWh "convert kilogramme of hydrogen to kwh energy value." /32.5/ sm_DptCO2_2_TDpGtC "Conversion multiplier to go from $/tCO2 to T$/GtC: 44/12/1000" /0.00366667/ s_co2pipe_leakage "Leakage rate of CO2 pipelines. [0..1]" @@ -601,30 +623,24 @@ s_c_so2 "constant, see S. Smith, 2 s_ccsinjecrate "CCS injection rate factor. [1/a]" s_t_start "start year of emission budget" -c_peakBudgYr "date of net-zero CO2 emissions for peak budget runs without overshoot" +cm_peakBudgYr "date of net-zero CO2 emissions for peak budget runs without overshoot" sm_endBudgetCO2eq "end time step of emission budget period 1" sm_budgetCO2eqGlob "budget for global energy-emissions in period 1" p_emi_budget1_gdx "budget for global energy-emissions in period 1 from gdx, may overwrite default values" -s_actualbudgetco2 "actual level of 2020-2100 cumulated emissions, including all CO2 for last iteration" -s_actualbudgetco2_last "actual level of 2020-2100 cumulated emissions for previous iteration" /0/ - sm_globalBudget_dev "actual level of global cumulated emissions budget divided by target budget" sm_eps "small number: 1e-9 " /1e-9/ sm_CES_calibration_iteration "current calibration iteration number, loaded from environment variable cm_CES_calibration_iteration" /0/ - -***---------------------------------------------------------------------------------------- -***----------------------------------------------trade module------------------------------ ; +sm_dmac = sm_D2005_2_D2017 * sm_dmac; sm_tgn_2_pgc = (44/28) * s_gwpN2O * (12/44) * 0.001; sm_tgch4_2_pgc = s_gwpCH4 * (12/44) * 0.001; -***---------------------------------------------------------------------------------------- -*----------------------------------------------carbon intensities of coal, oil, and gas +*** carbon intensities of coal, oil, and gas pm_cintraw("pecoal") = 26.1 / s_zj_2_twa; pm_cintraw("peoil") = 20.0 / s_zj_2_twa; pm_cintraw("pegas") = 15.0 / s_zj_2_twa; @@ -632,14 +648,6 @@ pm_cintraw("pegas") = 15.0 / s_zj_2_twa; ***---------------------------------------------------------------------------------------- *** F I L E S ***---------------------------------------------------------------------------------------- -file magicc_scenario / "./magicc/REMIND_%c_expname%.SCEN" /; - -magicc_scenario.ap = 0; -magicc_scenario.pw = 3000; - -file magicc_sed_script / "./magicc/modify_MAGCFG_USER_CFG.sed" /; - -magicc_sed_script.ap = 0; *** emissions reporting helper parameters diff --git a/core/equations.gms b/core/equations.gms index 9e20dbaff..216f1b455 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -156,12 +156,12 @@ q_balSe(t,regi,enty2)$( entySe(enty2) AND (NOT (sameas(enty2,"seel"))) ).. - vm_emiMacSector(t,regi,"ch4wstl") ) )$( sameas(enty2,"segabio") AND t.val gt 2005 ) - + sum(prodSeOth2te(enty2,te), vm_prodSeOth(t,regi,enty2,te) ) + + sum(prodSeOth2te(enty2,te), v_prodSeOth(t,regi,enty2,te) ) !! *** RLDC removal + vm_Mport(t,regi,enty2) =e= sum(se2fe(enty2,enty3,te), vm_demSe(t,regi,enty2,enty3,te)) + sum(se2se(enty2,enty3,te), vm_demSe(t,regi,enty2,enty3,te)) - + sum(demSeOth2te(enty2,te), vm_demSeOth(t,regi,enty2,te) ) + + sum(demSeOth2te(enty2,te), v_demSeOth(t,regi,enty2,te) ) !! *** RLDC removal + vm_Xport(t,regi,enty2) ; @@ -259,37 +259,34 @@ q_shFeCes(t,regi,entyFe,in,teEs)$feViaEs2ppfen(entyFe,in,teEs).. *' Definition of capacity constraints for primary energy to secondary energy transformation: ***-------------------------------------------------------------------------- q_limitCapSe(t,regi,pe2se(enty,enty2,te)).. - vm_prodSe(t,regi,enty,enty2,te) - =e= - sum(teSe2rlf(te,rlf), - vm_capFac(t,regi,te) * pm_dataren(regi,"nur",rlf,te) - * vm_cap(t,regi,te,rlf) - )$(NOT teReNoBio(te)) - + - sum(teRe2rlfDetail(te,rlf), - ( 1$teRLDCDisp(te) + pm_dataren(regi,"nur",rlf,te)$(NOT teRLDCDisp(te)) ) * vm_capFac(t,regi,te) - * vm_capDistr(t,regi,te,rlf) - )$(teReNoBio(te)) + vm_prodSe(t,regi,enty,enty2,te) + =e= + sum(teSe2rlf(te,rlf), + vm_capFac(t,regi,te) * pm_dataren(regi,"nur",rlf,te) * vm_cap(t,regi,te,rlf) + )$(NOT teReNoBio(te)) + + + sum(teRe2rlfDetail(te,rlf), + pm_dataren(regi,"nur",rlf,te) * vm_capFac(t,regi,te) * v_capDistr(t,regi,te,rlf) + )$(teReNoBio(te)) ; ***---------------------------------------------------------------------------- *' Definition of capacity constraints for secondary energy to secondary energy transformation: ***--------------------------------------------------------------------------- q_limitCapSe2se(t,regi,se2se(enty,enty2,te)).. - vm_prodSe(t,regi,enty,enty2,te) - =e= - sum(teSe2rlf(te,rlf), - vm_capFac(t,regi,te) * pm_dataren(regi,"nur",rlf,te) - * vm_cap(t,regi,te,rlf) - ); + vm_prodSe(t,regi,enty,enty2,te) + =e= + sum(teSe2rlf(te,rlf), + vm_capFac(t,regi,te) * pm_dataren(regi,"nur",rlf,te) * vm_cap(t,regi,te,rlf) + ); ***--------------------------------------------------------------------------- *' Definition of capacity constraints for secondary energy to final energy transformation: ***--------------------------------------------------------------------------- q_limitCapFe(t,regi,te).. - sum((entySe,entyFe)$(se2fe(entySe,entyFe,te)), vm_prodFe(t,regi,entySe,entyFe,te)) - =l= - sum(teFe2rlf(te,rlf), vm_capFac(t,regi,te) * vm_cap(t,regi,te,rlf)); + sum((entySe,entyFe)$(se2fe(entySe,entyFe,te)), vm_prodFe(t,regi,entySe,entyFe,te)) + =l= + sum(teFe2rlf(te,rlf), vm_capFac(t,regi,te) * vm_cap(t,regi,te,rlf)); ***--------------------------------------------------------------------------- *' Definition of capacity constraints for CCS technologies: @@ -327,7 +324,7 @@ q_cap(ttot,regi,te2rlf(te,rlf))$(ttot.val ge cm_startyear).. q_capDistr(t,regi,teReNoBio(te)).. - sum(teRe2rlfDetail(te,rlf), vm_capDistr(t,regi,te,rlf) ) + sum(teRe2rlfDetail(te,rlf), v_capDistr(t,regi,te,rlf) ) =e= vm_cap(t,regi,te,"1") ; @@ -346,22 +343,20 @@ q_capTotal(t,regi,entyPe,entySe)$( capTotal(entyPe,entySe)).. ***--------------------------------------------------------------------------- *' CG: implementing simple exogenous wind offshore energy production -*' +*** windoffshore-todo ***--------------------------------------------------------------------------- -$IFTHEN.WindOff %cm_wind_offshore% == "1" q_windoff_low(t,regi)$(t.val > 2020).. sum(rlf, vm_deltaCap(t,regi,"windoff",rlf)) =g= - pm_shareWindOff(t,regi) * pm_shareWindPotentialOff2On(regi) * 0.5 * sum(rlf, vm_deltaCap(t,regi,"wind",rlf)) + pm_shareWindOff(t,regi) * pm_shareWindPotentialOff2On(regi) * 0.5 * sum(rlf, vm_deltaCap(t,regi,"windon",rlf)) ; q_windoff_high(t,regi)$(t.val > 2020).. sum(rlf, vm_deltaCap(t,regi,"windoff",rlf)) =l= - pm_shareWindOff(t,regi) * pm_shareWindPotentialOff2On(regi) * 2 * sum(rlf, vm_deltaCap(t,regi,"wind",rlf)) + pm_shareWindOff(t,regi) * pm_shareWindPotentialOff2On(regi) * 2 * sum(rlf, vm_deltaCap(t,regi,"windon",rlf)) ; -$ENDIF.WindOff ***--------------------------------------------------------------------------- *' Technological change is an important driver of the evolution of energy systems. *' For mature technologies, such as coal-fired power plants, the evolution @@ -398,9 +393,12 @@ q_capCumNet(t0,regi,teLearn)$(NOT (pm_data(regi,"tech_stat",teLearn) eq 4)).. qm_fuel2pe(t,regi,peRicardian(enty)).. vm_prodPe(t,regi,enty) =e= - sum(pe2rlf(enty,rlf2),vm_fuExtr(t,regi,enty,rlf2))-(vm_Xport(t,regi,enty)-(1-pm_costsPEtradeMp(regi,enty))*vm_Mport(t,regi,enty))$(tradePe(enty)) - - sum(pe2rlf(enty2,rlf2), (pm_fuExtrOwnCons(regi, enty, enty2) * vm_fuExtr(t,regi,enty2,rlf2))$(pm_fuExtrOwnCons(regi, enty, enty2) gt 0)); - + sum(pe2rlf(enty,rlf2), vm_fuExtr(t,regi,enty,rlf2)) + - (vm_Xport(t,regi,enty) - (1-pm_costsPEtradeMp(regi,enty)) * vm_Mport(t,regi,enty))$(tradePe(enty)) + - sum(pe2rlf(enty2,rlf2), + (pm_fuExtrOwnCons(regi, enty, enty2) * vm_fuExtr(t,regi,enty2,rlf2))$(pm_fuExtrOwnCons(regi, enty, enty2) gt 0) + ) +; ***--------------------------------------------------------------------------- *' Definition of resource constraints for renewable energy types: ***--------------------------------------------------------------------------- @@ -408,7 +406,7 @@ qm_fuel2pe(t,regi,peRicardian(enty)).. q_limitProd(t,regi,teRe2rlfDetail(teReNoBio(te),rlf)).. pm_dataren(regi,"maxprod",rlf,te) =g= - ( 1$teRLDCDisp(te) + pm_dataren(regi,"nur",rlf,te)$(NOT teRLDCDisp(te)) ) * vm_capFac(t,regi,te) * vm_capDistr(t,regi,te,rlf); + pm_dataren(regi,"nur",rlf,te) * vm_capFac(t,regi,te) * v_capDistr(t,regi,te,rlf); ***----------------------------------------------------------------------------- *' Definition of competition for geographical potential for renewable energy types: @@ -417,60 +415,81 @@ q_limitProd(t,regi,teRe2rlfDetail(teReNoBio(te),rlf)).. q_limitGeopot(t,regi,peReComp(enty),rlf).. p_datapot(regi,"limitGeopot",rlf,enty) =g= - sum(te$teReComp2pe(enty,te,rlf), (vm_capDistr(t,regi,te,rlf) / (pm_data(regi,"luse",te)/1000))); + sum(te$teReComp2pe(enty,te,rlf), (v_capDistr(t,regi,te,rlf) / (pm_data(regi,"luse",te)/1000))); -*** learning curve for investment costs -*** deactivate learning for tech_stat 4 technologies before 2025 as they are not built before +***--------------------------------------------------------------------------- +*' Learning curve for investment costs: +*' (deactivate learning for tech_stat 4 technologies before 2025 as they are not built before) +***--------------------------------------------------------------------------- q_costTeCapital(t,regi,teLearn)$(NOT (pm_data(regi,"tech_stat",teLearn) eq 4 AND t.val le 2020)) .. vm_costTeCapital(t,regi,teLearn) =e= -*** special treatment for first time steps: using global estimates better -*** matches historic values - ( fm_dataglob("learnMult_wFC",teLearn) +*** floor costs defined regionally + pm_data(regi,"floorcost",teLearn) +*** until 2005: using global estimates better matches historic values + + ( fm_dataglob("learnMult_wFC",teLearn) * ( ( sum(regi2, vm_capCum(t,regi2,teLearn)) + pm_capCumForeign(t,regi,teLearn) ) ** fm_dataglob("learnExp_wFC",teLearn) ) )$( t.val le 2005 ) -*** special treatment for 2010, 2015: start divergence of regional values by using a -*** t-split of global 2005 to regional 2020 in order to phase-in the observed 2020 regional -*** variation from input-data - + ( (2020 - t.val)/15 * fm_dataglob("learnMult_wFC",teLearn) +*** 2005 to 2020: linear transition from global 2005 to regional 2020 +*** to phase-in the observed 2020 regional variation from input-data + + ( (2020 - t.val) / (2020-2005) * fm_dataglob("learnMult_wFC",teLearn) * ( sum(regi2, vm_capCum(t,regi2,teLearn)) + pm_capCumForeign(t,regi,teLearn) ) ** fm_dataglob("learnExp_wFC",teLearn) - + (t.val - 2005)/15 * pm_data(regi,"learnMult_wFC",teLearn) + + (t.val - 2005) / (2020-2005) * pm_data(regi,"learnMult_wFC",teLearn) * ( sum(regi2, vm_capCum(t,regi2,teLearn)) + pm_capCumForeign(t,regi,teLearn) ) ** pm_data(regi,"learnExp_wFC",teLearn) )$( (t.val gt 2005) AND (t.val lt 2020) ) -*** assuming linear convergence of regional learning curves to global values until 2050 - + ( (pm_ttot_val(t) - 2020) / 30 * fm_dataglob("learnMult_wFC",teLearn) +$ifthen.floorscen %cm_floorCostScen% == "default" +*** 2020 to 2050: assuming linear convergence of regional learning curves to global values + + ( (pm_ttot_val(t) - 2020) / (2050-2020) * fm_dataglob("learnMult_wFC",teLearn) * ( sum(regi2, vm_capCum(t,regi2,teLearn)) + pm_capCumForeign(t,regi,teLearn) ) ** fm_dataglob("learnExp_wFC",teLearn) - + (2050 - pm_ttot_val(t)) / 30 * pm_data(regi,"learnMult_wFC",teLearn) + + (2050 - pm_ttot_val(t)) / (2050-2020) * pm_data(regi,"learnMult_wFC",teLearn) * ( sum(regi2, vm_capCum(t,regi2,teLearn)) + pm_capCumForeign(t,regi,teLearn) ) ** pm_data(regi,"learnExp_wFC",teLearn) )$( t.val ge 2020 AND t.val le 2050 ) +$endif.floorscen -*** globally harmonized costs after 2050 +$ifthen.floorscen %cm_floorCostScen% == "pricestruc" + + ( pm_data(regi,"learnMult_wFC",teLearn) + * ( sum(regi2, vm_capCum(t,regi2,teLearn)) + + pm_capCumForeign(t,regi,teLearn) + ) + ** pm_data(regi,"learnExp_wFC",teLearn) + )$( t.val ge 2020 AND t.val le 2100 ) +$endif.floorscen + +$ifthen.floorscen %cm_floorCostScen% == "techtrans" + + ( pm_data(regi,"learnMult_wFC",teLearn) + * ( sum(regi2, vm_capCum(t,regi2,teLearn)) + + pm_capCumForeign(t,regi,teLearn) + ) + ** pm_data(regi,"learnExp_wFC",teLearn) + )$( t.val ge 2020 AND t.val le 2100 ) +$endif.floorscen + +$ifthen.floorscen %cm_floorCostScen% == "default" +*** after 2050: globally harmonized costs + ( fm_dataglob("learnMult_wFC",teLearn) * (sum(regi2, vm_capCum(t,regi2,teLearn)) + pm_capCumForeign(t,regi,teLearn) ) **(fm_dataglob("learnExp_wFC",teLearn)) )$(t.val gt 2050) - -*** floor costs - calculated such that they coincide for all regions - + pm_data(regi,"floorcost",teLearn) +$endif.floorscen ; @@ -718,18 +737,19 @@ q_emiMac(t,regi,emiMac) .. ***-------------------------------------------------- q_emiCdrAll(t,regi).. vm_emiCdrAll(t,regi) - =e= !! BECC + DACC - (sum(emiBECCS2te(enty,enty2,te,enty3),vm_emiTeDetail(t,regi,enty,enty2,te,enty3)) - + sum(teCCS2rlf(te,rlf), vm_ccs_cdr(t,regi,"cco2","ico2","ccsinje",rlf))) - !! scaled by the fraction that gets stored geologically - * (sum(teCCS2rlf(te,rlf), - vm_co2CCS(t,regi,"cco2","ico2",te,rlf)) / - (sum(teCCS2rlf(te,rlf), - vm_co2capture(t,regi,"cco2","ico2","ccsinje",rlf))+sm_eps)) + =e= + ( !! BECC + DACC + sum(emiBECCS2te(enty,enty2,te,enty3),vm_emiTeDetail(t,regi,enty,enty2,te,enty3)) + - vm_emiCdrTeDetail(t, regi, "dac") !! this is a negative value + ) + * ( !! scaled by the fraction that gets stored geologically + sum(teCCS2rlf(te, rlf), vm_co2CCS(t, regi, "cco2", "ico2", te, rlf)) + / (sum(teCCS2rlf(te, rlf), v_co2capture(t, regi, "cco2", "ico2", "ccsinje", rlf)) + sm_eps) + ) !! net negative emissions from co2luc - p_macBaseMagpieNegCo2(t,regi) - !! negative emissions from the cdr module that are not stored geologically - - (vm_emiCdr(t,regi,"co2") + sum(teCCS2rlf(te,rlf), vm_ccs_cdr(t,regi,"cco2","ico2","ccsinje",rlf))) + !! negative emissions from the cdr module that are not stored geologically + - (vm_emiCdr(t,regi,"co2") - vm_emiCdrTeDetail(t, regi, "dac")) ; @@ -809,21 +829,22 @@ q_budgetCO2eqGlob$(cm_emiscen=6).. *' Definition of carbon capture : ***--------------------------------------------------------------------------- q_balcapture(t,regi,ccs2te(ccsCo2(enty),enty2,te)) .. - sum(teCCS2rlf(te,rlf),vm_co2capture(t,regi,enty,enty2,te,rlf)) + sum(teCCS2rlf(te,rlf), v_co2capture(t,regi,enty,enty2,te,rlf)) =e= -*** Carbon captured in energy sector + !! carbon captured in energy sector sum(emi2te(enty3,enty4,te2,enty), vm_emiTeDetail(t,regi,enty3,enty4,te2,enty) ) -*** Carbon captured from CDR technologies in CDR module - + sum(teCCS2rlf(te,rlf), - vm_ccs_cdr(t,regi,enty,enty2,te,rlf) - ) -*** Carbon captured from industry - + sum(emiInd37, - vm_emiIndCCS(t,regi,emiInd37) + !! carbon captured from CDR technologies in CDR module + + sum(teCCS2rlf(te,rlf), vm_co2capture_cdr(t,regi,enty,enty2,te,rlf)) + !! carbon captured from industry + + sum(emiInd37, vm_emiIndCCS(t,regi,emiInd37)) + + sum((sefe(entySe,entyFe),emiMkt)$( + entyFE2sector2emiMkt_NonEn(entyFe,"indst",emiMkt) ), + vm_incinerationCCS(t,regi,entySe,entyFe,emiMkt) ) ; + ***--------------------------------------------------------------------------- *' Definition of splitting of captured CO2 to CCS, CCU and a valve (the valve *' accounts for different lifetimes of capture, CCS and CCU technologies s.t. @@ -831,7 +852,7 @@ q_balcapture(t,regi,ccs2te(ccsCo2(enty),enty2,te)) .. *' atmosphere) ***--------------------------------------------------------------------------- q_balCCUvsCCS(t,regi) .. - sum(teCCS2rlf(te,rlf), vm_co2capture(t,regi,"cco2","ico2",te,rlf)) + sum(teCCS2rlf(te,rlf), v_co2capture(t,regi,"cco2","ico2",te,rlf)) =e= sum(teCCS2rlf(te,rlf), vm_co2CCS(t,regi,"cco2","ico2",te,rlf)) + sum(teCCU2rlf(te,rlf), vm_co2CCUshort(t,regi,"cco2","ccuco2short",te,rlf)) @@ -1031,32 +1052,52 @@ q_shBioTrans(t,regi).. ; ***--------------------------------------------------------------------------- -*' Share of final energy carrier in sector +*' Shares of final energy carrier in sector ***--------------------------------------------------------------------------- q_shfe(t,regi,entyFe,sector)$(pm_shfe_up(t,regi,entyFe,sector) OR pm_shfe_lo(t,regi,entyFe,sector)).. v_shfe(t,regi,entyFe,sector) * sum(emiMkt$sector2emiMkt(sector,emiMkt), sum(se2fe(entySe,entyFe2,te)$(entyFe2Sector(entyFe2,sector)), - vm_demFeSector(t,regi,entySe,entyFe2,sector,emiMkt))) + vm_demFeSector_afterTax(t,regi,entySe,entyFe2,sector,emiMkt))) =e= sum(emiMkt$sector2emiMkt(sector,emiMkt), sum(se2fe(entySe,entyFe,te), - vm_demFeSector(t,regi,entySe,entyFe,sector,emiMkt))) + vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt))) +; + +q_shSeFe(t,regi,entySe)$(entySeBio(entySe) OR entySeSyn(entySe) OR entySeFos(entySe)).. !! share of energy carrier subtype in final energy demand of the aggregated carrier type (eg 'the share of bio-based FE liquids in all FE liquids') + v_shSeFe(t,regi,entySe) + * sum((sector,emiMkt)$(sector2emiMkt(sector,emiMkt) AND (NOT(sameas(sector,"CDR")))), + sum(seAgg$seAgg2se(seAgg,entySe), !! determining the aggregate SE carrier type (liquids, gases, ...) + sum(entySe2$seAgg2se(seAgg,entySe2), !! summing over the bio/fos/syn variants of the chosen SE carrier" + sum(entyFe$(sefe(entySe2,entyFe) AND entyFe2Sector(entyFe,sector)), + vm_demFeSector_afterTax(t,regi,entySe2,entyFe,sector,emiMkt))))) + =e= + sum((sector,emiMkt)$(sector2emiMkt(sector,emiMkt) AND (NOT(sameas(sector,"CDR")))), + sum(entyFe$(sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector)), + vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt))) +; + +q_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt)$((entySeBio(entySe) OR entySeSyn(entySe) OR entySeFos(entySe)) AND (sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt)) AND NOT(SAMEAS(sector,"CDR"))).. + v_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt) + * sum(entySe2$sefe(entySe2,entyFe), + vm_demFeSector_afterTax(t,regi,entySe2,entyFe,sector,emiMkt)) + =e= + vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt) ; q_shGasLiq_fe(t,regi,sector)$(pm_shGasLiq_fe_up(t,regi,sector) OR pm_shGasLiq_fe_lo(t,regi,sector)).. v_shGasLiq_fe(t,regi,sector) * sum(emiMkt$sector2emiMkt(sector,emiMkt), sum(se2fe(entySe,entyFe,te)$(entyFe2Sector(entyFe,sector)), - vm_demFeSector(t,regi,entySe,entyFe,sector,emiMkt))) + vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt))) =e= sum(emiMkt$sector2emiMkt(sector,emiMkt), sum(se2fe(entySe,entyFe,te)$(SAMEAS(entyFe,"fegas") OR SAMEAS(entyFe,"fehos")), - vm_demFeSector(t,regi,entySe,entyFe,sector,emiMkt))) + vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt))) ; - *limit secondary energy district heating and heat pumps $IFTHEN.sehe_upper not "%cm_sehe_upper%" == "off" q_heat_limit(t,regi)$(t.val gt 2020).. @@ -1087,23 +1128,113 @@ q_limitCapFeH2BI(t,regi,sector)$(SAMEAS(sector,"build") OR SAMEAS(sector,"indst" ; ***--------------------------------------------------------------------------- -*' Enforce historical data biomass share per carrier in sector final energy for buildings and industry (+- 2%) +*' Enforce historical data biomass share per carrier in sector final energy for transport, buildings and industry (+- 2%) ***--------------------------------------------------------------------------- -q_shbiofe_up(t,regi,entyFe,sector,emiMkt)$((sameas(entyFe,"fegas") or sameas(entyFe,"fehos") or sameas(entyFe,"fesos")) and entyFe2Sector(entyFe,sector) and sector2emiMkt(sector,emiMkt) and (t.val le 2015)).. +q_shbiofe_up(t,regi,entyFe,sector,emiMkt)$(pm_secBioShare(t,regi,entyFe,sector) and sector2emiMkt(sector,emiMkt)).. (pm_secBioShare(t,regi,entyFe,sector) + 0.02) * - sum((entySe,te)$se2fe(entySe,entyFe,te), vm_demFeSector(t,regi,entySe,entyFe,sector,emiMkt)) + sum((entySe,te)$se2fe(entySe,entyFe,te), vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt)) =g= - sum((entySeBio,te)$se2fe(entySeBio,entyFe,te), vm_demFeSector(t,regi,entySeBio,entyFe,sector,emiMkt)) + sum((entySeBio,te)$se2fe(entySeBio,entyFe,te), vm_demFeSector_afterTax(t,regi,entySeBio,entyFe,sector,emiMkt)) ; -q_shbiofe_lo(t,regi,entyFe,sector,emiMkt)$((sameas(entyFe,"fegas") or sameas(entyFe,"fehos") or sameas(entyFe,"fesos")) and entyFe2Sector(entyFe,sector) and sector2emiMkt(sector,emiMkt) and (t.val le 2015)).. +q_shbiofe_lo(t,regi,entyFe,sector,emiMkt)$(pm_secBioShare(t,regi,entyFe,sector) and sector2emiMkt(sector,emiMkt)).. (pm_secBioShare(t,regi,entyFe,sector) - 0.02) * - sum((entySe,te)$se2fe(entySe,entyFe,te), vm_demFeSector(t,regi,entySe,entyFe,sector,emiMkt)) + sum((entySe,te)$se2fe(entySe,entyFe,te), vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt)) =l= - sum((entySeBio,te)$se2fe(entySeBio,entyFe,te), vm_demFeSector(t,regi,entySeBio,entyFe,sector,emiMkt)) + sum((entySeBio,te)$se2fe(entySeBio,entyFe,te), vm_demFeSector_afterTax(t,regi,entySeBio,entyFe,sector,emiMkt)) +; + +***--------------------------------------------------------------------------- +*' Penalty for secondary energy share deviation in sectors +***--------------------------------------------------------------------------- + +$ifthen.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "sqSectorShare" +q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( + (t.val ge 2025) AND !!disable share incentives for historical years in buildings, industry and CDR as this should be handled by historical bounds + ( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ) AND !!only create the equation for valid cobinations of entySe, entyFe, sector and emiMkt + ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers + ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) AND !!disable buildings solids share incentives + ( NOT(sameas(sector,"CDR"))) !! disable share incentives for CDR sector as it leads to solver problems + ).. + v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) + =e= + power(v_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt) ,2) + * (1$sameas("%c_seFeSectorShareDevUnit%","share") + ( vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt) )$(sameas("%c_seFeSectorShareDevUnit%","energy")) ) !!define deviation in share or energy units +; +$elseIf.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "sqSectorAvrgShare" +q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( + (t.val ge 2025) AND !!disable share incentives for historical years in buildings, industry and CDR as this should be handled by historical bounds + ( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ) AND !!only create the equation for valid cobinations of entySe, entyFe, sector and emiMkt + ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers + ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) AND !!disable buildings solids share incentives + ( NOT(sameas(sector,"CDR"))) !! disable share incentives for CDR sector as it leads to solver problems + ).. + v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) + =e= + power(v_shSeFe(t,regi,entySe) - v_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt) ,2) + * (1$sameas("%c_seFeSectorShareDevUnit%","share") + ( vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt) )$(sameas("%c_seFeSectorShareDevUnit%","energy")) ) !!define deviation in share or energy units +; +$elseIf.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "minMaxAvrgShare" +q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( + (t.val ge 2025) AND !!disable share incentives for historical years in buildings, industry and CDR as this should be handled by historical bounds + ( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ) AND !!only create the equation for valid cobinations of entySe, entyFe, sector and emiMkt + ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers + ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) AND !!disable buildings solids share incentives + ( NOT(sameas(sector,"CDR"))) !! disable share incentives for CDR sector as it leads to solver problems + ).. + v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) + =e= + v_NegPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) + + v_PosPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) +; + +q_minMaxPenSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( + (t.val ge 2025) AND !!disable share incentives for historical years in buildings, industry and CDR as this should be handled by historical bounds + ( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ) AND !!only create the equation for valid cobinations of entySe, entyFe, sector and emiMkt + ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers + ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) AND !!disable buildings solids share incentives + ( NOT(sameas(sector,"CDR"))) !! disable share incentives for CDR sector as it leads to solver problems + ).. + ( + v_shSeFe(t,regi,entySe) + - v_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt) + + v_NegPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) + - v_PosPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) + ) + * !!define deviation in share or energy units + ( 1$sameas("%c_seFeSectorShareDevUnit%","share") + + (sum(seAgg$seAgg2se(seAgg,entySe), + sum(entyFe2$(seAgg2fe(seAgg,entyFe2) AND entyFe2Sector(entyFe2,sector)), + sum(entySe2$(seAgg2se(seAgg,entySe2) AND sefe(entySe2,entyFe2) AND entyFe2Sector(entyFe2,sector)), + vm_demFeSector_afterTax(t,regi,entySe2,entyFe2,sector,emiMkt)))) + )$sameas("%c_seFeSectorShareDevUnit%","energy") + ) + =e= + 0 ; +$endif.seFeSectorShareDev + +$ifthen.penSeFeSectorShareDevCost not "%cm_seFeSectorShareDevMethod%" == "off" +q_penSeFeSectorShareDevCost(t,regi).. + vm_penSeFeSectorShareDevCost(t,regi) + =e= + sum((entySe,entyFe,sector,emiMkt)$( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) AND (NOT(sameas(sector,"CDR")))), + v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) + ) * c_seFeSectorShareDevScale +; +$endif.penSeFeSectorShareDevCost + +***--------------------------------------------------------------------------- +*' Limit solids fossil to be lower or equal to previous year values +***--------------------------------------------------------------------------- +$ifthen.limitSolidsFossilRegi not %cm_limitSolidsFossilRegi% == "off" +q_fossilSolidsLimitReg(ttot,regi,entySe,entyFe,sector,emiMkt)$(limitSolidsFossilRegi(regi) and (ttot.val ge max(2020, cm_startyear)) AND sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND (sameas(sector,"indst") OR sameas(sector,"build")) AND sameas(entySe,"sesofos")).. + vm_demFeSector_afterTax(ttot,regi,entySe,entyFe,sector,emiMkt) + =l= + vm_demFeSector_afterTax(ttot-1,regi,entySe,entyFe,sector,emiMkt); +$endif.limitSolidsFossilRegi *** EOF ./core/equations.gms diff --git a/core/input/files b/core/input/files index 77a1a1dbf..de4478f7c 100644 --- a/core/input/files +++ b/core/input/files @@ -33,7 +33,7 @@ p_macBase1990.cs4r p_macBase2005.cs4r p_macBaseVanv.cs4r p_macPolCO2luc.cs4r -pm_boundCapCCS.cs4r +p_boundCapCCS.cs4r pm_dataccs.cs3r f_fedemand.cs4r f_fedemand_build.cs4r diff --git a/core/input/generisdata_emi.prn b/core/input/generisdata_emi.prn index a162c1501..0a6eae546 100644 --- a/core/input/generisdata_emi.prn +++ b/core/input/generisdata_emi.prn @@ -15,7 +15,7 @@ pegas.seh2.gash2 15.3 0.00315 pegas.seh2.gash2c 1.5 13.8 0.00315 pegas.sehe.gashp 15.3 0.00315 pegas.seliqfos.gasftrec 15.3 -pegas.seliqfos.gasftcrec 13.8 1.5 +pegas.seliqfos.gasftcrec 15.1 0.2 pecoal.seel.igcc 26.1 0.04415 pecoal.seel.pc 26.1 0.04415 pecoal.seel.igccc 2.6 23.5 0.04415 @@ -24,13 +24,13 @@ pecoal.sehe.coalhp 26.1 0.04415 pecoal.seh2.coalh2 26.1 0.04415 pecoal.seh2.coalh2c 2.6 23.5 0.04415 pecoal.seliqfos.coalftrec 26.1 -pecoal.seliqfos.coalftcrec 7.8 18.3 +pecoal.seliqfos.coalftcrec 10.3 15.8 pecoal.sesofos.coaltr 26.1 0.04415 pecoal.segafos.coalgas 26.1 0.04415 pebiolc.seel.bioigccc -20.0 20.0 pebiolc.seel.bioigcc -pebiolc.segabio.biogasc -9.5 9.5 -pebiolc.seliqbio.bioftcrec -12.0 12.0 +pebiolc.segabio.biogasc -14.1 14.1 +pebiolc.seliqbio.bioftcrec -14.6 14.6 pebiolc.seh2.bioh2c -22.5 22.5 pebiolc.seel.biochp pebiolc.seh2.bioh2 @@ -43,4 +43,24 @@ peoil.seel.dot 20 0.01892 seh2.segasyn.h22ch4 0.395 seh2.seliqsyn.MeOH 0.53 +$ontext +Parameterization of CO2 Capture Rates of X-to-Liquids and X-to-Gas technologies including carbon capture: +The capture rates need to be consistent with the capture rate of X-to-H2 technologies +and the carbon efficiency (carbon in output / carbon in input) of CCU-Technologies (see ./modules/39_CCU/on/datainput.gms) +that convert H2 + CO2 to Liquids/Gases. +For the capture rate of the combined process, we take into account the parameterization of the individual steps: +1. Production of synthesis gas/h2, here we assume 90% capture rate in line with our parameterization of +Bio-to-H2 (bioh2c), Gas-to-H2 (gash2c) with carbon capture technologies +2. Conversion of synthesis gas to liquid fuels / methane via Fischer-Tropsch synthesis / methanation +at a carbon efficiency of 95% in line with the CCU technologies. +We calculate the CO2 capture rates of the X-to-Liquids and X-to-Gas technologies as +the difference between the captured carbon of the first step and the carbon used in the second step: +Capture Rate(tech) = Emifac(input) * 0.9 - Emifac(output) / 0.95 * Efficiency(tech) +Technology-specific CO2 capture rates: +Capture Rate(bioftcrec) = 25 GtC/ZJ * 0.9 - 18.4 GtC/ZJ(FE) / 0.95 * 0.41 ~ 14.6 GtC/ZJ(PE) (58% of carbon input) +Capture Rate(biogasc) = 25 GtC/ZJ * 0.9 - 14.6 GtC/ZJ(FE) / 0.95 * 0.55 ~ 14.1 GtC/ZJ(PE) (56% of carbon input) +Capture Rate(coalftcrec) = 26.1 GtC/ZJ * 0.9 - 18.4 GtC/ZJ(FE) / 0.95 * 0.4 ~ 15.8 GtC/ZJ(PE) (60% of carbon input) +Capture Rate(gasftcrec) = 15.3 GtC/ZJ * 0.9 - 18.4 GtC/ZJ(FE) / 0.95 * 0.7 ~ 0.2 GtC/ZJ(PE) (1.3% of carbon input) +$offtext + *** EOF ./core/input/generisdata_emi.prn diff --git a/core/input/generisdata_flexibility.prn b/core/input/generisdata_flexibility.prn index a82d3262d..61439a478 100644 --- a/core/input/generisdata_flexibility.prn +++ b/core/input/generisdata_flexibility.prn @@ -1,32 +1,31 @@ *** SOF ./core/input/generisdata_flexibility.prn *** parameterization after simple algorithm -fm_dataglob("flexibility","ngcc") = 0.95; -fm_dataglob("flexibility","ngccc") = 0.85; -fm_dataglob("flexibility","ngt") = 16; -fm_dataglob("flexibility","h2turb") = 16; -fm_dataglob("flexibility","dot") = 6; -fm_dataglob("flexibility","igcc") = 0.85; -fm_dataglob("flexibility","igccc") = 0.7; -fm_dataglob("flexibility","pc") = 0.90; -fm_dataglob("flexibility","gaschp") = 0.85; -fm_dataglob("flexibility","coalchp") = 0.75; -fm_dataglob("flexibility","biochp") = 0.7; -fm_dataglob("flexibility","bioigcc") = 0.75; -fm_dataglob("flexibility","bioigccc") = 0.7; -fm_dataglob("flexibility","tnrs") = 0.6; -fm_dataglob("flexibility","fnrs") = 0.44; -fm_dataglob("flexibility","wind") = -1; -fm_dataglob("flexibility","csp") = -1; -fm_dataglob("flexibility","spv") = -1; -fm_dataglob("flexibility","storwind") = 1.89; -$IFTHEN.WindOff %cm_wind_offshore% == "1" -fm_dataglob("flexibility","storwind") = 1.86; -$ENDIF.WindOff -fm_dataglob("flexibility","storcsp") = 1.85; -fm_dataglob("flexibility","storspv") = 1.85; -fm_dataglob("flexibility","geohdr") = 0.8; -fm_dataglob("flexibility","hydro") = 1.2; -fm_dataglob("flexibility","h2turbVRE") = 16; +fm_dataglob("flexibility","ngcc") = 0.95; +fm_dataglob("flexibility","ngccc") = 0.85; +fm_dataglob("flexibility","ngt") = 16; +fm_dataglob("flexibility","h2turb") = 16; +fm_dataglob("flexibility","dot") = 6; +fm_dataglob("flexibility","igcc") = 0.85; +fm_dataglob("flexibility","igccc") = 0.7; +fm_dataglob("flexibility","pc") = 0.90; +fm_dataglob("flexibility","gaschp") = 0.85; +fm_dataglob("flexibility","coalchp") = 0.75; +fm_dataglob("flexibility","biochp") = 0.7; +fm_dataglob("flexibility","bioigcc") = 0.75; +fm_dataglob("flexibility","bioigccc") = 0.7; +fm_dataglob("flexibility","tnrs") = 0.6; +fm_dataglob("flexibility","fnrs") = 0.44; +fm_dataglob("flexibility","windon") = -1; +fm_dataglob("flexibility","windoff") = -1; +fm_dataglob("flexibility","csp") = -1; +fm_dataglob("flexibility","spv") = -1; +fm_dataglob("flexibility","storwindon") = 1.86; +fm_dataglob("flexibility","storwindoff")= 1.93; +fm_dataglob("flexibility","storcsp") = 1.85; +fm_dataglob("flexibility","storspv") = 1.85; +fm_dataglob("flexibility","geohdr") = 0.8; +fm_dataglob("flexibility","hydro") = 1.2; +fm_dataglob("flexibility","h2turbVRE") = 16; *** EOF ./core/input/generisdata_flexibility.prn diff --git a/core/input/generisdata_nur_ren.prn b/core/input/generisdata_nur_ren.prn deleted file mode 100644 index ed725b05c..000000000 --- a/core/input/generisdata_nur_ren.prn +++ /dev/null @@ -1,35 +0,0 @@ -*** SOF ./core/input/generisdata_nur_ren.prn -*TA: This file includes the capacity factors (nur) for different renewable energy sources and for different grades. -*TA: Max. annual global production (maxprod) is given in EJ/a for wind onshore, hydro, geohdr, geohe. -* The potential is categorized into different greades. - - - - wind spv hydro geohdr geohe csp storspv storwind storcsp gridspv gridwind gridcsp -nur.1 0.31 0.230 0.550 1.000 1.000 0.72 1 1 1 0.85 0.85 0.85 -nur.2 0.28 0.215 0.450 0.68 -nur.3 0.24 0.200 0.350 0.65 -nur.4 0.20 0.185 0.250 0.61 -nur.5 0.17 0.172 0.150 0.57 -nur.6 0.15 0.160 0.53 -nur.7 0.13 0.150 0.48 -nur.8 0.12 0.140 0.43 -nur.9 0.11 0.130 0.40 -nur.10 0.10 -nur.11 0.08 -nur.12 0.07 - - -maxprod.1 50 8 0.112 50.0 -maxprod.2 40 16 -maxprod.3 40 18 -maxprod.4 40 8 -maxprod.5 40 -maxprod.6 40 -maxprod.7 60 - - - - - -*** EOF ./core/input/generisdata_nur_ren.prn diff --git a/core/input/generisdata_tech.prn b/core/input/generisdata_tech.prn index ea9a3aa22..62a932d61 100644 --- a/core/input/generisdata_tech.prn +++ b/core/input/generisdata_tech.prn @@ -1,6 +1,5 @@ *** SOF ./core/input/generisdata_tech.prn $ontext -IMPORTANT: all costs are now given in $2015! As long as the model runs in $2005, the values need to be converted in datainput.gms tech_stat technology status: how close a technology is to market readiness. Scale: 0-3, with 0 'I can go out and build a GW plant today' to 3 'Still some research necessary' inco0 Initial investment costs given in $[2015] / kW[output] capacity; for dac/prc cc: $[2015] / (tC[captured]/a); for other indutry prc: $[2015]/(t[output]/a) constrTme Construction time in years, needed to calculate turn-key cost premium compared to overnight costs @@ -17,7 +16,7 @@ $offtext ngcc ngccc ngt gastr gaschp gashp gash2 gash2c gasftrec gasftcrec tech_stat 2 0 1 2 3 -inco0 950 1350 500 60 1200 400 900 1400 2030 2400 +inco0 950 1350 500 60 1200 400 900 1400 1600 1700 constrTme 3 3 2 1 3 2 2 2 3 3 mix0 0.70 0.00 0.00 0.00 eta 0.57 0.49 0.38 1.00 0.47 0.80 0.73 0.70 0.73 0.70 @@ -46,16 +45,16 @@ lifetime 40 40 40 40 40 + biotr biotrmod biochp biohp bioigcc bioigccc biogas biogasc bioh2 bioh2c bioethl bioeths biodiesel bioftrec bioftcrec tech_stat 1 3 1 3 2 3 2 3 3 -inco0 10 300 3000 550 2450 3150 1200 1230 1680 2040 2860 590 160 3000 3600 +inco0 10 300 3000 550 2450 3150 1200 1230 1680 2040 2860 590 160 2800 3100 constrTme 0 1 4 2 4 5 4 4 4 4 4 2 2 4 5 mix0 0.00 eta 1.00 0.95 0.35 0.72 0.39 0.28 0.55 0.55 0.59 0.55 0.36 0.55 0.93 0.41 0.41 omf 0.03 0.04 0.04 0.04 0.04 0.04 0.06 0.07 0.08 0.07 0.11 0.05 0.05 0.06 -omv 30.11 25.00 31.50 50.50 10.90 12.80 10.60 10.60 97.27 38.99 5.05 10.60 +omv 30.11 25.00 31.50 50.50 10.90 12.80 10.60 10.60 97.27 38.99 5.05 10.60 10.60 lifetime 35 35 40 40 40 40 40 40 35 35 35 35 35 35 35 -+ geohdr geohe hydro wind windoff spv solhe csp ++ geohdr geohe hydro windon windoff spv solhe csp tech_stat 1 inco0 3600 1200 2700 2400 5000 5160 9999 10320 constrTme 4 1 5 1 4 1 1 3 @@ -63,23 +62,23 @@ mix0 eta 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 omf 0.04 0.06 0.025 0.02 0.03 0.02 0.025 lifetime 30 25 130 25 25 30 25 30 -incolearn 2000 4000 5060 8760 +incolearn 2200 4000 5110 8760 ccap0 0.06 0.0007 0.005 0.0002 -learn 0.108 0.12 0.207 0.103 +learn 0.12 0.12 0.25 0.103 luse 0.09 0.021 + elh2 dot dhp h2turb h2curt h2turbVRE elh2VRE h22ch4 MeOH -tech_stat 4 5 5 5 3 3 -inco0 1350 480 360 510 700 510 0.1 700 1300 +tech_stat 3 5 5 5 3 3 +inco0 3500 480 360 510 700 510 0.1 700 800 constrTme 2 2 1 2 2 2 1 2 2 mix0 eta 0.73 0.30 0.80 0.40 0.62 0.40 0.73 0.8 0.7 -omf 0.05 0.03 0.03 0.03 0.05 0.03 0.00 0.04 0.05 -omv 3 12 12 24 0 24 3 25 +omf 0.05 0.03 0.03 0.03 0.05 0.03 0.00 0.03 0.03 +omv 3 12 12 24 0 24 12 12 lifetime 30 25 25 30 30 30 30 30 30 -incolearn 1200 -ccap0 0.0065 +incolearn 3370 +ccap0 0.00077 learn 0.15 @@ -138,31 +137,31 @@ omf 0.03 0.03 omv 36 76 lifetime 50 50 -+ storspv storwind storcsp -inco0 7720 2940 2520 -mix0 0.00 0.00 0.00 -eta 0.74 0.85 0.79 -omf 0.02 0.02 0.02 -lifetime 25 25 25 -incolearn 5440 2090 1800 -ccap0 0.00005 0.00005 0.00005 -learn 0.10 0.10 0.10 - -+ gridspv gridwind gridcsp -inco0 2400 720 3120 -mix0 0.00 0.00 0.00 -eta 1.00 1.00 1.00 -omf 0.02 0.02 0.02 -lifetime 45 45 45 - -+ weathering dac ++ storspv storcsp storwindon storwindoff +inco0 7720 2520 2940 2940 +mix0 0.00 0.00 0.00 0.00 +eta 0.74 0.79 0.85 0.85 +omf 0.02 0.02 0.02 0.02 +lifetime 25 25 25 25 +incolearn 5440 1800 2090 2090 +ccap0 0.00005 0.00005 0.00005 0.00005 +learn 0.10 0.10 0.10 0.10 + ++ gridspv gridcsp gridwindon gridwindoff +inco0 2400 3120 720 720 +mix0 0.00 0.00 0.00 0.00 +eta 1.00 1.00 1.00 1.00 +omf 0.02 0.02 0.02 0.02 +lifetime 45 45 45 45 + ++ weathering dac oae_ng oae_el tech_stat 4 -inco0 0.01 18800 -mix0 0 0 -eta 1.00 1.00 -omf 0.84 0.025 +inco0 0.01 18800 200 400 +mix0 0 0 0 0 +eta 1.00 1.00 1.00 1.00 +omf 0.84 0.025 0.35 0.17 omv 0 -lifetime 20 20 +lifetime 20 20 25 25 incolearn 14000 ccap0 0.0008 learn 0.15 @@ -189,14 +188,51 @@ Explanations: Electrolysis - elh2 learning parameterization: -Assume that 10 GW(el) electrolysis installed globally and CAPEX of 800 EUR/kW(el) in 2025 -(slightly optimistic due to recent policies, e.g. EU Hydrogen Bank and US Inflation Reduction Act) -(Odenweller et al. (2022), https://doi.org/10.1038/s41560-022-01097-4, -Ueckerdt et al. (2021), https://doi.org/10.1038/s41558-021-01032-7, Fig. S3). -10 GW(el) * 0.65 (elh2 efficiency) * 1e-3 ~ 0.0065 TW(H2) = ccap0 -800 EUR/kW(el) / 0.65 (elh2 efficiency) * 1.1 (EUR to USD, 2015) ~ 1350 USD/kW(H2) = inco0 -Assume floor cost: 100 EUR/kW(el) -100 EUR/kW(el) / 0.75 (long-term elh2 efficiency) * 1.1 (EUR to USD, 2015) ~ 150 USD/kW(H2) -> incolearn = 1200 +Initialize learning curve for electrolysis at 0.5 GW(el) installed globally at CAPEX of 2300 USD/kW(el) in 2020. +Based on Ramboll 2023, https://energycentral.com/system/files/ece/nodes/658117/ghpp.pdf +and IEA 2024 Hydrogen Review, https://www.iea.org/reports/global-hydrogen-review-2024 +0.5 GW(el) * 0.65 (elh2 efficiency) * 1e-3 ~ 0.00077 TW(H2) = ccap0 (for 2020) +2300 USD/kW(el) / 0.65 (elh2 efficiency) ~ 3500 USD/kW(H2) = inco0 (for 2020) +Assume floor cost: 100 USD/kW(el) +100 USD/kW(el) / 0.75 (long-term elh2 efficiency) ~ 133 USD/kW(H2) -> incolearn = 3370 + +(CCU-based) Fischer-Tropsch Synthesis (H2-to-Liquids) - MeOH +inco0: 800 USD/kW following Agora (2018), Figs. 16-17, +https://www.agora-energiewende.de/fileadmin/Projekte/2017/SynKost_2050/Agora_SynKost_Study_EN_WEB.pdf +omf/omv: choose same as for refineries +eta: 0.7, following Agora (2018) and Tremel et al. (2015), https://doi.org/10.1016/j.ijhydene.2015.01.097 + +Methanation (H2-to-Gas) - h22ch4 +inco0: 700 USD/kW, long-term value following review by Agora (2018), Fig. 13, +https://www.agora-energiewende.de/fileadmin/Projekte/2017/SynKost_2050/Agora_SynKost_Study_EN_WEB.pdf +omf: 0.03 of CAPEX, following Agora (2018) +omv: choose same as for refineries +eta: 0.8, following Agora (2018), p. 67 + + +Bio-based Fischer-Tropsch Synthesis (Biomass-to-Liquids) - bioftrec +(Biomass gasification + FT synthesis) +inco0: 2800 USD/kW, following Liu et al. (2011), Table 7 gives CAPEX per kW(input), convert with 0.41 efficiency +eta: 0.41, following Liu et al., Fig. 11 + + +Bio-based Fischer-Tropsch Synthesis (Biomass-to-Liquids) with carbon capture - bioftcrec +(Biomass gasification + FT synthesis) +inco0: 3100 USD/kW, 300 USD/kW mark-up for CO2 capture +eta: 0.41, same as without carbon capture + +Biomass Methanation (Biomass-to-Gas) - biogas +inco0: 1200 USD/kW, following e.g. Aranda et al. (2014) +https://www.biosng.com/fileadmin/biosng/user/documents/reports/The_Economy_of_Large_Scale_Biomass_to_Bio-Methane.pdf +eta: 0.55, following Michailos et al. (2019), https://doi.org/10.1016/j.bej.2019.107290 + +Biomass Methanation (Biomass-to-Gas) with carbon capture - biogasc +inco: 1230 USD/kW, add 30 USD/kW for carbon capture +eta: 0.55, same as without carbon capture + +Photovoltaics - spv +overall learning rate was increased to 25% and floor costs decreased to 50$2015/kW, as recent +(2024) prices in various IEA-PVPS reports or other market reports show learning was faster than expected. Direct Air Capture - dac learning parameterization: @@ -211,6 +247,18 @@ Assume floor cost 100 USD/tCO2. 100 USD/tCO2 * 0.9 (capacity factor) / (0.07 1/yr) (annuity factor, stretch cost over plant lifetime) * 3.66 (tCO2 to tC) ~ 4800 USD/(tC/yr) -> incolearn = 14000 +Ocean Liming - oae +annuity factor = 0.07 for lifetime 25 years (lifetime of a cement plant) and r = 0.05, capacity factor = 0.9 +CAPEX (Kowalczyk et al., 2024): 16 USD/tCaO (NG calciner) and 31 USD/tCaO (electric calciner) +--- oae_ng +inco0: 16 (USD/tCaO) * 0.9 / 0.07 (1/yr) ~ 200 USD / tCaO +omf: 60 (USD/tCaO production) + ~10 (USD/tCaO distribution) +--- oae_el +inco0: 31 (USD/tCaO) * 0.9 / 0.07 (1/yr) ~ 400 USD / tCaO +omf: 60 (USD/tCaO production) + ~10 (USD/tCaO distribution) +Costs per tC removed is calculated in the code as it depends on the efficiency (tCO2/tCaO; exogenous): + cost (USD/tC) = inco0 (USD/tCaO) / ( efficiency (tCO2/tCaO) / 3.66 (tCO2/tC) ) + --- process-based industry: --- annuity factor = r * (1+r)^lifetime/(-1+(1+r)^lifetime), factor to annualize total investment cost of plant, discounting r = 0.05 Assumption (for now): 20 yr lifetime for all techs (something in between plant lifetimes and retrofit intervals) diff --git a/core/input/generisdata_tech_SSP1.prn b/core/input/generisdata_tech_SSP1.prn index 38d7b9bf2..559c66ab8 100644 --- a/core/input/generisdata_tech_SSP1.prn +++ b/core/input/generisdata_tech_SSP1.prn @@ -1,6 +1,5 @@ *** SOF ./core/input/generisdata_tech_SSP1.prn $ontext -IMPORTANT: all costs are now given in $2015! As long as the model runs in $2005, the values need to be converted in datainput.gms tech_stat technology status: how close a technology is to market readiness. Scale: 0-3, with 0 'I can go out and build a GW plant today' to 3 'Still some research necessary' inco0 Initial investment costs given in $[2015] / kW[output] capacity; for dac: $[2015] / (tC[captured]/a) constrTme Construction time in years, needed to calculate turn-key cost premium compared to overnight costs @@ -55,7 +54,7 @@ omv 30.11 25.00 31.50 50 lifetime 35 35 40 40 40 40 40 40 35 35 35 35 35 35 35 -+ geohdr geohe hydro wind windoff spv solhe csp ++ geohdr geohe hydro windon windoff spv solhe csp tech_stat 1 inco0 3600 1200 2700 2400 5000 5160 9999 10320 constrTme 4 1 5 1 4 1 1 3 @@ -63,22 +62,22 @@ mix0 eta 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 omf 0.04 0.06 0.025 0.02 0.03 0.02 0.025 lifetime 30 25 130 25 25 30 25 30 -incolearn 2200 4400 5155 8960 +incolearn 2300 4400 5155 8960 ccap0 0.06 0.0007 0.005 0.0002 -learn 0.108 0.12 0.207 0.103 +learn 0.13 0.12 0.27 0.103 luse 0.09 0.021 + elh2 dot dhp h2turb h2curt h2turbVRE elh2VRE h22ch4 MeOH -tech_stat 4 5 5 5 3 3 -inco0 2000 480 360 510 700 510 0.1 700 800 +tech_stat 3 5 5 5 3 3 +inco0 3500 480 360 510 700 510 0.1 700 800 constrTme 2 2 1 2 2 1 1 2 2 mix0 eta 0.73 0.30 0.80 0.40 0.62 0.40 0.73 0.8 0.7 omf 0.05 0.03 0.03 0.03 0.05 0.00 0.00 0.03 0.03 omv 3 12 12 24 0 3 12 lifetime 30 25 25 30 30 30 30 30 30 -incolearn 1500 -ccap0 0.013 +incolearn 3370 +ccap0 0.00077 learn 0.15 + tdels tdbiogas tdfosgas tdbiohos tdfoshos tdh2s tdh2t @@ -136,31 +135,32 @@ omf 0.03 0.03 omv 36 76 lifetime 50 50 -+ storspv storwind storcsp -inco0 8350 3250 2520 -mix0 0.00 0.00 0.00 -eta 0.78 0.89 0.83 -omf 0.02 0.02 0.02 -lifetime 25 25 25 -incolearn 7000 2430 1940 -ccap0 0.00005 0.00005 0.00005 -learn 0.10 0.10 0.10 - -+ gridspv gridwind gridcsp -inco0 2400 720 3120 -mix0 0.00 0.00 0.00 -eta 1.00 1.00 1.00 -omf 0.02 0.02 0.02 -lifetime 45 45 45 - -+ weathering dac + ++ storspv storcsp storwindon storwindoff +inco0 8350 2520 3250 3250 +mix0 0.00 0.00 0.00 0.00 +eta 0.78 0.83 0.89 0.89 +omf 0.02 0.02 0.02 0.02 +lifetime 25 25 25 25 +incolearn 7000 1940 2430 2430 +ccap0 0.00005 0.00005 0.00005 0.00005 +learn 0.10 0.10 0.10 0.10 + ++ gridspv gridcsp gridwindon gridwindoff +inco0 2400 3120 720 720 +mix0 0.00 0.00 0.00 0.00 +eta 1.00 1.00 1.00 1.00 +omf 0.02 0.02 0.02 0.02 +lifetime 45 45 45 45 + ++ weathering dac oae_ng oae_el tech_stat 4 -inco0 0.01 18800 -mix0 0 0 -eta 1.00 1.00 -omf 0.84 0.025 +inco0 0.01 18800 200 400 +mix0 0 0 0 0 +eta 1.00 1.00 1.00 1.00 +omf 0.84 0.025 0.35 0.17 omv 0 -lifetime 20 20 +lifetime 20 20 25 25 incolearn 14000 ccap0 0.0008 learn 0.15 diff --git a/core/input/generisdata_tech_SSP3.prn b/core/input/generisdata_tech_SSP3.prn new file mode 100644 index 000000000..ae5bc79e6 --- /dev/null +++ b/core/input/generisdata_tech_SSP3.prn @@ -0,0 +1,260 @@ +*** SOF ./core/input/generisdata_tech.prn +$ontext +tech_stat technology status: how close a technology is to market readiness. Scale: 0-3, with 0 'I can go out and build a GW plant today' to 3 'Still some research necessary' +inco0 Initial investment costs given in $[2015] / kW[output] capacity; for dac/prc cc: $[2015] / (tC[captured]/a); for other indutry prc: $[2015]/(t[output]/a) +constrTme Construction time in years, needed to calculate turn-key cost premium compared to overnight costs +mix0 Fraction of output that is produced by this technology in 2005. This value can be overwritten in the calibration process; also, it often does not add up to 1. +eta Conversion efficieny, i.e. energy output divided by energy input (for all but nuclear plants, there it is TW energy output over MT Uranium input) +omf Fixed operation and maintenace costs given as a fraction of investment costs +omv Variable operation and maintenance costs given in $[2015] / (kW[output] * a) energy production +lifetime given in years +incolearn Difference from inco0 to floor investment costs, given in $[2015] / kW[output]; for dac: $[2015] / (tC[captured]/a) +ccap0 Cumulated capacity in 2005 given in TW +learn Learning rate given in percent cost reduction per doubling of cumulated capacity +luse land use factor of solar technologies +$offtext + + ngcc ngccc ngt gastr gaschp gashp gash2 gash2c gasftrec gasftcrec +tech_stat 2 0 1 2 3 +inco0 700 1350 400 60 1200 400 900 1400 2030 2400 +constrTme 3 3 2 1 3 2 2 2 3 3 +mix0 0.70 0.00 0.00 0.00 +eta 0.55 0.49 0.35 1.00 0.47 0.80 0.73 0.70 0.73 0.70 +omf 0.02 0.03 0.02 0.03 0.03 0.03 0.05 0.06 0.05 0.06 +omv 15 30 24 30 42 24 20 25 43 43 +lifetime 35 35 30 35 35 35 35 35 35 35 + ++ refliq +inco0 450 +constrTme 2 +mix0 +eta 0.910125 +omf 0.03 +omv 12.00 +lifetime 40 + ++ igcc igccc pc coalchp coalhp coaltr coalgas coalftrec coalftcrec coalh2 coalh2c +tech_stat 1 2 1 3 1 2 +inco0 1800 2900 1500 2500 550 120 1440 1500 1820 1510 1720 +constrTme 4 5 4 4 2 1 4 4 4 4 4 +mix0 0.00 0.00 0.30 0.00 +eta 0.40 0.33 0.38 0.38 0.75 0.95 0.60 0.40 0.40 0.57 0.53 +omf 0.02 0.03 0.02 0.03 0.03 0.03 0.03 0.05 0.06 0.05 0.06 +omv 38 61 30 72 36 43 43 6 6 +lifetime 40 40 40 40 40 35 35 35 35 35 35 + ++ biotr biotrmod biochp biohp bioigcc bioigccc biogas biogasc bioh2 bioh2c bioethl bioeths biodiesel bioftrec bioftcrec +tech_stat 1 3 1 3 2 3 2 3 3 +inco0 10 300 3000 550 2450 3150 1200 1230 1680 2040 2860 590 160 3000 2900 +constrTme 0 1 4 2 4 5 4 4 4 4 4 2 2 4 5 +mix0 0.00 +eta 1.00 0.95 0.35 0.72 0.39 0.28 0.55 0.55 0.59 0.55 0.36 0.55 0.93 0.41 0.41 +omf 0.03 0.04 0.04 0.04 0.04 0.04 0.06 0.07 0.08 0.07 0.11 0.05 0.05 0.07 +omv 30.11 25.00 31.50 50.50 10.90 12.80 10.60 10.60 97.27 38.99 5.05 14.00 +lifetime 35 35 40 40 40 40 40 40 35 35 35 35 35 35 35 + + ++ geohdr geohe hydro windon windoff spv solhe csp +tech_stat 1 +inco0 3600 1200 2700 2400 5000 5160 9999 10320 +constrTme 4 1 5 1 4 1 1 3 +mix0 +eta 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 +omf 0.04 0.06 0.025 0.03 0.04 0.03 0.025 +lifetime 30 25 130 25 25 30 25 30 +incolearn 1500 3200 4760 5760 +ccap0 0.06 0.0007 0.005 0.0002 +learn 0.06 0.06 0.20 0.103 +luse 0.09 0.021 + + ++ elh2 dot dhp h2turb h2curt h2turbVRE elh2VRE h22ch4 MeOH +tech_stat 3 5 5 5 3 3 +inco0 3500 480 360 510 700 510 0.1 700 1300 +constrTme 2 2 1 2 2 2 1 2 2 +mix0 +eta 0.73 0.30 0.80 0.40 0.62 0.40 0.73 0.8 0.7 +omf 0.05 0.03 0.03 0.03 0.05 0.03 0.00 0.04 0.05 +omv 3 12 12 24 0 24 3 25 +lifetime 30 25 25 30 30 30 30 30 30 +incolearn 3370 +ccap0 0.00077 +learn 0.15 + + ++ tdels tdbiogas tdfosgas tdbiohos tdfoshos tdh2s tdh2t +inco0 1800 360 360 60 60 1080 3000 +mix0 1.00 1.00 1.00 1.00 1.00 1.00 1.00 +eta 0.95 0.85 0.85 1.00 1.00 1.00 1.00 +omf 0.03 0.02 0.02 0.03 0.03 0.02 0.06 +lifetime 45 45 45 30 30 45 45 + ++ tdsyngas tdsyngat tdsynhos tdsynpet tdsyndie +inco0 360 360 60 600 600 +mix0 1.00 1.00 1.00 1.00 1.00 +eta 0.85 0.85 1.00 1.00 1.00 +omf 0.02 0.02 0.03 0.10 0.10 +lifetime 45 45 30 45 45 + ++ tdbiogat tdfosgat +inco0 360 360 +mix0 1.00 1.00 +eta 0.85 0.85 +omf 0.02 0.02 +lifetime 45 45 + ++ tdbiosos tdfossos tdhes tdbiodie tdfosdie tdbiopet tdfospet tdelt +inco0 60 60 600 600 600 600 600 6000 +mix0 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 +eta 1.00 1.00 0.90 1.00 1.00 1.00 1.00 0.95 +omf 0.08 0.08 0.02 0.10 0.10 0.10 0.10 0.05 +lifetime 30 30 45 45 45 45 45 45 + + +*+ ccscomp ccspipe ccsinje ccsmoni +*tech_stat 1 1 2 2 +*inco0 0.1 100 75 0.1 +*mix0 1.00 1.00 1.00 1.00 +*eta 1.00 1.00 1.00 1.00 +*omf 0.00 0.02 0.08 0.00 +*lifetime 40 40 40 40 + ++ ccsinje +tech_stat 0 +inco0 350 +mix0 1.00 +eta 1.00 +omf 0.06 +lifetime 40 +constrTme 3 + ++ tnrs fnrs +inco0 5500 6000 +constrTme 7 7 +mix0 +eta 4.41 1012.00 +omf 0.03 0.03 +omv 36 76 +lifetime 40 50 + ++ storspv storcsp storwindon storwindoff +inco0 7720 2520 2940 2940 +mix0 0.00 0.00 0.00 0.00 +eta 0.74 0.79 0.85 0.85 +omf 0.02 0.02 0.02 0.02 +lifetime 25 25 25 25 +incolearn 4400 1440 1700 1700 +ccap0 0.00005 0.00005 0.00005 0.00005 +learn 0.10 0.10 0.10 0.10 + ++ gridspv gridcsp gridwindon gridwindoff +inco0 3600 4000 1080 1080 +mix0 0.00 0.00 0.00 0.00 +eta 1.00 1.00 1.00 1.00 +omf 0.02 0.02 0.02 0.02 +lifetime 45 45 45 45 + ++ weathering dac oae_ng oae_el +tech_stat 4 +inco0 0.01 18800 200 400 +mix0 0 0 0 0 +eta 1.00 1.00 1.00 1.00 +omf 0.84 0.025 0.35 0.17 +omv 0 +lifetime 20 20 25 25 +incolearn 14000 +ccap0 0.0008 +learn 0.15 + +$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" ++ bf bof idr eaf +!! documentation & sources: see below +tech_stat +inco0 400.0 200.0 350.0 350.0 +omf 0.06 0.06 0.06 0.06 +lifetime 20 20 20 20 + ++ bfcc idrcc +!! documentation & sources: see below +inco0 1100 900 +omf 0.06 0.06 +lifetime 20 20 +$endif.cm_subsec_model_steel + + + +$ontext +Explanations: + +Electrolysis - elh2 +learning parameterization: +Initialize learning curve for electrolysis at 0.5 GW(el) installed globally at CAPEX of 2300 USD/kW(el) in 2020. +Based on Ramboll 2023, https://energycentral.com/system/files/ece/nodes/658117/ghpp.pdf +and IEA 2024 Hydrogen Review, https://www.iea.org/reports/global-hydrogen-review-2024 +0.5 GW(el) * 0.65 (elh2 efficiency) * 1e-3 ~ 0.00077 TW(H2) = ccap0 (for 2020) +2300 USD/kW(el) / 0.65 (elh2 efficiency) ~ 3500 USD/kW(H2) = inco0 (for 2020) +Assume floor cost: 100 USD/kW(el) +100 USD/kW(el) / 0.75 (long-term elh2 efficiency) ~ 133 USD/kW(H2) -> incolearn = 3370 + +Direct Air Capture - dac +learning parameterization: +Assume that 3 MtCO2/yr DAC capacity installed gobally by 2025 (https://www.iea.org/reports/direct-air-capture) +that produce at (unit) cost of 400 USD/tCO2 (Climeworks). +Assume that all 400 USD/tCO2 are investment cost as current plants runs with waste energy. + +3 MtCO2/yr / 3.66 * / 1000 ~ 0.0008 GtC/yr = ccap0 +400 USD/tCO2 * 0.9 (capacity factor) / (0.07 1/yr) (annuity factor, stretch cost over plant lifetime) +* 3.66 (tCO2 to tC) ~ 18800 USD/(tC/yr) +Assume floor cost 100 USD/tCO2. +100 USD/tCO2 * 0.9 (capacity factor) / (0.07 1/yr) (annuity factor, stretch cost over plant lifetime) +* 3.66 (tCO2 to tC) ~ 4800 USD/(tC/yr) -> incolearn = 14000 + +Ocean Liming - oae +annuity factor = 0.07 for lifetime 25 years (lifetime of a cement plant) and r = 0.05, capacity factor = 0.9 +CAPEX (Kowalczyk et al., 2024): 16 USD/tCaO (NG calciner) and 31 USD/tCaO (electric calciner) +--- oae_ng +inco0: 16 (USD/tCaO) * 0.9 / 0.07 (1/yr) ~ 200 USD / tCaO +omf: 60 (USD/tCaO production) + ~10 (USD/tCaO distribution) +--- oae_el +inco0: 31 (USD/tCaO) * 0.9 / 0.07 (1/yr) ~ 400 USD / tCaO +omf: 60 (USD/tCaO production) + ~10 (USD/tCaO distribution) +Costs per tC removed is calculated in the code as it depends on the efficiency (tCO2/tCaO; exogenous): + cost (USD/tC) = inco0 (USD/tCaO) / ( efficiency (tCO2/tCaO) / 3.66 (tCO2/tC) ) + +--- process-based industry: --- +annuity factor = r * (1+r)^lifetime/(-1+(1+r)^lifetime), factor to annualize total investment cost of plant, discounting r = 0.05 +Assumption (for now): 20 yr lifetime for all techs (something in between plant lifetimes and retrofit intervals) +-> take inco0 times 0.08 to get $/t + +bf and bof: +IEA I&S Fig 1.3: Route combined 52-94 $/t CAPEX (8 % discount, 25 yr lifetime -> discFac = 0.09), 48-87 $/t OPEX +Figure shows 65 / 55 --> inco0 approx 700 +Agora KSV-Rechner: 38 € OPEX +Woertler 2013 Exhibit 8: Components (no C&R) summed CAPEX 442 € (149 BF, 128 BOF, + Rest) --> approx 500 $ +--> inco0 average is 600; distribution among bf and bof does not affect model, measurement of bf in tPI is negligible + +dri-eaf: +IEA I&S Fig 1.3: Route combined 53-136 $/t CAPEX (8 % discount, 25 yr lifetime -> discFac = 0.09), 48-125 $/t OPEX +Figure shows 85 / 75 --> inco0 approx 900 +Agora KSV-Rechner: 40 € OPEX +Woertler 2013 Exhibit 8: Components (no C&R) summed CAPEX 414 € (230 BF, 184 EAF) --> approx 475 $ +--> Rough average inco0 is 700 + +scrap-eaf: +IEA I&S Fig 1.3: Route combined 34-58 $/t CAPEX (8 % discount, 25 yr lifetime -> discFac = 0.09), 31-54 $/t OPEX +Figure shows 45 / 40 --> inco0 approx 480 +Woertler 2013 Exhibit 8: EAF (no C&R) CAPEX 184 € --> approx 210 $ +--> Rough average inco0 is 350 + +bfcc: +CAPEX 25 $ /tCO2 +(Rough average of sources: Wiley 2011, Tsupari 2013, Herron 2014, Yun 2021) +inco0=25$/tCO2 -> to $/tC *(44/12) -> to $/(tC/a) with discount *12 -> *capFac = 1100 +omf ~ 0.75*capex + +idrcc: +make slightly cheaper than bfcc as there is only one point source + +$offtext + +*** EOF ./core/input/generisdata_tech.prn diff --git a/core/input/generisdata_tech_SSP5.prn b/core/input/generisdata_tech_SSP5.prn index e604b0ba6..132aa1233 100644 --- a/core/input/generisdata_tech_SSP5.prn +++ b/core/input/generisdata_tech_SSP5.prn @@ -1,6 +1,5 @@ *** SOF ./core/input/generisdata_tech_SSP5.prn $ontext -IMPORTANT: all costs are now given in $2015! As long as the model runs in $2005, the values need to be converted in datainput.gms tech_stat technology status: how close a technology is to market readiness. Scale: 0-3, with 0 'I can go out and build a GW plant today' to 3 'Still some research necessary' inco0 Initial investment costs given in $[2015] / kW[output] capacity; for dac: $[2015] / (tC[captured]/a) constrTme Construction time in years, needed to calculate turn-key cost premium compared to overnight costs @@ -46,15 +45,15 @@ lifetime 40 40 40 40 40 + biotr biotrmod biochp biohp bioigcc bioigccc biogas biogasc bioh2 bioh2c bioethl bioeths biodiesel bioftrec bioftcrec tech_stat 1 3 1 3 2 3 2 3 3 -inco0 180 400 3000 550 2450 3150 1200 1230 1680 2040 2860 590 160 3000 3600 +inco0 180 400 3000 550 2450 3150 1200 1230 1680 2040 2860 590 160 3000 2900 constrTme 0 1 4 2 4 5 4 4 4 4 4 2 2 4 5 mix0 0.00 0.03 0.05 eta 1.00 0.95 0.35 0.72 0.39 0.28 0.55 0.55 0.61 0.55 0.36 0.55 0.93 0.41 0.41 -omf 0.03 0.04 0.04 0.04 0.04 0.04 0.06 0.10 0.10 0.07 0.11 0.05 0.04 0.04 -omv 30.11 25.00 31.50 50.50 10.90 12.80 10.60 10.60 97.27 38.99 5.05 10.60 +omf 0.03 0.04 0.04 0.04 0.04 0.04 0.06 0.10 0.10 0.07 0.11 0.05 0.04 0.07 +omv 30.11 25.00 31.50 50.50 10.90 12.80 10.60 10.60 97.27 38.99 5.05 14.00 lifetime 35 35 40 40 40 40 40 40 35 35 35 20 20 35 35 -+ geohdr geohe hydro wind windoff spv solhe csp ++ geohdr geohe hydro windon windoff spv solhe csp tech_stat 1 inco0 3600 1200 2700 2400 5000 5160 9999 10320 constrTme 4 1 5 1 4 1 1 3 @@ -62,22 +61,22 @@ mix0 eta 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 omf 0.04 0.06 0.025 0.02 0.03 0.02 0.025 lifetime 30 25 130 25 25 30 25 30 -incolearn 1800 3600 4910 8290 +incolearn 1900 3600 5010 8290 ccap0 0.06 0.0007 0.005 0.0002 -learn 0.084 0.096 0.17 0.08 +learn 0.09 0.096 0.20 0.08 luse 0.09 0.021 + elh2 dot dhp h2turb h2curt h2turbVRE elh2VRE h22ch4 MeOH -tech_stat 4 5 5 5 3 3 -inco0 2000 480 360 510 700 510 0.1 700 800 +tech_stat 3 5 5 5 3 3 +inco0 3500 480 360 510 700 510 0.1 700 800 constrTme 2 2 1 2 2 1 1 2 2 mix0 eta 0.73 0.30 0.80 0.40 0.62 0.40 0.73 0.8 0.7 omf 0.05 0.03 0.03 0.03 0.05 0.00 0.00 0.03 0.03 omv 3 12 12 24 0 3 12 lifetime 30 25 25 30 30 30 30 30 30 -incolearn 1500 -ccap0 0.013 +incolearn 3370 +ccap0 0.00077 learn 0.15 + tdels tdbiogas tdfosgas tdbiohos tdfoshos tdh2s tdh2t @@ -135,31 +134,32 @@ omf 0.03 0.03 omv 36 76 lifetime 50 50 -+ storspv storwind storcsp -inco0 18000 7500 5400 -mix0 0.00 0.00 0.00 -eta 0.67 0.78 0.72 -omf 0.02 0.02 0.02 -lifetime 25 25 25 -incolearn 12000 4800 3800 -ccap0 0.00005 0.00005 0.00005 -learn 0.10 0.10 0.10 - -+ gridspv gridwind gridcsp -inco0 2400 860 3120 -mix0 0.00 0.00 0.00 -eta 1.00 1.00 1.00 -omf 0.02 0.02 0.02 -lifetime 45 45 45 - -+ weathering dac + ++ storspv storcsp storwindon storwindoff +inco0 18000 5400 7500 7500 +mix0 0.00 0.00 0.00 0.00 +eta 0.67 0.72 0.78 0.78 +omf 0.02 0.02 0.02 0.02 +lifetime 25 25 25 25 +incolearn 12000 3800 4800 4800 +ccap0 0.00005 0.00005 0.00005 0.00005 +learn 0.10 0.10 0.10 0.10 + ++ gridspv gridcsp gridwindon gridwindoff +inco0 2400 3120 860 860 +mix0 0.00 0.00 0.00 0.00 +eta 1.00 1.00 1.00 1.00 +omf 0.02 0.02 0.02 0.02 +lifetime 45 45 45 45 + ++ weathering dac oae_ng oae_el tech_stat 4 -inco0 0.01 18800 -mix0 0 0 -eta 1.00 1.00 -omf 0.84 0.025 +inco0 0.01 18800 200 400 +mix0 0 0 0 0 +eta 1.00 1.00 1.00 1.00 +omf 0.84 0.025 0.35 0.17 omv 0 -lifetime 20 20 +lifetime 20 20 25 25 incolearn 14000 ccap0 0.0008 learn 0.15 diff --git a/core/input/generisdata_trade.prn b/core/input/generisdata_trade.prn index 764f484ef..e171649b9 100644 --- a/core/input/generisdata_trade.prn +++ b/core/input/generisdata_trade.prn @@ -1,6 +1,5 @@ *** SOF ./core/input/generisdata_trade.prn $ontext -IMPORTANT: all costs are now given in $2015! As long as the model runs in $2005, the values need to be converted in datainput.gms tech_stat Technology status: how close a technology is to market readiness. Scale: 0-3, with 0 'I can go out and build a GW plant today' to 3 'Still some research necessary'. inco0 Initial investment costs given in $(2015)/kW(output) capacity. Independent of distance. inco0_d Initial investment costs given in $(2015)/kW(output) capacity. Per 1000km. diff --git a/core/input/generisdata_vintages.prn b/core/input/generisdata_vintages.prn index ead2b4fea..9b5ccb776 100644 --- a/core/input/generisdata_vintages.prn +++ b/core/input/generisdata_vintages.prn @@ -74,14 +74,14 @@ $offtext 36 1.0 41 1.0 -+ hydro wind spv solhe csp elh2 geohdr geohe h2turb h22ch4 MeOH -1 5.0 10.0 10.0 4.5 1.0 1.0 10.0 10.0 1 1.0 1.0 -6 5.0 5.0 5.0 2.8 0.0 5.0 5.0 -11 5.0 1.0 1.0 1.8 0.0 1.0 1.0 -16 5.0 1.1 1.0 -21 5.0 0.0 -26 5.0 0.0 -31 5.0 0.0 ++ hydro windon windoff spv solhe csp elh2 geohdr geohe h2turb h22ch4 MeOH +1 5.0 10.0 10.0 10.0 4.5 1.0 1.0 10.0 10.0 1 1.0 1.0 +6 5.0 5.0 5.0 5.0 2.8 0.0 5.0 5.0 +11 5.0 1.0 1.0 1.0 1.8 0.0 1.0 1.0 +16 5.0 1.1 1.0 +21 5.0 0.0 +26 5.0 0.0 +31 5.0 0.0 36 5.0 41 5.0 46 5.0 @@ -141,8 +141,8 @@ $offtext -+ storspv storwind storcsp gridspv gridwind gridcsp -1 1.0 1.0 1.0 1.0 1.0 1.0 ++ storspv storwindon storwindoff storcsp gridspv gridwindon gridwindoff gridcsp +1 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 + ccsinje 1 1.0 diff --git a/core/loop.gms b/core/loop.gms index 5e3e6fa54..9b195c177 100644 --- a/core/loop.gms +++ b/core/loop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/core/magicc.gms b/core/magicc.gms deleted file mode 100644 index c63c46383..000000000 --- a/core/magicc.gms +++ /dev/null @@ -1,193 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./core/magicc.gms -*** FILE magicc.gms *** -$ontext -This connects REMIND with the MAGICC model. - -TODO -- more documentation -- document MAGICC_scen_*.inc files -- document excel files and upload to tutorials -$offtext - -$ifthen %cm_rcp_scen% == "rcp20" p_MAGICC_emi(tall,RCP_regions_world,emiRCP) = magicc_default_data_450(RCP_regions_world,tall,emiRCP); -$elseif %cm_rcp_scen% == "rcp26" p_MAGICC_emi(tall,RCP_regions_world,emiRCP) = magicc_default_data_450(RCP_regions_world,tall,emiRCP); -$elseif %cm_rcp_scen% == "rcp37" p_MAGICC_emi(tall,RCP_regions_world,emiRCP) = magicc_default_data_550(RCP_regions_world,tall,emiRCP); -$elseif %cm_rcp_scen% == "rcp45" p_MAGICC_emi(tall,RCP_regions_world,emiRCP) = magicc_default_data_550(RCP_regions_world,tall,emiRCP); -$elseif %cm_rcp_scen% == "rcp60" p_MAGICC_emi(tall,RCP_regions_world,emiRCP) = magicc_default_data_bau(RCP_regions_world,tall,emiRCP); -$elseif %cm_rcp_scen% == "rcp85" p_MAGICC_emi(tall,RCP_regions_world,emiRCP) = magicc_default_data_bau(RCP_regions_world,tall,emiRCP); -$elseif %cm_rcp_scen% == "none" p_MAGICC_emi(tall,RCP_regions_world,emiRCP) = magicc_default_data_bau(RCP_regions_world,tall,emiRCP); -$else p_MAGICC_emi(tall,RCP_regions_world,emiRCP) = magicc_default_data_bau(RCP_regions_world,tall,emiRCP); -$endif - -*** populate data -p_MAGICC_emi(ttot,RCP_regions_world,"FossilCO2")$(ttot.val ge 2005) -= -sum(regi, - (vm_emiTe.l(ttot,regi,"co2")) - * p_regi_2_MAGICC_regions(regi,RCP_regions_world) -); - -p_MAGICC_emi(ttot,RCP_regions_world,"OtherCO2")$(ttot.val ge 2005) -= -sum(regi, - (vm_emiMac.l(ttot,regi,"co2") + vm_emiCdr.l(ttot,regi,"co2")) - * p_regi_2_MAGICC_regions(regi,RCP_regions_world) -); - -p_MAGICC_emi(ttot,RCP_regions_world,"CH4")$(ttot.val ge 2005) -= -sum(regi, - vm_emiAll.l(ttot,regi,"ch4") - * p_regi_2_MAGICC_regions(regi,RCP_regions_world) -); - -p_MAGICC_emi(ttot,RCP_regions_world,"N2O")$(ttot.val ge 2005) -= -sum(regi, - vm_emiAll.l(ttot,regi,"n2o") - * p_regi_2_MAGICC_regions(regi,RCP_regions_world) -); - -***--------------------------- F-gases ------------------------------- -loop(emiFgas2emiRCP(enty,emiRCP), - p_MAGICC_emi(ttot,RCP_regions_world,emiRCP)$(ttot.val ge 2005) - = - sum(regi, - vm_emiFgas.L(ttot,regi,enty) - * p_regi_2_MAGICC_regions(regi,RCP_regions_world) - ); -); - -***--------------------------- emiRCP2emiREMIND ---------------------- -loop(emiRCP2emiREMIND(emiRCP,enty3), - p_MAGICC_emi(ttot,RCP_regions_world_bunkers,emiRCP)$( ttot.val ge 2005 ) - = - (sum(regi, - p_regi_2_MAGICC_regions(regi,RCP_regions_world_bunkers) - * ( sum(all_sectorEmi, pm_emiAPexsolve(ttot,regi,all_sectorEmi,emiRCP) - ) - + pm_emiAPexo(ttot,regi,enty3,"AgWasteBurning") - + pm_emiAPexo(ttot,regi,enty3,"Agriculture") - + pm_emiAPexo(ttot,regi,enty3,"ForestBurning") - + pm_emiAPexo(ttot,regi,enty3,"GrasslandBurning") - + pm_emiAPexo(ttot,regi,enty3,"Waste") - ) - ) - + ( pm_emiAPexoGlob(ttot,enty3,"Aviation") - + pm_emiAPexoGlob(ttot,enty3,"InternationalShipping") - )$( sameas(RCP_regions_world_bunkers,"WORLD") - OR sameas(RCP_regions_world_bunkers,"BUNKERS") ) - ) - * (1 - (1 - s_NO2_2_N)$( sameas(enty3,"NOx"))) - ; -); - -*** interpolate first periods -loop(emiRCP, - loop(RCP_regions_world, - p_MAGICC_emi("2001",RCP_regions_world,emiRCP) - = - 0.8 * p_MAGICC_emi("2000",RCP_regions_world,emiRCP) - + 0.2 * p_MAGICC_emi("2005",RCP_regions_world,emiRCP) - ; - - p_MAGICC_emi("2002",RCP_regions_world,emiRCP) - = - 0.6 * p_MAGICC_emi("2000",RCP_regions_world,emiRCP) - + 0.4 * p_MAGICC_emi("2005",RCP_regions_world,emiRCP) - ; - - p_MAGICC_emi("2003",RCP_regions_world,emiRCP) - = - 0.4 * p_MAGICC_emi("2000",RCP_regions_world,emiRCP) - + 0.6 * p_MAGICC_emi("2005",RCP_regions_world,emiRCP) - ; - - p_MAGICC_emi("2004",RCP_regions_world,emiRCP) - = - 0.2 * p_MAGICC_emi("2000",RCP_regions_world,emiRCP) - + 0.8 * p_MAGICC_emi("2005",RCP_regions_world,emiRCP) - ; - ) -); - -*** generate MAGICC scenario file -put magicc_scenario - -*** MAGICC scenario files are based on the following template -$ontext -line description -1 N_SCEN_DATALINES - number of data lines, correspondes to periods -2 SCEN_SPECIALCODES - number describing the data present - 1x seems to do nothing - 2x 4 SRES regions - 3x 5 RCP regions - 4x 5 RCP regions plus bunkers - x1 8 gases and aerosols ) unsure how this relates - x2 11 gases and aerosols ) to the actual data files -3 NAME - scenario name -4 DESCRIPTION - scenario description -5 NOTES - usually creation date -6 empty -7 REGION HEADER - region name (RCP_regions_world) -8 COLUMN HEADINGS - YEARS and quantity names (emiRCP) -9 UNITS - quantity units (emiRCP2unitsMagicc) -... data - -lines 7 - 9 repeat for each region -$offtext - -put " 24" /; -put " 41" /; -put " %c_expname%" /; -put " MAGICC sceanrio file generated by REMIND core/magicc.gms" /; -put " Date created:", system.date, " ", system.time /; -put /; - -loop(RCP_regions_world_bunkers, - put " ", RCP_regions_world_bunkers.tl /; - - put " Years" - loop((numberEmiRCP,emiRCP2order(emiRCP,numberEmiRCP)), - put emiRCP.tl:>11; - ); - put /; - - put " Yrs" - loop((numberEmiRCP,emiRCP2order(emiRCP,numberEmiRCP), - emiRCP2unitsMagicc(emiRCP,unitsMagicc)), - put unitsMagicc.tl:>11; - ); - put /; - - loop(t_magiccttot$( t_magiccttot.val ge 2000 ), - put t_magiccttot.tl:>11; - loop((numberEmiRCP,emiRCP2order(emiRCP,numberEmiRCP)), - put p_MAGICC_emi(t_magiccttot,RCP_regions_world_bunkers,emiRCP):>11:4; - ) - put /; - ); - - put /; - put /; -); - -putclose magicc_scenario - -*** write sed scripts to edit MAGICC configuration files -put magicc_sed_script - -put 's| FILE_EMISSIONSCENARIO.*| FILE_EMISSIONSCENARIO = "REMIND_%c_expname%",|g' /; -put 's| RUNNAME.*| RUNNAME = "%c_expname%",|g' /; -put 's| RUNDATE.*| RUNDATE = "%system.date%",|g' /; -put 's| RF_SOLAR_SCALE =.*| RF_SOLAR_SCALE = 0,|g' /; - -putclose magicc_sed_script; - -*** EOF ./core/magicc.gms diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_OLDDEFAULT.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_OLDDEFAULT.CFG deleted file mode 100644 index 0ba4274e2..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_OLDDEFAULT.CFG +++ /dev/null @@ -1,373 +0,0 @@ - &NML_ALLCFGS - RUNNAME = "MAGICC6Run", - RUNDATE = "No Date specified.", - FILE_EMISSIONSCENARIO = "RCP45", - FILE_TUNINGMODEL = "C4MIP_BERN", - FILE_TUNINGMODEL_2 = "FULLTUNE_MEDIUM_CMIP3_ECS3", - SECTOR_INCLUDE = "NOSECTOR", - FILE_SECTOR_EMIS = "", - BULKRUNMODUS = "SINGLERUN", - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-002, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-002, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-001, - CO2_FERTILIZATION_FACTOR = 2.762800e-001, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-001, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-002, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-001, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-001, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-001, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-002, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-001, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = "3D-GFDL", - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-002, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+000, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 3.160000e-002, - CH4_PPB2TGCH4 = 2.780000e+000, - CH4_S = -3.200000e-001, - CH4_SCALEOHSENS = 1, - CH4_ANOX = 4.200000e-003, - CH4_ACO = -1.050000e-004, - CH4_AVOC = -3.150000e-004, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-001, - CH4_ADDEDSTRATH2O_PERCENT = 1.500000e-001, - CH4_RADEFF_WM2PERPPB = 3.600000e-002, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 120, - N2O_RADEFF_WM2PERPPB = 1.200000e-001, - N2O_PPB2TGN = 4.810000e+000, - N2O_S = -5.000000e-002, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 3.350000e-002, - TROPOZ_OZCH4 = 5, - TROPOZ_OZNOX = 1.250000e-001, - TROPOZ_OZCO = 1.100000e-003, - TROPOZ_OZVOC = 3.300000e-003, - STRATOZ_CLEXPON = 1.700000e+000, - STRATOZ_O3SCALE = -9.000000e-004, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+000, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+000, - AIR_BC_SCALE = 1.500000e+000, - RF_AIR_H2O_WM2 = 1.000000e-003, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-003, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-003, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 3, - CORE_FEEDBACK_QSENSITIVITY = 0, - CORE_VERTICALDIFFUSIVITY = 2.300000e+000, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-001, - CORE_VERTICALDIFF_TOP_DKDT = 0, - CORE_ADJUST_SST2OCNATM = 1.250000e+000, - CORE_DELQ2XCO2 = 3.710000e+000, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.300000e+000, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-001, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-001, - CORE_UPWELL_THRESH_TEMP_NH = 8, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 1, - CORE_HEATXCHANGE_NORTHSOUTH = 1, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = "GLOBE", - CORE_HEMISFRACTION_NH_LAND = 4.200000e-001, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-001, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-001, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-001, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-001, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-001, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+000, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-003, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+000, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-001, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-001, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+000, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-004, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+000, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-001, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-001, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-001, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-002, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = "HIST_SEALEVEL_CHURCHWHITE2006_RF.IN", - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = "ASCII", - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = "JUMPSTART", - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = "ALL", - RF_VOLCANIC_SCALE = 7.000000e-001, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 1, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 1, - RF_MHALOSUM_SCALE = 1, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -4.000000e-001, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -1.000000e-001, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 2.000000e-001, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -5.000000e-002, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -1.000000e-001, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -2.000000e-001, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.000000e-001, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -7.000000e-001, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-002, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 3.800000e-001, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -1.500000e-001, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -1.000000e-001, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -1.000000e-001, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.408900e+000, 1.370450e+000, 1.433330e+000, 1.332570e+000, - RF_REGIONS_CH4 = 5.374100e-001, 4.350400e-001, 6.001900e-001, 4.045600e-001, - RF_REGIONS_CH4OXSTRATH2O = 3.950000e-002, 4.910000e-002, 8.721000e-002, 4.262000e-002, - RF_REGIONS_N2O = 1.524000e-001, 1.403500e-001, 1.623000e-001, 1.312800e-001, - RF_REGIONS_MHALO = 1.669500e-001, 1.621800e-001, 1.550800e-001, 1.463000e-001, - RF_REGIONS_TROPOZ = 4.656500e-001, 5.164600e-001, 1.768700e-001, 2.379300e-001, - RF_REGIONS_STRATOZ = -1.189000e-002, -2.267000e-002, -6.251000e-002, -2.403600e-001, - RF_REGIONS_DUST = -8.138100e-001, -1.517150e+000, -3.276600e-001, -6.320600e-001, - RF_REGIONS_SEASALT = -1.175350e+000, -2.037600e-001, -1.825320e+000, -2.020700e-001, - RF_REGIONS_FGAS = 1.669500e-001, 1.621800e-001, 1.550800e-001, 1.463000e-001, - RF_REGIONS_CLOUD_COVER = -1.332780e+000, -1.580600e+000, -5.294200e-001, -8.112700e-001, - RF_REGIONS_CLOUD_ALBEDO = -9.656300e-001, -1.399450e+000, -3.421100e-001, -6.284600e-001, - RF_REGIONS_AIRH2O = 4.656500e-001, 5.164600e-001, 1.768700e-001, 2.379300e-001, - RF_REGIONS_CONTRAIL = 4.656500e-001, 5.164600e-001, 1.768700e-001, 2.379300e-001, - RF_REGIONS_CIRRUS = 4.656500e-001, 5.164600e-001, 1.768700e-001, 2.379300e-001, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+000, - RF_EFFICACY_TROPOZ = 8.500000e-001, - RF_EFFICACY_AER_DIR = 9.000000e-001, - RF_EFFICACY_CLOUD_ALBEDO = 1.500000e+000, - RF_EFFICACY_CLOUD_COVER = 9.000000e-001, - RF_EFFICACY_SOLAR = 8.500000e-001, - RF_EFFICACY_VOLC = 9.500000e-001, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+000, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-001, - RF_EFFICACY_CIRRUS = 6.000000e-001, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = "GISS_SOXNB_OT.IN", - FILE_SOXI_OT = "GISS_SOXI_OT.IN", - FILE_SOXT_RF = "GISS_SOX_RF.IN", - FILE_SOXI_EMIS = "HISTRCP_SOXI_EMIS.IN", - FILE_SOXB_EMIS = "HISTRCP_SOXB_EMIS.IN", - FILE_SOXN_EMIS = "HIST_SOXN_EMIS.IN", - FILE_COI_EMIS = "HISTRCP_COI_EMIS.IN", - FILE_COB_EMIS = "HISTRCP_COB_EMIS.IN", - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-001, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = "HISTRCP_BCI_EMIS.IN", - FILE_BCB_EMIS = "HISTRCP_BCB_EMIS.IN", - FILE_OCB_EMIS = "HISTRCP_OCB_EMIS.IN", - FILE_OCI_EMIS = "HISTRCP_OCI_EMIS.IN", - FILE_BCB_OT = "GISS_BCB_OT.IN", - FILE_BCI_OT = "GISS_BCI_OT.IN", - FILE_OCB_OT = "GISS_OCB_OT.IN", - FILE_OCI_OT = "GISS_OCI_OT.IN", - FILE_OCN_OT = "GISS_OCN_OT.IN", - FILE_BCSNOW_RF = "GISS_BCSNOW_RF.IN", - FILE_BCB_RF = "GISS_BCB_RF.IN", - FILE_BCI_RF = "GISS_BCI_RF.IN", - FILE_OCB_RF = "GISS_OCB_RF.IN", - FILE_OCI_RF = "GISS_OCI_RF.IN", - FILE_CO2I_EMIS = "HISTRCP_CO2I_EMIS.IN", - FILE_CO2B_EMIS = "HISTRCP_CO2B_EMIS.IN", - FILE_CH4I_EMIS = "HISTEDGAR_CH4I_EMIS.IN", - FILE_CH4B_EMIS = "HISTEDGAR_CH4B_EMIS.IN", - FILE_CH4N_EMIS = "", - FILE_N2OI_EMIS = "HISTEDGAR_N2OI_EMIS.IN", - FILE_N2OB_EMIS = "HISTEDGAR_N2OB_EMIS.IN", - FILE_N2ON_EMIS = "", - FILE_NOXI_EMIS = "HISTRCP_NOXI_EMIS.IN", - FILE_NOXB_EMIS = "HISTRCP_NOXB_EMIS.IN", - FILE_NMVOCI_EMIS = "HISTRCP_NMVOCI_EMIS.IN", - FILE_NMVOCB_EMIS = "HISTRCP_NMVOCB_EMIS.IN", - FILE_MINERALDUST_RF = "GISS_LANDUSE_RF.IN", - FILE_NOXB_OT = "MIXED_NOXB_OT.IN", - FILE_NOXI_OT = "MIXED_NOXI_OT.IN", - FILE_SS_OT = "GISS_SS_OT.IN", - FILE_CO2_CONC = "HISTRCP_CO2_CONC.IN", - FILE_CH4_CONC = "HISTRCP_CH4_CONC.IN", - FILE_N2O_CONC = "HISTRCP_N2O_CONC.IN", - FILE_VOLCANIC_RF = "HIST_VOLCANIC_RF.MON", - FILE_SOLAR_RF = "HISTRCP_SOLAR_RF.IN", - FILE_EXTRA_RF = "", - FILE_LANDUSE_RF = "GISS_LANDUSE_RF.IN", - FILE_NOXT_RF = "GISS_NOX_RF.IN", - CLOUD_WEIGHT_NOX = 8.000000e-002, - CLOUD_WEIGHT_BC = 2.000000e-002, - CLOUD_WEIGHT_OC = 1.300000e-001, - CLOUD_WEIGHT_SOX = 1.300000e-001, - CLOUD_WEIGHT_SS = 1.300000e-001, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-001, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = "CF4", "C2F6", "C6F14", "HFC23", "HFC32", "HFC43_10", "HFC125", "HFC134a", "HFC143a", "HFC227ea", "HFC245fa", "SF6", - FILE_FGAS_EMIS = "HISTRCP_CF4_EMIS.IN", "HISTRCP_C2F6_EMIS.IN", "HISTRCP_C6F14_EMIS.IN", "HISTRCP_HFC23_EMIS.IN", "HISTRCP_HFC32_EMIS.IN", "", "HISTRCP_HFC125_EMIS.IN", "HISTRCP_HFC134a_EMIS.IN", "HISTRCP_HFC143a_EMIS.IN", "HISTRCP_HFC227EA_EMIS.IN", "HISTRCP_HFC245fa_EMIS.IN", "HISTRCP_SF6_EMIS.IN", - FILE_FGAS_CONC = "HISTRCP_CF4_CONC.IN", "HISTRCP_C2F6_CONC.IN", "HISTRCP_C6F14_CONC.IN", "HISTRCP_HFC23_CONC.IN", "HISTRCP_HFC32_CONC.IN", "HISTRCP_HFC43-10_CONC.IN", "HISTRCP_HFC125_CONC.IN", "HISTRCP_HFC134a_CONC.IN", "HISTRCP_HFC143a_CONC.IN", "HISTRCP_HFC227EA_CONC.IN", "HISTRCP_HFC245fa_CONC.IN", "HISTRCP_SF6_CONC.IN", - FGAS_FORMULA = "(CF4)", "(C2F6)", "(C6F14)", "(CHF3)", "(CH2F2)", "(C5H2F10)", "(CHF2CF3)", "(CH2FCF3)", "(CH3CF3)", "(C3HF7)", "(C3H3F5)", "(SF6)", - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+000, 1.590000e+001, 29, 14, 52, 3.420000e+001, 7.600000e+000, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+000, 1.590000e+001, 29, 14, 52, 3.420000e+001, 7.600000e+000, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-001, 9.690000e-001, 9.680000e-001, 9.490000e-001, 9.490000e-001, 9.490000e-001, 9.490000e-001, 9.490000e-001, 9.490000e-001, 9.490000e-001, 9.490000e-001, 9.680000e-001, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-001, 2.600000e-001, 4.900000e-001, 1.900000e-001, 1.100000e-001, 4.000000e-001, 2.300000e-001, 1.600000e-001, 1.300000e-001, 2.600000e-001, 2.800000e-001, 5.200000e-001, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = "CFC_11", "CFC_12", "CFC_113", "CFC_114", "CFC_115", "CARB_TET", "MCF", "HCFC_22", "HCFC_141B", "HCFC_142B", "HALON1211", "HALON1202", "HALON1301", "HALON2402", "CH3BR", "CH3CL", - MHALO_FORMULA = "(CCL3F)", "(CCL2F2)", "(C2CL3F3)", "(C2CL2F4)", "(C2CLF5)", "(CCL4)", "(CH3CCL3)", "(CHCLF2)", "(CH3CCL2F)", "(CH3CCLF2)", "(CF2CLBR)", "(CBR2F2)", "(CF3BR)", "((CF2BR)2)", "(CH3BR)", "(CH3CL)", - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-001, 7.500000e-001, 7.500000e-001, 7.500000e-001, 1.060000e+000, 1.080000e+000, 3.500000e-001, 7.200000e-001, 3.600000e-001, 1.100000e+000, 8.000000e-001, 8.000000e-001, 8.000000e-001, 1.080000e+000, 1.080000e+000, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+000, 1.790000e+001, 16, 2.900000e+000, 65, 20, 7.000000e-001, 1.300000e+000, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+000, 12, 9.300000e+000, 1.790000e+001, 0, 0, 0, 0, 1.700000e+000, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+001, 0, 65, 4.857143e+001, 1.830000e+000, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-001, 3.200000e-001, 3.000000e-001, 3.100000e-001, 1.800000e-001, 1.300000e-001, 6.000000e-002, 2.000000e-001, 1.400000e-001, 2.000000e-001, 3.000000e-001, 0, 3.200000e-001, 3.300000e-001, 1.000000e-002, 1.000000e-002, - MHALO_EFF_MIXBOXSIZE = 9.690000e-001, 9.690000e-001, 9.690000e-001, 9.690000e-001, 9.690000e-001, 9.690000e-001, 9.490000e-001, 9.490000e-001, 9.490000e-001, 9.490000e-001, 9.690000e-001, 9.490000e-001, 9.690000e-001, 9.670000e-001, 9.490000e-001, 9.490000e-001, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = "RCPODS_WMO2006_MixingRatios_A1.prn", - FILE_MHALO_EMIS = "RCPODS_WMO2006_Emissions_RCP45.prn", - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-001, - GEN_AIR_GRAMMPROMOL = 2.898400e+001, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+000, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-001, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-001, 1, 1, 4.000000e-001, - GEN_RCPREGIONS2NH = 9.000000e-001, 1, 8.000000e-001, 6.000000e-001, 3.000000e-001, - GEN_RCPPLUSREGIONS2NH = 9.000000e-001, 1, 8.000000e-001, 6.000000e-001, 3.000000e-001, - RUN_ID = 3, - RUNNAME = "RCPfinal", - / diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_10.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_10.CFG deleted file mode 100644 index 3a62ee48b..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_10.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 2.633410e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 1.287935e+00, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 6.288852e-02, - CH4_RADEFF_WM2PERPPB = 3.538335e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.197483e+02, - N2O_RADEFF_WM2PERPPB = 1.187245e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 4.735645e-02, - TROPOZ_OZCH4 = 1.756473e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 1.177981e-03, - TROPOZ_OZVOC = 5.770167e-03, - STRATOZ_CLEXPON = 1.622915e+00, - STRATOZ_O3SCALE = -1.062627e-04, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 1.542527e+00, - CORE_FEEDBACK_QSENSITIVITY = 6.496038e-02, - CORE_VERTICALDIFFUSIVITY = 2.962612e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -3.333082e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.720182e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.097868e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.770290e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 1.691206e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 5.960555e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.104283e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 9.388435e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 9.454102e-01, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 9.532469e-01, - RF_MHALOSUM_SCALE = 1.007379e+00, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -4.402297e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -6.105498e-02, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 2.695595e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -4.805990e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -7.771467e-02, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -2.031370e-02, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.110027e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -4.774373e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 3.627263e-01, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -3.729631e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -2.084301e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -5.256687e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.271590e+00, 1.280830e+00, 1.393255e+00, 1.243659e+00, - RF_REGIONS_CH4 = 5.832998e-01, 4.608634e-01, 6.402052e-01, 3.949810e-01, - RF_REGIONS_CH4OXSTRATH2O = 3.672030e-02, 4.520313e-02, 8.944919e-02, 4.075396e-02, - RF_REGIONS_N2O = 1.563125e-01, 1.530309e-01, 1.698952e-01, 1.220508e-01, - RF_REGIONS_MHALO = 1.589320e-01, 1.557431e-01, 1.698011e-01, 1.320290e-01, - RF_REGIONS_TROPOZ = 4.749230e-01, 5.317165e-01, 1.615738e-01, 2.359223e-01, - RF_REGIONS_STRATOZ = -1.147410e-02, -2.364731e-02, -6.638072e-02, -2.402590e-01, - RF_REGIONS_DUST = -7.728097e-01, -1.572343e+00, -3.297695e-01, -6.161911e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.531033e-01, 1.709580e-01, 1.564008e-01, 1.379103e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -9.249759e-01, -1.391823e+00, -3.371771e-01, - -6.262632e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.142928e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 3.588346e-02, - CLOUD_WEIGHT_BC = 1.334873e-02, - CLOUD_WEIGHT_OC = 8.026152e-02, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_20.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_20.CFG deleted file mode 100644 index 48dcede5d..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_20.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 4.440848e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 8.712884e-01, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 1.931215e-01, - CH4_RADEFF_WM2PERPPB = 3.480593e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.266801e+02, - N2O_RADEFF_WM2PERPPB = 1.225008e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 4.491454e-02, - TROPOZ_OZCH4 = 3.648498e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 1.184897e-03, - TROPOZ_OZVOC = 4.909627e-03, - STRATOZ_CLEXPON = 1.553756e+00, - STRATOZ_O3SCALE = -1.634114e-03, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 2.055544e+00, - CORE_FEEDBACK_QSENSITIVITY = 2.009328e-02, - CORE_VERTICALDIFFUSIVITY = 8.318039e-01, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -3.504552e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.944291e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.475473e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.078428e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 1.324907e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 3.788086e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.076553e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 5.529020e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 1.006025e+00, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 1.083810e+00, - RF_MHALOSUM_SCALE = 9.860114e-01, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -4.393900e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -8.479235e-02, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 3.214765e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -2.205530e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -1.850603e-01, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -2.024790e-01, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 2.209453e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -8.644438e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 4.798792e-01, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -1.948733e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -2.915055e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -9.173134e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.334766e+00, 1.310910e+00, 1.392779e+00, 1.429686e+00, - RF_REGIONS_CH4 = 5.234747e-01, 4.667515e-01, 5.700533e-01, 4.233411e-01, - RF_REGIONS_CH4OXSTRATH2O = 3.609354e-02, 4.639306e-02, 9.419258e-02, 4.023138e-02, - RF_REGIONS_N2O = 1.482706e-01, 1.395490e-01, 1.755649e-01, 1.398665e-01, - RF_REGIONS_MHALO = 1.805716e-01, 1.682333e-01, 1.504903e-01, 1.419713e-01, - RF_REGIONS_TROPOZ = 4.927879e-01, 4.828534e-01, 1.848339e-01, 2.364083e-01, - RF_REGIONS_STRATOZ = -1.271299e-02, -2.485420e-02, -6.393554e-02, -2.427053e-01, - RF_REGIONS_DUST = -7.888821e-01, -1.399108e+00, -3.397831e-01, -6.717535e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.799103e-01, 1.667486e-01, 1.563906e-01, 1.329318e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -8.713283e-01, -1.299530e+00, -3.380169e-01, - -5.824434e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.145062e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 6.818569e-02, - CLOUD_WEIGHT_BC = 4.713222e-03, - CLOUD_WEIGHT_OC = 6.412881e-02, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_25.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_25.CFG deleted file mode 100644 index 18fd83ef9..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_25.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 2.529877e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 1.404156e+00, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 1.206843e-01, - CH4_RADEFF_WM2PERPPB = 3.844746e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.153051e+02, - N2O_RADEFF_WM2PERPPB = 1.305549e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 7.596605e-02, - TROPOZ_OZCH4 = 1.790555e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 8.419062e-04, - TROPOZ_OZVOC = 5.183724e-03, - STRATOZ_CLEXPON = 1.600540e+00, - STRATOZ_O3SCALE = -1.565373e-03, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 2.278399e+00, - CORE_FEEDBACK_QSENSITIVITY = 1.284542e-02, - CORE_VERTICALDIFFUSIVITY = 2.712270e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -6.571511e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 4.018148e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.427087e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 8.994772e+00, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 9.763385e-01, - CORE_HEATXCHANGE_NORTHSOUTH = 6.111573e-01, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.068780e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 3.287552e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 1.180542e+00, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 9.398604e-01, - RF_MHALOSUM_SCALE = 1.078489e+00, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -3.119089e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -1.081539e-01, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 2.883033e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -3.515508e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = 1.350190e-02, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -8.680111e-02, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 9.104058e-02, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -8.048484e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 2.297252e-01, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -4.211509e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = 1.503441e-02, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -5.176167e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.488939e+00, 1.476789e+00, 1.575577e+00, 1.215344e+00, - RF_REGIONS_CH4 = 5.734551e-01, 4.117648e-01, 5.864589e-01, 4.325857e-01, - RF_REGIONS_CH4OXSTRATH2O = 3.878292e-02, 5.007520e-02, 8.896325e-02, 3.925208e-02, - RF_REGIONS_N2O = 1.587196e-01, 1.500916e-01, 1.775122e-01, 1.191702e-01, - RF_REGIONS_MHALO = 1.730417e-01, 1.650824e-01, 1.397763e-01, 1.501655e-01, - RF_REGIONS_TROPOZ = 5.083233e-01, 4.976197e-01, 1.726275e-01, 2.392030e-01, - RF_REGIONS_STRATOZ = -1.130967e-02, -2.307855e-02, -6.815833e-02, -2.186062e-01, - RF_REGIONS_DUST = -7.947549e-01, -1.381768e+00, -3.240499e-01, -6.200076e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.611392e-01, 1.675466e-01, 1.403067e-01, 1.578985e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -9.272447e-01, -1.361751e+00, -3.340188e-01, - -6.307839e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.363709e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 5.217309e-03, - CLOUD_WEIGHT_BC = 1.074276e-02, - CLOUD_WEIGHT_OC = 9.814148e-02, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_30.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_30.CFG deleted file mode 100644 index 2baa42060..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_30.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 2.729143e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 1.195908e+00, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 3.486500e-02, - CH4_RADEFF_WM2PERPPB = 3.507262e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.186647e+02, - N2O_RADEFF_WM2PERPPB = 1.249370e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 4.310059e-02, - TROPOZ_OZCH4 = 8.763544e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 8.196568e-04, - TROPOZ_OZVOC = 4.981660e-03, - STRATOZ_CLEXPON = 2.767284e+00, - STRATOZ_O3SCALE = 4.121675e-06, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 2.453442e+00, - CORE_FEEDBACK_QSENSITIVITY = 8.029392e-03, - CORE_VERTICALDIFFUSIVITY = 2.678206e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -3.516854e-02, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.398066e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.670111e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.035145e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 5.340556e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 2.415472e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.399582e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 5.452429e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 1.791918e+00, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 1.085006e+00, - RF_MHALOSUM_SCALE = 1.010663e+00, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -3.972227e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -6.234836e-02, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 2.914312e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -4.968971e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -1.332681e-01, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -1.659537e-01, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.206255e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -8.339406e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 1.837936e-01, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -3.102949e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -2.472340e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -3.244895e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.353514e+00, 1.269177e+00, 1.356303e+00, 1.304237e+00, - RF_REGIONS_CH4 = 5.239786e-01, 4.613051e-01, 6.523875e-01, 4.244828e-01, - RF_REGIONS_CH4OXSTRATH2O = 3.922579e-02, 4.845419e-02, 8.004691e-02, 4.503075e-02, - RF_REGIONS_N2O = 1.509460e-01, 1.331090e-01, 1.606219e-01, 1.221329e-01, - RF_REGIONS_MHALO = 1.685468e-01, 1.643972e-01, 1.545449e-01, 1.376440e-01, - RF_REGIONS_TROPOZ = 4.203462e-01, 5.627439e-01, 1.882784e-01, 2.173036e-01, - RF_REGIONS_STRATOZ = -1.144897e-02, -2.143734e-02, -6.845182e-02, -2.417136e-01, - RF_REGIONS_DUST = -7.783535e-01, -1.483597e+00, -3.453398e-01, -6.473482e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.592961e-01, 1.535678e-01, 1.513064e-01, 1.386841e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -9.291431e-01, -1.377019e+00, -3.226385e-01, - -6.346771e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.476411e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 2.021721e-02, - CLOUD_WEIGHT_BC = 9.054401e-04, - CLOUD_WEIGHT_OC = 1.093270e-01, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_40.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_40.CFG deleted file mode 100644 index 6f5697fa7..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_40.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 2.379604e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 6.729724e-01, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 1.941893e-01, - CH4_RADEFF_WM2PERPPB = 3.567902e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.150250e+02, - N2O_RADEFF_WM2PERPPB = 1.114312e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 3.982780e-02, - TROPOZ_OZCH4 = 3.889318e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 1.489046e-03, - TROPOZ_OZVOC = 4.740368e-04, - STRATOZ_CLEXPON = 1.836120e+00, - STRATOZ_O3SCALE = 1.296388e-04, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 3.031586e+00, - CORE_FEEDBACK_QSENSITIVITY = 2.162848e-02, - CORE_VERTICALDIFFUSIVITY = 3.249984e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -7.367151e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.945704e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.536721e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.832829e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 2.977047e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 8.557317e-01, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.039938e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 4.583180e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 7.240710e-01, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 9.686122e-01, - RF_MHALOSUM_SCALE = 9.685607e-01, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -3.296314e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -1.189073e-01, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 1.584354e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -2.621705e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -1.144738e-01, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -2.853345e-01, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.564449e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -7.413479e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 3.652918e-01, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -8.836170e-02, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -8.424654e-02, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -7.415843e-02, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.268596e+00, 1.367193e+00, 1.328407e+00, 1.427579e+00, - RF_REGIONS_CH4 = 5.015593e-01, 4.320512e-01, 5.746158e-01, 3.925882e-01, - RF_REGIONS_CH4OXSTRATH2O = 4.016718e-02, 4.549013e-02, 9.485010e-02, 4.036510e-02, - RF_REGIONS_N2O = 1.409227e-01, 1.283775e-01, 1.711582e-01, 1.387052e-01, - RF_REGIONS_MHALO = 1.511381e-01, 1.774488e-01, 1.421263e-01, 1.602562e-01, - RF_REGIONS_TROPOZ = 4.825034e-01, 5.464502e-01, 1.677042e-01, 2.471036e-01, - RF_REGIONS_STRATOZ = -1.149499e-02, -2.076038e-02, -5.688649e-02, -2.275879e-01, - RF_REGIONS_DUST = -8.829096e-01, -1.531795e+00, -2.996952e-01, -5.795439e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.601644e-01, 1.543656e-01, 1.614886e-01, 1.565308e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -8.861556e-01, -1.292781e+00, -3.277110e-01, - -5.858111e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.535234e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 4.706306e-02, - CLOUD_WEIGHT_BC = 1.010454e-02, - CLOUD_WEIGHT_OC = 1.164438e-01, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_5.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_5.CFG deleted file mode 100644 index 6de08ac33..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_5.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 2.715691e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 6.989492e-01, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 1.309936e-01, - CH4_RADEFF_WM2PERPPB = 3.314462e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.225377e+02, - N2O_RADEFF_WM2PERPPB = 1.163660e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 2.493051e-02, - TROPOZ_OZCH4 = 8.147942e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 1.808563e-03, - TROPOZ_OZVOC = 2.658982e-03, - STRATOZ_CLEXPON = 1.705215e+00, - STRATOZ_O3SCALE = -2.408387e-04, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 1.432231e+00, - CORE_FEEDBACK_QSENSITIVITY = 6.279367e-02, - CORE_VERTICALDIFFUSIVITY = 2.311086e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -5.803186e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.693928e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.240803e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.857278e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 3.073393e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 2.473809e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.257636e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 5.019265e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 1.034075e+00, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 9.565149e-01, - RF_MHALOSUM_SCALE = 1.050455e+00, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -3.569279e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -3.342448e-02, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 2.801202e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -8.268218e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = 2.207857e-02, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -2.510961e-01, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.030957e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -3.697052e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 5.236641e-02, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -1.980245e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = 1.819835e-02, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -1.322293e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.335852e+00, 1.294862e+00, 1.524297e+00, 1.212672e+00, - RF_REGIONS_CH4 = 5.203546e-01, 4.262552e-01, 5.744590e-01, 3.855730e-01, - RF_REGIONS_CH4OXSTRATH2O = 4.323950e-02, 5.232785e-02, 9.491980e-02, 4.608507e-02, - RF_REGIONS_N2O = 1.601293e-01, 1.463899e-01, 1.773677e-01, 1.389928e-01, - RF_REGIONS_MHALO = 1.669326e-01, 1.683669e-01, 1.516468e-01, 1.511364e-01, - RF_REGIONS_TROPOZ = 4.301367e-01, 5.473473e-01, 1.597294e-01, 2.171051e-01, - RF_REGIONS_STRATOZ = -1.165976e-02, -2.368043e-02, -6.523699e-02, -2.219833e-01, - RF_REGIONS_DUST = -7.581802e-01, -1.592422e+00, -3.245762e-01, -5.901221e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.620995e-01, 1.670199e-01, 1.485412e-01, 1.559207e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -8.914656e-01, -1.290340e+00, -3.197077e-01, - -6.401310e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.160121e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 7.886333e-02, - CLOUD_WEIGHT_BC = 1.598383e-03, - CLOUD_WEIGHT_OC = 1.422714e-02, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_50.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_50.CFG deleted file mode 100644 index 88d8eeb87..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_50.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 2.881412e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 1.206182e+00, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 1.858154e-01, - CH4_RADEFF_WM2PERPPB = 3.605335e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.190044e+02, - N2O_RADEFF_WM2PERPPB = 1.262657e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 5.218028e-02, - TROPOZ_OZCH4 = 1.824962e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 3.331964e-04, - TROPOZ_OZVOC = 5.342684e-03, - STRATOZ_CLEXPON = 1.442160e+00, - STRATOZ_O3SCALE = 3.249468e-05, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 3.306609e+00, - CORE_FEEDBACK_QSENSITIVITY = 9.784484e-03, - CORE_VERTICALDIFFUSIVITY = 2.186720e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -2.078610e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.592770e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.395433e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 8.782330e+00, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 2.000382e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 3.496512e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.129075e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 3.578661e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 5.702170e-01, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 9.090867e-01, - RF_MHALOSUM_SCALE = 1.013309e+00, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -4.525122e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -1.488976e-01, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 2.605256e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -3.816419e-03, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -1.880665e-01, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -1.001261e-01, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.026392e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -5.206244e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 8.657868e-03, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -4.451003e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = 3.271331e-02, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -4.527209e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.292024e+00, 1.254207e+00, 1.436376e+00, 1.255612e+00, - RF_REGIONS_CH4 = 5.844038e-01, 4.745005e-01, 6.198272e-01, 3.964344e-01, - RF_REGIONS_CH4OXSTRATH2O = 4.014351e-02, 4.467067e-02, 9.287761e-02, 4.048908e-02, - RF_REGIONS_N2O = 1.638975e-01, 1.412224e-01, 1.544183e-01, 1.443652e-01, - RF_REGIONS_MHALO = 1.678378e-01, 1.546218e-01, 1.487707e-01, 1.354671e-01, - RF_REGIONS_TROPOZ = 5.099336e-01, 5.597137e-01, 1.707524e-01, 2.562535e-01, - RF_REGIONS_STRATOZ = -1.214901e-02, -2.478468e-02, -5.667395e-02, -2.599920e-01, - RF_REGIONS_DUST = -8.581538e-01, -1.408885e+00, -3.216563e-01, -6.206841e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.539795e-01, 1.493180e-01, 1.398438e-01, 1.390175e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -8.874726e-01, -1.324269e+00, -3.323538e-01, - -6.366846e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.790236e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 4.392779e-02, - CLOUD_WEIGHT_BC = 1.987971e-02, - CLOUD_WEIGHT_OC = 6.925479e-02, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_60.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_60.CFG deleted file mode 100644 index e5a9243b3..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_60.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 3.510062e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 1.225237e+00, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 1.505693e-01, - CH4_RADEFF_WM2PERPPB = 3.563812e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.215824e+02, - N2O_RADEFF_WM2PERPPB = 1.194066e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 4.967154e-02, - TROPOZ_OZCH4 = 2.454783e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 5.091585e-04, - TROPOZ_OZVOC = 4.327017e-03, - STRATOZ_CLEXPON = 1.261657e+00, - STRATOZ_O3SCALE = -1.923399e-03, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 3.423420e+00, - CORE_FEEDBACK_QSENSITIVITY = 5.996769e-03, - CORE_VERTICALDIFFUSIVITY = 9.664711e-01, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -6.186066e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.761478e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.576104e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 5.393700e+00, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 5.535261e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 3.033428e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.280030e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 1.513033e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 9.386456e-01, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 1.093570e+00, - RF_MHALOSUM_SCALE = 1.049710e+00, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -5.107211e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -1.484862e-02, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 1.951860e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -5.164344e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -2.809219e-01, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -3.218242e-01, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 2.602898e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -9.588365e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 4.477675e-01, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -1.973855e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -3.567215e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -1.825223e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.464502e+00, 1.431077e+00, 1.396043e+00, 1.209204e+00, - RF_REGIONS_CH4 = 5.803910e-01, 4.326931e-01, 6.050049e-01, 4.314693e-01, - RF_REGIONS_CH4OXSTRATH2O = 3.595610e-02, 4.664089e-02, 8.503199e-02, 4.033862e-02, - RF_REGIONS_N2O = 1.654331e-01, 1.377857e-01, 1.608844e-01, 1.185228e-01, - RF_REGIONS_MHALO = 1.812220e-01, 1.529246e-01, 1.667821e-01, 1.464752e-01, - RF_REGIONS_TROPOZ = 4.951341e-01, 4.985537e-01, 1.915832e-01, 2.222514e-01, - RF_REGIONS_STRATOZ = -1.099023e-02, -2.345418e-02, -6.046872e-02, -2.600027e-01, - RF_REGIONS_DUST = -7.877658e-01, -1.463548e+00, -3.113364e-01, -6.409596e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.539153e-01, 1.474787e-01, 1.452471e-01, 1.495463e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -9.646302e-01, -1.343440e+00, -3.234695e-01, - -6.772615e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.225363e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 6.732947e-03, - CLOUD_WEIGHT_BC = 6.715911e-03, - CLOUD_WEIGHT_OC = 1.026389e-02, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_70.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_70.CFG deleted file mode 100644 index d2af4536f..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_70.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 1.770367e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 1.013484e+00, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 1.320924e-01, - CH4_RADEFF_WM2PERPPB = 3.433436e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.268844e+02, - N2O_RADEFF_WM2PERPPB = 1.333312e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 4.070533e-02, - TROPOZ_OZCH4 = 4.614474e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 1.089439e-03, - TROPOZ_OZVOC = 5.212890e-03, - STRATOZ_CLEXPON = 1.505187e+00, - STRATOZ_O3SCALE = -1.537088e-03, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 3.742472e+00, - CORE_FEEDBACK_QSENSITIVITY = 4.722344e-02, - CORE_VERTICALDIFFUSIVITY = 3.587182e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -4.442037e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.681217e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.199549e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.801992e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 2.030044e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 1.686656e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.102906e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 5.213824e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 6.345254e-01, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 1.058141e+00, - RF_MHALOSUM_SCALE = 9.918357e-01, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -4.057354e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -8.669563e-02, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 3.589410e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -2.400975e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -2.019080e-01, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -8.739728e-02, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 7.826728e-02, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -6.684125e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 1.612196e-01, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -4.725376e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -2.947187e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -2.364904e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.380429e+00, 1.437399e+00, 1.405979e+00, 1.443146e+00, - RF_REGIONS_CH4 = 4.973170e-01, 4.543463e-01, 5.817915e-01, 4.050356e-01, - RF_REGIONS_CH4OXSTRATH2O = 4.072303e-02, 4.647910e-02, 9.190059e-02, 4.269257e-02, - RF_REGIONS_N2O = 1.618227e-01, 1.432294e-01, 1.704183e-01, 1.286015e-01, - RF_REGIONS_MHALO = 1.792140e-01, 1.504265e-01, 1.626175e-01, 1.395532e-01, - RF_REGIONS_TROPOZ = 5.117794e-01, 5.161490e-01, 1.707793e-01, 2.303637e-01, - RF_REGIONS_STRATOZ = -1.182046e-02, -2.399508e-02, -6.142171e-02, -2.531629e-01, - RF_REGIONS_DUST = -7.999801e-01, -1.580226e+00, -3.217684e-01, -6.061431e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.631264e-01, 1.512311e-01, 1.614612e-01, 1.348863e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -8.742598e-01, -1.313227e+00, -3.753260e-01, - -6.389053e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.681451e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 3.498739e-02, - CLOUD_WEIGHT_BC = 1.151403e-02, - CLOUD_WEIGHT_OC = 5.724520e-02, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_75.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_75.CFG deleted file mode 100644 index cf40ccac6..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_75.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 4.027448e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 1.393494e+00, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 8.224218e-02, - CH4_RADEFF_WM2PERPPB = 3.650533e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.256570e+02, - N2O_RADEFF_WM2PERPPB = 1.272988e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 2.982904e-02, - TROPOZ_OZCH4 = 7.038549e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 1.138841e-03, - TROPOZ_OZVOC = 5.940599e-03, - STRATOZ_CLEXPON = 1.196646e+00, - STRATOZ_O3SCALE = -1.411718e-03, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 3.821452e+00, - CORE_FEEDBACK_QSENSITIVITY = 4.322274e-02, - CORE_VERTICALDIFFUSIVITY = 2.155384e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -1.750886e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.843080e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.461666e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.406323e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 3.323975e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 2.188529e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.253040e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 3.854960e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 1.029872e+00, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 8.970183e-01, - RF_MHALOSUM_SCALE = 9.375014e-01, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -6.793274e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -3.393772e-02, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 3.694568e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -6.994963e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -1.494274e-01, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -2.791582e-01, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.273805e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -5.549296e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 4.222269e-01, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -4.780498e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -1.307677e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -3.556397e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.370397e+00, 1.369721e+00, 1.536058e+00, 1.393628e+00, - RF_REGIONS_CH4 = 5.832460e-01, 4.340405e-01, 6.253522e-01, 3.874127e-01, - RF_REGIONS_CH4OXSTRATH2O = 4.002291e-02, 4.974106e-02, 8.046216e-02, 4.047839e-02, - RF_REGIONS_N2O = 1.552605e-01, 1.299510e-01, 1.609373e-01, 1.420075e-01, - RF_REGIONS_MHALO = 1.506725e-01, 1.631074e-01, 1.562990e-01, 1.326012e-01, - RF_REGIONS_TROPOZ = 4.718002e-01, 5.434643e-01, 1.880139e-01, 2.224621e-01, - RF_REGIONS_STRATOZ = -1.178912e-02, -2.116406e-02, -5.941003e-02, -2.477739e-01, - RF_REGIONS_DUST = -8.549443e-01, -1.413696e+00, -3.161070e-01, -6.236696e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.608003e-01, 1.767181e-01, 1.667078e-01, 1.317924e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -1.061523e+00, -1.360082e+00, -3.532505e-01, - -6.781160e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.504870e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 6.330295e-02, - CLOUD_WEIGHT_BC = 9.070406e-03, - CLOUD_WEIGHT_OC = 2.338521e-02, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_80.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_80.CFG deleted file mode 100644 index 74559dc21..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_80.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 2.893226e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 1.316649e+00, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 7.265029e-02, - CH4_RADEFF_WM2PERPPB = 3.617999e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.231949e+02, - N2O_RADEFF_WM2PERPPB = 1.277044e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 3.403685e-02, - TROPOZ_OZCH4 = 2.996990e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 1.905922e-03, - TROPOZ_OZVOC = 1.339988e-03, - STRATOZ_CLEXPON = 1.399969e+00, - STRATOZ_O3SCALE = -2.410419e-03, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 3.882764e+00, - CORE_FEEDBACK_QSENSITIVITY = 1.512225e-02, - CORE_VERTICALDIFFUSIVITY = 2.077524e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -9.599971e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.867748e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.377044e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.360124e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 2.957733e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 1.863570e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.045858e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 4.337621e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 6.624723e-01, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 9.457355e-01, - RF_MHALOSUM_SCALE = 1.030004e+00, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -4.790766e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -1.457221e-01, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 9.077610e-02, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -7.285218e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -2.889816e-01, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -8.335339e-02, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.624899e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -7.659892e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 5.292232e-02, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -4.235557e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -3.200368e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -4.563584e-02, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.365869e+00, 1.441406e+00, 1.442599e+00, 1.416602e+00, - RF_REGIONS_CH4 = 5.247564e-01, 4.252182e-01, 5.626824e-01, 3.916233e-01, - RF_REGIONS_CH4OXSTRATH2O = 3.774143e-02, 4.702275e-02, 8.628885e-02, 3.910838e-02, - RF_REGIONS_N2O = 1.402141e-01, 1.281181e-01, 1.543118e-01, 1.292645e-01, - RF_REGIONS_MHALO = 1.782141e-01, 1.649880e-01, 1.669818e-01, 1.344954e-01, - RF_REGIONS_TROPOZ = 4.742209e-01, 5.253388e-01, 1.882455e-01, 2.462144e-01, - RF_REGIONS_STRATOZ = -1.282303e-02, -2.304158e-02, -5.742297e-02, -2.404749e-01, - RF_REGIONS_DUST = -8.575130e-01, -1.469793e+00, -3.562191e-01, -6.658708e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.698526e-01, 1.639311e-01, 1.463350e-01, 1.326586e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -9.315089e-01, -1.323656e+00, -3.288883e-01, - -5.795132e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.193542e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 4.992640e-02, - CLOUD_WEIGHT_BC = 1.674244e-02, - CLOUD_WEIGHT_OC = 1.156406e-01, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_90.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_90.CFG deleted file mode 100644 index 2e4ff47de..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_90.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 3.499321e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 5.677909e-01, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 7.563961e-02, - CH4_RADEFF_WM2PERPPB = 3.394596e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.164712e+02, - N2O_RADEFF_WM2PERPPB = 1.317847e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 5.347617e-02, - TROPOZ_OZCH4 = 4.484083e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 7.987451e-04, - TROPOZ_OZVOC = 4.597080e-03, - STRATOZ_CLEXPON = 2.833972e+00, - STRATOZ_O3SCALE = -1.241984e-04, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 4.963997e+00, - CORE_FEEDBACK_QSENSITIVITY = 3.826001e-03, - CORE_VERTICALDIFFUSIVITY = 2.148265e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -3.282286e-02, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.783838e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.568358e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.592634e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 2.341012e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 4.068571e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.265438e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 2.305723e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 5.121650e-01, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 8.967515e-01, - RF_MHALOSUM_SCALE = 1.091763e+00, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -3.235283e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -1.950106e-01, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 1.475728e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -8.976867e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = 4.668570e-02, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -2.612334e-01, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.386970e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -9.206301e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 6.065666e-02, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -4.291638e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -2.639204e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -1.842910e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.464361e+00, 1.429713e+00, 1.386008e+00, 1.368385e+00, - RF_REGIONS_CH4 = 5.026153e-01, 4.693313e-01, 6.338161e-01, 4.348112e-01, - RF_REGIONS_CH4OXSTRATH2O = 3.606429e-02, 4.783585e-02, 8.116580e-02, 4.535085e-02, - RF_REGIONS_N2O = 1.536018e-01, 1.496119e-01, 1.556558e-01, 1.292838e-01, - RF_REGIONS_MHALO = 1.537098e-01, 1.724253e-01, 1.548310e-01, 1.533807e-01, - RF_REGIONS_TROPOZ = 4.787563e-01, 5.595337e-01, 1.758969e-01, 2.283455e-01, - RF_REGIONS_STRATOZ = -1.135280e-02, -2.040398e-02, -6.276429e-02, -2.418328e-01, - RF_REGIONS_DUST = -8.807528e-01, -1.636237e+00, -3.056518e-01, -6.867606e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.646748e-01, 1.634533e-01, 1.402904e-01, 1.496054e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -9.617325e-01, -1.328022e+00, -3.730965e-01, - -6.232421e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.424341e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 8.003352e-03, - CLOUD_WEIGHT_BC = 1.101463e-02, - CLOUD_WEIGHT_OC = 1.193306e-01, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_95.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_95.CFG deleted file mode 100644 index 8f5748b2e..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_95.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 4.261251e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 8.922372e-01, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 5.751918e-02, - CH4_RADEFF_WM2PERPPB = 3.858460e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.261372e+02, - N2O_RADEFF_WM2PERPPB = 1.164975e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 3.106467e-02, - TROPOZ_OZCH4 = 5.229531e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 1.138139e-03, - TROPOZ_OZVOC = 1.101899e-03, - STRATOZ_CLEXPON = 1.093568e+00, - STRATOZ_O3SCALE = -1.985234e-03, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 4.884203e+00, - CORE_FEEDBACK_QSENSITIVITY = 2.510646e-02, - CORE_VERTICALDIFFUSIVITY = 1.502696e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -1.681192e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 4.035668e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.211444e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.248599e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 3.055681e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 2.836175e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.086855e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 3.908451e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 6.932245e-01, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 9.884227e-01, - RF_MHALOSUM_SCALE = 9.544850e-01, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -2.909293e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -1.007907e-01, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 3.250096e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -2.910237e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -2.461351e-01, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -1.032942e-01, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.348056e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -1.272396e+00, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 8.718888e-03, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -1.504486e-02, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -3.207330e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -1.784640e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.480169e+00, 1.290402e+00, 1.475429e+00, 1.362277e+00, - RF_REGIONS_CH4 = 5.068230e-01, 4.560501e-01, 5.739127e-01, 3.836748e-01, - RF_REGIONS_CH4OXSTRATH2O = 3.627187e-02, 4.828272e-02, 8.876196e-02, 4.088598e-02, - RF_REGIONS_N2O = 1.591589e-01, 1.286626e-01, 1.612571e-01, 1.296221e-01, - RF_REGIONS_MHALO = 1.701501e-01, 1.496639e-01, 1.661269e-01, 1.533848e-01, - RF_REGIONS_TROPOZ = 4.532902e-01, 4.687752e-01, 1.875834e-01, 2.530349e-01, - RF_REGIONS_STRATOZ = -1.241825e-02, -2.156380e-02, -6.269046e-02, -2.459473e-01, - RF_REGIONS_DUST = -7.930380e-01, -1.387988e+00, -3.313228e-01, -6.715079e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.815743e-01, 1.527325e-01, 1.654199e-01, 1.334817e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -1.041596e+00, -1.466398e+00, -3.532705e-01, - -6.446576e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.261364e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 9.676805e-03, - CLOUD_WEIGHT_BC = 1.126510e-03, - CLOUD_WEIGHT_OC = 1.110358e-02, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_HIGH.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_HIGH.CFG deleted file mode 100644 index c1e041bbe..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_HIGH.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 3.445246e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 5.480139e-01, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 1.383356e-01, - CH4_RADEFF_WM2PERPPB = 3.510757e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.143355e+02, - N2O_RADEFF_WM2PERPPB = 1.130595e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 6.260952e-02, - TROPOZ_OZCH4 = 3.666770e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 9.117309e-04, - TROPOZ_OZVOC = 2.410161e-04, - STRATOZ_CLEXPON = 1.384111e+00, - STRATOZ_O3SCALE = -1.260286e-03, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 4.411012e+00, - CORE_FEEDBACK_QSENSITIVITY = 5.898531e-02, - CORE_VERTICALDIFFUSIVITY = 3.098415e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -6.443755e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.677581e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.332355e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.522179e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 1.549903e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 4.387121e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.011148e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 1.483743e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 1.652167e+00, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 8.805204e-01, - RF_MHALOSUM_SCALE = 9.828918e-01, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -3.509028e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -2.161196e-01, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 1.443415e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -6.713682e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = 3.009231e-02, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -1.197413e-01, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 8.396246e-02, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -8.129124e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 3.271055e-01, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -2.834066e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -2.892874e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -9.779043e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.477532e+00, 1.425773e+00, 1.382526e+00, 1.291349e+00, - RF_REGIONS_CH4 = 5.778574e-01, 4.641796e-01, 5.679130e-01, 4.248548e-01, - RF_REGIONS_CH4OXSTRATH2O = 4.023558e-02, 5.344405e-02, 9.558673e-02, 4.152728e-02, - RF_REGIONS_N2O = 1.545350e-01, 1.359822e-01, 1.712382e-01, 1.361315e-01, - RF_REGIONS_MHALO = 1.834496e-01, 1.630034e-01, 1.570273e-01, 1.560114e-01, - RF_REGIONS_TROPOZ = 4.919093e-01, 4.970447e-01, 1.798601e-01, 2.592846e-01, - RF_REGIONS_STRATOZ = -1.136307e-02, -2.109854e-02, -6.039613e-02, -2.505260e-01, - RF_REGIONS_DUST = -7.349778e-01, -1.625038e+00, -3.116890e-01, -5.758361e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.641496e-01, 1.644830e-01, 1.673352e-01, 1.525233e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -9.995975e-01, -1.374549e+00, -3.687059e-01, - -6.040238e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.664548e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 2.997787e-02, - CLOUD_WEIGHT_BC = 9.053648e-03, - CLOUD_WEIGHT_OC = 8.555962e-02, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_HIGHEST.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_HIGHEST.CFG deleted file mode 100644 index 52f897e0a..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_HIGHEST.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 4.579801e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 1.444303e+00, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 1.771107e-01, - CH4_RADEFF_WM2PERPPB = 3.729165e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.176698e+02, - N2O_RADEFF_WM2PERPPB = 1.309488e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 4.349261e-02, - TROPOZ_OZCH4 = 2.032974e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 9.537868e-04, - TROPOZ_OZVOC = 3.342205e-05, - STRATOZ_CLEXPON = 1.238317e+00, - STRATOZ_O3SCALE = 3.574811e-04, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 4.603557e+00, - CORE_FEEDBACK_QSENSITIVITY = 4.859755e-02, - CORE_VERTICALDIFFUSIVITY = 1.547179e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -7.214537e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.704033e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.302001e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.259511e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 5.811624e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 1.535272e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.180982e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 4.367448e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 1.303530e+00, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 9.448155e-01, - RF_MHALOSUM_SCALE = 1.014159e+00, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -4.597236e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -3.790605e-02, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 3.483430e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -3.200989e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -1.232622e-01, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -3.055007e-01, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.636602e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -8.289705e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 3.847447e-01, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -1.211493e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -1.426387e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -6.048716e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.509208e+00, 1.377123e+00, 1.515339e+00, 1.254456e+00, - RF_REGIONS_CH4 = 5.525853e-01, 4.736101e-01, 5.456790e-01, 3.967807e-01, - RF_REGIONS_CH4OXSTRATH2O = 4.026995e-02, 4.674415e-02, 8.192262e-02, 4.392348e-02, - RF_REGIONS_N2O = 1.405635e-01, 1.326883e-01, 1.464424e-01, 1.270371e-01, - RF_REGIONS_MHALO = 1.548323e-01, 1.483310e-01, 1.681116e-01, 1.504941e-01, - RF_REGIONS_TROPOZ = 4.402344e-01, 5.312342e-01, 1.676871e-01, 2.433016e-01, - RF_REGIONS_STRATOZ = -1.254587e-02, -2.378146e-02, -5.645602e-02, -2.322058e-01, - RF_REGIONS_DUST = -8.387823e-01, -1.490585e+00, -3.321029e-01, -6.018774e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.613518e-01, 1.534668e-01, 1.648974e-01, 1.438251e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -9.067978e-01, -1.484282e+00, -3.490235e-01, - -6.588450e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.960155e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 4.002979e-02, - CLOUD_WEIGHT_BC = 1.430784e-02, - CLOUD_WEIGHT_OC = 2.585157e-02, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_LOW.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_LOW.CFG deleted file mode 100644 index c2bbb8b58..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_LOW.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 3.656489e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 5.044017e-01, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 1.243387e-01, - CH4_RADEFF_WM2PERPPB = 3.435164e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.162180e+02, - N2O_RADEFF_WM2PERPPB = 1.266883e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 6.997049e-02, - TROPOZ_OZCH4 = 1.161398e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 2.003758e-03, - TROPOZ_OZVOC = 5.909930e-03, - STRATOZ_CLEXPON = 1.709285e+00, - STRATOZ_O3SCALE = -7.987788e-04, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 2.885049e+00, - CORE_FEEDBACK_QSENSITIVITY = 6.583779e-03, - CORE_VERTICALDIFFUSIVITY = 1.670700e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -7.291706e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.605995e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.411657e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.083359e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 5.691565e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 4.786790e-01, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.169154e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 6.999082e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 6.729232e-01, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 9.186435e-01, - RF_MHALOSUM_SCALE = 9.916446e-01, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -2.065168e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -7.931000e-02, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 2.490551e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -3.307180e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -1.046906e-01, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -1.290565e-02, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.134475e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -1.428417e+00, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 1.601853e-02, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -3.691520e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -1.681984e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -6.925411e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.500010e+00, 1.321910e+00, 1.479338e+00, 1.461816e+00, - RF_REGIONS_CH4 = 5.063772e-01, 4.423340e-01, 5.635971e-01, 4.333125e-01, - RF_REGIONS_CH4OXSTRATH2O = 3.645257e-02, 4.520249e-02, 8.424786e-02, 4.244606e-02, - RF_REGIONS_N2O = 1.662976e-01, 1.512665e-01, 1.531975e-01, 1.387073e-01, - RF_REGIONS_MHALO = 1.513940e-01, 1.704256e-01, 1.657257e-01, 1.467645e-01, - RF_REGIONS_TROPOZ = 4.457981e-01, 5.360565e-01, 1.875563e-01, 2.515799e-01, - RF_REGIONS_STRATOZ = -1.099973e-02, -2.423330e-02, -6.033321e-02, -2.435133e-01, - RF_REGIONS_DUST = -7.720209e-01, -1.497635e+00, -3.309509e-01, -6.639820e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.825527e-01, 1.696367e-01, 1.683149e-01, 1.373588e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -9.032947e-01, -1.335671e+00, -3.741620e-01, - -6.858312e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.031622e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 1.567196e-02, - CLOUD_WEIGHT_BC = 1.655389e-02, - CLOUD_WEIGHT_OC = 7.451261e-03, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_LOWEST.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_LOWEST.CFG deleted file mode 100644 index 7cb87c471..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_LOWEST.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 4.538979e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 1.401796e+00, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 1.514836e-01, - CH4_RADEFF_WM2PERPPB = 3.468232e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.284796e+02, - N2O_RADEFF_WM2PERPPB = 1.087760e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 5.447526e-02, - TROPOZ_OZCH4 = 8.725279e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 7.849893e-04, - TROPOZ_OZVOC = 7.197220e-04, - STRATOZ_CLEXPON = 1.693989e+00, - STRATOZ_O3SCALE = -1.369588e-03, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 2.072878e+00, - CORE_FEEDBACK_QSENSITIVITY = 1.656200e-02, - CORE_VERTICALDIFFUSIVITY = 2.041801e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -8.035874e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.841561e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.280593e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.244006e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 5.607948e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 2.679194e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.143532e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 7.510035e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 5.718636e-01, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 9.142577e-01, - RF_MHALOSUM_SCALE = 1.004074e+00, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -1.954909e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -2.116074e-02, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 2.471043e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -9.964417e-03, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -1.495428e-02, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -8.470785e-02, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.506301e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -9.850379e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 3.784089e-01, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -2.458193e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -3.774348e-02, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -4.989149e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.497316e+00, 1.288709e+00, 1.506564e+00, 1.311039e+00, - RF_REGIONS_CH4 = 4.903749e-01, 4.777626e-01, 5.665751e-01, 3.775842e-01, - RF_REGIONS_CH4OXSTRATH2O = 3.701877e-02, 4.718993e-02, 7.873920e-02, 4.502531e-02, - RF_REGIONS_N2O = 1.417162e-01, 1.274479e-01, 1.688677e-01, 1.374615e-01, - RF_REGIONS_MHALO = 1.605066e-01, 1.644210e-01, 1.677379e-01, 1.587119e-01, - RF_REGIONS_TROPOZ = 4.354847e-01, 4.957969e-01, 1.677621e-01, 2.329081e-01, - RF_REGIONS_STRATOZ = -1.166136e-02, -2.311789e-02, -6.471787e-02, -2.314355e-01, - RF_REGIONS_DUST = -8.277590e-01, -1.465699e+00, -3.435604e-01, -5.787131e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.790686e-01, 1.525812e-01, 1.415458e-01, 1.506602e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -9.969404e-01, -1.403577e+00, -3.456996e-01, - -6.234505e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.518190e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 7.164254e-02, - CLOUD_WEIGHT_BC = 1.511107e-02, - CLOUD_WEIGHT_OC = 1.126824e-01, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_MEDIUM.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_MEDIUM.CFG deleted file mode 100644 index c89d78c01..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_MEDIUM.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 2.809659e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 1.033069e+00, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 1.424598e-01, - CH4_RADEFF_WM2PERPPB = 3.659383e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.123163e+02, - N2O_RADEFF_WM2PERPPB = 1.277198e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 4.352713e-02, - TROPOZ_OZCH4 = 2.502159e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 9.529815e-04, - TROPOZ_OZVOC = 5.995344e-03, - STRATOZ_CLEXPON = 1.220016e+00, - STRATOZ_O3SCALE = -2.146723e-03, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 3.843729e+00, - CORE_FEEDBACK_QSENSITIVITY = 3.965841e-02, - CORE_VERTICALDIFFUSIVITY = 2.685954e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -2.254281e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.845483e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.296075e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.983984e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 2.136668e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 4.969111e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.101314e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 4.347524e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 5.039020e-01, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 9.352535e-01, - RF_MHALOSUM_SCALE = 9.628737e-01, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -2.384348e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -1.566074e-01, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 2.220403e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -5.328598e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -1.056964e-01, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = 5.234556e-02, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 8.778960e-02, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -1.101560e+00, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 1.798129e-01, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -2.194826e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -1.660279e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -3.790486e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.300766e+00, 1.356401e+00, 1.312928e+00, 1.396284e+00, - RF_REGIONS_CH4 = 5.590241e-01, 4.109064e-01, 6.447936e-01, 4.045827e-01, - RF_REGIONS_CH4OXSTRATH2O = 3.704368e-02, 4.464406e-02, 8.035311e-02, 4.335868e-02, - RF_REGIONS_N2O = 1.630634e-01, 1.302121e-01, 1.473878e-01, 1.260378e-01, - RF_REGIONS_MHALO = 1.835121e-01, 1.783708e-01, 1.681008e-01, 1.537570e-01, - RF_REGIONS_TROPOZ = 4.453007e-01, 5.275533e-01, 1.733113e-01, 2.589550e-01, - RF_REGIONS_STRATOZ = -1.243026e-02, -2.257052e-02, -6.773546e-02, -2.244524e-01, - RF_REGIONS_DUST = -8.227563e-01, -1.483534e+00, -3.213107e-01, -5.921985e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.685741e-01, 1.648852e-01, 1.515453e-01, 1.400666e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -9.439653e-01, -1.380785e+00, -3.340435e-01, - -6.562119e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.432281e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 2.828088e-02, - CLOUD_WEIGHT_BC = 1.290208e-02, - CLOUD_WEIGHT_OC = 2.642483e-04, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/magicc_scen_450.inc b/core/magicc/magicc_scen_450.inc deleted file mode 100644 index d25065e74..000000000 --- a/core/magicc/magicc_scen_450.inc +++ /dev/null @@ -1,153 +0,0 @@ -*** SOF ./core/magicc/magicc_scen_450.inc -Table magicc_default_data_450(RCP_regions_world_bunkers,tall,emiRCP) - FossilCO2 OtherCO2 CH4 N2O SOx CO NMVOC NOx BC OC NH3 CF4 C2F6 C6F14 HFC23 HFC32 HFC43-10 HFC125 HFC134a HFC143a HFC227ea HFC245fa SF6 -*** GtC GtC MtCH4 MtN2O-N MtS MtCO Mt MtN Mt Mt MtN kt kt kt kt kt kt kt kt kt kt kt kt - WORLD.2000 6.735000 1.148800 300.207000 7.456700 53.841300 1068.000900 210.623000 38.162300 7.804800 35.543400 40.018500 12.000000 2.375000 0.462400 10.394900 4.000000 0.000000 8.538100 75.039400 6.234100 1.951000 17.925700 5.538200 - WORLD.2005 7.971000 1.195500 315.902700 7.684200 56.719500 1061.525500 215.462900 38.794800 8.251200 36.391700 41.883700 11.605900 2.649500 0.435800 10.811700 10.993400 3.235200 13.759100 120.933400 12.448300 4.890000 26.888600 6.340800 - WORLD.2010 8.821400 1.056500 336.622800 7.838000 55.818000 1030.771100 217.149500 39.223300 8.623100 36.601700 43.667800 14.916700 4.924100 0.466600 9.522200 17.942100 6.453900 26.278700 157.042700 21.615500 8.979300 51.053400 6.623100 - WORLD.2015 9.054500 1.014650 296.695400 7.600650 50.015350 1006.708950 215.220050 37.916400 8.502600 36.679150 45.696100 13.566750 5.161200 0.325500 5.337300 39.292050 6.839700 57.813800 165.460850 42.994800 5.293500 41.687400 4.433650 - WORLD.2020 9.287600 0.972800 256.768000 7.363300 44.212700 982.646800 213.290600 36.609500 8.382100 36.756600 47.724400 12.216800 5.398300 0.184400 1.152400 60.642000 7.225500 89.348900 173.879000 64.374100 1.607700 32.321400 2.244200 - WORLD.2025 8.222250 0.880800 246.200100 7.334150 36.909350 954.307600 206.946200 34.087200 7.662350 36.121400 49.423850 9.455850 3.641900 0.148100 0.921900 66.338650 7.675450 99.124050 184.032300 69.964700 1.201500 17.747850 2.098250 - WORLD.2030 7.156900 0.788800 235.632200 7.305000 29.606000 925.968400 200.601800 31.564900 6.942600 35.486200 51.123300 6.694900 1.885500 0.111800 0.691400 72.035300 8.125400 108.899200 194.185600 75.555300 0.795300 3.174300 1.952300 - WORLD.2035 5.845900 0.638850 230.330350 7.241100 24.748350 901.954400 196.426950 30.785650 6.314300 33.750100 52.221750 5.873550 1.486550 0.112300 0.552400 76.373500 8.745050 116.930300 203.507400 79.639800 0.840700 1.587150 1.759950 - WORLD.2040 4.534900 0.488900 225.028500 7.177200 19.890700 877.940400 192.252100 30.006400 5.686000 32.014000 53.320200 5.052200 1.087600 0.112800 0.413400 80.711700 9.364700 124.961400 212.829200 83.724300 0.886100 0.000000 1.567600 - WORLD.2045 3.860200 0.345050 207.163300 6.711900 17.732600 849.076500 185.381650 29.454750 5.313250 30.993450 54.427950 3.845350 0.779400 0.110750 0.329850 77.659600 10.229950 122.049100 205.590100 80.406700 0.590950 0.000000 1.099900 - WORLD.2050 3.185500 0.201200 189.298100 6.246600 15.574500 820.212600 178.511200 28.903100 4.940500 29.972900 55.535700 2.638500 0.471200 0.108700 0.246300 74.607500 11.095200 119.136800 198.351000 77.089100 0.295800 0.000000 0.632200 - WORLD.2055 2.302350 0.408250 177.883000 5.982350 14.637100 799.700800 172.459350 28.049750 4.685150 29.840400 57.026500 2.407250 0.396950 0.108050 0.191900 79.346600 11.104100 128.966900 212.353900 81.841250 0.219000 0.000000 0.565350 - WORLD.2060 1.419200 0.615300 166.467900 5.718100 13.699700 779.189000 166.407500 27.196400 4.429800 29.707900 58.517300 2.176000 0.322700 0.107400 0.137500 84.085700 11.113000 138.797000 226.356800 86.593400 0.142200 0.000000 0.498500 - WORLD.2065 0.767400 0.576750 163.888200 5.729600 12.782900 745.840250 158.353850 25.600250 4.186400 28.884750 59.979400 2.156850 0.291800 0.107000 0.105250 88.982950 11.080050 148.989600 241.101600 91.050050 0.136850 0.000000 0.458400 - WORLD.2070 0.115600 0.538200 161.308500 5.741100 11.866100 712.491500 150.300200 24.004100 3.943000 28.061600 61.441500 2.137700 0.260900 0.106600 0.073000 93.880200 11.047100 159.182200 255.846400 95.506700 0.131500 0.000000 0.418300 - WORLD.2075 -0.158650 0.544000 158.192250 5.677250 10.810500 688.112550 144.461000 22.314900 3.808400 27.466150 62.413450 1.790850 0.206100 0.104900 0.055150 95.075750 11.002000 162.875500 260.773200 95.658250 0.125950 0.000000 0.367050 - WORLD.2080 -0.432900 0.549800 155.076000 5.613400 9.754900 663.733600 138.621800 20.625700 3.673800 26.870700 63.385400 1.444000 0.151300 0.103200 0.037300 96.271300 10.956900 166.568800 265.700000 95.809800 0.120400 0.000000 0.315800 - WORLD.2085 -0.651650 0.576100 151.757400 5.537050 8.790250 650.291250 134.931900 19.593950 3.609500 26.634300 64.352000 1.319850 0.121650 0.100200 0.018650 93.737450 10.854750 164.062500 261.273950 92.286300 0.113550 0.000000 0.250500 - WORLD.2090 -0.870400 0.602400 148.438800 5.460700 7.825600 636.848900 131.242000 18.562200 3.545200 26.397900 65.318600 1.195700 0.092000 0.097200 0.000000 91.203600 10.752600 161.556200 256.847900 88.762800 0.106700 0.000000 0.185200 - WORLD.2095 -0.900600 0.556800 145.245750 5.371500 7.140350 622.346350 128.376200 17.275900 3.451550 25.864500 66.278350 1.143900 0.088850 0.092900 0.000000 86.215200 10.579050 154.884950 246.120200 83.110050 0.098900 0.000000 0.114700 - WORLD.2100 -0.930800 0.511200 142.052700 5.282300 6.455100 607.843800 125.510400 15.989600 3.357900 25.331100 67.238100 1.092100 0.085700 0.088600 0.000000 81.226800 10.405500 148.213700 235.392500 77.457300 0.091100 0.000000 0.044200 - R5OECD.2000 3.191400 0.125900 60.702000 2.212500 14.265500 189.734600 37.761500 11.879900 1.247700 3.308200 9.041700 6.596300 1.399100 0.409200 5.783600 2.807900 0.000000 5.816700 55.289100 4.257000 1.803100 14.690400 3.387900 - R5OECD.2005 3.348200 0.125900 59.088600 2.132100 11.976900 146.014800 32.897500 9.885000 1.090500 3.073500 9.121200 6.315000 1.532000 0.383900 3.454700 6.756500 2.849100 7.906400 84.548800 7.185700 4.343900 22.035600 3.421900 - R5OECD.2010 3.451300 0.136300 60.091900 2.036600 10.101400 114.106500 30.482200 8.849600 1.123800 3.118500 9.102100 8.152900 2.786600 0.411100 2.452600 10.499200 5.684600 13.496300 102.265500 11.084100 7.567500 39.298400 3.382500 - R5OECD.2015 3.314650 0.108850 48.512200 1.832550 7.793450 110.057100 29.860250 7.857500 1.072850 3.102250 9.099200 7.118700 2.650150 0.286800 1.335100 22.748000 5.827800 29.177550 104.327850 21.475450 4.428850 31.592600 2.131150 - R5OECD.2020 3.178000 0.081400 36.932500 1.628500 5.485500 106.007700 29.238300 6.865400 1.021900 3.086000 9.096300 6.084500 2.513700 0.162500 0.217600 34.996800 5.971000 44.858800 106.390200 31.866800 1.290200 23.886800 0.879800 - R5OECD.2025 2.711300 0.074500 34.172300 1.614750 4.052000 99.177650 27.348700 5.877750 0.893500 3.133850 9.237850 4.595200 1.696200 0.130500 0.174050 34.521150 6.072350 45.740200 103.498600 31.689100 0.924850 12.985300 0.736900 - R5OECD.2030 2.244600 0.067600 31.412100 1.601000 2.618500 92.347600 25.459100 4.890100 0.765100 3.181700 9.379400 3.105900 0.878700 0.098500 0.130500 34.045500 6.173700 46.621600 100.607000 31.511400 0.559500 2.083800 0.594000 - R5OECD.2035 1.664650 0.081400 29.871500 1.571600 1.972200 84.691250 23.614650 4.297250 0.688700 3.039750 9.403400 2.679500 0.691400 0.098950 0.104300 32.085300 6.233500 45.272600 95.236100 29.937400 0.538200 1.041900 0.494850 - R5OECD.2040 1.084700 0.095200 28.330900 1.542200 1.325900 77.034900 21.770200 3.704400 0.612300 2.897800 9.427400 2.253100 0.504100 0.099400 0.078100 30.125100 6.293300 43.923600 89.865200 28.363400 0.516900 0.000000 0.395700 - R5OECD.2045 0.851500 0.047850 25.807450 1.466050 1.155600 70.594150 19.991250 3.331800 0.570250 2.821300 9.351350 1.698450 0.360200 0.097550 0.062300 26.272900 6.315150 39.299150 78.958550 24.916250 0.328000 0.000000 0.295750 - R5OECD.2050 0.618300 0.000500 23.284000 1.389900 0.985300 64.153400 18.212300 2.959200 0.528200 2.744800 9.275300 1.143800 0.216300 0.095700 0.046500 22.420700 6.337000 34.674700 68.051900 21.469100 0.139100 0.000000 0.195800 - R5OECD.2055 0.364700 0.076800 22.097800 1.325700 0.907900 61.836450 16.633000 2.853200 0.481300 2.795950 9.367750 1.031500 0.181050 0.095150 0.036250 21.443150 6.333900 34.065150 65.347350 20.696550 0.095650 0.000000 0.169100 - R5OECD.2060 0.111100 0.153100 20.911600 1.261500 0.830500 59.519500 15.053700 2.747200 0.434400 2.847100 9.460200 0.919200 0.145800 0.094600 0.026000 20.465600 6.330800 33.455600 62.642800 19.924000 0.052200 0.000000 0.142400 - R5OECD.2065 -0.100550 0.136100 20.623000 1.245950 0.775950 56.873800 13.544050 2.629500 0.394550 2.759950 9.529400 0.900350 0.130450 0.094250 0.019900 19.521900 6.327600 32.728300 59.959500 19.152900 0.044600 0.000000 0.126000 - R5OECD.2070 -0.312200 0.119100 20.334400 1.230400 0.721400 54.228100 12.034400 2.511800 0.354700 2.672800 9.598600 0.881500 0.115100 0.093900 0.013800 18.578200 6.324400 32.001000 57.276200 18.381800 0.037000 0.000000 0.109600 - R5OECD.2075 -0.340350 0.124150 20.000050 1.196700 0.683450 52.812900 11.332450 2.328050 0.338250 2.643300 9.597050 0.732350 0.089900 0.092400 0.010400 17.090700 6.342400 30.115050 52.905400 17.030250 0.031350 0.000000 0.093100 - R5OECD.2080 -0.368500 0.129200 19.665700 1.163000 0.645500 51.397700 10.630500 2.144300 0.321800 2.613800 9.595500 0.583200 0.064700 0.090900 0.007000 15.603200 6.360400 28.229100 48.534600 15.678700 0.025700 0.000000 0.076600 - R5OECD.2085 -0.386450 0.133600 19.158300 1.135800 0.631350 51.689050 10.442150 2.039900 0.325600 2.712050 9.673600 0.527300 0.050700 0.088250 0.003500 14.078650 6.378050 26.009700 43.980550 14.241600 0.021700 0.000000 0.059900 - R5OECD.2090 -0.404400 0.138000 18.650900 1.108600 0.617200 51.980400 10.253800 1.935500 0.329400 2.810300 9.751700 0.471400 0.036700 0.085600 0.000000 12.554100 6.395700 23.790300 39.426500 12.804500 0.017700 0.000000 0.043200 - R5OECD.2095 -0.428700 0.132500 17.916100 1.072600 0.602900 50.805950 10.068200 1.827200 0.320550 2.701250 9.770950 0.447950 0.035000 0.081850 0.000000 11.195650 6.385850 21.633750 35.310150 11.491700 0.014850 0.000000 0.026600 - R5OECD.2100 -0.453000 0.127000 17.181300 1.036600 0.588600 49.631500 9.882600 1.718900 0.311700 2.592200 9.790200 0.424500 0.033300 0.078100 0.000000 9.837200 6.376000 19.477200 31.193800 10.178900 0.012000 0.000000 0.010000 - R5REF.2000 0.823600 0.056400 29.725600 0.473300 7.740800 80.860200 17.859100 3.562200 0.566500 4.229500 4.109500 1.834700 0.092500 0.053200 0.191900 0.117000 0.000000 0.195700 3.047100 0.130900 0.097000 0.301200 0.485700 - R5REF.2005 0.892200 0.056400 29.631700 0.461000 7.216600 80.811700 19.057800 3.666800 0.633200 4.672500 4.026800 1.274000 0.072300 0.051900 0.051700 0.363700 0.088400 0.568800 5.687900 0.349700 0.379900 0.451800 0.594100 - R5REF.2010 0.866900 0.046100 26.789400 0.431700 6.466400 75.992700 18.701700 3.298100 0.607800 4.658400 4.058600 1.293500 0.091800 0.055600 0.006200 0.740900 0.176800 1.259500 8.629200 0.720600 0.867200 1.087400 0.516700 - R5REF.2015 0.832700 0.037000 23.628200 0.404250 5.163250 74.035500 18.457900 2.859000 0.590100 4.662700 4.096200 1.065000 0.089300 0.038800 0.004450 1.636850 0.214150 2.735250 8.061100 1.460650 0.508950 0.901850 0.344000 - R5REF.2020 0.798500 0.027900 20.467000 0.376800 3.860100 72.078300 18.214100 2.419900 0.572400 4.667000 4.133800 0.836500 0.086800 0.022000 0.002700 2.532800 0.251500 4.211000 7.493000 2.200700 0.150700 0.716300 0.171300 - R5REF.2025 0.669050 0.027800 18.939200 0.376450 2.913350 69.506250 17.717000 2.204850 0.504150 4.539250 4.204050 0.711900 0.066250 0.017650 0.002150 3.040300 0.293400 5.117500 8.690250 2.674450 0.120500 0.404250 0.145500 - R5REF.2030 0.539600 0.027700 17.411400 0.376100 1.966600 66.934200 17.219900 1.989800 0.435900 4.411500 4.274300 0.587300 0.045700 0.013300 0.001600 3.547800 0.335300 6.024000 9.887500 3.148200 0.090300 0.092200 0.119700 - R5REF.2035 0.427350 0.036250 16.713800 0.376900 1.687400 64.921500 16.967350 1.821450 0.395000 4.288500 4.326700 0.538100 0.040750 0.013350 0.001300 3.984850 0.419200 6.834050 11.132550 3.571550 0.101150 0.046100 0.105350 - R5REF.2040 0.315100 0.044800 16.016200 0.377700 1.408200 62.908800 16.714800 1.653100 0.354100 4.165500 4.379100 0.488900 0.035800 0.013400 0.001000 4.421900 0.503100 7.644100 12.377600 3.994900 0.112000 0.000000 0.091000 - R5REF.2045 0.276350 0.051150 14.500900 0.375250 1.191100 61.179600 16.086000 1.513000 0.333250 4.116600 4.425000 0.379600 0.027800 0.013150 0.000800 4.267600 0.585300 7.412700 12.026050 3.873950 0.073700 0.000000 0.065050 - R5REF.2050 0.237600 0.057500 12.985600 0.372800 0.974000 59.450400 15.457200 1.372900 0.312400 4.067700 4.470900 0.270300 0.019800 0.012900 0.000600 4.113300 0.667500 7.181300 11.674500 3.753000 0.035400 0.000000 0.039100 - R5REF.2055 0.177400 0.061600 12.276500 0.370250 0.832550 58.232050 14.723400 1.315800 0.297450 4.028800 4.552150 0.252200 0.018500 0.012850 0.000450 4.305250 0.725950 7.527350 12.182700 3.933850 0.025100 0.000000 0.033700 - R5REF.2060 0.117200 0.065700 11.567400 0.367700 0.691100 57.013700 13.989600 1.258700 0.282500 3.989900 4.633400 0.234100 0.017200 0.012800 0.000300 4.497200 0.784400 7.873400 12.690900 4.114700 0.014800 0.000000 0.028300 - R5REF.2065 0.046300 0.074450 11.846050 0.382450 0.562600 56.194050 13.188350 1.205000 0.276450 3.974100 4.764000 0.237150 0.017500 0.012750 0.000250 4.642850 0.846600 8.133400 13.060300 4.250550 0.013050 0.000000 0.024850 - R5REF.2070 -0.024600 0.083200 12.124700 0.397200 0.434100 55.374400 12.387100 1.151300 0.270400 3.958300 4.894600 0.240200 0.017800 0.012700 0.000200 4.788500 0.908800 8.393400 13.429700 4.386400 0.011300 0.000000 0.021400 - R5REF.2075 -0.052600 0.088650 12.173200 0.404650 0.417050 54.973100 11.822200 1.074500 0.267150 3.940400 5.004300 0.203950 0.015200 0.012500 0.000150 4.697300 0.965200 8.236050 13.162550 4.304200 0.009800 0.000000 0.017950 - R5REF.2080 -0.080600 0.094100 12.221700 0.412100 0.400000 54.571800 11.257300 0.997700 0.263900 3.922500 5.114000 0.167700 0.012600 0.012300 0.000100 4.606100 1.021600 8.078700 12.895400 4.222000 0.008300 0.000000 0.014500 - R5REF.2085 -0.103050 0.100600 12.153850 0.414500 0.389450 54.294950 10.897000 0.962550 0.261700 3.899850 5.175100 0.156550 0.011700 0.011950 0.000050 4.207950 1.061850 7.401050 11.833300 3.867850 0.006800 0.000000 0.011250 - R5REF.2090 -0.125500 0.107100 12.086000 0.416900 0.378900 54.018100 10.536700 0.927400 0.259500 3.877200 5.236200 0.145400 0.010800 0.011600 0.000000 3.809800 1.102100 6.723400 10.771200 3.513700 0.005300 0.000000 0.008000 - R5REF.2095 -0.141800 0.112450 12.096550 0.419700 0.373500 53.900300 10.360250 0.904650 0.258750 3.863750 5.298550 0.139750 0.010650 0.011100 0.000000 3.382400 1.120250 5.968350 9.581900 3.119100 0.004250 0.000000 0.004900 - R5REF.2100 -0.158100 0.117800 12.107100 0.422500 0.368100 53.782500 10.183800 0.881900 0.258000 3.850300 5.360900 0.134100 0.010500 0.010600 0.000000 2.955000 1.138400 5.213300 8.392600 2.724500 0.003200 0.000000 0.001800 - R5ASIA.2000 1.768200 0.355600 124.982100 2.545600 15.648400 397.439000 70.582900 7.993100 3.046800 11.636100 17.240400 2.083400 0.820900 0.000000 4.096800 0.867300 0.000000 1.413200 9.009700 1.037100 0.019700 2.245700 1.226500 - R5ASIA.2005 2.608200 0.445300 134.875600 2.715600 21.061100 416.787900 75.430300 9.709700 3.400200 11.719800 18.331600 2.276700 0.963800 0.000000 6.967900 3.035200 0.192000 3.025000 16.397800 2.824000 0.047800 3.368500 1.811700 - R5ASIA.2010 3.284500 0.420100 149.052200 2.884700 24.558200 439.689200 80.819100 11.352400 3.824200 12.512800 19.550500 3.143400 1.924200 0.000000 6.651400 4.892600 0.382700 6.822900 24.674800 5.838100 0.211900 8.333200 2.107200 - R5ASIA.2015 3.650400 0.374400 130.507050 2.883600 23.991750 431.841100 80.572750 11.551750 3.816250 12.674950 20.766700 3.276650 2.299900 0.000000 3.771750 10.801200 0.528500 16.239300 29.508000 12.631400 0.148650 7.311050 1.502350 - R5ASIA.2020 4.016300 0.328700 111.961900 2.882500 23.425300 423.993000 80.326400 11.751100 3.808300 12.837100 21.982900 3.409900 2.675600 0.000000 0.892100 16.709800 0.674300 25.655700 34.341200 19.424700 0.085400 6.288900 0.897500 - R5ASIA.2025 3.652600 0.256300 106.681750 2.880700 19.547750 406.609000 76.763850 10.984100 3.383400 12.341650 22.955300 2.506350 1.780050 0.000000 0.713700 21.240950 0.900100 31.195750 42.081200 23.152400 0.083700 3.557200 0.928300 - R5ASIA.2030 3.288900 0.183900 101.401600 2.878900 15.670200 389.225000 73.201300 10.217100 2.958500 11.846200 23.927700 1.602800 0.884500 0.000000 0.535300 25.772100 1.125900 36.735800 49.821200 26.880100 0.082000 0.825500 0.959100 - R5ASIA.2035 2.731450 0.133150 96.808150 2.867750 12.305950 370.885150 69.442400 9.654150 2.533250 10.847500 24.599750 1.373300 0.683600 0.000000 0.427700 30.163600 1.479150 42.019500 57.802950 30.121800 0.115200 0.412750 0.891850 - R5ASIA.2040 2.174000 0.082400 92.214700 2.856600 8.941700 352.545300 65.683500 9.091200 2.108000 9.848800 25.271800 1.143800 0.482700 0.000000 0.320100 34.555100 1.832400 47.303200 65.784700 33.363500 0.148400 0.000000 0.824600 - R5ASIA.2045 1.788950 0.094850 83.078800 2.679050 7.600750 332.480800 61.385700 8.929950 1.870600 9.228850 26.100000 0.864450 0.340100 0.000000 0.255350 34.617000 2.410200 47.072000 66.432050 32.557700 0.107850 0.000000 0.561850 - R5ASIA.2050 1.403900 0.107300 73.942900 2.501500 6.259800 312.416300 57.087900 8.768700 1.633200 8.608900 26.928200 0.585100 0.197500 0.000000 0.190600 34.678900 2.988000 46.840800 67.079400 31.751900 0.067300 0.000000 0.299100 - R5ASIA.2055 0.906600 0.120500 70.089050 2.416500 5.653450 294.227950 53.694250 9.046750 1.472300 8.300550 27.695700 0.530150 0.161550 0.000000 0.148500 37.506550 2.930300 50.583650 73.230850 33.513550 0.053200 0.000000 0.271800 - R5ASIA.2060 0.409300 0.133700 66.235200 2.331500 5.047100 276.039600 50.300600 9.324800 1.311400 7.992200 28.463200 0.475200 0.125600 0.000000 0.106400 40.334200 2.872600 54.326500 79.382300 35.275200 0.039100 0.000000 0.244500 - R5ASIA.2065 0.149500 0.124500 64.381800 2.356500 4.688450 260.218250 47.443050 9.140450 1.207900 7.668150 29.272150 0.468000 0.108550 0.000000 0.081450 43.010700 2.784850 57.857450 85.420950 36.655550 0.039950 0.000000 0.229600 - R5ASIA.2070 -0.110300 0.115300 62.528400 2.381500 4.329800 244.396900 44.585500 8.956100 1.104400 7.344100 30.081100 0.460800 0.091500 0.000000 0.056500 45.687200 2.697100 61.388400 91.459600 38.035900 0.040800 0.000000 0.214700 - R5ASIA.2075 -0.221700 0.121200 60.877450 2.380350 3.753050 234.283000 42.617650 8.161400 1.061750 7.168550 30.666950 0.385950 0.069350 0.000000 0.042650 46.390900 2.591050 62.226850 93.756350 37.578750 0.040650 0.000000 0.191200 - R5ASIA.2080 -0.333100 0.127100 59.226500 2.379200 3.176300 224.169100 40.649800 7.366700 1.019100 6.993000 31.252800 0.311100 0.047200 0.000000 0.028800 47.094600 2.485000 63.065300 96.053100 37.121600 0.040500 0.000000 0.167700 - R5ASIA.2085 -0.417250 0.136000 57.626900 2.359600 2.616500 216.447550 38.936150 6.640650 0.976950 6.765150 31.698150 0.281450 0.033950 0.000000 0.014400 45.428500 2.361850 61.001550 93.904700 34.954950 0.038750 0.000000 0.133000 - R5ASIA.2090 -0.501400 0.144900 56.027300 2.340000 2.056700 208.726000 37.222500 5.914600 0.934800 6.537300 32.143500 0.251800 0.020700 0.000000 0.000000 43.762400 2.238700 58.937800 91.756300 32.788300 0.037000 0.000000 0.098300 - R5ASIA.2095 -0.402350 0.136900 55.231250 2.310000 1.913850 203.294550 36.068350 5.202350 0.892850 6.362200 32.561500 0.244400 0.019650 0.000000 0.000000 40.409250 2.101600 54.916450 86.430900 29.693200 0.034150 0.000000 0.060650 - R5ASIA.2100 -0.303300 0.128900 54.435200 2.280000 1.771000 197.863100 34.914200 4.490100 0.850900 6.187100 32.979500 0.237000 0.018600 0.000000 0.000000 37.056100 1.964500 50.895100 81.105500 26.598100 0.031300 0.000000 0.023000 - R5MAF.2000 0.580800 0.246000 44.299100 1.180400 6.102400 285.959600 56.889800 5.539700 1.876600 11.148200 5.036300 0.733700 0.046400 0.000000 0.000000 0.079900 0.000000 0.680300 3.936500 0.449800 0.018800 0.352400 0.207500 - R5MAF.2005 0.710200 0.227300 49.627600 1.276900 7.036500 305.672900 60.460500 5.986400 2.036300 11.874800 5.475900 0.962600 0.065800 0.000000 0.000000 0.368500 0.052800 1.383300 7.490900 1.197700 0.061800 0.528600 0.237500 - R5MAF.2010 0.758400 0.109500 54.185500 1.322500 6.700600 287.228000 58.812700 5.884600 1.929500 10.974800 5.627800 1.415000 0.101200 0.000000 0.000000 0.831700 0.104900 2.845300 11.441100 2.263600 0.170900 1.193500 0.288700 - R5MAF.2015 0.780400 0.223050 51.170100 1.312050 6.629600 291.201950 59.215300 5.884100 2.007350 11.619800 6.101250 1.324750 0.102750 0.000000 0.000000 1.937200 0.134650 5.756500 12.410250 4.198900 0.106050 0.962200 0.206750 - R5MAF.2020 0.802400 0.336600 48.154700 1.301600 6.558600 295.175900 59.617900 5.883600 2.085200 12.264800 6.574700 1.234500 0.104300 0.000000 0.000000 3.042700 0.164400 8.667700 13.379400 6.134200 0.041200 0.730900 0.124800 - R5MAF.2025 0.746800 0.345800 48.462250 1.304500 5.892900 295.667100 59.852950 5.799400 2.038050 12.179000 6.899300 1.067350 0.082350 0.000000 0.000000 3.454450 0.204850 9.726150 14.960750 6.776600 0.035650 0.407200 0.115800 - R5MAF.2030 0.691200 0.355000 48.769800 1.307400 5.227200 296.158300 60.088000 5.715200 1.990900 12.093200 7.223900 0.900200 0.060400 0.000000 0.000000 3.866200 0.245300 10.784600 16.542100 7.419000 0.030100 0.083500 0.106800 - R5MAF.2035 0.654450 0.249550 50.874500 1.290300 4.903050 300.177900 61.386950 5.817400 1.940350 11.715150 7.420950 0.826250 0.054750 0.000000 0.000000 4.487700 0.306650 12.366900 19.024700 8.363700 0.040400 0.041750 0.100500 - R5MAF.2040 0.617700 0.144100 52.979200 1.273200 4.578900 304.197500 62.685900 5.919600 1.889800 11.337100 7.618000 0.752300 0.049100 0.000000 0.000000 5.109200 0.368000 13.949200 21.507300 9.308400 0.050700 0.000000 0.094200 - R5MAF.2045 0.604750 0.065800 50.465900 1.158950 4.558800 307.027100 63.383900 6.014150 1.887300 11.405750 7.815150 0.583650 0.038400 0.000000 0.000000 5.683800 0.459650 15.333000 23.764750 10.052050 0.038600 0.000000 0.067350 - R5MAF.2050 0.591800 -0.012500 47.952600 1.044700 4.538700 309.856700 64.081900 6.108700 1.884800 11.474400 8.012300 0.415000 0.027700 0.000000 0.000000 6.258400 0.551300 16.716800 26.022200 10.795700 0.026500 0.000000 0.040500 - R5MAF.2055 0.570450 0.083400 43.168350 0.989650 4.691100 309.155300 64.355750 6.451800 1.868350 11.509650 8.346900 0.386550 0.026100 0.000000 0.000000 7.835800 0.556950 20.650650 32.210850 13.060050 0.022700 0.000000 0.039850 - R5MAF.2060 0.549100 0.179300 38.384100 0.934600 4.843500 308.453900 64.629600 6.794900 1.851900 11.544900 8.681500 0.358100 0.024500 0.000000 0.000000 9.413200 0.562600 24.584500 38.399500 15.324400 0.018900 0.000000 0.039200 - R5MAF.2065 0.491750 0.162150 38.002950 0.933300 4.936600 297.563450 63.309150 7.136850 1.792850 11.289000 8.965000 0.362050 0.025150 0.000000 0.000000 11.310400 0.560500 29.150950 45.600300 17.775050 0.021150 0.000000 0.038450 - R5MAF.2070 0.434400 0.145000 37.621800 0.932000 5.029700 286.673000 61.988700 7.478800 1.733800 11.033100 9.248500 0.366000 0.025800 0.000000 0.000000 13.207600 0.558400 33.717400 52.801100 20.225700 0.023400 0.000000 0.037700 - R5MAF.2075 0.363150 0.135250 37.067200 0.917350 4.886850 277.083600 60.501600 7.553900 1.687950 10.821850 9.459600 0.310050 0.022200 0.000000 0.000000 14.698400 0.551700 37.049950 58.161100 21.728900 0.024950 0.000000 0.035300 - R5MAF.2080 0.291900 0.125500 36.512600 0.902700 4.744000 267.494200 59.014500 7.629000 1.642100 10.610600 9.670700 0.254100 0.018600 0.000000 0.000000 16.189200 0.545000 40.382500 63.521100 23.232100 0.026500 0.000000 0.032900 - R5MAF.2085 0.227150 0.107350 35.952150 0.883000 4.384550 260.280500 57.829000 7.497950 1.605650 10.400800 9.828000 0.236800 0.017400 0.000000 0.000000 17.138550 0.526550 42.223250 66.609500 23.724300 0.027250 0.000000 0.027700 - R5MAF.2090 0.162400 0.089200 35.391700 0.863300 4.025100 253.066800 56.643500 7.366900 1.569200 10.191000 9.985300 0.219500 0.016200 0.000000 0.000000 18.087900 0.508100 44.064000 69.697900 24.216500 0.028000 0.000000 0.022500 - R5MAF.2095 0.103550 0.065150 34.477800 0.842400 3.543700 247.037300 55.834600 6.996750 1.546600 10.081650 10.120700 0.210250 0.016000 0.000000 0.000000 18.475100 0.485700 44.458600 70.538050 23.828500 0.027800 0.000000 0.014450 - R5MAF.2100 0.044700 0.041100 33.563900 0.821500 3.062300 241.007800 55.025700 6.626600 1.524000 9.972300 10.256100 0.201000 0.015800 0.000000 0.000000 18.862300 0.463300 44.853200 71.378200 23.440500 0.027600 0.000000 0.006400 - R5LAM.2000 0.371000 0.364900 40.065600 1.044800 4.545100 112.822000 24.602700 2.905600 0.931100 5.082000 4.590700 0.752000 0.016000 0.000000 0.322600 0.127900 0.000000 0.432200 3.756900 0.359200 0.012300 0.336000 0.230600 - R5LAM.2005 0.412200 0.340600 42.197500 1.098500 3.694700 110.975000 24.404200 2.819200 0.926600 4.885700 4.928200 0.777600 0.015500 0.000000 0.337300 0.469600 0.052800 0.875600 6.808000 0.891200 0.056700 0.504000 0.275500 - R5LAM.2010 0.460300 0.344500 46.024900 1.162600 3.696700 112.390200 24.713700 2.830700 1.003100 5.201500 5.328800 0.912000 0.020500 0.000000 0.412100 0.977700 0.104900 1.854700 10.032200 1.709100 0.161900 1.140900 0.327900 - R5LAM.2015 0.476400 0.271350 42.375750 1.168300 3.513350 98.183750 23.543400 2.587750 0.908850 4.512200 5.632750 0.781700 0.019200 0.000000 0.226050 2.168750 0.134650 3.905250 11.153700 3.228400 0.101100 0.919750 0.249300 - R5LAM.2020 0.492500 0.198200 38.726600 1.174000 3.330000 83.977300 22.373100 2.344800 0.814600 3.822900 5.936700 0.651400 0.017900 0.000000 0.040000 3.359800 0.164400 5.955800 12.275200 4.747700 0.040300 0.698600 0.170700 - R5LAM.2025 0.442550 0.176450 37.419350 1.157800 3.180850 81.928000 21.922950 2.221900 0.763700 3.840450 6.127400 0.575050 0.017150 0.000000 0.032000 4.081800 0.204850 7.344450 14.801500 5.672150 0.036900 0.393950 0.171650 - R5LAM.2030 0.392600 0.154700 36.112100 1.141600 3.031700 79.878700 21.472800 2.099000 0.712800 3.858000 6.318100 0.498700 0.016400 0.000000 0.024000 4.803800 0.245300 8.733100 17.327800 6.596600 0.033500 0.089300 0.172600 - R5LAM.2035 0.368000 0.138600 35.640250 1.134500 2.964850 79.716550 21.612750 2.101200 0.690950 3.782850 6.471000 0.456400 0.016150 0.000000 0.019200 5.652100 0.306650 10.437200 20.311100 7.645350 0.045850 0.044650 0.167350 - R5LAM.2040 0.343400 0.122500 35.168400 1.127400 2.898000 79.554400 21.752700 2.103400 0.669100 3.707700 6.623900 0.414100 0.015900 0.000000 0.014400 6.500400 0.368000 12.141300 23.294400 8.694100 0.058200 0.000000 0.162100 - R5LAM.2045 0.338700 0.085450 33.150700 1.032500 2.689350 76.164450 21.022100 2.051500 0.612950 3.384550 6.736450 0.319200 0.012900 0.000000 0.011500 6.818250 0.459650 12.932250 24.408700 9.006750 0.042850 0.000000 0.109950 - R5LAM.2050 0.334000 0.048400 31.133000 0.937600 2.480700 72.774500 20.291500 1.999600 0.556800 3.061400 6.849000 0.224300 0.009900 0.000000 0.008600 7.136100 0.551300 13.723200 25.523000 9.319400 0.027500 0.000000 0.057800 - R5LAM.2055 0.283250 0.065900 30.251350 0.880200 2.223700 74.832350 20.038400 2.122550 0.542450 3.192450 7.064050 0.206850 0.009700 0.000000 0.006700 8.255750 0.556950 16.140100 29.382150 10.637250 0.022350 0.000000 0.050950 - R5LAM.2060 0.232500 0.083400 29.369700 0.822800 1.966700 76.890200 19.785300 2.245500 0.528100 3.323500 7.279100 0.189400 0.009500 0.000000 0.004800 9.375400 0.562600 18.557000 33.241300 11.955100 0.017200 0.000000 0.044100 - R5LAM.2065 0.180450 0.079500 29.034400 0.811400 1.516150 74.041850 18.932500 2.243800 0.492300 3.181100 7.448900 0.189250 0.010150 0.000000 0.003650 10.497050 0.560500 21.119550 37.060600 13.216000 0.018050 0.000000 0.039500 - R5LAM.2070 0.128400 0.075600 28.699100 0.800000 1.065600 71.193500 18.079700 2.242100 0.456500 3.038700 7.618700 0.189100 0.010800 0.000000 0.002500 11.618700 0.558400 23.682100 40.879900 14.476900 0.018900 0.000000 0.034900 - R5LAM.2075 0.092850 0.074850 28.074300 0.778200 0.809500 68.463350 17.242200 2.055700 0.427600 2.870950 7.685550 0.158450 0.009450 0.000000 0.001900 12.198400 0.551700 25.247600 42.787850 15.016150 0.019150 0.000000 0.029500 - R5LAM.2080 0.057300 0.074100 27.449500 0.756400 0.553400 65.733200 16.404700 1.869300 0.398700 2.703200 7.752400 0.127800 0.008100 0.000000 0.001300 12.778100 0.545000 26.813100 44.695800 15.555400 0.019400 0.000000 0.024100 - R5LAM.2085 0.027900 0.098650 26.866150 0.744150 0.544200 67.170200 16.097350 1.833100 0.412050 2.828900 7.977200 0.117700 0.007850 0.000000 0.000650 12.883750 0.526550 27.427000 44.945950 15.497600 0.019050 0.000000 0.018700 - R5LAM.2090 -0.001500 0.123200 26.282800 0.731900 0.535000 68.607200 15.790000 1.796900 0.425400 2.954600 8.202000 0.107600 0.007600 0.000000 0.000000 12.989400 0.508100 28.040900 45.196100 15.439800 0.018700 0.000000 0.013300 - R5LAM.2095 -0.031300 0.109850 25.524000 0.726800 0.505750 66.856000 15.259000 1.712400 0.407450 2.828350 8.526750 0.101500 0.007550 0.000000 0.000000 12.752850 0.485700 27.907900 44.259250 14.977550 0.017900 0.000000 0.008150 - R5LAM.2100 -0.061100 0.096500 24.765200 0.721700 0.476500 65.104800 14.728000 1.627900 0.389500 2.702100 8.851500 0.095400 0.007500 0.000000 0.000000 12.516300 0.463300 27.774900 43.322400 14.515300 0.017100 0.000000 0.003000 -BUNKERS.2000 0.000000 0.000000 0.432500 0.000000 5.539000 1.185400 2.927000 6.281800 0.136100 0.139500 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2005 0.000000 0.000000 0.481700 0.000000 5.733700 1.263200 3.212500 6.727700 0.164400 0.165400 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2010 0.000000 0.000000 0.479000 0.000000 4.294700 1.364500 3.620100 7.007900 0.134600 0.135700 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2015 0.000000 0.000000 0.502100 0.000000 2.924050 1.389500 3.570400 7.176300 0.107100 0.107250 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2020 0.000000 0.000000 0.525200 0.000000 1.553400 1.414500 3.520700 7.344700 0.079600 0.078800 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2025 0.000000 0.000000 0.525200 0.000000 1.322600 1.419550 3.340750 6.999200 0.079500 0.087150 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2030 0.000000 0.000000 0.525200 0.000000 1.091800 1.424600 3.160800 6.653700 0.079400 0.095500 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2035 0.000000 0.000000 0.422150 0.000000 0.914850 1.562050 3.402900 7.094150 0.066000 0.076300 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2040 0.000000 0.000000 0.319100 0.000000 0.737900 1.699500 3.645000 7.534600 0.052600 0.057100 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2045 0.000000 0.000000 0.159550 0.000000 0.536950 1.630450 3.512650 7.614350 0.038850 0.036400 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2050 0.000000 0.000000 0.000000 0.000000 0.336000 1.561400 3.380300 7.694100 0.025100 0.015700 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2055 0.000000 0.000000 0.000000 0.000000 0.328450 1.416650 3.014550 6.259650 0.023300 0.013000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2060 0.000000 0.000000 0.000000 0.000000 0.320900 1.271900 2.648800 4.825200 0.021500 0.010300 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2065 0.000000 0.000000 0.000000 0.000000 0.303250 0.948750 1.936800 3.244700 0.022350 0.012450 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2070 0.000000 0.000000 0.000000 0.000000 0.285600 0.625600 1.224800 1.664200 0.023200 0.014600 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2075 0.000000 0.000000 0.000000 0.000000 0.260600 0.496550 0.944900 1.141400 0.025700 0.021100 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2080 0.000000 0.000000 0.000000 0.000000 0.235600 0.367500 0.665000 0.618600 0.028200 0.027600 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2085 0.000000 0.000000 0.000000 0.000000 0.224150 0.408950 0.730200 0.619800 0.027550 0.027550 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2090 0.000000 0.000000 0.000000 0.000000 0.212700 0.450400 0.795400 0.621000 0.026900 0.027500 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2095 0.000000 0.000000 0.000000 0.000000 0.200700 0.452250 0.785750 0.632550 0.025300 0.027300 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2100 0.000000 0.000000 0.000000 0.000000 0.188700 0.454100 0.776100 0.644100 0.023700 0.027100 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -; -*** EOF ./core/magicc/magicc_scen_450.inc diff --git a/core/magicc/magicc_scen_550.inc b/core/magicc/magicc_scen_550.inc deleted file mode 100644 index 0d164703b..000000000 --- a/core/magicc/magicc_scen_550.inc +++ /dev/null @@ -1,153 +0,0 @@ -*** SOF ./core/magicc/magicc_scen_550.inc -Table magicc_default_data_550(RCP_regions_world_bunkers,tall,emiRCP) - FossilCO2 OtherCO2 CH4 N2O SOx CO NMVOC NOx BC OC NH3 CF4 C2F6 C6F14 HFC23 HFC32 HFC43-10 HFC125 HFC134a HFC143a HFC227ea HFC245fa SF6 -*** GtC GtC MtCH4 MtN2O-N MtS MtCO Mt MtN Mt Mt MtN kt kt kt kt kt kt kt kt kt kt kt kt - WORLD.2000 6.735000 1.148800 300.207000 7.456700 53.841300 1068.000900 210.623000 38.162300 7.804800 35.543400 40.018500 12.000000 2.375000 0.462400 10.394900 4.000000 0.000000 8.538100 75.039400 6.234100 1.951000 17.925700 5.538200 - WORLD.2005 7.971000 1.195500 315.902700 7.684200 56.719500 1061.525500 215.462900 38.794800 8.251200 36.391700 41.883700 11.605900 2.649500 0.435800 10.811700 10.993400 3.235200 13.759100 120.933400 12.448300 4.890000 26.888600 6.340800 - WORLD.2010 8.607400 0.910600 322.544700 7.868200 54.638700 1038.619100 208.378700 37.751700 8.117100 34.402400 42.415100 10.608600 2.309600 0.466600 9.522200 17.942100 6.453900 17.127000 142.731300 14.163100 6.212000 48.596000 5.655400 - WORLD.2015 9.239450 0.625750 329.026350 8.051750 52.555900 1014.386300 201.185050 36.713000 7.981300 32.386350 42.943150 9.525050 1.976050 0.325500 5.337300 39.292050 6.839700 24.204300 166.083450 15.914750 3.406150 70.303500 4.079050 - WORLD.2020 9.871500 0.340900 335.508000 8.235300 50.473100 990.153500 193.991400 35.674300 7.845500 30.370300 43.471200 8.441500 1.642500 0.184400 1.152400 60.642000 7.225500 31.281600 189.435600 17.666400 0.600300 92.011000 2.502700 - WORLD.2025 10.412400 0.278600 337.253000 8.403550 46.668950 989.953650 198.398700 35.218400 7.592850 29.724300 44.428400 8.443550 1.726350 0.148100 0.921900 66.338650 7.675450 31.521950 198.855700 19.062850 0.429400 93.888000 2.706800 - WORLD.2030 10.953300 0.216300 338.998000 8.571800 42.864800 989.753800 202.806000 34.762500 7.340200 29.078300 45.385600 8.445600 1.810200 0.111800 0.691400 72.035300 8.125400 31.762300 208.275800 20.459300 0.258500 95.765000 2.910900 - WORLD.2035 11.145650 0.207450 338.286250 8.630250 38.734450 970.000250 202.230200 33.664400 7.062600 28.484450 45.893350 8.554500 1.878100 0.112300 0.552400 76.373500 8.745050 31.571250 218.852400 21.875600 0.257900 96.340700 3.124000 - WORLD.2040 11.338000 0.198600 337.574500 8.688700 34.604100 950.246700 201.654400 32.566300 6.785000 27.890600 46.401100 8.663400 1.946000 0.112800 0.413400 80.711700 9.364700 31.380200 229.429000 23.291900 0.257300 96.916400 3.337100 - WORLD.2045 11.184650 0.223600 334.455750 8.638500 30.141500 911.509750 196.148750 30.824600 6.482250 27.348800 46.458250 8.899550 1.998600 0.110750 0.329850 77.659600 10.229950 31.045100 241.199950 24.705000 0.173200 96.190700 3.559350 - WORLD.2050 11.031300 0.248600 331.337000 8.588300 25.678900 872.772800 190.643100 29.082900 6.179500 26.807000 46.515400 9.135700 2.051200 0.108700 0.246300 74.607500 11.095200 30.710000 252.970900 26.118100 0.089100 95.465000 3.781600 - WORLD.2055 10.216250 0.216300 324.473350 8.547350 23.195150 825.664800 185.265900 27.317900 5.855450 25.847800 46.251800 9.020000 2.043050 0.108050 0.191900 79.346600 11.104100 28.465850 248.206900 25.828700 0.059900 90.870250 4.037300 - WORLD.2060 9.401200 0.184000 317.609700 8.506400 20.711400 778.556800 179.888700 25.552900 5.531400 24.888600 45.988200 8.904300 2.034900 0.107400 0.137500 84.085700 11.113000 26.221700 243.442900 25.539300 0.030700 86.275500 4.293000 - WORLD.2065 8.259700 0.143850 309.187200 8.432850 18.555050 726.099250 173.170150 23.881450 5.191200 23.820650 45.594800 8.954100 2.010900 0.107000 0.105250 88.982950 11.080050 25.105600 250.747700 26.792400 0.026150 83.576750 4.593900 - WORLD.2070 7.118200 0.103700 300.764700 8.359300 16.398700 673.641700 166.451600 22.210000 4.851000 22.752700 45.201400 9.003900 1.986900 0.106600 0.073000 93.880200 11.047100 23.989500 258.052500 28.045500 0.021600 80.878000 4.894800 - WORLD.2075 5.650200 0.055750 290.784150 8.253050 14.569800 615.830150 158.391500 20.632050 4.494750 21.576150 44.678000 9.234550 1.947400 0.104900 0.055150 95.075750 11.002000 23.762700 279.334400 30.917650 0.019650 80.075250 5.240850 - WORLD.2080 4.182200 0.007800 280.803600 8.146800 12.740900 558.018600 150.331400 19.054100 4.138500 20.399600 44.154600 9.465200 1.907900 0.103200 0.037300 96.271300 10.956900 23.535900 300.616300 33.789800 0.017700 79.272500 5.586900 - WORLD.2085 4.187400 0.017400 277.119000 8.138050 12.369150 537.838600 147.757000 18.804550 4.069400 20.149850 44.008250 10.023400 1.940600 0.100200 0.018650 93.737450 10.854750 23.528200 326.810150 36.858800 0.016700 80.176450 5.798750 - WORLD.2090 4.192600 0.027000 273.434400 8.129300 11.997400 517.658600 145.182600 18.555000 4.000300 19.900100 43.861900 10.581600 1.973300 0.097200 0.000000 91.203600 10.752600 23.520500 353.004000 39.927800 0.015700 81.080400 6.010600 - WORLD.2095 4.197787 0.036625 269.750212 8.120550 11.625650 497.479100 142.608162 18.305438 3.931175 19.650287 43.715275 11.171350 2.004800 0.092950 0.000000 86.215225 10.579038 23.263438 381.039562 43.099112 0.014887 81.984400 6.222475 - WORLD.2100 2.938700 0.046300 276.988800 6.662900 11.253800 477.299600 140.033800 18.055900 3.862100 19.400500 43.568700 0.044500 0.026500 0.005100 1.006600 87.243900 10.825100 24.666300 340.253200 26.644400 0.228000 82.015400 0.173200 - R5OECD.2000 3.191400 0.125900 60.702000 2.212500 14.265500 189.734600 37.761500 11.879900 1.247700 3.308200 9.041700 6.596300 1.399100 0.409200 5.783600 2.807900 0.000000 5.816700 55.289100 4.257000 1.803100 14.690400 3.387900 - R5OECD.2005 3.348200 0.125900 59.088600 2.132100 11.976900 146.014800 32.897500 9.885000 1.090500 3.073500 9.121200 6.315000 1.532000 0.383900 3.454700 6.756500 2.849100 7.906400 84.548800 7.185700 4.343900 22.035600 3.421900 - R5OECD.2010 3.303600 0.100300 58.848200 2.081200 10.202900 128.890900 30.819000 8.457200 0.996300 2.990700 9.337500 5.838400 1.348400 0.411100 2.452600 10.499200 5.684600 9.362300 96.487100 8.052000 5.405900 38.279000 3.056100 - R5OECD.2015 3.259050 0.074750 58.608200 2.029050 8.456650 110.668600 28.685300 7.041700 0.903550 2.906900 9.554250 5.318250 1.167500 0.286800 1.335100 22.748000 5.827800 12.734500 110.954500 8.920150 2.954250 54.522400 2.254900 - R5OECD.2020 3.214500 0.049200 58.368200 1.976900 6.710400 92.446300 26.551600 5.626200 0.810800 2.823100 9.771000 4.798100 0.986600 0.162500 0.217600 34.996800 5.971000 16.106700 125.421900 9.788300 0.502600 70.765800 1.453700 - R5OECD.2025 3.192800 0.071550 58.007750 2.014250 5.984000 83.909500 25.501750 5.085150 0.767350 2.771000 9.885250 4.556200 0.975600 0.130500 0.174050 34.521150 6.072350 15.566800 123.367150 9.543200 0.353500 70.808500 1.511150 - R5OECD.2030 3.171100 0.093900 57.647300 2.051600 5.257600 75.372700 24.451900 4.544100 0.723900 2.718900 9.999500 4.314300 0.964600 0.098500 0.130500 34.045500 6.173700 15.026900 121.312400 9.298100 0.204400 70.851200 1.568600 - R5OECD.2035 3.058400 0.091850 56.757300 2.068900 4.603450 70.931550 23.701850 4.125200 0.696850 2.764700 10.030450 4.168400 0.946100 0.098950 0.104300 32.085300 6.233500 14.407900 120.565200 9.208600 0.197400 70.094750 1.619000 - R5OECD.2040 2.945700 0.089800 55.867300 2.086200 3.949300 66.490400 22.951800 3.706300 0.669800 2.810500 10.061400 4.022500 0.927600 0.099400 0.078100 30.125100 6.293300 13.788900 119.818000 9.119100 0.190400 69.338300 1.669400 - R5OECD.2045 2.742350 0.095050 54.452500 2.082750 3.365450 66.620500 22.516450 3.407450 0.658700 2.955000 10.008650 3.987850 0.901700 0.097550 0.062300 26.272900 6.315150 13.216850 120.656800 9.185850 0.125700 67.782750 1.712850 - R5OECD.2050 2.539000 0.100300 53.037700 2.079300 2.781600 66.750600 22.081100 3.108600 0.647600 3.099500 9.955900 3.953200 0.875800 0.095700 0.046500 22.420700 6.337000 12.644800 121.495600 9.252600 0.061000 66.227200 1.756300 - R5OECD.2055 2.329350 0.086000 51.501800 2.064900 2.602650 63.940350 21.569200 2.941000 0.621600 3.002300 9.832950 3.614050 0.834500 0.095150 0.036250 21.443150 6.333900 11.335950 112.539550 8.499900 0.040050 62.358700 1.803150 - R5OECD.2060 2.119700 0.071700 49.965900 2.050500 2.423700 61.130100 21.057300 2.773400 0.595600 2.905100 9.710000 3.274900 0.793200 0.094600 0.026000 20.465600 6.330800 10.027100 103.583500 7.747200 0.019100 58.490200 1.850000 - R5OECD.2065 1.864450 0.057450 48.559650 2.030600 2.260850 57.980550 20.467400 2.616950 0.563850 2.772550 9.578000 3.075400 0.758200 0.094250 0.019900 19.521900 6.327600 9.125850 99.636350 7.471950 0.015350 56.105850 1.909250 - R5OECD.2070 1.609200 0.043200 47.153400 2.010700 2.098000 54.831000 19.877500 2.460500 0.532100 2.640000 9.446000 2.875900 0.723200 0.093900 0.013800 18.578200 6.324400 8.224600 95.689200 7.196700 0.011600 53.721500 1.968500 - R5OECD.2075 1.308250 0.029000 45.876750 1.985250 1.951200 51.342000 19.209600 2.315250 0.494650 2.472100 9.305000 2.834700 0.694300 0.092400 0.010400 17.090700 6.342400 7.645550 97.535000 7.401050 0.009650 52.821450 2.040150 - R5OECD.2080 1.007300 0.014800 44.600100 1.959800 1.804400 47.853000 18.541700 2.170000 0.457200 2.304200 9.164000 2.793500 0.665400 0.090900 0.007000 15.603200 6.360400 7.066500 99.380800 7.605400 0.007700 51.921400 2.111800 - R5OECD.2085 0.964000 0.015200 43.233000 1.966650 1.790500 48.125700 18.223750 2.155000 0.452550 2.322700 9.200700 2.838600 0.660000 0.088250 0.003500 14.078650 6.378050 6.717800 103.444200 7.949000 0.006500 51.908000 2.138350 - R5OECD.2090 0.920700 0.015600 41.865900 1.973500 1.776600 48.398400 17.905800 2.140000 0.447900 2.341200 9.237400 2.883700 0.654600 0.085600 0.000000 12.554100 6.395700 6.369100 107.507600 8.292600 0.005300 51.894600 2.164900 - R5OECD.2095 0.921825 0.021163 41.301838 1.971375 1.721537 46.511713 17.588300 2.111250 0.440213 2.311762 9.206525 3.044388 0.665037 0.081850 0.000000 11.867475 6.292450 6.299475 116.045850 8.951225 0.005050 52.473163 2.241213 - R5OECD.2100 0.645400 0.026700 42.410100 1.617500 1.666500 44.625100 17.270800 2.082500 0.432500 2.282400 9.175700 0.012100 0.008800 0.004500 0.000000 12.009100 6.438800 6.679300 103.624400 5.533700 0.077200 52.493000 0.062400 - R5REF.2000 0.823600 0.056400 29.725600 0.473300 7.740800 80.860200 17.859100 3.562200 0.566500 4.229500 4.109500 1.834700 0.092500 0.053200 0.191900 0.117000 0.000000 0.195700 3.047100 0.130900 0.097000 0.301200 0.485700 - R5REF.2005 0.892200 0.056400 29.631700 0.461000 7.216600 80.811700 19.057800 3.666800 0.633200 4.672500 4.026800 1.274000 0.072300 0.051900 0.051700 0.363700 0.088400 0.568800 5.687900 0.349700 0.379900 0.451800 0.594100 - R5REF.2010 0.881700 0.061200 31.126800 0.449000 6.583900 80.810400 19.087600 3.367000 0.596800 4.599400 4.043300 1.098300 0.059500 0.055600 0.006200 0.740900 0.176800 0.763200 7.441800 0.414300 0.532800 0.830200 0.503200 - R5REF.2015 0.871300 0.066050 32.570450 0.437200 5.928900 80.805750 19.112600 3.066150 0.558700 4.525200 4.055700 0.878400 0.048000 0.038800 0.004450 1.636850 0.214150 1.134150 8.453950 0.484700 0.294450 1.208550 0.403250 - R5REF.2020 0.860900 0.070900 34.014100 0.425400 5.273900 80.801100 19.137600 2.765300 0.520600 4.451000 4.068100 0.658500 0.036500 0.022000 0.002700 2.532800 0.251500 1.505100 9.466100 0.555100 0.056100 1.586900 0.303300 - R5REF.2025 0.848800 0.077600 32.817550 0.418450 4.840750 80.081150 19.193050 2.621400 0.503700 4.436750 4.020550 0.659500 0.034600 0.017650 0.002150 3.040300 0.293400 1.557000 10.185600 0.642050 0.040950 1.593300 0.324200 - R5REF.2030 0.836700 0.084300 31.621000 0.411500 4.407600 79.361200 19.248500 2.477500 0.486800 4.422500 3.973000 0.660500 0.032700 0.013300 0.001600 3.547800 0.335300 1.608900 10.905100 0.729000 0.025800 1.599700 0.345100 - R5REF.2035 0.808050 0.072100 31.052950 0.401250 3.900900 78.253800 19.289800 2.303100 0.469500 4.390350 3.895800 0.669950 0.030750 0.013350 0.001300 3.984850 0.419200 1.616600 11.444200 0.798550 0.025900 1.595950 0.370850 - R5REF.2040 0.779400 0.059900 30.484900 0.391000 3.394200 77.146400 19.331100 2.128700 0.452200 4.358200 3.818600 0.679400 0.028800 0.013400 0.001000 4.421900 0.503100 1.624300 11.983300 0.868100 0.026000 1.592200 0.396600 - R5REF.2045 0.734500 0.047650 30.509550 0.377650 2.810850 75.643000 19.357850 1.923600 0.434500 4.307850 3.714900 0.701250 0.026800 0.013150 0.000800 4.267600 0.585300 1.605950 12.313700 0.915500 0.017350 1.578200 0.427300 - R5REF.2050 0.689600 0.035400 30.534200 0.364300 2.227500 74.139600 19.384600 1.718500 0.416800 4.257500 3.611200 0.723100 0.024800 0.012900 0.000600 4.113300 0.667500 1.587600 12.644100 0.962900 0.008700 1.564200 0.458000 - R5REF.2055 0.615300 0.035350 25.317500 0.359100 1.930900 72.105700 18.480900 1.576800 0.395250 4.176850 3.569750 0.737550 0.022550 0.012850 0.000450 4.305250 0.725950 1.422400 12.168250 0.936850 0.005700 1.483950 0.486550 - R5REF.2060 0.541000 0.035300 20.100800 0.353900 1.634300 70.071800 17.577200 1.435100 0.373700 4.096200 3.528300 0.752000 0.020300 0.012800 0.000300 4.497200 0.784400 1.257200 11.692400 0.910800 0.002700 1.403700 0.515100 - R5REF.2065 0.464600 0.031650 17.116600 0.347250 1.409850 67.560150 16.781500 1.316850 0.352350 4.001600 3.476300 0.769150 0.018250 0.012750 0.000250 4.642850 0.846600 1.171550 11.739150 0.945550 0.002200 1.354550 0.545900 - R5REF.2070 0.388200 0.028000 14.132400 0.340600 1.185400 65.048500 15.985800 1.198600 0.331000 3.907000 3.424300 0.786300 0.016200 0.012700 0.000200 4.788500 0.908800 1.085900 11.785900 0.980300 0.001700 1.305400 0.576700 - R5REF.2075 0.309700 0.020750 13.380850 0.332450 1.033050 62.058800 15.298000 1.103700 0.309850 3.798400 3.361750 0.807100 0.014350 0.012500 0.000150 4.697300 0.965200 1.065350 12.420200 1.086300 0.001450 1.287300 0.609800 - R5REF.2080 0.231200 0.013500 12.629300 0.324300 0.880700 59.069100 14.610200 1.008800 0.288700 3.689800 3.299200 0.827900 0.012500 0.012300 0.000100 4.606100 1.021600 1.044800 13.054500 1.192300 0.001200 1.269200 0.642900 - R5REF.2085 0.225750 0.013750 13.227600 0.323100 0.850100 58.690450 14.668100 0.995000 0.287900 3.688500 3.290700 0.871700 0.011150 0.011950 0.000050 4.207950 1.061850 1.025550 13.741400 1.298350 0.001050 1.292050 0.660350 - R5REF.2090 0.220300 0.014000 13.825900 0.321900 0.819500 58.311800 14.726000 0.981200 0.287100 3.687200 3.282200 0.915500 0.009800 0.011600 0.000000 3.809800 1.102100 1.006300 14.428300 1.404400 0.000900 1.314900 0.677800 - R5REF.2095 0.220550 0.019000 13.639587 0.321588 0.794125 56.038675 14.464875 0.967950 0.282162 3.640887 3.271262 0.966562 0.009987 0.011100 0.000000 3.601425 1.084288 0.995363 15.574175 1.515900 0.000838 1.329587 0.701675 - R5REF.2100 0.154400 0.024000 14.005600 0.263800 0.768700 53.765500 14.203700 0.954800 0.277200 3.594600 3.260300 0.003900 0.000100 0.000600 0.000000 3.644400 1.109500 1.055400 13.907100 0.937200 0.012500 1.330100 0.019500 - R5ASIA.2000 1.768200 0.355600 124.982100 2.545600 15.648400 397.439000 70.582900 7.993100 3.046800 11.636100 17.240400 2.083400 0.820900 0.000000 4.096800 0.867300 0.000000 1.413200 9.009700 1.037100 0.019700 2.245700 1.226500 - R5ASIA.2005 2.608200 0.445300 134.875600 2.715600 21.061100 416.787900 75.430300 9.709700 3.400200 11.719800 18.331600 2.276700 0.963800 0.000000 6.967900 3.035200 0.192000 3.025000 16.397800 2.824000 0.047800 3.368500 1.811700 - R5ASIA.2010 3.150900 0.334000 136.766000 2.848800 21.543500 416.076100 74.587900 10.224400 3.427900 10.653300 18.516100 1.967400 0.832500 0.000000 6.651400 4.892600 0.382700 4.479400 21.017900 3.320600 0.115300 7.490800 1.594500 - R5ASIA.2015 3.693950 0.222700 138.613150 2.979050 22.031400 415.365000 73.748850 10.738600 3.455700 9.568000 18.701650 1.674250 0.702400 0.000000 3.771750 10.801200 0.528500 7.040500 25.457300 3.837550 0.069600 11.613050 1.003250 - R5ASIA.2020 4.237000 0.111400 140.460300 3.109300 22.519300 414.653900 72.909800 11.252800 3.483500 8.482700 18.887200 1.381100 0.572300 0.000000 0.892100 16.709800 0.674300 9.601600 29.896700 4.354500 0.023900 15.735300 0.412000 - R5ASIA.2025 4.710400 0.052000 141.176150 3.184950 20.092600 420.758450 74.541400 11.107700 3.287150 7.992200 19.558850 1.439300 0.668000 0.000000 0.713700 21.240950 0.900100 10.136550 37.820700 5.598950 0.020700 17.224150 0.476300 - R5ASIA.2030 5.183800 -0.007400 141.892000 3.260600 17.665900 426.863000 76.173000 10.962600 3.090800 7.501700 20.230500 1.497500 0.763700 0.000000 0.535300 25.772100 1.125900 10.671500 45.744700 6.843400 0.017500 18.713000 0.540600 - R5ASIA.2035 5.454350 -0.009800 141.282550 3.270150 15.243150 412.114300 74.027900 10.373050 2.873550 6.978000 20.600350 1.541900 0.852100 0.000000 0.427700 30.163600 1.479150 10.893750 53.134800 7.919350 0.021750 19.734250 0.608900 - R5ASIA.2040 5.724900 -0.012200 140.673100 3.279700 12.820400 397.365600 71.882800 9.783500 2.656300 6.454300 20.970200 1.586300 0.940500 0.000000 0.320100 34.555100 1.832400 11.116000 60.524900 8.995300 0.026000 20.755500 0.677200 - R5ASIA.2045 5.792300 -0.006250 138.781750 3.225600 10.403100 361.880000 65.998200 8.750400 2.417900 5.896850 21.034200 1.617750 1.021700 0.000000 0.255350 34.617000 2.410200 11.145200 67.109350 9.883400 0.019150 21.309200 0.749500 - R5ASIA.2050 5.859700 -0.000300 136.890400 3.171500 7.985800 326.394400 60.113600 7.717300 2.179500 5.339400 21.098200 1.649200 1.102900 0.000000 0.190600 34.678900 2.988000 11.174400 73.693800 10.771500 0.012300 21.862900 0.821800 - R5ASIA.2055 5.407050 -0.003150 135.549350 3.144600 6.838450 292.974800 54.853250 6.865450 1.968850 4.789950 20.940900 1.587400 1.140450 0.000000 0.148500 37.506550 2.930300 10.471250 76.013850 11.024300 0.008950 21.078950 0.896700 - R5ASIA.2060 4.954400 -0.006000 134.208300 3.117700 5.691100 259.555200 49.592900 6.013600 1.758200 4.240500 20.783600 1.525600 1.178000 0.000000 0.106400 40.334200 2.872600 9.768100 78.333900 11.277100 0.005600 20.295000 0.971600 - R5ASIA.2065 4.287500 -0.010650 131.200300 3.078600 4.808900 227.804250 45.285600 5.293650 1.571450 3.775800 20.572800 1.478050 1.193650 0.000000 0.081450 43.010700 2.784850 9.431400 84.319650 12.159450 0.005300 19.836900 1.055500 - R5ASIA.2070 3.620600 -0.015300 128.192300 3.039500 3.926700 196.053300 40.978300 4.573700 1.384700 3.311100 20.362000 1.430500 1.209300 0.000000 0.056500 45.687200 2.697100 9.094700 90.305400 13.041800 0.005000 19.378800 1.139400 - R5ASIA.2075 2.739550 -0.021750 123.518000 2.988150 3.309700 165.971050 37.623950 3.985650 1.221850 2.931200 20.097300 1.395250 1.203550 0.000000 0.042650 46.390900 2.591050 9.057350 100.533300 14.601100 0.005050 19.246600 1.232300 - R5ASIA.2080 1.858500 -0.028200 118.843700 2.936800 2.692700 135.888800 34.269600 3.397600 1.059000 2.551300 19.832600 1.360000 1.197800 0.000000 0.028800 47.094600 2.485000 9.020000 110.761200 16.160400 0.005100 19.114400 1.325200 - R5ASIA.2085 1.901600 -0.023850 116.404100 2.917550 2.680950 127.470700 33.620850 3.273050 1.036550 2.457000 19.678100 1.358450 1.239450 0.000000 0.014400 45.428500 2.361850 9.048150 121.817050 17.683500 0.005200 19.478650 1.363600 - R5ASIA.2090 1.944700 -0.019500 113.964500 2.898300 2.669200 119.052600 32.972100 3.148500 1.014100 2.362700 19.523600 1.356900 1.281100 0.000000 0.000000 43.762400 2.238700 9.076300 132.872900 19.206600 0.005300 19.842900 1.402000 - R5ASIA.2095 1.947138 -0.026437 112.429000 2.895175 2.586512 114.411663 32.387475 3.106125 0.996600 2.333012 19.458350 1.432525 1.301538 0.000000 0.000000 41.368837 2.202575 8.977113 143.425650 20.732100 0.005050 20.064087 1.451437 - R5ASIA.2100 1.363100 -0.033400 115.445900 2.375500 2.503800 109.770700 31.802800 3.063800 0.979100 2.303400 19.393100 0.005700 0.017200 0.000000 0.000000 41.862400 2.253800 9.518500 128.073400 12.816800 0.077100 20.071700 0.040400 - R5MAF.2000 0.580800 0.246000 44.299100 1.180400 6.102400 285.959600 56.889800 5.539700 1.876600 11.148200 5.036300 0.733700 0.046400 0.000000 0.000000 0.079900 0.000000 0.680300 3.936500 0.449800 0.018800 0.352400 0.207500 - R5MAF.2005 0.710200 0.227300 49.627600 1.276900 7.036500 305.672900 60.460500 5.986400 2.036300 11.874800 5.475900 0.962600 0.065800 0.000000 0.000000 0.368500 0.052800 1.383300 7.490900 1.197700 0.061800 0.528600 0.237500 - R5MAF.2010 0.836100 0.154400 52.513500 1.376000 7.269300 314.516900 59.512900 6.156200 2.090600 11.854500 5.568900 0.969800 0.054500 0.000000 0.000000 0.831700 0.104900 1.631200 9.815700 1.445300 0.092000 1.019100 0.250600 - R5MAF.2015 0.957200 0.081450 55.344700 1.478650 7.501600 323.368000 58.564800 6.326700 2.144150 11.833950 5.661000 0.973850 0.044250 0.000000 0.000000 1.937200 0.134650 2.228050 12.267000 1.701250 0.051900 1.509550 0.235200 - R5MAF.2020 1.078300 0.008500 58.175900 1.581300 7.733900 332.219100 57.616700 6.497200 2.197700 11.813400 5.753100 0.977900 0.034000 0.000000 0.000000 3.042700 0.164400 2.824900 14.718300 1.957200 0.011800 2.000000 0.219800 - R5MAF.2025 1.159700 0.007250 59.698150 1.633100 7.801450 335.282900 60.559100 6.589400 2.203500 11.743300 5.905450 1.106900 0.035850 0.000000 0.000000 3.454450 0.204850 2.913800 16.242050 2.122500 0.009500 2.224300 0.265600 - R5MAF.2030 1.241100 0.006000 61.220400 1.684900 7.869000 338.346700 63.501500 6.681600 2.209300 11.673200 6.057800 1.235900 0.037700 0.000000 0.000000 3.866200 0.245300 3.002700 17.765800 2.287800 0.007200 2.448600 0.311400 - R5MAF.2035 1.285350 0.015150 62.474750 1.727250 7.724750 339.389200 64.960400 6.683050 2.199600 11.615000 6.190750 1.364300 0.038550 0.000000 0.000000 4.487700 0.306650 3.072150 19.380750 2.439200 0.008450 2.624950 0.359300 - R5MAF.2040 1.329600 0.024300 63.729100 1.769600 7.580500 340.431700 66.419300 6.684500 2.189900 11.556800 6.323700 1.492700 0.039400 0.000000 0.000000 5.109200 0.368000 3.141600 20.995700 2.590600 0.009700 2.801300 0.407200 - R5MAF.2045 1.339300 0.044900 64.723700 1.801700 7.225300 339.449850 66.393700 6.594450 2.165050 11.510300 6.437500 1.618300 0.039450 0.000000 0.000000 5.683800 0.459650 3.215600 22.691100 2.726750 0.007100 2.929650 0.457150 - R5MAF.2050 1.349000 0.065500 65.718300 1.833800 6.870100 338.468000 66.368100 6.504400 2.140200 11.463800 6.551300 1.743900 0.039500 0.000000 0.000000 6.258400 0.551300 3.289600 24.386500 2.862900 0.004500 3.058000 0.507100 - R5MAF.2055 1.280450 0.055100 65.653800 1.837800 6.579550 333.211100 66.351450 6.419900 2.101200 11.314850 6.611500 1.911350 0.038200 0.000000 0.000000 7.835800 0.556950 3.256000 25.871300 2.997150 0.003350 3.135150 0.578000 - R5MAF.2060 1.211900 0.044700 65.589300 1.841800 6.289000 327.954200 66.334800 6.335400 2.062200 11.165900 6.671700 2.078800 0.036900 0.000000 0.000000 9.413200 0.562600 3.222400 27.356100 3.131400 0.002200 3.212300 0.648900 - R5MAF.2065 1.097800 0.034000 64.755700 1.835800 5.889350 316.687350 66.554650 6.154700 1.990550 10.873200 6.689600 2.263200 0.035100 0.000000 0.000000 11.310400 0.560500 3.347450 30.204500 3.441700 0.002200 3.342850 0.733350 - R5MAF.2070 0.983700 0.023300 63.922100 1.829800 5.489700 305.420500 66.774500 5.974000 1.918900 10.580500 6.707500 2.447600 0.033300 0.000000 0.000000 13.207600 0.558400 3.472500 33.052900 3.752000 0.002200 3.473400 0.817800 - R5MAF.2075 0.824000 0.012400 62.319050 1.813900 4.981100 288.139550 67.230900 5.697100 1.814650 10.144150 6.683150 2.649550 0.031150 0.000000 0.000000 14.698400 0.551700 3.726600 37.492100 4.249000 0.002300 3.657350 0.915850 - R5MAF.2080 0.664300 0.001500 60.716000 1.798000 4.472500 270.858600 67.687300 5.420200 1.710400 9.707800 6.658800 2.851500 0.029000 0.000000 0.000000 16.189200 0.545000 3.980700 41.931300 4.746000 0.002400 3.841300 1.013900 - R5MAF.2085 0.664900 0.003850 61.105100 1.804550 4.234750 260.411000 65.518250 5.288300 1.662750 9.537700 6.638750 3.180350 0.027600 0.000000 0.000000 17.138550 0.526550 4.208150 47.057550 5.295300 0.002550 4.197850 1.102050 - R5MAF.2090 0.665500 0.006200 61.494200 1.811100 3.997000 249.963400 63.349200 5.156400 1.615100 9.367600 6.618700 3.509200 0.026200 0.000000 0.000000 18.087900 0.508100 4.435600 52.183800 5.844600 0.002700 4.554400 1.190200 - R5MAF.2095 0.666312 0.008450 60.665638 1.809163 3.873125 240.219275 62.225888 5.087025 1.587163 9.249975 6.596575 3.704762 0.026638 0.000000 0.000000 17.098588 0.499850 4.387100 56.328238 6.308850 0.002575 4.605213 1.232138 - R5MAF.2100 0.466500 0.010600 62.293500 1.484400 3.749300 230.475200 61.102600 5.017700 1.559300 9.132400 6.574400 0.014800 0.000400 0.000000 0.000000 17.302600 0.511500 4.651700 50.298900 3.900200 0.039100 4.606900 0.034300 - R5LAM.2000 0.371000 0.364900 40.065600 1.044800 4.545100 112.822000 24.602700 2.905600 0.931100 5.082000 4.590700 0.752000 0.016000 0.000000 0.322600 0.127900 0.000000 0.432200 3.756900 0.359200 0.012300 0.336000 0.230600 - R5LAM.2005 0.412200 0.340600 42.197500 1.098500 3.694700 110.975000 24.404200 2.819200 0.926600 4.885700 4.928200 0.777600 0.015500 0.000000 0.337300 0.469600 0.052800 0.875600 6.808000 0.891200 0.056700 0.504000 0.275500 - R5LAM.2010 0.435100 0.260700 42.765500 1.113200 3.537600 97.042800 21.035500 2.690100 0.836400 4.134200 4.949400 0.734700 0.014700 0.000000 0.412100 0.977700 0.104900 0.890900 7.968700 0.930900 0.066100 0.976900 0.251000 - R5LAM.2015 0.457950 0.180750 43.321400 1.127850 3.365650 82.878400 17.614800 2.555100 0.745450 3.377250 4.970600 0.680350 0.013900 0.000000 0.226050 2.168750 0.134650 1.067100 8.950650 0.971100 0.036000 1.449900 0.182500 - R5LAM.2020 0.480800 0.100800 43.877300 1.142500 3.193700 68.714000 14.194100 2.420100 0.654500 2.620300 4.991800 0.626000 0.013100 0.000000 0.040000 3.359800 0.164400 1.243300 9.932600 1.011300 0.005900 1.922900 0.114000 - R5LAM.2025 0.500700 0.070150 44.883450 1.152850 3.115050 68.558000 14.823100 2.417050 0.646050 2.594500 5.058300 0.681700 0.012250 0.000000 0.032000 4.081800 0.204850 1.347800 11.240150 1.156150 0.004750 2.037700 0.129600 - R5LAM.2030 0.520600 0.039500 45.889600 1.163200 3.036400 68.402000 15.452100 2.414000 0.637600 2.568700 5.124800 0.737400 0.011400 0.000000 0.024000 4.803800 0.245300 1.452300 12.547700 1.301000 0.003600 2.152500 0.145200 - R5LAM.2035 0.539500 0.038200 45.937050 1.162700 2.903300 67.895300 16.147900 2.387850 0.626400 2.538150 5.176000 0.809900 0.010600 0.000000 0.019200 5.652100 0.306650 1.580850 14.327400 1.509900 0.004400 2.290800 0.165950 - R5LAM.2040 0.558400 0.036900 45.984500 1.162200 2.770200 67.388600 16.843700 2.361700 0.615200 2.507600 5.227200 0.882400 0.009800 0.000000 0.014400 6.500400 0.368000 1.709400 16.107100 1.718800 0.005200 2.429100 0.186700 - R5LAM.2045 0.576200 0.042300 45.102900 1.150800 2.577850 66.520700 17.607850 2.310950 0.601100 2.472200 5.263000 0.974350 0.009000 0.000000 0.011500 6.818250 0.459650 1.861450 18.428950 1.993550 0.003900 2.590850 0.212500 - R5LAM.2050 0.594000 0.047700 44.221300 1.139400 2.385500 65.652800 18.372000 2.260200 0.587000 2.436800 5.298800 1.066300 0.008200 0.000000 0.008600 7.136100 0.551300 2.013500 20.750800 2.268300 0.002600 2.752600 0.238300 - R5LAM.2055 0.584100 0.043050 45.497550 1.140950 2.169700 62.158350 19.793050 2.113250 0.557950 2.352200 5.296700 1.169600 0.007350 0.000000 0.006700 8.255750 0.556950 1.980150 21.613950 2.370550 0.001900 2.813500 0.272900 - R5LAM.2060 0.574200 0.038400 46.773800 1.142500 1.953900 58.663900 21.214100 1.966300 0.528900 2.267600 5.294600 1.272900 0.006500 0.000000 0.004800 9.375400 0.562600 1.946800 22.477100 2.472800 0.001200 2.874400 0.307500 - R5LAM.2065 0.545350 0.031500 46.587000 1.140550 1.758750 54.970900 20.092350 1.809000 0.500050 2.184750 5.278100 1.368200 0.005700 0.000000 0.003650 10.497050 0.560500 2.029250 24.848100 2.773750 0.001200 2.936600 0.350000 - R5LAM.2070 0.516500 0.024600 46.400200 1.138600 1.563600 51.277900 18.970600 1.651700 0.471200 2.101900 5.261600 1.463500 0.004900 0.000000 0.002500 11.618700 0.558400 2.111700 27.219100 3.074700 0.001200 2.998800 0.392500 - R5LAM.2075 0.468650 0.015400 44.750500 1.133250 1.389100 47.386500 15.306200 1.484050 0.442500 2.020750 5.230750 1.547850 0.004100 0.000000 0.001900 12.198400 0.551700 2.267850 31.353800 3.580250 0.001300 3.062450 0.442850 - R5LAM.2080 0.420800 0.006200 43.100800 1.127900 1.214600 43.495100 11.641800 1.316400 0.413800 1.939600 5.199900 1.632200 0.003300 0.000000 0.001300 12.778100 0.545000 2.424000 35.488500 4.085800 0.001400 3.126100 0.493200 - R5LAM.2085 0.431050 0.008500 42.225150 1.126250 1.198150 42.290200 12.082050 1.272200 0.413850 1.931250 5.199950 1.774250 0.002450 0.000000 0.000650 12.883750 0.526550 2.528550 40.749950 4.632750 0.001450 3.299850 0.534450 - R5LAM.2090 0.441300 0.010800 41.349500 1.124600 1.181700 41.085300 12.522300 1.228000 0.413900 1.922900 5.200000 1.916300 0.001600 0.000000 0.000000 12.989400 0.508100 2.633100 46.011400 5.179700 0.001500 3.473600 0.575700 - R5LAM.2095 0.441862 0.014612 40.792313 1.123350 1.145075 39.483675 12.300237 1.211437 0.406775 1.898775 5.182625 2.023112 0.001662 0.000000 0.000000 12.278963 0.499850 2.604350 49.665588 5.591075 0.001437 3.512350 0.595950 - R5LAM.2100 0.309300 0.018400 41.887000 0.921700 1.108500 37.882100 12.078200 1.194900 0.399600 1.874600 5.165200 0.008100 0.000000 0.000000 0.000000 12.425400 0.511500 2.761400 44.349400 3.456500 0.022100 3.513700 0.016600 -BUNKERS.2000 0.000000 0.000000 0.432500 0.000000 5.539000 1.185400 2.927000 6.281800 0.136100 0.139500 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2005 0.000000 0.000000 0.481700 0.000000 5.733700 1.263200 3.212500 6.727700 0.164400 0.165400 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2010 0.000000 0.000000 0.524800 0.000000 5.501500 1.281900 3.335900 6.856700 0.169200 0.170300 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2015 0.000000 0.000000 0.568500 0.000000 5.271700 1.300500 3.458750 6.984650 0.173750 0.175050 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2020 0.000000 0.000000 0.612200 0.000000 5.041900 1.319100 3.581600 7.112600 0.178300 0.179800 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2025 0.000000 0.000000 0.670000 0.000000 4.835100 1.363650 3.780250 7.397700 0.185000 0.186550 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2030 0.000000 0.000000 0.727800 0.000000 4.628300 1.408200 3.978900 7.682800 0.191700 0.193300 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2035 0.000000 0.000000 0.781650 0.000000 4.358850 1.416100 4.102350 7.792200 0.196700 0.198300 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2040 0.000000 0.000000 0.835500 0.000000 4.089400 1.424000 4.225800 7.901600 0.201700 0.203300 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2045 0.000000 0.000000 0.885300 0.000000 3.758850 1.395700 4.274800 7.837800 0.205050 0.206650 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2050 0.000000 0.000000 0.935100 0.000000 3.428300 1.367400 4.323800 7.774000 0.208400 0.210000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2055 0.000000 0.000000 0.953350 0.000000 3.073900 1.274500 4.218150 7.401550 0.210600 0.211600 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2060 0.000000 0.000000 0.971600 0.000000 2.719500 1.181600 4.112500 7.029100 0.212800 0.213200 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2065 0.000000 0.000000 0.968050 0.000000 2.427450 1.096000 3.988700 6.690250 0.213000 0.212700 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2070 0.000000 0.000000 0.964500 0.000000 2.135400 1.010400 3.864900 6.351400 0.213200 0.212200 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2075 0.000000 0.000000 0.939050 0.000000 1.905750 0.932200 3.722850 6.046250 0.211300 0.209600 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2080 0.000000 0.000000 0.913600 0.000000 1.676100 0.854000 3.580800 5.741100 0.209400 0.207000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2085 0.000000 0.000000 0.924000 0.000000 1.614750 0.850550 3.644000 5.821050 0.215750 0.212800 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2090 0.000000 0.000000 0.934400 0.000000 1.553400 0.847100 3.707200 5.901000 0.222100 0.218600 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2095 0.000000 0.000000 0.921837 0.000000 1.505275 0.814037 3.641450 5.821625 0.218225 0.215850 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2100 0.000000 0.000000 0.946600 0.000000 1.457100 0.781000 3.575700 5.742200 0.214400 0.213100 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -; -*** EOF ./core/magicc/magicc_scen_550.inc diff --git a/core/magicc/magicc_scen_bau.inc b/core/magicc/magicc_scen_bau.inc deleted file mode 100644 index 95962d532..000000000 --- a/core/magicc/magicc_scen_bau.inc +++ /dev/null @@ -1,153 +0,0 @@ -*** SOF ./core/magicc/magicc_scen_bau.inc -Table magicc_default_data_bau(RCP_regions_world_bunkers,tall,emiRCP) - FossilCO2 OtherCO2 CH4 N2O SOx CO NMVOC NOx BC OC NH3 CF4 C2F6 C6F14 HFC23 HFC32 HFC43-10 HFC125 HFC134a HFC143a HFC227ea HFC245fa SF6 -*** GtC GtC MtCH4 MtN2O-N MtS MtCO Mt MtN Mt Mt MtN kt kt kt kt kt kt kt kt kt kt kt kt - WORLD.2000 6.735000 1.148800 300.206900 7.456600 53.841200 1068.000800 210.623000 38.162300 7.804800 35.543500 40.018600 12.000100 2.374900 0.462400 10.394900 4.000000 0.000000 8.538100 75.039300 6.234000 1.950900 17.925700 5.538200 - WORLD.2005 7.971000 1.195500 315.902700 7.684100 56.719500 1061.525500 215.462800 38.794800 8.251200 36.391700 41.883700 11.605900 2.649400 0.435800 10.811600 10.993500 3.235100 13.759100 120.933400 12.448300 4.890100 26.888500 6.340700 - WORLD.2010 8.511500 0.877400 324.684900 8.185400 56.287900 1040.719400 215.026600 37.952500 8.135200 36.171500 43.722200 22.209700 2.602700 0.466600 9.522100 17.942100 6.453800 8.120900 146.301200 4.513800 8.820400 63.230600 7.770300 - WORLD.2015 8.730950 0.641850 318.167250 8.057500 53.037550 1033.059350 214.355300 36.761150 7.936500 36.123100 43.269000 22.541600 2.631350 0.325500 5.337250 39.292000 6.839550 8.505100 150.095900 5.033650 5.168000 64.468100 8.597850 - WORLD.2020 8.950400 0.406300 311.649600 7.929600 49.787200 1025.399300 213.684000 35.569800 7.737800 36.074700 42.815800 22.873500 2.660000 0.184400 1.152400 60.641900 7.225300 8.889300 153.890600 5.553500 1.515600 65.705600 9.425400 - WORLD.2025 9.472800 -0.075500 318.979800 8.373750 45.557750 1027.062950 215.028900 34.496900 7.622300 35.984850 44.600450 23.198950 2.684700 0.148100 0.921900 66.338650 7.675250 9.153700 156.505000 5.806300 1.108400 66.517200 9.513950 - WORLD.2030 9.995200 -0.557300 326.310000 8.817900 41.328300 1028.726600 216.373800 33.424000 7.506800 35.895000 46.385100 23.524400 2.709400 0.111800 0.691400 72.035400 8.125200 9.418100 159.119400 6.059100 0.701200 67.328800 9.602500 - WORLD.2035 10.774800 -0.635700 335.218350 9.273100 41.968000 1039.948250 219.524900 33.160300 7.456250 36.173550 48.209950 23.678850 2.669800 0.112350 0.552400 76.373550 8.744850 9.712050 161.374050 6.349050 0.704050 67.919600 9.644900 - WORLD.2040 11.554400 -0.714100 344.126700 9.728300 42.607700 1051.169900 222.676000 32.896600 7.405700 36.452100 50.034800 23.833300 2.630200 0.112900 0.413400 80.711700 9.364500 10.006000 163.628700 6.639000 0.706900 68.510400 9.687300 - WORLD.2045 12.299100 -0.588950 349.594000 10.132700 39.895650 1042.785950 221.526850 31.699150 7.245900 36.545650 51.588750 23.773050 2.590750 0.110800 0.329850 77.659550 10.229650 10.195450 165.366850 6.879200 0.457000 68.727950 9.733400 - WORLD.2050 13.043800 -0.463800 355.061300 10.537100 37.183600 1034.402000 220.377700 30.501700 7.086100 36.639200 53.142700 23.712800 2.551300 0.108700 0.246300 74.607400 11.094800 10.384900 167.105000 7.119400 0.207100 68.945500 9.779500 - WORLD.2055 13.934100 -0.361100 359.504700 10.949100 36.051450 1015.258050 217.239300 29.406300 6.776300 36.183850 54.962350 23.719050 2.515800 0.108000 0.191900 79.346500 11.103700 10.661500 169.536800 7.438500 0.146050 69.484950 9.853750 - WORLD.2060 14.824400 -0.258400 363.948100 11.361100 34.919300 996.114100 214.100900 28.310900 6.466500 35.728500 56.782000 23.725300 2.480300 0.107300 0.137500 84.085600 11.112600 10.938100 171.968600 7.757600 0.085000 70.024400 9.928000 - WORLD.2065 15.665200 -0.143850 361.950100 11.696150 28.610150 966.387950 209.179050 26.007150 6.080650 35.032350 58.339950 23.592400 2.500050 0.106950 0.105250 88.982900 11.079700 11.178900 173.945350 8.049550 0.075700 70.347650 10.005400 - WORLD.2070 16.506000 -0.029300 359.952100 12.031200 22.301000 936.661800 204.257200 23.703400 5.694800 34.336200 59.897900 23.459500 2.519800 0.106600 0.073000 93.880200 11.046800 11.419700 175.922100 8.341500 0.066400 70.670900 10.082800 - WORLD.2075 16.893300 0.107400 349.941300 12.196850 18.652600 904.846000 198.024950 21.811450 5.398600 33.838050 60.365700 23.197050 2.429400 0.104900 0.055150 95.075700 11.001750 11.579200 176.497150 8.554650 0.058650 70.347650 10.039450 - WORLD.2080 17.280600 0.244100 339.930500 12.362500 15.004200 873.030200 191.792700 19.919500 5.102400 33.339900 60.833500 22.934600 2.339000 0.103200 0.037300 96.271200 10.956700 11.738700 177.072200 8.767800 0.050900 70.024400 9.996100 - WORLD.2085 15.796850 0.243300 304.971850 12.361100 13.795800 852.907150 186.842250 18.946650 4.883900 33.006600 61.651450 22.437500 2.304350 0.100200 0.018650 93.737400 10.854600 11.759000 175.819000 8.883500 0.044350 68.891150 9.935500 - WORLD.2090 14.313100 0.242500 270.013200 12.359700 12.587400 832.784100 181.891800 17.973800 4.665400 32.673300 62.469400 21.940400 2.269700 0.097200 0.000000 91.203600 10.752500 11.779300 174.565800 8.999200 0.037800 67.757900 9.874900 - WORLD.2095 14.033200 0.211950 257.994300 12.314850 11.513050 812.504900 177.019750 17.029850 4.513450 32.419250 62.055600 21.369700 2.185700 0.092950 0.000000 86.215250 10.579000 11.739300 172.532800 9.049250 0.032550 66.409750 9.686000 - WORLD.2100 13.753300 0.181400 245.975400 12.270000 10.438700 792.225700 172.147700 16.085900 4.361500 32.165200 61.641800 20.799000 2.101700 0.088700 0.000000 81.226900 10.405500 11.699300 170.499800 9.099300 0.027300 65.061600 9.497100 - R5OECD.2000 3.191400 0.125900 60.702000 2.212500 14.265500 189.734600 37.761500 11.879900 1.247700 3.308200 9.041700 6.596300 1.399100 0.409200 5.783600 2.807900 0.000000 5.816700 55.289100 4.257000 1.803100 14.690400 3.387900 - R5OECD.2005 3.348200 0.125900 59.088600 2.132100 11.976900 146.014800 32.897500 9.885000 1.090500 3.073500 9.121200 6.315000 1.532000 0.383900 3.454700 6.756500 2.849100 7.906400 84.548800 7.185700 4.343900 22.035600 3.421900 - R5OECD.2010 3.434900 0.160300 59.408800 2.217300 11.649700 141.291100 31.977300 9.461500 1.034100 3.030100 9.419100 12.216000 1.520600 0.411000 2.452600 10.499200 5.684600 4.405700 98.971700 2.556900 7.552600 49.807100 4.192700 - R5OECD.2015 3.415700 0.139750 59.453050 2.160450 10.494800 136.059950 31.103650 8.771550 0.961700 2.982550 9.145500 12.596600 1.561300 0.286750 1.335100 22.748000 5.827800 4.440300 100.542000 2.803050 4.417600 50.170950 4.836300 - R5OECD.2020 3.396500 0.119200 59.497300 2.103600 9.339900 130.828800 30.230000 8.081600 0.889300 2.935000 8.871900 12.977200 1.602000 0.162500 0.217600 34.996800 5.971000 4.474900 102.112300 3.049200 1.282600 50.534800 5.479900 - R5OECD.2025 3.370700 0.018350 60.402000 2.211800 8.384650 124.673550 29.304300 7.437200 0.817150 2.822950 9.358500 12.474400 1.524150 0.130500 0.174100 34.521150 6.072350 4.385250 97.571650 2.881150 0.918300 50.174100 5.330150 - R5OECD.2030 3.344900 -0.082500 61.306700 2.320000 7.429400 118.518300 28.378600 6.792800 0.745000 2.710900 9.845100 11.971600 1.446300 0.098500 0.130600 34.045500 6.173700 4.295600 93.031000 2.713100 0.554000 49.813400 5.180400 - R5OECD.2035 3.346700 -0.087850 62.833450 2.429300 6.661350 113.601450 27.493350 6.175500 0.689200 2.664250 10.299300 11.488500 1.350500 0.098950 0.104350 32.085300 6.233500 4.243200 89.452900 2.633000 0.531900 49.414750 5.016400 - R5OECD.2040 3.348500 -0.093200 64.360200 2.538600 5.893300 108.684600 26.608100 5.558200 0.633400 2.617600 10.753500 11.005400 1.254700 0.099400 0.078100 30.125100 6.293300 4.190800 85.874800 2.552900 0.509800 49.016100 4.852400 - R5OECD.2045 3.318600 -0.056000 64.776150 2.612900 5.259300 103.923450 25.638200 5.032050 0.587950 2.585950 11.053050 10.600700 1.172250 0.097550 0.062300 26.272900 6.315150 4.117750 83.284750 2.514350 0.323250 48.423300 4.700400 - R5OECD.2050 3.288700 -0.018800 65.192100 2.687200 4.625300 99.162300 24.668300 4.505900 0.542500 2.554300 11.352600 10.196000 1.089800 0.095700 0.046500 22.420700 6.337000 4.044700 80.694700 2.475800 0.136700 47.830500 4.548400 - R5OECD.2055 3.264600 -0.000050 64.238150 2.726550 3.987900 92.759250 23.464650 4.003850 0.502050 2.534650 11.676000 9.438400 1.028450 0.095150 0.036250 21.443150 6.333900 3.992200 77.140450 2.393750 0.093900 47.652050 4.416900 - R5OECD.2060 3.240500 0.018700 63.284200 2.765900 3.350500 86.356200 22.261000 3.501800 0.461600 2.515000 11.999400 8.680800 0.967100 0.094600 0.026000 20.465600 6.330800 3.939700 73.586200 2.311700 0.051100 47.473600 4.285400 - R5OECD.2065 3.207800 -0.002500 60.664000 2.780550 2.588750 80.720300 21.162000 3.031300 0.427600 2.481800 12.280600 8.072850 0.942250 0.094250 0.019900 19.521900 6.327600 3.814550 69.582300 2.209750 0.043550 47.208050 4.174000 - R5OECD.2070 3.175100 -0.023700 58.043800 2.795200 1.827000 75.084400 20.063000 2.560800 0.393600 2.448600 12.561800 7.464900 0.917400 0.093900 0.013800 18.578200 6.324400 3.689400 65.578400 2.107800 0.036000 46.942500 4.062600 - R5OECD.2075 3.119250 -0.056750 55.152300 2.780850 1.487950 70.530700 19.072850 2.223400 0.368750 2.429800 12.658750 7.108700 0.866550 0.092400 0.010400 17.090700 6.342400 3.518200 62.179000 2.029450 0.030500 46.403750 3.924650 - R5OECD.2080 3.063400 -0.089800 52.260800 2.766500 1.148900 65.977000 18.082700 1.886000 0.343900 2.411000 12.755700 6.752500 0.815700 0.090900 0.007000 15.603200 6.360400 3.347000 58.779600 1.951100 0.025000 45.865000 3.786700 - R5OECD.2085 2.809800 -0.132000 45.502350 2.722000 0.988450 63.014900 17.344500 1.720050 0.327900 2.402950 13.086100 6.362700 0.784250 0.088250 0.003500 14.078650 6.378050 3.216750 56.033500 1.904350 0.021100 44.616800 3.676350 - R5OECD.2090 2.556200 -0.174200 38.743900 2.677500 0.828000 60.052800 16.606300 1.554100 0.311900 2.394900 13.416500 5.972900 0.752800 0.085600 0.000000 12.554100 6.395700 3.086500 53.287400 1.857600 0.017200 43.368600 3.566000 - R5OECD.2095 2.345950 -0.185650 36.241950 2.629750 0.667050 57.647100 15.908900 1.414100 0.301050 2.388100 13.267450 5.615600 0.708600 0.081850 0.000000 11.195650 6.385850 2.964550 50.808050 1.811950 0.014400 42.041000 3.424750 - R5OECD.2100 2.135700 -0.197100 33.740000 2.582000 0.506100 55.241400 15.211500 1.274100 0.290200 2.381300 13.118400 5.258300 0.664400 0.078100 0.000000 9.837200 6.376000 2.842600 48.328700 1.766300 0.011600 40.713400 3.283500 - R5REF.2000 0.823600 0.056400 29.725600 0.473300 7.740800 80.860200 17.859100 3.562200 0.566500 4.229500 4.109500 1.834700 0.092500 0.053200 0.191900 0.117000 0.000000 0.195700 3.047100 0.130900 0.097000 0.301200 0.485700 - R5REF.2005 0.892200 0.056400 29.631700 0.461000 7.216600 80.811700 19.057800 3.666800 0.633200 4.672500 4.026800 1.274000 0.072300 0.051900 0.051700 0.363700 0.088400 0.568800 5.687900 0.349700 0.379900 0.451800 0.594100 - R5REF.2010 0.956900 0.033600 29.827400 0.477800 6.358100 79.006000 18.276600 3.393500 0.621900 4.684100 4.041200 2.270000 0.067100 0.055600 0.006200 0.740900 0.176800 0.364500 7.641100 0.134600 0.891300 1.080100 0.685800 - R5REF.2015 0.925050 0.015000 28.418750 0.478350 5.492950 76.734650 17.796200 3.224250 0.587850 4.587200 3.949250 1.999350 0.063650 0.038800 0.004450 1.636850 0.214150 0.400050 7.686400 0.158350 0.527650 1.106600 0.910850 - R5REF.2020 0.893200 -0.003600 27.010100 0.478900 4.627800 74.463300 17.315800 3.055000 0.553800 4.490300 3.857300 1.728700 0.060200 0.022000 0.002700 2.532800 0.251500 0.435600 7.731700 0.182100 0.164000 1.133100 1.135900 - R5REF.2025 0.880100 -0.021700 25.870000 0.496450 4.182950 72.921950 16.919300 2.863250 0.523300 4.404250 3.901250 1.744950 0.055250 0.017650 0.002150 3.040300 0.293400 0.462300 8.066700 0.204650 0.134300 1.128800 1.134100 - R5REF.2030 0.867000 -0.039800 24.729900 0.514000 3.738100 71.380600 16.522800 2.671500 0.492800 4.318200 3.945200 1.761200 0.050300 0.013300 0.001600 3.547800 0.335300 0.489000 8.401700 0.227200 0.104600 1.124500 1.132300 - R5REF.2035 0.855450 -0.040400 24.185200 0.533350 2.973150 70.043800 16.129550 2.362750 0.465650 4.253300 4.036050 1.770000 0.045300 0.013350 0.001250 3.984850 0.419250 0.510950 8.518300 0.243900 0.121500 1.124900 1.138900 - R5REF.2040 0.843900 -0.041000 23.640500 0.552700 2.208200 68.707000 15.736300 2.054000 0.438500 4.188400 4.126900 1.778800 0.040300 0.013400 0.000900 4.421900 0.503200 0.532900 8.634900 0.260600 0.138400 1.125300 1.145500 - R5REF.2045 0.835100 -0.035700 22.720600 0.570800 1.870700 67.721250 15.387300 1.851600 0.417100 4.151750 4.209250 1.781900 0.036250 0.013150 0.000750 4.267600 0.585400 0.543050 8.539700 0.268000 0.092650 1.127400 1.162000 - R5REF.2050 0.826300 -0.030400 21.800700 0.588900 1.533200 66.735500 15.038300 1.649200 0.395700 4.115100 4.291600 1.785000 0.032200 0.012900 0.000600 4.113300 0.667600 0.553200 8.444500 0.275400 0.046900 1.129500 1.178500 - R5REF.2055 0.848950 -0.026600 21.694700 0.593500 1.383200 66.084600 14.784350 1.547950 0.378150 4.092150 4.369450 1.850200 0.029100 0.012850 0.000450 4.305250 0.726050 0.546450 8.396950 0.281800 0.034000 1.134300 1.182150 - R5REF.2060 0.871600 -0.022800 21.588700 0.598100 1.233200 65.433700 14.530400 1.446700 0.360600 4.069200 4.447300 1.915400 0.026000 0.012800 0.000300 4.497200 0.784500 0.539700 8.349400 0.288200 0.021100 1.139100 1.185800 - R5REF.2065 0.967600 -0.018050 20.158700 0.593750 1.022250 64.987250 14.260450 1.306250 0.346400 4.059700 4.443450 1.945000 0.023850 0.012750 0.000250 4.642850 0.846700 0.534650 8.231100 0.294550 0.019350 1.139800 1.184300 - R5REF.2070 1.063600 -0.013300 18.728700 0.589400 0.811300 64.540800 13.990500 1.165800 0.332200 4.050200 4.439600 1.974600 0.021700 0.012700 0.000200 4.788500 0.908900 0.529600 8.112800 0.300900 0.017600 1.140500 1.182800 - R5REF.2075 1.090300 -0.007950 18.651700 0.574800 0.681500 64.173300 13.758150 1.062700 0.322700 4.054700 4.305450 1.964350 0.018900 0.012500 0.000150 4.697300 0.965250 0.530000 7.929550 0.308550 0.015750 1.130750 1.164150 - R5REF.2080 1.117000 -0.002600 18.574700 0.560200 0.551700 63.805800 13.525800 0.959600 0.313200 4.059200 4.171300 1.954100 0.016100 0.012300 0.000100 4.606100 1.021600 0.530400 7.746300 0.316200 0.013900 1.121000 1.145500 - R5REF.2085 1.040250 -0.002200 17.192750 0.559500 0.529900 63.813800 13.361200 0.939850 0.308150 4.073850 4.180900 1.913200 0.014000 0.011950 0.000050 4.207950 1.061850 0.519750 7.455200 0.318100 0.011900 1.109800 1.127500 - R5REF.2090 0.963500 -0.001800 15.810800 0.558800 0.508100 63.821800 13.196600 0.920100 0.303100 4.088500 4.190500 1.872300 0.011900 0.011600 0.000000 3.809800 1.102100 0.509100 7.164100 0.320000 0.009900 1.098600 1.109500 - R5REF.2095 0.984250 -0.003350 14.375000 0.556000 0.499600 63.500850 13.043300 0.897550 0.299250 4.094850 4.136500 1.826800 0.009500 0.011100 0.000000 3.382400 1.120250 0.497900 6.888250 0.320350 0.008250 1.083200 1.078950 - R5REF.2100 1.005000 -0.004900 12.939200 0.553200 0.491100 63.179900 12.890000 0.875000 0.295400 4.101200 4.082500 1.781300 0.007100 0.010600 0.000000 2.955000 1.138400 0.486700 6.612400 0.320700 0.006600 1.067800 1.048400 - R5ASIA.2000 1.768200 0.355600 124.982100 2.545600 15.648400 397.439000 70.582900 7.993100 3.046800 11.636100 17.240400 2.083400 0.820900 0.000000 4.096800 0.867300 0.000000 1.413200 9.009700 1.037100 0.019700 2.245700 1.226500 - R5ASIA.2005 2.608200 0.445300 134.875600 2.715600 21.061100 416.787900 75.430300 9.709700 3.400200 11.719800 18.331600 2.276700 0.963800 0.000000 6.967900 3.035200 0.192000 3.025000 16.397800 2.824000 0.047800 3.368500 1.811700 - R5ASIA.2010 2.923400 0.418600 136.403500 2.915200 23.048000 415.895600 74.433800 10.400500 3.467300 11.879000 19.353700 4.179400 0.938600 0.000000 6.651300 4.892600 0.382600 2.144200 21.504500 1.063700 0.115300 9.746500 2.210800 - R5ASIA.2015 3.140500 0.412450 133.337450 2.986450 22.852750 421.611200 75.079050 10.676250 3.439050 12.047400 19.807150 4.037100 0.933650 0.000000 3.771650 10.801200 0.528450 2.469350 22.842600 1.224450 0.069800 10.491500 1.890150 - R5ASIA.2020 3.357600 0.406300 130.271400 3.057700 22.657500 427.326800 75.724300 10.952000 3.410800 12.215800 20.260600 3.894800 0.928700 0.000000 0.892000 16.709800 0.674300 2.794500 24.180700 1.385200 0.024300 11.236500 1.569500 - R5ASIA.2025 3.771450 0.350650 134.606900 3.208350 20.349650 443.786650 78.270350 10.940100 3.461750 12.529200 21.084150 4.161100 1.036200 0.000000 0.713600 21.240950 0.900050 3.032500 29.473700 1.719100 0.020050 12.196350 1.686850 - R5ASIA.2030 4.185300 0.295000 138.942400 3.359000 18.041800 460.246500 80.816400 10.928200 3.512700 12.842600 21.907700 4.427400 1.143700 0.000000 0.535200 25.772100 1.125800 3.270500 34.766700 2.053000 0.015800 13.156200 1.804200 - R5ASIA.2035 4.765050 0.294250 142.368350 3.494350 20.817750 479.461900 84.006000 11.869200 3.603950 13.355350 22.661150 4.563600 1.207100 0.000000 0.427600 30.163600 1.479000 3.477000 38.855850 2.324500 0.018700 13.914100 1.896700 - R5ASIA.2040 5.344800 0.293500 145.794300 3.629700 23.593700 498.677300 87.195600 12.810200 3.695200 13.868100 23.414600 4.699800 1.270500 0.000000 0.320000 34.555100 1.832200 3.683500 42.945000 2.596000 0.021600 14.672000 1.989200 - R5ASIA.2045 5.898450 0.301000 148.105700 3.731750 22.518700 502.948350 88.241350 12.710150 3.649750 14.043700 24.056850 4.676200 1.320400 0.000000 0.255300 34.617000 2.409950 3.810150 45.700400 2.783000 0.014750 15.230650 2.070000 - R5ASIA.2050 6.452100 0.308500 150.417100 3.833800 21.443700 507.219400 89.287100 12.610100 3.604300 14.219300 24.699100 4.652600 1.370300 0.000000 0.190600 34.678900 2.987700 3.936800 48.455800 2.970000 0.007900 15.789300 2.150800 - R5ASIA.2055 7.028100 0.303800 152.340000 3.941000 21.690800 498.373300 88.778100 12.470550 3.379150 13.745350 25.286700 4.544800 1.402200 0.000000 0.148550 37.506550 2.930050 4.087750 51.797150 3.213750 0.005850 16.130650 2.212650 - R5ASIA.2060 7.604100 0.299100 154.262900 4.048200 21.937900 489.527200 88.269100 12.331000 3.154000 13.271400 25.874300 4.437000 1.434100 0.000000 0.106500 40.334200 2.872400 4.238700 55.138500 3.457500 0.003800 16.472000 2.274500 - R5ASIA.2065 8.021100 0.294500 154.662200 4.131650 17.404100 468.337150 85.934150 10.932900 2.843450 12.538350 26.510000 4.245000 1.483100 0.000000 0.081500 43.010700 2.784650 4.359150 58.277400 3.681750 0.003600 16.702500 2.325500 - R5ASIA.2070 8.438100 0.289900 155.061500 4.215100 12.870300 447.147100 83.599200 9.534800 2.532900 11.805300 27.145700 4.053000 1.532100 0.000000 0.056500 45.687200 2.696900 4.479600 61.416300 3.906000 0.003400 16.933000 2.376500 - R5ASIA.2075 8.629050 0.322750 150.660150 4.304700 10.427800 420.700050 79.915600 8.569900 2.293500 11.237450 27.608950 3.793550 1.499550 0.000000 0.042650 46.390900 2.590900 4.547600 63.282350 4.059350 0.003200 16.908700 2.388950 - R5ASIA.2080 8.820000 0.355600 146.258800 4.394300 7.985300 394.253000 76.232000 7.605000 2.054100 10.669600 28.072200 3.534100 1.467000 0.000000 0.028800 47.094600 2.484900 4.615600 65.148400 4.212700 0.003000 16.884400 2.401400 - R5ASIA.2085 8.011450 0.378950 136.411750 4.316450 7.271850 376.865000 73.442700 7.090400 1.868150 10.232700 27.389400 3.236150 1.469700 0.000000 0.014400 45.428500 2.361800 4.614450 65.406750 4.275950 0.002700 16.733400 2.367650 - R5ASIA.2090 7.202900 0.402300 126.564700 4.238600 6.558400 359.477000 70.653400 6.575800 1.682200 9.795800 26.706600 2.938200 1.472400 0.000000 0.000000 43.762400 2.238700 4.613300 65.665100 4.339200 0.002400 16.582400 2.333900 - R5ASIA.2095 6.910150 0.391150 121.397250 4.184650 6.006650 343.081550 68.208300 6.109600 1.564350 9.525250 26.317800 2.658150 1.439600 0.000000 0.000000 40.409250 2.101600 4.590900 65.459850 4.370200 0.002150 16.364700 2.273200 - R5ASIA.2100 6.617400 0.380000 116.229800 4.130700 5.454900 326.686100 65.763200 5.643400 1.446500 9.254700 25.929000 2.378100 1.406800 0.000000 0.000000 37.056100 1.964500 4.568500 65.254600 4.401200 0.001900 16.147000 2.212500 - R5MAF.2000 0.580800 0.246000 44.299100 1.180400 6.102400 285.959600 56.889800 5.539700 1.876600 11.148200 5.036300 0.733700 0.046400 0.000000 0.000000 0.079900 0.000000 0.680300 3.936500 0.449800 0.018800 0.352400 0.207500 - R5MAF.2005 0.710200 0.227300 49.627600 1.276900 7.036500 305.672900 60.460500 5.986400 2.036300 11.874800 5.475900 0.962600 0.065800 0.000000 0.000000 0.368500 0.052800 1.383300 7.490900 1.197700 0.061800 0.528600 0.237500 - R5MAF.2010 0.774900 -0.002700 55.641200 1.394400 6.628400 296.563100 64.003900 5.711100 1.978500 11.663600 5.673400 2.019800 0.061700 0.000000 0.000000 0.831700 0.104900 0.786200 10.024700 0.462100 0.136000 1.325700 0.336300 - R5MAF.2015 0.836100 -0.181700 56.242650 1.359250 6.240050 290.952800 64.617250 5.583450 1.955900 11.591900 5.677750 2.316850 0.058850 0.000000 0.000000 1.937200 0.134600 0.811450 10.935600 0.541000 0.079650 1.376850 0.573050 - R5MAF.2020 0.897300 -0.360700 56.844100 1.324100 5.851700 285.342500 65.230600 5.455800 1.933300 11.520200 5.682100 2.613900 0.056000 0.000000 0.000000 3.042700 0.164300 0.836700 11.846500 0.619900 0.023300 1.428000 0.809800 - R5MAF.2025 1.028450 -0.548250 60.007750 1.444700 5.938850 280.360100 65.636050 5.475100 1.909000 11.415300 5.958900 2.994000 0.056800 0.000000 0.000000 3.454450 0.204750 0.890200 12.630450 0.651200 0.018250 1.574600 0.907600 - R5MAF.2030 1.159600 -0.735800 63.171400 1.565300 6.026000 275.377700 66.041500 5.494400 1.884700 11.310400 6.235700 3.374100 0.057600 0.000000 0.000000 3.866200 0.245200 0.943700 13.414400 0.682500 0.013200 1.721200 1.005400 - R5MAF.2035 1.310750 -0.731750 67.386450 1.693300 5.819350 275.611450 67.490800 5.434500 1.863450 11.277000 6.533850 3.691700 0.056250 0.000000 0.000000 4.487700 0.306550 1.008200 14.102550 0.712850 0.015650 1.850550 1.081150 - R5MAF.2040 1.461900 -0.727700 71.601500 1.821300 5.612700 275.845200 68.940100 5.374600 1.842200 11.243600 6.832000 4.009300 0.054900 0.000000 0.000000 5.109200 0.367900 1.072700 14.790700 0.743200 0.018100 1.979900 1.156900 - R5MAF.2045 1.649050 -0.673250 74.950450 1.964350 5.366850 269.454000 68.152500 5.305450 1.821200 11.237700 7.114600 4.211650 0.052800 0.000000 0.000000 5.683800 0.459550 1.134750 15.356400 0.764000 0.013050 2.094000 1.220400 - R5MAF.2050 1.836200 -0.618800 78.299400 2.107400 5.121000 263.062800 67.364900 5.236300 1.800200 11.231800 7.397200 4.414000 0.050700 0.000000 0.000000 6.258400 0.551200 1.196800 15.922100 0.784800 0.008000 2.208100 1.283900 - R5MAF.2055 2.091850 -0.561750 80.637600 2.263800 4.876900 260.143100 66.301250 5.203250 1.793450 11.301850 7.742700 4.914200 0.048650 0.000000 0.000000 7.835800 0.556850 1.320000 17.528000 0.870000 0.006450 2.407450 1.376550 - R5MAF.2060 2.347500 -0.504700 82.975800 2.420200 4.632800 257.223400 65.237600 5.170200 1.786700 11.371900 8.088200 5.414400 0.046600 0.000000 0.000000 9.413200 0.562500 1.443200 19.133900 0.955200 0.004900 2.606800 1.469200 - R5MAF.2065 2.647050 -0.407650 83.853000 2.570400 4.374000 255.174350 64.230500 5.239900 1.777750 11.450800 8.333000 5.836850 0.045200 0.000000 0.000000 11.310400 0.560400 1.601450 20.748350 1.037100 0.005150 2.820650 1.559500 - R5MAF.2070 2.946600 -0.310600 84.730200 2.720600 4.115200 253.125300 63.223400 5.309600 1.768800 11.529700 8.577800 6.259300 0.043800 0.000000 0.000000 13.207600 0.558300 1.759700 22.362800 1.119000 0.005400 3.034500 1.649800 - R5MAF.2075 3.118950 -0.247050 82.831800 2.839450 3.651300 252.913150 62.030300 5.168650 1.759850 11.607050 8.774250 6.538500 0.040300 0.000000 0.000000 14.698400 0.551550 1.921300 23.467700 1.176250 0.005450 3.213500 1.713450 - R5MAF.2080 3.291300 -0.183500 80.933400 2.958300 3.187400 252.701000 60.837200 5.027700 1.750900 11.684400 8.970700 6.817700 0.036800 0.000000 0.000000 16.189200 0.544800 2.082900 24.572600 1.233500 0.005500 3.392500 1.777100 - R5MAF.2085 3.124450 -0.173100 69.541450 3.063700 3.056950 252.747800 59.499000 4.997100 1.746750 11.765350 9.437350 7.021550 0.033850 0.000000 0.000000 17.138550 0.526400 2.183500 25.155750 1.275950 0.005350 3.598950 1.846650 - R5MAF.2090 2.957600 -0.162700 58.149500 3.169100 2.926500 252.794600 58.160800 4.966500 1.742600 11.846300 9.904000 7.225400 0.030900 0.000000 0.000000 18.087900 0.508000 2.284100 25.738900 1.318400 0.005200 3.805400 1.916200 - R5MAF.2095 3.147200 -0.170650 56.658050 3.239450 2.727800 252.066550 56.665200 4.889250 1.731200 11.868650 10.078050 7.339600 0.027150 0.000000 0.000000 18.475100 0.485650 2.358550 26.055400 1.345850 0.004950 3.969700 1.946750 - R5MAF.2100 3.336800 -0.178600 55.166600 3.309800 2.529100 251.338500 55.169600 4.812000 1.719800 11.891000 10.252100 7.453800 0.023400 0.000000 0.000000 18.862300 0.463300 2.433000 26.371900 1.373300 0.004700 4.134000 1.977300 - R5LAM.2000 0.371000 0.364900 40.065600 1.044800 4.545100 112.822000 24.602700 2.905600 0.931100 5.082000 4.590700 0.752000 0.016000 0.000000 0.322600 0.127900 0.000000 0.432200 3.756900 0.359200 0.012300 0.336000 0.230600 - R5LAM.2005 0.412200 0.340600 42.197500 1.098500 3.694700 110.975000 24.404200 2.819200 0.926600 4.885700 4.928200 0.777600 0.015500 0.000000 0.337300 0.469600 0.052800 0.875600 6.808000 0.891200 0.056700 0.504000 0.275500 - R5LAM.2010 0.421600 0.267600 42.935700 1.180700 3.402800 106.777900 23.263000 2.606900 0.882500 4.765400 5.234900 1.524600 0.014700 0.000000 0.412100 0.977700 0.104900 0.420200 8.159200 0.296400 0.125100 1.271200 0.344700 - R5LAM.2015 0.413700 0.256350 40.255000 1.073000 3.263100 106.589800 22.818600 2.452950 0.855300 4.779800 4.689450 1.591750 0.013900 0.000000 0.226100 2.168750 0.134600 0.383900 8.089350 0.306800 0.073250 1.322200 0.387500 - R5LAM.2020 0.405800 0.245100 37.574300 0.965300 3.123400 106.401700 22.374200 2.299000 0.828100 4.794200 4.144000 1.658900 0.013100 0.000000 0.040100 3.359800 0.164300 0.347600 8.019500 0.317200 0.021400 1.373200 0.430300 - R5LAM.2025 0.422050 0.125450 37.628850 1.012450 2.859200 104.335050 22.101000 2.236500 0.798300 4.704300 4.297700 1.824550 0.012250 0.000000 0.032050 4.081800 0.204750 0.383450 8.762500 0.350200 0.017500 1.443300 0.455300 - R5LAM.2030 0.438300 0.005800 37.683400 1.059600 2.595000 102.268400 21.827800 2.174000 0.768500 4.614400 4.451400 1.990200 0.011400 0.000000 0.024000 4.803800 0.245200 0.419300 9.505500 0.383200 0.013600 1.513400 0.480300 - R5LAM.2035 0.496750 -0.069950 37.964900 1.122800 2.488150 100.340400 21.671200 2.101050 0.739300 4.533950 4.679550 2.165100 0.010600 0.000000 0.019150 5.652100 0.306550 0.472700 10.444350 0.434700 0.016300 1.615300 0.511800 - R5LAM.2040 0.555200 -0.145700 38.246400 1.186000 2.381300 98.412400 21.514600 2.028100 0.710100 4.453500 4.907700 2.340000 0.009800 0.000000 0.014300 6.500400 0.367900 0.526100 11.383200 0.486200 0.019000 1.717200 0.543300 - R5LAM.2045 0.597850 -0.125000 38.568200 1.252900 2.259350 97.956050 21.552500 1.964500 0.692250 4.454700 5.154950 2.502600 0.009000 0.000000 0.011450 6.818250 0.459550 0.589750 12.485550 0.549750 0.013250 1.852650 0.580600 - R5LAM.2050 0.640500 -0.104300 38.890000 1.319800 2.137400 97.499700 21.590400 1.900900 0.674400 4.455900 5.402200 2.665200 0.008200 0.000000 0.008600 7.136100 0.551200 0.653400 13.587900 0.613300 0.007500 1.988100 0.617900 - R5LAM.2055 0.700600 -0.076500 40.146150 1.424250 2.072400 97.240500 21.618200 1.849200 0.661600 4.454400 5.887500 2.971450 0.007350 0.000000 0.006700 8.255750 0.556850 0.715050 14.674200 0.679150 0.005800 2.160550 0.665600 - R5LAM.2060 0.760700 -0.048700 41.402300 1.528700 2.007400 96.981300 21.646000 1.797500 0.648800 4.452900 6.372800 3.277700 0.006500 0.000000 0.004800 9.375400 0.562500 0.776700 15.760500 0.745000 0.004100 2.333000 0.713300 - R5LAM.2065 0.821650 -0.010150 42.195800 1.619800 1.695100 96.636850 21.579650 1.714150 0.636800 4.459700 6.772900 3.492700 0.005700 0.000000 0.003700 10.497050 0.560400 0.869100 17.106200 0.826400 0.004000 2.476750 0.762150 - R5LAM.2070 0.882600 0.028400 42.989300 1.710900 1.382800 96.292400 21.513300 1.630800 0.624800 4.466500 7.173000 3.707700 0.004900 0.000000 0.002600 11.618700 0.558300 0.961500 18.451900 0.907800 0.003900 2.620500 0.811000 - R5LAM.2075 0.935750 0.096400 42.266650 1.697050 1.291200 96.110100 21.521900 1.574000 0.616500 4.478050 7.018300 3.792000 0.004100 0.000000 0.001950 12.198400 0.551550 1.062100 19.638550 0.981050 0.003750 2.691000 0.848250 - R5LAM.2080 0.988900 0.164400 41.544000 1.683200 1.199600 95.927800 21.530500 1.517200 0.608200 4.489600 6.863600 3.876300 0.003300 0.000000 0.001300 12.778100 0.544800 1.162700 20.825200 1.054300 0.003600 2.761500 0.885500 - R5LAM.2085 0.810900 0.171650 35.977950 1.699450 1.135750 96.136000 21.708900 1.477300 0.604500 4.509000 7.557700 3.903950 0.002450 0.000000 0.000650 12.883750 0.526400 1.224550 21.767700 1.109100 0.003350 2.832200 0.917450 - R5LAM.2090 0.632900 0.178900 30.411900 1.715700 1.071900 96.344200 21.887300 1.437400 0.600800 4.528400 8.251800 3.931600 0.001600 0.000000 0.000000 12.989400 0.508000 1.286400 22.710200 1.163900 0.003100 2.902900 0.949400 - R5LAM.2095 0.645650 0.180450 29.006850 1.705000 1.013450 95.947750 21.912000 1.398950 0.595700 4.525600 8.255800 3.929550 0.000800 0.000000 0.000000 12.752850 0.485650 1.327450 23.321200 1.200850 0.002850 2.951150 0.962450 - R5LAM.2100 0.658400 0.182000 27.601800 1.694300 0.955000 95.551300 21.936700 1.360500 0.590600 4.522800 8.259800 3.927500 0.000000 0.000000 0.000000 12.516300 0.463300 1.368500 23.932200 1.237800 0.002600 2.999400 0.975500 -BUNKERS.2000 0.000000 0.000000 0.432500 0.000000 5.539000 1.185400 2.927000 6.281800 0.136100 0.139500 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2005 0.000000 0.000000 0.481700 0.000000 5.733700 1.263200 3.212500 6.727700 0.164400 0.165400 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2010 0.000000 0.000000 0.468200 0.000000 5.200800 1.185800 3.072000 6.379000 0.150900 0.149300 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2015 0.000000 0.000000 0.460300 0.000000 4.693850 1.111000 2.940550 6.052650 0.136700 0.134250 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2020 0.000000 0.000000 0.452400 0.000000 4.186900 1.036200 2.809100 5.726300 0.122500 0.119200 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2025 0.000000 0.000000 0.464300 0.000000 3.842450 0.985700 2.797800 5.544650 0.112750 0.108850 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2030 0.000000 0.000000 0.476200 0.000000 3.498000 0.935200 2.786500 5.363000 0.103000 0.098500 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2035 0.000000 0.000000 0.480000 0.000000 3.208200 0.889300 2.733900 5.217250 0.094650 0.089650 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2040 0.000000 0.000000 0.483800 0.000000 2.918400 0.843400 2.681300 5.071500 0.086300 0.080800 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2045 0.000000 0.000000 0.472900 0.000000 2.620700 0.782850 2.555000 4.835400 0.077650 0.071800 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2050 0.000000 0.000000 0.462000 0.000000 2.323000 0.722300 2.428700 4.599300 0.069000 0.062800 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2055 0.000000 0.000000 0.448100 0.000000 2.040250 0.657300 2.292750 4.331500 0.061900 0.055450 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2060 0.000000 0.000000 0.434200 0.000000 1.757500 0.592300 2.156800 4.063700 0.054800 0.048100 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2065 0.000000 0.000000 0.416400 0.000000 1.525950 0.532050 2.012300 3.782650 0.048650 0.042000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2070 0.000000 0.000000 0.398600 0.000000 1.294400 0.471800 1.867800 3.501600 0.042500 0.035900 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2075 0.000000 0.000000 0.378700 0.000000 1.112850 0.418700 1.726150 3.212800 0.037300 0.031000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2080 0.000000 0.000000 0.358800 0.000000 0.931300 0.365600 1.584500 2.924000 0.032100 0.026100 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2085 0.000000 0.000000 0.345600 0.000000 0.812900 0.329650 1.485950 2.721950 0.028450 0.022750 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2090 0.000000 0.000000 0.332400 0.000000 0.694500 0.293700 1.387400 2.519900 0.024800 0.019400 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2095 0.000000 0.000000 0.315200 0.000000 0.598500 0.261100 1.282050 2.320400 0.021900 0.016800 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2100 0.000000 0.000000 0.298000 0.000000 0.502500 0.228500 1.176700 2.120900 0.019000 0.014200 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -; -*** EOF ./core/magicc/magicc_scen_bau.inc diff --git a/core/output.gms b/core/output.gms index f83c2ee3f..7d6e5b0a9 100644 --- a/core/output.gms +++ b/core/output.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/core/postsolve.gms b/core/postsolve.gms index bef3e3399..6909fb861 100644 --- a/core/postsolve.gms +++ b/core/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -8,8 +8,7 @@ *-------------------------------calculate regional permit prices----------------------------------- -*** saving CO2 tax used in this iteration -p_taxCO2eq_iteration(iteration,ttot,regi) = pm_taxCO2eq(ttot,regi); +*** saving pm_taxemiMkt used in this iteration pm_taxemiMkt_iteration(iteration,ttot,regi,emiMkt) = pm_taxemiMkt(ttot,regi,emiMkt); if( (cm_emiscen eq 6), @@ -22,483 +21,6 @@ $endif.neg pm_taxCO2eqSum(ttot,regi)$(ttot.val < 2025) = pm_taxCO2eq(ttot,regi); ); -if(cm_iterative_target_adj eq 4, -*JeS* Iteratively update regional CO2 tax trajectories / regional CO2 budget to reach the FF&I budget target (s_actualbudgetco2 runs from 2020-2100, not peak budget) -*KK* for a time step of 5 years, the budget is calculated as 3 * 2020 + ts(2025-2090) + 8 * 2100; -*** 10-pm_ts("2090")/2 and pm_ts("2020")/2 are the time periods that haven't been taken into account in the sum over ttot. -*** 0.5 year of emissions is added for the two boundaries, such that the budget is calculated for 81 years. -s_actualbudgetco2 = sum(ttot$(ttot.val le 2090 AND ttot.val > 2020), (sum(regi, vm_emiTe.l(ttot,regi,"co2") + vm_emiMacSector.l(ttot,regi,"co2cement_process")) * sm_c_2_co2 * pm_ts(ttot))) - + sum(regi, vm_emiTe.l("2100",regi,"co2") + vm_emiMacSector.l("2100",regi,"co2cement_process")) * sm_c_2_co2 * (10 - pm_ts("2090")/2 + 0.5) - + sum(regi, vm_emiTe.l("2020",regi,"co2") + vm_emiMacSector.l("2020",regi,"co2cement_process")) * sm_c_2_co2 * (pm_ts("2020")/2 + 0.5); -display s_actualbudgetco2; - - if (cm_emiscen eq 6, - if(o_modelstat eq 2 AND ord(iteration) 2020), (sum(regi, (vm_emiTe.l(ttot,regi,"co2") + vm_emiCdr.l(ttot,regi,"co2") + vm_emiMac.l(ttot,regi,"co2"))) * sm_c_2_co2 * pm_ts(ttot))) - + sum(regi, vm_emiTe.l("2100",regi,"co2") + vm_emiCdr.l("2100",regi,"co2") + vm_emiMac.l("2100",regi,"co2")) * sm_c_2_co2 * (10 - pm_ts("2090")/2 + 0.5) - + sum(regi, vm_emiTe.l("2020",regi,"co2") + vm_emiCdr.l("2020",regi,"co2") + vm_emiMac.l("2020",regi,"co2")) * sm_c_2_co2 * (pm_ts("2020")/2 + 0.5); - -display s_actualbudgetco2; - - if (cm_emiscen eq 6, - if(o_modelstat eq 2 AND ord(iteration) 0 AND abs(c_budgetCO2from2020 - s_actualbudgetco2) ge 0.5, !!only for optimal iterations, and not after the last one, and only if budget still possitive, and only if target not yet reached - sm_globalBudget_dev = s_actualbudgetco2 / c_budgetCO2from2020; -*** make sure that iteration converges: -*** use multiplicative for budgets higher than 1200 Gt; for lower budgets, use multiplicative adjustment only for first 3 iterations, - if(ord(iteration) lt 3 or c_budgetCO2from2020 > 1200, - !! change in CO2 price through adjustment: new price - old price; needed for adjustment option 2 - pm_taxCO2eq_iterationdiff(t,regi) = pm_taxCO2eq(t,regi) * min(max((s_actualbudgetco2/c_budgetCO2from2020)** (25/(2 * iteration.val + 23)),0.5+iteration.val/208),2 - iteration.val/102) - pm_taxCO2eq(t,regi); - pm_taxCO2eq(t,regi) = pm_taxCO2eq(t,regi) + pm_taxCO2eq_iterationdiff(t,regi) ; -*** then switch to triangle-approximation based on last two iteration data points - else - !! change in CO2 price through adjustment: new price - old price; the two instances of "pm_taxCO2eq" cancel out -> only the difference term - pm_taxCO2eq_iterationdiff_tmp(t,regi) = - max(pm_taxCO2eq_iterationdiff(t,regi) * min(max((c_budgetCO2from2020 - s_actualbudgetco2)/(s_actualbudgetco2 - s_actualbudgetco2_last),-2),2),-pm_taxCO2eq(t,regi)/2); - pm_taxCO2eq(t,regi) = pm_taxCO2eq(t,regi) + - max(pm_taxCO2eq_iterationdiff(t,regi) * min(max((c_budgetCO2from2020 - s_actualbudgetco2)/(s_actualbudgetco2 - s_actualbudgetco2_last),-2),2),-pm_taxCO2eq(t,regi)/2); - pm_taxCO2eq_iterationdiff(t,regi) = pm_taxCO2eq_iterationdiff_tmp(t,regi); - ); - o_taxCO2eq_iterDiff_Itr(iteration,regi) = pm_taxCO2eq_iterationdiff("2030",regi); - else - if(s_actualbudgetco2 > 0 or abs(c_budgetCO2from2020 - s_actualbudgetco2) < 2, !! if model was not optimal, or if budget already reached, keep tax constant - pm_taxCO2eq(t,regi) = pm_taxCO2eq(t,regi); - o_taxCO2eq_iterDiff_Itr(iteration,regi) = 0; - else -*** if budget has turned negative, reduce CO2 price by 20% - pm_taxCO2eq_iterationdiff(t,regi) = -0.2*pm_taxCO2eq(t,regi); - pm_taxCO2eq(t,regi) = pm_taxCO2eq(t,regi) + pm_taxCO2eq_iterationdiff(t,regi); - o_taxCO2eq_iterDiff_Itr(iteration,regi) = pm_taxCO2eq_iterationdiff("2030",regi); - ); - ); - display o_taxCO2eq_iterDiff_Itr; - - pm_taxCO2eq(t,regi)$(t.val gt 2110) = pm_taxCO2eq("2110",regi); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value - display pm_taxCO2eq; - ); -); - -if(cm_iterative_target_adj eq 6, -*JeS* Iteratively update regional CO2 tax trajectories / regional CO2 budget to reach the target for global peak budget - -*KK* p_actualbudgetco2 for ttot > 2020. It includes emissions from 2020 to ttot (including ttot). -*** (ttot.val - (ttot - 1).val)/2 and pm_ts("2020")/2 are the time periods that haven't been taken into account in the sum over ttot2. -*** 0.5 year of emissions is added for the two boundaries, such that the budget includes emissions in ttot. -p_actualbudgetco2(ttot)$(ttot.val > 2020) = sum(ttot2$(ttot2.val < ttot.val AND ttot2.val > 2020), (sum(regi, (vm_emiTe.l(ttot2,regi,"co2") + vm_emiCdr.l(ttot2,regi,"co2") + vm_emiMac.l(ttot2,regi,"co2"))) * sm_c_2_co2 * pm_ts(ttot2))) - + sum(regi, (vm_emiTe.l(ttot,regi,"co2") + vm_emiCdr.l(ttot,regi,"co2") + vm_emiMac.l(ttot,regi,"co2"))) * sm_c_2_co2 * ((pm_ttot_val(ttot)-pm_ttot_val(ttot-1))/2 + 0.5) - + sum(regi, (vm_emiTe.l("2020",regi,"co2") + vm_emiCdr.l("2020",regi,"co2") + vm_emiMac.l("2020",regi,"co2"))) * sm_c_2_co2 * (pm_ts("2020")/2 + 0.5); - -s_actualbudgetco2 = smax(t,p_actualbudgetco2(t)); -display s_actualbudgetco2; - - if (cm_emiscen eq 6, - if(o_modelstat eq 2 AND ord(iteration) 0 AND abs(c_budgetCO2from2020 - s_actualbudgetco2) ge 0.5, !!only for optimal iterations, and not after the last one, and only if budget still possitive, and only if target not yet reached -*** make sure that iteration converges: -*** use multiplicative for budgets higher than 1200 Gt; for lower budgets, use multiplicative adjustment only for first 3 iterations, - if(ord(iteration) lt 3 or c_budgetCO2from2020 > 1200, - !! change in CO2 price through adjustment: new price - old price; needed for adjustment option 2 - pm_taxCO2eq_iterationdiff(t,regi) = pm_taxCO2eq(t,regi) * min(max((s_actualbudgetco2/c_budgetCO2from2020)** (25/(2 * iteration.val + 23)),0.5+iteration.val/208),2 - iteration.val/102) - pm_taxCO2eq(t,regi); - pm_taxCO2eq(t,regi) = pm_taxCO2eq(t,regi) + pm_taxCO2eq_iterationdiff(t,regi) ; -*** then switch to triangle-approximation based on last two iteration data points - else - !! change in CO2 price through adjustment: new price - old price; the two instances of "pm_taxCO2eq" cancel out -> only the difference term - pm_taxCO2eq_iterationdiff_tmp(t,regi) = - max(pm_taxCO2eq_iterationdiff(t,regi) * min(max((c_budgetCO2from2020 - s_actualbudgetco2)/(s_actualbudgetco2 - s_actualbudgetco2_last),-2),2),-pm_taxCO2eq(t,regi)/2); - pm_taxCO2eq(t,regi) = pm_taxCO2eq(t,regi) + - max(pm_taxCO2eq_iterationdiff(t,regi) * min(max((c_budgetCO2from2020 - s_actualbudgetco2)/(s_actualbudgetco2 - s_actualbudgetco2_last),-2),2),-pm_taxCO2eq(t,regi)/2); - pm_taxCO2eq_iterationdiff(t,regi) = pm_taxCO2eq_iterationdiff_tmp(t,regi); - ); - o_taxCO2eq_iterDiff_Itr(iteration,regi) = pm_taxCO2eq_iterationdiff("2030",regi); - else - if(s_actualbudgetco2 > 0 or abs(c_budgetCO2from2020 - s_actualbudgetco2) < 2, !! if model was not optimal, or if budget already reached, keep tax constant - pm_taxCO2eq(t,regi) = pm_taxCO2eq(t,regi); - o_taxCO2eq_iterDiff_Itr(iteration,regi) = 0; - else -*** if budget has turned negative, reduce CO2 price by 20% - pm_taxCO2eq_iterationdiff(t,regi) = -0.2*pm_taxCO2eq(t,regi); - pm_taxCO2eq(t,regi) = pm_taxCO2eq(t,regi) + pm_taxCO2eq_iterationdiff(t,regi); - o_taxCO2eq_iterDiff_Itr(iteration,regi) = pm_taxCO2eq_iterationdiff("2030",regi); - ); - ); - display o_taxCO2eq_iterDiff_Itr; - - pm_taxCO2eq(t,regi)$(t.val gt 2110) = pm_taxCO2eq("2110",regi); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value - display pm_taxCO2eq; - ); -); - -*** --------------------------------------------------------------------------------------------------------------- -*** ENGAGE peakBudg formulation that works with several CO2 price path realizations of module 45 --------------------- -*** it results in a peak budget with zero net CO2 emissions afterwards -*** --------------------------------------------------------------------------------------------------------------- -if(cm_iterative_target_adj eq 7, -*JeS/CB* Iteratively update regional CO2 tax trajectories / regional CO2 budget to reach the target for global peak budget, but make sure CO2 emissions afterward are close to zero on the global level - -*** Save the original functional form of the CO2 price trajectory so values for all times can be accessed even if the peakBudgYr is shifted. - if( iteration.val eq 1, - p_taxCO2eq_until2150(t,regi) = pm_taxCO2eq(t,regi); - ); - -*KK* p_actualbudgetco2 for ttot > 2020. It includes emissions from 2020 to ttot (including ttot). -*** (ttot.val - (ttot - 1).val)/2 and pm_ts("2020")/2 are the time periods that haven't been taken into account in the sum over ttot2. -*** 0.5 year of emissions is added for the two boundaries, such that the budget includes emissions in ttot. -p_actualbudgetco2(ttot)$(ttot.val > 2020) = sum(ttot2$(ttot2.val < ttot.val AND ttot2.val > 2020), (sum(regi, (vm_emiTe.l(ttot2,regi,"co2") + vm_emiCdr.l(ttot2,regi,"co2") + vm_emiMac.l(ttot2,regi,"co2"))) * sm_c_2_co2 * pm_ts(ttot2))) - + sum(regi, (vm_emiTe.l(ttot,regi,"co2") + vm_emiCdr.l(ttot,regi,"co2") + vm_emiMac.l(ttot,regi,"co2"))) * sm_c_2_co2 * ((pm_ttot_val(ttot)-pm_ttot_val(ttot-1))/2 + 0.5) - + sum(regi, (vm_emiTe.l("2020",regi,"co2") + vm_emiCdr.l("2020",regi,"co2") + vm_emiMac.l("2020",regi,"co2"))) * sm_c_2_co2 * (pm_ts("2020")/2 + 0.5); -s_actualbudgetco2 = smax(t$(t.val le c_peakBudgYr AND t.val le 2100),p_actualbudgetco2(t)); - - - o_peakBudgYr_Itr(iteration) = c_peakBudgYr; - -display s_actualbudgetco2; -display p_actualbudgetco2; - - if (cm_emiscen eq 9, - if(o_modelstat eq 2 AND ord(iteration) 0 AND abs(c_budgetCO2from2020 - s_actualbudgetco2) ge 0.5, !!only for optimal iterations, and not after the last one, and only if budget still possitive, and only if target not yet reached - display pm_taxCO2eq; -*** make sure that iteration converges: -*** use multiplicative for budgets higher than 1600 Gt; for lower budgets, use multiplicative adjustment only for first 3 iterations, - if(ord(iteration) lt 3 or c_budgetCO2from2020 > 1600, - !! change in CO2 price through adjustment: new price - old price; needed for adjustment option 2 - pm_taxCO2eq_iterationdiff(t,regi) = pm_taxCO2eq(t,regi) * min(max((s_actualbudgetco2/c_budgetCO2from2020)** (25/(2 * iteration.val + 23)),0.5+iteration.val/208),2 - iteration.val/102) - pm_taxCO2eq(t,regi); - pm_taxCO2eq(t,regi)$(t.val le c_peakBudgYr) = pm_taxCO2eq(t,regi) + pm_taxCO2eq_iterationdiff(t,regi) ; - p_taxCO2eq_until2150(t,regi) = p_taxCO2eq_until2150(t,regi) + pm_taxCO2eq_iterationdiff(t,regi) ; -*** then switch to triangle-approximation based on last two iteration data points - else - !! change in CO2 price through adjustment: new price - old price; the two instances of "pm_taxCO2eq" cancel out -> only the difference term - !! until c_peakBudgYr: expolinear price trajectory - pm_taxCO2eq_iterationdiff_tmp(t,regi) = - max(pm_taxCO2eq_iterationdiff(t,regi) * min(max((c_budgetCO2from2020 - s_actualbudgetco2)/(s_actualbudgetco2 - s_actualbudgetco2_last),-2),2),-pm_taxCO2eq(t,regi)/2); - pm_taxCO2eq(t,regi)$(t.val le c_peakBudgYr) = pm_taxCO2eq(t,regi) + - max(pm_taxCO2eq_iterationdiff(t,regi) * min(max((c_budgetCO2from2020 - s_actualbudgetco2)/(s_actualbudgetco2 - s_actualbudgetco2_last),-2),2),-pm_taxCO2eq(t,regi)/2); - p_taxCO2eq_until2150(t,regi) = p_taxCO2eq_until2150(t,regi) + - max(pm_taxCO2eq_iterationdiff(t,regi) * min(max((c_budgetCO2from2020 - s_actualbudgetco2)/(s_actualbudgetco2 - s_actualbudgetco2_last),-2),2),-p_taxCO2eq_until2150(t,regi)/2); - pm_taxCO2eq_iterationdiff(t,regi) = pm_taxCO2eq_iterationdiff_tmp(t,regi); - !! after c_peakBudgYr: adjustment so that emissions become zero: increase/decrease tax in each time step after c_peakBudgYr by percentage of that year's total CO2 emissions of 2015 emissions - ); - o_taxCO2eq_iterDiff_Itr(iteration,regi) = pm_taxCO2eq_iterationdiff("2030",regi); - display o_taxCO2eq_iterDiff_Itr; - else - if(s_actualbudgetco2 > 0 or abs(c_budgetCO2from2020 - s_actualbudgetco2) < 2, !! if model was not optimal, or if budget already reached, keep tax constant - pm_taxCO2eq(t,regi) = pm_taxCO2eq(t,regi); - else -*** if budget has turned negative, reduce CO2 price by 20% - pm_taxCO2eq(t,regi) = 0.8*pm_taxCO2eq(t,regi); - p_taxCO2eq_until2150(t,regi) = 0.8*p_taxCO2eq_until2150(t,regi); - ); - ); -*** after c_peakBudgYr: always adjust to bring emissions close to zero - pm_taxCO2eq(t,regi)$(t.val gt c_peakBudgYr) = pm_taxCO2eq(t,regi) + pm_taxCO2eq(t,regi)*max(sum(regi2,vm_emiAll.l(t,regi2,"co2"))/sum(regi2,vm_emiAll.l("2015",regi2,"co2")),-0.75); - -*** check if c_peakBudgYr is correct: if global emissions already negative, move c_peakBudgYr forward -*** similar code block as used in iterative-adjust 9 below (credit to RP) - o_diff_to_Budg(iteration) = (c_budgetCO2from2020 - s_actualbudgetco2); - o_totCO2emi_peakBudgYr(iteration) = sum(t$(t.val = c_peakBudgYr), sum(regi2, vm_emiAll.l(t,regi2,"co2")) ); - o_totCO2emi_allYrs(t,iteration) = sum(regi2, vm_emiAll.l(t,regi2,"co2") ); - o_change_totCO2emi_peakBudgYr(iteration) = sum(ttot$(ttot.val = c_peakBudgYr), (o_totCO2emi_allYrs(ttot-1,iteration) - o_totCO2emi_allYrs(ttot+1,iteration) )/4 ); !! Only gives a tolerance range, exact value not important. Division by 4 somewhat arbitrary - could be 3 or 5 as well. - - display c_peakBudgYr, o_diff_to_Budg, o_peakBudgYr_Itr, o_totCO2emi_allYrs, o_totCO2emi_peakBudgYr, o_change_totCO2emi_peakBudgYr; - -***if( sum(t,sum(regi2,vm_emiAll.l(t,regi2,"co2")$(t.val = c_peakBudgYr))) < -0.1, -*** c_peakBudgYr = tt.val(t - 1)$(t.val = c_peakBudgYr); -***); - - if( abs(o_diff_to_Budg(iteration)) < 20, !! only think about shifting peakBudgYr if the budget is close enough to target budget - display "close enough to target budget to check timing of peak year"; - loop(ttot$(ttot.val = c_peakBudgYr), !! look at the peak timing -*** if( ( (o_totCO2emi_peakBudgYr(iteration) < -(0.1 + o_change_totCO2emi_peakBudgYr(iteration)) ) AND (c_peakBudgYr > 2040) ), !! no peaking time before 2040 - if( ( (o_totCO2emi_peakBudgYr(iteration) < -(0.1) ) AND (c_peakBudgYr > 2040) ), !! no peaking time before 2040 - display "shift peakBudgYr left"; - o_peakBudgYr_Itr(iteration+1) = pm_ttot_val(ttot - 1); -*** pm_taxCO2eq(t,regi)$(t.val gt pm_ttot_val(ttot - 1)) = p_taxCO2eq_until2150(ttot-1,regi) + (t.val - pm_ttot_val(ttot - 1)) * c_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by c_taxCO2inc_after_peakBudgYr per year after peakBudgYr -*** if tax after c_peakBudgYr is higher than normal increase rate (exceeding a 20% tolerance): shift right - elseif( ( sum(regi, sum(t2$(t2.val = pm_ttot_val(ttot+1)),pm_taxCO2eq(t2,regi))) > sum(regi,sum(t2$(t2.val = pm_ttot_val(ttot+1)),p_taxCO2eq_until2150(t2,regi)))*1.2 ) AND (c_peakBudgYr < 2100) ), !! if peaking time would be after 2100, keep 2100 budget year - if( (iteration.val > 2) AND ( o_peakBudgYr_Itr(iteration - 1) > o_peakBudgYr_Itr(iteration) ) AND ( o_peakBudgYr_Itr(iteration - 2) = o_peakBudgYr_Itr(iteration) ) , !! if the target year was just shifted left after being shifted right - o_peakBudgYr_Itr(iteration+1) = o_peakBudgYr_Itr(iteration); !! don't shift right again immediately - else - display "shift peakBudgYr right"; - o_peakBudgYr_Itr(iteration+1) = pm_ttot_val(ttot + 1); !! ttot+1 is the new peakBudgYr - loop(t$(t.val ge pm_ttot_val(ttot + 1)), - pm_taxCO2eq(t,regi) = p_taxCO2eq_until2150(t,regi); - ); - ); - - else !! don't do anything if the peakBudgYr is already at the corner values (2040, 2100) or if the emissions in the peakBudgYr are close to 0 - o_peakBudgYr_Itr(iteration+1) = o_peakBudgYr_Itr(iteration) - ); - ); - c_peakBudgYr = o_peakBudgYr_Itr(iteration+1); - display c_peakBudgYr; - ); - - - - - - pm_taxCO2eq(t,regi)$(t.val gt 2110) = pm_taxCO2eq("2110",regi); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value - display pm_taxCO2eq; - ); -); - - -*** --------------------------------------------------------------------------------------------------------------- -*** new peakBudg formulation that works with several CO2 price path realizations of module 45 --------------------- -*** it results in a peak budget with linear increase by 2$/yr afterwards -*** --------------------------------------------------------------------------------------------------------------- - -if (cm_iterative_target_adj eq 9, -*' Update Iteratively update regional CO2 tax trajectories / regional CO2 budget to reach the target for global peak budget, with a linear increase afterwards given by `c_taxCO2inc_after_peakBudgYr`. The -*' peak budget year is determined automatically (within the time window 2040--2100) - -*' `p_actualbudgetco2(ttot)` includes emissions from 2020 to `ttot` (inclusive). - p_actualbudgetco2(ttot)$( 2020 lt ttot.val ) - = sum((regi,ttot2)$( 2020 le ttot2.val AND ttot2.val le ttot.val ), - ( vm_emiTe.l(ttot2,regi,"co2") - + vm_emiCdr.l(ttot2,regi,"co2") - + vm_emiMac.l(ttot2,regi,"co2") - ) - * ( !! second half of the 2020 period: 2020-22 - (pm_ts(ttot2) / 2 + 0.5)$( ttot2.val eq 2020 ) - !! entire middle periods - + (pm_ts(ttot2))$( 2020 lt ttot2.val AND ttot2.val lt ttot.val ) - !! first half of the final period, until the end of the middle year - + ((pm_ttot_val(ttot) - pm_ttot_val(ttot-1)) / 2 + 0.5)$( - ttot2.val eq ttot.val ) - ) - ) - * sm_c_2_co2; - - s_actualbudgetco2 = smax(t$( t.val le c_peakBudgYr ), p_actualbudgetco2(t)); - - o_peakBudgYr_Itr(iteration) = c_peakBudgYr; - - display s_actualbudgetco2, p_actualbudgetco2; - - if(cm_emiscen eq 9, - -*** --------A: calculate the new CO2 price path, the CO2 tax rescale factor---------------------------------------------------------- - - if(o_modelstat eq 2 AND ord(iteration) < cm_iteration_max AND s_actualbudgetco2 > 0 AND abs(c_budgetCO2from2020 - s_actualbudgetco2) ge 2, !!only for optimal iterations, and not after the last one, and only if budget still possitive, and only if target not yet reached - display pm_taxCO2eq; - - if( ( ( p_actualbudgetco2("2100") > 1.1 * s_actualbudgetco2 ) AND ( abs(c_budgetCO2from2020 - s_actualbudgetco2) < 50 ) AND (iteration.val < 12) ), - display iteration; -*** if end-of-century budget is higher than budget at peak point, AND end-of-century budget is already in the range of the target budget (+/- 50 GtC), treat as end-of-century budget -*** for this iteration. Only do this rough approach (jump to 2100) for the first iterations - at later iterations the slower adjustment of the peaking time should work better - display "this is likely an end-of-century budget with no net negative emissions at all. Shift c_peakBudgYr to 2100"; - s_actualbudgetco2 = 0.5 * (p_actualbudgetco2("2100") + s_actualbudgetco2); !! due to the potential strong jump in c_peakBudgYr, which implies that the CO2 price -*** will increase over a longer time horizon, take the average of the budget at the old peak time and the new peak time - c_peakBudgYr = 2100; - ); - -*** --------A1: for that, calculate the CO2 tax rescale factor--- - - if(iteration.val lt 10, - p_factorRescale_taxCO2(iteration) = max(0.1, (s_actualbudgetco2/c_budgetCO2from2020) ) ** 3; - else - p_factorRescale_taxCO2(iteration) = max(0.1, (s_actualbudgetco2/c_budgetCO2from2020) ) ** 2; - ); - p_factorRescale_taxCO2_Funneled(iteration) = - max(min( 2 * EXP( -0.15 * iteration.val ) + 1.01 ,p_factorRescale_taxCO2(iteration)), - 1/ ( 2 * EXP( -0.15 * iteration.val ) + 1.01) - ); - - pm_taxCO2eq_iterationdiff(t,regi) = max(1* sm_DptCO2_2_TDpGtC, pm_taxCO2eq(t,regi) * p_factorRescale_taxCO2_Funneled(iteration) ) - pm_taxCO2eq(t,regi); - p_taxCO2eq_until2150(t,regi) = max(1* sm_DptCO2_2_TDpGtC, p_taxCO2eq_until2150(t,regi) * p_factorRescale_taxCO2_Funneled(iteration) ); - pm_taxCO2eq(t,regi) = max(1* sm_DptCO2_2_TDpGtC, pm_taxCO2eq(t,regi) * p_factorRescale_taxCO2_Funneled(iteration) ); !! rescale co2tax - loop(t2$(t2.val eq c_peakBudgYr), - pm_taxCO2eq(t,regi)$(t.val gt c_peakBudgYr) = p_taxCO2eq_until2150(t2,regi) + (t.val - t2.val) * c_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by c_taxCO2inc_after_peakBudgYr per year - ); - - display p_factorRescale_taxCO2, p_factorRescale_taxCO2_Funneled; - - o_taxCO2eq_iterDiff_Itr(iteration,regi) = pm_taxCO2eq_iterationdiff("2030",regi); - loop(regi, !! not a nice solution to having only the price of one regi display (for better visibility), but this way it overwrites again and again until the value from the last regi remain - o_taxCO2eq_Itr_1regi(t,iteration+1) = pm_taxCO2eq(t,regi); - ); - - display o_taxCO2eq_iterDiff_Itr, o_taxCO2eq_Itr_1regi; - - - else !! if(o_modelstat eq 2 AND ord(iteration) 0 AND abs(c_budgetCO2from2020 )) - if(s_actualbudgetco2 > 0 or abs(c_budgetCO2from2020 - s_actualbudgetco2) < 2, !! if model was not optimal, or if budget already reached, keep tax constant - p_factorRescale_taxCO2(iteration) = 1; - p_factorRescale_taxCO2_Funneled(iteration) = 1; - p_taxCO2eq_until2150(t,regi) = p_taxCO2eq_until2150(t,regi); !! nothing changes - else -*** if budget has turned negative, reduce CO2 price by 20% - p_factorRescale_taxCO2(iteration) = 0.8; - p_factorRescale_taxCO2_Funneled(iteration) = p_factorRescale_taxCO2(iteration); - - p_taxCO2eq_until2150(t,regi) = p_factorRescale_taxCO2(iteration) * p_taxCO2eq_until2150(t,regi); - pm_taxCO2eq(t,regi) = p_factorRescale_taxCO2(iteration) * pm_taxCO2eq(t,regi); - ); - ); !! if(o_modelstat eq 2 AND ord(iteration) 0 AND abs(c_budgetCO2from2020 - s_actualbudgetco2) ge 2, - - display pm_taxCO2eq, p_taxCO2eq_until2150; - - -*** -------B: checking the peak timing, if c_peakBudgYr is still correct or needs to be shifted----------------------- - - o_diff_to_Budg(iteration) = (c_budgetCO2from2020 - s_actualbudgetco2); - o_totCO2emi_peakBudgYr(iteration) = sum(t$(t.val = c_peakBudgYr), sum(regi2, vm_emiAll.l(t,regi2,"co2")) ); - o_totCO2emi_allYrs(t,iteration) = sum(regi2, vm_emiAll.l(t,regi2,"co2") ); - -*RP* calculate how fast emissions are changing around the peaking time to get an idea how close it is possible to get to 0 due to the 5(10) year time steps - o_change_totCO2emi_peakBudgYr(iteration) = sum(ttot$(ttot.val = c_peakBudgYr), (o_totCO2emi_allYrs(ttot-1,iteration) - o_totCO2emi_allYrs(ttot+1,iteration) )/4 ); !! Only gives a tolerance range, exact value not important. Division by 4 somewhat arbitrary - could be 3 or 5 as well. - - display c_peakBudgYr, o_diff_to_Budg, o_peakBudgYr_Itr, o_totCO2emi_allYrs, o_totCO2emi_peakBudgYr, o_change_totCO2emi_peakBudgYr; - - -*** ----B1: check if c_peakBudgYr should be shifted left or right: - if( abs(o_diff_to_Budg(iteration)) < 20, !! only think about shifting peakBudgYr if the budget is close enough to target budget - display "close enough to target budget to check timing of peak year"; - - !! check if the target year was just shifted back left after being shifted right before - if ( (iteration.val > 2) AND ( o_peakBudgYr_Itr(iteration - 1) > o_peakBudgYr_Itr(iteration) ) AND ( o_peakBudgYr_Itr(iteration - 2) = o_peakBudgYr_Itr(iteration) ), - o_pkBudgYr_flipflop(iteration) = 1; - display "flipflop observed (before loop)"; - ); - - loop(ttot$(ttot.val = c_peakBudgYr), !! look at the peak timing - if( ( (o_totCO2emi_peakBudgYr(iteration) < -(0.1 + o_change_totCO2emi_peakBudgYr(iteration)) ) AND (c_peakBudgYr > 2040) ), !! no peaking time before 2040 - display "shift peakBudgYr left"; - o_peakBudgYr_Itr(iteration+1) = pm_ttot_val(ttot - 1); - pm_taxCO2eq(t,regi)$(t.val gt pm_ttot_val(ttot - 1)) = p_taxCO2eq_until2150(ttot-1,regi) + (t.val - pm_ttot_val(ttot - 1)) * c_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by c_taxCO2inc_after_peakBudgYr per year after peakBudgYr - - elseif ( ( o_totCO2emi_peakBudgYr(iteration) > (0.1 + o_change_totCO2emi_peakBudgYr(iteration)) ) AND (c_peakBudgYr < 2100) ), !! if peaking time would be after 2100, keep 2100 budget year - if( (o_pkBudgYr_flipflop(iteration) eq 1), !! if the target year was just shifted left after being shifted right, and would now be shifted right again - display "peakBudgYr was left, right, left and is now supposed to be shifted right again -> flipflop, thus go into separate loop"; - o_peakBudgYr_Itr(iteration+1) = o_peakBudgYr_Itr(iteration); !! don't shift right again immediately, but go into a different loop: - o_delay_increase_peakBudgYear(iteration) = 1; - elseif ( o_delay_increase_peakBudgYear(iteration) eq 1 ), - display "still in separate loop trying to resolve flip-flop behavior"; - o_peakBudgYr_Itr(iteration+1) = o_peakBudgYr_Itr(iteration); !! keep current peakBudgYr, - else - display "shift peakBudgYr right"; - o_peakBudgYr_Itr(iteration+1) = pm_ttot_val(ttot + 1); !! ttot+1 is the new peakBudgYr - loop(t$(t.val ge pm_ttot_val(ttot + 1)), - pm_taxCO2eq(t,regi) = p_taxCO2eq_until2150(ttot+1,regi) - + (t.val - pm_ttot_val(ttot + 1)) * c_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by c_taxCO2inc_after_peakBudgYr per year - ); - ); - - else !! don't do anything if the peakBudgYr is already at the corner values (2040, 2100) or if the emissions in the peakBudgYr are close enough to 0 (within the range of +/- o_change_totCO2emi_peakBudgYr) - o_peakBudgYr_Itr(iteration+1) = o_peakBudgYr_Itr(iteration) - ); - ); - c_peakBudgYr = o_peakBudgYr_Itr(iteration+1); - display c_peakBudgYr; - ); - - pm_taxCO2eq(t,regi)$(t.val le c_peakBudgYr) = p_taxCO2eq_until2150(t,regi); !! until peakBudgYr, take the contiuous price trajectory - -*** -----B2: if there was a flip-floping of c_peakBudgYr in the previous iterations, try to overome this by adjusting the CO2 price path after the peaking year - if (o_delay_increase_peakBudgYear(iteration) = 1, - display "not shifting peakBudgYr right, instead adjusting CO2 price for following year"; - loop(ttot$(ttot.val eq c_peakBudgYr), !! set ttot to the current peakBudgYr - loop(t2$(t2.val eq pm_ttot_val(ttot+1)), !! set t2 to the following time step - o_factorRescale_taxCO2_afterPeakBudgYr(iteration) = 1 + max(sum(regi2,vm_emiAll.l(ttot,regi2,"co2"))/sum(regi2,vm_emiAll.l("2015",regi2,"co2")),-0.75) ; - !! this was inspired by Christoph's approach. This value is 1 if emissions in the peakBudgYr are 0; goes down to 0.25 if emissions are <0 and approaching the size of 2015 emissions, and > 1 if emissions > 0. - - !! in case the normal linear extension still is not enough to get emissions to 0 after the peakBudgYr, shift peakBudgYr right again: - if( ( o_reached_until2150pricepath(iteration-1) eq 1 ) AND ( o_totCO2emi_peakBudgYr(iteration) > (0.1 + o_change_totCO2emi_peakBudgYr(iteration)) ), - display "price in following year reached original path in previous iteration and is still not enough -> shift peakBudgYr to right"; - o_delay_increase_peakBudgYear(iteration+1) = 0; !! probably is not necessary - o_reached_until2150pricepath(iteration) = 0; - o_peakBudgYr_Itr(iteration+1) = t2.val; !! shift PeakBudgYear to the following time step - c_peakBudgYr = o_peakBudgYr_Itr(iteration+1); - pm_taxCO2eq(t2,regi) = p_taxCO2eq_until2150(t2,regi) ; !! set CO2 price in t2 to value in the "continuous path" - - display c_peakBudgYr; - elseif ( ( o_reached_until2150pricepath(iteration-1) eq 1 ) AND ( o_totCO2emi_peakBudgYr(iteration) < (0.1 + o_change_totCO2emi_peakBudgYr(iteration)) ) ), - display "New intermediate price in timestep after c_peakBudgYr is sufficient to stabilize peaking year - go back to normal loop"; - o_delay_increase_peakBudgYear(iteration+1) = 0; !! probably is not necessary - o_reached_until2150pricepath(iteration) = 0; - o_peakBudgYr_Itr(iteration+1) = o_peakBudgYr_Itr(iteration); - c_peakBudgYr = o_peakBudgYr_Itr(iteration+1); - else !! either didn't reach the continued "until2150"-price path in last iteration, or the increase was high enough to get emissions to 0. - !! in this case, keep PeakBudgYr, and adjust the price in the year after the peakBudgYr to get emissions close to 0, - o_delay_increase_peakBudgYear(iteration+1) = 1; !! make sure next iteration peakBudgYr is not shifted right again - o_peakBudgYr_Itr(iteration+1) = o_peakBudgYr_Itr(iteration); - pm_taxCO2eq(t2,regi) = max(pm_taxCO2eq(ttot,regi), !! at least as high as the price in the peakBudgYr - pm_taxCO2eq(t2,regi) * (o_factorRescale_taxCO2_afterPeakBudgYr(iteration) / p_factorRescale_taxCO2_Funneled(iteration) ) !! the full path was already rescaled by p_factorRescale_taxCO2_Funneled, so adjust the second rescaling - ); - loop(regi, !! this loop is necessary to allow the <-comparison in the next if statement - if( p_taxCO2eq_until2150(t2,regi) < pm_taxCO2eq(t2,regi) , !! check if new price would be higher than the price if the peakBudgYr would be one timestep later - display "price increase reached price from path with c_peakBudgYr one timestep later - downscale to 99%"; - pm_taxCO2eq(t2,regi) = 0.99 * p_taxCO2eq_until2150(t2,regi); !! reduce the new CO2 price to 99% of the price that it would be if the peaking year was one timestep later. The next iteration will show if this is enough, otherwise c_peakBudgYr will be shifted right - o_reached_until2150pricepath(iteration) = 1; !! upward CO2 price correction reached the continued price path - check in next iteration if this is high enough. - ); - ); - ); - - display o_factorRescale_taxCO2_afterPeakBudgYr; - pm_taxCO2eq(t,regi)$(t.val gt t2.val) = pm_taxCO2eq(t2,regi) + (t.val - t2.val) * c_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by c_taxCO2inc_after_peakBudgYr per year - - ); !! loop t2$(t2.val eq pm_ttot_val(ttot+1)), !! set t2 to the following time step - ); !! loop ttot$(ttot.val eq c_peakBudgYr), !! set ttot to the current peakBudgYr - c_peakBudgYr = o_peakBudgYr_Itr(iteration+1); !! this has to happen outside the loop, otherwise the loop condition might be true twice - ); !! if o_delay_increase_peakBudgYear(iteration) = 1, !! if there was a flip-floping in the previous iterations, try to solve this - - - loop(regi, !! not a nice solution to having only the price of one regi display (for better visibility), but this way it overwrites again and again until the value from the last regi remain - o_taxCO2eq_afterPeakShiftLoop_Itr_1regi(t,iteration+1) = pm_taxCO2eq(t,regi); - ); - - display o_delay_increase_peakBudgYear, o_reached_until2150pricepath, pm_taxCO2eq, o_peakBudgYr_Itr, o_taxCO2eq_afterPeakShiftLoop_Itr_1regi, o_pkBudgYr_flipflop; - ); !! if cm_emiscen eq 9, -); !! if cm_iterative_target_adj eq 9, - -***------ end of "cm_iterative_target_adj" variants----------------------------------------- - - -*** for having it available in next iteration, too: -s_actualbudgetco2_last = s_actualbudgetco2; - ***----------------------------------------------- *RP* calculate shares of SE used for different FEs ***----------------------------------------------- @@ -584,7 +106,7 @@ pm_PEPrice(ttot,regi,entyPe)$(abs (qm_budget.m(ttot,regi)) gt sm_eps) = q_balPe.m(ttot,regi,entyPe) / qm_budget.m(ttot,regi); *** calculate share of stored CO2 from captured CO2 -pm_share_CCS_CCO2(t,regi) = sum(teCCS2rlf(te,rlf), vm_co2CCS.l(t,regi,"cco2","ico2",te,rlf)) / (sum(teCCS2rlf(te,rlf), vm_co2capture.l(t,regi,"cco2","ico2",te,rlf))+sm_eps); +pm_share_CCS_CCO2(t,regi) = sum(teCCS2rlf(te,rlf), vm_co2CCS.l(t,regi,"cco2","ico2",te,rlf)) / (sum(teCCS2rlf(te,rlf), v_co2capture.l(t,regi,"cco2","ico2",te,rlf))+sm_eps); *** emissions reporting helper parameters o_emissions_bunkers(ttot,regi,emi)$(ttot.val ge 2005) = @@ -735,7 +257,7 @@ o_emissions_other(ttot,regi,emi)$(ttot.val ge 2005) = ***Carbon Management|Carbon Capture (Mt CO2/yr) o_capture(ttot,regi,"co2")$(ttot.val ge 2005) = sum(teCCS2rlf(te,rlf), - vm_co2capture.l(ttot,regi,"cco2","ico2","ccsinje",rlf) + v_co2capture.l(ttot,regi,"cco2","ico2","ccsinje",rlf) )*o_emi_conv("co2"); ***Carbon Management|Carbon Capture|Process|Energy (Mt CO2/yr) @@ -759,7 +281,7 @@ o_capture_energy_other(ttot,regi,"co2")$(ttot.val ge 2005) = ***Carbon Management|Carbon Capture|Process|Direct Air Capture (Mt CO2/yr) o_capture_cdr(ttot,regi,"co2")$(ttot.val ge 2005) = sum(teCCS2rlf("ccsinje",rlf), - vm_ccs_cdr.l(ttot,regi,"cco2","ico2","ccsinje",rlf) + vm_co2capture_cdr.l(ttot,regi,"cco2","ico2","ccsinje",rlf) )*o_emi_conv("co2"); ***Carbon Management|Carbon Capture|Process|Industrial Processes (Mt CO2/yr) @@ -828,13 +350,13 @@ p_FEPrice_by_SE_Sector_EmiMkt(t,regi,entySe,entyFe,sector,emiMkt)$(abs (qm_budge loop((t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), *** initialize prices - p_FEPrice_by_Sector_EmiMkt(t,regi,entyFe,sector,emiMkt)=0; - pm_FEPrice_by_SE_Sector(t,regi,entySe,entyFe,sector)=0; - p_FEPrice_by_SE_EmiMkt(t,regi,entySe,entyFe,emiMkt)=0; - p_FEPrice_by_SE(t,regi,entySe,entyFe)=0; - p_FEPrice_by_Sector(t,regi,entyFe,sector)=0; - p_FEPrice_by_EmiMkt(t,regi,entyFe,emiMkt)=0; - p_FEPrice_by_FE(t,regi,entyFe)=0; + p_FEPrice_by_Sector_EmiMkt(t,regi,entyFe,sector,emiMkt) = 0; + pm_FEPrice_by_SE_Sector(t,regi,entySe,entyFe,sector) = 0; + p_FEPrice_by_SE_EmiMkt(t,regi,entySe,entyFe,emiMkt) = 0; + p_FEPrice_by_SE(t,regi,entySe,entyFe) = 0; + p_FEPrice_by_Sector(t,regi,entyFe,sector) = 0; + p_FEPrice_by_EmiMkt(t,regi,entyFe,emiMkt) = 0; + p_FEPrice_by_FE(t,regi,entyFe) = 0; *** lower level marginal price is equal to non-zero, non-eps minimal price at higher level loop(entySe2, diff --git a/core/preloop.gms b/core/preloop.gms index 7cda6bd96..b2b7b3367 100644 --- a/core/preloop.gms +++ b/core/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -28,7 +28,7 @@ vm_prodFe.l(ttot,regi,entyFe2,entyFe2,te) = 0; vm_prodSe.l(ttot,regi,enty,enty2,te) = 0; vm_demSe.l(ttot,regi,enty,enty2,te) = 0; vm_Xport.l(ttot,regi,tradePe) = 0; -vm_capDistr.l(t,regi,te,rlf) = 0; +v_capDistr.l(t,regi,te,rlf) = 0; vm_cap.l(t,regi,te,rlf) = 0; vm_fuExtr.l(ttot,regi,"pebiolc","1")$(ttot.val ge 2005) = 0; vm_pebiolc_price.l(ttot,regi)$(ttot.val ge 2005) = 0; @@ -75,19 +75,6 @@ pm_vintage_in(regi,"1",te) = pm_vintage_in(regi,"1",te) * max((pm_histfegrowth(r pm_vintage_in(regi,"6",te) = pm_vintage_in(regi,"6",te) * max(((pm_histfegrowth(regi,entyFe)- 0.005 + 1/fm_dataglob("lifetime",te))/(1/fm_dataglob("lifetime",te)) + 1)* 0.75, 0.2); ); -*RP -*** First adjustment of CO2 price path for peakBudget runs (set by cm_iterative_target_adj eq 9) -if(cm_iterative_target_adj eq 9, -*** Save the original functional form of the CO2 price trajectory so values for all times can be accessed even if the peakBudgYr is shifted. -*** Then change to linear increasing CO2 price after peaking time - p_taxCO2eq_until2150(t,regi) = pm_taxCO2eq(t,regi); - loop(t2$(t2.val eq c_peakBudgYr), - pm_taxCO2eq(t,regi)$(t.val gt c_peakBudgYr) = p_taxCO2eq_until2150(t2,regi) + (t.val - t2.val) * c_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by c_taxCO2inc_after_peakBudgYr per year - ); -); - -display p_taxCO2eq_until2150, pm_taxCO2eq; - *** The N2O emissions generated during biomass production in agriculture (in MAgPIE) *** are represented in REMIND by applying the n2obio emission factor (zero in coupled runs) @@ -189,4 +176,34 @@ if (cm_startyear gt 2005, Execute_Loadpoint 'input_ref' vm_capEarlyReti.l = vm_capEarlyReti.l; ); +*** initialize the carrier subtype shares in final energy demand such that the starting point for the model is "all sectors have the same bio/fos/syn shares for a given carrier type" when cm_seFeSectorShareDevMethod is enabled +p_shSeFe(t,regi,entySe)$((entySeBio(entySe) OR entySeSyn(entySe) OR entySeFos(entySe)) AND sum(seAgg$seAgg2se(seAgg,entySe), sum((sector,emiMkt)$sector2emiMkt(sector,emiMkt), sum(entySe2$seAgg2se(seAgg,entySe2), sum(entyFe$(sefe(entySe2,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt))))) ) = + sum((sector,emiMkt)$(sector2emiMkt(sector,emiMkt) AND (NOT(sameas(sector,"CDR")))), sum(entyFe$(sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt))) + / + sum(seAgg$seAgg2se(seAgg,entySe), sum((sector,emiMkt)$(sector2emiMkt(sector,emiMkt) AND (NOT(sameas(sector,"CDR")))), sum(entySe2$seAgg2se(seAgg,entySe2), sum(entyFe$(sefe(entySe2,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt))))); +v_shSeFe.l(t,regi,entySe)$p_shSeFe(t,regi,entySe) = p_shSeFe(t,regi,entySe); + +$ifthen.penSeFeSectorShareDevCost not "%cm_seFeSectorShareDevMethod%" == "off" +vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt)$( + ( p_shSeFe(t,regi,entySe) ) AND + (t.val ge 2025) AND !!disable share incentives for historical years in buildings, industry and CDR as this should be handled by historical bounds + ( entySeBio(entySe) OR entySeSyn(entySe) OR entySeFos(entySe) ) AND !! only redefine vm_demFeSector for entySeBio, entySeSyn and entySeFos items + ( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ) AND !!only create the equation for valid cobinations of entySe, entyFe, sector and emiMkt + ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers + ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) AND !!disable buildings solids share incentives + ( NOT(sameas(sector,"CDR"))) !! disable share incentives for CDR sector as it leads to solver problems +) = + sum(entySe2$sefe(entySe2,entyFe), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt)) + * p_shSeFe(t,regi,entySe); +vm_demFeSector_afterTax.l(t,regi,entySe,entyFe,sector,emiMkt) = vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt); +$endif.penSeFeSectorShareDevCost + +p_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt)$((entySeBio(entySe) OR entySeSyn(entySe) OR entySeFos(entySe)) AND (sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt)) AND sum(entySe2$sefe(entySe2,entyFe), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt)) ) = + vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt) + / + sum(entySe2$sefe(entySe2,entyFe), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt)) +; +v_shSeFeSector.l(t,regi,entySe,entyFe,sector,emiMkt)$(p_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt) AND NOT(sameas(sector,"CDR"))) = p_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt); +v_shSeFeSector.l(t,regi,entySe,entyFe,sector,emiMkt)$(p_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt) AND (sameas(sector,"CDR"))) = 0; + *** EOF ./core/preloop.gms diff --git a/core/presolve.gms b/core/presolve.gms index 1f20fc765..38954ad66 100644 --- a/core/presolve.gms +++ b/core/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -170,6 +170,7 @@ vm_macBase.fx(ttot,regi,"ch4wstl")$(ttot.val ge 2005) = p_emineg_econometric(reg vm_macBase.fx(ttot,regi,"n2owaste")$(ttot.val ge 2005) = p_emineg_econometric(regi,"n2owaste","p1") * pm_pop(ttot,regi) * (1000*pm_gdp(ttot,regi) / (pm_pop(ttot,regi)*pm_shPPPMER(regi)))**p_emineg_econometric(regi,"n2owaste","p2"); +vm_macBase.lo(ttot,regi,"co2cement_process")$( ttot.val ge 2005 ) = 0; $ifthen.fixed_shares "%industry%" == "fixed_shares" vm_macBase.fx(ttot,regi,"co2cement_process")$( ttot.val ge 2005 ) = ( pm_pop(ttot,regi) @@ -349,8 +350,8 @@ p_macLevFree(ttot,regi,enty)$( ttot.val gt 2005 ) $IFTHEN.scaleEmiHist %c_scaleEmiHistorical% == "on" -**p_macLevFree(ttot,regi,emiMacMagpie(enty))=0; -* Set minimum abatment levels based on historical emissions +*** p_macLevFree(ttot,regi,emiMacMagpie(enty))=0; +*** Set minimum abatment levels based on historical emissions p_macLevFree("2010",regi,enty)$(p_histEmiSector("2005",regi,"ch4","agriculture","process") AND (sameas(enty,"ch4rice") OR sameas(enty,"ch4animals") OR sameas(enty,"ch4anmlwst"))) = max( 0, 1 - (p_histEmiSector("2010",regi,"ch4","agriculture","process")+p_histEmiSector("2010",regi,"ch4","lulucf","process"))/(p_histEmiSector("2005",regi,"ch4","agriculture","process")+p_histEmiSector("2005",regi,"ch4","lulucf","process"))); p_macLevFree(ttot,regi,enty)$((ttot.val ge 2015) AND p_histEmiSector("2005",regi,"ch4","agriculture","process") AND (sameas(enty,"ch4rice") OR sameas(enty,"ch4animals") OR sameas(enty,"ch4anmlwst"))) = max( 0, 1 - (p_histEmiSector("2015",regi,"ch4","agriculture","process")+p_histEmiSector("2015",regi,"ch4","lulucf","process"))/(p_histEmiSector("2005",regi,"ch4","agriculture","process")+p_histEmiSector("2005",regi,"ch4","lulucf","process")) ); p_macLevFree("2010",regi,enty)$(p_histEmiSector("2005",regi,"ch4","agriculture","process") AND (sameas(enty,"n2ofertin") OR sameas(enty,"n2ofertcr") OR sameas(enty,"n2oanwstc") OR sameas(enty,"n2oanwstm") OR sameas(enty,"n2oanwstp"))) = max( 0, 1 - (p_histEmiSector("2010",regi,"n2o","agriculture","process")+p_histEmiSector("2010",regi,"n2o","lulucf","process"))/(p_histEmiSector("2005",regi,"n2o","agriculture","process")+p_histEmiSector("2005",regi,"n2o","lulucf","process")) ); @@ -376,7 +377,7 @@ pm_macAbatLev(ttot,regi,enty)$( ttot.val gt 2015 ) pm_macAbat(ttot,regi,enty,steps) ), p_macLevFree(ttot,regi,enty) - ); + ); pm_macAbatLev("2015",regi,"co2luc") = 0; pm_macAbatLev("2020",regi,"co2luc") = 0; diff --git a/core/sets.gms b/core/sets.gms index 34bad0fe9..3590307ae 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -76,7 +76,10 @@ gdp_SSP2EU_NAV_lce "NAVIGATE demand scenarios: Low consumption energy (act + tec gdp_SSP2EU_NAV_all "NAVIGATE demand scenarios: All measures (ele + act + tec)" gdp_SSP2EU_CAMP_weak "CAMPAIGNers scenario with low ambition lifestyle change" gdp_SSP2EU_CAMP_strong "CAMPAIGNers scenario with high ambition lifestyle change" -gdp_SSP2EU_demRedWeak +gdp_SSP2_demDiffer_IKEA "Demand reduction in Global North (CAZ,EUR,JPN,NEU,USA) and demand increase in Emerging regions (IND,LAM,OAS,SSA). Reduction follows the factor f of demRedStrong scenario, while increase uses factor 2-f." +gdp_SSP2_demRedStrong "edget internal demScen, might be removed soon" +gdp_SSP2_demRedWeak +gdp_SSP2_highDemDEU / all_GDPpcScen "all possible GDP per capita scenarios (GDP and Population from the same SSP-scenario" @@ -133,16 +136,17 @@ SLCF_building_transport all_LU_emi_scen "all emission baselines for CH4 and N2O land use emissions from MAgPIE" / - SDP "very low emissions (from SDP scenario in MAgPIE)" - SDP_EI - SDP_MC - SDP_RC - SSP1 "low emissions (from SSP1 scenario in MAgPIE)" - SSP2 "medium emissions (from SSP2 scenario in MAgPIE)" - SSP2EU - SSP3 "currently not available" - SSP4 "currently not available" - SSP5 "high emissions (from SSP5 scenario in MAgPIE)" +SDP "very low emissions (from SDP scenario in MAgPIE)" +SDP_EI +SDP_MC +SDP_RC +SSP1 "low emissions (from SSP1 scenario in MAgPIE)" +SSP2 "medium emissions (from SSP2 scenario in MAgPIE)" +SSP2EU +SSP2_lowEn +SSP3 "currently not available" +SSP4 "currently not available" +SSP5 "high emissions (from SSP5 scenario in MAgPIE)" / all_fossilScen "all possible scenarios for fossils" @@ -163,7 +167,7 @@ all_te "all energy technologies, including from modules" gash2c "gas to hydrogen with capture" gasftrec "gas based fischer-tropsch recycle" gasftcrec "gas based fischer-tropsch with capture recycle" - refliq "refinery oil to se liquids" + refliq "refinery oil to SE liquids" dot "diesel oil turbine" dhp "diesel oil heating plant" igcc "integrated coal gasification combined cycle" @@ -198,6 +202,7 @@ all_te "all energy technologies, including from modules" geohe "geothermal heat" hydro "hydro electric" wind "wind power converters" + windon "wind onshore power converters" windoff "wind offshore power converters" spv "solar photovoltaic" csp "concentrating solar power" @@ -250,24 +255,24 @@ all_te "all energy technologies, including from modules" tdhei "transmission and distribution for heat to industry" tdheb "transmission and distribution for heat to buildings" - ccsinje "injection of co2" + ccsinje "injection of co2" *RP* Storage technology: storspv "storage technology for photo voltaic (PV)" storwind "storage technology for wind onshore" -$IFTHEN.WindOff %cm_wind_offshore% == "1" + storwindon "storage technology for wind onshore" storwindoff "storage technology for wind offshore" -$ENDIF.WindOff storcsp "storage technology for concentrating solar power (CSP)" -*RP* grid technology +*RP* grid technology: gridspv "grid between areas with high pv production and the rest" gridcsp "grid between areas with high csp production and the rest" gridwind "grid between areas with high wind onshore production and the rest" -$IFTHEN.WindOff %cm_wind_offshore% == "1" + gridwindon "grid between areas with high wind onshore production and the rest" gridwindoff "grid between areas with high wind offshore production and the rest" -$ENDIF.WindOff weathering "enhanced weathering" dac "direct air capture" + oae_ng "ocean akalinity ehnacement via ocean liming using a traditional calciner" + oae_el "ocean akalinity ehnacement via ocean liming using a novel calciner technology" x_gas2elec d_bio2elec "d_* transmission and distribution losses" d_coal2elec @@ -357,14 +362,14 @@ all_enty "all types of quantities" pebioil "PE biomass sunflowers, palm oil, etc" all_seso "all to SE solids" - sesofos "SE solids from fossil pe" + sesofos "SE solids from fossil PE" sesobio "SE solids from biomass" all_seliq "all to SE liquids" - seliqfos "SE liquids from fossil pe (ex. petrol and diesel)" + seliqfos "SE liquids from fossil PE (ex. petrol and diesel)" seliqbio "SE liquids from biomass (ex. ethanol)" seliqsyn "SE synthetic liquids from H2 (ex. petrol and diesel)" all_sega "all to SE gas" - segafos "SE gas from fossil pe" + segafos "SE gas from fossil PE" segabio "SE gas from biomass" segasyn "SE synthetic gas from H2" seh2 "SE hydrogen" @@ -404,7 +409,7 @@ all_enty "all types of quantities" fetf "FE transport fuels" fehoi_cs "final energy in industry diesel - carbon stored" fegai_cs "final energy in industry natural gas - carbon stored " - entydummy "dummy fe for process based industry implementation" + entydummy "dummy FE for process based industry implementation" ueHDVt "transport useful energy heavy duty vehicles" ueLDVt "transport useful energy light duty vehicles" @@ -919,6 +924,15 @@ set ; $endif.altFeEmiFac +$ifthen.limitSolidsFossilRegi not %cm_limitSolidsFossilRegi% == "off" + set limitSolidsFossilextRegi(ext_regi) "set to store ext_regi regions where fossil solids use in each (sector x emiMkt) is limited by the amount used in the previous year" / %cm_limitSolidsFossilRegi% / + limitSolidsFossilRegi(all_regi) "set to store regi regions where fossil solids use in each (sector x emiMkt) is limited by the amount used in the previous year" + ; + loop(ext_regi$limitSolidsFossilextRegi(ext_regi), + limitSolidsFossilRegi(all_regi)$(regi_group(ext_regi,all_regi)) = YES; + ); +$endif.limitSolidsFossilRegi + ***############################################################################### ***######################## R SECTION START (MODULES) ############################### *** THIS CODE IS CREATED AUTOMATICALLY, DO NOT MODIFY THESE LINES DIRECTLY @@ -1036,8 +1050,20 @@ RCP_regions_world(RCP_regions_world_bunkers) "five RCP regions plus total (world ***----------------------------------------------------------------------------- Sets counter "helper set to facilitate looping in defined order" / 1 * 20 / - NDC_version "NDC data version for NDC realizations of 40_techpol and 45_carbonprice" /2018_cond, 2018_uncond, 2021_cond, 2021_uncond, 2022_cond, 2022_uncond, 2023_cond, 2023_uncond/ - bounds "helper set to define upper and lower bounds read in from input data" /low, up/ + project_status "project status read in from input data to define upper and lower near-term capacitiy bounds for CCS" + / + "operational", + "construction", + "planned" + / + NDC_version "NDC data version for NDC realizations of 40_techpol and 45_carbonprice" + / + 2018_cond, 2018_uncond, + 2021_cond, 2021_uncond, + 2022_cond, 2022_uncond, + 2023_cond, 2023_uncond, + 2024_cond, 2024_uncond + / ; ***----------------------------------------------------------------------------- @@ -1046,66 +1072,71 @@ Sets ***----------------------------------------------------------------------------- ***----------------------------------------------------------------------------- +*** There are several temporal dimensions in REMIND, see the set descriptions below. +*** Be careful to select the smallest set possible to improve memory efficiency and reduce the overhead from GAMS and solver pre-processing. +*** Rules for the choice of set for parameters, variables, or equations: +*** For declaration, you can only use declared sets: tall (avoid) or ttot (preferable). +*** For assignment: +*** prefer using t to avoid overwriting values from path_gdx_ref for years before cm_startyear. +*** if it needs a vlue for all model years, use ttot together with $(ttot.val ge 2005). +*** avoid using tall unless absolutely necessary. + SETS -tall "time index" - / + +tall "time index, each year from 1900 to 3000" +*** This set includes all potential years that could be considered in the model, spanning from 1900 to 3000 (e.g., 1900, 1901, 1902, ..., 2998, 2999, 3000). +*** Usage warning: +*** Avoid using tall directly in parameter, equation, or variable declaration unless there is a specific requirement to compute something that depends on historical years rather than the periods used in REMIND. +*** Using tall can lead to excessive memory allocation due to the large number of years it covers. When necessary, ensure that you only define values for a relevant subset of years. +*** It is preferable to aggregate any year-dependent data to the REMIND periods defined in ttot (see below) during data preparation, rather than loading tall-based data directly into the model. +/ 1900*3000 - / +/ -*AJS* Defining ttot as sum of t and tsu will give errors from compiler, so do -*** it manually instead: -ttot(tall) "time index with spin up" -/ - 1900, 1905, 1910, 1915, 1920, 1925, - 1930, 1935, 1940, 1945, 1950, 1955, - 1960, 1965, 1970, 1975, 1980, 1985, - 1990, 1995, - 2000, 2005, 2010, - 2015, - 2020, - 2025, - 2030, - 2035, - 2040, - 2045, - 2050, - 2055, - 2060, - 2070, - 2080, - 2090, - 2100, +ttot(tall) "time index with spin-up, years between 1900 and 2150 with 5 to 20 years time steps" +*** This set represents the periods that can be used in REMIND model equations. ttot is a subset of tall and contains only elements defined in tall. +*** It includes both historical (1900-2000) and modeled years (2005-2150). Time steps are: +*** 5-year intervals from 1990 to 2060, +*** 10-year intervals from 2060 to 2110, +*** 20-year intervals from 2110 to 2150. +/ + 1900, 1905, 1910, 1915, 1920, 1925, 1930, 1935, 1940, 1945, 1950, 1955, 1960, 1965, 1970, 1975, 1980, 1985, 1990, 1995, 2000, + 2005, 2010, 2015, 2020, 2025, 2030, 2035, 2040, 2045, 2050, 2055, + 2060, 2070, 2080, 2090, 2100, 2110, 2130, 2150 / -*cb the content of those subsets is defined 16 lines further down -t(ttot) "modeling time, usually starting in 2005, but later for fixed delay runs", + +t0(tall) "start of modelling time, not optimization" +/ + 2005 +/ + +t(ttot) "optimisation time, years between cm_startyear and 2150 with 5 to 20 years time steps", +*** This set includes only the active modeled years, which are the years from ttot greater than or equal to the model run year defined in cm_startyear. +*** t is a subset of ttot and contains only elements defined in ttot. +*** It is a dynamic set: +*** Values are calculated dynamically in GAMS, see a few lines below. +*** t may not be used in certain operations like declarations or equations including lag terms. + tsu(ttot) "spin up-time before 2005", +*** This set includes only the historical years of ttot: 1900, 1905, ..., 1995, 2000 -opTimeYr "actual life time of ??? in years" +opTimeYr "actual life time of ??? in years" / 1*100 / -opTime5(opTimeYr) "actual life time of ??? in years - 5 years time steps for the past to calculate vintages (???)" - +opTime5(opTimeYr) "actual life time of ??? in years - 5 years time steps for the past to calculate vintages (???)" / 1,6,11,16,21,26,31,36,41,46,51,56,61,66,71,76,81,86,91,96 / -t0(tall) "start of modelling time, not optimization" /2005/ ; -t(ttot)$(ttot.val ge cm_startyear)=Yes; -tsu(ttot)$(ttot.val lt 2005)=Yes; +t(ttot) $ (ttot.val ge cm_startyear) = Yes; +tsu(ttot) $ (ttot.val lt 2005) = Yes; display ttot; -*** time sets used for MAGICC -Sets - t_magiccttot(tall) "time periods including spin-up" - t_magicc(tall) "time periods exported to magicc" - t_extra(tall) "averaging between REMIND and MAGICC" / 2000 * 2004 / -; - @@ -1163,10 +1194,9 @@ te(all_te) "energy technologies" geohdr "geothermal electric hot dry rock" geohe "geothermal heat" hydro "hydro electric" - wind "wind power converters" -$IFTHEN.WindOff %cm_wind_offshore% == "1" +*** wind "wind power converters" + windon "wind onshore power converters" windoff "wind offshore power converters" -$ENDIF.WindOff spv "solar photovoltaic" csp "concentrating solar power" solhe "solar thermal heat generation" @@ -1182,8 +1212,8 @@ $ENDIF.WindOff tdbiogas "transmission and distribution for gas from biomass origin to stationary users" tdfosgas "transmission and distribution for gas from fossil origin to stationary users" tdsyngas "transmission and distribution for gas from synthetic origin to stationary users" - tdbiogat "transmission and distribution for gas from synthetic origin to transportation" - tdfosgat "transmission and distribution for gas from biomass origin to transportation" + tdbiogat "transmission and distribution for gas from biomass origin to transportation" + tdfosgat "transmission and distribution for gas from fossil origin to transportation" tdsyngat "transmission and distribution for gas from synthetic origin to transportation" tdbiohos "transmission and distribution for heating oil from biomass origin to stationary users" tdfoshos "transmission and distribution for heating oil from fossil origin to stationary users" @@ -1209,18 +1239,16 @@ $ENDIF.WindOff * ccsmoni "monitoring of co2, CCS related" storspv "storage technology for photo voltaic" - storwind "storage technology for wind onshore" -$IFTHEN.WindOff %cm_wind_offshore% == "1" +*** storwind "storage technology for wind onshore" + storwindon "storage technology for wind onshore" storwindoff "storage technology for wind offshore" -$ENDIF.WindOff storcsp "storage technology for concentrating solar power" gridspv "grid between areas with high pv production and the rest" gridcsp "grid between areas with high csp production and the rest" - gridwind "grid between areas with high wind onshore production and the rest" -$IFTHEN.WindOff %cm_wind_offshore% == "1" +*** gridwind "grid between areas with high wind onshore production and the rest" + gridwindon "grid between areas with high wind onshore production and the rest" gridwindoff "grid between areas with high wind offshore production and the rest" -$ENDIF.WindOff pipe_gas "Pipelines transporting natural gas" termX_lng "Export terminals for LNG (liquification)" termM_lng "Import terminals for LNG (regasification)" @@ -1276,10 +1304,9 @@ teAdj(all_te) "technologies with adjustment costs on capacity addition geohdr "geothermal electric hot dry rock" geohe "geothermal heat" hydro "hydro electric" - wind "wind onshore power converters" -$IFTHEN.WindOff %cm_wind_offshore% == "1" +*** wind "wind onshore power converters" + windon "wind onshore power converters" windoff "wind offshore power converters" -$ENDIF.WindOff spv "solar photovoltaic" csp "concentrating solar power" solhe "solar thermal heat generation" @@ -1294,20 +1321,18 @@ $ENDIF.WindOff *** ccsmoni "monitoring of co2, CCS related" storspv "storage technology for PV" - storwind "storage technology for wind onshore" -$IFTHEN.WindOff %cm_wind_offshore% == "1" +*** storwind "storage technology for wind onshore" + storwindon "storage technology for wind onshore" storwindoff "storage technology for wind offshore" -$ENDIF.WindOff storcsp "storage technology for CSP" refliq "refinery oil to SE liquids" gridspv "grid between areas with high pv production and the rest" gridcsp "grid between areas with high csp production and the rest" - gridwind "grid between areas with high wind onshore production and the rest" -$IFTHEN.WindOff %cm_wind_offshore% == "1" +*** gridwind "grid between areas with high wind onshore production and the rest" + gridwindon "grid between areas with high wind onshore production and the rest" gridwindoff "grid between areas with high wind offshore production and the rest" -$ENDIF.WindOff $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" bfcc "Blast furnace CCS" idrcc "Direct reduction CCS" @@ -1318,23 +1343,18 @@ $endif.cm_subsec_model_steel *** Definition of subsets of 'te': ***----------------------------------------------------------------------------- -teRLDCDisp(all_te) "RLDC Dispatchable technologies that produce seel" -/ -/ *** Note: technologies without endogenous learning can also have decreasing (or increasing) capital cost over time, due to for example convergence to global value teLearn(all_te) "Learning technologies (for which investment costs are reduced endogenously through capacity deployment)." / - wind "wind onshore power converters" -$IFTHEN.WindOff %cm_wind_offshore% == "1" +*** wind "wind onshore power converters" + windon "wind onshore power converters" windoff "wind offshore power converters" -$ENDIF.WindOff spv "solar photovoltaic" csp "concentrating solar power" storspv "storage technology for spv" - storwind "storage technology for wind onshore" -$IFTHEN.WindOff %cm_wind_offshore% == "1" +*** storwind "storage technology for wind onshore" + storwindon "storage technology for wind onshore" storwindoff "storage technology for wind offshore" -$ENDIF.WindOff storcsp "storage technology for csp" elh2 "hydrogen elecrolysis" / @@ -1412,7 +1432,9 @@ teRe(all_te) "renewable technologies including biomass" geohdr "geothermal electric hot dry rock" geohe "geothermal heat" hydro "hydro electric" - wind "wind power converters" +*** wind "wind power converters" + windon "wind onshore power converters" + windoff "wind offshore power converters" spv "solar photovoltaic" csp "concentrating solar power" solhe "solar thermal heat generation" @@ -1422,10 +1444,9 @@ teReNoBio(all_te) "renewable technologies except for biomass" geohdr "geothermal electric hot dry rock" geohe "geothermal heat" hydro "hydro electric" - wind "wind power converters" -$IFTHEN.WindOff %cm_wind_offshore% == "1" +*** wind "wind power converters" + windon "wind onshore power converters" windoff "wind offshore power converters" -$ENDIF.WindOff spv "solar photovoltaic" csp "concentrating solar power" *** solhe "solar thermal heat generation" @@ -1434,49 +1455,44 @@ teNoRe(all_te) "Non renewable energy technologies" teVRE(all_te) "technologies requiring storage" / - wind "wind power converters" -$IFTHEN.WindOff %cm_wind_offshore% == "1" +*** wind "wind power converters" + windon "wind onshore power converters" windoff "wind offshore power converters" -$ENDIF.WindOff spv "solar photovoltaic" csp "concentrating solar power" / teWind(all_te) "Onshore and offshore wind technologies" / - wind "wind power converters" -$IFTHEN.WindOff %cm_wind_offshore% == "1" +*** wind "wind power converters" + windon "wind onshore power converters" windoff "wind offshore power converters" -$ENDIF.WindOff / teStor(all_te) "storage technologies" / storspv "storage technology for spv" - storwind "storage technology for wind onshore" -$IFTHEN.WindOff %cm_wind_offshore% == "1" +*** storwind "storage technology for wind onshore" + storwindon "storage technology for wind onshore" storwindoff "storage technology for wind offshore" -$ENDIF.WindOff storcsp "storage technology for csp" / teLoc(all_te) "centralized technologies which require grid" / - wind "wind power converters" spv "solar photovoltaic" csp "concentrating solar power" -$IFTHEN.WindOff %cm_wind_offshore% == "1" +*** wind "wind power converters" + windon "wind onshore power converters" windoff "wind offshore power converters" -$ENDIF.WindOff / teGrid(all_te) "grid between areas" / gridspv "grid between areas with high pv production and the rest" gridcsp "grid between areas with high csp production and the rest" - gridwind "grid between areas with high wind onshore production and the rest" -$IFTHEN.WindOff %cm_wind_offshore% == "1" +*** gridwind "grid between areas with high wind onshore production and the rest" + gridwindon "grid between areas with high wind onshore production and the rest" gridwindoff "grid between areas with high wind offshore production and the rest" -$ENDIF.WindOff / teFosCCS(all_te) "fossil technologies with CCS" / @@ -1525,18 +1541,16 @@ teBioPebiolc(all_te) "biomass technologies using pebiolc" teNoTransform(all_te) "all technologies that do not transform energy but still have investment and O&M costs (like storage or grid)" / storspv "storage technology for photo voltaic (PV)" - storwind "storage technology for wind onshore" -$IFTHEN.WindOff %cm_wind_offshore% == "1" +*** storwind "storage technology for wind onshore" + storwindon "storage technology for wind onshore" storwindoff "storage technology for wind offshore" -$ENDIF.WindOff storcsp "storage technology for concentrating solar power (CSP)" gridspv "grid between areas with high pv production and the rest" gridcsp "grid between areas with high csp production and the rest" - gridwind "grid between areas with high wind onshore production and the rest" -$IFTHEN.WindOff %cm_wind_offshore% == "1" +*** gridwind "grid between areas with high wind onshore production and the rest" + gridwindon "grid between areas with high wind onshore production and the rest" gridwindoff "grid between areas with high wind offshore production and the rest" -$ENDIF.WindOff / teRegTechCosts(all_te) "all technologies for which we differantiate tech costs" / @@ -1554,7 +1568,8 @@ teRegTechCosts(all_te) "all technologies for which we differantiate tech costs" hydro spv csp - wind +*** wind + windon / teFlex(all_te) "all technologies which can benefit from flexibility tax" @@ -1618,7 +1633,7 @@ enty(all_enty) "all types of quantities" fetf "final energy transport fuels" feh2t "final energy hydrogen transport" fegat "final energy nat. gas for transport" - entydummy "dummy fe for process based industry implementation" + entydummy "dummy FE for process based industry implementation" co2 "carbon dioxide emissions" ch4 "methane emissions" @@ -1729,7 +1744,7 @@ peExPol(all_enty) "primary energy fuels with polynomial" peur "PE uranium" / -peExGrade(all_enty) "exhaustible pe with step as entyPe ex-peExPol - s.b." +peExGrade(all_enty) "exhaustible PE with step as entyPe ex-peExPol - s.b." peRicardian(all_enty) "Ricardian PE" @@ -2040,7 +2055,7 @@ ppfEn2Sector(all_in,emi_sectors) "primary energy production factors mapping to s fegai.cdr / -entyFeSec2entyFeDetail(all_enty,emi_sectors,all_enty) "final energy (stationary) and sector mapping to detailed final energy enty split by buildings and industry" +entyFeSec2entyFeDetail(all_enty,emi_sectors,all_enty) "final energy and sector mapping to detailed final energy enty split in IO" / fegas.build.fegab fegas.indst.fegai @@ -2054,6 +2069,16 @@ entyFeSec2entyFeDetail(all_enty,emi_sectors,all_enty) "final energy (stationary) fehes.indst.fehei *** feh2s.build.feh2b *** feh2s.indst.feh2i + fepet.trans.fepet + fedie.trans.fedie +*** feh2t.trans + feelt.trans.feelt + fegat.trans.fegat +*** feels.cdr +*** fehes.cdr +*** fegas.cdr +*** feh2s.cdr +*** fedie.cdr / all_emiMkt "emission markets" @@ -2188,18 +2213,6 @@ xirog "parameters decribing exhaustible extraction coss including long-run *** This is a work-around to ensure emissions are printed in correct order. numberEmiRCP "number of emission types" / 1 * 23 / - unitsMagicc "units used for MAGICC" - / - GtC - kt - Mt - MtCH4 - MtCO - MtN - MtN2O-N - MtS - / - ***----------------------------------------------------------------------------- *** Definition of the main characteristics set 'char': ***----------------------------------------------------------------------------- @@ -2416,10 +2429,9 @@ pe2se(all_enty,all_enty,all_te) "map primary energy carriers to secondary" pegeo.seel.geohdr pegeo.sehe.geohe pehyd.seel.hydro - pewin.seel.wind -$IFTHEN.WindOff %cm_wind_offshore% == "1" +*** pewin.seel.wind + pewin.seel.windon pewin.seel.windoff -$ENDIF.WindOff pesol.seel.spv pesol.seel.csp pesol.sehe.solhe @@ -2427,6 +2439,9 @@ $ENDIF.WindOff peur.seel.fnrs / +pese(all_enty,all_enty) "map primary to secondary energy carriers without technology dimension" +// + seAgg(all_enty) "secondary energy aggregations" / all_seliq @@ -2434,7 +2449,7 @@ seAgg(all_enty) "secondary energy aggregations" all_sega / -seAgg2se(all_enty,all_enty) "map secondary energy aggregation to se" +seAgg2se(all_enty,all_enty) "map secondary energy aggregation to SE" / all_seliq.seliqbio all_seliq.seliqfos @@ -2446,6 +2461,8 @@ seAgg2se(all_enty,all_enty) "map secondary energy aggregation to se" all_sega.segasyn / +seAgg2fe(all_enty,all_enty) "map secondary energy aggregation to fe" + capTotal(all_enty,all_enty) "mapping of input to output carriers for calculating total capacities without technology differentiation vm_capTotal" / pecoal.seel @@ -2457,10 +2474,9 @@ capTotal(all_enty,all_enty) "mapping of input to output carriers for calculat VRE2teStor(all_te,teStor) "mapping to know which technology uses which storage technology" / spv.storspv - wind.storwind -$IFTHEN.WindOff %cm_wind_offshore% == "1" +*** wind.storwind + windon.storwindon windoff.storwindoff -$ENDIF.WindOff csp.storcsp / @@ -2474,10 +2490,9 @@ VRE2teVRElinked(all_te,all_te) "mapping between the technologies requiring st VRE2teGrid(all_te,teGrid) "mapping to know which technology needs which grid technology (length/siting)" / spv.gridspv - wind.gridwind -$IFTHEN.WindOff %cm_wind_offshore% == "1" +*** wind.gridwind + windon.gridwindon windoff.gridwindoff -$ENDIF.WindOff csp.gridcsp / @@ -2485,10 +2500,10 @@ te2teLoclinked(teLoc,teLoc2) "mapping between the technologies requiring grids / spv.csp csp.spv -$IFTHEN.WindOff %cm_wind_offshore% == "1" - windoff.wind - wind.windoff -$ENDIF.WindOff +*** windoff.wind +*** wind.windoff + windoff.windon + windon.windoff / se2se(all_enty,all_enty,all_te) "map secondary energy to secondary energy using a technology" @@ -2789,7 +2804,8 @@ teReComp2pe(all_enty,all_te,rlf) "map competing technologies to primary energy pesol.csp.(1*9) / -demSeOth2te(all_enty,all_te) "map other se demands not directly following the sedem-route through technologies" +*** RLDC removal: should we remove demSeOth like prodSeOth, although it's used in remind2? +demSeOth2te(all_enty,all_te) "map other SE demands not directly following the sedem-route through technologies" / seh2.csp segabio.csp @@ -2803,23 +2819,19 @@ prodSeOth2te(all_enty,all_te) "map other se production not directly followi teSe2rlf(all_te,rlf) "mapping for techologies to grades. Currently, the information was shifted to teRe2rlfDetail. Thus, teSe2rlf now only has '1' for the rlf values" / - (wind -$IFTHEN.WindOff %cm_wind_offshore% == "1" - windoff -$ENDIF.WindOff - spv,csp,refliq,hydro,geohe,geohdr,solhe,ngcc,ngccc,ngt,gaschp,gashp,gash2,gash2c,gastr,gasftrec,gasftcrec,dot, +*** wind + (windon,windoff,spv,csp,refliq,hydro,geohe,geohdr,solhe,ngcc,ngccc,ngt,gaschp,gashp,gash2,gash2c,gastr,gasftrec,gasftcrec,dot, igcc,igccc,pc,coaltr,coalgas,coalh2,coalh2c,coalchp,coalhp,coalftrec,coalftcrec, biotr,biotrmod,biogas,biogasc,bioftrec,bioftcrec,bioh2,bioh2c,biohp,biochp,bioigcc,bioigccc, elh2,h2turb,elh2VRE,h2turbVRE,bioethl,bioeths,biodiesel,tnrs,fnrs ) . 1 / -teRe2rlfDetail(all_te,rlf) "mapping for se techologies to grades" +teRe2rlfDetail(all_te,rlf) "mapping for SE techologies to grades" / - wind.(1*9) -$IFTHEN.WindOff %cm_wind_offshore% == "1" +*** wind.(1*9) + windon.(1*9) windoff.(1*9) -$ENDIF.WindOff spv.(1*9) csp.(1*9) hydro.(1*5) @@ -2851,11 +2863,8 @@ teCCS2rlf(all_te,rlf) "mapping for CCS technologies to grades" teNoTransform2rlf(all_te,rlf) "mapping for no transformation technologies to grades" / - (storspv,storwind -$IFTHEN.WindOff %cm_wind_offshore% == "1" -storwindoff,gridwindoff -$ENDIF.WindOff - storcsp,gridspv,gridwind,gridcsp,h2curt) . 1 +*** storwind, gridwind + (storspv,storcsp,storwindon,storwindoff,gridwindon,gridwindoff,gridspv,gridcsp,h2curt) . 1 / @@ -2933,68 +2942,6 @@ sectorEndoEmi2te(all_enty,all_enty,all_te,sectorEndoEmi) "map sectors to techn seliqfos.fepet.tdfospet.trans seliqsyn.fepet.tdsynpet.trans / -emiRCP2emiREMIND "mapping between emission types expected by MAGICC and provided by REMIND" -/ - CO . CO - NMVOC . VOC - NOx . NOx - SOx . SO2 - BC . BC - OC . OC -/ -emiFgas2emiRCP(all_enty,emiRCP) "match F-gases to MAGICC emissions" -/ - emiFgasCF4 . CF4 - emiFgasC2F6 . C2F6 - emiFgasC6F14 . C6F14 - emiFgasHFC23 . HFC23 - emiFgasHFC32 . HFC32 - emiFgasHFC43-10 . HFC43-10 - emiFgasHFC125 . HFC125 - emiFgasHFC134a . HFC134a - emiFgasHFC143a . HFC143a - emiFgasHFC227ea . HFC227ea - emiFgasHFC245fa . HFC245fa - emiFgasSF6 . SF6 -/ -emiRCP2order "order of emission types expected by MAGICC" -/ - FossilCO2 . 1 - OtherCO2 . 2 - CH4 . 3 - N2O . 4 - SOx . 5 - CO . 6 - NMVOC . 7 - NOx . 8 - BC . 9 - OC . 10 - NH3 . 11 - CF4 . 12 - C2F6 . 13 - C6F14 . 14 - HFC23 . 15 - HFC32 . 16 - HFC43-10 . 17 - HFC125 . 18 - HFC134a . 19 - HFC143a . 20 - HFC227ea . 21 - HFC245fa . 22 - SF6 . 23 -/ - -emiRCP2unitsMagicc(emiRCP,unitsMagicc) "match units to emission types" -/ - (FossilCO2,OtherCO2) . GtC - (CH4) . MtCH4 - (N2O) . MtN2O-N - (SOx) . MtS - (CO) . MtCO - (NH3,NOx) . MtN - (NMVOC,BC,OC) . Mt - (CF4,C2F6,C6F14,HFC23,HFC32,HFC43-10,HFC125,HFC134a,HFC143a,HFC227ea,HFC245fa,SF6) . kt -/ diff --git a/core/sets_calculations.gms b/core/sets_calculations.gms index c593d2309..45176259b 100644 --- a/core/sets_calculations.gms +++ b/core/sets_calculations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -56,6 +56,10 @@ loop(fe2ue(entyFe,entyUe,te), display feForUe; +loop ( pe2se(entyPe,entySe,te), + pese(entyPe,entySe) = YES; +); + period4(ttot) = ttot(ttot) - tsu(ttot) - period1(ttot) - period2(ttot) - period3(ttot); period12(ttot) = period1(ttot) + period2(ttot); period123(ttot) = period1(ttot) + period2(ttot) + period3(ttot); @@ -146,6 +150,12 @@ fete(entyFe,te) = YES; sefe(entySe,entyFe) = YES; ); +loop(seAgg2se(seAgg,entySe), + loop(sefe(entySe,entyFe), + seAgg2fe(seAgg,entyFe) = YES; + ); +); + *** extended region group set regi_groupExt(ext_regi,all_regi)$regi_group(ext_regi,all_regi) = Yes; loop(all_regi, @@ -154,12 +164,6 @@ loop(all_regi, ); ); -*** MAGICC related sets -t_magiccttot(tall) = ttot(tall) + t_extra(tall); -t_magicc(t_magiccttot)$(t_magiccttot.val ge 2005) = Yes; - -display "MAGICC related sets", t_magicc, t_extra, t; - *** Alias of mapping en2en2(enty,enty2,te) = en2en(enty,enty2,te); diff --git a/ignoreFiles.R b/ignoreFiles.R index c686b5981..d4f6874dd 100644 --- a/ignoreFiles.R +++ b/ignoreFiles.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/main.gms b/main.gms index 3b8d86d9a..99c3a2b2d 100755 --- a/main.gms +++ b/main.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -76,7 +76,6 @@ *' OUTPUT *' ``` *' -*' *' The GAMS code follows a Coding Etiquette: *' *' #### Naming conventions: @@ -113,7 +112,9 @@ *' Sets are treated differently: instead of a prefix, sets exclusively used within a module get that module's *' number added as a suffix. If the set is used in more than one module no suffix is given. *' -*' The units (e.g., TWa, EJ, GtC, GtCO2, ...) of variables and parameters are documented in the declaration files. +*' The units (e.g., TWa, EJ, GtC, GtCO2, ...) of variables and parameters are +*' documented in the declaration files using square brackets at the end of the +*' explanatory text (e.g. `v_var(set1,set2) "variable [unit]"`). *' *' For the labels of parameters, scalars and set, use double quotes only. *' @@ -130,7 +131,7 @@ *' *' #### Sets *' -*' * Don't use set element names with three capital letters (like `ETS` or `ESR`), otherwise the maglcass R +*' * Don't use set element names with three capital letters (like `ETS` or `ESR`), otherwise the magclass R *' library might interpret this as a region name when reading in GDX data *' *' @@ -260,13 +261,12 @@ $setGlobal aerosols exoGAINS !! def = exoGAINS *'--------------------- 15_climate --------------------------------------- *' *' * (off): no climate coupling -*' * (magicc): MAGICC - iterative coupling of MAGICC climate model. -*' * (box): Petschel-Held +*' * (magicc7_ar6): MAGICC7 - iterative coupling of MAGICC7 simple climate model. $setGlobal climate off !! def = off *'--------------------- 16_downscaleTemperature -------------------------- *' *' * (off) -*' * (CMIP5): downscale GMT to regional temperature based on CMIP5 data (between iterations, no runtime impact). [Requires climate = off, cm_rcp_scen = none, iterative_target_adj = 9] curved convergence of CO2 prices between regions until cm_CO2priceRegConvEndYr; developed countries have linear path from 0 in 2010 through cm_co2_tax_2020 in 2020; +*' * (CMIP5): downscale GMT to regional temperature based on CMIP5 data (between iterations, no runtime impact). [Requires climate = off, cm_rcp_scen = none, iterative_target_adj = 9] curved convergence of CO2 prices between regions until cm_taxCO2_regiDiff_endYr; developed countries have linear path through (cm_taxCO2_historicalYr, cm_taxCO2_historical) and (cm_startyear, cm_taxCO2_startyear); $setGlobal downscaleTemperature off !! def = off *'--------------------- 20_growth ------------------------------------------ *' @@ -319,8 +319,6 @@ $setglobal fossil grades2poly !! def = grades2poly *'--------------------- 32_power ---------------------------------------- *' *' * (IntC) : Power sector formulation with Integration Cost (IntC) markups and curtailment for VRE integration - linearly increasing with VRE share -, and fixed capacity factors for dispatchable power plants -*' * (RLDC) : Power sector formulation with Residual Load Duration Curve (RLDC) formulation for VRE power integration, and flexible capacity factors for dispatchable power plants -*' * (DTcoup) : (currently not merged, only a copy of IntC) Power sector formulation with iterative coupling to hourly power-sector model DIETER: REMIND gives DIETER costs of technologies, power demand, CO2 price and capacity bounds; DIETER gives REMIND markups of generation, capacity factors, peak hourly residual demand $setglobal power IntC !! def = IntC *'--------------------- 33_CDR ---------------------------------------- *' @@ -353,7 +351,7 @@ $setglobal CCU on !! def = on *' * (coalPhaseout): [works only with Negishi] global phase-out of new freely-emitting coal conversion, caps all coal routes with the exception of coaltr: coal solids can still expand *' * (coalPhaseoutRegional): [works only with Negishi] global phase-out of new freely-emitting coal conversion, caps all coal routes with the exception of coaltr: coal solids can still expand *' * (CombLowCandCoalPO): [works only with Negishi] combination of lowCarbonPush and coalPhaseout -*' * (NDC): Technology targets for 2030 for spv,wind,tnrs. +*' * (NDC): Technology targets for 2030 for spv,windon,tnrs. *' * (NPi): Reference technology targets, mostly already enacted (N)ational (P)olicies (i)mplemented, mostly for 2020 *' * (EVmandates): mandate for electric vehicles - used for UBA project $setglobal techpol none !! def = none @@ -371,15 +369,31 @@ $setglobal emicapregi none !! def = none *' *' This module defines the carbon price pm_taxCO2eq, with behaviour across regions governed by similar principles (e.g. global targets, or all following NDC or NPi policies). *' -*' * (none): no tax policy (combined with all emiscens except emiscen = 9) -*' * (exponential): 5% exponential increase over time of the tax level in 2020 set via cm_co2_tax_2020 (combined with emiscen = 9 and cm_co2_tax_2020>0) -*' * (expoLinear): 5% exponential increase until c_expoLinear_yearStart, linear increase thereafter -*' * (exogenous): carbon price is specified using an external input file or using the switch cm_regiExoPrice -*' * (linear): linear increase over time of the tax level in 2020 set via cm_co2_tax_2020 (combined with emiscen = 9 and cm_co2_tax_2020>0) -*' * (temperatureNotToExceed): [test and verify before using it!] Find the optimal carbon carbon tax (set cm_emiscen = 1, iterative_target_adj = 9] curved convergence of CO2 prices between regions until cm_CO2priceRegConvEndYr; developed countries have linear path from 0 in 2010 through cm_co2_tax_2020 in 2020; -*' * (diffCurvPhaseIn2Lin): [REMIND 2.1 default for validation peakBudget runs, in combination with iterative_target_adj = 9] curved convergence of CO2 prices between regions until cm_CO2priceRegConvEndYr; developed countries have linear path from 0 in 2010 through cm_co2_tax_2020 in 2020; +*' * (functionalForm): [REMIND default for peak budget and end-of-century budget runs] +*' * Carbon price trajectory follows a prescribed functional form (linear/exponential) - either until peak year or until end-of-century - +*' * and can be endogenously adjusted to meet CO2 budget targets - either peak or end-of-century - that are formulated in terms of total cumulated CO2 emissions from 2020 (cm_budgetCO2from2020). +*' * Flexible choices for regional carbon price differentiation. +*' * Four main design choices: +*' * [Global anchor trajectory]: The realization uses a global anchor trajectory based on which the regional carbon price trajectories are defined. +*' * The functional form (linear/exponential) of the global anchor trajectory is chosen via cm_taxCO2_functionalForm [default = linear]. +*' * The (initial) carbon price in cm_startyear is chosen via cm_taxCO2_startyear. This value is endogenously adjusted to meet CO2 budget targets if cm_iterative_target_adj is set to 5, 7, or 9. +*' * (linear): The linear curve is determined by the two points (cm_taxCO2_historicalYr, cm_taxCO2_historical) and (cm_startyear, cm_taxCO2_startyear). +*' * By default, cm_taxCO2_historicalYr is the last timestep before cm_startyear, and cm_taxCO2_historical is the carbon price in that timestep in the reference run (path_gdx_ref) - computed as the maximum of pm_taxCO2eq over all regions. +*' * (exponential): The exponential curve is determined by exponential growth rate (cm_taxCO2_expGrowth). +*' * [Post-peak behaviour]: The global anchor trajectory can be adjusted after reaching the peak of global CO2 emissions in cm_peakBudgYr. See cm_iterative_target_adj and 45_carbonprice/functionalForm/realization.gms for details. +*' * [Regional differentiation]: Regional carbon price differentiation relative to global anchor trajectory is chosen via cm_taxCO2_regiDiff [default = initialSpread10]. +*' * [Interpolation from path_gdx_ref]: To smoothen a potential jump of carbon prices in cm_startyear, an interpolation between (a) the carbon prices before cm_startyear procided by path_gdx_ref and (b) the carbon prices from cm_startyear onward defined by parts I-III can be chosen via cm_taxCO2_interpolation [default = off]. +*' * In addition, the carbon prices provided by path_gdx_ref can be used as a lower bound based on the switch cm_taxCO2_lowerBound_path_gdx_ref [def = on]. +*' * (expoLinear): 4.5% exponential increase until cm_expoLinear_yearStart, transitioning into linear increase thereafter +*' * (exogenous): carbon price is specified using an external input file or using the switch cm_regiExoPrice. Requires cm_emiscen = 9 and cm_iterative_target_adj = 0 +*' * (temperatureNotToExceed): [test and verify before using it!] Find the optimal carbon carbon tax (set cm_emiscen = 1, iterative_target_adj = 9] curved convergence of CO2 prices between regions until cm_taxCO2_regiDiff_endYr; developed countries have linear path through (cm_taxCO2_historicalYr, cm_taxCO2_historical) and (cm_startyear, cm_taxCO2_startyear); *' * (NDC): implements a carbon price trajectory consistent with the NDC targets (up to 2030) and a trajectory of comparable ambition post 2030 (1.25%/yr price increase and regional convergence of carbon price). Choose version using cm_NDC_version "2023_cond", "2023_uncond", or replace 2023 by 2022, 2021 or 2018 to get all NDC published until end of these years. *' * (NPi): National Policies Implemented, extrapolation of historical (until 2020) carbon prices +*' * (none): no tax policy (combined with all emiscens except emiscen = 9) + +*** (exponential) is superseded by (functionalForm): For a globally uniform, exponentially increasing carbonprice path until end of century [in combination with cm_iterative_target_adj = 0 or 5], set cm_taxCO2_functionalForm = exponential, cm_taxCO2_regiDiff = none, cm_taxCO2_interpolation = off, cm_taxCO2_lowerBound_path_gdx_ref = off, cm_peakBudgYr = 2100, and choose the initial carbonprice in cm_startyear via cm_taxCO2_startyear. +*** (linear) is superseded by (functionalForm): For a globally uniform, linearly increasing carbonprice path until end of century [in combination with cm_iterative_target_adj = 0 or 5], set cm_taxCO2_functionalForm = linear, cm_taxCO2_regiDiff = none, cm_taxCO2_interpolation = off, cm_taxCO2_lowerBound_path_gdx_ref = off, cm_peakBudgYr = 2100, and choose the initial carbonprice in cm_startyear via cm_taxCO2_startyear. [Adjust historical reference point (cm_taxCO2_historicalYr, cm_taxCO2_historical) if needed.] + $setglobal carbonprice none !! def = none *'--------------------- 46_carbonpriceRegi --------------------------------- *' @@ -401,6 +415,7 @@ $setglobal regipol none !! def = none *' * (off): no damages on GDP *' * (DiceLike): DICE-like damages (linear-quadratic damages on GDP). Choose specification via cm_damage_DiceLike_specification *' * (BurkeLike): Burke-like damages (growth rate damages on GDP). Choose specification via cm_damage_BurkeLike_specification and cm_damage_BurkeLike_persistenceTime +*' * (KotzWenz): damage function based on Kotz et al. (2024) *' * (KWLike): Damage function based on Kalkuhl & Wenz (2020) *' * (KW_SE): Damage function based on Kalkuhl & Wenz (2020), but for the upper bound of the damages based on their standard error calculation *' * (KWTCint): Combines aggregate damages from Kalkuhl & Wenz (2020) and tropical cyclone damages from Krichene et al. (2022) @@ -412,6 +427,7 @@ $setGlobal damages off !! def = off *' * (off): *' * (DiceLikeItr): Internalize DICE-like damages (calculate the SCC) adjust cm_damages_SccHorizon. Requires cm_emiscen set to 9 for now. *' * (BurkeLikeItr): Internalize Burke-like damages (calculate the SCC) adjust cm_damages_SccHorizo. Requires cm_emiscen set to 9 for now. +*' * (KotzWenzItr): Internalize KotzWenz damages (calculate the SCC). Requires cm_emiscen set to 9. *' * (KWlikeItr): Internalize damage function based on Kalkuhl & Wenz (2020). Requires cm_emiscen set to 9 for now. *' * (KWlikeItrCPnash): Internalize damage function based on Kalkuhl & Wenz (2020), but with Nash SCC, i.e. each region only internalizes its own damages. Requires cm_emiscen set to 9 for now. *' * (KWlikeItrCPreg): Internalize damage function based on Kalkuhl & Wenz (2020), but with regional SCC instead of a global uniform price. Requires cm_emiscen set to 9 for now. @@ -435,8 +451,7 @@ $setGlobal optimization nash !! def = nash *'--------------------- 81_codePerformance ------------------------------- *' *' * (off): nothing happens -*' * (on): test code performance: noumerous (30) succesive runs performed in a triangle, tax0, tax30, tax150, all growing exponentially, -*' therefore use carbonprice|exponential, c_emiscen|9, and cm_co2_tax_2020|0. +*' * (on): test code performance: noumerous (30) succesive runs performed in a triangle, tax0, tax30, tax150, all growing exponentially. $setGlobal codePerformance off !! def = off ***----------------------------------------------------------------------------- @@ -450,14 +465,14 @@ parameter *' * (2): parallel - all regions are run in parallel *' parameter - cm_iteration_max "number of iterations, if optimization is set to negishi or testOneRegi; is overwritten in Nash mode, except for cm_nash_autoconverge = 0" + cm_iteration_max "number of iterations, if optimization is set to negishi or testOneRegi; is overwritten in Nash mode, except if cm_nash_autoconverge is set to 0" ; cm_iteration_max = 1; !! def = 1 *' parameter cm_abortOnConsecFail "number of iterations of consecutive infeasibilities/failures to solve for one region, after which the run automatically switches to serial debug mode" ; - cm_abortOnConsecFail = 5; !! def = 5 + cm_abortOnConsecFail = 2; !! def = 2 !! regexp = [0-9]+ *' parameter cm_solver_try_max "maximum number of inner iterations within one Negishi iteration (<10)" @@ -494,22 +509,42 @@ parameter *' * (1): BAU *' * (4): emission time path *' * (6): budget -*' * (9): tax scenario (requires running module 21_tax "on"), tax level controlled by module 45_carbonprice and cm_co2_tax_2020, other GHG etc. controlled by cm_rcp_scen +*' * (9): tax scenario (requires running module 21_tax "on"), tax level controlled by module 45_carbonprice and cm_taxCO2_startyear, other GHG etc. controlled by cm_rcp_scen *' * (10): used for cost-benefit analysis *' *JeS* WARNING: data for cm_emiscen 4 only exists for multigas_scen 2 bau scenarios and for multigas_scen 1 -*' parameter - cm_co2_tax_2020 "level of co2 tax in year 2020 in $ per t CO2eq [emiscen = 9 and 45_carbonprice = exponential]" + cm_taxCO2_startyear "level of co2 tax in start year in $ per t CO2eq" ; - cm_co2_tax_2020 = -1; !! def = -1 !! regexp = -1|is.nonnegative + cm_taxCO2_startyear = -1; !! def = -1 !! regexp = -1|is.nonnegative *' * (-1): default setting equivalent to no carbon tax -*' * (any number >= 0): tax level in 2020, with 5% exponential increase over time +*' * (any number >= 0): CO2 tax in start year [if cm_iterative_target_adj eq 0]; +*' * initialization of CO2 tax in start year [if cm_iterative_target_adj eq 5, 7 or 9] +parameter + cm_taxCO2_expGrowth "growth rate of carbon tax" +; + cm_taxCO2_expGrowth = 1.045; !! def = 1.045 !! regexp = is.numeric +*' (any number >= 0): rate of exponential increase over time, default value chosen to be consistent with interest rate +parameter + cm_budgetCO2from2020 "CO2 budget for all economic sectors starting from 2020 (GtCO2). It can be either peak budget, but can also be an end-of-century budget" +; + cm_budgetCO2from2020 = 1150; !! def = 1150 +*' budgets from AR6 for 2020-2100 (including 2020), for 1.5 C: 500 Gt CO2 peak budget (400 Gt CO2 end of century), for 2 C: 1150 Gt CO2 +parameter + cm_peakBudgYr "date of net-zero CO2 emissions for peak budget runs without overshoot" +; + cm_peakBudgYr = 2050; !! def = 2050 +*' time of net-zero CO2 emissions (peak budget) +*' endogenous adjustment by algorithms in 45_carbonprice/functionalForm/postsolve.gms [requires emiscen = 9 and cm_iterative_target_adj = 7 or 9] +parameter + cm_taxCO2_IncAfterPeakBudgYr "annual increase of CO2 tax after cm_peakBudgYr in $ per tCO2" +; + cm_taxCO2_IncAfterPeakBudgYr = 0; !! def = 0 . For weak targets (higher than 1100 Peak Budget), this value might need to increased to prevent continually increasing temperatures *' parameter - cm_co2_tax_growth "growth rate of carbon tax" + cm_expoLinear_yearStart "time at which carbon price increases linearly instead of exponentially" ; - cm_co2_tax_growth = 1.05; !! def = 1.05 !! regexp = is.numeric -*' (any number >= 0): rate of exponential increase over time + cm_expoLinear_yearStart = 2050; !! def = 2050 +*' parameter c_macscen "scenario switch on whether or not to use MAC (Marginal Abatement Cost) for certain sectors not related to direct combustion of fossil fuel, e.g. fugitive emissions from old mines, forestry, agriculture and cement" ; @@ -520,7 +555,8 @@ parameter parameter cm_nucscen "nuclear option choice" ; - cm_nucscen = 2; !! def = 2 !! regexp = 2|5|6 + cm_nucscen = 2; !! def = 2 !! regexp = 1|2|5|6 +*' * (1): default, no restriction, let nuclear be endogenously invested *' * (2): no fnrs, tnrs with restricted new builds until 2030 (based on current data on plants under construction, planned or proposed) *' * (5): no new nuclear investments after 2020 *' * (6): +33% investment costs for tnrs under SSP5, uranium resources increased by a factor of 10 @@ -672,19 +708,20 @@ parameter cm_prtpScen "pure rate of time preference standard values" ; cm_prtpScen = 1; !! def = 1 !! regexp = 1|3 -*' * (1): 1 % +*' * (1): 1.5 % *' * (3): 3 % *' parameter cm_fetaxscen "choice of final energy tax path, subsidy path and inconvenience cost path, values other than zero enable final energy tax" ; - cm_fetaxscen = 3; !! def = 3 !! regexp = [0-4] + cm_fetaxscen = 3; !! def = 3 !! regexp = [0-5] *' even if set to 0, the PE inconvenience cost per SO2-cost for coal are always on if module 21_tax is on *' * (0): no tax, sub, inconv *' * (1): constant t,s,i (used in SSP 5 and ADVANCE WP3.1 HighOilSub) *' * (2): converging tax, phased out sub (-2030), no inconvenience cost so far (used in SSP 1) *' * (3): constant tax, phased out sub (-2050), no inconvenience cost so far (used in SSP 2) *' * (4): constant tax, phased out sub (-2030), no inconvenience cost so far (used in SDP) +*' * (5): roll back of final energy taxes to get back to a no-policy case (previously known as BAU) *' parameter cm_distrBeta "elasticity of tax revenue redistribution" @@ -772,9 +809,9 @@ parameter *' * (4): so2 tax intermediary between 1 and 2, multiplying (1) tax by the ratio (3) and (2) *' parameter - c_techAssumptScen "scenario for assumptions of energy technologies based on SSP scenarios, 1: SSP2 (default), 2: SSP1, 3: SSP5" + c_techAssumptScen "scenario for assumptions of energy technologies based on SSP scenarios, 1: SSP2 (default), 2: SSP1, 3: SSP5, 4: SSP3" ; - c_techAssumptScen = 1; !! def = 1 !! regexp = [1-3] + c_techAssumptScen = 1; !! def = 1 !! regexp = [1-4] *' This flag defines an energy technology scenario according to SSP scenario *' * (1) SSP2: reference scenario - default investment costs & learning rates for pv, csp and wind *' * (2) SSP1: advanced renewable energy techno., pessimistic for nuclear and CCS @@ -783,7 +820,7 @@ parameter parameter c_ccsinjecratescen "CCS injection rate factor applied to total regional storage potentials, yielding an upper bound on annual injection" ; - c_ccsinjecratescen = 1; !! def = 1 !! regexp = [0-5] + c_ccsinjecratescen = 1; !! def = 1 !! regexp = [0-6] *' This switch determines the upper bound of the annual CCS injection rate. *' CCS here refers to carbon sequestration, carbon capture is modelled separately. *' * (0) no "CCS" as in no carbon sequestration at all @@ -792,6 +829,7 @@ parameter *' * (3) upper estimate: 0.0075; max 29.5 GtCO2/yr globally *' * (4) unconstrained: 1; max 3900 GtCO2/yr globally *' * (5) sustainability case: 0.001; max 3.9 GtCO2/yr globally +*' * (6) intermediate estimate: 0.0022; max 8.6 GtCO2/yr globally *' parameter c_ccscapratescen "CCS capture rate" @@ -807,17 +845,15 @@ parameter c_export_tax_scen = 0; !! def = 0 !! regexp = 0|1 *' parameter - cm_iterative_target_adj "settings on iterative adjustment for CO2 tax based on in-iteration emission or forcing level. Allow iteratively generated endogenous global CO2 tax under peak budget constraint." + cm_iterative_target_adj "settings on iterative adjustment for CO2 tax based on in-iteration emission or forcing level. Allow iteratively generated endogenous global CO2 tax under peak budget constraint or end-of-century budget constraint." ; - cm_iterative_target_adj = 0; !! def = 0 !! regexp = 0|2|3|4|5|6|7|9 + cm_iterative_target_adj = 0; !! def = 0 !! regexp = 0|2|3|5|7|9 *' * (0): no iterative adjustment of CO2 tax (terminology: CO2 price and CO2 tax in REMIND is used interchangeably) *' * (2): iterative adjustment of CO2 tax or cumulative emission based on climate forcing calculated by climate model magicc, for runs with budget or CO2 tax constraints. See ./modules/45_carbonprice/NDC/postsolve.gms for direct algorithm *' * (3): [requires 45_carbonprice = NDC and emiscen = 9] iterative adjustment of CO2 tax based on 2025 or 2030 regionally differentiated emissions, for runs with emission budget or CO2 tax constraints. See ./modules/45_carbonprice/NDC/postsolve.gms for direct algorithm -*' * (4): iterative adjustment of CO2 tax based on CO2 FF&I cumulative emission budget (i.e. without landuse emissions) (2020-2100), for runs with emission budget or CO2 tax constraints. See core/postsolve.gms for direct algorithms for runs with budget or CO2 tax constraints -*' * (5): iterative adjustment of CO2 tax based on economy-wide CO2 cumulative emission budget(2020-2100), for runs with emission budget or CO2 tax constraints. See core/postsolve.gms for direct algorithms -*' * (6): iterative adjustment of CO2 tax based on economy-wide CO2 cumulative emission peak budget, for runs with emission budget or CO2 tax constraints. See core/postsolve.gms for direct algorithms -*' * (7): iterative adjustment of CO2 tax based on economy-wide CO2 cumulative emission peak budget, for runs with emission budget or CO2 tax constraints. Features: results in a peak budget with zero net CO2 emissions after peak budget is reached. See core/postsolve.gms for direct algorithms -*' * (9): [require the right settings in 45_carbonprice] iterative adjustment of CO2 tax based on economy-wide CO2 cumulative emission peak budget, for runs with emission budget or CO2 tax constraints. Features: 1) after the year when budget peaks, CO2 tax has an annual increase by c_taxCO2inc_after_peakBudgYr, 2) automatically shifts c_peakBudgYr to find the correct year of budget peaking for a given budget. For REMIND version v2.1 or above. +*' * (5): [requires 45_carbonprice = functionalForm and emiscen = 9] iterative adjustment of CO2 tax based on economy-wide CO2 cumulative emission budget(2020-2100), for runs with emission budget or CO2 tax constraints. [see 45_carbonprice/functionalForm/postsolve.gms for direct algorithm] +*' * (7): [requires 45_carbonprice = functionalForm and emiscen = 9] iterative adjustment of CO2 tax based on economy-wide CO2 cumulative emission peak budget, for runs with emission budget or CO2 tax constraints. Features: results in a peak budget with zero net CO2 emissions after peak budget is reached. See core/postsolve.gms for direct algorithms [see 45_carbonprice/functionalForm/postsolve.gms for direct algorithm] +*' * (9): [requires 45_carbonprice = functionalForm and emiscen = 9] iterative adjustment of CO2 tax based on economy-wide CO2 cumulative emission peak budget, for runs with emission budget or CO2 tax constraints. Features: 1) after the year when budget peaks, CO2 tax has an annual increase by cm_taxCO2_IncAfterPeakBudgYr, 2) automatically shifts cm_peakBudgYr to find the correct year of budget peaking for a given budget. [see 45_carbonprice/functionalForm/postsolve.gms for direct algorithm] *' parameter cm_NDC_divergentScenario "choose scenario about convergence of CO2eq prices [45_carbonprice = NDC]" @@ -849,40 +885,61 @@ parameter *' * (0): not included *' parameter - cm_gs_ew "grain size (for enhanced weathering, CDR module) [micrometre]" + cm_33OAE "choose whether OAE (ocean alkalinity enhancement) should be included into the CDR portfolio. 0 = OAE not used, 1 = used" ; - cm_gs_ew = 20; !! def = 20 !! regexp = is.numeric + cm_33OAE = 0; !! def = 0 +*' Since OAE is quite a cheap CDR option, runs might not converge because the model tries to deploy +*' a lot of OAE. In this case, use a quantity target to limit OAE by adding something like: +*' (2070,2080,2090,2100).GLO.tax.t.oae.all 5000 to cm_implicitQttyTarget in your config file, +*' starting from the year in which OAE is deployed above 5000 MtCO2 / yr. This will limit the global +*' deployment to 5000 Mt / yr in timesteps 2070-2100. +*' * (1): ocean alkalinity enhancement is included +*' * (0): not included *' parameter - cm_LimRock "limit amount of rock spread each year [Gt]" + cm_33_OAE_eff "OAE efficiency measured in tCO2 uptaken by the ocean per tCaO. Typically between 0.9-1.4 (which corresponds to 1.2-1.8 molCO2/molCaO). [tCO2/tCaO]" ; - cm_LimRock = 1000; !! def = 1000 + cm_33_OAE_eff = 1.2; !! def = 1.2 *' parameter - cm_expoLinear_yearStart "time at which carbon price increases linearly instead of exponentially" + cm_33_OAE_scen "OAE distribution scenarios" ; - cm_expoLinear_yearStart = 2050; !! def = 2050 + cm_33_OAE_scen = 1; !! def = 1 +*' * (0): pessimistic: a rather low discharge rate (30 tCaO per h), corresponding to high distribution costs +*' * (1): optimistic: a high discharge rate (250 tCaO per h), corresponding to lower distribution costs *' parameter - c_budgetCO2from2020FFI "carbon budget for CO2 emissions starting from 2020 from fossil fuels & industry (FFI), i.e. without land-use (in GtCO2). It can be either peak budget, but can also be an end-of-century budget" + cm_33_OAE_startyr "The year when OAE could start being deployed [year]" ; - c_budgetCO2from2020FFI = 700; !! def = 700 + cm_33_OAE_startyr = 2030; !! def = 2030 !! regexp = 20[3-9](0|5) +*' * (2030): earliest year when OAE could be deployed +*' * (....): later timesteps *' parameter - c_budgetCO2from2020 "CO2 budget for all economic sectors starting from 2020 (GtCO2). It can be either peak budget, but can also be an end-of-century budget" + cm_gs_ew "grain size (for enhanced weathering, CDR module) [micrometre]" ; - c_budgetCO2from2020 = 1150; !! def = 1150 -*' budgets from AR6 for 2020-2100 (including 2020), for 1.5 C: 500 Gt CO2 peak budget (400 Gt CO2 end of century), for 2 C: 1150 Gt CO2 + cm_gs_ew = 20; !! def = 20 !! regexp = is.numeric +*' parameter - cm_postTargetIncrease "carbon price increase per year after regipol emission target is reached (euro per tCO2)" + cm_LimRock "limit amount of rock spread each year [Gt]" ; - cm_postTargetIncrease = 0; !! def = 0 + cm_LimRock = 1000; !! def = 1000 *' + +parameter + cm_33_EW_upScalingRateLimit "Annual growth rate limit on upscaling of mining & spreading rocks on fields" +; + cm_33_EW_upScalingRateLimit = 0.2; !! def = 20% !! regexp = is.nonnegative + parameter - cm_emiMktTarget_tolerance "tolerance for regipol emission target deviations convergence." + cm_33_EW_shortTermLimit "Limit on 2030 potential for enhanced weathering, defined as % of land on which EW is applied. Default 0.5% of land" ; - cm_emiMktTarget_tolerance = 0.01; !! def = 0.01, i.e. regipol emission targets must be met within 1% of target deviation -*' For budget targets the tolerance is measured relative to the target value. For year targets the tolerance is relative to 2005 emissions. + cm_33_EW_shortTermLimit = 0.005; !! def = 0.5% !! regexp = is.nonnegative +*' +parameter + cm_postTargetIncrease "carbon price increase per year after regipol emission target is reached (euro per tCO2)" +; + cm_postTargetIncrease = 0; !! def = 0 *' parameter cm_implicitQttyTarget_tolerance "tolerance for regipol implicit quantity target deviations convergence." @@ -957,34 +1014,29 @@ parameter cm_DiscRateScen = 0; !! def = 0 !! regexp = [0-4] *' * (0) Baseline without higher discount rate: No additional discount rate *' * (1) Baseline with higher discount rate: Increase the discount rate by 10%pts from 2005 until the end -*' * (2) Energy Efficiency policy: 10%pts higher discount rate until cm_start_year and 0 afterwards. -*' * (3) Energy Efficiency policy: higher discount rate until cm_start_year and 25% of the initial value afterwards. -*' * (4) Energy Efficiency policy: higher discount rate until cm_start_year, decreasing to 25% value linearly until 2030. +*' * (2) Energy Efficiency policy: 10%pts higher discount rate until cm_startyear and 0 afterwards. +*' * (3) Energy Efficiency policy: higher discount rate until cm_startyear and 25% of the initial value afterwards. +*' * (4) Energy Efficiency policy: higher discount rate until cm_startyear, decreasing to 25% value linearly until 2030. *' parameter - c_H2InBuildOnlyAfter "Switch to fix H2 in buildings to zero until given year" + cm_H2InBuildOnlyAfter "Switch to fix H2 in buildings to zero until given year" ; - c_H2InBuildOnlyAfter = 2150; !! def = 2150 (rule out H2 in buildings) + cm_H2InBuildOnlyAfter = 2150; !! def = 2150 (rule out H2 in buildings) *' For all years until the given year, FE demand for H2 in buildings is set to zero parameter - c_peakBudgYr "date of net-zero CO2 emissions for peak budget runs without overshoot" -; - c_peakBudgYr = 2050; !! def = 2050 -*' time of net-zero CO2 emissions (peak budget), requires emiscen to 9 and cm_iterative_target_adj to 7, will potentially be adjusted by algorithms -parameter - c_taxCO2inc_after_peakBudgYr "annual increase of CO2 tax after the Peak Budget Year in $ per tCO2" + c_teNoLearngConvEndYr "Year at which regional costs of non-learning technologies converge" ; - c_taxCO2inc_after_peakBudgYr = 0; !! def = 0 . For weak targets (higher than 1100 Peak Budget), this value might need to increased to prevent continually increasing temperatures + c_teNoLearngConvEndYr = 2070; !! def = 2070 *' parameter - cm_CO2priceRegConvEndYr "Year at which regional CO2 taxes converge in module 45 realization diffCurvPhaseIn2Lin" + c_earlyRetiValidYr "Year before which the early retirement rate designated by c_tech_earlyreti_rate holds" ; - cm_CO2priceRegConvEndYr = 2050; !! def = 2050 + c_earlyRetiValidYr = 2035; !! def = 2035 *' parameter - c_teNoLearngConvEndYr "Year at which regional costs of non-learning technologies converge" + c_seFeSectorShareDevScale "scale factor in the objective function of the penalization to incentive sectors to have similar shares of secondary energy fuels." ; - c_teNoLearngConvEndYr = 2070; !! def = 2070 + c_seFeSectorShareDevScale = 1e-3; !! def = 1e-3 *' parameter cm_TaxConvCheck "switch for enabling tax convergence check in nash mode" @@ -1014,13 +1066,6 @@ parameter ; cm_H2targets = 0; !! def 0 *' -parameter - cm_PriceDurSlope_elh2 "slope of price duration curve of electrolysis" -; - cm_PriceDurSlope_elh2 = 15; !! def = 15 -*' cm_PriceDurSlope_elh2, slope of price duration curve for electrolysis (increase means more flexibility subsidy for electrolysis H2) -*' This switch only has an effect if the flexibility tax is on by cm_flex_tax set to 1 -*' Default value is based on data from German Langfristszenarien (see ./modules/32_power/IntC/datainput.gms). parameter cm_FlexTaxFeedback "switch deciding whether flexibility tax feedback on buildings and industry electricity prices is on" ; @@ -1091,6 +1136,14 @@ parameter *' * (0) none *' * (1) no fossil carbon and capture in Germany *' + +parameter + c_fracRealfromAnnouncedCCScap2030 "switch to adjust the share of realised CCS capacities from total announced/planned projects from database in 2030" +; + c_fracRealfromAnnouncedCCScap2030 = 0.3; !! def = 0.3 +*' This switch changes the assumption about the share of timely realised capacities from sum of announced/planned in 2030 from the IEA CCS data base +*' Default assumption is that only 30% of announced or planned capacities will be realised, either due to discontinuation or delay + parameter cm_startIter_EDGET "starting iteration of EDGE-T" ; @@ -1148,27 +1201,24 @@ $setglobal cm_MAgPIE_coupling off !! def = "off" !! regexp = off|on *' * (none): no RCP scenario, standard setting *' * (rcp20): RCP2.0 *' * (rcp26): RCP2.6 -*' * (rcp37): RCP3.7 +*' * (rcp37): RCP3.7 [currently not operational: test and verify before using it!] *' * (rcp45): RCP4.5 -*' * (rcp60): RCP6.0 -*' * (rcp85): RCP8.5 +*' * (rcp60): RCP6.0 [currently not operational: test and verify before using it!] +*' * (rcp85): RCP8.5 [currently not operational: test and verify before using it!] $setglobal cm_rcp_scen none !! def = "none" !! regexp = none|rcp20|rcp26|rcp37|rcp45|rcp60|rcp85 *' cm_NDC_version "choose version year of NDC targets as well as conditional vs. unconditional targets" -*' * (2023_cond): all NDCs conditional to international financial support published until February 24, 2023 -*' * (2023_uncond): all NDCs independent of international financial support published until February 24, 2023 -*' * (2022_cond): all NDCs conditional to international financial support published until December 31, 2022 -*' * (2022_uncond): all NDCs independent of international financial support published until December 31, 2022 -*' * (2021_cond): all NDCs conditional to international financial support published until December 31, 2021 -*' * (2021_uncond): all NDCs independent of international financial support published until December 31, 2021 -*' * (2018_cond): all NDCs conditional to international financial support published until December 31, 2018 -*' * (2018_uncond): all NDCs independent of international financial support published until December 31, 2018 -$setglobal cm_NDC_version 2023_cond !! def = "2023_cond" !! regexp = 20(18|2[1-3])_(un)?cond +*' * (2024_cond): all NDCs conditional to international financial support published until August 31, 2024 +*' * (2024_uncond): all NDCs independent of international financial support published until August 31, 2024 +*' * (2023_cond): all NDCs conditional to international financial support published until December 31, 2023 +*' * (2023_uncond): all NDCs independent of international financial support published until December 31, 2023 +*' * Other supported years are 2022, 2021 and 2018, always containing NDCs published until December 31 of that year +$setglobal cm_NDC_version 2024_cond !! def = "2024_cond" !! regexp = 20(18|2[1-4])_(un)?cond *' cm_netZeroScen "choose scenario of net zero targets of netZero realization of module 46_carbonpriceRegi" *' *' (NGFS_v4): settings used for NGFS v4, 2023 *' (NGFS_v4_20pc): settings used for NGFS v4, 2023, with still 20% of 2020 emissions in netZero year -*' (ENGAGE4p5_GlP): settings used for ENGAGE 4.5 Glasgow+ scenario -$setglobal cm_netZeroScen NGFS_v4 !! def = "NGFS_v4" !! regexp = NGFS_v4|NGFS_v4_20pc|ENGAGE4p5_GlP +*' (ELEVATE2p3): settings used for ELEVATE2p3 LTS and NDC-LTS scenario +$setglobal cm_netZeroScen NGFS_v4 !! def = "NGFS_v4" !! regexp = NGFS_v4|NGFS_v4_20pc|ELEVATE2p3 *' * c_regi_earlyreti_rate "maximum percentage of capital stock that can be retired early (before reaching their expected lifetimes) in one year in specified regions, if they are not economically viable. It is applied to all techs unless otherwise specified in c_tech_earlyreti_rate." *' * GLO 0.09, EUR_regi 0.15: default value. (0.09 means full retirement after 11 years, 10% standing after 10 years) $setglobal c_regi_earlyreti_rate GLO 0.09, EUR_regi 0.15 !! def = GLO 0.09, EUR_regi 0.15 @@ -1178,9 +1228,9 @@ $setglobal c_tech_earlyreti_rate GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.( *** cm_LU_emi_scen "choose emission baseline for CO2, CH4, and N2O land use emissions from MAgPIE" *** (SSP1): emissions (from SSP1 scenario in MAgPIE) *** (SSP2): emissions (from SSP2 scenario in MAgPIE) +*** (SSP3): emissions (from SSP3 scenario in MAgPIE) *** (SSP5): emissions (from SSP5 scenario in MAgPIE) -*** (SDP): -$setglobal cm_LU_emi_scen SSP2 !! def = SSP2 !! regexp = SSP(1|2|5)|SDP +$setglobal cm_LU_emi_scen SSP2 !! def = SSP2 !! regexp = SSP(1|2|3|5)|SSP2_lowEn *** cm_regi_bioenergy_EFTax "region(s) in which bioenergy is charged with an emission-factor-based tax" *** This switch has only an effect if 21_tax is on and cm_bioenergy_EF_for_tax *** is not zero. It reads in the regions that are affected by the emission- @@ -1253,7 +1303,7 @@ $setglobal c_ccsinjecrateRegi off !! def = "off" *** ("forcing_SSP1") settings consistent with SSP 1 *** ("forcing_SSP2") settings consistent with SSP 2 *** ("forcing_SSP5") settings consistent with SSP 5 -$setglobal c_SSP_forcing_adjust forcing_SSP2 !! def = forcing_SSP2 !! regexp = forcing_SSP(1|2|5) +$setglobal c_SSP_forcing_adjust forcing_SSP2 !! def = forcing_SSP2 !! regexp = forcing_SSP(1|2|3|5) *** cm_regiExoPrice "set exogenous co2 tax path for specific regions using a switch, require regipol module to be set to regiCarbonPrice (e.g. GLO.(2025 38,2030 49,2035 63,2040 80,2045 102,2050 130,2055 166,2060 212,2070 346,2080 563,2090 917,2100 1494,2110 1494,2130 1494,2150 1494) )" $setGlobal cm_regiExoPrice off !! def = off *** cm_emiMktTarget "set a budget or year emission target, for all (all) or specific emission markets (ETS, ESD or other), and specific regions (e.g. DEU) or region groups (e.g. EU27)" @@ -1261,10 +1311,21 @@ $setGlobal cm_regiExoPrice off !! def = off *** cm_emiMktTarget = '2020.2050.EU27_regi.all.budget.netGHG_noBunkers 72, 2020.2050.DEU.all.year.netGHG_noBunkers 0.1' *** sets a 72 GtCO2eq budget target for European 27 countries (EU27_regi), for all GHG emissions excluding bunkers between 2020 and 2050; and a 100 MtCO2 CO2eq emission target for the year 2050, for Germany" *** cm_emiMktTarget = 'nzero' -*** loads hard-coded options for regional target scenarios defined in the module '47_regipol/regiCarbonPrice' declarations file. -*** The 'nzero' scenario applies declared net-zero targets for countries explicitly handled by the model (DEU, CHA, USA, IND, JPN, UKI, FRA and EU27_regi) +*** loads hard-coded options for regional target scenarios defined in the module '47_regipol/regiCarbonPrice' declarations file. +*** The 'nzero' scenario applies declared net-zero targets for countries explicitly handled by the model (DEU, CHA, USA, IND, JPN, UKI, FRA and EU27_regi) *** Requires regiCarbonPrice realization in regipol module $setGlobal cm_emiMktTarget off !! def = off +*** Tolerance for regipol emission target deviations convergence. +*** For budget targets the tolerance is measured relative to the target value. For year targets the tolerance is relative to 2005 emissions. +*** def = GLO 0.01, i.e. regipol emission targets must be met within 1% of target deviation +*** Example on how to use: +*** cm_emiMktTarget_tolerance = 'GLO 0.004, DEU 0.01'. All regional emission targets will be considered converged if they have at most 0.4% of the target deviation, except for Germany that requires 1%. +$setGlobal cm_emiMktTarget_tolerance GLO 0.01 !! def = GLO 0.01 +*** cm_scaleDemand - Rescaling factor on final energy and usable energy demand, for selected regions and over a phase-in window. +*** Requires re-calibration in order to work. +*** Example on how to use: +*** cm_scaleDemand = '2020.2040.(EUR,NEU,USA,JPN,CAZ) 0.75' applies a 25% demand reduction on those regions progressively between 2020 (100% demand) and 2040 (75% demand). +$setGlobal cm_scaleDemand off !! def = off *** cm_quantity_regiCO2target "emissions quantity upper bound from specific year for region group." *** Example on how to use: *** '2050.EUR_regi.netGHG 0.000001, obliges European GHG emissions to be approximately zero from 2050 onward" @@ -1290,17 +1351,25 @@ $setGlobal cm_proNucRegiPol off !! def = off $setGlobal cm_CCSRegiPol off !! def = off *** cm_vehiclesSubsidies - If "on" applies country specific BEV and FCEV subsidies from 2020 onwards $setGlobal cm_vehiclesSubsidies off !! def = off -*** cm_implicitQttyTarget - Define quantity target for primary, secondary, final energy or CCS (PE, SE and FE in TWa, or CCS in Mt CO2) per target group (total, biomass, fossil, VRE, renewables, synthetic, ...). +*** cm_implicitQttyTarget - Define quantity target for primary, secondary, final energy or CCS (PE, SE and FE in TWa, or CCS and OAE in Mt CO2) per target group (total, biomass, fossil, VRE, renewables, synthetic, ...). *** The target is achieved by an endogenous calculated markup in the form or a tax or subsidy in between iterations. -*** Example on how to use: +*** If cm_implicitQttyTargetType is set to "config", the quantity targets will be defined directly in this switch. Check below for examples on how to do this. +*** If cm_implicitQttyTargetType is set to "scenario", you should define the list of pre-defined scenarios hard-coded in module '47_regipol' that should be active for the current run (this avoids reaching the 255 characters limit in more complex definitions). +*** Example on how to use the switch with cm_implicitQttyTargetType = config: *** cm_implicitQttyTarget "2030.EU27_regi.tax.t.FE.all 1.03263" *** Enforce a tax (tax) that guarantees that the total (t=total) Final Energy (FE.all) in 2030 (2030) is at most the Final energy target in the Fit For 55 regulation in the European Union (EU27_regi) (1.03263 Twa). *** The p47_implicitQttyTargetTax parameter will contain the tax necessary to achieve that goal. (777.8 Mtoe = 777.8 * 1e6 toe = 777.8 * 1e6 * 41.868 GJ = 777.8 * 1e6 * 41.868 * 1e-9 EJ = 777.8 * 1e6 * 41.868 * 1e-9 * 0.03171 TWa = 1.03263 TWa) -*** cm_implicitQttyTarget to "2050.GLO.sub.s.FE.electricity 0.8". The p47_implicitQttyTargetTax parameter will contain the subsidy necessary to achieve that goal. +*** cm_implicitQttyTarget "2050.GLO.sub.s.FE.electricity 0.8". The p47_implicitQttyTargetTax parameter will contain the subsidy necessary to achieve that goal. *** Enforce a subsidy (sub) that guarantees a minimum share (s) of electricity in final energy (FE.electricity) equal to 80% (0.8) from 2050 (2050) onward in all World (GLO) regions. *** The p47_implicitQttyTargetTax parameter will contain the subsidy necessary to achieve that goal. *** To limit CCS to 8 GtCO2 and BECCS to 5 GtCO2, use "2050.GLO.tax.t.CCS.all 8000, 2050.GLO.tax.t.CCS.biomass 5000" +*** Example on how to use the switch with cm_implicitQttyTargetType = scenario: +*** cm_implicitQttyTarget "EU27_RpEUEff,EU27_bio4" +*** "EU27_RpEUEff" -> Enforce a tax that guarantees total FE will be lower or equal to the RePowerEU target for 2030. +*** "EU27_bio4" -> Enforce a tax that garantees that EU27 biomass use will be lower or equal to the 4EJ in 20235 and 2050. $setGlobal cm_implicitQttyTarget off !! def = off +*** cm_implicitQttyTargetType - Define if the quantity target switch cm_implicitQttyTarget contains explicit values for defining the targets (config) or if it contains scenario names to reflect hard-coded options (scenario). +$setGlobal cm_implicitQttyTargetType config !! def = config !! regexp = config|scenario *** cm_loadFromGDX_implicitQttyTargetTax "load p47_implicitQttyTargetTax values from gdx for first iteration. Usefull for policy runs." $setGlobal cm_loadFromGDX_implicitQttyTargetTax off !! def = off !! regexp = off|on *** cm_implicitQttyTarget_delay "delay the start of the quantity target algorithm either to: @@ -1327,6 +1396,14 @@ $setGlobal cm_VREminShare off !! def = off *** amount of Carbon Capture and Storage (including DACCS and BECCS) is limited to a maximum of 2GtCO2 per yr globally, and 250 Mt CO2 per yr in EU28. *** This switch only works for model native regions. If you want to apply it to a group region use cm_implicitQttyTarget instead. $setGlobal cm_CCSmaxBound off !! def = off +*** c_tech_CO2capturerate "changes CO2 capture rate of carbon capture technologies" +*** Example on how to use: +*** c_tech_CO2capturerate bioh2c 0.8, bioftcrec 0.4 +*** This sets the CO2 capture rate of the bioh2c technology to 80% and the capture of bioftcrec (Bio-based Fischer-Tropsch with carbon capture) +*** to 40%. The capture rate here is measured as carbon captured relative to the total carbon content of the input fuel (including carbon that is converted into the output fuel). +*** Note: The change in capture rate via this switch follows directly after reading in the generisdata_emi.prn file. Hence, the subsequent corrections of the capture rate +*** related to CO2 pipeline leakage still come on top of this. +$setGlobal c_tech_CO2capturerate off !! def = off *** c_CES_calibration_new_structure <- 0 switch to 1 if you want to calibrate a CES structure different from input gdx $setglobal c_CES_calibration_new_structure 0 !! def = 0 !! regexp = 0|1 *** c_CES_calibration_write_prices <- 0 switch to 1 if you want to generate price file, you can use this as new p29_cesdata_price.cs4r price input file @@ -1342,6 +1419,11 @@ $setglobal cm_calibration_string off !! def = off *** (REG2040) regionalized technology costs given by p_inco0 until 2040, then stable without convergence *** (GLO) globally homogenous technology costs $setglobal cm_techcosts REG !! def = REG !! regexp = REG|REG2040|GLO +*** cm_floorCostScen regionally differentiated floor cost scenarios +*** (default) uniform floor cost (almost no regional differentiation) +*** (pricestruc) regionally differentiated floor costs, the differentiated costs have the same ratio between regions as the ratio between 2020 tech cost values +*** (techtrans) regionally differentiated floor costs, which are the universal global floor costs in the default case time the MER PPP price ratios. new floor cost = MER/PPP * old floor cost +$setglobal cm_floorCostScen default !! def = default *** cfg$gms$cm_EDGEtr_scen "the EDGE-T scenario" # def <- "Mix1". For calibration runs: Mix1. Mix2, Mix3, Mix4 also available - numbers after the "mix" denote policy strength, with 1 corresponding roughly to Baseline/NPI, 2= NDC, 3= Budg1500, 4 = Budg800 *** The following descriptions are based on scenario results for EUR in 2050 unless specified otherwise. *** Whenever we give numbers, please be aware that they are just there to estimate the ballpark. @@ -1401,6 +1483,13 @@ $setGlobal cm_import_EU off !! def off *** (on) ARIADNE-specific H2 imports for Germany, rest EU has H2 imports from cm_import_EU switch *** (off) no ARIADNE-specific H2 imports for Germany $setGlobal cm_import_ariadne off !! def off +*** cm_PriceDurSlope_elh2, slope of price duration curve for electrolysis (increase means more flexibility subsidy for electrolysis H2) +*** It parameterizes how much the electricity price for electrolysis is reduced relative to the annual average electricity price +*** This switch only has an effect if the flexibility tax is on by cm_flex_tax set to 1 +*** Default value is based on data from German Langfristszenarien derived by the power system model Enertile. +*** It is derived by fitting a linear function to capture the relation between electrolysis electricity price and electrolysis share in total electricity demand +*** See https://github.com/remindmodel/development_issues/issues/404 for details. +$setGlobal cm_PriceDurSlope_elh2 GLO 20 !! def = GLO 20 *** cm_trade_SE_exog *** set exogenous SE trade scenarios (requires se_trade realization of modul 24 to be active) *** e.g. "2030.2050.MEA.DEU.seh2 0.5", means import of SE hydrogen from MEA to Germany from 2050 onwards of 0.5 EJ/yr, @@ -1412,14 +1501,19 @@ $setGlobal cm_import_ariadne off !! def off $setGlobal cm_trade_SE_exog off !! def off *** This allows to manually adjust the ramp-up curve of the SE tax on electricity. It is mainly used for taxing electricity going into electrolysis for green hydrogen production. *** The ramp-up curve is a logistic function that determines how fast taxes increase with increasing share of technology in total power demand. -*** This essentially makes an assumption about to what extend the power demand of electrolysis will be taxed and how much tax exemptions there will be at low shares of green hydrogen production. +*** This essentially makes an assumption about to what extend the power demand of electrolysis will be taxed and how much tax exemptions there will be at low shares of green hydrogen production *** The parameter a defines how fast the tax increases with increasing share, with 4/a being the percentage point range over which the tax value increases from 12% to 88% -*** The parameter b defines at which share the tax is halfway between the value at 0 share and the maximum value (defined by a region's electricity tax and the electricity grid cost) that it converges to for high shares. -*** Example use: -*** cm_SEtaxRampUpParam = "GLO.elh2.a 0.2, GLO.elh2.b 20" sets the logistic function parameter values a=0.2 and b=20 for electrolysis (elh2) to all model regions (GLO). -*** cm_SEtaxRampUpParam = "off" disables v21_tau_SE_tax +*** The parameter b defines at which share the tax is halfway between the value at 0 share and +*** the maximum value (defined by a region's electricity tax and the electricity grid cost) that it converges to for high shares. +*** Example use: +*** cm_SEtaxRampUpParam = "GLO.elh2.a 0.2, GLO.elh2.b 20" sets the logistic function parameter values a=0.2 and b=20 for electrolysis (elh2) to all model regions (GLO). +*** cm_SEtaxRampUpParam = "off" disables v21_tau_SE_tax +*** Default: +*** cm_SEtaxRampUpParam = "GLO.elh2.a 0.2, GLO.elh2.b 20, EUR_regi.elh2.a 0.15, EUR_regi.elh2.b 40" +*** This means that electrolysis tax is at half of electricity taxation at 40% electrolysis share in power demand for European regions, and half at 20% share for the rest of the world. +*** We anticipate this lower taxation share in Europe, because Europe has particularly high electricity taxes compared to the rest of the world. *** For details, please see ./modules/21_tax/on/equations.gms. -$setGlobal cm_SEtaxRampUpParam GLO.elh2.a 0.2, GLO.elh2.b 20 !! def = GLO.elh2.a 0.2, GLO.elh2.b 20 +$setGlobal cm_SEtaxRampUpParam GLO.elh2.a 0.2, GLO.elh2.b 20, EUR_regi.elh2.a 0.15, EUR_regi.elh2.b 40 !! def = GLO.elh2.a 0.2, GLO.elh2.b 20, EUR_regi.elh2.a 0.15, EUR_regi.elh2.b 40 *** cm_EnSecScen "switch for running an ARIADNE energy security scenario, introducing a tax on PE fossil energy in Germany" *** switch on energy security scenario for Germany (used in ARIADNE project), sets tax on fossil PE *** switch to activate energy security scenario assumptions for Germany including additional tax on gas/oil @@ -1447,7 +1541,9 @@ $setGlobal cm_indstExogScen off !! def off *** (off) default, no fixing *** (ariadne_bal) steel and cement production trajectories for Germany used in the Ariadne "Balanced" scenario *** (ariadne_ensec) steel and cement production trajectories for Germany used in the Ariadne "EnSec" (energy security) scenario -$setGLobal cm_exogDem_scen off !! def off +*** (ariadne_highDem) +*** (ariadne_lowDem) +$setGLobal cm_exogDem_scen off !! def off !! regexp = off|ariadne_(bal|ensec|highDem|lowDem) *** cm_Ger_Pol "switch for selecting different policies for Germany used in the ARIADNE scenarios" *** switch for Germany-specific policies *** (off) default @@ -1465,8 +1561,8 @@ $setglobal cm_eni off !! def = off $setglobal cm_enb off !! def = off *** cm_incolearn "change floor investment cost value" *** Example on how to use: -*** cm_incolearn "wind=1600,spv=5160,csp=9500" -*** floor investment costs from learning set to 17000 for EVs; and 1600, 5160 and 9500 for wind, solar pv and solar csp respectively. +*** cm_incolearn "windon=1600,spv=5160,csp=9500" +*** floor investment costs from learning set to 1600 for wind onshore, 5160 for solar photovoltaic and 9500 for concentrated solar power. $setglobal cm_incolearn off !! def = off *** cm_storageFactor "scale curtailment and storage requirements. [factor]" *** def <- "off" = no change for curtailment and storage requirements; @@ -1490,11 +1586,11 @@ $setglobal cm_adj_coeff off $setglobal cm_adj_coeff_cont off *** cm_adj_seed_multiplier "rescale adjustment cost seed value relative to default value. [factor]. Smaller means slower scale-up." *** def <- "off" = use default adj seed values. -*** or list of techs to change adj_seed value by a multiplication factor. (ex. "spv 0.5, storspv 0.5, wind 0.25") +*** or list of techs to change adj_seed value by a multiplication factor. (ex. "spv 0.5, storspv 0.5, windon 0.25") $setglobal cm_adj_seed_multiplier off *** cm_adj_coeff_multiplier "rescale adjustment cost coefficient value relative to default value. [factor]. Higher means higher adjustment cost." *** def <- "off" = use default adj coefficient values. -*** or list of techs to change adj_cost value by a multiplication factor. (ex. "spv 2, storspv 2, wind 4") +*** or list of techs to change adj_cost value by a multiplication factor. (ex. "spv 2, storspv 2, windon 4") *** A note on adjustment cost changes: A common practice of changing the adjustment cost parameterization is by using the same factor to *** increase the adjustment cost coefficent and to decrease the adjustment cost seed value at the same time. $setglobal cm_adj_coeff_multiplier off @@ -1505,7 +1601,7 @@ $setglobal cm_adj_coeff_multiplier off $setglobal cm_inco0Factor off !! def = off *** cm_inco0RegiFactor "change investment costs regionalized technology values. [factor]." *' * def <- "off" = use default p_inco0 values. -*' * or list of techs with respective factor to change p_inco0 value by a multiplication factor. (ex. "wind 0.33, spv 0.33" makes investment costs for wind and spv 3 times cheaper) +*' * or list of techs with respective factor to change p_inco0 value by a multiplication factor. (ex. "windon 0.33, spv 0.33" makes investment costs for windon and spv 3 times cheaper) *' * (note: if %cm_techcosts% == "GLO", switch will not work for policy runs, i.e. cm_startyear > 2005, for pc, ngt and ngcc as this gets overwritten in 05_initialCap module) $setglobal cm_inco0RegiFactor off !! def = off *** cm_CCS_markup "multiplicative factor for CSS cost markup" @@ -1576,18 +1672,57 @@ $setGlobal cm_CESMkup_ind standard !! def = standard $setGlobal cm_CESMkup_ind_data "" !! def = "" *** cm_fxIndUe "switch for fixing UE demand in industry to baseline level - no endogenous demand adjustment" -*** default cm_fxIndUe = off -> endogenous demand, cm_fxIndUe = on -> exogenous demand fixed to baseline/NPi level (read in from input_ref.gdx) -*** cm_fxIndUeReg indicates the regions under which the industry demand will be fixed -*** for example, cm_fxIndUe = on and cm_fxIndUeReg = SSA,NEU,CHA,IND,OAS,MEA,LAM gives a scenario where all non global north (non-OECD) industry demand is fixed to baseline -*** cm_fxIndUeReg = GLO fixes industry demand to baseline level everywhere -$setGlobal cm_fxIndUe off !! def = off -$setGlobal cm_fxIndUeReg "" !! def = "" +*** off: endogenous demand. +*** on: exogenous demand fixed to baseline/NPi level (read in from input_ref.gdx) +*** cm_fxIndUeReg "indicates the regions under which the industry demand will be fixed, requires cm_fxIndUe set to on" +*** examples: +*** SSA,NEU,CHA,IND,OAS,MEA,LAM: gives a scenario where all non global north (non-OECD) industry demand is fixed to baseline +*** GLO: fixes industry demand to baseline level everywhere +$setGlobal cm_fxIndUe off !! def = off !! regexp = off|on +$setGlobal cm_fxIndUeReg "" !! def = "" + +*** cm_taxCO2_functionalForm "switch for choosing the functional form of the global anchor trajectory in 45_carbonprice/functionalForm" +*** (linear): The linear curve is determined by the two points (cm_taxCO2_historicalYr, cm_taxCO2_historical) and (cm_startyear, cm_taxCO2_startyear). +*** (exponential): The exponential curve is determined by the point (cm_startyear, cm_taxCO2_startyear) and the exponential growth rate (cm_taxCO2_expGrowth). +$setglobal cm_taxCO2_functionalForm linear !! def = "linear" !! regexp = linear|exponential +*** cm_taxCO2_historical "switch for setting historical level of CO2 tax (in $ per t CO2eq) that is used if functional form is linear" +*** (gdx_ref): level of CO2 tax (defined as maximum of pm_taxCO2eq over all regions) from path_gdx_ref in cm_taxCO2_historicalYr +*** (any number >= 0): level of co2 tax in cm_taxCO2_historicalYr +$setglobal cm_taxCO2_historical gdx_ref !! def = "gdx_ref" !! regexp = gdx_ref|is.nonnegative +*** cm_taxCO2_historicalYr "switch for setting the year of cm_taxCO2_historical" +*** (last): last time period before start year (e.g. 2025 if start year is 2030) +*** (any number >= 2005 and < cm_startyear): year for which historical level of CO2 tax (cm_taxCO2_historical) is provided (e.g. 2024) +$setglobal cm_taxCO2_historicalYr last !! def = "last" !! regexp = last|is.nonnegative +*** cm_taxCO2_regiDiff "switch for choosing the regional carbon price differentiation scheme in 45_carbonprice/functionalForm" +*** (none): No regional differetiation, i.e. uniform carbon pricing +*** (initialSpread10): Maximal initial spread of carbon prices in 2030 between OECD regions and poorest region is equal to 10. Initial spread for each region determined based on GDP per capita (PPP) in 2015. Carbon prices converge using quadratic phase-in until cm_taxCO2_regiDiff_endYr (default = 2050). +*** (initialSpread20): Maximal initial spread of carbon prices in 2030 between OECD regions and poorest region is equal to 20. Initial spread for each region determined based on GDP per capita (PPP) in 2015. Carbon prices converge using quadratic phase-in until cm_taxCO2_regiDiff_endYr (default = 2050). +*** (gdpSpread): Regional differentiation based on GDP per capita (PPP) throughout the century. Uses current GDP per capita (PPP) of OECD countries - around 50'000 US$2017 - as threshold for application of full carbon price. +$setglobal cm_taxCO2_regiDiff initialSpread10 !! def = "initialSpread10" !! regexp = none|initialSpread10|initialSpread20|gdpSpread +*** cm_taxCO2_regiDiff_endYr "switch for choosing convergence year of regionally differentiated carbon prices when using initialSpread10 or initialSpread20 in 45_carbonprice/functionalForm" +*** Setting cm_taxCO2_regiDiff_endYr to GLO 2050, IND 2070, SSA 2100 means that convergence year is delayed for IND to 2070 and for SSA to 2100 +$setglobal cm_taxCO2_regiDiff_endYr "GLO 2050" !! def = "GLO 2050" +*** cm_co2_tax_interpolation "switch for interpolation between (a) carbonprice trajectory given by path_gdx_ref (or manually chosen regional carbon price in cm_startyear - see cm_taxCO2_startYearValue) and (b) carbonprice trajectory defined in 45_carbonprice" +*** (off): no interpolation, i.e. (b) is used from cm_startyear onward +*** (one_step): linear interpolation within 10 years between (a) and (b). For example, if cm_startyear = 2030, it uses (a) until 2025, the average of (a) and (b) in 2030, and (b) from 2035. +*** (two_steps): linear interpolation within 15 years between (a) and (b). For example, if cm_startyear = 2030, it uses (a) until 2025, weighted averages of (a) and (b) in 2030 and 2035, and (b) from 2040. +*** Setting cm_co2_tax_interpolation to GLO.2025.2050 2, EUR.2025.2040 1 means that interpolation between (a) and (b) in quadratic [exponent = 2], starts in 2025, and ends in 2050 for all regions, except for Europe that has linear interpolation [exponent = 1] starting in 2025 and ending in 2040 +$setglobal cm_taxCO2_interpolation off !! def = "off" +*** cm_taxCO2_startYearValue "switch for manually choosing regional carbon prices in cm_startyear that are used as starting point for interpolation" +*** (off): no manual values provided, i.e. carbonprice trajectory given by path_gdx_ref is used for interpolation +*** Setting cm_taxCO2_startYearValue to GLO 50, SSA 5, CHA 40 means that in cm_startyear, SSA has carbon price of 5$/tCO2, CHA has carbon price of 40$/tCO2, and all other regions have carbon price of 50$/tCO2. +$setglobal cm_taxCO2_startYearValue !! def = "off" +*** cm_taxCO2_lowerBound_path_gdx_ref "switch for choosing if carbon price trajectories from path_gdx_ref are used as lower bound" +*** (on): carbon price trajectories (pm_taxCO2eq) from path_gdx_ref is used as lower bound for pm_taxCO2eq +*** (off): no lower bound +$setglobal cm_taxCO2_lowerBound_path_gdx_ref on !! def = "on" !! regexp = on|off + *** cm_ind_energy_limit Switch for setting upper limits on industry energy *** efficiency improvements. See ./modules/37_subsectors/datainput.gms for *** implementation. *** "default" applies the following limits: -*** +*** *** ext_regi | subsector | period | maximum "efficiency gain" [0-1] *** ---------+--------------------+--------+-------------------------------- *** GLO | ue_cement | 2050 | 0.75 @@ -1606,6 +1741,9 @@ $setglobal cm_ind_energy_limit_manual "2050 . GLO . (ue_cement, ue_steel_prima *** 2050.GLO 0.5, 2050.EUR 0.8: means that 50% of waste incineration emissions are captured for all regions from 2050 onward, except for Europe that has 80% of its waste incineration emissions captured. *** The CCS share of waste incineration increases linearly from zero, in 2025, to the value set at the switch, and it is kept constant for years afterwards. $setglobal cm_wasteIncinerationCCSshare off !! def = off +*** cm_wastelag, does waste from plastics lag ten years behind plastics +*** production, or not? +$setglobal cm_wastelag NO !! def = NO !! regexp = YES|NO *** cm_feedstockEmiUnknownFate, account for chemical feedstock emissions with unknown fate *** off: assume that these emissions are trapped and do not account for total anthropogenic emissions *** on: account for chemical feedstock emissions with unknown fate as re-emitted to the atmosphere @@ -1613,11 +1751,9 @@ $setglobal cm_feedstockEmiUnknownFate off !! def = off *** cm_feShareLimits <- "off" # def <- "off", limit the electricity final energy share to be in line with the industry maximum electrification levels (60% by 2050 in the electric scenario), 10% lower (=50% in 2050) in an increased efficiency World, or 20% lower (40% in 2050) in an incumbents future (incumbents). The incumbents scenario also limits a minimal coverage of buildings heat provided by gas and liquids (25% by 2050). $setglobal cm_feShareLimits off !! def = off *** VRE potential switches -*** rescaling factor for sensitivity analysis on renewable potentials, this factor rescales all grades of a renewable technology which have not been used by 2020 (to avoid infeasiblities swith existing capacities) -*** (ex. "spv 0.5, wind 0.75" rescales solar and wind potential by the respective factors) *** rescaling factor for sensitivity analysis on renewable potentials. *** This factor rescales all grades of a renewable technology which have not been used by 2020 (to avoid infeasiblities with existing capacities) -*** (example: "spv 0.5, wind 0.75" rescales solar and wind potential by the respective factors) +*** (example: "spv 0.5, windon 0.75" rescales solar and wind potential by the respective factors) $setGlobal c_VREPot_Factor off !! def = off *** FE tax switches, allows scaling up or down FE taxes on all sectors, energy carriers flexibly *** cm_FEtax_trajectory_abs "switch for setting the aboslute FE tax level explicitly from a given year onwards, before tax levels increases or decreases linearly to that value" @@ -1637,20 +1773,33 @@ $setGlobal cm_FEtax_trajectory_rel off !! def = off *** then the values from the region group disaggregation will be overwritten by this region-specific value. *** For example: "DEU -0.2, EU27_regi -0.4". $setGLobal c_agricult_base_shift off !! def off -*** wind offshore switch -*** cm_wind_offshore 1, wind energy is represented by "wind" and "windoff", where "wind" means wind onshore. Later this will be the default and the name "wind" will be made to change to windon -*** cm_wind_offshore 0, means wind energy is only represented by "wind", which is a mixture of both wind onshore and wind offshore -$setglobal cm_wind_offshore 1 !! def = 1 *** cm_INCONV_PENALTY on !! def = on *** *RP* 2012-03-06 Flag to turn on inconvenience penalties, e.g. for air pollution $setglobal cm_INCONV_PENALTY on !! def = on !! regexp = off|on *** cm_INCONV_PENALTY_FESwitch off !! def = off *** flag to trun on inconvenience penalty to avoid switching shares on buildings, transport and industry biomass use if costs are relatively close (seLiqbio, sesobio, segabio) $setglobal cm_INCONV_PENALTY_FESwitch on !! def = on !! regexp = off|on +*** cm_seFeSectorShareDevMethod "Switch to enable an optimization incentive for sectors to have similar shares of secondary energy fuels and determine the method used for the incentive." +*** Possible values: off or the method name (sqSectorShare, sqSectorAvrgShare, or minMaxAvrgShare) +*** off "The model can freely allocate bio/syn/fossil fuels between sectors. If not off, a penalization term is added so sectors are incentivized to apply similar shares of bio-fuels, synfuels, and fossils in each sector." +*** sqSectorShare "Square share penalty. This method is not recommended as it also creates an unwanted incentive for the model to have equal total fos/syn/bio shares, as higher shares are penalized more than lower ones. Runs will be more sensible to the chosen c_seFeSectorShareDevScale values for this reason." +*** sqSectorAvrgShare "Square deviation from average share penalty. Recomended over sqSectorShare (see above)." +*** minMaxAvrgShare "Min-max deviation from average share penalty." +*** The relative effect of the penalization term in the objective function is scaled to avoid affecting optimization results. This scaling factor can be defined using the switch c_seFeSectorShareDevScale. +$setglobal cm_seFeSectorShareDevMethod sqSectorAvrgShare !! def = sqSectorAvrgShare !! regexp = off|sqSectorShare|sqSectorAvrgShare|minMaxAvrgShare +*** c_seFeSectorShareDevUnit "Defines if the penalization term is applied over fuel shares or energy units." +*** share, "The square penalization is applied directly to the share values. This results in different-sized regions having varying relative penalization incentives, but the range of penalization values will be more consistent from the solver's perspective." +*** energy, "The square penalization is applied to the share values multiplied by the energy demand. This approach scales penalizations better across different-sized regions, but there is a higher risk of the penalizations being ignored and the shares not being enforced if the value range is too small." +$setglobal c_seFeSectorShareDevUnit share !! def = share !! regexp = share|energy *** cm_MOFEX off !! def=off *** *JH/LB* Activate MOFEX partial fossil fuel extraction cost minimization model *** * Warning: Use a well-converged run since the model uses vm_prodPe from the input GDX $setGlobal cm_MOFEX off !! def = off !! regexp = off|on +*** cm_limitSolidsFossilRegi off !! def=off +*** starting in max(2020, cm_startyear), fossil solids use in each (sector x emiMkt) has to decrease compared to the previous time step for each region included in the switch cm_limitSolidsFossilRegi +*** aceptable values: any of the ext_regi set elements +*** e.g. "EUR_regi, USA" "solids fossil in industry and buildings for regions within EUR_regi and USA have to be lower or equal to the previous time step from 2020 or cm_startyear onward." +$setGlobal cm_limitSolidsFossilRegi off *** cm_Full_Integration *** use "on" to treat wind and solar as fully dispatchable electricity production technologies $setGlobal cm_Full_Integration off !! def = off !! regexp = off|on @@ -1665,6 +1814,8 @@ $setGlobal cm_magicc_temperatureImpulseResponse off !! def = off !! $setGlobal cm_magicc_config OLDDEFAULT !! def = OLDDEFAULT ; {OLDDEFAULT, RCP26_[5,15,..,95], TCRE_[LOWEST,LOW,MEDIUM,HIGH,HIGHEST] } *' climate damages (HowardNonCatastrophic, DICE2013R, DICE2016, HowardNonCatastrophic, HowardInclCatastrophic, KWcross, KWpanelPop} $setGlobal cm_damage_DiceLike_specification HowardNonCatastrophic !! def = HowardNonCatastrophic +***cfg$gms$cm_KotzWenzPerc <- mean #def = mean; {low,med,mean,high} the percentile of the damage distribution from Kotz et al. (2024), low = 5th, high = 95th percentile +$setGlobal cm_KotzWenzPerc mean !! def = mean !! regexp = low|med|mean|high *** cfg$gms$cm_damage_Labor_exposure <- "low" # def = "low"; {low,high} $setGlobal cm_damage_Labor_exposure low !! def = low !! regexp = low|high *** cfg$gms$cm_TCssp <- "SSP2" #def = "SSP2"; {SSP2,SSP5} the scenario for which the damage function is specified - currently only SSP2 and SSP5 are available @@ -1687,6 +1838,11 @@ $setGlobal c_regi_nucscen all !! def = all $setGlobal c_regi_capturescen all !! def = all *** cm_subsec_model_steel "switch between ces-based and process-based steel implementation in subsectors realisation of industry module" $setglobal cm_subsec_model_steel processes !! def = processes !! regexp = processes|ces +*** cm_tech_bounds_2025 +*** activate bounds for 2025 for fast-growing technologies (spv, wind etc.) based on 2023 statistics +*** (off) no bounds for 2025 +*** (on) some generous bounds for 2025 assuming that certain developments are not possible anymore even for fast growing technologies given 2023 data +$setglobal cm_tech_bounds_2025 on !! def = on !! regexp = on|off *** set conopt version. Warning: conopt4 is in beta $setGlobal cm_conoptv conopt3 !! def = conopt3 *' c_empty_model "Short-circuit the model, just use the input as solution" @@ -1700,6 +1856,11 @@ $setglobal cm_demScen gdp_SSP2 !! def = gdp_SSP2 $setGlobal c_scaleEmiHistorical on !! def = on !! regexp = off|on $SetGlobal cm_quick_mode off !! def = off !! regexp = off|on $setGLobal cm_debug_preloop off !! def = off !! regexp = off|on +*' cm_APscen "air polution scenario" +*' (SSP2): +*' (SSP5): +*' (CLE): Current Legislation Emissions +*' (MFR): Maximum Feasible Reductions $setGlobal cm_APscen SSP2 !! def = SSP2 $setglobal cm_CES_configuration indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2-Kap_debt_limit-Reg_62eff8f7 !! this will be changed by start_run() $setglobal c_CES_calibration_iterations 10 !! def = 10 @@ -1771,7 +1932,6 @@ $include "./core/loop.gms"; $ifthen.c_skip_output %c_skip_output% == "off" $include "./core/output.gms"; $batinclude "./modules/include.gms" output -$include "./core/magicc.gms"; !!connection to MAGICC, needed for post-processing $endif.c_skip_output *** EOF ./main.gms diff --git a/modules/01_macro/module.gms b/modules/01_macro/module.gms index 924b54fa0..57c456040 100644 --- a/modules/01_macro/module.gms +++ b/modules/01_macro/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/01_macro/singleSectorGr/bounds.gms b/modules/01_macro/singleSectorGr/bounds.gms index 3e394d4d9..d6f836640 100644 --- a/modules/01_macro/singleSectorGr/bounds.gms +++ b/modules/01_macro/singleSectorGr/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/01_macro/singleSectorGr/datainput.gms b/modules/01_macro/singleSectorGr/datainput.gms index e1a20b833..11e75b6fd 100644 --- a/modules/01_macro/singleSectorGr/datainput.gms +++ b/modules/01_macro/singleSectorGr/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/01_macro/singleSectorGr/declarations.gms b/modules/01_macro/singleSectorGr/declarations.gms index 19abfa479..bcb4b5051 100644 --- a/modules/01_macro/singleSectorGr/declarations.gms +++ b/modules/01_macro/singleSectorGr/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -34,7 +34,6 @@ vm_invMacro(ttot,all_regi,all_in) "Investment for v01_invMacroAdj(ttot,all_regi,all_in) "Adjustment costs of macro economic investments" vm_invInno(ttot,all_regi,all_in) "Investment into innovation" vm_invImi(ttot, all_regi,all_in) "Investment into imitation" -v01_enerSerAdj(tall,all_regi,all_in) "adjustment costs for energy service transformations" ; ***------------------------------------------------------------ ------------------- *** EQUATIONS diff --git a/modules/01_macro/singleSectorGr/equations.gms b/modules/01_macro/singleSectorGr/equations.gms index 6e99df1b5..9a59bb0db 100644 --- a/modules/01_macro/singleSectorGr/equations.gms +++ b/modules/01_macro/singleSectorGr/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -45,7 +45,6 @@ qm_budget(ttot,regi)$( ttot.val ge cm_startyear ) .. + sum(tradeCap, vm_costTradeCap(ttot,regi,tradeCap)) + vm_taxrev(ttot,regi)$(ttot.val ge 2010) + vm_costAdjNash(ttot,regi) - + sum(in_enerSerAdj(in), v01_enerSerAdj(ttot,regi,in)) + sum(teEs, vm_esCapInv(ttot,regi,teEs)) + vm_costpollution(ttot,regi) + pm_totLUcosts(ttot,regi) diff --git a/modules/01_macro/singleSectorGr/postsolve.gms b/modules/01_macro/singleSectorGr/postsolve.gms index bcad34b61..e45707180 100644 --- a/modules/01_macro/singleSectorGr/postsolve.gms +++ b/modules/01_macro/singleSectorGr/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/01_macro/singleSectorGr/preloop.gms b/modules/01_macro/singleSectorGr/preloop.gms index f790aea26..0b55273aa 100644 --- a/modules/01_macro/singleSectorGr/preloop.gms +++ b/modules/01_macro/singleSectorGr/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/01_macro/singleSectorGr/realization.gms b/modules/01_macro/singleSectorGr/realization.gms index 1fae54a6a..567fac832 100644 --- a/modules/01_macro/singleSectorGr/realization.gms +++ b/modules/01_macro/singleSectorGr/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/01_macro/singleSectorGr/sets.gms b/modules/01_macro/singleSectorGr/sets.gms index f61927d52..d9b822698 100644 --- a/modules/01_macro/singleSectorGr/sets.gms +++ b/modules/01_macro/singleSectorGr/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -29,8 +29,6 @@ ppf(all_in) "All primary production factors" ipf(all_in) "All intermediate production factors" ppfKap(all_in) "Primary production factors capital" / kap / ppfEn(all_in) "Primary production factors energy" - -in_enerSerAdj(all_in) "Energy services factors which should be constrained by adjustment costs" // ; alias(cesOut2cesIn,cesOut2cesIn2,cesOut2cesIn3); diff --git a/modules/02_welfare/ineqLognormal/bounds.gms b/modules/02_welfare/ineqLognormal/bounds.gms index 237fbec83..87a4fcb91 100644 --- a/modules/02_welfare/ineqLognormal/bounds.gms +++ b/modules/02_welfare/ineqLognormal/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/ineqLognormal/datainput.gms b/modules/02_welfare/ineqLognormal/datainput.gms index 6ec94cae5..ba0effb47 100644 --- a/modules/02_welfare/ineqLognormal/datainput.gms +++ b/modules/02_welfare/ineqLognormal/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -11,15 +11,15 @@ $if %cm_less_TS% == "on" pm_welf("2060") = 0.9; *RP* 2012-03-06: Inconvenience costs on seprod $IFTHEN.INCONV %cm_INCONV_PENALTY% == "on" -p02_inconvpen_lap(ttot,regi,"coaltr")$(ttot.val ge 2005) = 0.5; !! In dollar per GJ seprod at 1.000$/cap GDP, or 10$/GJ at 10.000$_GDP/cap -p02_inconvpen_lap(ttot,regi,"biotr")$(ttot.val ge 2005) = 1.0; !! In dollar per GJ seprod -p02_inconvpen_lap(ttot,regi,"biotrmod")$(ttot.val ge 2005) = 0.25; !! In dollar per GJ seprod. Biotrmod is a mix of wood stoves and automated wood pellets for heating, which has lower air pollution and other discomfort effects +p02_inconvpen_lap(ttot,regi,"coaltr")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.5; !! In dollar per GJ seprod at 1.000$/cap GDP, or 10$/GJ at 10.000$_GDP/cap +p02_inconvpen_lap(ttot,regi,"biotr")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 1.0; !! In dollar per GJ seprod +p02_inconvpen_lap(ttot,regi,"biotrmod")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.25; !! In dollar per GJ seprod. Biotrmod is a mix of wood stoves and automated wood pellets for heating, which has lower air pollution and other discomfort effects *' Transformation of coal to liquids/gases/H2 brings local pollution, which is less accepted at higher incomes -> use the inconvenience cost channel -p02_inconvpen_lap(ttot,regi,"coalftrec")$(ttot.val ge 2005) = 0.9; !! In dollar per GJ seprod -p02_inconvpen_lap(ttot,regi,"coalftcrec")$(ttot.val ge 2005) = 0.9; !! equivalent to 4$/GJ at 40.000$_GDP/cap, or 10$/GJ at 100.000$_GDP/cap -p02_inconvpen_lap(ttot,regi,"coalgas")$(ttot.val ge 2005) = 0.9; !! -p02_inconvpen_lap(ttot,regi,"coalh2")$(ttot.val ge 2005) = 0.9; !! -p02_inconvpen_lap(ttot,regi,"coalh2c")$(ttot.val ge 2005) = 0.9; !! +p02_inconvpen_lap(ttot,regi,"coalftrec")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.9; !! In dollar per GJ seprod +p02_inconvpen_lap(ttot,regi,"coalftcrec")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.9; !! equivalent to 4$/GJ at 40.000$_GDP/cap, or 10$/GJ at 100.000$_GDP/cap +p02_inconvpen_lap(ttot,regi,"coalgas")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.9; +p02_inconvpen_lap(ttot,regi,"coalh2")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.9; +p02_inconvpen_lap(ttot,regi,"coalh2c")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.9; p02_inconvpen_lap(ttot,regi,te)$(ttot.val ge 2005) = p02_inconvpen_lap(ttot,regi,te) * 4.3 * 1E-4; !! this is now equivalent to 1$/GJ at 1000$/per Capita in the welfare logarithm p02_inconvpen_lap(ttot,regi,te)$(ttot.val ge 2005) = p02_inconvpen_lap(ttot,regi,te) * (1/sm_giga_2_non) / sm_GJ_2_TWa; !! conversion util/(GJ/cap) -> util/(TWa/Gcap) *RP* these values are all calculated on seprod level. @@ -27,7 +27,7 @@ display p02_inconvpen_lap; $ENDIF.INCONV *BS* 2020-03-12: additional inputs for inequality -* To Do: rename file, then also in "files" and moinput::fullREMIND.R +*** To Do: rename file, then also in "files" and mrremind::fullREMIND.R parameter f02_ineqTheil(tall,all_regi,all_GDPscen) "Gini data" / $ondelim @@ -39,23 +39,19 @@ p02_ineqTheil(ttot,regi)$(ttot.val ge 2005) = f02_ineqTheil(ttot,regi,"%cm_GDPsc display p02_ineqTheil; -* for a policy run, we need to load values coming from the baseline for consumption, tax revenues and energy expenditures: +*** for a policy run, we need to load values coming from the baseline for consumption, tax revenues and energy expenditures: if ((cm_emiscen ne 1), Execute_Loadpoint 'input_ref' p02_taxrev_redistr0_ref=v02_taxrev_Add.l; Execute_Loadpoint 'input_ref' p02_cons_ref=vm_cons.l; Execute_Loadpoint 'input_ref' p02_energyExp_ref=v02_energyExp.l; Execute_Loadpoint 'input_ref' p02_damageFactor_ref=vm_damageFactor.l; - -* if energy system costs are used: -* Execute_Loadpoint 'input_ref' p02_energyExp_ref=vm_costEnergySys.l; - ); -* income elasticity of tax revenues redistribution. +*** income elasticity of tax revenues redistribution. p02_distrBeta(ttot,regi)$(ttot.val ge 2005) = cm_distrBeta; -* for a baseline we need the following variables to be 0: +*** for a baseline we need the following variables to be 0: p02_energyExp_ref(ttot,regi)$(cm_emiscen eq 1)=0; p02_taxrev_redistr0_ref(ttot,regi)$(cm_emiscen eq 1)=0; v02_taxrev_Add.l(ttot,regi)$(cm_emiscen eq 1)=0; @@ -63,13 +59,13 @@ v02_energyExp_Add.l(ttot,regi)$(cm_emiscen eq 1)=0; v02_energyexpShare.l(ttot,regi)$(cm_emiscen eq 1)=0; v02_revShare.l(ttot,regi)$(cm_emiscen eq 1)=0; -* For runs that are not baseline, we need to initialize: -* taxrev_Add, because they are used in the condition sign: +*** For runs that are not baseline, we need to initialize: +*** taxrev_Add, because they are used in the condition sign: v02_taxrev_Add.l(ttot,regi)$(cm_emiscen ne 1)=0; -* and v02_energyExp to the level in the baseline so the model can have a start value +*** and v02_energyExp to the level in the baseline so the model can have a start value v02_energyExp.l(ttot,regi)$(cm_emiscen eq 1)=p02_energyExp_ref(ttot,regi)$(cm_emiscen eq 1); -*parameters for translating output damage into consumption loss +*** parameters for translating output damage into consumption loss parameter f02_damConsFactor(all_regi,dam_factors) "for translating output to consumption losses from KW damage function" / $ondelim diff --git a/modules/02_welfare/ineqLognormal/declarations.gms b/modules/02_welfare/ineqLognormal/declarations.gms index 1bf6b9eff..e01513212 100644 --- a/modules/02_welfare/ineqLognormal/declarations.gms +++ b/modules/02_welfare/ineqLognormal/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/ineqLognormal/equations.gms b/modules/02_welfare/ineqLognormal/equations.gms index 07eb66ddf..d5e44f3c8 100644 --- a/modules/02_welfare/ineqLognormal/equations.gms +++ b/modules/02_welfare/ineqLognormal/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -60,9 +60,13 @@ $ifthen "%cm_INCONV_PENALTY_FESwitch%" == "on" AND sector2emiMkt(sector,emiMkt) AND (entySeBio(entySe) OR entySeFos(entySe)) ), v02_NegInconvPenFeBioSwitch(ttot,regi,entySe,entyFe,sector,emiMkt) - + v02_PosInconvPenFeBioSwitch(ttot,regi,entySe,entyFe,sector,emiMkt) - ) - / 1e3 + + v02_PosInconvPenFeBioSwitch(ttot,regi,entySe,entyFe,sector,emiMkt) + ) + / 1e3 +$endif +$ifthen not "%cm_seFeSectorShareDevMethod%" == "off" + !! penalizing secondary energy share deviation in sectors + - vm_penSeFeSectorShareDevCost(ttot,regi) $endif ) ) diff --git a/modules/02_welfare/ineqLognormal/not_used.txt b/modules/02_welfare/ineqLognormal/not_used.txt index 8f3a075bb..f8690cccc 100644 --- a/modules/02_welfare/ineqLognormal/not_used.txt +++ b/modules/02_welfare/ineqLognormal/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/ineqLognormal/postsolve.gms b/modules/02_welfare/ineqLognormal/postsolve.gms index b5596bd6b..8dc8bfb84 100644 --- a/modules/02_welfare/ineqLognormal/postsolve.gms +++ b/modules/02_welfare/ineqLognormal/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/ineqLognormal/realization.gms b/modules/02_welfare/ineqLognormal/realization.gms index 5b7386ad7..5eff24433 100644 --- a/modules/02_welfare/ineqLognormal/realization.gms +++ b/modules/02_welfare/ineqLognormal/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/ineqLognormal/sets.gms b/modules/02_welfare/ineqLognormal/sets.gms index 9f786a725..08885a7e5 100755 --- a/modules/02_welfare/ineqLognormal/sets.gms +++ b/modules/02_welfare/ineqLognormal/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/module.gms b/modules/02_welfare/module.gms index 4013fc8aa..b37ad903f 100644 --- a/modules/02_welfare/module.gms +++ b/modules/02_welfare/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/utilitarian/bounds.gms b/modules/02_welfare/utilitarian/bounds.gms index fc6b32999..dc3fcd93f 100644 --- a/modules/02_welfare/utilitarian/bounds.gms +++ b/modules/02_welfare/utilitarian/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/utilitarian/datainput.gms b/modules/02_welfare/utilitarian/datainput.gms index d09cc1160..4579c365a 100644 --- a/modules/02_welfare/utilitarian/datainput.gms +++ b/modules/02_welfare/utilitarian/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -11,15 +11,15 @@ pm_welf("2060") = 0.9; *RP* 2012-03-06: Inconvenience costs on seprod $IFTHEN.INCONV %cm_INCONV_PENALTY% == "on" -p02_inconvpen_lap(ttot,regi,"coaltr")$(ttot.val ge 2005) = 0.5; !! In dollar per GJ seprod at 1.000$/cap GDP, or 10$/GJ at 10.000$_GDP/cap -p02_inconvpen_lap(ttot,regi,"biotr")$(ttot.val ge 2005) = 1.0; !! In dollar per GJ seprod -p02_inconvpen_lap(ttot,regi,"biotrmod")$(ttot.val ge 2005) = 0.25; !! In dollar per GJ seprod. Biotrmod is a mix of wood stoves and automated wood pellets for heating, which has lower air pollution and other discomfort effects +p02_inconvpen_lap(ttot,regi,"coaltr")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.5; !! In dollar per GJ seprod at 1.000$/cap GDP, or 10$/GJ at 10.000$_GDP/cap +p02_inconvpen_lap(ttot,regi,"biotr")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 1.0; !! In dollar per GJ seprod +p02_inconvpen_lap(ttot,regi,"biotrmod")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.25; !! In dollar per GJ seprod. Biotrmod is a mix of wood stoves and automated wood pellets for heating, which has lower air pollution and other discomfort effects *' Transformation of coal to liquids/gases/H2 brings local pollution, which is less accepted at higher incomes -> use the inconvenience cost channel -p02_inconvpen_lap(ttot,regi,"coalftrec")$(ttot.val ge 2005) = 0.9; !! In dollar per GJ seprod -p02_inconvpen_lap(ttot,regi,"coalftcrec")$(ttot.val ge 2005) = 0.9; !! equivalent to 4$/GJ at 40.000$_GDP/cap, or 10$/GJ at 100.000$_GDP/cap -p02_inconvpen_lap(ttot,regi,"coalgas")$(ttot.val ge 2005) = 0.9; !! -p02_inconvpen_lap(ttot,regi,"coalh2")$(ttot.val ge 2005) = 0.9; !! -p02_inconvpen_lap(ttot,regi,"coalh2c")$(ttot.val ge 2005) = 0.9; !! +p02_inconvpen_lap(ttot,regi,"coalftrec")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.9; !! In dollar per GJ seprod +p02_inconvpen_lap(ttot,regi,"coalftcrec")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.9; !! equivalent to 4$/GJ at 40.000$_GDP/cap, or 10$/GJ at 100.000$_GDP/cap +p02_inconvpen_lap(ttot,regi,"coalgas")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.9; +p02_inconvpen_lap(ttot,regi,"coalh2")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.9; +p02_inconvpen_lap(ttot,regi,"coalh2c")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.9; p02_inconvpen_lap(ttot,regi,te)$(ttot.val ge 2005) = p02_inconvpen_lap(ttot,regi,te) * 4.3 * 1E-4; !! this is now equivalent to 1$/GJ at 1000$/per Capita in the welfare logarithm p02_inconvpen_lap(ttot,regi,te)$(ttot.val ge 2005) = p02_inconvpen_lap(ttot,regi,te) * (1/sm_giga_2_non) / sm_GJ_2_TWa; !! conversion util/(GJ/cap) -> util/(TWa/Gcap) *RP* these values are all calculated on seprod level. diff --git a/modules/02_welfare/utilitarian/declarations.gms b/modules/02_welfare/utilitarian/declarations.gms index 5970adda5..b7c0c88d3 100644 --- a/modules/02_welfare/utilitarian/declarations.gms +++ b/modules/02_welfare/utilitarian/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/utilitarian/equations.gms b/modules/02_welfare/utilitarian/equations.gms index ff5e0c4ad..1ac8c3734 100644 --- a/modules/02_welfare/utilitarian/equations.gms +++ b/modules/02_welfare/utilitarian/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -56,9 +56,13 @@ $ifthen "%cm_INCONV_PENALTY_FESwitch%" == "on" AND sector2emiMkt(sector,emiMkt) AND (entySeBio(entySe) OR entySeFos(entySe)) ), v02_NegInconvPenFeBioSwitch(ttot,regi,entySe,entyFe,sector,emiMkt) - + v02_PosInconvPenFeBioSwitch(ttot,regi,entySe,entyFe,sector,emiMkt) - ) - / 1e3 + + v02_PosInconvPenFeBioSwitch(ttot,regi,entySe,entyFe,sector,emiMkt) + ) + / 1e3 +$endif +$ifthen not "%cm_seFeSectorShareDevMethod%" == "off" + !! penalizing secondary energy share deviation in sectors + - vm_penSeFeSectorShareDevCost(ttot,regi) $endif ) ) diff --git a/modules/02_welfare/utilitarian/not_used.txt b/modules/02_welfare/utilitarian/not_used.txt index d8e32d03b..9b16fa73b 100644 --- a/modules/02_welfare/utilitarian/not_used.txt +++ b/modules/02_welfare/utilitarian/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/utilitarian/postsolve.gms b/modules/02_welfare/utilitarian/postsolve.gms index d68d9c0a5..18c1c22d7 100644 --- a/modules/02_welfare/utilitarian/postsolve.gms +++ b/modules/02_welfare/utilitarian/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/utilitarian/realization.gms b/modules/02_welfare/utilitarian/realization.gms index df8c67946..36738f6ad 100644 --- a/modules/02_welfare/utilitarian/realization.gms +++ b/modules/02_welfare/utilitarian/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/04_PE_FE_parameters/iea2014/datainput.gms b/modules/04_PE_FE_parameters/iea2014/datainput.gms index ea5659f93..88ea098c6 100644 --- a/modules/04_PE_FE_parameters/iea2014/datainput.gms +++ b/modules/04_PE_FE_parameters/iea2014/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -6,7 +6,7 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/04_PE_FE_parameters/iea2014/datainput.gms -parameter f04_IO_input(tall,all_regi,all_enty,all_enty,all_te) "Energy input based on IEA data" +parameter f04_IO_input(tall,all_regi,all_enty,all_enty,all_te) "Energy input based on IEA data" / $ondelim $include "./modules/04_PE_FE_parameters/iea2014/input/f04_IO_input.cs4r" @@ -14,6 +14,13 @@ $offdelim / ; +*** windoffshore-todo +*** allow input data with either "wind" or "windon" until mrremind is updated +f04_IO_input(tall,all_regi,"pewin","seel","windon") $ (f04_IO_input(tall,all_regi,"pewin","seel","windon") eq 0) = f04_IO_input(tall,all_regi,"pewin","seel","wind"); +f04_IO_input(tall,all_regi,"pewin","seel","wind") = 0; +*CG* setting historical production from wind offshore to 0 (due to the scarcity of offshore wind before 2015) +f04_IO_input(tall,all_regi,"pewin","seel","windoff") = 0; + if (smin((t,regi,pe2se(entyPe,entySe,te)), f04_IO_input(t,regi,entyPe,entySe,te)) lt 0, put_utility "msg" / "**""** input data problem: f04_IO_input has negative values that are overwritten"; put_utility "msg" / "**""** to still allow model solving. Check input data." /; @@ -28,12 +35,10 @@ if (smin((t,regi,pe2se(entyPe,entySe,te)), f04_IO_input(t,regi,entyPe,entySe,te) *' overwrite negative values with 0 to allow the model to solve. In the mid-term, the input data/mapping needs to be improved to prevent negative values f04_IO_input(tall,regi,entyPe,entySe,te)$(f04_IO_input(tall,regi,entyPe,entySe,te) lt 0) = 0; -*CG* setting historical production from wind offshore to 0 (due to the scarcity of offshore wind before 2015) -$IFTHEN.WindOff %cm_wind_offshore% == "1" -f04_IO_input(tall,all_regi,"pewin","seel","windoff") = 0; -$ENDIF.WindOff -parameter f04_IO_output(tall,all_regi,all_enty,all_enty,all_te) "Energy output based on IEA data" +*** RP 2019-02-19: From rev 8352 on, f04_IO_output contains gross generation for power plants. Power plant autoconsumption is contained in t&d losses. +*** This facilitates comparison with other sources which usually report gross electricity generation as well as gross capacity factors +parameter f04_IO_output(tall,all_regi,all_enty,all_enty,all_te) "Energy output based on IEA data" / $ondelim $include "./modules/04_PE_FE_parameters/iea2014/input/f04_IO_output.cs4r" @@ -41,6 +46,11 @@ $offdelim / ; +*** windoffshore-todo +*** allow input data with either "wind" or "windon" until mrremind is updated +f04_IO_output(tall,all_regi,"pewin","seel","windon") $ (f04_IO_output(tall,all_regi,"pewin","seel","windon") eq 0) = f04_IO_output(tall,all_regi,"pewin","seel","wind"); +f04_IO_output(tall,all_regi,"pewin","seel","wind") = 0; + if (smin((t,regi,pe2se(entyPe,entySe,te)), f04_IO_output(t,regi,entyPe,entySe,te)) lt 0, put_utility "msg" / "**""** input data problem: f04_IO_output has negative values that are overwritten" / put_utility "msg" / "**""** to still allow model solving. Check input data." /; @@ -58,7 +68,6 @@ f04_IO_output(tall,regi,entyPe,entySe,te)$(f04_IO_output(tall,regi,entyPe,entySe - *** making sure f04_IO_output is compatible with pm_fedemand values in 2005 *** this will become irrelevant to the model once the input data routines can be fixed so that pm_fedemand is again the same as f04_IO_output *** these lines should be removed once this is fixed at mrremind side. @@ -164,8 +173,8 @@ $endif.subsectors f04_IO_input(ttot,regi,all_enty,all_enty2,all_te) = f04_IO_input(ttot,regi,all_enty,all_enty2,all_te) * sm_EJ_2_TWa; f04_IO_output(ttot,regi,all_enty,all_enty2,all_te) = f04_IO_output(ttot,regi,all_enty,all_enty2,all_te) * sm_EJ_2_TWa; -*** calculate bio share per carrier for buildings and industry (only for historically available years) -pm_secBioShare(ttot,regi,entyFe,sector)$((sameas(entyFe,"fegas") or sameas(entyFe,"fehos") or sameas(entyFe,"fesos")) and entyFe2Sector(entyFe,sector) and (ttot.val ge 2005 and ttot.val le 2015) and (sum((entySe,all_enty,all_te)$entyFeSec2entyFeDetail(entyFe,sector,all_enty), f04_IO_output(ttot,regi,entySe,all_enty,all_te) ) gt 0)) = +*** calculate bio share per fe carrier (only for historically available years) +pm_secBioShare(ttot,regi,entyFe,sector)$((seAgg2fe("all_seso",entyFe) OR seAgg2fe("all_seliq",entyFe) OR seAgg2fe("all_sega",entyFe)) AND entyFe2Sector(entyFe,sector) and (ttot.val ge 2005 and ttot.val le 2020) and (sum((entySe,all_enty,all_te)$entyFeSec2entyFeDetail(entyFe,sector,all_enty), f04_IO_output(ttot,regi,entySe,all_enty,all_te) ) gt 0)) = sum((entySeBio,all_enty,all_te)$entyFeSec2entyFeDetail(entyFe,sector,all_enty), f04_IO_output(ttot,regi,entySeBio,all_enty,all_te) ) / sum((entySe,all_enty,all_te)$entyFeSec2entyFeDetail(entyFe,sector,all_enty), f04_IO_output(ttot,regi,entySe,all_enty,all_te) ) @@ -245,12 +254,7 @@ loop(regi, ); ); -*RP 2019-02-19: This is now changed starting from rev 8352. Power plant output is from now on gross production instead of net, and power plant autoconsumption is shifted to t&d losses -*RP This was done to facilitate comparison with other sources which usually report gross electricity generation as well as gross capacity factors -***------------------ allocate own power consumption to electricity technologies ----------------------------- -***p04_IO_output(regi,enty,enty2,te)$(sameas(enty2,"seel") AND (NOT sameas(te,"wind")) AND (NOT sameas(te,"spv")) ) = p04_IO_output(regi,enty,enty2,te) -*** - ( p04_IO_output(regi,enty,enty2,te) / sum(pe2se(enty3,enty2,te2)$((NOT sameas(te2,"wind")) AND (NOT sameas(te2,"spv"))), p04_IO_output(regi,enty3,enty2,te2)) ) -*** * f04_IO_output("2005",regi,"seel","feel","o_feel"); + display pm_IO_input, p04_IO_output; *** ---------------------------------------------------------------------------------------------------------- diff --git a/modules/04_PE_FE_parameters/iea2014/declarations.gms b/modules/04_PE_FE_parameters/iea2014/declarations.gms index f53888de4..9d075aa5a 100644 --- a/modules/04_PE_FE_parameters/iea2014/declarations.gms +++ b/modules/04_PE_FE_parameters/iea2014/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/04_PE_FE_parameters/iea2014/not_used.txt b/modules/04_PE_FE_parameters/iea2014/not_used.txt index 96f710c35..536c29ad0 100644 --- a/modules/04_PE_FE_parameters/iea2014/not_used.txt +++ b/modules/04_PE_FE_parameters/iea2014/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/04_PE_FE_parameters/iea2014/realization.gms b/modules/04_PE_FE_parameters/iea2014/realization.gms index 28020f098..65ae7aed2 100644 --- a/modules/04_PE_FE_parameters/iea2014/realization.gms +++ b/modules/04_PE_FE_parameters/iea2014/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/04_PE_FE_parameters/iea2014/sets.gms b/modules/04_PE_FE_parameters/iea2014/sets.gms index 1a8abf84b..9c815a026 100644 --- a/modules/04_PE_FE_parameters/iea2014/sets.gms +++ b/modules/04_PE_FE_parameters/iea2014/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/04_PE_FE_parameters/module.gms b/modules/04_PE_FE_parameters/module.gms index bb6522406..5913f9e72 100644 --- a/modules/04_PE_FE_parameters/module.gms +++ b/modules/04_PE_FE_parameters/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/05_initialCap/module.gms b/modules/05_initialCap/module.gms index cd8e4cff3..6077bf8ee 100644 --- a/modules/05_initialCap/module.gms +++ b/modules/05_initialCap/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/05_initialCap/on/declarations.gms b/modules/05_initialCap/on/declarations.gms index 2118bcd46..6bbd523d8 100644 --- a/modules/05_initialCap/on/declarations.gms +++ b/modules/05_initialCap/on/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -7,7 +7,7 @@ *** SOF ./modules/05_initialCap/on/declarations.gms Parameter - pm_cap0(all_regi,all_te) "standing capacity in 2005 as calculated by the initialization routine generisinical. Unit: TWa" + p05_cap0(all_regi,all_te) "standing capacity in 2005 as calculated by the initialization routine generisinical. Unit: TWa" p05_emi2005_from_initialcap2(all_regi,emiTe) "regional energy emissions 2005 resulting from the initialcap routine. Unit: GtC" p05_initial_capacity(all_regi,all_te) "capacitiy at t=2005, calculated from past deltacaps" p05_inital_input(all_regi,all_te) "input in 2005, calculated from past deltacaps and initial time-variable eta" diff --git a/modules/05_initialCap/on/preloop.gms b/modules/05_initialCap/on/preloop.gms index e58f5bb9e..ff782479a 100644 --- a/modules/05_initialCap/on/preloop.gms +++ b/modules/05_initialCap/on/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -48,7 +48,7 @@ q05_eedemini(regi,enty).. + sum(tePrc2opmoPrc(tePrc,opmoPrc)$(pm_specFeDem("2005",regi,enty,tePrc,opmoPrc) gt 0.), pm_specFeDem("2005",regi,enty,tePrc,opmoPrc) * - pm_outflowPrcIni(regi,tePrc,opmoPrc) + pm_outflowPrcHist("2005",regi,tePrc,opmoPrc) )$(entyFeStat(enty)) ) * s05_inic_switch !! Transformation pathways that consume this enty: @@ -119,16 +119,11 @@ solve initialcap2 using cns; display v05_INIdemEn0.l, v05_INIcap0.l; -pm_cap0(regi,te) = v05_INIcap0.l(regi,te); +p05_cap0(regi,te) = v05_INIcap0.l(regi,te); -$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" -pm_cap0(regi,'bof') = pm_outflowPrcIni(regi,'bof','unheated') / pm_cf("2005",regi,'bof'); -pm_cap0(regi,'bf') = pm_outflowPrcIni(regi,'bf','standard') / pm_cf("2005",regi,'bf'); -pm_cap0(regi,'eaf') = pm_outflowPrcIni(regi,'eaf','sec') / pm_cf("2005",regi,'eaf'); -pm_cap0(regi,'idr') = 0.; -pm_cap0(regi,"bfcc") =0.; -pm_cap0(regi,"idrcc") =0.; -$endif.cm_subsec_model_steel +loop(tePrc, + p05_cap0(regi,tePrc) = sum(tePrc2opmoPrc(tePrc,opmoPrc), pm_outflowPrcHist("2005",regi,tePrc,opmoPrc)) / pm_cf("2005",regi,tePrc); +); *RP keep energy demand for the Kyoto target calibration pm_EN_demand_from_initialcap2(regi,enty) = v05_INIdemEn0.l(regi,enty); @@ -171,7 +166,7 @@ vm_deltaCap.fx("2005",regi,te,rlf)$(te2rlf(te,rlf)) = 0; loop(regi, loop(teReNoBio(te), s05_aux_tot_prod - = pm_cap0(regi,te) + = p05_cap0(regi,te) * pm_cf("2005",regi,te) * pm_dataren(regi,"nur","1",te); @@ -211,8 +206,8 @@ loop(regi, loop(regi, loop(opTimeYr2te(te,opTimeYr)$(NOT teReNoBio(te)), loop(tsu2opTime5(ttot,opTimeYr), - loop(pe2se(entyPe,entySe,te), o_INI_DirProdSeTe(regi,entySe,te) = pm_cap0(regi,te) * pm_cf("2005",regi,te) * pm_dataren(regi,"nur","1",te) ); - sm_tmp = 1 / pm_ts(ttot) * pm_cap0(regi,te) * p05_vintage(regi,opTimeYr,te); + loop(pe2se(entyPe,entySe,te), o_INI_DirProdSeTe(regi,entySe,te) = p05_cap0(regi,te) * pm_cf("2005",regi,te) * pm_dataren(regi,"nur","1",te) ); + sm_tmp = 1 / pm_ts(ttot) * p05_cap0(regi,te) * p05_vintage(regi,opTimeYr,te); vm_deltaCap.lo(ttot,regi,te,"1") = sm_tmp; vm_deltaCap.up(ttot,regi,te,"1") = sm_tmp; @@ -257,7 +252,7 @@ display pm_aux_capLowerLimit; ***--------------------------------------------------------------------------- loop(regi, - o_INI_TotalCap(regi) = sum(pe2se(enty,"seel",te), pm_cap0(regi,te) ); + o_INI_TotalCap(regi) = sum(pe2se(enty,"seel",te), p05_cap0(regi,te) ); o_INI_TotalDirProdSe(regi,entySe) = sum(pe2se(enty,entySe,te), o_INI_DirProdSeTe(regi,entySe,te) ); o_INI_AvCapFac(regi) = o_INI_TotalDirProdSe(regi,"seel") / o_INI_TotalCap(regi); ); @@ -267,7 +262,7 @@ o_INI_DirProdSeTe o_INI_TotalCap o_INI_TotalDirProdSe o_INI_AvCapFac -pm_cap0 +p05_cap0 ; ***--------------------------------------------------------------------------- @@ -293,7 +288,7 @@ display pm_dataeta; p05_eta_correct_factor(regi,te) = 1; loop(regi, - loop(te$((teEtaIncr(te)) AND (pm_cap0(regi,te) > 1.E-8)), + loop(te$((teEtaIncr(te)) AND (p05_cap0(regi,te) > 1.E-8)), p05_initial_capacity(regi,te) = sum(ttot$sameas(ttot,"2005"), sum(teSe2rlf(te,rlf), @@ -501,34 +496,24 @@ loop(regi, p05_emi2005_from_initialcap2(regi,emiTe) = sum(pe2se(enty,enty2,te), pm_emifac("2005",regi,enty,enty2,te,emiTe) - * 1/(pm_data(regi,"eta",te)) * pm_cf("2005",regi,te) * pm_cap0(regi,te) + * 1/(pm_data(regi,"eta",te)) * pm_cf("2005",regi,te) * p05_cap0(regi,te) ) + sum(se2fe(enty,enty2,te), - pm_emifac("2005",regi,enty,enty2,te,emiTe) * pm_cf("2005",regi,te) * pm_cap0(regi,te) + pm_emifac("2005",regi,enty,enty2,te,emiTe) * pm_cf("2005",regi,te) * p05_cap0(regi,te) ); *** no CCS leakage in the first time step ); display pm_EN_demand_from_initialcap2, p05_emi2005_from_initialcap2; -*** To be moved to new emiAccounting module -* Discounting se2fe emissions from pe2se emission factors -loop(entySe$(sameas(entySe,"segafos") OR sameas(entySe,"seliqfos") OR sameas(entySe,"sesofos")), - pm_emifac(ttot,regi,entyPe,entySe,te,"co2")$pm_emifac(ttot,regi,entyPe,entySe,te,"co2") = - pm_emifac(ttot,regi,entyPe,entySe,te,"co2") - - pm_eta_conv(ttot,regi,te) - *( sum(se2fe(entySe,entyFe2,te2)$pm_emifac(ttot,regi,entySe,entyFe2,te2,"co2"), pm_emifac(ttot,regi,entySe,entyFe2,te2,"co2")*pm_eta_conv(ttot,regi,te2))/sum(se2fe(entySe,entyFe2,te2)$pm_emifac(ttot,regi,entySe,entyFe2,te2,"co2"),1) ); ); -display pm_emifac; -); *** if cm_startyear > 2005, load outputs of InitialCap from input_ref.gdx if (cm_startyear gt 2005, Execute_Loadpoint 'input_ref' pm_eta_conv = pm_eta_conv; Execute_Loadpoint 'input_ref' o_INI_DirProdSeTe = o_INI_DirProdSeTe; - Execute_Loadpoint 'input_ref' pm_emifac = pm_emifac; Execute_Loadpoint 'input_ref' pm_EN_demand_from_initialcap2 = pm_EN_demand_from_initialcap2; Execute_Loadpoint 'input_ref' pm_pedem_res = pm_pedem_res; Execute_Loadpoint 'input_ref' pm_dataeta = pm_dataeta; @@ -543,7 +528,7 @@ if (cm_startyear gt 2005, *** Only the eta values of chp technologies have been adapted by initialCap script above. *** This is to avoid overwriting all of pm_data and make sure that scenario switches which adapt pm_data before this module work as intended. Execute_Loadpoint 'input_ref' p05_pmdata_ref = pm_data; - pm_data(regi,char,te)$( (sameas(te,"coalchp") + pm_data(regi,char,te)$( (sameas(te,"coalchp") OR sameas(te,"gaschp") OR sameas(te,"biochp") ) AND sameas(char,"eta") ) = p05_pmdata_ref(regi,char,te); @@ -562,4 +547,15 @@ $ifThen %cm_techcosts% == "GLO" $endIf ); +*** To be moved to new emiAccounting module +* Discounting se2fe emissions from pe2se emission factors +loop(entySe$(sameas(entySe,"segafos") OR sameas(entySe,"seliqfos") OR sameas(entySe,"sesofos")), + pm_emifac(ttot,regi,entyPe,entySe,te,"co2")$pm_emifac(ttot,regi,entyPe,entySe,te,"co2") = + pm_emifac(ttot,regi,entyPe,entySe,te,"co2") + - pm_eta_conv(ttot,regi,te) + *( sum(se2fe(entySe,entyFe2,te2)$pm_emifac(ttot,regi,entySe,entyFe2,te2,"co2"), pm_emifac(ttot,regi,entySe,entyFe2,te2,"co2")*pm_eta_conv(ttot,regi,te2))/sum(se2fe(entySe,entyFe2,te2)$pm_emifac(ttot,regi,entySe,entyFe2,te2,"co2"),1) ); +); + +display pm_emifac; + *** EOF ./modules/05_initialCap/on/preloop.gms diff --git a/modules/05_initialCap/on/realization.gms b/modules/05_initialCap/on/realization.gms index 6f3778177..854b7e038 100644 --- a/modules/05_initialCap/on/realization.gms +++ b/modules/05_initialCap/on/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/11_aerosols/exoGAINS/datainput.gms b/modules/11_aerosols/exoGAINS/datainput.gms index e356d7c85..87b4d93fc 100644 --- a/modules/11_aerosols/exoGAINS/datainput.gms +++ b/modules/11_aerosols/exoGAINS/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -32,13 +32,13 @@ p11_emiAPexoAgricult(t,regi,enty,all_exogEmi) = f11_emiAPexoAgricult(t,regi,enty if ( (cm_startyear gt 2005), -Execute_Loadpoint 'input_ref' pm_emiAPexo = pm_emiAPexo; +Execute_Loadpoint 'input_ref' p11_emiAPexo = p11_emiAPexo; ); -pm_emiAPexo(t,regi,enty,"Agriculture") = p11_emiAPexoAgricult(t,regi,enty,"Agriculture"); -pm_emiAPexo(t,regi,enty,"AgWasteBurning") = p11_emiAPexoAgricult(t,regi,enty,"AgWasteBurning"); -pm_emiAPexo(t,regi,enty,"ForestBurning") = p11_emiAPexoAgricult(t,regi,enty,"ForestBurning"); -pm_emiAPexo(t,regi,enty,"GrasslandBurning") = p11_emiAPexoAgricult(t,regi,enty,"GrasslandBurning"); +p11_emiAPexo(t,regi,enty,"Agriculture") = p11_emiAPexoAgricult(t,regi,enty,"Agriculture"); +p11_emiAPexo(t,regi,enty,"AgWasteBurning") = p11_emiAPexoAgricult(t,regi,enty,"AgWasteBurning"); +p11_emiAPexo(t,regi,enty,"ForestBurning") = p11_emiAPexoAgricult(t,regi,enty,"ForestBurning"); +p11_emiAPexo(t,regi,enty,"GrasslandBurning") = p11_emiAPexoAgricult(t,regi,enty,"GrasslandBurning"); parameter f11_emiAPexoGlob(tall,all_rcp_scen,all_enty,all_exogEmi) "exogenous emissions for aviation and international shipping from RCP scenarios" @@ -47,7 +47,7 @@ $ondelim $include "./modules/11_aerosols/exoGAINS/input/f11_emiAPexoGlob.cs4r"; $offdelim /; -pm_emiAPexoGlob(ttot,enty,all_exogEmi) = f11_emiAPexoGlob(ttot,"rcp60",enty,all_exogEmi); +p11_emiAPexoGlob(ttot,enty,all_exogEmi) = f11_emiAPexoGlob(ttot,"rcp60",enty,all_exogEmi); parameter f11_emiAPexo(tall,all_regi,all_rcp_scen,all_enty,all_exogEmi) "exogenous emissions from RCP scenarios" / @@ -55,10 +55,10 @@ $ondelim $include "./modules/11_aerosols/exoGAINS/input/f11_emiAPexo.cs4r" $offdelim /; -pm_emiAPexo(ttot,regi,enty,"Waste") = f11_emiAPexo(ttot,regi,"rcp60",enty,"Waste"); -display pm_emiAPexoGlob,pm_emiAPexo; +p11_emiAPexo(ttot,regi,enty,"Waste") = f11_emiAPexo(ttot,regi,"rcp60",enty,"Waste"); +display p11_emiAPexoGlob,p11_emiAPexo; -parameter pm_emiAPexsolve(tall,all_regi,all_sectorEmi,emiRCP) "???"; +parameter p11_emiAPexsolve(tall,all_regi,all_sectorEmi,emiRCP) "???"; parameter f11_emiAPexsolve(tall,all_regi,all_sectorEmi,emiRCP,all_APscen) "ECLIPSE emission factors of air pollutants" / $ondelim @@ -66,33 +66,33 @@ $include "./modules/11_aerosols/exoGAINS/input/f11_emiAPexsolve.cs4r" $offdelim / ; -pm_emiAPexsolve(tall,all_regi,all_sectorEmi,emiRCP) = f11_emiAPexsolve(tall,all_regi,all_sectorEmi,emiRCP,"%cm_APscen%"); +p11_emiAPexsolve(tall,all_regi,all_sectorEmi,emiRCP) = f11_emiAPexsolve(tall,all_regi,all_sectorEmi,emiRCP,"%cm_APscen%"); *JS* exogenous air pollutant emissions from land use, land use change, and industry processes -pm_emiExog(t,regi,"SO2") = pm_emiAPexo(t,regi,"SO2","AgWasteBurning") - + pm_emiAPexo(t,regi,"SO2","Agriculture") - + pm_emiAPexo(t,regi,"SO2","ForestBurning") - + pm_emiAPexo(t,regi,"SO2","GrasslandBurning") - + pm_emiAPexo(t,regi,"SO2","Waste") - + pm_emiAPexsolve(t,regi,"solvents","SOx") - + pm_emiAPexsolve(t,regi,"extraction","SOx") - + pm_emiAPexsolve(t,regi,"indprocess","SOx"); -pm_emiExog(t,regi,"BC") = pm_emiAPexo(t,regi,"BC","AgWasteBurning") - + pm_emiAPexo(t,regi,"BC","Agriculture") - + pm_emiAPexo(t,regi,"BC","ForestBurning") - + pm_emiAPexo(t,regi,"BC","GrasslandBurning") - + pm_emiAPexo(t,regi,"BC","Waste") - + pm_emiAPexsolve(t,regi,"solvents","BC") - + pm_emiAPexsolve(t,regi,"extraction","BC") - + pm_emiAPexsolve(t,regi,"indprocess","BC"); -pm_emiExog(t,regi,"OC") = pm_emiAPexo(t,regi,"OC","AgWasteBurning") - + pm_emiAPexo(t,regi,"OC","Agriculture") - + pm_emiAPexo(t,regi,"OC","ForestBurning") - + pm_emiAPexo(t,regi,"OC","GrasslandBurning") - + pm_emiAPexo(t,regi,"OC","Waste") - + pm_emiAPexsolve(t,regi,"solvents","OC") - + pm_emiAPexsolve(t,regi,"extraction","OC") - + pm_emiAPexsolve(t,regi,"indprocess","OC"); +pm_emiExog(t,regi,"SO2") = p11_emiAPexo(t,regi,"SO2","AgWasteBurning") + + p11_emiAPexo(t,regi,"SO2","Agriculture") + + p11_emiAPexo(t,regi,"SO2","ForestBurning") + + p11_emiAPexo(t,regi,"SO2","GrasslandBurning") + + p11_emiAPexo(t,regi,"SO2","Waste") + + p11_emiAPexsolve(t,regi,"solvents","SOx") + + p11_emiAPexsolve(t,regi,"extraction","SOx") + + p11_emiAPexsolve(t,regi,"indprocess","SOx"); +pm_emiExog(t,regi,"BC") = p11_emiAPexo(t,regi,"BC","AgWasteBurning") + + p11_emiAPexo(t,regi,"BC","Agriculture") + + p11_emiAPexo(t,regi,"BC","ForestBurning") + + p11_emiAPexo(t,regi,"BC","GrasslandBurning") + + p11_emiAPexo(t,regi,"BC","Waste") + + p11_emiAPexsolve(t,regi,"solvents","BC") + + p11_emiAPexsolve(t,regi,"extraction","BC") + + p11_emiAPexsolve(t,regi,"indprocess","BC"); +pm_emiExog(t,regi,"OC") = p11_emiAPexo(t,regi,"OC","AgWasteBurning") + + p11_emiAPexo(t,regi,"OC","Agriculture") + + p11_emiAPexo(t,regi,"OC","ForestBurning") + + p11_emiAPexo(t,regi,"OC","GrasslandBurning") + + p11_emiAPexo(t,regi,"OC","Waste") + + p11_emiAPexsolve(t,regi,"solvents","OC") + + p11_emiAPexsolve(t,regi,"extraction","OC") + + p11_emiAPexsolve(t,regi,"indprocess","OC"); display p11_emiFacAP; display pm_emiExog; diff --git a/modules/11_aerosols/exoGAINS/declarations.gms b/modules/11_aerosols/exoGAINS/declarations.gms index 107e5f255..165e88a51 100644 --- a/modules/11_aerosols/exoGAINS/declarations.gms +++ b/modules/11_aerosols/exoGAINS/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -18,8 +18,8 @@ p11_emiAPexsolveGDX(tall,all_regi,all_sectorEmi,emiRCP) p11_emiAPexoAgricult(ttot,all_regi,all_enty,all_exogEmi) "Air pollution generated by exoGAINSAirpollutants.R" -pm_emiAPexo(ttot,all_regi,all_enty,all_exogEmi) "exogenous emissions from RCP scenarios" -pm_emiAPexoGlob(ttot,all_enty,all_exogEmi) "exogenous emissions for aviation and international shipping from RCP scenarios" +p11_emiAPexo(ttot,all_regi,all_enty,all_exogEmi) "exogenous emissions from RCP scenarios" +p11_emiAPexoGlob(ttot,all_enty,all_exogEmi) "exogenous emissions for aviation and international shipping from RCP scenarios" ; equations diff --git a/modules/11_aerosols/exoGAINS/equations.gms b/modules/11_aerosols/exoGAINS/equations.gms index ab7b761a6..ceac59398 100644 --- a/modules/11_aerosols/exoGAINS/equations.gms +++ b/modules/11_aerosols/exoGAINS/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/11_aerosols/exoGAINS/input/mappingGAINSmixedtoREMIND17activities.csv b/modules/11_aerosols/exoGAINS/input/mappingGAINSmixedtoREMIND17activities.csv index 10414de26..b10a4b9dc 100644 --- a/modules/11_aerosols/exoGAINS/input/mappingGAINSmixedtoREMIND17activities.csv +++ b/modules/11_aerosols/exoGAINS/input/mappingGAINSmixedtoREMIND17activities.csv @@ -1,11 +1,11 @@ GAINS,REMIND,noef,elasticity -CEMENT,GDP|MER (billion US$2005/yr),0,0.4 -CHEM,GDP|MER (billion US$2005/yr),1,0.4 -CHEMBULK,GDP|MER (billion US$2005/yr),1,0.4 -CUSM,GDP|MER (billion US$2005/yr),1,0.4 -NACID,GDP|MER (billion US$2005/yr),0,0.4 -PAPER,GDP|MER (billion US$2005/yr),0,0.4 -STEEL,GDP|MER (billion US$2005/yr),0,0.4 +CEMENT,GDP|MER (billion US$2017/yr),0,0.4 +CHEM,GDP|MER (billion US$2017/yr),1,0.4 +CHEMBULK,GDP|MER (billion US$2017/yr),1,0.4 +CUSM,GDP|MER (billion US$2017/yr),1,0.4 +NACID,GDP|MER (billion US$2017/yr),0,0.4 +PAPER,GDP|MER (billion US$2017/yr),0,0.4 +STEEL,GDP|MER (billion US$2017/yr),0,0.4 End_Use_Industry_Bio_Trad,FE|Industry|Solids|Biomass|Traditional (EJ/yr),0,1 End_Use_Industry_Coal,FE|Industry|Solids|Coal (EJ/yr),0,1 End_Use_Industry_HLF,FE|Industry|Liquids (EJ/yr),0,1 @@ -35,7 +35,7 @@ Transformations_HLF,PE|Oil (EJ/yr),1,1 Transformations_HLF_Refinery,PE|Oil (EJ/yr),0,1 Transformations_LLF,PE|Oil (EJ/yr),0,1 Transformations_NatGas,PE|Gas (EJ/yr),1,1 -Waste_Solid_Industrial,GDP|MER (billion US$2005/yr),1,0.4 -Waste_Solid_Municipal,GDP|MER (billion US$2005/yr),1,0.4 -Waste_Water_Industrial,GDP|MER (billion US$2005/yr),1,0.4 -Waste_Water_Municipal,GDP|MER (billion US$2005/yr),1,0.4 +Waste_Solid_Industrial,GDP|MER (billion US$2017/yr),1,0.4 +Waste_Solid_Municipal,GDP|MER (billion US$2017/yr),1,0.4 +Waste_Water_Industrial,GDP|MER (billion US$2017/yr),1,0.4 +Waste_Water_Municipal,GDP|MER (billion US$2017/yr),1,0.4 diff --git a/modules/11_aerosols/exoGAINS/not_used.txt b/modules/11_aerosols/exoGAINS/not_used.txt index 96f710c35..536c29ad0 100644 --- a/modules/11_aerosols/exoGAINS/not_used.txt +++ b/modules/11_aerosols/exoGAINS/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/11_aerosols/exoGAINS/postsolve.gms b/modules/11_aerosols/exoGAINS/postsolve.gms index aff86ec41..765ab32c4 100644 --- a/modules/11_aerosols/exoGAINS/postsolve.gms +++ b/modules/11_aerosols/exoGAINS/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -21,17 +21,17 @@ if((o_modelstat le 2), *** Calculate AP emissions Execute "Rscript exoGAINSAirpollutants.R"; -*** Read input ref results for tall with following dimensions: pm_emiAPexsolve(tall,all_regi,all_sectorEmi,emiRCP) +*** Read input ref results for tall with following dimensions: p11_emiAPexsolve(tall,all_regi,all_sectorEmi,emiRCP) if((cm_startyear gt 2005), -Execute_Loadpoint 'input_ref' p11_emiAPexsolveGDX = pm_emiAPexsolve; -pm_emiAPexsolve(tall,regi,all_sectorEmi,emiRCP) = p11_emiAPexsolveGDX(tall,regi,all_sectorEmi,emiRCP); +Execute_Loadpoint 'input_ref' p11_emiAPexsolveGDX = p11_emiAPexsolve; +p11_emiAPexsolve(tall,regi,all_sectorEmi,emiRCP) = p11_emiAPexsolveGDX(tall,regi,all_sectorEmi,emiRCP); ); -*** Read result with following dimensions: pm_emiAPexsolve(t,all_regi,all_sectorEmi,emiRCP) -Execute_Loadpoint 'pm_emiAPexsolve' p11_emiAPexsolveGDX = pm_emiAPexsolve; -pm_emiAPexsolve(t,regi,all_sectorEmi,emiRCP) = p11_emiAPexsolveGDX(t,regi,all_sectorEmi,emiRCP); +*** Read result with following dimensions: p11_emiAPexsolve(t,all_regi,all_sectorEmi,emiRCP) +Execute_Loadpoint 'p11_emiAPexsolve' p11_emiAPexsolveGDX = p11_emiAPexsolve; +p11_emiAPexsolve(t,regi,all_sectorEmi,emiRCP) = p11_emiAPexsolveGDX(t,regi,all_sectorEmi,emiRCP); -display pm_emiAPexsolve; +display p11_emiAPexsolve; ); *** EOF ./modules/11_aerosols/exoGAINS/postsolve.gms diff --git a/modules/11_aerosols/exoGAINS/presolve.gms b/modules/11_aerosols/exoGAINS/presolve.gms index 6bbc20c68..aadbcf3d0 100644 --- a/modules/11_aerosols/exoGAINS/presolve.gms +++ b/modules/11_aerosols/exoGAINS/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/11_aerosols/exoGAINS/realization.gms b/modules/11_aerosols/exoGAINS/realization.gms index b1a0996bd..606db25c1 100644 --- a/modules/11_aerosols/exoGAINS/realization.gms +++ b/modules/11_aerosols/exoGAINS/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/11_aerosols/exoGAINS/sets.gms b/modules/11_aerosols/exoGAINS/sets.gms index bb3a6a478..b56c4ad0d 100644 --- a/modules/11_aerosols/exoGAINS/sets.gms +++ b/modules/11_aerosols/exoGAINS/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/11_aerosols/module.gms b/modules/11_aerosols/module.gms index 772dc6c23..8a830fc28 100644 --- a/modules/11_aerosols/module.gms +++ b/modules/11_aerosols/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/15_climate/magicc/datainput.gms b/modules/15_climate/magicc/datainput.gms deleted file mode 100644 index 664f2a64f..000000000 --- a/modules/15_climate/magicc/datainput.gms +++ /dev/null @@ -1,83 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/15_climate/magicc/datainput.gms -*** cluster rcp_scen into overshoot and not-to-exceed targets -$if %cm_rcp_scen% == "none" s15_rcpCluster = 1; -$if %cm_rcp_scen% == "rcp20" s15_rcpCluster = 1; -$if %cm_rcp_scen% == "rcp26" s15_rcpCluster = 1; -$if %cm_rcp_scen% == "rcp37" s15_rcpCluster = 1; -$if %cm_rcp_scen% == "rcp45" s15_rcpCluster = 0; -$if %cm_rcp_scen% == "rcp60" s15_rcpCluster = 0; -$if %cm_rcp_scen% == "rcp85" s15_rcpCluster = 0; - - -s15_forcing_budgetiterationoffset = 1.5; -$if %cm_rcp_scen% == "rcp20" s15_forcing_budgetiterationoffset = 1.2; -s15_forcing_budgetiterationoffset_tax = 0.0; - -*JeS* Forcing target is now on RCP forcing instead of total forcing. The -*** difference is about 0.4 W/m^2, therefore the target on the RCP forcing -*** has to be 0.4 higher than the intended total forcing. -$if %cm_rcp_scen% == "none" s15_gr_forc_nte = 100; -$if %cm_rcp_scen% == "rcp26" s15_gr_forc_nte = 10; -$if %cm_rcp_scen% == "rcp37" s15_gr_forc_nte = 3.67; -$if %cm_rcp_scen% == "rcp45" s15_gr_forc_nte = 4.22; -$if %cm_rcp_scen% == "rcp60" s15_gr_forc_nte = 5.44; -$if %cm_rcp_scen% == "rcp85" s15_gr_forc_nte = 8.5; -$if %cm_rcp_scen% == "rcp20" s15_gr_forc_nte = 10; - -$if %cm_rcp_scen% == "none" s15_gr_forc_os = 100; -$if %cm_rcp_scen% == "rcp26" s15_gr_forc_os = 2.54; -$if %cm_rcp_scen% == "rcp37" s15_gr_forc_os = 3.67; -$if %cm_rcp_scen% == "rcp45" s15_gr_forc_os = 4.23; -$if %cm_rcp_scen% == "rcp60" s15_gr_forc_os = 5.44; -$if %cm_rcp_scen% == "rcp85" s15_gr_forc_os = 8.5; -$if %cm_rcp_scen% == "rcp20" s15_gr_forc_os = 1.93; - -s15_gr_forc_kyo_nte = 0; -s15_gr_forc_kyo = 0; - -p15_forc_magicc(tall) = 0; - -$if %cm_rcp_scen% == "rcp26" $include "./modules/15_climate/magicc/input/data_oghgf_rcp3pd.inc"; -$if %cm_rcp_scen% == "rcp37" $include "./modules/15_climate/magicc/input/data_oghgf_rcp45.inc"; -$if %cm_rcp_scen% == "rcp45" $include "./modules/15_climate/magicc/input/data_oghgf_rcp45.inc"; -$if %cm_rcp_scen% == "rcp60" $include "./modules/15_climate/magicc/input/data_oghgf_rcp6.inc"; -$if %cm_rcp_scen% == "rcp85" $include "./modules/15_climate/magicc/input/data_oghgf_rcp85.inc"; -$if %cm_rcp_scen% == "rcp20" $include "./modules/15_climate/magicc/input/data_oghgf_rcp3pd.inc"; -$if %cm_rcp_scen% == "none" $include "./modules/15_climate/magicc/input/data_oghgf_rcp6.inc"; - -pm_emicapglob(ttot) = 0; - -*** parameter pm_emicapglob is read in depending on cm_rcp_scen and cm_multigasscen -if( (cm_multigasscen = 1) or (cm_multigasscen = 3), -$offlisting -$if %cm_rcp_scen% == "rcp20" $include "./modules/15_climate/off/input/pm_emicapglob_450.inc"; -$if %cm_rcp_scen% == "rcp26" $include "./modules/15_climate/off/input/pm_emicapglob_450.inc"; -$if %cm_rcp_scen% == "rcp37" $include "./modules/15_climate/off/input/pm_emicapglob_550.inc"; -$if %cm_rcp_scen% == "rcp45" $include "./modules/15_climate/off/input/pm_emicapglob_550.inc"; -$if %cm_rcp_scen% == "rcp60" $include "./modules/15_climate/off/input/pm_emicapglob.inc"; -$if %cm_rcp_scen% == "rcp85" $include "./modules/15_climate/off/input/pm_emicapglob.inc"; -$if %cm_rcp_scen% == "none" $include "./modules/15_climate/off/input/pm_emicapglob.inc"; -$onlisting -); -if(cm_multigasscen = 2, -$offlisting -$if %cm_rcp_scen% == "rcp20" $include "./modules/15_climate/off/input/pm_emicapglob_multigas_450.inc"; -$if %cm_rcp_scen% == "rcp26" $include "./modules/15_climate/off/input/pm_emicapglob_multigas_450.inc"; -$if %cm_rcp_scen% == "rcp37" $include "./modules/15_climate/off/input/pm_emicapglob_multigas_550.inc"; -$if %cm_rcp_scen% == "rcp45" $include "./modules/15_climate/off/input/pm_emicapglob_multigas_550.inc"; -$if %cm_rcp_scen% == "rcp60" $include "./modules/15_climate/off/input/pm_emicapglob_multigas.inc"; -$if %cm_rcp_scen% == "rcp85" $include "./modules/15_climate/off/input/pm_emicapglob_multigas.inc"; -$if %cm_rcp_scen% == "none" $include "./modules/15_climate/off/input/pm_emicapglob_multigas.inc"; -$onlisting -); -display pm_emicapglob; - -p15_gmt0(tall)=1; - -*** EOF ./modules/15_climate/magicc/datainput.gms diff --git a/modules/15_climate/magicc/declarations.gms b/modules/15_climate/magicc/declarations.gms deleted file mode 100644 index 7144d73cc..000000000 --- a/modules/15_climate/magicc/declarations.gms +++ /dev/null @@ -1,47 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/15_climate/magicc/declarations.gms - -Scalar - s15_forcing_budgetiterationoffset "offset for the calculation of iteratively adjusted budget" -*** to reach specified forcing level in 2100 in W/m^2 -- best guess is 2010 -*** value of respective forcing category minus 0.7 - s15_forcing_budgetiterationoffset_tax "offset for the calculation of iteratively adjusted budget" -*** to reach specified forcing level in 2100 in W/m^2 -- best guess taken from analysis of ERL paper results -s15_tempOffset2010 "mean temperature in 2010 from MAGICC" -; - -parameters -p15_oghgf_pfc "exogenous forcings from RCP all in W/m^2: PFCs", -p15_oghgf_hfc "exogenous forcings from RCP: HFCs", -p15_oghgf_sf6 "exogenous forcings from RCP: SF6", -p15_oghgf_montreal "exogenous forcings from RCP: montreal gases", -p15_oghgf_o3str "exogenous forcings from RCP: stratospheric ozone", -p15_oghgf_luc "exogenous forcings from RCP: albedo change due to land-use change", -p15_oghgf_crbbb "exogenous forcings from RCP: carbonaceous aerosols from biomass burning", -p15_oghgf_ffbc "exogenous forcings from RCP: black carbon from fossil fuels", -p15_oghgf_ffoc "exogenous forcings from RCP: organic carbon from fossil fuels", -p15_oghgf_o3trp "exogenous forcings from RCP: tropospheric ozone", -p15_oghgf_h2ostr "exogenous forcings from RCP: stratospheric water vapor", -p15_oghgf_minaer "exogenous forcings from RCP: mineral dust", -p15_oghgf_nitaer "exogenous forcings from RCP: nitrates", -p15_emicapregi(tall,all_regi) "regional emission caps, used for calculation of global emission cap", -p15_forc_magicc(tall) "actual radiative forcing as calculated by magicc [W/m^2]" -pm_gmt_conv "global mean temperature convergence" -p15_gmt0(tall) "global mean temperature convergence saved for the next iteration" -; - -scalars -s15_gr_forc_kyo "guardrail for 450 ppm Kyoto forcing, adapted between negishi iterations - dummy parameter, only needed to prevent gdx errors", -s15_gr_forc_kyo_nte "guardrail for 550 ppm Kyoto forcing, adapted between negishi iterations - dummy parameter, only needed to prevent gdx errors", - -s15_gr_forc_nte "not to exceed radiative forcing target from 2100 on [W/m^2]", -s15_gr_forc_os "overshoot (os) radiative forcing target (guardrail = gr) from 2100 on [W/m^2]" -s15_rcpCluster " clustering of rcp_scen for the iterative traget adjustment" -; - -*** EOF ./modules/15_climate/magicc/declarations.gms diff --git a/modules/15_climate/magicc/input/data_oghgf_rcp3pd.inc b/modules/15_climate/magicc/input/data_oghgf_rcp3pd.inc deleted file mode 100644 index 981d82abf..000000000 --- a/modules/15_climate/magicc/input/data_oghgf_rcp3pd.inc +++ /dev/null @@ -1,2116 +0,0 @@ -*** SOF ./modules/15_climate/magicc/input/data_oghgf_rcp3pd.inc -p15_oghgf_pfc('2000')= 0.0048; -p15_oghgf_pfc('2001')= 0.0049; -p15_oghgf_pfc('2002')= 0.0050; -p15_oghgf_pfc('2003')= 0.0051; -p15_oghgf_pfc('2004')= 0.0052; -p15_oghgf_pfc('2005')= 0.0053; -p15_oghgf_pfc('2006')= 0.0055; -p15_oghgf_pfc('2007')= 0.0056; -p15_oghgf_pfc('2008')= 0.0057; -p15_oghgf_pfc('2009')= 0.0058; -p15_oghgf_pfc('2010')= 0.0060; -p15_oghgf_pfc('2011')= 0.0061; -p15_oghgf_pfc('2012')= 0.0063; -p15_oghgf_pfc('2013')= 0.0064; -p15_oghgf_pfc('2014')= 0.0066; -p15_oghgf_pfc('2015')= 0.0067; -p15_oghgf_pfc('2016')= 0.0069; -p15_oghgf_pfc('2017')= 0.0070; -p15_oghgf_pfc('2018')= 0.0072; -p15_oghgf_pfc('2019')= 0.0073; -p15_oghgf_pfc('2020')= 0.0075; -p15_oghgf_pfc('2021')= 0.0076; -p15_oghgf_pfc('2022')= 0.0077; -p15_oghgf_pfc('2023')= 0.0079; -p15_oghgf_pfc('2024')= 0.0080; -p15_oghgf_pfc('2025')= 0.0081; -p15_oghgf_pfc('2026')= 0.0082; -p15_oghgf_pfc('2027')= 0.0083; -p15_oghgf_pfc('2028')= 0.0084; -p15_oghgf_pfc('2029')= 0.0085; -p15_oghgf_pfc('2030')= 0.0086; -p15_oghgf_pfc('2031')= 0.0086; -p15_oghgf_pfc('2032')= 0.0087; -p15_oghgf_pfc('2033')= 0.0088; -p15_oghgf_pfc('2034')= 0.0088; -p15_oghgf_pfc('2035')= 0.0089; -p15_oghgf_pfc('2036')= 0.0089; -p15_oghgf_pfc('2037')= 0.0090; -p15_oghgf_pfc('2038')= 0.0091; -p15_oghgf_pfc('2039')= 0.0091; -p15_oghgf_pfc('2040')= 0.0092; -p15_oghgf_pfc('2041')= 0.0092; -p15_oghgf_pfc('2042')= 0.0092; -p15_oghgf_pfc('2043')= 0.0093; -p15_oghgf_pfc('2044')= 0.0093; -p15_oghgf_pfc('2045')= 0.0094; -p15_oghgf_pfc('2046')= 0.0094; -p15_oghgf_pfc('2047')= 0.0094; -p15_oghgf_pfc('2048')= 0.0095; -p15_oghgf_pfc('2049')= 0.0095; -p15_oghgf_pfc('2050')= 0.0095; -p15_oghgf_pfc('2051')= 0.0095; -p15_oghgf_pfc('2052')= 0.0096; -p15_oghgf_pfc('2053')= 0.0096; -p15_oghgf_pfc('2054')= 0.0096; -p15_oghgf_pfc('2055')= 0.0096; -p15_oghgf_pfc('2056')= 0.0097; -p15_oghgf_pfc('2057')= 0.0097; -p15_oghgf_pfc('2058')= 0.0097; -p15_oghgf_pfc('2059')= 0.0097; -p15_oghgf_pfc('2060')= 0.0097; -p15_oghgf_pfc('2061')= 0.0098; -p15_oghgf_pfc('2062')= 0.0098; -p15_oghgf_pfc('2063')= 0.0098; -p15_oghgf_pfc('2064')= 0.0098; -p15_oghgf_pfc('2065')= 0.0098; -p15_oghgf_pfc('2066')= 0.0098; -p15_oghgf_pfc('2067')= 0.0099; -p15_oghgf_pfc('2068')= 0.0099; -p15_oghgf_pfc('2069')= 0.0099; -p15_oghgf_pfc('2070')= 0.0099; -p15_oghgf_pfc('2071')= 0.0099; -p15_oghgf_pfc('2072')= 0.0100; -p15_oghgf_pfc('2073')= 0.0100; -p15_oghgf_pfc('2074')= 0.0100; -p15_oghgf_pfc('2075')= 0.0100; -p15_oghgf_pfc('2076')= 0.0100; -p15_oghgf_pfc('2077')= 0.0100; -p15_oghgf_pfc('2078')= 0.0100; -p15_oghgf_pfc('2079')= 0.0101; -p15_oghgf_pfc('2080')= 0.0101; -p15_oghgf_pfc('2081')= 0.0101; -p15_oghgf_pfc('2082')= 0.0101; -p15_oghgf_pfc('2083')= 0.0101; -p15_oghgf_pfc('2084')= 0.0101; -p15_oghgf_pfc('2085')= 0.0101; -p15_oghgf_pfc('2086')= 0.0101; -p15_oghgf_pfc('2087')= 0.0101; -p15_oghgf_pfc('2088')= 0.0102; -p15_oghgf_pfc('2089')= 0.0102; -p15_oghgf_pfc('2090')= 0.0102; -p15_oghgf_pfc('2091')= 0.0102; -p15_oghgf_pfc('2092')= 0.0102; -p15_oghgf_pfc('2093')= 0.0102; -p15_oghgf_pfc('2094')= 0.0102; -p15_oghgf_pfc('2095')= 0.0102; -p15_oghgf_pfc('2096')= 0.0102; -p15_oghgf_pfc('2097')= 0.0102; -p15_oghgf_pfc('2098')= 0.0102; -p15_oghgf_pfc('2099')= 0.0103; -p15_oghgf_pfc('2100')= 0.0103; -p15_oghgf_pfc('2101')= 0.0103; -p15_oghgf_pfc('2102')= 0.0103; -p15_oghgf_pfc('2103')= 0.0103; -p15_oghgf_pfc('2104')= 0.0103; -p15_oghgf_pfc('2105')= 0.0103; -p15_oghgf_pfc('2106')= 0.0103; -p15_oghgf_pfc('2107')= 0.0103; -p15_oghgf_pfc('2108')= 0.0103; -p15_oghgf_pfc('2109')= 0.0103; -p15_oghgf_pfc('2110')= 0.0103; -p15_oghgf_pfc('2111')= 0.0104; -p15_oghgf_pfc('2112')= 0.0104; -p15_oghgf_pfc('2113')= 0.0104; -p15_oghgf_pfc('2114')= 0.0104; -p15_oghgf_pfc('2115')= 0.0104; -p15_oghgf_pfc('2116')= 0.0104; -p15_oghgf_pfc('2117')= 0.0104; -p15_oghgf_pfc('2118')= 0.0104; -p15_oghgf_pfc('2119')= 0.0104; -p15_oghgf_pfc('2120')= 0.0104; -p15_oghgf_pfc('2121')= 0.0104; -p15_oghgf_pfc('2122')= 0.0104; -p15_oghgf_pfc('2123')= 0.0105; -p15_oghgf_pfc('2124')= 0.0105; -p15_oghgf_pfc('2125')= 0.0105; -p15_oghgf_pfc('2126')= 0.0105; -p15_oghgf_pfc('2127')= 0.0105; -p15_oghgf_pfc('2128')= 0.0105; -p15_oghgf_pfc('2129')= 0.0105; -p15_oghgf_pfc('2130')= 0.0105; -p15_oghgf_pfc('2131')= 0.0105; -p15_oghgf_pfc('2132')= 0.0105; -p15_oghgf_pfc('2133')= 0.0105; -p15_oghgf_pfc('2134')= 0.0105; -p15_oghgf_pfc('2135')= 0.0106; -p15_oghgf_pfc('2136')= 0.0106; -p15_oghgf_pfc('2137')= 0.0106; -p15_oghgf_pfc('2138')= 0.0106; -p15_oghgf_pfc('2139')= 0.0106; -p15_oghgf_pfc('2140')= 0.0106; -p15_oghgf_pfc('2141')= 0.0106; -p15_oghgf_pfc('2142')= 0.0106; -p15_oghgf_pfc('2143')= 0.0106; -p15_oghgf_pfc('2144')= 0.0106; -p15_oghgf_pfc('2145')= 0.0106; -p15_oghgf_pfc('2146')= 0.0106; -p15_oghgf_pfc('2147')= 0.0107; -p15_oghgf_pfc('2148')= 0.0107; -p15_oghgf_pfc('2149')= 0.0107; -p15_oghgf_pfc('2150')= 0.0107; -p15_oghgf_hfc('2000')= 0.0058; -p15_oghgf_hfc('2001')= 0.0068; -p15_oghgf_hfc('2002')= 0.0080; -p15_oghgf_hfc('2003')= 0.0092; -p15_oghgf_hfc('2004')= 0.0106; -p15_oghgf_hfc('2005')= 0.0120; -p15_oghgf_hfc('2006')= 0.0134; -p15_oghgf_hfc('2007')= 0.0148; -p15_oghgf_hfc('2008')= 0.0163; -p15_oghgf_hfc('2009')= 0.0179; -p15_oghgf_hfc('2010')= 0.0196; -p15_oghgf_hfc('2011')= 0.0214; -p15_oghgf_hfc('2012')= 0.0232; -p15_oghgf_hfc('2013')= 0.0250; -p15_oghgf_hfc('2014')= 0.0269; -p15_oghgf_hfc('2015')= 0.0287; -p15_oghgf_hfc('2016')= 0.0306; -p15_oghgf_hfc('2017')= 0.0325; -p15_oghgf_hfc('2018')= 0.0344; -p15_oghgf_hfc('2019')= 0.0363; -p15_oghgf_hfc('2020')= 0.0382; -p15_oghgf_hfc('2021')= 0.0401; -p15_oghgf_hfc('2022')= 0.0420; -p15_oghgf_hfc('2023')= 0.0438; -p15_oghgf_hfc('2024')= 0.0456; -p15_oghgf_hfc('2025')= 0.0473; -p15_oghgf_hfc('2026')= 0.0489; -p15_oghgf_hfc('2027')= 0.0505; -p15_oghgf_hfc('2028')= 0.0521; -p15_oghgf_hfc('2029')= 0.0537; -p15_oghgf_hfc('2030')= 0.0552; -p15_oghgf_hfc('2031')= 0.0567; -p15_oghgf_hfc('2032')= 0.0581; -p15_oghgf_hfc('2033')= 0.0596; -p15_oghgf_hfc('2034')= 0.0611; -p15_oghgf_hfc('2035')= 0.0625; -p15_oghgf_hfc('2036')= 0.0640; -p15_oghgf_hfc('2037')= 0.0654; -p15_oghgf_hfc('2038')= 0.0668; -p15_oghgf_hfc('2039')= 0.0683; -p15_oghgf_hfc('2040')= 0.0697; -p15_oghgf_hfc('2041')= 0.0711; -p15_oghgf_hfc('2042')= 0.0725; -p15_oghgf_hfc('2043')= 0.0738; -p15_oghgf_hfc('2044')= 0.0750; -p15_oghgf_hfc('2045')= 0.0761; -p15_oghgf_hfc('2046')= 0.0771; -p15_oghgf_hfc('2047')= 0.0781; -p15_oghgf_hfc('2048')= 0.0790; -p15_oghgf_hfc('2049')= 0.0799; -p15_oghgf_hfc('2050')= 0.0807; -p15_oghgf_hfc('2051')= 0.0815; -p15_oghgf_hfc('2052')= 0.0822; -p15_oghgf_hfc('2053')= 0.0830; -p15_oghgf_hfc('2054')= 0.0838; -p15_oghgf_hfc('2055')= 0.0847; -p15_oghgf_hfc('2056')= 0.0856; -p15_oghgf_hfc('2057')= 0.0866; -p15_oghgf_hfc('2058')= 0.0875; -p15_oghgf_hfc('2059')= 0.0885; -p15_oghgf_hfc('2060')= 0.0895; -p15_oghgf_hfc('2061')= 0.0906; -p15_oghgf_hfc('2062')= 0.0916; -p15_oghgf_hfc('2063')= 0.0927; -p15_oghgf_hfc('2064')= 0.0938; -p15_oghgf_hfc('2065')= 0.0950; -p15_oghgf_hfc('2066')= 0.0961; -p15_oghgf_hfc('2067')= 0.0973; -p15_oghgf_hfc('2068')= 0.0984; -p15_oghgf_hfc('2069')= 0.0996; -p15_oghgf_hfc('2070')= 0.1008; -p15_oghgf_hfc('2071')= 0.1020; -p15_oghgf_hfc('2072')= 0.1032; -p15_oghgf_hfc('2073')= 0.1044; -p15_oghgf_hfc('2074')= 0.1056; -p15_oghgf_hfc('2075')= 0.1067; -p15_oghgf_hfc('2076')= 0.1078; -p15_oghgf_hfc('2077')= 0.1088; -p15_oghgf_hfc('2078')= 0.1099; -p15_oghgf_hfc('2079')= 0.1109; -p15_oghgf_hfc('2080')= 0.1119; -p15_oghgf_hfc('2081')= 0.1128; -p15_oghgf_hfc('2082')= 0.1138; -p15_oghgf_hfc('2083')= 0.1146; -p15_oghgf_hfc('2084')= 0.1155; -p15_oghgf_hfc('2085')= 0.1162; -p15_oghgf_hfc('2086')= 0.1169; -p15_oghgf_hfc('2087')= 0.1176; -p15_oghgf_hfc('2088')= 0.1182; -p15_oghgf_hfc('2089')= 0.1188; -p15_oghgf_hfc('2090')= 0.1193; -p15_oghgf_hfc('2091')= 0.1198; -p15_oghgf_hfc('2092')= 0.1202; -p15_oghgf_hfc('2093')= 0.1206; -p15_oghgf_hfc('2094')= 0.1209; -p15_oghgf_hfc('2095')= 0.1212; -p15_oghgf_hfc('2096')= 0.1214; -p15_oghgf_hfc('2097')= 0.1215; -p15_oghgf_hfc('2098')= 0.1216; -p15_oghgf_hfc('2099')= 0.1217; -p15_oghgf_hfc('2100')= 0.1217; -p15_oghgf_hfc('2101')= 0.1217; -p15_oghgf_hfc('2102')= 0.1216; -p15_oghgf_hfc('2103')= 0.1216; -p15_oghgf_hfc('2104')= 0.1216; -p15_oghgf_hfc('2105')= 0.1216; -p15_oghgf_hfc('2106')= 0.1216; -p15_oghgf_hfc('2107')= 0.1216; -p15_oghgf_hfc('2108')= 0.1217; -p15_oghgf_hfc('2109')= 0.1217; -p15_oghgf_hfc('2110')= 0.1217; -p15_oghgf_hfc('2111')= 0.1217; -p15_oghgf_hfc('2112')= 0.1218; -p15_oghgf_hfc('2113')= 0.1218; -p15_oghgf_hfc('2114')= 0.1218; -p15_oghgf_hfc('2115')= 0.1219; -p15_oghgf_hfc('2116')= 0.1219; -p15_oghgf_hfc('2117')= 0.1220; -p15_oghgf_hfc('2118')= 0.1220; -p15_oghgf_hfc('2119')= 0.1220; -p15_oghgf_hfc('2120')= 0.1221; -p15_oghgf_hfc('2121')= 0.1221; -p15_oghgf_hfc('2122')= 0.1222; -p15_oghgf_hfc('2123')= 0.1222; -p15_oghgf_hfc('2124')= 0.1222; -p15_oghgf_hfc('2125')= 0.1223; -p15_oghgf_hfc('2126')= 0.1223; -p15_oghgf_hfc('2127')= 0.1224; -p15_oghgf_hfc('2128')= 0.1224; -p15_oghgf_hfc('2129')= 0.1225; -p15_oghgf_hfc('2130')= 0.1225; -p15_oghgf_hfc('2131')= 0.1226; -p15_oghgf_hfc('2132')= 0.1226; -p15_oghgf_hfc('2133')= 0.1226; -p15_oghgf_hfc('2134')= 0.1227; -p15_oghgf_hfc('2135')= 0.1227; -p15_oghgf_hfc('2136')= 0.1227; -p15_oghgf_hfc('2137')= 0.1228; -p15_oghgf_hfc('2138')= 0.1228; -p15_oghgf_hfc('2139')= 0.1229; -p15_oghgf_hfc('2140')= 0.1229; -p15_oghgf_hfc('2141')= 0.1229; -p15_oghgf_hfc('2142')= 0.1230; -p15_oghgf_hfc('2143')= 0.1230; -p15_oghgf_hfc('2144')= 0.1230; -p15_oghgf_hfc('2145')= 0.1231; -p15_oghgf_hfc('2146')= 0.1231; -p15_oghgf_hfc('2147')= 0.1231; -p15_oghgf_hfc('2148')= 0.1232; -p15_oghgf_hfc('2149')= 0.1232; -p15_oghgf_hfc('2150')= 0.1232; -p15_oghgf_sf6('2000')= 0.0024; -p15_oghgf_sf6('2001')= 0.0025; -p15_oghgf_sf6('2002')= 0.0026; -p15_oghgf_sf6('2003')= 0.0027; -p15_oghgf_sf6('2004')= 0.0028; -p15_oghgf_sf6('2005')= 0.0030; -p15_oghgf_sf6('2006')= 0.0031; -p15_oghgf_sf6('2007')= 0.0032; -p15_oghgf_sf6('2008')= 0.0034; -p15_oghgf_sf6('2009')= 0.0035; -p15_oghgf_sf6('2010')= 0.0036; -p15_oghgf_sf6('2011')= 0.0038; -p15_oghgf_sf6('2012')= 0.0039; -p15_oghgf_sf6('2013')= 0.0040; -p15_oghgf_sf6('2014')= 0.0041; -p15_oghgf_sf6('2015')= 0.0042; -p15_oghgf_sf6('2016')= 0.0043; -p15_oghgf_sf6('2017')= 0.0044; -p15_oghgf_sf6('2018')= 0.0045; -p15_oghgf_sf6('2019')= 0.0046; -p15_oghgf_sf6('2020')= 0.0046; -p15_oghgf_sf6('2021')= 0.0047; -p15_oghgf_sf6('2022')= 0.0047; -p15_oghgf_sf6('2023')= 0.0048; -p15_oghgf_sf6('2024')= 0.0048; -p15_oghgf_sf6('2025')= 0.0048; -p15_oghgf_sf6('2026')= 0.0049; -p15_oghgf_sf6('2027')= 0.0049; -p15_oghgf_sf6('2028')= 0.0050; -p15_oghgf_sf6('2029')= 0.0050; -p15_oghgf_sf6('2030')= 0.0051; -p15_oghgf_sf6('2031')= 0.0051; -p15_oghgf_sf6('2032')= 0.0051; -p15_oghgf_sf6('2033')= 0.0052; -p15_oghgf_sf6('2034')= 0.0052; -p15_oghgf_sf6('2035')= 0.0052; -p15_oghgf_sf6('2036')= 0.0053; -p15_oghgf_sf6('2037')= 0.0053; -p15_oghgf_sf6('2038')= 0.0053; -p15_oghgf_sf6('2039')= 0.0054; -p15_oghgf_sf6('2040')= 0.0054; -p15_oghgf_sf6('2041')= 0.0054; -p15_oghgf_sf6('2042')= 0.0055; -p15_oghgf_sf6('2043')= 0.0055; -p15_oghgf_sf6('2044')= 0.0055; -p15_oghgf_sf6('2045')= 0.0055; -p15_oghgf_sf6('2046')= 0.0056; -p15_oghgf_sf6('2047')= 0.0056; -p15_oghgf_sf6('2048')= 0.0056; -p15_oghgf_sf6('2049')= 0.0056; -p15_oghgf_sf6('2050')= 0.0056; -p15_oghgf_sf6('2051')= 0.0057; -p15_oghgf_sf6('2052')= 0.0057; -p15_oghgf_sf6('2053')= 0.0057; -p15_oghgf_sf6('2054')= 0.0057; -p15_oghgf_sf6('2055')= 0.0057; -p15_oghgf_sf6('2056')= 0.0057; -p15_oghgf_sf6('2057')= 0.0057; -p15_oghgf_sf6('2058')= 0.0057; -p15_oghgf_sf6('2059')= 0.0057; -p15_oghgf_sf6('2060')= 0.0057; -p15_oghgf_sf6('2061')= 0.0058; -p15_oghgf_sf6('2062')= 0.0058; -p15_oghgf_sf6('2063')= 0.0058; -p15_oghgf_sf6('2064')= 0.0058; -p15_oghgf_sf6('2065')= 0.0058; -p15_oghgf_sf6('2066')= 0.0058; -p15_oghgf_sf6('2067')= 0.0058; -p15_oghgf_sf6('2068')= 0.0058; -p15_oghgf_sf6('2069')= 0.0058; -p15_oghgf_sf6('2070')= 0.0058; -p15_oghgf_sf6('2071')= 0.0058; -p15_oghgf_sf6('2072')= 0.0058; -p15_oghgf_sf6('2073')= 0.0058; -p15_oghgf_sf6('2074')= 0.0058; -p15_oghgf_sf6('2075')= 0.0059; -p15_oghgf_sf6('2076')= 0.0059; -p15_oghgf_sf6('2077')= 0.0059; -p15_oghgf_sf6('2078')= 0.0059; -p15_oghgf_sf6('2079')= 0.0059; -p15_oghgf_sf6('2080')= 0.0059; -p15_oghgf_sf6('2081')= 0.0059; -p15_oghgf_sf6('2082')= 0.0059; -p15_oghgf_sf6('2083')= 0.0059; -p15_oghgf_sf6('2084')= 0.0059; -p15_oghgf_sf6('2085')= 0.0059; -p15_oghgf_sf6('2086')= 0.0059; -p15_oghgf_sf6('2087')= 0.0059; -p15_oghgf_sf6('2088')= 0.0059; -p15_oghgf_sf6('2089')= 0.0059; -p15_oghgf_sf6('2090')= 0.0059; -p15_oghgf_sf6('2091')= 0.0059; -p15_oghgf_sf6('2092')= 0.0059; -p15_oghgf_sf6('2093')= 0.0059; -p15_oghgf_sf6('2094')= 0.0059; -p15_oghgf_sf6('2095')= 0.0059; -p15_oghgf_sf6('2096')= 0.0059; -p15_oghgf_sf6('2097')= 0.0059; -p15_oghgf_sf6('2098')= 0.0059; -p15_oghgf_sf6('2099')= 0.0059; -p15_oghgf_sf6('2100')= 0.0059; -p15_oghgf_sf6('2101')= 0.0059; -p15_oghgf_sf6('2102')= 0.0059; -p15_oghgf_sf6('2103')= 0.0059; -p15_oghgf_sf6('2104')= 0.0059; -p15_oghgf_sf6('2105')= 0.0059; -p15_oghgf_sf6('2106')= 0.0059; -p15_oghgf_sf6('2107')= 0.0059; -p15_oghgf_sf6('2108')= 0.0059; -p15_oghgf_sf6('2109')= 0.0059; -p15_oghgf_sf6('2110')= 0.0059; -p15_oghgf_sf6('2111')= 0.0059; -p15_oghgf_sf6('2112')= 0.0059; -p15_oghgf_sf6('2113')= 0.0059; -p15_oghgf_sf6('2114')= 0.0059; -p15_oghgf_sf6('2115')= 0.0059; -p15_oghgf_sf6('2116')= 0.0059; -p15_oghgf_sf6('2117')= 0.0059; -p15_oghgf_sf6('2118')= 0.0059; -p15_oghgf_sf6('2119')= 0.0059; -p15_oghgf_sf6('2120')= 0.0059; -p15_oghgf_sf6('2121')= 0.0059; -p15_oghgf_sf6('2122')= 0.0059; -p15_oghgf_sf6('2123')= 0.0059; -p15_oghgf_sf6('2124')= 0.0059; -p15_oghgf_sf6('2125')= 0.0059; -p15_oghgf_sf6('2126')= 0.0059; -p15_oghgf_sf6('2127')= 0.0059; -p15_oghgf_sf6('2128')= 0.0059; -p15_oghgf_sf6('2129')= 0.0059; -p15_oghgf_sf6('2130')= 0.0059; -p15_oghgf_sf6('2131')= 0.0059; -p15_oghgf_sf6('2132')= 0.0059; -p15_oghgf_sf6('2133')= 0.0059; -p15_oghgf_sf6('2134')= 0.0059; -p15_oghgf_sf6('2135')= 0.0059; -p15_oghgf_sf6('2136')= 0.0059; -p15_oghgf_sf6('2137')= 0.0059; -p15_oghgf_sf6('2138')= 0.0059; -p15_oghgf_sf6('2139')= 0.0059; -p15_oghgf_sf6('2140')= 0.0059; -p15_oghgf_sf6('2141')= 0.0059; -p15_oghgf_sf6('2142')= 0.0059; -p15_oghgf_sf6('2143')= 0.0059; -p15_oghgf_sf6('2144')= 0.0059; -p15_oghgf_sf6('2145')= 0.0059; -p15_oghgf_sf6('2146')= 0.0059; -p15_oghgf_sf6('2147')= 0.0059; -p15_oghgf_sf6('2148')= 0.0059; -p15_oghgf_sf6('2149')= 0.0059; -p15_oghgf_sf6('2150')= 0.0059; -p15_oghgf_montreal('2000')= 0.3196; -p15_oghgf_montreal('2001')= 0.3203; -p15_oghgf_montreal('2002')= 0.3210; -p15_oghgf_montreal('2003')= 0.3213; -p15_oghgf_montreal('2004')= 0.3213; -p15_oghgf_montreal('2005')= 0.3211; -p15_oghgf_montreal('2006')= 0.3205; -p15_oghgf_montreal('2007')= 0.3195; -p15_oghgf_montreal('2008')= 0.3186; -p15_oghgf_montreal('2009')= 0.3176; -p15_oghgf_montreal('2010')= 0.3165; -p15_oghgf_montreal('2011')= 0.3154; -p15_oghgf_montreal('2012')= 0.3141; -p15_oghgf_montreal('2013')= 0.3126; -p15_oghgf_montreal('2014')= 0.3109; -p15_oghgf_montreal('2015')= 0.3091; -p15_oghgf_montreal('2016')= 0.3071; -p15_oghgf_montreal('2017')= 0.3049; -p15_oghgf_montreal('2018')= 0.3026; -p15_oghgf_montreal('2019')= 0.3002; -p15_oghgf_montreal('2020')= 0.2978; -p15_oghgf_montreal('2021')= 0.2952; -p15_oghgf_montreal('2022')= 0.2925; -p15_oghgf_montreal('2023')= 0.2895; -p15_oghgf_montreal('2024')= 0.2863; -p15_oghgf_montreal('2025')= 0.2829; -p15_oghgf_montreal('2026')= 0.2793; -p15_oghgf_montreal('2027')= 0.2756; -p15_oghgf_montreal('2028')= 0.2718; -p15_oghgf_montreal('2029')= 0.2678; -p15_oghgf_montreal('2030')= 0.2638; -p15_oghgf_montreal('2031')= 0.2596; -p15_oghgf_montreal('2032')= 0.2554; -p15_oghgf_montreal('2033')= 0.2511; -p15_oghgf_montreal('2034')= 0.2468; -p15_oghgf_montreal('2035')= 0.2425; -p15_oghgf_montreal('2036')= 0.2382; -p15_oghgf_montreal('2037')= 0.2338; -p15_oghgf_montreal('2038')= 0.2294; -p15_oghgf_montreal('2039')= 0.2251; -p15_oghgf_montreal('2040')= 0.2207; -p15_oghgf_montreal('2041')= 0.2164; -p15_oghgf_montreal('2042')= 0.2121; -p15_oghgf_montreal('2043')= 0.2079; -p15_oghgf_montreal('2044')= 0.2038; -p15_oghgf_montreal('2045')= 0.1998; -p15_oghgf_montreal('2046')= 0.1960; -p15_oghgf_montreal('2047')= 0.1922; -p15_oghgf_montreal('2048')= 0.1885; -p15_oghgf_montreal('2049')= 0.1850; -p15_oghgf_montreal('2050')= 0.1815; -p15_oghgf_montreal('2051')= 0.1781; -p15_oghgf_montreal('2052')= 0.1748; -p15_oghgf_montreal('2053')= 0.1715; -p15_oghgf_montreal('2054')= 0.1684; -p15_oghgf_montreal('2055')= 0.1654; -p15_oghgf_montreal('2056')= 0.1625; -p15_oghgf_montreal('2057')= 0.1597; -p15_oghgf_montreal('2058')= 0.1569; -p15_oghgf_montreal('2059')= 0.1542; -p15_oghgf_montreal('2060')= 0.1516; -p15_oghgf_montreal('2061')= 0.1491; -p15_oghgf_montreal('2062')= 0.1466; -p15_oghgf_montreal('2063')= 0.1442; -p15_oghgf_montreal('2064')= 0.1419; -p15_oghgf_montreal('2065')= 0.1396; -p15_oghgf_montreal('2066')= 0.1374; -p15_oghgf_montreal('2067')= 0.1353; -p15_oghgf_montreal('2068')= 0.1332; -p15_oghgf_montreal('2069')= 0.1311; -p15_oghgf_montreal('2070')= 0.1291; -p15_oghgf_montreal('2071')= 0.1272; -p15_oghgf_montreal('2072')= 0.1253; -p15_oghgf_montreal('2073')= 0.1234; -p15_oghgf_montreal('2074')= 0.1216; -p15_oghgf_montreal('2075')= 0.1199; -p15_oghgf_montreal('2076')= 0.1181; -p15_oghgf_montreal('2077')= 0.1164; -p15_oghgf_montreal('2078')= 0.1148; -p15_oghgf_montreal('2079')= 0.1132; -p15_oghgf_montreal('2080')= 0.1116; -p15_oghgf_montreal('2081')= 0.1100; -p15_oghgf_montreal('2082')= 0.1085; -p15_oghgf_montreal('2083')= 0.1070; -p15_oghgf_montreal('2084')= 0.1055; -p15_oghgf_montreal('2085')= 0.1041; -p15_oghgf_montreal('2086')= 0.1027; -p15_oghgf_montreal('2087')= 0.1013; -p15_oghgf_montreal('2088')= 0.0999; -p15_oghgf_montreal('2089')= 0.0986; -p15_oghgf_montreal('2090')= 0.0973; -p15_oghgf_montreal('2091')= 0.0960; -p15_oghgf_montreal('2092')= 0.0947; -p15_oghgf_montreal('2093')= 0.0935; -p15_oghgf_montreal('2094')= 0.0923; -p15_oghgf_montreal('2095')= 0.0911; -p15_oghgf_montreal('2096')= 0.0899; -p15_oghgf_montreal('2097')= 0.0888; -p15_oghgf_montreal('2098')= 0.0876; -p15_oghgf_montreal('2099')= 0.0865; -p15_oghgf_montreal('2100')= 0.0854; -p15_oghgf_montreal('2101')= 0.0843; -p15_oghgf_montreal('2102')= 0.0832; -p15_oghgf_montreal('2103')= 0.0822; -p15_oghgf_montreal('2104')= 0.0811; -p15_oghgf_montreal('2105')= 0.0801; -p15_oghgf_montreal('2106')= 0.0791; -p15_oghgf_montreal('2107')= 0.0781; -p15_oghgf_montreal('2108')= 0.0772; -p15_oghgf_montreal('2109')= 0.0762; -p15_oghgf_montreal('2110')= 0.0753; -p15_oghgf_montreal('2111')= 0.0743; -p15_oghgf_montreal('2112')= 0.0734; -p15_oghgf_montreal('2113')= 0.0725; -p15_oghgf_montreal('2114')= 0.0716; -p15_oghgf_montreal('2115')= 0.0708; -p15_oghgf_montreal('2116')= 0.0699; -p15_oghgf_montreal('2117')= 0.0691; -p15_oghgf_montreal('2118')= 0.0682; -p15_oghgf_montreal('2119')= 0.0674; -p15_oghgf_montreal('2120')= 0.0666; -p15_oghgf_montreal('2121')= 0.0658; -p15_oghgf_montreal('2122')= 0.0650; -p15_oghgf_montreal('2123')= 0.0642; -p15_oghgf_montreal('2124')= 0.0635; -p15_oghgf_montreal('2125')= 0.0627; -p15_oghgf_montreal('2126')= 0.0620; -p15_oghgf_montreal('2127')= 0.0612; -p15_oghgf_montreal('2128')= 0.0605; -p15_oghgf_montreal('2129')= 0.0598; -p15_oghgf_montreal('2130')= 0.0591; -p15_oghgf_montreal('2131')= 0.0584; -p15_oghgf_montreal('2132')= 0.0577; -p15_oghgf_montreal('2133')= 0.0570; -p15_oghgf_montreal('2134')= 0.0564; -p15_oghgf_montreal('2135')= 0.0557; -p15_oghgf_montreal('2136')= 0.0551; -p15_oghgf_montreal('2137')= 0.0544; -p15_oghgf_montreal('2138')= 0.0538; -p15_oghgf_montreal('2139')= 0.0532; -p15_oghgf_montreal('2140')= 0.0526; -p15_oghgf_montreal('2141')= 0.0520; -p15_oghgf_montreal('2142')= 0.0514; -p15_oghgf_montreal('2143')= 0.0508; -p15_oghgf_montreal('2144')= 0.0502; -p15_oghgf_montreal('2145')= 0.0496; -p15_oghgf_montreal('2146')= 0.0491; -p15_oghgf_montreal('2147')= 0.0485; -p15_oghgf_montreal('2148')= 0.0480; -p15_oghgf_montreal('2149')= 0.0474; -p15_oghgf_montreal('2150')= 0.0469; -p15_oghgf_o3str('2000')= -0.0612; -p15_oghgf_o3str('2001')= -0.0592; -p15_oghgf_o3str('2002')= -0.0575; -p15_oghgf_o3str('2003')= -0.0551; -p15_oghgf_o3str('2004')= -0.0523; -p15_oghgf_o3str('2005')= -0.0497; -p15_oghgf_o3str('2006')= -0.0478; -p15_oghgf_o3str('2007')= -0.0461; -p15_oghgf_o3str('2008')= -0.0444; -p15_oghgf_o3str('2009')= -0.0425; -p15_oghgf_o3str('2010')= -0.0406; -p15_oghgf_o3str('2011')= -0.0390; -p15_oghgf_o3str('2012')= -0.0370; -p15_oghgf_o3str('2013')= -0.0349; -p15_oghgf_o3str('2014')= -0.0332; -p15_oghgf_o3str('2015')= -0.0314; -p15_oghgf_o3str('2016')= -0.0297; -p15_oghgf_o3str('2017')= -0.0280; -p15_oghgf_o3str('2018')= -0.0264; -p15_oghgf_o3str('2019')= -0.0243; -p15_oghgf_o3str('2020')= -0.0221; -p15_oghgf_o3str('2021')= -0.0204; -p15_oghgf_o3str('2022')= -0.0189; -p15_oghgf_o3str('2023')= -0.0174; -p15_oghgf_o3str('2024')= -0.0160; -p15_oghgf_o3str('2025')= -0.0147; -p15_oghgf_o3str('2026')= -0.0134; -p15_oghgf_o3str('2027')= -0.0122; -p15_oghgf_o3str('2028')= -0.0110; -p15_oghgf_o3str('2029')= -0.0099; -p15_oghgf_o3str('2030')= -0.0089; -p15_oghgf_o3str('2031')= -0.0079; -p15_oghgf_o3str('2032')= -0.0070; -p15_oghgf_o3str('2033')= -0.0061; -p15_oghgf_o3str('2034')= -0.0053; -p15_oghgf_o3str('2035')= -0.0046; -p15_oghgf_o3str('2036')= -0.0039; -p15_oghgf_o3str('2037')= -0.0032; -p15_oghgf_o3str('2038')= -0.0026; -p15_oghgf_o3str('2039')= -0.0021; -p15_oghgf_o3str('2040')= -0.0016; -p15_oghgf_o3str('2041')= -0.0012; -p15_oghgf_o3str('2042')= -0.0008; -p15_oghgf_o3str('2043')= -0.0005; -p15_oghgf_o3str('2044')= -0.0003; -p15_oghgf_o3str('2045')= -0.0001; -p15_oghgf_o3str('2046')= -0.0000; -p15_oghgf_o3str('2047')= -0.0000; -p15_oghgf_o3str('2048')= 0.0000; -p15_oghgf_o3str('2049')= 0.0000; -p15_oghgf_o3str('2050')= 0.0000; -p15_oghgf_o3str('2051')= 0.0000; -p15_oghgf_o3str('2052')= 0.0000; -p15_oghgf_o3str('2053')= 0.0000; -p15_oghgf_o3str('2054')= 0.0000; -p15_oghgf_o3str('2055')= 0.0000; -p15_oghgf_o3str('2056')= 0.0000; -p15_oghgf_o3str('2057')= 0.0000; -p15_oghgf_o3str('2058')= 0.0000; -p15_oghgf_o3str('2059')= 0.0000; -p15_oghgf_o3str('2060')= 0.0000; -p15_oghgf_o3str('2061')= 0.0000; -p15_oghgf_o3str('2062')= 0.0000; -p15_oghgf_o3str('2063')= 0.0000; -p15_oghgf_o3str('2064')= 0.0000; -p15_oghgf_o3str('2065')= 0.0000; -p15_oghgf_o3str('2066')= 0.0000; -p15_oghgf_o3str('2067')= 0.0000; -p15_oghgf_o3str('2068')= 0.0000; -p15_oghgf_o3str('2069')= 0.0000; -p15_oghgf_o3str('2070')= 0.0000; -p15_oghgf_o3str('2071')= 0.0000; -p15_oghgf_o3str('2072')= 0.0000; -p15_oghgf_o3str('2073')= 0.0000; -p15_oghgf_o3str('2074')= 0.0000; -p15_oghgf_o3str('2075')= 0.0000; -p15_oghgf_o3str('2076')= 0.0000; -p15_oghgf_o3str('2077')= 0.0000; -p15_oghgf_o3str('2078')= 0.0000; -p15_oghgf_o3str('2079')= 0.0000; -p15_oghgf_o3str('2080')= 0.0000; -p15_oghgf_o3str('2081')= 0.0000; -p15_oghgf_o3str('2082')= 0.0000; -p15_oghgf_o3str('2083')= 0.0000; -p15_oghgf_o3str('2084')= 0.0000; -p15_oghgf_o3str('2085')= 0.0000; -p15_oghgf_o3str('2086')= 0.0000; -p15_oghgf_o3str('2087')= 0.0000; -p15_oghgf_o3str('2088')= 0.0000; -p15_oghgf_o3str('2089')= 0.0000; -p15_oghgf_o3str('2090')= 0.0000; -p15_oghgf_o3str('2091')= 0.0000; -p15_oghgf_o3str('2092')= 0.0000; -p15_oghgf_o3str('2093')= 0.0000; -p15_oghgf_o3str('2094')= 0.0000; -p15_oghgf_o3str('2095')= 0.0000; -p15_oghgf_o3str('2096')= 0.0000; -p15_oghgf_o3str('2097')= 0.0000; -p15_oghgf_o3str('2098')= 0.0000; -p15_oghgf_o3str('2099')= 0.0000; -p15_oghgf_o3str('2100')= 0.0000; -p15_oghgf_o3str('2101')= 0.0000; -p15_oghgf_o3str('2102')= 0.0000; -p15_oghgf_o3str('2103')= 0.0000; -p15_oghgf_o3str('2104')= 0.0000; -p15_oghgf_o3str('2105')= 0.0000; -p15_oghgf_o3str('2106')= 0.0000; -p15_oghgf_o3str('2107')= 0.0000; -p15_oghgf_o3str('2108')= 0.0000; -p15_oghgf_o3str('2109')= 0.0000; -p15_oghgf_o3str('2110')= 0.0000; -p15_oghgf_o3str('2111')= 0.0000; -p15_oghgf_o3str('2112')= 0.0000; -p15_oghgf_o3str('2113')= 0.0000; -p15_oghgf_o3str('2114')= 0.0000; -p15_oghgf_o3str('2115')= 0.0000; -p15_oghgf_o3str('2116')= 0.0000; -p15_oghgf_o3str('2117')= 0.0000; -p15_oghgf_o3str('2118')= 0.0000; -p15_oghgf_o3str('2119')= 0.0000; -p15_oghgf_o3str('2120')= 0.0000; -p15_oghgf_o3str('2121')= 0.0000; -p15_oghgf_o3str('2122')= 0.0000; -p15_oghgf_o3str('2123')= 0.0000; -p15_oghgf_o3str('2124')= 0.0000; -p15_oghgf_o3str('2125')= 0.0000; -p15_oghgf_o3str('2126')= 0.0000; -p15_oghgf_o3str('2127')= 0.0000; -p15_oghgf_o3str('2128')= 0.0000; -p15_oghgf_o3str('2129')= 0.0000; -p15_oghgf_o3str('2130')= 0.0000; -p15_oghgf_o3str('2131')= 0.0000; -p15_oghgf_o3str('2132')= 0.0000; -p15_oghgf_o3str('2133')= 0.0000; -p15_oghgf_o3str('2134')= 0.0000; -p15_oghgf_o3str('2135')= 0.0000; -p15_oghgf_o3str('2136')= 0.0000; -p15_oghgf_o3str('2137')= 0.0000; -p15_oghgf_o3str('2138')= 0.0000; -p15_oghgf_o3str('2139')= 0.0000; -p15_oghgf_o3str('2140')= 0.0000; -p15_oghgf_o3str('2141')= 0.0000; -p15_oghgf_o3str('2142')= 0.0000; -p15_oghgf_o3str('2143')= 0.0000; -p15_oghgf_o3str('2144')= 0.0000; -p15_oghgf_o3str('2145')= 0.0000; -p15_oghgf_o3str('2146')= 0.0000; -p15_oghgf_o3str('2147')= 0.0000; -p15_oghgf_o3str('2148')= 0.0000; -p15_oghgf_o3str('2149')= 0.0000; -p15_oghgf_o3str('2150')= 0.0000; -p15_oghgf_o3trp('2000')= 0.3737; -p15_oghgf_o3trp('2001')= 0.3735; -p15_oghgf_o3trp('2002')= 0.3739; -p15_oghgf_o3trp('2003')= 0.3747; -p15_oghgf_o3trp('2004')= 0.3754; -p15_oghgf_o3trp('2005')= 0.3758; -p15_oghgf_o3trp('2006')= 0.3765; -p15_oghgf_o3trp('2007')= 0.3772; -p15_oghgf_o3trp('2008')= 0.3778; -p15_oghgf_o3trp('2009')= 0.3784; -p15_oghgf_o3trp('2010')= 0.3792; -p15_oghgf_o3trp('2011')= 0.3799; -p15_oghgf_o3trp('2012')= 0.3798; -p15_oghgf_o3trp('2013')= 0.3787; -p15_oghgf_o3trp('2014')= 0.3773; -p15_oghgf_o3trp('2015')= 0.3756; -p15_oghgf_o3trp('2016')= 0.3737; -p15_oghgf_o3trp('2017')= 0.3716; -p15_oghgf_o3trp('2018')= 0.3693; -p15_oghgf_o3trp('2019')= 0.3668; -p15_oghgf_o3trp('2020')= 0.3642; -p15_oghgf_o3trp('2021')= 0.3613; -p15_oghgf_o3trp('2022')= 0.3578; -p15_oghgf_o3trp('2023')= 0.3539; -p15_oghgf_o3trp('2024')= 0.3499; -p15_oghgf_o3trp('2025')= 0.3461; -p15_oghgf_o3trp('2026')= 0.3424; -p15_oghgf_o3trp('2027')= 0.3387; -p15_oghgf_o3trp('2028')= 0.3352; -p15_oghgf_o3trp('2029')= 0.3316; -p15_oghgf_o3trp('2030')= 0.3281; -p15_oghgf_o3trp('2031')= 0.3247; -p15_oghgf_o3trp('2032')= 0.3221; -p15_oghgf_o3trp('2033')= 0.3203; -p15_oghgf_o3trp('2034')= 0.3185; -p15_oghgf_o3trp('2035')= 0.3168; -p15_oghgf_o3trp('2036')= 0.3151; -p15_oghgf_o3trp('2037')= 0.3135; -p15_oghgf_o3trp('2038')= 0.3119; -p15_oghgf_o3trp('2039')= 0.3103; -p15_oghgf_o3trp('2040')= 0.3088; -p15_oghgf_o3trp('2041')= 0.3073; -p15_oghgf_o3trp('2042')= 0.3058; -p15_oghgf_o3trp('2043')= 0.3042; -p15_oghgf_o3trp('2044')= 0.3026; -p15_oghgf_o3trp('2045')= 0.3009; -p15_oghgf_o3trp('2046')= 0.2992; -p15_oghgf_o3trp('2047')= 0.2974; -p15_oghgf_o3trp('2048')= 0.2956; -p15_oghgf_o3trp('2049')= 0.2938; -p15_oghgf_o3trp('2050')= 0.2919; -p15_oghgf_o3trp('2051')= 0.2900; -p15_oghgf_o3trp('2052')= 0.2879; -p15_oghgf_o3trp('2053')= 0.2859; -p15_oghgf_o3trp('2054')= 0.2838; -p15_oghgf_o3trp('2055')= 0.2818; -p15_oghgf_o3trp('2056')= 0.2798; -p15_oghgf_o3trp('2057')= 0.2778; -p15_oghgf_o3trp('2058')= 0.2758; -p15_oghgf_o3trp('2059')= 0.2738; -p15_oghgf_o3trp('2060')= 0.2719; -p15_oghgf_o3trp('2061')= 0.2699; -p15_oghgf_o3trp('2062')= 0.2676; -p15_oghgf_o3trp('2063')= 0.2651; -p15_oghgf_o3trp('2064')= 0.2626; -p15_oghgf_o3trp('2065')= 0.2601; -p15_oghgf_o3trp('2066')= 0.2577; -p15_oghgf_o3trp('2067')= 0.2554; -p15_oghgf_o3trp('2068')= 0.2531; -p15_oghgf_o3trp('2069')= 0.2508; -p15_oghgf_o3trp('2070')= 0.2486; -p15_oghgf_o3trp('2071')= 0.2464; -p15_oghgf_o3trp('2072')= 0.2443; -p15_oghgf_o3trp('2073')= 0.2422; -p15_oghgf_o3trp('2074')= 0.2401; -p15_oghgf_o3trp('2075')= 0.2381; -p15_oghgf_o3trp('2076')= 0.2360; -p15_oghgf_o3trp('2077')= 0.2340; -p15_oghgf_o3trp('2078')= 0.2320; -p15_oghgf_o3trp('2079')= 0.2300; -p15_oghgf_o3trp('2080')= 0.2280; -p15_oghgf_o3trp('2081')= 0.2261; -p15_oghgf_o3trp('2082')= 0.2244; -p15_oghgf_o3trp('2083')= 0.2232; -p15_oghgf_o3trp('2084')= 0.2219; -p15_oghgf_o3trp('2085')= 0.2206; -p15_oghgf_o3trp('2086')= 0.2194; -p15_oghgf_o3trp('2087')= 0.2181; -p15_oghgf_o3trp('2088')= 0.2169; -p15_oghgf_o3trp('2089')= 0.2156; -p15_oghgf_o3trp('2090')= 0.2143; -p15_oghgf_o3trp('2091')= 0.2130; -p15_oghgf_o3trp('2092')= 0.2117; -p15_oghgf_o3trp('2093')= 0.2102; -p15_oghgf_o3trp('2094')= 0.2088; -p15_oghgf_o3trp('2095')= 0.2074; -p15_oghgf_o3trp('2096')= 0.2059; -p15_oghgf_o3trp('2097')= 0.2045; -p15_oghgf_o3trp('2098')= 0.2031; -p15_oghgf_o3trp('2099')= 0.2016; -p15_oghgf_o3trp('2100')= 0.2002; -p15_oghgf_o3trp('2101')= 0.1988; -p15_oghgf_o3trp('2102')= 0.1980; -p15_oghgf_o3trp('2103')= 0.1978; -p15_oghgf_o3trp('2104')= 0.1977; -p15_oghgf_o3trp('2105')= 0.1976; -p15_oghgf_o3trp('2106')= 0.1975; -p15_oghgf_o3trp('2107')= 0.1974; -p15_oghgf_o3trp('2108')= 0.1973; -p15_oghgf_o3trp('2109')= 0.1973; -p15_oghgf_o3trp('2110')= 0.1972; -p15_oghgf_o3trp('2111')= 0.1972; -p15_oghgf_o3trp('2112')= 0.1971; -p15_oghgf_o3trp('2113')= 0.1971; -p15_oghgf_o3trp('2114')= 0.1970; -p15_oghgf_o3trp('2115')= 0.1970; -p15_oghgf_o3trp('2116')= 0.1970; -p15_oghgf_o3trp('2117')= 0.1970; -p15_oghgf_o3trp('2118')= 0.1970; -p15_oghgf_o3trp('2119')= 0.1970; -p15_oghgf_o3trp('2120')= 0.1970; -p15_oghgf_o3trp('2121')= 0.1969; -p15_oghgf_o3trp('2122')= 0.1969; -p15_oghgf_o3trp('2123')= 0.1969; -p15_oghgf_o3trp('2124')= 0.1969; -p15_oghgf_o3trp('2125')= 0.1969; -p15_oghgf_o3trp('2126')= 0.1969; -p15_oghgf_o3trp('2127')= 0.1969; -p15_oghgf_o3trp('2128')= 0.1969; -p15_oghgf_o3trp('2129')= 0.1970; -p15_oghgf_o3trp('2130')= 0.1970; -p15_oghgf_o3trp('2131')= 0.1970; -p15_oghgf_o3trp('2132')= 0.1970; -p15_oghgf_o3trp('2133')= 0.1970; -p15_oghgf_o3trp('2134')= 0.1970; -p15_oghgf_o3trp('2135')= 0.1970; -p15_oghgf_o3trp('2136')= 0.1970; -p15_oghgf_o3trp('2137')= 0.1970; -p15_oghgf_o3trp('2138')= 0.1970; -p15_oghgf_o3trp('2139')= 0.1970; -p15_oghgf_o3trp('2140')= 0.1971; -p15_oghgf_o3trp('2141')= 0.1971; -p15_oghgf_o3trp('2142')= 0.1971; -p15_oghgf_o3trp('2143')= 0.1971; -p15_oghgf_o3trp('2144')= 0.1971; -p15_oghgf_o3trp('2145')= 0.1971; -p15_oghgf_o3trp('2146')= 0.1971; -p15_oghgf_o3trp('2147')= 0.1971; -p15_oghgf_o3trp('2148')= 0.1971; -p15_oghgf_o3trp('2149')= 0.1971; -p15_oghgf_o3trp('2150')= 0.1972; -p15_oghgf_h2ostr('2000')= 0.0820; -p15_oghgf_h2ostr('2001')= 0.0820; -p15_oghgf_h2ostr('2002')= 0.0821; -p15_oghgf_h2ostr('2003')= 0.0823; -p15_oghgf_h2ostr('2004')= 0.0823; -p15_oghgf_h2ostr('2005')= 0.0822; -p15_oghgf_h2ostr('2006')= 0.0822; -p15_oghgf_h2ostr('2007')= 0.0824; -p15_oghgf_h2ostr('2008')= 0.0827; -p15_oghgf_h2ostr('2009')= 0.0831; -p15_oghgf_h2ostr('2010')= 0.0834; -p15_oghgf_h2ostr('2011')= 0.0838; -p15_oghgf_h2ostr('2012')= 0.0842; -p15_oghgf_h2ostr('2013')= 0.0843; -p15_oghgf_h2ostr('2014')= 0.0842; -p15_oghgf_h2ostr('2015')= 0.0840; -p15_oghgf_h2ostr('2016')= 0.0836; -p15_oghgf_h2ostr('2017')= 0.0831; -p15_oghgf_h2ostr('2018')= 0.0824; -p15_oghgf_h2ostr('2019')= 0.0816; -p15_oghgf_h2ostr('2020')= 0.0807; -p15_oghgf_h2ostr('2021')= 0.0797; -p15_oghgf_h2ostr('2022')= 0.0786; -p15_oghgf_h2ostr('2023')= 0.0776; -p15_oghgf_h2ostr('2024')= 0.0766; -p15_oghgf_h2ostr('2025')= 0.0758; -p15_oghgf_h2ostr('2026')= 0.0749; -p15_oghgf_h2ostr('2027')= 0.0741; -p15_oghgf_h2ostr('2028')= 0.0734; -p15_oghgf_h2ostr('2029')= 0.0727; -p15_oghgf_h2ostr('2030')= 0.0721; -p15_oghgf_h2ostr('2031')= 0.0714; -p15_oghgf_h2ostr('2032')= 0.0708; -p15_oghgf_h2ostr('2033')= 0.0703; -p15_oghgf_h2ostr('2034')= 0.0697; -p15_oghgf_h2ostr('2035')= 0.0692; -p15_oghgf_h2ostr('2036')= 0.0688; -p15_oghgf_h2ostr('2037')= 0.0683; -p15_oghgf_h2ostr('2038')= 0.0679; -p15_oghgf_h2ostr('2039')= 0.0675; -p15_oghgf_h2ostr('2040')= 0.0671; -p15_oghgf_h2ostr('2041')= 0.0667; -p15_oghgf_h2ostr('2042')= 0.0663; -p15_oghgf_h2ostr('2043')= 0.0659; -p15_oghgf_h2ostr('2044')= 0.0654; -p15_oghgf_h2ostr('2045')= 0.0648; -p15_oghgf_h2ostr('2046')= 0.0643; -p15_oghgf_h2ostr('2047')= 0.0637; -p15_oghgf_h2ostr('2048')= 0.0631; -p15_oghgf_h2ostr('2049')= 0.0624; -p15_oghgf_h2ostr('2050')= 0.0618; -p15_oghgf_h2ostr('2051')= 0.0611; -p15_oghgf_h2ostr('2052')= 0.0604; -p15_oghgf_h2ostr('2053')= 0.0598; -p15_oghgf_h2ostr('2054')= 0.0592; -p15_oghgf_h2ostr('2055')= 0.0585; -p15_oghgf_h2ostr('2056')= 0.0579; -p15_oghgf_h2ostr('2057')= 0.0573; -p15_oghgf_h2ostr('2058')= 0.0567; -p15_oghgf_h2ostr('2059')= 0.0561; -p15_oghgf_h2ostr('2060')= 0.0556; -p15_oghgf_h2ostr('2061')= 0.0550; -p15_oghgf_h2ostr('2062')= 0.0545; -p15_oghgf_h2ostr('2063')= 0.0540; -p15_oghgf_h2ostr('2064')= 0.0536; -p15_oghgf_h2ostr('2065')= 0.0532; -p15_oghgf_h2ostr('2066')= 0.0528; -p15_oghgf_h2ostr('2067')= 0.0524; -p15_oghgf_h2ostr('2068')= 0.0521; -p15_oghgf_h2ostr('2069')= 0.0518; -p15_oghgf_h2ostr('2070')= 0.0515; -p15_oghgf_h2ostr('2071')= 0.0513; -p15_oghgf_h2ostr('2072')= 0.0511; -p15_oghgf_h2ostr('2073')= 0.0509; -p15_oghgf_h2ostr('2074')= 0.0507; -p15_oghgf_h2ostr('2075')= 0.0505; -p15_oghgf_h2ostr('2076')= 0.0503; -p15_oghgf_h2ostr('2077')= 0.0501; -p15_oghgf_h2ostr('2078')= 0.0500; -p15_oghgf_h2ostr('2079')= 0.0498; -p15_oghgf_h2ostr('2080')= 0.0497; -p15_oghgf_h2ostr('2081')= 0.0495; -p15_oghgf_h2ostr('2082')= 0.0494; -p15_oghgf_h2ostr('2083')= 0.0493; -p15_oghgf_h2ostr('2084')= 0.0491; -p15_oghgf_h2ostr('2085')= 0.0490; -p15_oghgf_h2ostr('2086')= 0.0489; -p15_oghgf_h2ostr('2087')= 0.0488; -p15_oghgf_h2ostr('2088')= 0.0486; -p15_oghgf_h2ostr('2089')= 0.0485; -p15_oghgf_h2ostr('2090')= 0.0484; -p15_oghgf_h2ostr('2091')= 0.0482; -p15_oghgf_h2ostr('2092')= 0.0481; -p15_oghgf_h2ostr('2093')= 0.0480; -p15_oghgf_h2ostr('2094')= 0.0479; -p15_oghgf_h2ostr('2095')= 0.0478; -p15_oghgf_h2ostr('2096')= 0.0477; -p15_oghgf_h2ostr('2097')= 0.0476; -p15_oghgf_h2ostr('2098')= 0.0475; -p15_oghgf_h2ostr('2099')= 0.0474; -p15_oghgf_h2ostr('2100')= 0.0472; -p15_oghgf_h2ostr('2101')= 0.0471; -p15_oghgf_h2ostr('2102')= 0.0470; -p15_oghgf_h2ostr('2103')= 0.0470; -p15_oghgf_h2ostr('2104')= 0.0469; -p15_oghgf_h2ostr('2105')= 0.0468; -p15_oghgf_h2ostr('2106')= 0.0468; -p15_oghgf_h2ostr('2107')= 0.0467; -p15_oghgf_h2ostr('2108')= 0.0467; -p15_oghgf_h2ostr('2109')= 0.0467; -p15_oghgf_h2ostr('2110')= 0.0466; -p15_oghgf_h2ostr('2111')= 0.0466; -p15_oghgf_h2ostr('2112')= 0.0466; -p15_oghgf_h2ostr('2113')= 0.0465; -p15_oghgf_h2ostr('2114')= 0.0465; -p15_oghgf_h2ostr('2115')= 0.0465; -p15_oghgf_h2ostr('2116')= 0.0465; -p15_oghgf_h2ostr('2117')= 0.0465; -p15_oghgf_h2ostr('2118')= 0.0465; -p15_oghgf_h2ostr('2119')= 0.0465; -p15_oghgf_h2ostr('2120')= 0.0465; -p15_oghgf_h2ostr('2121')= 0.0465; -p15_oghgf_h2ostr('2122')= 0.0465; -p15_oghgf_h2ostr('2123')= 0.0465; -p15_oghgf_h2ostr('2124')= 0.0464; -p15_oghgf_h2ostr('2125')= 0.0464; -p15_oghgf_h2ostr('2126')= 0.0464; -p15_oghgf_h2ostr('2127')= 0.0465; -p15_oghgf_h2ostr('2128')= 0.0465; -p15_oghgf_h2ostr('2129')= 0.0465; -p15_oghgf_h2ostr('2130')= 0.0465; -p15_oghgf_h2ostr('2131')= 0.0465; -p15_oghgf_h2ostr('2132')= 0.0465; -p15_oghgf_h2ostr('2133')= 0.0465; -p15_oghgf_h2ostr('2134')= 0.0465; -p15_oghgf_h2ostr('2135')= 0.0465; -p15_oghgf_h2ostr('2136')= 0.0465; -p15_oghgf_h2ostr('2137')= 0.0465; -p15_oghgf_h2ostr('2138')= 0.0465; -p15_oghgf_h2ostr('2139')= 0.0465; -p15_oghgf_h2ostr('2140')= 0.0465; -p15_oghgf_h2ostr('2141')= 0.0465; -p15_oghgf_h2ostr('2142')= 0.0465; -p15_oghgf_h2ostr('2143')= 0.0466; -p15_oghgf_h2ostr('2144')= 0.0466; -p15_oghgf_h2ostr('2145')= 0.0466; -p15_oghgf_h2ostr('2146')= 0.0466; -p15_oghgf_h2ostr('2147')= 0.0466; -p15_oghgf_h2ostr('2148')= 0.0466; -p15_oghgf_h2ostr('2149')= 0.0466; -p15_oghgf_h2ostr('2150')= 0.0466; -p15_oghgf_o3str('2000')= -0.0612; -p15_oghgf_o3str('2001')= -0.0592; -p15_oghgf_o3str('2002')= -0.0575; -p15_oghgf_o3str('2003')= -0.0551; -p15_oghgf_o3str('2004')= -0.0523; -p15_oghgf_o3str('2005')= -0.0497; -p15_oghgf_o3str('2006')= -0.0478; -p15_oghgf_o3str('2007')= -0.0461; -p15_oghgf_o3str('2008')= -0.0444; -p15_oghgf_o3str('2009')= -0.0425; -p15_oghgf_o3str('2010')= -0.0406; -p15_oghgf_o3str('2011')= -0.0390; -p15_oghgf_o3str('2012')= -0.0370; -p15_oghgf_o3str('2013')= -0.0349; -p15_oghgf_o3str('2014')= -0.0332; -p15_oghgf_o3str('2015')= -0.0314; -p15_oghgf_o3str('2016')= -0.0297; -p15_oghgf_o3str('2017')= -0.0280; -p15_oghgf_o3str('2018')= -0.0264; -p15_oghgf_o3str('2019')= -0.0243; -p15_oghgf_o3str('2020')= -0.0221; -p15_oghgf_o3str('2021')= -0.0204; -p15_oghgf_o3str('2022')= -0.0189; -p15_oghgf_o3str('2023')= -0.0174; -p15_oghgf_o3str('2024')= -0.0160; -p15_oghgf_o3str('2025')= -0.0147; -p15_oghgf_o3str('2026')= -0.0134; -p15_oghgf_o3str('2027')= -0.0122; -p15_oghgf_o3str('2028')= -0.0110; -p15_oghgf_o3str('2029')= -0.0099; -p15_oghgf_o3str('2030')= -0.0089; -p15_oghgf_o3str('2031')= -0.0079; -p15_oghgf_o3str('2032')= -0.0070; -p15_oghgf_o3str('2033')= -0.0061; -p15_oghgf_o3str('2034')= -0.0053; -p15_oghgf_o3str('2035')= -0.0046; -p15_oghgf_o3str('2036')= -0.0039; -p15_oghgf_o3str('2037')= -0.0032; -p15_oghgf_o3str('2038')= -0.0026; -p15_oghgf_o3str('2039')= -0.0021; -p15_oghgf_o3str('2040')= -0.0016; -p15_oghgf_o3str('2041')= -0.0012; -p15_oghgf_o3str('2042')= -0.0008; -p15_oghgf_o3str('2043')= -0.0005; -p15_oghgf_o3str('2044')= -0.0003; -p15_oghgf_o3str('2045')= -0.0001; -p15_oghgf_o3str('2046')= -0.0000; -p15_oghgf_o3str('2047')= -0.0000; -p15_oghgf_o3str('2048')= 0.0000; -p15_oghgf_o3str('2049')= 0.0000; -p15_oghgf_o3str('2050')= 0.0000; -p15_oghgf_o3str('2051')= 0.0000; -p15_oghgf_o3str('2052')= 0.0000; -p15_oghgf_o3str('2053')= 0.0000; -p15_oghgf_o3str('2054')= 0.0000; -p15_oghgf_o3str('2055')= 0.0000; -p15_oghgf_o3str('2056')= 0.0000; -p15_oghgf_o3str('2057')= 0.0000; -p15_oghgf_o3str('2058')= 0.0000; -p15_oghgf_o3str('2059')= 0.0000; -p15_oghgf_o3str('2060')= 0.0000; -p15_oghgf_o3str('2061')= 0.0000; -p15_oghgf_o3str('2062')= 0.0000; -p15_oghgf_o3str('2063')= 0.0000; -p15_oghgf_o3str('2064')= 0.0000; -p15_oghgf_o3str('2065')= 0.0000; -p15_oghgf_o3str('2066')= 0.0000; -p15_oghgf_o3str('2067')= 0.0000; -p15_oghgf_o3str('2068')= 0.0000; -p15_oghgf_o3str('2069')= 0.0000; -p15_oghgf_o3str('2070')= 0.0000; -p15_oghgf_o3str('2071')= 0.0000; -p15_oghgf_o3str('2072')= 0.0000; -p15_oghgf_o3str('2073')= 0.0000; -p15_oghgf_o3str('2074')= 0.0000; -p15_oghgf_o3str('2075')= 0.0000; -p15_oghgf_o3str('2076')= 0.0000; -p15_oghgf_o3str('2077')= 0.0000; -p15_oghgf_o3str('2078')= 0.0000; -p15_oghgf_o3str('2079')= 0.0000; -p15_oghgf_o3str('2080')= 0.0000; -p15_oghgf_o3str('2081')= 0.0000; -p15_oghgf_o3str('2082')= 0.0000; -p15_oghgf_o3str('2083')= 0.0000; -p15_oghgf_o3str('2084')= 0.0000; -p15_oghgf_o3str('2085')= 0.0000; -p15_oghgf_o3str('2086')= 0.0000; -p15_oghgf_o3str('2087')= 0.0000; -p15_oghgf_o3str('2088')= 0.0000; -p15_oghgf_o3str('2089')= 0.0000; -p15_oghgf_o3str('2090')= 0.0000; -p15_oghgf_o3str('2091')= 0.0000; -p15_oghgf_o3str('2092')= 0.0000; -p15_oghgf_o3str('2093')= 0.0000; -p15_oghgf_o3str('2094')= 0.0000; -p15_oghgf_o3str('2095')= 0.0000; -p15_oghgf_o3str('2096')= 0.0000; -p15_oghgf_o3str('2097')= 0.0000; -p15_oghgf_o3str('2098')= 0.0000; -p15_oghgf_o3str('2099')= 0.0000; -p15_oghgf_o3str('2100')= 0.0000; -p15_oghgf_o3str('2101')= 0.0000; -p15_oghgf_o3str('2102')= 0.0000; -p15_oghgf_o3str('2103')= 0.0000; -p15_oghgf_o3str('2104')= 0.0000; -p15_oghgf_o3str('2105')= 0.0000; -p15_oghgf_o3str('2106')= 0.0000; -p15_oghgf_o3str('2107')= 0.0000; -p15_oghgf_o3str('2108')= 0.0000; -p15_oghgf_o3str('2109')= 0.0000; -p15_oghgf_o3str('2110')= 0.0000; -p15_oghgf_o3str('2111')= 0.0000; -p15_oghgf_o3str('2112')= 0.0000; -p15_oghgf_o3str('2113')= 0.0000; -p15_oghgf_o3str('2114')= 0.0000; -p15_oghgf_o3str('2115')= 0.0000; -p15_oghgf_o3str('2116')= 0.0000; -p15_oghgf_o3str('2117')= 0.0000; -p15_oghgf_o3str('2118')= 0.0000; -p15_oghgf_o3str('2119')= 0.0000; -p15_oghgf_o3str('2120')= 0.0000; -p15_oghgf_o3str('2121')= 0.0000; -p15_oghgf_o3str('2122')= 0.0000; -p15_oghgf_o3str('2123')= 0.0000; -p15_oghgf_o3str('2124')= 0.0000; -p15_oghgf_o3str('2125')= 0.0000; -p15_oghgf_o3str('2126')= 0.0000; -p15_oghgf_o3str('2127')= 0.0000; -p15_oghgf_o3str('2128')= 0.0000; -p15_oghgf_o3str('2129')= 0.0000; -p15_oghgf_o3str('2130')= 0.0000; -p15_oghgf_o3str('2131')= 0.0000; -p15_oghgf_o3str('2132')= 0.0000; -p15_oghgf_o3str('2133')= 0.0000; -p15_oghgf_o3str('2134')= 0.0000; -p15_oghgf_o3str('2135')= 0.0000; -p15_oghgf_o3str('2136')= 0.0000; -p15_oghgf_o3str('2137')= 0.0000; -p15_oghgf_o3str('2138')= 0.0000; -p15_oghgf_o3str('2139')= 0.0000; -p15_oghgf_o3str('2140')= 0.0000; -p15_oghgf_o3str('2141')= 0.0000; -p15_oghgf_o3str('2142')= 0.0000; -p15_oghgf_o3str('2143')= 0.0000; -p15_oghgf_o3str('2144')= 0.0000; -p15_oghgf_o3str('2145')= 0.0000; -p15_oghgf_o3str('2146')= 0.0000; -p15_oghgf_o3str('2147')= 0.0000; -p15_oghgf_o3str('2148')= 0.0000; -p15_oghgf_o3str('2149')= 0.0000; -p15_oghgf_o3str('2150')= 0.0000; -p15_oghgf_luc('2000')= -0.1924; -p15_oghgf_luc('2001')= -0.1939; -p15_oghgf_luc('2002')= -0.1957; -p15_oghgf_luc('2003')= -0.1974; -p15_oghgf_luc('2004')= -0.1991; -p15_oghgf_luc('2005')= -0.2008; -p15_oghgf_luc('2006')= -0.2025; -p15_oghgf_luc('2007')= -0.2041; -p15_oghgf_luc('2008')= -0.2057; -p15_oghgf_luc('2009')= -0.2072; -p15_oghgf_luc('2010')= -0.2087; -p15_oghgf_luc('2011')= -0.2102; -p15_oghgf_luc('2012')= -0.2117; -p15_oghgf_luc('2013')= -0.2132; -p15_oghgf_luc('2014')= -0.2146; -p15_oghgf_luc('2015')= -0.2161; -p15_oghgf_luc('2016')= -0.2175; -p15_oghgf_luc('2017')= -0.2189; -p15_oghgf_luc('2018')= -0.2203; -p15_oghgf_luc('2019')= -0.2217; -p15_oghgf_luc('2020')= -0.2231; -p15_oghgf_luc('2021')= -0.2244; -p15_oghgf_luc('2022')= -0.2258; -p15_oghgf_luc('2023')= -0.2271; -p15_oghgf_luc('2024')= -0.2283; -p15_oghgf_luc('2025')= -0.2296; -p15_oghgf_luc('2026')= -0.2308; -p15_oghgf_luc('2027')= -0.2320; -p15_oghgf_luc('2028')= -0.2332; -p15_oghgf_luc('2029')= -0.2344; -p15_oghgf_luc('2030')= -0.2355; -p15_oghgf_luc('2031')= -0.2366; -p15_oghgf_luc('2032')= -0.2376; -p15_oghgf_luc('2033')= -0.2386; -p15_oghgf_luc('2034')= -0.2396; -p15_oghgf_luc('2035')= -0.2405; -p15_oghgf_luc('2036')= -0.2413; -p15_oghgf_luc('2037')= -0.2421; -p15_oghgf_luc('2038')= -0.2429; -p15_oghgf_luc('2039')= -0.2437; -p15_oghgf_luc('2040')= -0.2443; -p15_oghgf_luc('2041')= -0.2450; -p15_oghgf_luc('2042')= -0.2456; -p15_oghgf_luc('2043')= -0.2462; -p15_oghgf_luc('2044')= -0.2467; -p15_oghgf_luc('2045')= -0.2472; -p15_oghgf_luc('2046')= -0.2476; -p15_oghgf_luc('2047')= -0.2480; -p15_oghgf_luc('2048')= -0.2483; -p15_oghgf_luc('2049')= -0.2486; -p15_oghgf_luc('2050')= -0.2489; -p15_oghgf_luc('2051')= -0.2493; -p15_oghgf_luc('2052')= -0.2496; -p15_oghgf_luc('2053')= -0.2501; -p15_oghgf_luc('2054')= -0.2506; -p15_oghgf_luc('2055')= -0.2511; -p15_oghgf_luc('2056')= -0.2517; -p15_oghgf_luc('2057')= -0.2524; -p15_oghgf_luc('2058')= -0.2531; -p15_oghgf_luc('2059')= -0.2539; -p15_oghgf_luc('2060')= -0.2547; -p15_oghgf_luc('2061')= -0.2555; -p15_oghgf_luc('2062')= -0.2563; -p15_oghgf_luc('2063')= -0.2571; -p15_oghgf_luc('2064')= -0.2579; -p15_oghgf_luc('2065')= -0.2587; -p15_oghgf_luc('2066')= -0.2595; -p15_oghgf_luc('2067')= -0.2602; -p15_oghgf_luc('2068')= -0.2610; -p15_oghgf_luc('2069')= -0.2617; -p15_oghgf_luc('2070')= -0.2624; -p15_oghgf_luc('2071')= -0.2632; -p15_oghgf_luc('2072')= -0.2639; -p15_oghgf_luc('2073')= -0.2646; -p15_oghgf_luc('2074')= -0.2653; -p15_oghgf_luc('2075')= -0.2661; -p15_oghgf_luc('2076')= -0.2668; -p15_oghgf_luc('2077')= -0.2675; -p15_oghgf_luc('2078')= -0.2683; -p15_oghgf_luc('2079')= -0.2690; -p15_oghgf_luc('2080')= -0.2697; -p15_oghgf_luc('2081')= -0.2705; -p15_oghgf_luc('2082')= -0.2712; -p15_oghgf_luc('2083')= -0.2720; -p15_oghgf_luc('2084')= -0.2727; -p15_oghgf_luc('2085')= -0.2735; -p15_oghgf_luc('2086')= -0.2743; -p15_oghgf_luc('2087')= -0.2751; -p15_oghgf_luc('2088')= -0.2759; -p15_oghgf_luc('2089')= -0.2767; -p15_oghgf_luc('2090')= -0.2775; -p15_oghgf_luc('2091')= -0.2783; -p15_oghgf_luc('2092')= -0.2791; -p15_oghgf_luc('2093')= -0.2799; -p15_oghgf_luc('2094')= -0.2806; -p15_oghgf_luc('2095')= -0.2814; -p15_oghgf_luc('2096')= -0.2821; -p15_oghgf_luc('2097')= -0.2828; -p15_oghgf_luc('2098')= -0.2835; -p15_oghgf_luc('2099')= -0.2842; -p15_oghgf_luc('2100')= -0.2849; -p15_oghgf_luc('2101')= -0.2855; -p15_oghgf_luc('2102')= -0.2861; -p15_oghgf_luc('2103')= -0.2867; -p15_oghgf_luc('2104')= -0.2873; -p15_oghgf_luc('2105')= -0.2878; -p15_oghgf_luc('2106')= -0.2883; -p15_oghgf_luc('2107')= -0.2888; -p15_oghgf_luc('2108')= -0.2893; -p15_oghgf_luc('2109')= -0.2897; -p15_oghgf_luc('2110')= -0.2901; -p15_oghgf_luc('2111')= -0.2905; -p15_oghgf_luc('2112')= -0.2909; -p15_oghgf_luc('2113')= -0.2912; -p15_oghgf_luc('2114')= -0.2915; -p15_oghgf_luc('2115')= -0.2917; -p15_oghgf_luc('2116')= -0.2920; -p15_oghgf_luc('2117')= -0.2922; -p15_oghgf_luc('2118')= -0.2924; -p15_oghgf_luc('2119')= -0.2926; -p15_oghgf_luc('2120')= -0.2927; -p15_oghgf_luc('2121')= -0.2928; -p15_oghgf_luc('2122')= -0.2929; -p15_oghgf_luc('2123')= -0.2929; -p15_oghgf_luc('2124')= -0.2930; -p15_oghgf_luc('2125')= -0.2930; -p15_oghgf_luc('2126')= -0.2930; -p15_oghgf_luc('2127')= -0.2930; -p15_oghgf_luc('2128')= -0.2930; -p15_oghgf_luc('2129')= -0.2930; -p15_oghgf_luc('2130')= -0.2930; -p15_oghgf_luc('2131')= -0.2930; -p15_oghgf_luc('2132')= -0.2930; -p15_oghgf_luc('2133')= -0.2930; -p15_oghgf_luc('2134')= -0.2930; -p15_oghgf_luc('2135')= -0.2930; -p15_oghgf_luc('2136')= -0.2930; -p15_oghgf_luc('2137')= -0.2930; -p15_oghgf_luc('2138')= -0.2930; -p15_oghgf_luc('2139')= -0.2930; -p15_oghgf_luc('2140')= -0.2930; -p15_oghgf_luc('2141')= -0.2930; -p15_oghgf_luc('2142')= -0.2930; -p15_oghgf_luc('2143')= -0.2930; -p15_oghgf_luc('2144')= -0.2930; -p15_oghgf_luc('2145')= -0.2930; -p15_oghgf_luc('2146')= -0.2930; -p15_oghgf_luc('2147')= -0.2930; -p15_oghgf_luc('2148')= -0.2930; -p15_oghgf_luc('2149')= -0.2930; -p15_oghgf_luc('2150')= -0.2930; -p15_oghgf_minaer('2000')= -0.0962; -p15_oghgf_minaer('2001')= -0.0970; -p15_oghgf_minaer('2002')= -0.0978; -p15_oghgf_minaer('2003')= -0.0987; -p15_oghgf_minaer('2004')= -0.0996; -p15_oghgf_minaer('2005')= -0.1000; -p15_oghgf_minaer('2006')= -0.1000; -p15_oghgf_minaer('2007')= -0.1000; -p15_oghgf_minaer('2008')= -0.1000; -p15_oghgf_minaer('2009')= -0.1000; -p15_oghgf_minaer('2010')= -0.1000; -p15_oghgf_minaer('2011')= -0.1000; -p15_oghgf_minaer('2012')= -0.1000; -p15_oghgf_minaer('2013')= -0.1000; -p15_oghgf_minaer('2014')= -0.1000; -p15_oghgf_minaer('2015')= -0.1000; -p15_oghgf_minaer('2016')= -0.1000; -p15_oghgf_minaer('2017')= -0.1000; -p15_oghgf_minaer('2018')= -0.1000; -p15_oghgf_minaer('2019')= -0.1000; -p15_oghgf_minaer('2020')= -0.1000; -p15_oghgf_minaer('2021')= -0.1000; -p15_oghgf_minaer('2022')= -0.1000; -p15_oghgf_minaer('2023')= -0.1000; -p15_oghgf_minaer('2024')= -0.1000; -p15_oghgf_minaer('2025')= -0.1000; -p15_oghgf_minaer('2026')= -0.1000; -p15_oghgf_minaer('2027')= -0.1000; -p15_oghgf_minaer('2028')= -0.1000; -p15_oghgf_minaer('2029')= -0.1000; -p15_oghgf_minaer('2030')= -0.1000; -p15_oghgf_minaer('2031')= -0.1000; -p15_oghgf_minaer('2032')= -0.1000; -p15_oghgf_minaer('2033')= -0.1000; -p15_oghgf_minaer('2034')= -0.1000; -p15_oghgf_minaer('2035')= -0.1000; -p15_oghgf_minaer('2036')= -0.1000; -p15_oghgf_minaer('2037')= -0.1000; -p15_oghgf_minaer('2038')= -0.1000; -p15_oghgf_minaer('2039')= -0.1000; -p15_oghgf_minaer('2040')= -0.1000; -p15_oghgf_minaer('2041')= -0.1000; -p15_oghgf_minaer('2042')= -0.1000; -p15_oghgf_minaer('2043')= -0.1000; -p15_oghgf_minaer('2044')= -0.1000; -p15_oghgf_minaer('2045')= -0.1000; -p15_oghgf_minaer('2046')= -0.1000; -p15_oghgf_minaer('2047')= -0.1000; -p15_oghgf_minaer('2048')= -0.1000; -p15_oghgf_minaer('2049')= -0.1000; -p15_oghgf_minaer('2050')= -0.1000; -p15_oghgf_minaer('2051')= -0.1000; -p15_oghgf_minaer('2052')= -0.1000; -p15_oghgf_minaer('2053')= -0.1000; -p15_oghgf_minaer('2054')= -0.1000; -p15_oghgf_minaer('2055')= -0.1000; -p15_oghgf_minaer('2056')= -0.1000; -p15_oghgf_minaer('2057')= -0.1000; -p15_oghgf_minaer('2058')= -0.1000; -p15_oghgf_minaer('2059')= -0.1000; -p15_oghgf_minaer('2060')= -0.1000; -p15_oghgf_minaer('2061')= -0.1000; -p15_oghgf_minaer('2062')= -0.1000; -p15_oghgf_minaer('2063')= -0.1000; -p15_oghgf_minaer('2064')= -0.1000; -p15_oghgf_minaer('2065')= -0.1000; -p15_oghgf_minaer('2066')= -0.1000; -p15_oghgf_minaer('2067')= -0.1000; -p15_oghgf_minaer('2068')= -0.1000; -p15_oghgf_minaer('2069')= -0.1000; -p15_oghgf_minaer('2070')= -0.1000; -p15_oghgf_minaer('2071')= -0.1000; -p15_oghgf_minaer('2072')= -0.1000; -p15_oghgf_minaer('2073')= -0.1000; -p15_oghgf_minaer('2074')= -0.1000; -p15_oghgf_minaer('2075')= -0.1000; -p15_oghgf_minaer('2076')= -0.1000; -p15_oghgf_minaer('2077')= -0.1000; -p15_oghgf_minaer('2078')= -0.1000; -p15_oghgf_minaer('2079')= -0.1000; -p15_oghgf_minaer('2080')= -0.1000; -p15_oghgf_minaer('2081')= -0.1000; -p15_oghgf_minaer('2082')= -0.1000; -p15_oghgf_minaer('2083')= -0.1000; -p15_oghgf_minaer('2084')= -0.1000; -p15_oghgf_minaer('2085')= -0.1000; -p15_oghgf_minaer('2086')= -0.1000; -p15_oghgf_minaer('2087')= -0.1000; -p15_oghgf_minaer('2088')= -0.1000; -p15_oghgf_minaer('2089')= -0.1000; -p15_oghgf_minaer('2090')= -0.1000; -p15_oghgf_minaer('2091')= -0.1000; -p15_oghgf_minaer('2092')= -0.1000; -p15_oghgf_minaer('2093')= -0.1000; -p15_oghgf_minaer('2094')= -0.1000; -p15_oghgf_minaer('2095')= -0.1000; -p15_oghgf_minaer('2096')= -0.1000; -p15_oghgf_minaer('2097')= -0.1000; -p15_oghgf_minaer('2098')= -0.1000; -p15_oghgf_minaer('2099')= -0.1000; -p15_oghgf_minaer('2100')= -0.1000; -p15_oghgf_minaer('2101')= -0.1000; -p15_oghgf_minaer('2102')= -0.1000; -p15_oghgf_minaer('2103')= -0.1000; -p15_oghgf_minaer('2104')= -0.1000; -p15_oghgf_minaer('2105')= -0.1000; -p15_oghgf_minaer('2106')= -0.1000; -p15_oghgf_minaer('2107')= -0.1000; -p15_oghgf_minaer('2108')= -0.1000; -p15_oghgf_minaer('2109')= -0.1000; -p15_oghgf_minaer('2110')= -0.1000; -p15_oghgf_minaer('2111')= -0.1000; -p15_oghgf_minaer('2112')= -0.1000; -p15_oghgf_minaer('2113')= -0.1000; -p15_oghgf_minaer('2114')= -0.1000; -p15_oghgf_minaer('2115')= -0.1000; -p15_oghgf_minaer('2116')= -0.1000; -p15_oghgf_minaer('2117')= -0.1000; -p15_oghgf_minaer('2118')= -0.1000; -p15_oghgf_minaer('2119')= -0.1000; -p15_oghgf_minaer('2120')= -0.1000; -p15_oghgf_minaer('2121')= -0.1000; -p15_oghgf_minaer('2122')= -0.1000; -p15_oghgf_minaer('2123')= -0.1000; -p15_oghgf_minaer('2124')= -0.1000; -p15_oghgf_minaer('2125')= -0.1000; -p15_oghgf_minaer('2126')= -0.1000; -p15_oghgf_minaer('2127')= -0.1000; -p15_oghgf_minaer('2128')= -0.1000; -p15_oghgf_minaer('2129')= -0.1000; -p15_oghgf_minaer('2130')= -0.1000; -p15_oghgf_minaer('2131')= -0.1000; -p15_oghgf_minaer('2132')= -0.1000; -p15_oghgf_minaer('2133')= -0.1000; -p15_oghgf_minaer('2134')= -0.1000; -p15_oghgf_minaer('2135')= -0.1000; -p15_oghgf_minaer('2136')= -0.1000; -p15_oghgf_minaer('2137')= -0.1000; -p15_oghgf_minaer('2138')= -0.1000; -p15_oghgf_minaer('2139')= -0.1000; -p15_oghgf_minaer('2140')= -0.1000; -p15_oghgf_minaer('2141')= -0.1000; -p15_oghgf_minaer('2142')= -0.1000; -p15_oghgf_minaer('2143')= -0.1000; -p15_oghgf_minaer('2144')= -0.1000; -p15_oghgf_minaer('2145')= -0.1000; -p15_oghgf_minaer('2146')= -0.1000; -p15_oghgf_minaer('2147')= -0.1000; -p15_oghgf_minaer('2148')= -0.1000; -p15_oghgf_minaer('2149')= -0.1000; -p15_oghgf_minaer('2150')= -0.1000; -p15_oghgf_nitaer('2000')= -0.0966; -p15_oghgf_nitaer('2001')= -0.0988; -p15_oghgf_nitaer('2002')= -0.0991; -p15_oghgf_nitaer('2003')= -0.0995; -p15_oghgf_nitaer('2004')= -0.0998; -p15_oghgf_nitaer('2005')= -0.1001; -p15_oghgf_nitaer('2006')= -0.1004; -p15_oghgf_nitaer('2007')= -0.1006; -p15_oghgf_nitaer('2008')= -0.1009; -p15_oghgf_nitaer('2009')= -0.1011; -p15_oghgf_nitaer('2010')= -0.1011; -p15_oghgf_nitaer('2011')= -0.1007; -p15_oghgf_nitaer('2012')= -0.1000; -p15_oghgf_nitaer('2013')= -0.0993; -p15_oghgf_nitaer('2014')= -0.0986; -p15_oghgf_nitaer('2015')= -0.0980; -p15_oghgf_nitaer('2016')= -0.0973; -p15_oghgf_nitaer('2017')= -0.0966; -p15_oghgf_nitaer('2018')= -0.0960; -p15_oghgf_nitaer('2019')= -0.0953; -p15_oghgf_nitaer('2020')= -0.0945; -p15_oghgf_nitaer('2021')= -0.0933; -p15_oghgf_nitaer('2022')= -0.0920; -p15_oghgf_nitaer('2023')= -0.0907; -p15_oghgf_nitaer('2024')= -0.0895; -p15_oghgf_nitaer('2025')= -0.0882; -p15_oghgf_nitaer('2026')= -0.0869; -p15_oghgf_nitaer('2027')= -0.0856; -p15_oghgf_nitaer('2028')= -0.0843; -p15_oghgf_nitaer('2029')= -0.0830; -p15_oghgf_nitaer('2030')= -0.0819; -p15_oghgf_nitaer('2031')= -0.0813; -p15_oghgf_nitaer('2032')= -0.0809; -p15_oghgf_nitaer('2033')= -0.0805; -p15_oghgf_nitaer('2034')= -0.0801; -p15_oghgf_nitaer('2035')= -0.0797; -p15_oghgf_nitaer('2036')= -0.0793; -p15_oghgf_nitaer('2037')= -0.0789; -p15_oghgf_nitaer('2038')= -0.0785; -p15_oghgf_nitaer('2039')= -0.0781; -p15_oghgf_nitaer('2040')= -0.0778; -p15_oghgf_nitaer('2041')= -0.0774; -p15_oghgf_nitaer('2042')= -0.0772; -p15_oghgf_nitaer('2043')= -0.0769; -p15_oghgf_nitaer('2044')= -0.0766; -p15_oghgf_nitaer('2045')= -0.0763; -p15_oghgf_nitaer('2046')= -0.0760; -p15_oghgf_nitaer('2047')= -0.0758; -p15_oghgf_nitaer('2048')= -0.0755; -p15_oghgf_nitaer('2049')= -0.0752; -p15_oghgf_nitaer('2050')= -0.0749; -p15_oghgf_nitaer('2051')= -0.0745; -p15_oghgf_nitaer('2052')= -0.0741; -p15_oghgf_nitaer('2053')= -0.0737; -p15_oghgf_nitaer('2054')= -0.0733; -p15_oghgf_nitaer('2055')= -0.0728; -p15_oghgf_nitaer('2056')= -0.0724; -p15_oghgf_nitaer('2057')= -0.0720; -p15_oghgf_nitaer('2058')= -0.0716; -p15_oghgf_nitaer('2059')= -0.0712; -p15_oghgf_nitaer('2060')= -0.0707; -p15_oghgf_nitaer('2061')= -0.0700; -p15_oghgf_nitaer('2062')= -0.0692; -p15_oghgf_nitaer('2063')= -0.0683; -p15_oghgf_nitaer('2064')= -0.0675; -p15_oghgf_nitaer('2065')= -0.0667; -p15_oghgf_nitaer('2066')= -0.0659; -p15_oghgf_nitaer('2067')= -0.0651; -p15_oghgf_nitaer('2068')= -0.0643; -p15_oghgf_nitaer('2069')= -0.0635; -p15_oghgf_nitaer('2070')= -0.0627; -p15_oghgf_nitaer('2071')= -0.0619; -p15_oghgf_nitaer('2072')= -0.0610; -p15_oghgf_nitaer('2073')= -0.0601; -p15_oghgf_nitaer('2074')= -0.0592; -p15_oghgf_nitaer('2075')= -0.0584; -p15_oghgf_nitaer('2076')= -0.0575; -p15_oghgf_nitaer('2077')= -0.0566; -p15_oghgf_nitaer('2078')= -0.0558; -p15_oghgf_nitaer('2079')= -0.0549; -p15_oghgf_nitaer('2080')= -0.0541; -p15_oghgf_nitaer('2081')= -0.0535; -p15_oghgf_nitaer('2082')= -0.0529; -p15_oghgf_nitaer('2083')= -0.0524; -p15_oghgf_nitaer('2084')= -0.0519; -p15_oghgf_nitaer('2085')= -0.0513; -p15_oghgf_nitaer('2086')= -0.0508; -p15_oghgf_nitaer('2087')= -0.0503; -p15_oghgf_nitaer('2088')= -0.0497; -p15_oghgf_nitaer('2089')= -0.0492; -p15_oghgf_nitaer('2090')= -0.0486; -p15_oghgf_nitaer('2091')= -0.0480; -p15_oghgf_nitaer('2092')= -0.0473; -p15_oghgf_nitaer('2093')= -0.0467; -p15_oghgf_nitaer('2094')= -0.0460; -p15_oghgf_nitaer('2095')= -0.0453; -p15_oghgf_nitaer('2096')= -0.0446; -p15_oghgf_nitaer('2097')= -0.0440; -p15_oghgf_nitaer('2098')= -0.0433; -p15_oghgf_nitaer('2099')= -0.0426; -p15_oghgf_nitaer('2100')= -0.0421; -p15_oghgf_nitaer('2101')= -0.0419; -p15_oghgf_nitaer('2102')= -0.0419; -p15_oghgf_nitaer('2103')= -0.0419; -p15_oghgf_nitaer('2104')= -0.0419; -p15_oghgf_nitaer('2105')= -0.0419; -p15_oghgf_nitaer('2106')= -0.0419; -p15_oghgf_nitaer('2107')= -0.0419; -p15_oghgf_nitaer('2108')= -0.0419; -p15_oghgf_nitaer('2109')= -0.0419; -p15_oghgf_nitaer('2110')= -0.0419; -p15_oghgf_nitaer('2111')= -0.0419; -p15_oghgf_nitaer('2112')= -0.0419; -p15_oghgf_nitaer('2113')= -0.0419; -p15_oghgf_nitaer('2114')= -0.0419; -p15_oghgf_nitaer('2115')= -0.0419; -p15_oghgf_nitaer('2116')= -0.0419; -p15_oghgf_nitaer('2117')= -0.0419; -p15_oghgf_nitaer('2118')= -0.0419; -p15_oghgf_nitaer('2119')= -0.0419; -p15_oghgf_nitaer('2120')= -0.0419; -p15_oghgf_nitaer('2121')= -0.0419; -p15_oghgf_nitaer('2122')= -0.0419; -p15_oghgf_nitaer('2123')= -0.0419; -p15_oghgf_nitaer('2124')= -0.0419; -p15_oghgf_nitaer('2125')= -0.0419; -p15_oghgf_nitaer('2126')= -0.0419; -p15_oghgf_nitaer('2127')= -0.0419; -p15_oghgf_nitaer('2128')= -0.0419; -p15_oghgf_nitaer('2129')= -0.0419; -p15_oghgf_nitaer('2130')= -0.0419; -p15_oghgf_nitaer('2131')= -0.0419; -p15_oghgf_nitaer('2132')= -0.0419; -p15_oghgf_nitaer('2133')= -0.0419; -p15_oghgf_nitaer('2134')= -0.0419; -p15_oghgf_nitaer('2135')= -0.0419; -p15_oghgf_nitaer('2136')= -0.0419; -p15_oghgf_nitaer('2137')= -0.0419; -p15_oghgf_nitaer('2138')= -0.0419; -p15_oghgf_nitaer('2139')= -0.0419; -p15_oghgf_nitaer('2140')= -0.0419; -p15_oghgf_nitaer('2141')= -0.0419; -p15_oghgf_nitaer('2142')= -0.0419; -p15_oghgf_nitaer('2143')= -0.0419; -p15_oghgf_nitaer('2144')= -0.0419; -p15_oghgf_nitaer('2145')= -0.0419; -p15_oghgf_nitaer('2146')= -0.0419; -p15_oghgf_nitaer('2147')= -0.0419; -p15_oghgf_nitaer('2148')= -0.0419; -p15_oghgf_nitaer('2149')= -0.0419; -p15_oghgf_nitaer('2150')= -0.0419; -p15_oghgf_crbbb('2000')= 0.0236; -p15_oghgf_crbbb('2001')= 0.0228; -p15_oghgf_crbbb('2002')= 0.0249; -p15_oghgf_crbbb('2003')= 0.0269; -p15_oghgf_crbbb('2004')= 0.0290; -p15_oghgf_crbbb('2005')= 0.0314; -p15_oghgf_crbbb('2006')= 0.0344; -p15_oghgf_crbbb('2007')= 0.0378; -p15_oghgf_crbbb('2008')= 0.0411; -p15_oghgf_crbbb('2009')= 0.0445; -p15_oghgf_crbbb('2010')= 0.0475; -p15_oghgf_crbbb('2011')= 0.0497; -p15_oghgf_crbbb('2012')= 0.0515; -p15_oghgf_crbbb('2013')= 0.0532; -p15_oghgf_crbbb('2014')= 0.0550; -p15_oghgf_crbbb('2015')= 0.0568; -p15_oghgf_crbbb('2016')= 0.0585; -p15_oghgf_crbbb('2017')= 0.0603; -p15_oghgf_crbbb('2018')= 0.0621; -p15_oghgf_crbbb('2019')= 0.0638; -p15_oghgf_crbbb('2020')= 0.0647; -p15_oghgf_crbbb('2021')= 0.0637; -p15_oghgf_crbbb('2022')= 0.0617; -p15_oghgf_crbbb('2023')= 0.0598; -p15_oghgf_crbbb('2024')= 0.0578; -p15_oghgf_crbbb('2025')= 0.0559; -p15_oghgf_crbbb('2026')= 0.0540; -p15_oghgf_crbbb('2027')= 0.0520; -p15_oghgf_crbbb('2028')= 0.0501; -p15_oghgf_crbbb('2029')= 0.0481; -p15_oghgf_crbbb('2030')= 0.0462; -p15_oghgf_crbbb('2031')= 0.0442; -p15_oghgf_crbbb('2032')= 0.0422; -p15_oghgf_crbbb('2033')= 0.0402; -p15_oghgf_crbbb('2034')= 0.0382; -p15_oghgf_crbbb('2035')= 0.0362; -p15_oghgf_crbbb('2036')= 0.0342; -p15_oghgf_crbbb('2037')= 0.0322; -p15_oghgf_crbbb('2038')= 0.0302; -p15_oghgf_crbbb('2039')= 0.0282; -p15_oghgf_crbbb('2040')= 0.0263; -p15_oghgf_crbbb('2041')= 0.0247; -p15_oghgf_crbbb('2042')= 0.0232; -p15_oghgf_crbbb('2043')= 0.0217; -p15_oghgf_crbbb('2044')= 0.0202; -p15_oghgf_crbbb('2045')= 0.0187; -p15_oghgf_crbbb('2046')= 0.0172; -p15_oghgf_crbbb('2047')= 0.0157; -p15_oghgf_crbbb('2048')= 0.0142; -p15_oghgf_crbbb('2049')= 0.0128; -p15_oghgf_crbbb('2050')= 0.0112; -p15_oghgf_crbbb('2051')= 0.0096; -p15_oghgf_crbbb('2052')= 0.0080; -p15_oghgf_crbbb('2053')= 0.0064; -p15_oghgf_crbbb('2054')= 0.0048; -p15_oghgf_crbbb('2055')= 0.0031; -p15_oghgf_crbbb('2056')= 0.0015; -p15_oghgf_crbbb('2057')= 0.00; -p15_oghgf_crbbb('2058')= 0.00; -p15_oghgf_crbbb('2059')= 0.00; -p15_oghgf_crbbb('2060')= 0.00; -p15_oghgf_crbbb('2061')= 0.00; -p15_oghgf_crbbb('2062')= 0.00; -p15_oghgf_crbbb('2063')= 0.00; -p15_oghgf_crbbb('2064')= 0.00; -p15_oghgf_crbbb('2065')= 0.00; -p15_oghgf_crbbb('2066')= 0.00; -p15_oghgf_crbbb('2067')= 0.00; -p15_oghgf_crbbb('2068')= 0.0; -p15_oghgf_crbbb('2069')= 0.0; -p15_oghgf_crbbb('2070')= 0.0; -p15_oghgf_crbbb('2071')= 0.0; -p15_oghgf_crbbb('2072')= 0.0; -p15_oghgf_crbbb('2073')= 0.0; -p15_oghgf_crbbb('2074')= 0.0; -p15_oghgf_crbbb('2075')= 0.00; -p15_oghgf_crbbb('2076')= 0.00; -p15_oghgf_crbbb('2077')= 0.00; -p15_oghgf_crbbb('2078')= 0.00; -p15_oghgf_crbbb('2079')= 0.00; -p15_oghgf_crbbb('2080')= 0.00; -p15_oghgf_crbbb('2081')= 0.00; -p15_oghgf_crbbb('2082')= 0.00; -p15_oghgf_crbbb('2083')= 0.00; -p15_oghgf_crbbb('2084')= 0.00; -p15_oghgf_crbbb('2085')= 0.00; -p15_oghgf_crbbb('2086')= 0.00; -p15_oghgf_crbbb('2087')= 0.0; -p15_oghgf_crbbb('2088')= 0.0; -p15_oghgf_crbbb('2089')= 0.00; -p15_oghgf_crbbb('2090')= 0.00; -p15_oghgf_crbbb('2091')= 0.00; -p15_oghgf_crbbb('2092')= 0.00; -p15_oghgf_crbbb('2093')= 0.00; -p15_oghgf_crbbb('2094')= 0.00; -p15_oghgf_crbbb('2095')= 0.000; -p15_oghgf_crbbb('2096')= 0.000; -p15_oghgf_crbbb('2097')= 0.0004; -p15_oghgf_crbbb('2098')= 0.0009; -p15_oghgf_crbbb('2099')= 0.0013; -p15_oghgf_crbbb('2100')= 0.0017; -p15_oghgf_crbbb('2101')= 0.0018; -p15_oghgf_crbbb('2102')= 0.0018; -p15_oghgf_crbbb('2103')= 0.0018; -p15_oghgf_crbbb('2104')= 0.0018; -p15_oghgf_crbbb('2105')= 0.0018; -p15_oghgf_crbbb('2106')= 0.0018; -p15_oghgf_crbbb('2107')= 0.0018; -p15_oghgf_crbbb('2108')= 0.0018; -p15_oghgf_crbbb('2109')= 0.0018; -p15_oghgf_crbbb('2110')= 0.0018; -p15_oghgf_crbbb('2111')= 0.0018; -p15_oghgf_crbbb('2112')= 0.0018; -p15_oghgf_crbbb('2113')= 0.0018; -p15_oghgf_crbbb('2114')= 0.0018; -p15_oghgf_crbbb('2115')= 0.0018; -p15_oghgf_crbbb('2116')= 0.0018; -p15_oghgf_crbbb('2117')= 0.0018; -p15_oghgf_crbbb('2118')= 0.0018; -p15_oghgf_crbbb('2119')= 0.0018; -p15_oghgf_crbbb('2120')= 0.0018; -p15_oghgf_crbbb('2121')= 0.0018; -p15_oghgf_crbbb('2122')= 0.0018; -p15_oghgf_crbbb('2123')= 0.0018; -p15_oghgf_crbbb('2124')= 0.0018; -p15_oghgf_crbbb('2125')= 0.0018; -p15_oghgf_crbbb('2126')= 0.0018; -p15_oghgf_crbbb('2127')= 0.0018; -p15_oghgf_crbbb('2128')= 0.0018; -p15_oghgf_crbbb('2129')= 0.0018; -p15_oghgf_crbbb('2130')= 0.0018; -p15_oghgf_crbbb('2131')= 0.0018; -p15_oghgf_crbbb('2132')= 0.0018; -p15_oghgf_crbbb('2133')= 0.0018; -p15_oghgf_crbbb('2134')= 0.0018; -p15_oghgf_crbbb('2135')= 0.0018; -p15_oghgf_crbbb('2136')= 0.0018; -p15_oghgf_crbbb('2137')= 0.0018; -p15_oghgf_crbbb('2138')= 0.0018; -p15_oghgf_crbbb('2139')= 0.0018; -p15_oghgf_crbbb('2140')= 0.0018; -p15_oghgf_crbbb('2141')= 0.0018; -p15_oghgf_crbbb('2142')= 0.0018; -p15_oghgf_crbbb('2143')= 0.0018; -p15_oghgf_crbbb('2144')= 0.0018; -p15_oghgf_crbbb('2145')= 0.0018; -p15_oghgf_crbbb('2146')= 0.0018; -p15_oghgf_crbbb('2147')= 0.0018; -p15_oghgf_crbbb('2148')= 0.0018; -p15_oghgf_crbbb('2149')= 0.0018; -p15_oghgf_crbbb('2150')= 0.0018; -p15_oghgf_ffbc('2000')= 0.1870; -p15_oghgf_ffbc('2001')= 0.1894; -p15_oghgf_ffbc('2002')= 0.1938; -p15_oghgf_ffbc('2003')= 0.1968; -p15_oghgf_ffbc('2004')= 0.1989; -p15_oghgf_ffbc('2005')= 0.2010; -p15_oghgf_ffbc('2006')= 0.2029; -p15_oghgf_ffbc('2007')= 0.2047; -p15_oghgf_ffbc('2008')= 0.2066; -p15_oghgf_ffbc('2009')= 0.2084; -p15_oghgf_ffbc('2010')= 0.2097; -p15_oghgf_ffbc('2011')= 0.2097; -p15_oghgf_ffbc('2012')= 0.2092; -p15_oghgf_ffbc('2013')= 0.2086; -p15_oghgf_ffbc('2014')= 0.2081; -p15_oghgf_ffbc('2015')= 0.2075; -p15_oghgf_ffbc('2016')= 0.2070; -p15_oghgf_ffbc('2017')= 0.2065; -p15_oghgf_ffbc('2018')= 0.2059; -p15_oghgf_ffbc('2019')= 0.2054; -p15_oghgf_ffbc('2020')= 0.2040; -p15_oghgf_ffbc('2021')= 0.2011; -p15_oghgf_ffbc('2022')= 0.1974; -p15_oghgf_ffbc('2023')= 0.1938; -p15_oghgf_ffbc('2024')= 0.1901; -p15_oghgf_ffbc('2025')= 0.1864; -p15_oghgf_ffbc('2026')= 0.1827; -p15_oghgf_ffbc('2027')= 0.1790; -p15_oghgf_ffbc('2028')= 0.1753; -p15_oghgf_ffbc('2029')= 0.1716; -p15_oghgf_ffbc('2030')= 0.1680; -p15_oghgf_ffbc('2031')= 0.1647; -p15_oghgf_ffbc('2032')= 0.1614; -p15_oghgf_ffbc('2033')= 0.1582; -p15_oghgf_ffbc('2034')= 0.1550; -p15_oghgf_ffbc('2035')= 0.1517; -p15_oghgf_ffbc('2036')= 0.1485; -p15_oghgf_ffbc('2037')= 0.1453; -p15_oghgf_ffbc('2038')= 0.1420; -p15_oghgf_ffbc('2039')= 0.1388; -p15_oghgf_ffbc('2040')= 0.1359; -p15_oghgf_ffbc('2041')= 0.1337; -p15_oghgf_ffbc('2042')= 0.1319; -p15_oghgf_ffbc('2043')= 0.1300; -p15_oghgf_ffbc('2044')= 0.1282; -p15_oghgf_ffbc('2045')= 0.1263; -p15_oghgf_ffbc('2046')= 0.1244; -p15_oghgf_ffbc('2047')= 0.1226; -p15_oghgf_ffbc('2048')= 0.1207; -p15_oghgf_ffbc('2049')= 0.1189; -p15_oghgf_ffbc('2050')= 0.1172; -p15_oghgf_ffbc('2051')= 0.1157; -p15_oghgf_ffbc('2052')= 0.1144; -p15_oghgf_ffbc('2053')= 0.1131; -p15_oghgf_ffbc('2054')= 0.1118; -p15_oghgf_ffbc('2055')= 0.1105; -p15_oghgf_ffbc('2056')= 0.1092; -p15_oghgf_ffbc('2057')= 0.1079; -p15_oghgf_ffbc('2058')= 0.1065; -p15_oghgf_ffbc('2059')= 0.1052; -p15_oghgf_ffbc('2060')= 0.1040; -p15_oghgf_ffbc('2061')= 0.1028; -p15_oghgf_ffbc('2062')= 0.1016; -p15_oghgf_ffbc('2063')= 0.1004; -p15_oghgf_ffbc('2064')= 0.0993; -p15_oghgf_ffbc('2065')= 0.0981; -p15_oghgf_ffbc('2066')= 0.0970; -p15_oghgf_ffbc('2067')= 0.0958; -p15_oghgf_ffbc('2068')= 0.0946; -p15_oghgf_ffbc('2069')= 0.0935; -p15_oghgf_ffbc('2070')= 0.0925; -p15_oghgf_ffbc('2071')= 0.0917; -p15_oghgf_ffbc('2072')= 0.0911; -p15_oghgf_ffbc('2073')= 0.0905; -p15_oghgf_ffbc('2074')= 0.0899; -p15_oghgf_ffbc('2075')= 0.0893; -p15_oghgf_ffbc('2076')= 0.0887; -p15_oghgf_ffbc('2077')= 0.0880; -p15_oghgf_ffbc('2078')= 0.0874; -p15_oghgf_ffbc('2079')= 0.0868; -p15_oghgf_ffbc('2080')= 0.0863; -p15_oghgf_ffbc('2081')= 0.0859; -p15_oghgf_ffbc('2082')= 0.0856; -p15_oghgf_ffbc('2083')= 0.0852; -p15_oghgf_ffbc('2084')= 0.0849; -p15_oghgf_ffbc('2085')= 0.0846; -p15_oghgf_ffbc('2086')= 0.0842; -p15_oghgf_ffbc('2087')= 0.0839; -p15_oghgf_ffbc('2088')= 0.0836; -p15_oghgf_ffbc('2089')= 0.0832; -p15_oghgf_ffbc('2090')= 0.0829; -p15_oghgf_ffbc('2091')= 0.0825; -p15_oghgf_ffbc('2092')= 0.0820; -p15_oghgf_ffbc('2093')= 0.0816; -p15_oghgf_ffbc('2094')= 0.0812; -p15_oghgf_ffbc('2095')= 0.0807; -p15_oghgf_ffbc('2096')= 0.0803; -p15_oghgf_ffbc('2097')= 0.0799; -p15_oghgf_ffbc('2098')= 0.0794; -p15_oghgf_ffbc('2099')= 0.0790; -p15_oghgf_ffbc('2100')= 0.0787; -p15_oghgf_ffbc('2101')= 0.0786; -p15_oghgf_ffbc('2102')= 0.0786; -p15_oghgf_ffbc('2103')= 0.0786; -p15_oghgf_ffbc('2104')= 0.0786; -p15_oghgf_ffbc('2105')= 0.0786; -p15_oghgf_ffbc('2106')= 0.0786; -p15_oghgf_ffbc('2107')= 0.0786; -p15_oghgf_ffbc('2108')= 0.0786; -p15_oghgf_ffbc('2109')= 0.0786; -p15_oghgf_ffbc('2110')= 0.0786; -p15_oghgf_ffbc('2111')= 0.0786; -p15_oghgf_ffbc('2112')= 0.0786; -p15_oghgf_ffbc('2113')= 0.0786; -p15_oghgf_ffbc('2114')= 0.0786; -p15_oghgf_ffbc('2115')= 0.0786; -p15_oghgf_ffbc('2116')= 0.0786; -p15_oghgf_ffbc('2117')= 0.0786; -p15_oghgf_ffbc('2118')= 0.0786; -p15_oghgf_ffbc('2119')= 0.0786; -p15_oghgf_ffbc('2120')= 0.0786; -p15_oghgf_ffbc('2121')= 0.0786; -p15_oghgf_ffbc('2122')= 0.0786; -p15_oghgf_ffbc('2123')= 0.0786; -p15_oghgf_ffbc('2124')= 0.0786; -p15_oghgf_ffbc('2125')= 0.0786; -p15_oghgf_ffbc('2126')= 0.0786; -p15_oghgf_ffbc('2127')= 0.0786; -p15_oghgf_ffbc('2128')= 0.0786; -p15_oghgf_ffbc('2129')= 0.0786; -p15_oghgf_ffbc('2130')= 0.0786; -p15_oghgf_ffbc('2131')= 0.0786; -p15_oghgf_ffbc('2132')= 0.0786; -p15_oghgf_ffbc('2133')= 0.0786; -p15_oghgf_ffbc('2134')= 0.0786; -p15_oghgf_ffbc('2135')= 0.0786; -p15_oghgf_ffbc('2136')= 0.0786; -p15_oghgf_ffbc('2137')= 0.0786; -p15_oghgf_ffbc('2138')= 0.0786; -p15_oghgf_ffbc('2139')= 0.0786; -p15_oghgf_ffbc('2140')= 0.0786; -p15_oghgf_ffbc('2141')= 0.0786; -p15_oghgf_ffbc('2142')= 0.0786; -p15_oghgf_ffbc('2143')= 0.0786; -p15_oghgf_ffbc('2144')= 0.0786; -p15_oghgf_ffbc('2145')= 0.0786; -p15_oghgf_ffbc('2146')= 0.0786; -p15_oghgf_ffbc('2147')= 0.0786; -p15_oghgf_ffbc('2148')= 0.0786; -p15_oghgf_ffbc('2149')= 0.0786; -p15_oghgf_ffbc('2150')= 0.0786; -p15_oghgf_ffoc('2000')= -0.0467; -p15_oghgf_ffoc('2001')= -0.0478; -p15_oghgf_ffoc('2002')= -0.0490; -p15_oghgf_ffoc('2003')= -0.0497; -p15_oghgf_ffoc('2004')= -0.0499; -p15_oghgf_ffoc('2005')= -0.0501; -p15_oghgf_ffoc('2006')= -0.0502; -p15_oghgf_ffoc('2007')= -0.0502; -p15_oghgf_ffoc('2008')= -0.0503; -p15_oghgf_ffoc('2009')= -0.0504; -p15_oghgf_ffoc('2010')= -0.0504; -p15_oghgf_ffoc('2011')= -0.0505; -p15_oghgf_ffoc('2012')= -0.0505; -p15_oghgf_ffoc('2013')= -0.0506; -p15_oghgf_ffoc('2014')= -0.0506; -p15_oghgf_ffoc('2015')= -0.0506; -p15_oghgf_ffoc('2016')= -0.0507; -p15_oghgf_ffoc('2017')= -0.0507; -p15_oghgf_ffoc('2018')= -0.0508; -p15_oghgf_ffoc('2019')= -0.0508; -p15_oghgf_ffoc('2020')= -0.0508; -p15_oghgf_ffoc('2021')= -0.0507; -p15_oghgf_ffoc('2022')= -0.0505; -p15_oghgf_ffoc('2023')= -0.0503; -p15_oghgf_ffoc('2024')= -0.0501; -p15_oghgf_ffoc('2025')= -0.0499; -p15_oghgf_ffoc('2026')= -0.0498; -p15_oghgf_ffoc('2027')= -0.0496; -p15_oghgf_ffoc('2028')= -0.0494; -p15_oghgf_ffoc('2029')= -0.0492; -p15_oghgf_ffoc('2030')= -0.0490; -p15_oghgf_ffoc('2031')= -0.0485; -p15_oghgf_ffoc('2032')= -0.0481; -p15_oghgf_ffoc('2033')= -0.0476; -p15_oghgf_ffoc('2034')= -0.0471; -p15_oghgf_ffoc('2035')= -0.0466; -p15_oghgf_ffoc('2036')= -0.0461; -p15_oghgf_ffoc('2037')= -0.0456; -p15_oghgf_ffoc('2038')= -0.0451; -p15_oghgf_ffoc('2039')= -0.0446; -p15_oghgf_ffoc('2040')= -0.0442; -p15_oghgf_ffoc('2041')= -0.0439; -p15_oghgf_ffoc('2042')= -0.0436; -p15_oghgf_ffoc('2043')= -0.0433; -p15_oghgf_ffoc('2044')= -0.0430; -p15_oghgf_ffoc('2045')= -0.0428; -p15_oghgf_ffoc('2046')= -0.0425; -p15_oghgf_ffoc('2047')= -0.0422; -p15_oghgf_ffoc('2048')= -0.0419; -p15_oghgf_ffoc('2049')= -0.0416; -p15_oghgf_ffoc('2050')= -0.0414; -p15_oghgf_ffoc('2051')= -0.0413; -p15_oghgf_ffoc('2052')= -0.0413; -p15_oghgf_ffoc('2053')= -0.0412; -p15_oghgf_ffoc('2054')= -0.0412; -p15_oghgf_ffoc('2055')= -0.0411; -p15_oghgf_ffoc('2056')= -0.0411; -p15_oghgf_ffoc('2057')= -0.0411; -p15_oghgf_ffoc('2058')= -0.0410; -p15_oghgf_ffoc('2059')= -0.0410; -p15_oghgf_ffoc('2060')= -0.0409; -p15_oghgf_ffoc('2061')= -0.0407; -p15_oghgf_ffoc('2062')= -0.0405; -p15_oghgf_ffoc('2063')= -0.0402; -p15_oghgf_ffoc('2064')= -0.0400; -p15_oghgf_ffoc('2065')= -0.0398; -p15_oghgf_ffoc('2066')= -0.0396; -p15_oghgf_ffoc('2067')= -0.0394; -p15_oghgf_ffoc('2068')= -0.0391; -p15_oghgf_ffoc('2069')= -0.0389; -p15_oghgf_ffoc('2070')= -0.0387; -p15_oghgf_ffoc('2071')= -0.0385; -p15_oghgf_ffoc('2072')= -0.0384; -p15_oghgf_ffoc('2073')= -0.0382; -p15_oghgf_ffoc('2074')= -0.0381; -p15_oghgf_ffoc('2075')= -0.0379; -p15_oghgf_ffoc('2076')= -0.0377; -p15_oghgf_ffoc('2077')= -0.0376; -p15_oghgf_ffoc('2078')= -0.0374; -p15_oghgf_ffoc('2079')= -0.0373; -p15_oghgf_ffoc('2080')= -0.0371; -p15_oghgf_ffoc('2081')= -0.0370; -p15_oghgf_ffoc('2082')= -0.0370; -p15_oghgf_ffoc('2083')= -0.0369; -p15_oghgf_ffoc('2084')= -0.0368; -p15_oghgf_ffoc('2085')= -0.0368; -p15_oghgf_ffoc('2086')= -0.0367; -p15_oghgf_ffoc('2087')= -0.0366; -p15_oghgf_ffoc('2088')= -0.0366; -p15_oghgf_ffoc('2089')= -0.0365; -p15_oghgf_ffoc('2090')= -0.0364; -p15_oghgf_ffoc('2091')= -0.0363; -p15_oghgf_ffoc('2092')= -0.0361; -p15_oghgf_ffoc('2093')= -0.0360; -p15_oghgf_ffoc('2094')= -0.0358; -p15_oghgf_ffoc('2095')= -0.0357; -p15_oghgf_ffoc('2096')= -0.0355; -p15_oghgf_ffoc('2097')= -0.0354; -p15_oghgf_ffoc('2098')= -0.0353; -p15_oghgf_ffoc('2099')= -0.0351; -p15_oghgf_ffoc('2100')= -0.0350; -p15_oghgf_ffoc('2101')= -0.0350; -p15_oghgf_ffoc('2102')= -0.0350; -p15_oghgf_ffoc('2103')= -0.0350; -p15_oghgf_ffoc('2104')= -0.0350; -p15_oghgf_ffoc('2105')= -0.0350; -p15_oghgf_ffoc('2106')= -0.0350; -p15_oghgf_ffoc('2107')= -0.0350; -p15_oghgf_ffoc('2108')= -0.0350; -p15_oghgf_ffoc('2109')= -0.0350; -p15_oghgf_ffoc('2110')= -0.0350; -p15_oghgf_ffoc('2111')= -0.0350; -p15_oghgf_ffoc('2112')= -0.0350; -p15_oghgf_ffoc('2113')= -0.0350; -p15_oghgf_ffoc('2114')= -0.0350; -p15_oghgf_ffoc('2115')= -0.0350; -p15_oghgf_ffoc('2116')= -0.0350; -p15_oghgf_ffoc('2117')= -0.0350; -p15_oghgf_ffoc('2118')= -0.0350; -p15_oghgf_ffoc('2119')= -0.0350; -p15_oghgf_ffoc('2120')= -0.0350; -p15_oghgf_ffoc('2121')= -0.0350; -p15_oghgf_ffoc('2122')= -0.0350; -p15_oghgf_ffoc('2123')= -0.0350; -p15_oghgf_ffoc('2124')= -0.0350; -p15_oghgf_ffoc('2125')= -0.0350; -p15_oghgf_ffoc('2126')= -0.0350; -p15_oghgf_ffoc('2127')= -0.0350; -p15_oghgf_ffoc('2128')= -0.0350; -p15_oghgf_ffoc('2129')= -0.0350; -p15_oghgf_ffoc('2130')= -0.0350; -p15_oghgf_ffoc('2131')= -0.0350; -p15_oghgf_ffoc('2132')= -0.0350; -p15_oghgf_ffoc('2133')= -0.0350; -p15_oghgf_ffoc('2134')= -0.0350; -p15_oghgf_ffoc('2135')= -0.0350; -p15_oghgf_ffoc('2136')= -0.0350; -p15_oghgf_ffoc('2137')= -0.0350; -p15_oghgf_ffoc('2138')= -0.0350; -p15_oghgf_ffoc('2139')= -0.0350; -p15_oghgf_ffoc('2140')= -0.0350; -p15_oghgf_ffoc('2141')= -0.0350; -p15_oghgf_ffoc('2142')= -0.0350; -p15_oghgf_ffoc('2143')= -0.0350; -p15_oghgf_ffoc('2144')= -0.0350; -p15_oghgf_ffoc('2145')= -0.0350; -p15_oghgf_ffoc('2146')= -0.0350; -p15_oghgf_ffoc('2147')= -0.0350; -p15_oghgf_ffoc('2148')= -0.0350; -p15_oghgf_ffoc('2149')= -0.0350; -p15_oghgf_ffoc('2150')= -0.0350; -*** EOF ./modules/15_climate/magicc/input/data_oghgf_rcp3pd.inc diff --git a/modules/15_climate/magicc/input/data_oghgf_rcp45.inc b/modules/15_climate/magicc/input/data_oghgf_rcp45.inc deleted file mode 100644 index 1a2b8f0b7..000000000 --- a/modules/15_climate/magicc/input/data_oghgf_rcp45.inc +++ /dev/null @@ -1,1965 +0,0 @@ -*** SOF ./modules/15_climate/magicc/input/data_oghgf_rcp45.inc -p15_oghgf_pfc('2000')= 0.0048; -p15_oghgf_pfc('2001')= 0.0049; -p15_oghgf_pfc('2002')= 0.0050; -p15_oghgf_pfc('2003')= 0.0051; -p15_oghgf_pfc('2004')= 0.0052; -p15_oghgf_pfc('2005')= 0.0053; -p15_oghgf_pfc('2006')= 0.0055; -p15_oghgf_pfc('2007')= 0.0056; -p15_oghgf_pfc('2008')= 0.0057; -p15_oghgf_pfc('2009')= 0.0058; -p15_oghgf_pfc('2010')= 0.0059; -p15_oghgf_pfc('2011')= 0.0060; -p15_oghgf_pfc('2012')= 0.0061; -p15_oghgf_pfc('2013')= 0.0062; -p15_oghgf_pfc('2014')= 0.0063; -p15_oghgf_pfc('2015')= 0.0064; -p15_oghgf_pfc('2016')= 0.0064; -p15_oghgf_pfc('2017')= 0.0065; -p15_oghgf_pfc('2018')= 0.0066; -p15_oghgf_pfc('2019')= 0.0067; -p15_oghgf_pfc('2020')= 0.0068; -p15_oghgf_pfc('2021')= 0.0069; -p15_oghgf_pfc('2022')= 0.0069; -p15_oghgf_pfc('2023')= 0.0070; -p15_oghgf_pfc('2024')= 0.0071; -p15_oghgf_pfc('2025')= 0.0072; -p15_oghgf_pfc('2026')= 0.0072; -p15_oghgf_pfc('2027')= 0.0073; -p15_oghgf_pfc('2028')= 0.0074; -p15_oghgf_pfc('2029')= 0.0075; -p15_oghgf_pfc('2030')= 0.0075; -p15_oghgf_pfc('2031')= 0.0076; -p15_oghgf_pfc('2032')= 0.0077; -p15_oghgf_pfc('2033')= 0.0078; -p15_oghgf_pfc('2034')= 0.0078; -p15_oghgf_pfc('2035')= 0.0079; -p15_oghgf_pfc('2036')= 0.0080; -p15_oghgf_pfc('2037')= 0.0081; -p15_oghgf_pfc('2038')= 0.0081; -p15_oghgf_pfc('2039')= 0.0082; -p15_oghgf_pfc('2040')= 0.0083; -p15_oghgf_pfc('2041')= 0.0084; -p15_oghgf_pfc('2042')= 0.0085; -p15_oghgf_pfc('2043')= 0.0085; -p15_oghgf_pfc('2044')= 0.0086; -p15_oghgf_pfc('2045')= 0.0087; -p15_oghgf_pfc('2046')= 0.0088; -p15_oghgf_pfc('2047')= 0.0089; -p15_oghgf_pfc('2048')= 0.0090; -p15_oghgf_pfc('2049')= 0.0090; -p15_oghgf_pfc('2050')= 0.0091; -p15_oghgf_pfc('2051')= 0.0092; -p15_oghgf_pfc('2052')= 0.0093; -p15_oghgf_pfc('2053')= 0.0094; -p15_oghgf_pfc('2054')= 0.0095; -p15_oghgf_pfc('2055')= 0.0095; -p15_oghgf_pfc('2056')= 0.0096; -p15_oghgf_pfc('2057')= 0.0097; -p15_oghgf_pfc('2058')= 0.0098; -p15_oghgf_pfc('2059')= 0.0099; -p15_oghgf_pfc('2060')= 0.0099; -p15_oghgf_pfc('2061')= 0.0100; -p15_oghgf_pfc('2062')= 0.0101; -p15_oghgf_pfc('2063')= 0.0102; -p15_oghgf_pfc('2064')= 0.0103; -p15_oghgf_pfc('2065')= 0.0104; -p15_oghgf_pfc('2066')= 0.0104; -p15_oghgf_pfc('2067')= 0.0105; -p15_oghgf_pfc('2068')= 0.0106; -p15_oghgf_pfc('2069')= 0.0107; -p15_oghgf_pfc('2070')= 0.0108; -p15_oghgf_pfc('2071')= 0.0108; -p15_oghgf_pfc('2072')= 0.0109; -p15_oghgf_pfc('2073')= 0.0110; -p15_oghgf_pfc('2074')= 0.0111; -p15_oghgf_pfc('2075')= 0.0112; -p15_oghgf_pfc('2076')= 0.0113; -p15_oghgf_pfc('2077')= 0.0113; -p15_oghgf_pfc('2078')= 0.0114; -p15_oghgf_pfc('2079')= 0.0115; -p15_oghgf_pfc('2080')= 0.0116; -p15_oghgf_pfc('2081')= 0.0117; -p15_oghgf_pfc('2082')= 0.0118; -p15_oghgf_pfc('2083')= 0.0118; -p15_oghgf_pfc('2084')= 0.0119; -p15_oghgf_pfc('2085')= 0.0120; -p15_oghgf_pfc('2086')= 0.0121; -p15_oghgf_pfc('2087')= 0.0122; -p15_oghgf_pfc('2088')= 0.0123; -p15_oghgf_pfc('2089')= 0.0124; -p15_oghgf_pfc('2090')= 0.0125; -p15_oghgf_pfc('2091')= 0.0126; -p15_oghgf_pfc('2092')= 0.0126; -p15_oghgf_pfc('2093')= 0.0127; -p15_oghgf_pfc('2094')= 0.0128; -p15_oghgf_pfc('2095')= 0.0129; -p15_oghgf_pfc('2096')= 0.0130; -p15_oghgf_pfc('2097')= 0.0131; -p15_oghgf_pfc('2098')= 0.0132; -p15_oghgf_pfc('2099')= 0.0133; -p15_oghgf_pfc('2100')= 0.0134; -p15_oghgf_pfc('2101')= 0.0135; -p15_oghgf_pfc('2102')= 0.0136; -p15_oghgf_pfc('2103')= 0.0137; -p15_oghgf_pfc('2104')= 0.0138; -p15_oghgf_pfc('2105')= 0.0139; -p15_oghgf_pfc('2106')= 0.0140; -p15_oghgf_pfc('2107')= 0.0141; -p15_oghgf_pfc('2108')= 0.0141; -p15_oghgf_pfc('2109')= 0.0142; -p15_oghgf_pfc('2110')= 0.0143; -p15_oghgf_pfc('2111')= 0.0144; -p15_oghgf_pfc('2112')= 0.0145; -p15_oghgf_pfc('2113')= 0.0145; -p15_oghgf_pfc('2114')= 0.0146; -p15_oghgf_pfc('2115')= 0.0147; -p15_oghgf_pfc('2116')= 0.0148; -p15_oghgf_pfc('2117')= 0.0148; -p15_oghgf_pfc('2118')= 0.0149; -p15_oghgf_pfc('2119')= 0.0150; -p15_oghgf_pfc('2120')= 0.0150; -p15_oghgf_pfc('2121')= 0.0151; -p15_oghgf_pfc('2122')= 0.0151; -p15_oghgf_pfc('2123')= 0.0152; -p15_oghgf_pfc('2124')= 0.0152; -p15_oghgf_pfc('2125')= 0.0153; -p15_oghgf_pfc('2126')= 0.0153; -p15_oghgf_pfc('2127')= 0.0154; -p15_oghgf_pfc('2128')= 0.0154; -p15_oghgf_pfc('2129')= 0.0155; -p15_oghgf_pfc('2130')= 0.0155; -p15_oghgf_pfc('2131')= 0.0156; -p15_oghgf_pfc('2132')= 0.0156; -p15_oghgf_pfc('2133')= 0.0156; -p15_oghgf_pfc('2134')= 0.0157; -p15_oghgf_pfc('2135')= 0.0157; -p15_oghgf_pfc('2136')= 0.0157; -p15_oghgf_pfc('2137')= 0.0158; -p15_oghgf_pfc('2138')= 0.0158; -p15_oghgf_pfc('2139')= 0.0158; -p15_oghgf_pfc('2140')= 0.0158; -p15_oghgf_pfc('2141')= 0.0159; -p15_oghgf_pfc('2142')= 0.0159; -p15_oghgf_pfc('2143')= 0.0159; -p15_oghgf_pfc('2144')= 0.0159; -p15_oghgf_pfc('2145')= 0.0159; -p15_oghgf_pfc('2146')= 0.0159; -p15_oghgf_pfc('2147')= 0.0159; -p15_oghgf_pfc('2148')= 0.0159; -p15_oghgf_pfc('2149')= 0.0160; -p15_oghgf_pfc('2150')= 0.0160; -p15_oghgf_hfc('2000')= 0.0058; -p15_oghgf_hfc('2001')= 0.0068; -p15_oghgf_hfc('2002')= 0.0080; -p15_oghgf_hfc('2003')= 0.0092; -p15_oghgf_hfc('2004')= 0.0106; -p15_oghgf_hfc('2005')= 0.0120; -p15_oghgf_hfc('2006')= 0.0134; -p15_oghgf_hfc('2007')= 0.0148; -p15_oghgf_hfc('2008')= 0.0163; -p15_oghgf_hfc('2009')= 0.0177; -p15_oghgf_hfc('2010')= 0.0192; -p15_oghgf_hfc('2011')= 0.0207; -p15_oghgf_hfc('2012')= 0.0222; -p15_oghgf_hfc('2013')= 0.0237; -p15_oghgf_hfc('2014')= 0.0253; -p15_oghgf_hfc('2015')= 0.0269; -p15_oghgf_hfc('2016')= 0.0284; -p15_oghgf_hfc('2017')= 0.0300; -p15_oghgf_hfc('2018')= 0.0317; -p15_oghgf_hfc('2019')= 0.0333; -p15_oghgf_hfc('2020')= 0.0349; -p15_oghgf_hfc('2021')= 0.0365; -p15_oghgf_hfc('2022')= 0.0380; -p15_oghgf_hfc('2023')= 0.0395; -p15_oghgf_hfc('2024')= 0.0408; -p15_oghgf_hfc('2025')= 0.0421; -p15_oghgf_hfc('2026')= 0.0433; -p15_oghgf_hfc('2027')= 0.0445; -p15_oghgf_hfc('2028')= 0.0456; -p15_oghgf_hfc('2029')= 0.0466; -p15_oghgf_hfc('2030')= 0.0476; -p15_oghgf_hfc('2031')= 0.0486; -p15_oghgf_hfc('2032')= 0.0495; -p15_oghgf_hfc('2033')= 0.0504; -p15_oghgf_hfc('2034')= 0.0513; -p15_oghgf_hfc('2035')= 0.0521; -p15_oghgf_hfc('2036')= 0.0529; -p15_oghgf_hfc('2037')= 0.0537; -p15_oghgf_hfc('2038')= 0.0544; -p15_oghgf_hfc('2039')= 0.0552; -p15_oghgf_hfc('2040')= 0.0559; -p15_oghgf_hfc('2041')= 0.0566; -p15_oghgf_hfc('2042')= 0.0572; -p15_oghgf_hfc('2043')= 0.0579; -p15_oghgf_hfc('2044')= 0.0585; -p15_oghgf_hfc('2045')= 0.0591; -p15_oghgf_hfc('2046')= 0.0596; -p15_oghgf_hfc('2047')= 0.0602; -p15_oghgf_hfc('2048')= 0.0607; -p15_oghgf_hfc('2049')= 0.0612; -p15_oghgf_hfc('2050')= 0.0617; -p15_oghgf_hfc('2051')= 0.0622; -p15_oghgf_hfc('2052')= 0.0627; -p15_oghgf_hfc('2053')= 0.0631; -p15_oghgf_hfc('2054')= 0.0635; -p15_oghgf_hfc('2055')= 0.0639; -p15_oghgf_hfc('2056')= 0.0642; -p15_oghgf_hfc('2057')= 0.0644; -p15_oghgf_hfc('2058')= 0.0647; -p15_oghgf_hfc('2059')= 0.0649; -p15_oghgf_hfc('2060')= 0.0651; -p15_oghgf_hfc('2061')= 0.0652; -p15_oghgf_hfc('2062')= 0.0654; -p15_oghgf_hfc('2063')= 0.0655; -p15_oghgf_hfc('2064')= 0.0657; -p15_oghgf_hfc('2065')= 0.0658; -p15_oghgf_hfc('2066')= 0.0660; -p15_oghgf_hfc('2067')= 0.0661; -p15_oghgf_hfc('2068')= 0.0663; -p15_oghgf_hfc('2069')= 0.0664; -p15_oghgf_hfc('2070')= 0.0666; -p15_oghgf_hfc('2071')= 0.0667; -p15_oghgf_hfc('2072')= 0.0669; -p15_oghgf_hfc('2073')= 0.0671; -p15_oghgf_hfc('2074')= 0.0673; -p15_oghgf_hfc('2075')= 0.0675; -p15_oghgf_hfc('2076')= 0.0678; -p15_oghgf_hfc('2077')= 0.0680; -p15_oghgf_hfc('2078')= 0.0683; -p15_oghgf_hfc('2079')= 0.0686; -p15_oghgf_hfc('2080')= 0.0690; -p15_oghgf_hfc('2081')= 0.0693; -p15_oghgf_hfc('2082')= 0.0697; -p15_oghgf_hfc('2083')= 0.0701; -p15_oghgf_hfc('2084')= 0.0705; -p15_oghgf_hfc('2085')= 0.0710; -p15_oghgf_hfc('2086')= 0.0715; -p15_oghgf_hfc('2087')= 0.0720; -p15_oghgf_hfc('2088')= 0.0725; -p15_oghgf_hfc('2089')= 0.0730; -p15_oghgf_hfc('2090')= 0.0735; -p15_oghgf_hfc('2091')= 0.0741; -p15_oghgf_hfc('2092')= 0.0746; -p15_oghgf_hfc('2093')= 0.0752; -p15_oghgf_hfc('2094')= 0.0758; -p15_oghgf_hfc('2095')= 0.0764; -p15_oghgf_hfc('2096')= 0.0770; -p15_oghgf_hfc('2097')= 0.0777; -p15_oghgf_hfc('2098')= 0.0783; -p15_oghgf_hfc('2099')= 0.0790; -p15_oghgf_hfc('2100')= 0.0796; -p15_oghgf_hfc('2101')= 0.0803; -p15_oghgf_hfc('2102')= 0.0809; -p15_oghgf_hfc('2103')= 0.0815; -p15_oghgf_hfc('2104')= 0.0821; -p15_oghgf_hfc('2105')= 0.0826; -p15_oghgf_hfc('2106')= 0.0831; -p15_oghgf_hfc('2107')= 0.0836; -p15_oghgf_hfc('2108')= 0.0840; -p15_oghgf_hfc('2109')= 0.0844; -p15_oghgf_hfc('2110')= 0.0848; -p15_oghgf_hfc('2111')= 0.0852; -p15_oghgf_hfc('2112')= 0.0855; -p15_oghgf_hfc('2113')= 0.0858; -p15_oghgf_hfc('2114')= 0.0861; -p15_oghgf_hfc('2115')= 0.0863; -p15_oghgf_hfc('2116')= 0.0866; -p15_oghgf_hfc('2117')= 0.0868; -p15_oghgf_hfc('2118')= 0.0870; -p15_oghgf_hfc('2119')= 0.0872; -p15_oghgf_hfc('2120')= 0.0874; -p15_oghgf_hfc('2121')= 0.0876; -p15_oghgf_hfc('2122')= 0.0877; -p15_oghgf_hfc('2123')= 0.0879; -p15_oghgf_hfc('2124')= 0.0880; -p15_oghgf_hfc('2125')= 0.0881; -p15_oghgf_hfc('2126')= 0.0882; -p15_oghgf_hfc('2127')= 0.0883; -p15_oghgf_hfc('2128')= 0.0884; -p15_oghgf_hfc('2129')= 0.0885; -p15_oghgf_hfc('2130')= 0.0885; -p15_oghgf_hfc('2131')= 0.0886; -p15_oghgf_hfc('2132')= 0.0887; -p15_oghgf_hfc('2133')= 0.0887; -p15_oghgf_hfc('2134')= 0.0887; -p15_oghgf_hfc('2135')= 0.0888; -p15_oghgf_hfc('2136')= 0.0888; -p15_oghgf_hfc('2137')= 0.0888; -p15_oghgf_hfc('2138')= 0.0889; -p15_oghgf_hfc('2139')= 0.0889; -p15_oghgf_hfc('2140')= 0.0889; -p15_oghgf_hfc('2141')= 0.0889; -p15_oghgf_hfc('2142')= 0.0889; -p15_oghgf_hfc('2143')= 0.0889; -p15_oghgf_hfc('2144')= 0.0889; -p15_oghgf_hfc('2145')= 0.0889; -p15_oghgf_hfc('2146')= 0.0888; -p15_oghgf_hfc('2147')= 0.0888; -p15_oghgf_hfc('2148')= 0.0888; -p15_oghgf_hfc('2149')= 0.0888; -p15_oghgf_hfc('2150')= 0.0888; -p15_oghgf_sf6('2000')= 0.0024; -p15_oghgf_sf6('2001')= 0.0025; -p15_oghgf_sf6('2002')= 0.0026; -p15_oghgf_sf6('2003')= 0.0027; -p15_oghgf_sf6('2004')= 0.0028; -p15_oghgf_sf6('2005')= 0.0030; -p15_oghgf_sf6('2006')= 0.0031; -p15_oghgf_sf6('2007')= 0.0032; -p15_oghgf_sf6('2008')= 0.0034; -p15_oghgf_sf6('2009')= 0.0035; -p15_oghgf_sf6('2010')= 0.0036; -p15_oghgf_sf6('2011')= 0.0037; -p15_oghgf_sf6('2012')= 0.0038; -p15_oghgf_sf6('2013')= 0.0040; -p15_oghgf_sf6('2014')= 0.0041; -p15_oghgf_sf6('2015')= 0.0041; -p15_oghgf_sf6('2016')= 0.0042; -p15_oghgf_sf6('2017')= 0.0043; -p15_oghgf_sf6('2018')= 0.0044; -p15_oghgf_sf6('2019')= 0.0045; -p15_oghgf_sf6('2020')= 0.0045; -p15_oghgf_sf6('2021')= 0.0046; -p15_oghgf_sf6('2022')= 0.0046; -p15_oghgf_sf6('2023')= 0.0047; -p15_oghgf_sf6('2024')= 0.0047; -p15_oghgf_sf6('2025')= 0.0048; -p15_oghgf_sf6('2026')= 0.0048; -p15_oghgf_sf6('2027')= 0.0049; -p15_oghgf_sf6('2028')= 0.0049; -p15_oghgf_sf6('2029')= 0.0050; -p15_oghgf_sf6('2030')= 0.0051; -p15_oghgf_sf6('2031')= 0.0051; -p15_oghgf_sf6('2032')= 0.0052; -p15_oghgf_sf6('2033')= 0.0052; -p15_oghgf_sf6('2034')= 0.0053; -p15_oghgf_sf6('2035')= 0.0054; -p15_oghgf_sf6('2036')= 0.0054; -p15_oghgf_sf6('2037')= 0.0055; -p15_oghgf_sf6('2038')= 0.0055; -p15_oghgf_sf6('2039')= 0.0056; -p15_oghgf_sf6('2040')= 0.0057; -p15_oghgf_sf6('2041')= 0.0057; -p15_oghgf_sf6('2042')= 0.0058; -p15_oghgf_sf6('2043')= 0.0059; -p15_oghgf_sf6('2044')= 0.0060; -p15_oghgf_sf6('2045')= 0.0060; -p15_oghgf_sf6('2046')= 0.0061; -p15_oghgf_sf6('2047')= 0.0062; -p15_oghgf_sf6('2048')= 0.0062; -p15_oghgf_sf6('2049')= 0.0063; -p15_oghgf_sf6('2050')= 0.0064; -p15_oghgf_sf6('2051')= 0.0065; -p15_oghgf_sf6('2052')= 0.0065; -p15_oghgf_sf6('2053')= 0.0066; -p15_oghgf_sf6('2054')= 0.0067; -p15_oghgf_sf6('2055')= 0.0068; -p15_oghgf_sf6('2056')= 0.0069; -p15_oghgf_sf6('2057')= 0.0069; -p15_oghgf_sf6('2058')= 0.0070; -p15_oghgf_sf6('2059')= 0.0071; -p15_oghgf_sf6('2060')= 0.0072; -p15_oghgf_sf6('2061')= 0.0073; -p15_oghgf_sf6('2062')= 0.0074; -p15_oghgf_sf6('2063')= 0.0075; -p15_oghgf_sf6('2064')= 0.0075; -p15_oghgf_sf6('2065')= 0.0076; -p15_oghgf_sf6('2066')= 0.0077; -p15_oghgf_sf6('2067')= 0.0078; -p15_oghgf_sf6('2068')= 0.0079; -p15_oghgf_sf6('2069')= 0.0080; -p15_oghgf_sf6('2070')= 0.0081; -p15_oghgf_sf6('2071')= 0.0082; -p15_oghgf_sf6('2072')= 0.0083; -p15_oghgf_sf6('2073')= 0.0084; -p15_oghgf_sf6('2074')= 0.0085; -p15_oghgf_sf6('2075')= 0.0086; -p15_oghgf_sf6('2076')= 0.0087; -p15_oghgf_sf6('2077')= 0.0088; -p15_oghgf_sf6('2078')= 0.0089; -p15_oghgf_sf6('2079')= 0.0091; -p15_oghgf_sf6('2080')= 0.0092; -p15_oghgf_sf6('2081')= 0.0093; -p15_oghgf_sf6('2082')= 0.0094; -p15_oghgf_sf6('2083')= 0.0095; -p15_oghgf_sf6('2084')= 0.0096; -p15_oghgf_sf6('2085')= 0.0097; -p15_oghgf_sf6('2086')= 0.0099; -p15_oghgf_sf6('2087')= 0.0100; -p15_oghgf_sf6('2088')= 0.0101; -p15_oghgf_sf6('2089')= 0.0102; -p15_oghgf_sf6('2090')= 0.0103; -p15_oghgf_sf6('2091')= 0.0104; -p15_oghgf_sf6('2092')= 0.0106; -p15_oghgf_sf6('2093')= 0.0107; -p15_oghgf_sf6('2094')= 0.0108; -p15_oghgf_sf6('2095')= 0.0109; -p15_oghgf_sf6('2096')= 0.0111; -p15_oghgf_sf6('2097')= 0.0112; -p15_oghgf_sf6('2098')= 0.0113; -p15_oghgf_sf6('2099')= 0.0114; -p15_oghgf_sf6('2100')= 0.0116; -p15_oghgf_sf6('2101')= 0.0117; -p15_oghgf_sf6('2102')= 0.0118; -p15_oghgf_sf6('2103')= 0.0120; -p15_oghgf_sf6('2104')= 0.0121; -p15_oghgf_sf6('2105')= 0.0122; -p15_oghgf_sf6('2106')= 0.0123; -p15_oghgf_sf6('2107')= 0.0124; -p15_oghgf_sf6('2108')= 0.0126; -p15_oghgf_sf6('2109')= 0.0127; -p15_oghgf_sf6('2110')= 0.0128; -p15_oghgf_sf6('2111')= 0.0129; -p15_oghgf_sf6('2112')= 0.0130; -p15_oghgf_sf6('2113')= 0.0131; -p15_oghgf_sf6('2114')= 0.0132; -p15_oghgf_sf6('2115')= 0.0133; -p15_oghgf_sf6('2116')= 0.0134; -p15_oghgf_sf6('2117')= 0.0134; -p15_oghgf_sf6('2118')= 0.0135; -p15_oghgf_sf6('2119')= 0.0136; -p15_oghgf_sf6('2120')= 0.0137; -p15_oghgf_sf6('2121')= 0.0138; -p15_oghgf_sf6('2122')= 0.0139; -p15_oghgf_sf6('2123')= 0.0139; -p15_oghgf_sf6('2124')= 0.0140; -p15_oghgf_sf6('2125')= 0.0141; -p15_oghgf_sf6('2126')= 0.0141; -p15_oghgf_sf6('2127')= 0.0142; -p15_oghgf_sf6('2128')= 0.0143; -p15_oghgf_sf6('2129')= 0.0143; -p15_oghgf_sf6('2130')= 0.0144; -p15_oghgf_sf6('2131')= 0.0144; -p15_oghgf_sf6('2132')= 0.0145; -p15_oghgf_sf6('2133')= 0.0145; -p15_oghgf_sf6('2134')= 0.0146; -p15_oghgf_sf6('2135')= 0.0146; -p15_oghgf_sf6('2136')= 0.0146; -p15_oghgf_sf6('2137')= 0.0147; -p15_oghgf_sf6('2138')= 0.0147; -p15_oghgf_sf6('2139')= 0.0147; -p15_oghgf_sf6('2140')= 0.0148; -p15_oghgf_sf6('2141')= 0.0148; -p15_oghgf_sf6('2142')= 0.0148; -p15_oghgf_sf6('2143')= 0.0148; -p15_oghgf_sf6('2144')= 0.0149; -p15_oghgf_sf6('2145')= 0.0149; -p15_oghgf_sf6('2146')= 0.0149; -p15_oghgf_sf6('2147')= 0.0149; -p15_oghgf_sf6('2148')= 0.0149; -p15_oghgf_sf6('2149')= 0.0149; -p15_oghgf_sf6('2150')= 0.0149; -p15_oghgf_montreal('2000')= 0.3196; -p15_oghgf_montreal('2001')= 0.3203; -p15_oghgf_montreal('2002')= 0.3210; -p15_oghgf_montreal('2003')= 0.3213; -p15_oghgf_montreal('2004')= 0.3213; -p15_oghgf_montreal('2005')= 0.3211; -p15_oghgf_montreal('2006')= 0.3205; -p15_oghgf_montreal('2007')= 0.3195; -p15_oghgf_montreal('2008')= 0.3186; -p15_oghgf_montreal('2009')= 0.3176; -p15_oghgf_montreal('2010')= 0.3166; -p15_oghgf_montreal('2011')= 0.3155; -p15_oghgf_montreal('2012')= 0.3144; -p15_oghgf_montreal('2013')= 0.3132; -p15_oghgf_montreal('2014')= 0.3120; -p15_oghgf_montreal('2015')= 0.3107; -p15_oghgf_montreal('2016')= 0.3094; -p15_oghgf_montreal('2017')= 0.3081; -p15_oghgf_montreal('2018')= 0.3067; -p15_oghgf_montreal('2019')= 0.3053; -p15_oghgf_montreal('2020')= 0.3038; -p15_oghgf_montreal('2021')= 0.3023; -p15_oghgf_montreal('2022')= 0.3007; -p15_oghgf_montreal('2023')= 0.2991; -p15_oghgf_montreal('2024')= 0.2974; -p15_oghgf_montreal('2025')= 0.2957; -p15_oghgf_montreal('2026')= 0.2939; -p15_oghgf_montreal('2027')= 0.2921; -p15_oghgf_montreal('2028')= 0.2902; -p15_oghgf_montreal('2029')= 0.2883; -p15_oghgf_montreal('2030')= 0.2864; -p15_oghgf_montreal('2031')= 0.2844; -p15_oghgf_montreal('2032')= 0.2823; -p15_oghgf_montreal('2033')= 0.2801; -p15_oghgf_montreal('2034')= 0.2777; -p15_oghgf_montreal('2035')= 0.2750; -p15_oghgf_montreal('2036')= 0.2720; -p15_oghgf_montreal('2037')= 0.2688; -p15_oghgf_montreal('2038')= 0.2652; -p15_oghgf_montreal('2039')= 0.2613; -p15_oghgf_montreal('2040')= 0.2571; -p15_oghgf_montreal('2041')= 0.2526; -p15_oghgf_montreal('2042')= 0.2478; -p15_oghgf_montreal('2043')= 0.2428; -p15_oghgf_montreal('2044')= 0.2377; -p15_oghgf_montreal('2045')= 0.2324; -p15_oghgf_montreal('2046')= 0.2272; -p15_oghgf_montreal('2047')= 0.2220; -p15_oghgf_montreal('2048')= 0.2168; -p15_oghgf_montreal('2049')= 0.2118; -p15_oghgf_montreal('2050')= 0.2068; -p15_oghgf_montreal('2051')= 0.2019; -p15_oghgf_montreal('2052')= 0.1971; -p15_oghgf_montreal('2053')= 0.1925; -p15_oghgf_montreal('2054')= 0.1880; -p15_oghgf_montreal('2055')= 0.1836; -p15_oghgf_montreal('2056')= 0.1793; -p15_oghgf_montreal('2057')= 0.1752; -p15_oghgf_montreal('2058')= 0.1712; -p15_oghgf_montreal('2059')= 0.1674; -p15_oghgf_montreal('2060')= 0.1637; -p15_oghgf_montreal('2061')= 0.1601; -p15_oghgf_montreal('2062')= 0.1566; -p15_oghgf_montreal('2063')= 0.1533; -p15_oghgf_montreal('2064')= 0.1501; -p15_oghgf_montreal('2065')= 0.1469; -p15_oghgf_montreal('2066')= 0.1439; -p15_oghgf_montreal('2067')= 0.1410; -p15_oghgf_montreal('2068')= 0.1382; -p15_oghgf_montreal('2069')= 0.1355; -p15_oghgf_montreal('2070')= 0.1328; -p15_oghgf_montreal('2071')= 0.1303; -p15_oghgf_montreal('2072')= 0.1278; -p15_oghgf_montreal('2073')= 0.1254; -p15_oghgf_montreal('2074')= 0.1231; -p15_oghgf_montreal('2075')= 0.1209; -p15_oghgf_montreal('2076')= 0.1187; -p15_oghgf_montreal('2077')= 0.1166; -p15_oghgf_montreal('2078')= 0.1146; -p15_oghgf_montreal('2079')= 0.1126; -p15_oghgf_montreal('2080')= 0.1106; -p15_oghgf_montreal('2081')= 0.1088; -p15_oghgf_montreal('2082')= 0.1069; -p15_oghgf_montreal('2083')= 0.1052; -p15_oghgf_montreal('2084')= 0.1034; -p15_oghgf_montreal('2085')= 0.1018; -p15_oghgf_montreal('2086')= 0.1001; -p15_oghgf_montreal('2087')= 0.0985; -p15_oghgf_montreal('2088')= 0.0970; -p15_oghgf_montreal('2089')= 0.0954; -p15_oghgf_montreal('2090')= 0.0940; -p15_oghgf_montreal('2091')= 0.0925; -p15_oghgf_montreal('2092')= 0.0911; -p15_oghgf_montreal('2093')= 0.0897; -p15_oghgf_montreal('2094')= 0.0883; -p15_oghgf_montreal('2095')= 0.0870; -p15_oghgf_montreal('2096')= 0.0857; -p15_oghgf_montreal('2097')= 0.0844; -p15_oghgf_montreal('2098')= 0.0832; -p15_oghgf_montreal('2099')= 0.0820; -p15_oghgf_montreal('2100')= 0.0808; -p15_oghgf_montreal('2101')= 0.0796; -p15_oghgf_montreal('2102')= 0.0784; -p15_oghgf_montreal('2103')= 0.0773; -p15_oghgf_montreal('2104')= 0.0762; -p15_oghgf_montreal('2105')= 0.0751; -p15_oghgf_montreal('2106')= 0.0740; -p15_oghgf_montreal('2107')= 0.0730; -p15_oghgf_montreal('2108')= 0.0719; -p15_oghgf_montreal('2109')= 0.0709; -p15_oghgf_montreal('2110')= 0.0699; -p15_oghgf_montreal('2111')= 0.0689; -p15_oghgf_montreal('2112')= 0.0680; -p15_oghgf_montreal('2113')= 0.0670; -p15_oghgf_montreal('2114')= 0.0661; -p15_oghgf_montreal('2115')= 0.0652; -p15_oghgf_montreal('2116')= 0.0643; -p15_oghgf_montreal('2117')= 0.0634; -p15_oghgf_montreal('2118')= 0.0625; -p15_oghgf_montreal('2119')= 0.0617; -p15_oghgf_montreal('2120')= 0.0608; -p15_oghgf_montreal('2121')= 0.0600; -p15_oghgf_montreal('2122')= 0.0592; -p15_oghgf_montreal('2123')= 0.0584; -p15_oghgf_montreal('2124')= 0.0576; -p15_oghgf_montreal('2125')= 0.0568; -p15_oghgf_montreal('2126')= 0.0561; -p15_oghgf_montreal('2127')= 0.0553; -p15_oghgf_montreal('2128')= 0.0546; -p15_oghgf_montreal('2129')= 0.0538; -p15_oghgf_montreal('2130')= 0.0531; -p15_oghgf_montreal('2131')= 0.0524; -p15_oghgf_montreal('2132')= 0.0517; -p15_oghgf_montreal('2133')= 0.0510; -p15_oghgf_montreal('2134')= 0.0504; -p15_oghgf_montreal('2135')= 0.0497; -p15_oghgf_montreal('2136')= 0.0490; -p15_oghgf_montreal('2137')= 0.0484; -p15_oghgf_montreal('2138')= 0.0478; -p15_oghgf_montreal('2139')= 0.0471; -p15_oghgf_montreal('2140')= 0.0465; -p15_oghgf_montreal('2141')= 0.0459; -p15_oghgf_montreal('2142')= 0.0453; -p15_oghgf_montreal('2143')= 0.0447; -p15_oghgf_montreal('2144')= 0.0441; -p15_oghgf_montreal('2145')= 0.0436; -p15_oghgf_montreal('2146')= 0.0430; -p15_oghgf_montreal('2147')= 0.0425; -p15_oghgf_montreal('2148')= 0.0419; -p15_oghgf_montreal('2149')= 0.0414; -p15_oghgf_montreal('2150')= 0.0411; -p15_oghgf_o3str('2000')= -0.0612; -p15_oghgf_o3str('2001')= -0.0592; -p15_oghgf_o3str('2002')= -0.0575; -p15_oghgf_o3str('2003')= -0.0551; -p15_oghgf_o3str('2004')= -0.0523; -p15_oghgf_o3str('2005')= -0.0497; -p15_oghgf_o3str('2006')= -0.0478; -p15_oghgf_o3str('2007')= -0.0461; -p15_oghgf_o3str('2008')= -0.0444; -p15_oghgf_o3str('2009')= -0.0425; -p15_oghgf_o3str('2010')= -0.0406; -p15_oghgf_o3str('2011')= -0.0390; -p15_oghgf_o3str('2012')= -0.0371; -p15_oghgf_o3str('2013')= -0.0350; -p15_oghgf_o3str('2014')= -0.0332; -p15_oghgf_o3str('2015')= -0.0315; -p15_oghgf_o3str('2016')= -0.0298; -p15_oghgf_o3str('2017')= -0.0282; -p15_oghgf_o3str('2018')= -0.0265; -p15_oghgf_o3str('2019')= -0.0245; -p15_oghgf_o3str('2020')= -0.0224; -p15_oghgf_o3str('2021')= -0.0208; -p15_oghgf_o3str('2022')= -0.0193; -p15_oghgf_o3str('2023')= -0.0179; -p15_oghgf_o3str('2024')= -0.0166; -p15_oghgf_o3str('2025')= -0.0153; -p15_oghgf_o3str('2026')= -0.0141; -p15_oghgf_o3str('2027')= -0.0130; -p15_oghgf_o3str('2028')= -0.0119; -p15_oghgf_o3str('2029')= -0.0108; -p15_oghgf_o3str('2030')= -0.0099; -p15_oghgf_o3str('2031')= -0.0090; -p15_oghgf_o3str('2032')= -0.0081; -p15_oghgf_o3str('2033')= -0.0073; -p15_oghgf_o3str('2034')= -0.0065; -p15_oghgf_o3str('2035')= -0.0058; -p15_oghgf_o3str('2036')= -0.0051; -p15_oghgf_o3str('2037')= -0.0044; -p15_oghgf_o3str('2038')= -0.0038; -p15_oghgf_o3str('2039')= -0.0032; -p15_oghgf_o3str('2040')= -0.0027; -p15_oghgf_o3str('2041')= -0.0022; -p15_oghgf_o3str('2042')= -0.0017; -p15_oghgf_o3str('2043')= -0.0013; -p15_oghgf_o3str('2044')= -0.0009; -p15_oghgf_o3str('2045')= -0.0006; -p15_oghgf_o3str('2046')= -0.0004; -p15_oghgf_o3str('2047')= -0.0002; -p15_oghgf_o3str('2048')= -0.0000; -p15_oghgf_o3str('2049')= -0.0000; -p15_oghgf_o3str('2050')= 0.0000; -p15_oghgf_o3str('2051')= 0.0000; -p15_oghgf_o3str('2052')= 0.0000; -p15_oghgf_o3str('2053')= 0.0000; -p15_oghgf_o3str('2054')= 0.0000; -p15_oghgf_o3str('2055')= 0.0000; -p15_oghgf_o3str('2056')= 0.0000; -p15_oghgf_o3str('2057')= 0.0000; -p15_oghgf_o3str('2058')= 0.0000; -p15_oghgf_o3str('2059')= 0.0000; -p15_oghgf_o3str('2060')= 0.0000; -p15_oghgf_o3str('2061')= 0.0000; -p15_oghgf_o3str('2062')= 0.0000; -p15_oghgf_o3str('2063')= 0.0000; -p15_oghgf_o3str('2064')= 0.0000; -p15_oghgf_o3str('2065')= 0.0000; -p15_oghgf_o3str('2066')= 0.0000; -p15_oghgf_o3str('2067')= 0.0000; -p15_oghgf_o3str('2068')= 0.0000; -p15_oghgf_o3str('2069')= 0.0000; -p15_oghgf_o3str('2070')= 0.0000; -p15_oghgf_o3str('2071')= 0.0000; -p15_oghgf_o3str('2072')= 0.0000; -p15_oghgf_o3str('2073')= 0.0000; -p15_oghgf_o3str('2074')= 0.0000; -p15_oghgf_o3str('2075')= 0.0000; -p15_oghgf_o3str('2076')= 0.0000; -p15_oghgf_o3str('2077')= 0.0000; -p15_oghgf_o3str('2078')= 0.0000; -p15_oghgf_o3str('2079')= 0.0000; -p15_oghgf_o3str('2080')= 0.0000; -p15_oghgf_o3str('2081')= 0.0000; -p15_oghgf_o3str('2082')= 0.0000; -p15_oghgf_o3str('2083')= 0.0000; -p15_oghgf_o3str('2084')= 0.0000; -p15_oghgf_o3str('2085')= 0.0000; -p15_oghgf_o3str('2086')= 0.0000; -p15_oghgf_o3str('2087')= 0.0000; -p15_oghgf_o3str('2088')= 0.0000; -p15_oghgf_o3str('2089')= 0.0000; -p15_oghgf_o3str('2090')= 0.0000; -p15_oghgf_o3str('2091')= 0.0000; -p15_oghgf_o3str('2092')= 0.0000; -p15_oghgf_o3str('2093')= 0.0000; -p15_oghgf_o3str('2094')= 0.0000; -p15_oghgf_o3str('2095')= 0.0000; -p15_oghgf_o3str('2096')= 0.0000; -p15_oghgf_o3str('2097')= 0.0000; -p15_oghgf_o3str('2098')= 0.0000; -p15_oghgf_o3str('2099')= 0.0000; -p15_oghgf_o3str('2100')= 0.0000; -p15_oghgf_o3str('2101')= 0.0000; -p15_oghgf_o3str('2102')= 0.0000; -p15_oghgf_o3str('2103')= 0.0000; -p15_oghgf_o3str('2104')= 0.0000; -p15_oghgf_o3str('2105')= 0.0000; -p15_oghgf_o3str('2106')= 0.0000; -p15_oghgf_o3str('2107')= 0.0000; -p15_oghgf_o3str('2108')= 0.0000; -p15_oghgf_o3str('2109')= 0.0000; -p15_oghgf_o3str('2110')= 0.0000; -p15_oghgf_o3str('2111')= 0.0000; -p15_oghgf_o3str('2112')= 0.0000; -p15_oghgf_o3str('2113')= 0.0000; -p15_oghgf_o3str('2114')= 0.0000; -p15_oghgf_o3str('2115')= 0.0000; -p15_oghgf_o3str('2116')= 0.0000; -p15_oghgf_o3str('2117')= 0.0000; -p15_oghgf_o3str('2118')= 0.0000; -p15_oghgf_o3str('2119')= 0.0000; -p15_oghgf_o3str('2120')= 0.0000; -p15_oghgf_o3str('2121')= 0.0000; -p15_oghgf_o3str('2122')= 0.0000; -p15_oghgf_o3str('2123')= 0.0000; -p15_oghgf_o3str('2124')= 0.0000; -p15_oghgf_o3str('2125')= 0.0000; -p15_oghgf_o3str('2126')= 0.0000; -p15_oghgf_o3str('2127')= 0.0000; -p15_oghgf_o3str('2128')= 0.0000; -p15_oghgf_o3str('2129')= 0.0000; -p15_oghgf_o3str('2130')= 0.0000; -p15_oghgf_o3str('2131')= 0.0000; -p15_oghgf_o3str('2132')= 0.0000; -p15_oghgf_o3str('2133')= 0.0000; -p15_oghgf_o3str('2134')= 0.0000; -p15_oghgf_o3str('2135')= 0.0000; -p15_oghgf_o3str('2136')= 0.0000; -p15_oghgf_o3str('2137')= 0.0000; -p15_oghgf_o3str('2138')= 0.0000; -p15_oghgf_o3str('2139')= 0.0000; -p15_oghgf_o3str('2140')= 0.0000; -p15_oghgf_o3str('2141')= 0.0000; -p15_oghgf_o3str('2142')= 0.0000; -p15_oghgf_o3str('2143')= 0.0000; -p15_oghgf_o3str('2144')= 0.0000; -p15_oghgf_o3str('2145')= 0.0000; -p15_oghgf_o3str('2146')= 0.0000; -p15_oghgf_o3str('2147')= 0.0000; -p15_oghgf_o3str('2148')= 0.0000; -p15_oghgf_o3str('2149')= 0.0000; -p15_oghgf_o3str('2150')= 0.0000; -p15_oghgf_o3trp('2000')= 0.3737; -p15_oghgf_o3trp('2001')= 0.3735; -p15_oghgf_o3trp('2002')= 0.3739; -p15_oghgf_o3trp('2003')= 0.3747; -p15_oghgf_o3trp('2004')= 0.3754; -p15_oghgf_o3trp('2005')= 0.3758; -p15_oghgf_o3trp('2006')= 0.3765; -p15_oghgf_o3trp('2007')= 0.3765; -p15_oghgf_o3trp('2008')= 0.3755; -p15_oghgf_o3trp('2009')= 0.3747; -p15_oghgf_o3trp('2010')= 0.3738; -p15_oghgf_o3trp('2011')= 0.3729; -p15_oghgf_o3trp('2012')= 0.3720; -p15_oghgf_o3trp('2013')= 0.3711; -p15_oghgf_o3trp('2014')= 0.3702; -p15_oghgf_o3trp('2015')= 0.3693; -p15_oghgf_o3trp('2016')= 0.3684; -p15_oghgf_o3trp('2017')= 0.3676; -p15_oghgf_o3trp('2018')= 0.3667; -p15_oghgf_o3trp('2019')= 0.3658; -p15_oghgf_o3trp('2020')= 0.3649; -p15_oghgf_o3trp('2021')= 0.3641; -p15_oghgf_o3trp('2022')= 0.3636; -p15_oghgf_o3trp('2023')= 0.3636; -p15_oghgf_o3trp('2024')= 0.3636; -p15_oghgf_o3trp('2025')= 0.3636; -p15_oghgf_o3trp('2026')= 0.3636; -p15_oghgf_o3trp('2027')= 0.3635; -p15_oghgf_o3trp('2028')= 0.3635; -p15_oghgf_o3trp('2029')= 0.3634; -p15_oghgf_o3trp('2030')= 0.3633; -p15_oghgf_o3trp('2031')= 0.3633; -p15_oghgf_o3trp('2032')= 0.3628; -p15_oghgf_o3trp('2033')= 0.3618; -p15_oghgf_o3trp('2034')= 0.3609; -p15_oghgf_o3trp('2035')= 0.3599; -p15_oghgf_o3trp('2036')= 0.3589; -p15_oghgf_o3trp('2037')= 0.3579; -p15_oghgf_o3trp('2038')= 0.3569; -p15_oghgf_o3trp('2039')= 0.3559; -p15_oghgf_o3trp('2040')= 0.3548; -p15_oghgf_o3trp('2041')= 0.3538; -p15_oghgf_o3trp('2042')= 0.3523; -p15_oghgf_o3trp('2043')= 0.3504; -p15_oghgf_o3trp('2044')= 0.3485; -p15_oghgf_o3trp('2045')= 0.3466; -p15_oghgf_o3trp('2046')= 0.3446; -p15_oghgf_o3trp('2047')= 0.3426; -p15_oghgf_o3trp('2048')= 0.3406; -p15_oghgf_o3trp('2049')= 0.3386; -p15_oghgf_o3trp('2050')= 0.3366; -p15_oghgf_o3trp('2051')= 0.3345; -p15_oghgf_o3trp('2052')= 0.3324; -p15_oghgf_o3trp('2053')= 0.3303; -p15_oghgf_o3trp('2054')= 0.3281; -p15_oghgf_o3trp('2055')= 0.3258; -p15_oghgf_o3trp('2056')= 0.3235; -p15_oghgf_o3trp('2057')= 0.3212; -p15_oghgf_o3trp('2058')= 0.3189; -p15_oghgf_o3trp('2059')= 0.3166; -p15_oghgf_o3trp('2060')= 0.3142; -p15_oghgf_o3trp('2061')= 0.3119; -p15_oghgf_o3trp('2062')= 0.3095; -p15_oghgf_o3trp('2063')= 0.3071; -p15_oghgf_o3trp('2064')= 0.3047; -p15_oghgf_o3trp('2065')= 0.3022; -p15_oghgf_o3trp('2066')= 0.2997; -p15_oghgf_o3trp('2067')= 0.2972; -p15_oghgf_o3trp('2068')= 0.2947; -p15_oghgf_o3trp('2069')= 0.2921; -p15_oghgf_o3trp('2070')= 0.2896; -p15_oghgf_o3trp('2071')= 0.2870; -p15_oghgf_o3trp('2072')= 0.2845; -p15_oghgf_o3trp('2073')= 0.2819; -p15_oghgf_o3trp('2074')= 0.2793; -p15_oghgf_o3trp('2075')= 0.2766; -p15_oghgf_o3trp('2076')= 0.2740; -p15_oghgf_o3trp('2077')= 0.2713; -p15_oghgf_o3trp('2078')= 0.2686; -p15_oghgf_o3trp('2079')= 0.2659; -p15_oghgf_o3trp('2080')= 0.2632; -p15_oghgf_o3trp('2081')= 0.2605; -p15_oghgf_o3trp('2082')= 0.2586; -p15_oghgf_o3trp('2083')= 0.2575; -p15_oghgf_o3trp('2084')= 0.2565; -p15_oghgf_o3trp('2085')= 0.2555; -p15_oghgf_o3trp('2086')= 0.2545; -p15_oghgf_o3trp('2087')= 0.2535; -p15_oghgf_o3trp('2088')= 0.2526; -p15_oghgf_o3trp('2089')= 0.2517; -p15_oghgf_o3trp('2090')= 0.2508; -p15_oghgf_o3trp('2091')= 0.2499; -p15_oghgf_o3trp('2092')= 0.2491; -p15_oghgf_o3trp('2093')= 0.2483; -p15_oghgf_o3trp('2094')= 0.2475; -p15_oghgf_o3trp('2095')= 0.2467; -p15_oghgf_o3trp('2096')= 0.2459; -p15_oghgf_o3trp('2097')= 0.2451; -p15_oghgf_o3trp('2098')= 0.2443; -p15_oghgf_o3trp('2099')= 0.2435; -p15_oghgf_o3trp('2100')= 0.2428; -p15_oghgf_o3trp('2101')= 0.2420; -p15_oghgf_o3trp('2102')= 0.2414; -p15_oghgf_o3trp('2103')= 0.2411; -p15_oghgf_o3trp('2104')= 0.2409; -p15_oghgf_o3trp('2105')= 0.2407; -p15_oghgf_o3trp('2106')= 0.2405; -p15_oghgf_o3trp('2107')= 0.2403; -p15_oghgf_o3trp('2108')= 0.2401; -p15_oghgf_o3trp('2109')= 0.2400; -p15_oghgf_o3trp('2110')= 0.2398; -p15_oghgf_o3trp('2111')= 0.2397; -p15_oghgf_o3trp('2112')= 0.2396; -p15_oghgf_o3trp('2113')= 0.2395; -p15_oghgf_o3trp('2114')= 0.2394; -p15_oghgf_o3trp('2115')= 0.2393; -p15_oghgf_o3trp('2116')= 0.2392; -p15_oghgf_o3trp('2117')= 0.2392; -p15_oghgf_o3trp('2118')= 0.2391; -p15_oghgf_o3trp('2119')= 0.2391; -p15_oghgf_o3trp('2120')= 0.2390; -p15_oghgf_o3trp('2121')= 0.2390; -p15_oghgf_o3trp('2122')= 0.2389; -p15_oghgf_o3trp('2123')= 0.2389; -p15_oghgf_o3trp('2124')= 0.2388; -p15_oghgf_o3trp('2125')= 0.2388; -p15_oghgf_o3trp('2126')= 0.2388; -p15_oghgf_o3trp('2127')= 0.2387; -p15_oghgf_o3trp('2128')= 0.2387; -p15_oghgf_o3trp('2129')= 0.2387; -p15_oghgf_o3trp('2130')= 0.2387; -p15_oghgf_o3trp('2131')= 0.2387; -p15_oghgf_o3trp('2132')= 0.2387; -p15_oghgf_o3trp('2133')= 0.2386; -p15_oghgf_o3trp('2134')= 0.2386; -p15_oghgf_o3trp('2135')= 0.2386; -p15_oghgf_o3trp('2136')= 0.2386; -p15_oghgf_o3trp('2137')= 0.2385; -p15_oghgf_o3trp('2138')= 0.2385; -p15_oghgf_o3trp('2139')= 0.2385; -p15_oghgf_o3trp('2140')= 0.2385; -p15_oghgf_o3trp('2141')= 0.2385; -p15_oghgf_o3trp('2142')= 0.2385; -p15_oghgf_o3trp('2143')= 0.2385; -p15_oghgf_o3trp('2144')= 0.2385; -p15_oghgf_o3trp('2145')= 0.2385; -p15_oghgf_o3trp('2146')= 0.2384; -p15_oghgf_o3trp('2147')= 0.2384; -p15_oghgf_o3trp('2148')= 0.2384; -p15_oghgf_o3trp('2149')= 0.2384; -p15_oghgf_o3trp('2150')= 0.2384; -p15_oghgf_h2ostr('2000')= 0.0820; -p15_oghgf_h2ostr('2001')= 0.0820; -p15_oghgf_h2ostr('2002')= 0.0821; -p15_oghgf_h2ostr('2003')= 0.0823; -p15_oghgf_h2ostr('2004')= 0.0823; -p15_oghgf_h2ostr('2005')= 0.0822; -p15_oghgf_h2ostr('2006')= 0.0822; -p15_oghgf_h2ostr('2007')= 0.0824; -p15_oghgf_h2ostr('2008')= 0.0826; -p15_oghgf_h2ostr('2009')= 0.0828; -p15_oghgf_h2ostr('2010')= 0.0831; -p15_oghgf_h2ostr('2011')= 0.0833; -p15_oghgf_h2ostr('2012')= 0.0835; -p15_oghgf_h2ostr('2013')= 0.0837; -p15_oghgf_h2ostr('2014')= 0.0839; -p15_oghgf_h2ostr('2015')= 0.0841; -p15_oghgf_h2ostr('2016')= 0.0843; -p15_oghgf_h2ostr('2017')= 0.0846; -p15_oghgf_h2ostr('2018')= 0.0848; -p15_oghgf_h2ostr('2019')= 0.0850; -p15_oghgf_h2ostr('2020')= 0.0852; -p15_oghgf_h2ostr('2021')= 0.0855; -p15_oghgf_h2ostr('2022')= 0.0857; -p15_oghgf_h2ostr('2023')= 0.0859; -p15_oghgf_h2ostr('2024')= 0.0861; -p15_oghgf_h2ostr('2025')= 0.0862; -p15_oghgf_h2ostr('2026')= 0.0864; -p15_oghgf_h2ostr('2027')= 0.0866; -p15_oghgf_h2ostr('2028')= 0.0867; -p15_oghgf_h2ostr('2029')= 0.0869; -p15_oghgf_h2ostr('2030')= 0.0871; -p15_oghgf_h2ostr('2031')= 0.0872; -p15_oghgf_h2ostr('2032')= 0.0873; -p15_oghgf_h2ostr('2033')= 0.0874; -p15_oghgf_h2ostr('2034')= 0.0875; -p15_oghgf_h2ostr('2035')= 0.0876; -p15_oghgf_h2ostr('2036')= 0.0876; -p15_oghgf_h2ostr('2037')= 0.0877; -p15_oghgf_h2ostr('2038')= 0.0877; -p15_oghgf_h2ostr('2039')= 0.0878; -p15_oghgf_h2ostr('2040')= 0.0878; -p15_oghgf_h2ostr('2041')= 0.0878; -p15_oghgf_h2ostr('2042')= 0.0878; -p15_oghgf_h2ostr('2043')= 0.0878; -p15_oghgf_h2ostr('2044')= 0.0878; -p15_oghgf_h2ostr('2045')= 0.0877; -p15_oghgf_h2ostr('2046')= 0.0876; -p15_oghgf_h2ostr('2047')= 0.0876; -p15_oghgf_h2ostr('2048')= 0.0875; -p15_oghgf_h2ostr('2049')= 0.0874; -p15_oghgf_h2ostr('2050')= 0.0873; -p15_oghgf_h2ostr('2051')= 0.0871; -p15_oghgf_h2ostr('2052')= 0.0870; -p15_oghgf_h2ostr('2053')= 0.0869; -p15_oghgf_h2ostr('2054')= 0.0867; -p15_oghgf_h2ostr('2055')= 0.0865; -p15_oghgf_h2ostr('2056')= 0.0862; -p15_oghgf_h2ostr('2057')= 0.0860; -p15_oghgf_h2ostr('2058')= 0.0857; -p15_oghgf_h2ostr('2059')= 0.0855; -p15_oghgf_h2ostr('2060')= 0.0852; -p15_oghgf_h2ostr('2061')= 0.0849; -p15_oghgf_h2ostr('2062')= 0.0846; -p15_oghgf_h2ostr('2063')= 0.0843; -p15_oghgf_h2ostr('2064')= 0.0840; -p15_oghgf_h2ostr('2065')= 0.0836; -p15_oghgf_h2ostr('2066')= 0.0832; -p15_oghgf_h2ostr('2067')= 0.0828; -p15_oghgf_h2ostr('2068')= 0.0824; -p15_oghgf_h2ostr('2069')= 0.0820; -p15_oghgf_h2ostr('2070')= 0.0816; -p15_oghgf_h2ostr('2071')= 0.0812; -p15_oghgf_h2ostr('2072')= 0.0808; -p15_oghgf_h2ostr('2073')= 0.0803; -p15_oghgf_h2ostr('2074')= 0.0799; -p15_oghgf_h2ostr('2075')= 0.0794; -p15_oghgf_h2ostr('2076')= 0.0789; -p15_oghgf_h2ostr('2077')= 0.0784; -p15_oghgf_h2ostr('2078')= 0.0779; -p15_oghgf_h2ostr('2079')= 0.0774; -p15_oghgf_h2ostr('2080')= 0.0768; -p15_oghgf_h2ostr('2081')= 0.0763; -p15_oghgf_h2ostr('2082')= 0.0759; -p15_oghgf_h2ostr('2083')= 0.0754; -p15_oghgf_h2ostr('2084')= 0.0750; -p15_oghgf_h2ostr('2085')= 0.0746; -p15_oghgf_h2ostr('2086')= 0.0743; -p15_oghgf_h2ostr('2087')= 0.0739; -p15_oghgf_h2ostr('2088')= 0.0736; -p15_oghgf_h2ostr('2089')= 0.0733; -p15_oghgf_h2ostr('2090')= 0.0730; -p15_oghgf_h2ostr('2091')= 0.0727; -p15_oghgf_h2ostr('2092')= 0.0724; -p15_oghgf_h2ostr('2093')= 0.0721; -p15_oghgf_h2ostr('2094')= 0.0719; -p15_oghgf_h2ostr('2095')= 0.0716; -p15_oghgf_h2ostr('2096')= 0.0714; -p15_oghgf_h2ostr('2097')= 0.0712; -p15_oghgf_h2ostr('2098')= 0.0709; -p15_oghgf_h2ostr('2099')= 0.0707; -p15_oghgf_h2ostr('2100')= 0.0705; -p15_oghgf_h2ostr('2101')= 0.0702; -p15_oghgf_h2ostr('2102')= 0.0700; -p15_oghgf_h2ostr('2103')= 0.0698; -p15_oghgf_h2ostr('2104')= 0.0697; -p15_oghgf_h2ostr('2105')= 0.0695; -p15_oghgf_h2ostr('2106')= 0.0694; -p15_oghgf_h2ostr('2107')= 0.0693; -p15_oghgf_h2ostr('2108')= 0.0692; -p15_oghgf_h2ostr('2109')= 0.0691; -p15_oghgf_h2ostr('2110')= 0.0690; -p15_oghgf_h2ostr('2111')= 0.0689; -p15_oghgf_h2ostr('2112')= 0.0688; -p15_oghgf_h2ostr('2113')= 0.0688; -p15_oghgf_h2ostr('2114')= 0.0687; -p15_oghgf_h2ostr('2115')= 0.0686; -p15_oghgf_h2ostr('2116')= 0.0686; -p15_oghgf_h2ostr('2117')= 0.0686; -p15_oghgf_h2ostr('2118')= 0.0685; -p15_oghgf_h2ostr('2119')= 0.0685; -p15_oghgf_h2ostr('2120')= 0.0685; -p15_oghgf_h2ostr('2121')= 0.0684; -p15_oghgf_h2ostr('2122')= 0.0684; -p15_oghgf_h2ostr('2123')= 0.0684; -p15_oghgf_h2ostr('2124')= 0.0683; -p15_oghgf_h2ostr('2125')= 0.0683; -p15_oghgf_h2ostr('2126')= 0.0683; -p15_oghgf_h2ostr('2127')= 0.0683; -p15_oghgf_h2ostr('2128')= 0.0683; -p15_oghgf_h2ostr('2129')= 0.0683; -p15_oghgf_h2ostr('2130')= 0.0683; -p15_oghgf_h2ostr('2131')= 0.0683; -p15_oghgf_h2ostr('2132')= 0.0682; -p15_oghgf_h2ostr('2133')= 0.0682; -p15_oghgf_h2ostr('2134')= 0.0682; -p15_oghgf_h2ostr('2135')= 0.0682; -p15_oghgf_h2ostr('2136')= 0.0682; -p15_oghgf_h2ostr('2137')= 0.0682; -p15_oghgf_h2ostr('2138')= 0.0682; -p15_oghgf_h2ostr('2139')= 0.0682; -p15_oghgf_h2ostr('2140')= 0.0682; -p15_oghgf_h2ostr('2141')= 0.0682; -p15_oghgf_h2ostr('2142')= 0.0681; -p15_oghgf_h2ostr('2143')= 0.0681; -p15_oghgf_h2ostr('2144')= 0.0681; -p15_oghgf_h2ostr('2145')= 0.0681; -p15_oghgf_h2ostr('2146')= 0.0681; -p15_oghgf_h2ostr('2147')= 0.0681; -p15_oghgf_h2ostr('2148')= 0.0681; -p15_oghgf_h2ostr('2149')= 0.0681; -p15_oghgf_h2ostr('2150')= 0.0681; -p15_oghgf_luc('2000')= -0.1924; -p15_oghgf_luc('2001')= -0.1939; -p15_oghgf_luc('2002')= -0.1957; -p15_oghgf_luc('2003')= -0.1974; -p15_oghgf_luc('2004')= -0.1991; -p15_oghgf_luc('2005')= -0.2008; -p15_oghgf_luc('2006')= -0.2024; -p15_oghgf_luc('2007')= -0.2040; -p15_oghgf_luc('2008')= -0.2054; -p15_oghgf_luc('2009')= -0.2068; -p15_oghgf_luc('2010')= -0.2081; -p15_oghgf_luc('2011')= -0.2093; -p15_oghgf_luc('2012')= -0.2104; -p15_oghgf_luc('2013')= -0.2115; -p15_oghgf_luc('2014')= -0.2124; -p15_oghgf_luc('2015')= -0.2133; -p15_oghgf_luc('2016')= -0.2141; -p15_oghgf_luc('2017')= -0.2148; -p15_oghgf_luc('2018')= -0.2154; -p15_oghgf_luc('2019')= -0.2160; -p15_oghgf_luc('2020')= -0.2165; -p15_oghgf_luc('2021')= -0.2169; -p15_oghgf_luc('2022')= -0.2173; -p15_oghgf_luc('2023')= -0.2177; -p15_oghgf_luc('2024')= -0.2181; -p15_oghgf_luc('2025')= -0.2185; -p15_oghgf_luc('2026')= -0.2188; -p15_oghgf_luc('2027')= -0.2192; -p15_oghgf_luc('2028')= -0.2195; -p15_oghgf_luc('2029')= -0.2198; -p15_oghgf_luc('2030')= -0.2201; -p15_oghgf_luc('2031')= -0.2203; -p15_oghgf_luc('2032')= -0.2206; -p15_oghgf_luc('2033')= -0.2209; -p15_oghgf_luc('2034')= -0.2211; -p15_oghgf_luc('2035')= -0.2214; -p15_oghgf_luc('2036')= -0.2217; -p15_oghgf_luc('2037')= -0.2219; -p15_oghgf_luc('2038')= -0.2222; -p15_oghgf_luc('2039')= -0.2225; -p15_oghgf_luc('2040')= -0.2227; -p15_oghgf_luc('2041')= -0.2230; -p15_oghgf_luc('2042')= -0.2233; -p15_oghgf_luc('2043')= -0.2235; -p15_oghgf_luc('2044')= -0.2238; -p15_oghgf_luc('2045')= -0.2241; -p15_oghgf_luc('2046')= -0.2244; -p15_oghgf_luc('2047')= -0.2247; -p15_oghgf_luc('2048')= -0.2251; -p15_oghgf_luc('2049')= -0.2254; -p15_oghgf_luc('2050')= -0.2257; -p15_oghgf_luc('2051')= -0.2261; -p15_oghgf_luc('2052')= -0.2264; -p15_oghgf_luc('2053')= -0.2267; -p15_oghgf_luc('2054')= -0.2270; -p15_oghgf_luc('2055')= -0.2273; -p15_oghgf_luc('2056')= -0.2276; -p15_oghgf_luc('2057')= -0.2278; -p15_oghgf_luc('2058')= -0.2281; -p15_oghgf_luc('2059')= -0.2284; -p15_oghgf_luc('2060')= -0.2286; -p15_oghgf_luc('2061')= -0.2288; -p15_oghgf_luc('2062')= -0.2291; -p15_oghgf_luc('2063')= -0.2293; -p15_oghgf_luc('2064')= -0.2295; -p15_oghgf_luc('2065')= -0.2297; -p15_oghgf_luc('2066')= -0.2299; -p15_oghgf_luc('2067')= -0.2300; -p15_oghgf_luc('2068')= -0.2302; -p15_oghgf_luc('2069')= -0.2304; -p15_oghgf_luc('2070')= -0.2305; -p15_oghgf_luc('2071')= -0.2306; -p15_oghgf_luc('2072')= -0.2307; -p15_oghgf_luc('2073')= -0.2308; -p15_oghgf_luc('2074')= -0.2309; -p15_oghgf_luc('2075')= -0.2310; -p15_oghgf_luc('2076')= -0.2311; -p15_oghgf_luc('2077')= -0.2311; -p15_oghgf_luc('2078')= -0.2311; -p15_oghgf_luc('2079')= -0.2312; -p15_oghgf_luc('2080')= -0.2312; -p15_oghgf_luc('2081')= -0.2312; -p15_oghgf_luc('2082')= -0.2312; -p15_oghgf_luc('2083')= -0.2312; -p15_oghgf_luc('2084')= -0.2312; -p15_oghgf_luc('2085')= -0.2313; -p15_oghgf_luc('2086')= -0.2313; -p15_oghgf_luc('2087')= -0.2313; -p15_oghgf_luc('2088')= -0.2313; -p15_oghgf_luc('2089')= -0.2314; -p15_oghgf_luc('2090')= -0.2314; -p15_oghgf_luc('2091')= -0.2315; -p15_oghgf_luc('2092')= -0.2315; -p15_oghgf_luc('2093')= -0.2315; -p15_oghgf_luc('2094')= -0.2316; -p15_oghgf_luc('2095')= -0.2316; -p15_oghgf_luc('2096')= -0.2317; -p15_oghgf_luc('2097')= -0.2317; -p15_oghgf_luc('2098')= -0.2318; -p15_oghgf_luc('2099')= -0.2319; -p15_oghgf_luc('2100')= -0.2319; -p15_oghgf_luc('2101')= -0.2320; -p15_oghgf_luc('2102')= -0.2320; -p15_oghgf_luc('2103')= -0.2321; -p15_oghgf_luc('2104')= -0.2322; -p15_oghgf_luc('2105')= -0.2322; -p15_oghgf_luc('2106')= -0.2323; -p15_oghgf_luc('2107')= -0.2323; -p15_oghgf_luc('2108')= -0.2323; -p15_oghgf_luc('2109')= -0.2324; -p15_oghgf_luc('2110')= -0.2324; -p15_oghgf_luc('2111')= -0.2325; -p15_oghgf_luc('2112')= -0.2325; -p15_oghgf_luc('2113')= -0.2325; -p15_oghgf_luc('2114')= -0.2325; -p15_oghgf_luc('2115')= -0.2326; -p15_oghgf_luc('2116')= -0.2326; -p15_oghgf_luc('2117')= -0.2326; -p15_oghgf_luc('2118')= -0.2326; -p15_oghgf_luc('2119')= -0.2326; -p15_oghgf_luc('2120')= -0.2327; -p15_oghgf_luc('2121')= -0.2327; -p15_oghgf_luc('2122')= -0.2327; -p15_oghgf_luc('2123')= -0.2327; -p15_oghgf_luc('2124')= -0.2327; -p15_oghgf_luc('2125')= -0.2327; -p15_oghgf_luc('2126')= -0.2327; -p15_oghgf_luc('2127')= -0.2327; -p15_oghgf_luc('2128')= -0.2327; -p15_oghgf_luc('2129')= -0.2327; -p15_oghgf_luc('2130')= -0.2327; -p15_oghgf_luc('2131')= -0.2327; -p15_oghgf_luc('2132')= -0.2327; -p15_oghgf_luc('2133')= -0.2327; -p15_oghgf_luc('2134')= -0.2327; -p15_oghgf_luc('2135')= -0.2327; -p15_oghgf_luc('2136')= -0.2327; -p15_oghgf_luc('2137')= -0.2327; -p15_oghgf_luc('2138')= -0.2327; -p15_oghgf_luc('2139')= -0.2327; -p15_oghgf_luc('2140')= -0.2327; -p15_oghgf_luc('2141')= -0.2327; -p15_oghgf_luc('2142')= -0.2327; -p15_oghgf_luc('2143')= -0.2327; -p15_oghgf_luc('2144')= -0.2327; -p15_oghgf_luc('2145')= -0.2327; -p15_oghgf_luc('2146')= -0.2327; -p15_oghgf_luc('2147')= -0.2327; -p15_oghgf_luc('2148')= -0.2327; -p15_oghgf_luc('2149')= -0.2327; -p15_oghgf_luc('2150')= -0.2327; -p15_oghgf_minaer('2000')= -0.0962; -p15_oghgf_minaer('2001')= -0.0970; -p15_oghgf_minaer('2002')= -0.0978; -p15_oghgf_minaer('2003')= -0.0987; -p15_oghgf_minaer('2004')= -0.0996; -p15_oghgf_minaer('2005')= -0.1000; -p15_oghgf_minaer('2006')= -0.1000; -p15_oghgf_minaer('2007')= -0.1000; -p15_oghgf_minaer('2008')= -0.1000; -p15_oghgf_minaer('2009')= -0.1000; -p15_oghgf_minaer('2010')= -0.1000; -p15_oghgf_minaer('2011')= -0.1000; -p15_oghgf_minaer('2012')= -0.1000; -p15_oghgf_minaer('2013')= -0.1000; -p15_oghgf_minaer('2014')= -0.1000; -p15_oghgf_minaer('2015')= -0.1000; -p15_oghgf_minaer('2016')= -0.1000; -p15_oghgf_minaer('2017')= -0.1000; -p15_oghgf_minaer('2018')= -0.1000; -p15_oghgf_minaer('2019')= -0.1000; -p15_oghgf_minaer('2020')= -0.1000; -p15_oghgf_minaer('2021')= -0.1000; -p15_oghgf_minaer('2022')= -0.1000; -p15_oghgf_minaer('2023')= -0.1000; -p15_oghgf_minaer('2024')= -0.1000; -p15_oghgf_minaer('2025')= -0.1000; -p15_oghgf_minaer('2026')= -0.1000; -p15_oghgf_minaer('2027')= -0.1000; -p15_oghgf_minaer('2028')= -0.1000; -p15_oghgf_minaer('2029')= -0.1000; -p15_oghgf_minaer('2030')= -0.1000; -p15_oghgf_minaer('2031')= -0.1000; -p15_oghgf_minaer('2032')= -0.1000; -p15_oghgf_minaer('2033')= -0.1000; -p15_oghgf_minaer('2034')= -0.1000; -p15_oghgf_minaer('2035')= -0.1000; -p15_oghgf_minaer('2036')= -0.1000; -p15_oghgf_minaer('2037')= -0.1000; -p15_oghgf_minaer('2038')= -0.1000; -p15_oghgf_minaer('2039')= -0.1000; -p15_oghgf_minaer('2040')= -0.1000; -p15_oghgf_minaer('2041')= -0.1000; -p15_oghgf_minaer('2042')= -0.1000; -p15_oghgf_minaer('2043')= -0.1000; -p15_oghgf_minaer('2044')= -0.1000; -p15_oghgf_minaer('2045')= -0.1000; -p15_oghgf_minaer('2046')= -0.1000; -p15_oghgf_minaer('2047')= -0.1000; -p15_oghgf_minaer('2048')= -0.1000; -p15_oghgf_minaer('2049')= -0.1000; -p15_oghgf_minaer('2050')= -0.1000; -p15_oghgf_minaer('2051')= -0.1000; -p15_oghgf_minaer('2052')= -0.1000; -p15_oghgf_minaer('2053')= -0.1000; -p15_oghgf_minaer('2054')= -0.1000; -p15_oghgf_minaer('2055')= -0.1000; -p15_oghgf_minaer('2056')= -0.1000; -p15_oghgf_minaer('2057')= -0.1000; -p15_oghgf_minaer('2058')= -0.1000; -p15_oghgf_minaer('2059')= -0.1000; -p15_oghgf_minaer('2060')= -0.1000; -p15_oghgf_minaer('2061')= -0.1000; -p15_oghgf_minaer('2062')= -0.1000; -p15_oghgf_minaer('2063')= -0.1000; -p15_oghgf_minaer('2064')= -0.1000; -p15_oghgf_minaer('2065')= -0.1000; -p15_oghgf_minaer('2066')= -0.1000; -p15_oghgf_minaer('2067')= -0.1000; -p15_oghgf_minaer('2068')= -0.1000; -p15_oghgf_minaer('2069')= -0.1000; -p15_oghgf_minaer('2070')= -0.1000; -p15_oghgf_minaer('2071')= -0.1000; -p15_oghgf_minaer('2072')= -0.1000; -p15_oghgf_minaer('2073')= -0.1000; -p15_oghgf_minaer('2074')= -0.1000; -p15_oghgf_minaer('2075')= -0.1000; -p15_oghgf_minaer('2076')= -0.1000; -p15_oghgf_minaer('2077')= -0.1000; -p15_oghgf_minaer('2078')= -0.1000; -p15_oghgf_minaer('2079')= -0.1000; -p15_oghgf_minaer('2080')= -0.1000; -p15_oghgf_minaer('2081')= -0.1000; -p15_oghgf_minaer('2082')= -0.1000; -p15_oghgf_minaer('2083')= -0.1000; -p15_oghgf_minaer('2084')= -0.1000; -p15_oghgf_minaer('2085')= -0.1000; -p15_oghgf_minaer('2086')= -0.1000; -p15_oghgf_minaer('2087')= -0.1000; -p15_oghgf_minaer('2088')= -0.1000; -p15_oghgf_minaer('2089')= -0.1000; -p15_oghgf_minaer('2090')= -0.1000; -p15_oghgf_minaer('2091')= -0.1000; -p15_oghgf_minaer('2092')= -0.1000; -p15_oghgf_minaer('2093')= -0.1000; -p15_oghgf_minaer('2094')= -0.1000; -p15_oghgf_minaer('2095')= -0.1000; -p15_oghgf_minaer('2096')= -0.1000; -p15_oghgf_minaer('2097')= -0.1000; -p15_oghgf_minaer('2098')= -0.1000; -p15_oghgf_minaer('2099')= -0.1000; -p15_oghgf_minaer('2100')= -0.1000; -p15_oghgf_minaer('2101')= -0.1000; -p15_oghgf_minaer('2102')= -0.1000; -p15_oghgf_minaer('2103')= -0.1000; -p15_oghgf_minaer('2104')= -0.1000; -p15_oghgf_minaer('2105')= -0.1000; -p15_oghgf_minaer('2106')= -0.1000; -p15_oghgf_minaer('2107')= -0.1000; -p15_oghgf_minaer('2108')= -0.1000; -p15_oghgf_minaer('2109')= -0.1000; -p15_oghgf_minaer('2110')= -0.1000; -p15_oghgf_minaer('2111')= -0.1000; -p15_oghgf_minaer('2112')= -0.1000; -p15_oghgf_minaer('2113')= -0.1000; -p15_oghgf_minaer('2114')= -0.1000; -p15_oghgf_minaer('2115')= -0.1000; -p15_oghgf_minaer('2116')= -0.1000; -p15_oghgf_minaer('2117')= -0.1000; -p15_oghgf_minaer('2118')= -0.1000; -p15_oghgf_minaer('2119')= -0.1000; -p15_oghgf_minaer('2120')= -0.1000; -p15_oghgf_minaer('2121')= -0.1000; -p15_oghgf_minaer('2122')= -0.1000; -p15_oghgf_minaer('2123')= -0.1000; -p15_oghgf_minaer('2124')= -0.1000; -p15_oghgf_minaer('2125')= -0.1000; -p15_oghgf_minaer('2126')= -0.1000; -p15_oghgf_minaer('2127')= -0.1000; -p15_oghgf_minaer('2128')= -0.1000; -p15_oghgf_minaer('2129')= -0.1000; -p15_oghgf_minaer('2130')= -0.1000; -p15_oghgf_minaer('2131')= -0.1000; -p15_oghgf_minaer('2132')= -0.1000; -p15_oghgf_minaer('2133')= -0.1000; -p15_oghgf_minaer('2134')= -0.1000; -p15_oghgf_minaer('2135')= -0.1000; -p15_oghgf_minaer('2136')= -0.1000; -p15_oghgf_minaer('2137')= -0.1000; -p15_oghgf_minaer('2138')= -0.1000; -p15_oghgf_minaer('2139')= -0.1000; -p15_oghgf_minaer('2140')= -0.1000; -p15_oghgf_minaer('2141')= -0.1000; -p15_oghgf_minaer('2142')= -0.1000; -p15_oghgf_minaer('2143')= -0.1000; -p15_oghgf_minaer('2144')= -0.1000; -p15_oghgf_minaer('2145')= -0.1000; -p15_oghgf_minaer('2146')= -0.1000; -p15_oghgf_minaer('2147')= -0.1000; -p15_oghgf_minaer('2148')= -0.1000; -p15_oghgf_minaer('2149')= -0.1000; -p15_oghgf_minaer('2150')= -0.1000; -p15_oghgf_nitaer('2000')= -0.0966; -p15_oghgf_nitaer('2001')= -0.0988; -p15_oghgf_nitaer('2002')= -0.0991; -p15_oghgf_nitaer('2003')= -0.0995; -p15_oghgf_nitaer('2004')= -0.0998; -p15_oghgf_nitaer('2005')= -0.1000; -p15_oghgf_nitaer('2006')= -0.0996; -p15_oghgf_nitaer('2007')= -0.0991; -p15_oghgf_nitaer('2008')= -0.0986; -p15_oghgf_nitaer('2009')= -0.0981; -p15_oghgf_nitaer('2010')= -0.0975; -p15_oghgf_nitaer('2011')= -0.0970; -p15_oghgf_nitaer('2012')= -0.0965; -p15_oghgf_nitaer('2013')= -0.0960; -p15_oghgf_nitaer('2014')= -0.0955; -p15_oghgf_nitaer('2015')= -0.0949; -p15_oghgf_nitaer('2016')= -0.0944; -p15_oghgf_nitaer('2017')= -0.0939; -p15_oghgf_nitaer('2018')= -0.0934; -p15_oghgf_nitaer('2019')= -0.0928; -p15_oghgf_nitaer('2020')= -0.0924; -p15_oghgf_nitaer('2021')= -0.0921; -p15_oghgf_nitaer('2022')= -0.0919; -p15_oghgf_nitaer('2023')= -0.0916; -p15_oghgf_nitaer('2024')= -0.0914; -p15_oghgf_nitaer('2025')= -0.0912; -p15_oghgf_nitaer('2026')= -0.0909; -p15_oghgf_nitaer('2027')= -0.0907; -p15_oghgf_nitaer('2028')= -0.0905; -p15_oghgf_nitaer('2029')= -0.0902; -p15_oghgf_nitaer('2030')= -0.0899; -p15_oghgf_nitaer('2031')= -0.0895; -p15_oghgf_nitaer('2032')= -0.0889; -p15_oghgf_nitaer('2033')= -0.0883; -p15_oghgf_nitaer('2034')= -0.0878; -p15_oghgf_nitaer('2035')= -0.0872; -p15_oghgf_nitaer('2036')= -0.0866; -p15_oghgf_nitaer('2037')= -0.0861; -p15_oghgf_nitaer('2038')= -0.0855; -p15_oghgf_nitaer('2039')= -0.0850; -p15_oghgf_nitaer('2040')= -0.0843; -p15_oghgf_nitaer('2041')= -0.0835; -p15_oghgf_nitaer('2042')= -0.0826; -p15_oghgf_nitaer('2043')= -0.0817; -p15_oghgf_nitaer('2044')= -0.0808; -p15_oghgf_nitaer('2045')= -0.0799; -p15_oghgf_nitaer('2046')= -0.0790; -p15_oghgf_nitaer('2047')= -0.0781; -p15_oghgf_nitaer('2048')= -0.0772; -p15_oghgf_nitaer('2049')= -0.0763; -p15_oghgf_nitaer('2050')= -0.0754; -p15_oghgf_nitaer('2051')= -0.0745; -p15_oghgf_nitaer('2052')= -0.0736; -p15_oghgf_nitaer('2053')= -0.0727; -p15_oghgf_nitaer('2054')= -0.0718; -p15_oghgf_nitaer('2055')= -0.0709; -p15_oghgf_nitaer('2056')= -0.0700; -p15_oghgf_nitaer('2057')= -0.0691; -p15_oghgf_nitaer('2058')= -0.0681; -p15_oghgf_nitaer('2059')= -0.0672; -p15_oghgf_nitaer('2060')= -0.0663; -p15_oghgf_nitaer('2061')= -0.0655; -p15_oghgf_nitaer('2062')= -0.0646; -p15_oghgf_nitaer('2063')= -0.0637; -p15_oghgf_nitaer('2064')= -0.0629; -p15_oghgf_nitaer('2065')= -0.0620; -p15_oghgf_nitaer('2066')= -0.0611; -p15_oghgf_nitaer('2067')= -0.0603; -p15_oghgf_nitaer('2068')= -0.0594; -p15_oghgf_nitaer('2069')= -0.0585; -p15_oghgf_nitaer('2070')= -0.0577; -p15_oghgf_nitaer('2071')= -0.0568; -p15_oghgf_nitaer('2072')= -0.0560; -p15_oghgf_nitaer('2073')= -0.0552; -p15_oghgf_nitaer('2074')= -0.0544; -p15_oghgf_nitaer('2075')= -0.0536; -p15_oghgf_nitaer('2076')= -0.0527; -p15_oghgf_nitaer('2077')= -0.0519; -p15_oghgf_nitaer('2078')= -0.0511; -p15_oghgf_nitaer('2079')= -0.0503; -p15_oghgf_nitaer('2080')= -0.0496; -p15_oghgf_nitaer('2081')= -0.0493; -p15_oghgf_nitaer('2082')= -0.0492; -p15_oghgf_nitaer('2083')= -0.0491; -p15_oghgf_nitaer('2084')= -0.0489; -p15_oghgf_nitaer('2085')= -0.0488; -p15_oghgf_nitaer('2086')= -0.0487; -p15_oghgf_nitaer('2087')= -0.0485; -p15_oghgf_nitaer('2088')= -0.0484; -p15_oghgf_nitaer('2089')= -0.0483; -p15_oghgf_nitaer('2090')= -0.0481; -p15_oghgf_nitaer('2091')= -0.0480; -p15_oghgf_nitaer('2092')= -0.0479; -p15_oghgf_nitaer('2093')= -0.0477; -p15_oghgf_nitaer('2094')= -0.0476; -p15_oghgf_nitaer('2095')= -0.0475; -p15_oghgf_nitaer('2096')= -0.0474; -p15_oghgf_nitaer('2097')= -0.0472; -p15_oghgf_nitaer('2098')= -0.0471; -p15_oghgf_nitaer('2099')= -0.0470; -p15_oghgf_nitaer('2100')= -0.0469; -p15_oghgf_nitaer('2101')= -0.0468; -p15_oghgf_nitaer('2102')= -0.0468; -p15_oghgf_nitaer('2103')= -0.0468; -p15_oghgf_nitaer('2104')= -0.0468; -p15_oghgf_nitaer('2105')= -0.0468; -p15_oghgf_nitaer('2106')= -0.0468; -p15_oghgf_nitaer('2107')= -0.0468; -p15_oghgf_nitaer('2108')= -0.0468; -p15_oghgf_nitaer('2109')= -0.0468; -p15_oghgf_nitaer('2110')= -0.0468; -p15_oghgf_nitaer('2111')= -0.0468; -p15_oghgf_nitaer('2112')= -0.0468; -p15_oghgf_nitaer('2113')= -0.0468; -p15_oghgf_nitaer('2114')= -0.0468; -p15_oghgf_nitaer('2115')= -0.0468; -p15_oghgf_nitaer('2116')= -0.0468; -p15_oghgf_nitaer('2117')= -0.0468; -p15_oghgf_nitaer('2118')= -0.0468; -p15_oghgf_nitaer('2119')= -0.0468; -p15_oghgf_nitaer('2120')= -0.0468; -p15_oghgf_nitaer('2121')= -0.0468; -p15_oghgf_nitaer('2122')= -0.0468; -p15_oghgf_nitaer('2123')= -0.0468; -p15_oghgf_nitaer('2124')= -0.0468; -p15_oghgf_nitaer('2125')= -0.0468; -p15_oghgf_nitaer('2126')= -0.0468; -p15_oghgf_nitaer('2127')= -0.0468; -p15_oghgf_nitaer('2128')= -0.0468; -p15_oghgf_nitaer('2129')= -0.0468; -p15_oghgf_nitaer('2130')= -0.0468; -p15_oghgf_nitaer('2131')= -0.0468; -p15_oghgf_nitaer('2132')= -0.0468; -p15_oghgf_nitaer('2133')= -0.0468; -p15_oghgf_nitaer('2134')= -0.0468; -p15_oghgf_nitaer('2135')= -0.0468; -p15_oghgf_nitaer('2136')= -0.0468; -p15_oghgf_nitaer('2137')= -0.0468; -p15_oghgf_nitaer('2138')= -0.0468; -p15_oghgf_nitaer('2139')= -0.0468; -p15_oghgf_nitaer('2140')= -0.0468; -p15_oghgf_nitaer('2141')= -0.0468; -p15_oghgf_nitaer('2142')= -0.0468; -p15_oghgf_nitaer('2143')= -0.0468; -p15_oghgf_nitaer('2144')= -0.0468; -p15_oghgf_nitaer('2145')= -0.0468; -p15_oghgf_nitaer('2146')= -0.0468; -p15_oghgf_nitaer('2147')= -0.0468; -p15_oghgf_nitaer('2148')= -0.0468; -p15_oghgf_nitaer('2149')= -0.0468; -p15_oghgf_nitaer('2150')= -0.0468; -p15_oghgf_crbbb('2000')= 0.0236; -p15_oghgf_crbbb('2001')= 0.0228; -p15_oghgf_crbbb('2002')= 0.0249; -p15_oghgf_crbbb('2003')= 0.0269; -p15_oghgf_crbbb('2004')= 0.0290; -p15_oghgf_crbbb('2005')= 0.0309; -p15_oghgf_crbbb('2006')= 0.0328; -p15_oghgf_crbbb('2007')= 0.0345; -p15_oghgf_crbbb('2008')= 0.0362; -p15_oghgf_crbbb('2009')= 0.0380; -p15_oghgf_crbbb('2010')= 0.0397; -p15_oghgf_crbbb('2011')= 0.0414; -p15_oghgf_crbbb('2012')= 0.0432; -p15_oghgf_crbbb('2013')= 0.0449; -p15_oghgf_crbbb('2014')= 0.0467; -p15_oghgf_crbbb('2015')= 0.0484; -p15_oghgf_crbbb('2016')= 0.0501; -p15_oghgf_crbbb('2017')= 0.0519; -p15_oghgf_crbbb('2018')= 0.0536; -p15_oghgf_crbbb('2019')= 0.0554; -p15_oghgf_crbbb('2020')= 0.0566; -p15_oghgf_crbbb('2021')= 0.0570; -p15_oghgf_crbbb('2022')= 0.0570; -p15_oghgf_crbbb('2023')= 0.0569; -p15_oghgf_crbbb('2024')= 0.0568; -p15_oghgf_crbbb('2025')= 0.0568; -p15_oghgf_crbbb('2026')= 0.0567; -p15_oghgf_crbbb('2027')= 0.0567; -p15_oghgf_crbbb('2028')= 0.0566; -p15_oghgf_crbbb('2029')= 0.0565; -p15_oghgf_crbbb('2030')= 0.0565; -p15_oghgf_crbbb('2031')= 0.0565; -p15_oghgf_crbbb('2032')= 0.0566; -p15_oghgf_crbbb('2033')= 0.0567; -p15_oghgf_crbbb('2034')= 0.0568; -p15_oghgf_crbbb('2035')= 0.0569; -p15_oghgf_crbbb('2036')= 0.0569; -p15_oghgf_crbbb('2037')= 0.0570; -p15_oghgf_crbbb('2038')= 0.0571; -p15_oghgf_crbbb('2039')= 0.0572; -p15_oghgf_crbbb('2040')= 0.0573; -p15_oghgf_crbbb('2041')= 0.0575; -p15_oghgf_crbbb('2042')= 0.0577; -p15_oghgf_crbbb('2043')= 0.0579; -p15_oghgf_crbbb('2044')= 0.0582; -p15_oghgf_crbbb('2045')= 0.0584; -p15_oghgf_crbbb('2046')= 0.0586; -p15_oghgf_crbbb('2047')= 0.0588; -p15_oghgf_crbbb('2048')= 0.0591; -p15_oghgf_crbbb('2049')= 0.0593; -p15_oghgf_crbbb('2050')= 0.0593; -p15_oghgf_crbbb('2051')= 0.0591; -p15_oghgf_crbbb('2052')= 0.0587; -p15_oghgf_crbbb('2053')= 0.0583; -p15_oghgf_crbbb('2054')= 0.0579; -p15_oghgf_crbbb('2055')= 0.0575; -p15_oghgf_crbbb('2056')= 0.0571; -p15_oghgf_crbbb('2057')= 0.0567; -p15_oghgf_crbbb('2058')= 0.0563; -p15_oghgf_crbbb('2059')= 0.0559; -p15_oghgf_crbbb('2060')= 0.0554; -p15_oghgf_crbbb('2061')= 0.0549; -p15_oghgf_crbbb('2062')= 0.0542; -p15_oghgf_crbbb('2063')= 0.0536; -p15_oghgf_crbbb('2064')= 0.0529; -p15_oghgf_crbbb('2065')= 0.0523; -p15_oghgf_crbbb('2066')= 0.0517; -p15_oghgf_crbbb('2067')= 0.0510; -p15_oghgf_crbbb('2068')= 0.0504; -p15_oghgf_crbbb('2069')= 0.0497; -p15_oghgf_crbbb('2070')= 0.0490; -p15_oghgf_crbbb('2071')= 0.0482; -p15_oghgf_crbbb('2072')= 0.0473; -p15_oghgf_crbbb('2073')= 0.0465; -p15_oghgf_crbbb('2074')= 0.0456; -p15_oghgf_crbbb('2075')= 0.0447; -p15_oghgf_crbbb('2076')= 0.0438; -p15_oghgf_crbbb('2077')= 0.0429; -p15_oghgf_crbbb('2078')= 0.0421; -p15_oghgf_crbbb('2079')= 0.0412; -p15_oghgf_crbbb('2080')= 0.0405; -p15_oghgf_crbbb('2081')= 0.0401; -p15_oghgf_crbbb('2082')= 0.0399; -p15_oghgf_crbbb('2083')= 0.0398; -p15_oghgf_crbbb('2084')= 0.0396; -p15_oghgf_crbbb('2085')= 0.0394; -p15_oghgf_crbbb('2086')= 0.0392; -p15_oghgf_crbbb('2087')= 0.0391; -p15_oghgf_crbbb('2088')= 0.0389; -p15_oghgf_crbbb('2089')= 0.0387; -p15_oghgf_crbbb('2090')= 0.0385; -p15_oghgf_crbbb('2091')= 0.0383; -p15_oghgf_crbbb('2092')= 0.0381; -p15_oghgf_crbbb('2093')= 0.0380; -p15_oghgf_crbbb('2094')= 0.0378; -p15_oghgf_crbbb('2095')= 0.0376; -p15_oghgf_crbbb('2096')= 0.0374; -p15_oghgf_crbbb('2097')= 0.0372; -p15_oghgf_crbbb('2098')= 0.0370; -p15_oghgf_crbbb('2099')= 0.0368; -p15_oghgf_crbbb('2100')= 0.0367; -p15_oghgf_crbbb('2101')= 0.0366; -p15_oghgf_crbbb('2102')= 0.0366; -p15_oghgf_crbbb('2103')= 0.0366; -p15_oghgf_crbbb('2104')= 0.0366; -p15_oghgf_crbbb('2105')= 0.0366; -p15_oghgf_crbbb('2106')= 0.0366; -p15_oghgf_crbbb('2107')= 0.0366; -p15_oghgf_crbbb('2108')= 0.0366; -p15_oghgf_crbbb('2109')= 0.0366; -p15_oghgf_crbbb('2110')= 0.0366; -p15_oghgf_crbbb('2111')= 0.0366; -p15_oghgf_crbbb('2112')= 0.0366; -p15_oghgf_crbbb('2113')= 0.0366; -p15_oghgf_crbbb('2114')= 0.0366; -p15_oghgf_crbbb('2115')= 0.0366; -p15_oghgf_crbbb('2116')= 0.0366; -p15_oghgf_crbbb('2117')= 0.0366; -p15_oghgf_crbbb('2118')= 0.0366; -p15_oghgf_crbbb('2119')= 0.0366; -p15_oghgf_crbbb('2120')= 0.0366; -p15_oghgf_crbbb('2121')= 0.0366; -p15_oghgf_crbbb('2122')= 0.0366; -p15_oghgf_crbbb('2123')= 0.0366; -p15_oghgf_crbbb('2124')= 0.0366; -p15_oghgf_crbbb('2125')= 0.0366; -p15_oghgf_crbbb('2126')= 0.0366; -p15_oghgf_crbbb('2127')= 0.0366; -p15_oghgf_crbbb('2128')= 0.0366; -p15_oghgf_crbbb('2129')= 0.0366; -p15_oghgf_crbbb('2130')= 0.0366; -p15_oghgf_crbbb('2131')= 0.0366; -p15_oghgf_crbbb('2132')= 0.0366; -p15_oghgf_crbbb('2133')= 0.0366; -p15_oghgf_crbbb('2134')= 0.0366; -p15_oghgf_crbbb('2135')= 0.0366; -p15_oghgf_crbbb('2136')= 0.0366; -p15_oghgf_crbbb('2137')= 0.0366; -p15_oghgf_crbbb('2138')= 0.0366; -p15_oghgf_crbbb('2139')= 0.0366; -p15_oghgf_crbbb('2140')= 0.0366; -p15_oghgf_crbbb('2141')= 0.0366; -p15_oghgf_crbbb('2142')= 0.0366; -p15_oghgf_crbbb('2143')= 0.0366; -p15_oghgf_crbbb('2144')= 0.0366; -p15_oghgf_crbbb('2145')= 0.0366; -p15_oghgf_crbbb('2146')= 0.0366; -p15_oghgf_crbbb('2147')= 0.0366; -p15_oghgf_crbbb('2148')= 0.0366; -p15_oghgf_crbbb('2149')= 0.0366; -p15_oghgf_crbbb('2150')= 0.0366; -p15_oghgf_ffbc('2000')= 0.1870; -p15_oghgf_ffbc('2001')= 0.1894; -p15_oghgf_ffbc('2002')= 0.1938; -p15_oghgf_ffbc('2003')= 0.1968; -p15_oghgf_ffbc('2004')= 0.1989; -p15_oghgf_ffbc('2005')= 0.2004; -p15_oghgf_ffbc('2006')= 0.2004; -p15_oghgf_ffbc('2007')= 0.1998; -p15_oghgf_ffbc('2008')= 0.1992; -p15_oghgf_ffbc('2009')= 0.1986; -p15_oghgf_ffbc('2010')= 0.1980; -p15_oghgf_ffbc('2011')= 0.1973; -p15_oghgf_ffbc('2012')= 0.1967; -p15_oghgf_ffbc('2013')= 0.1961; -p15_oghgf_ffbc('2014')= 0.1954; -p15_oghgf_ffbc('2015')= 0.1948; -p15_oghgf_ffbc('2016')= 0.1942; -p15_oghgf_ffbc('2017')= 0.1936; -p15_oghgf_ffbc('2018')= 0.1929; -p15_oghgf_ffbc('2019')= 0.1923; -p15_oghgf_ffbc('2020')= 0.1915; -p15_oghgf_ffbc('2021')= 0.1903; -p15_oghgf_ffbc('2022')= 0.1890; -p15_oghgf_ffbc('2023')= 0.1877; -p15_oghgf_ffbc('2024')= 0.1864; -p15_oghgf_ffbc('2025')= 0.1850; -p15_oghgf_ffbc('2026')= 0.1837; -p15_oghgf_ffbc('2027')= 0.1824; -p15_oghgf_ffbc('2028')= 0.1811; -p15_oghgf_ffbc('2029')= 0.1798; -p15_oghgf_ffbc('2030')= 0.1784; -p15_oghgf_ffbc('2031')= 0.1770; -p15_oghgf_ffbc('2032')= 0.1756; -p15_oghgf_ffbc('2033')= 0.1741; -p15_oghgf_ffbc('2034')= 0.1727; -p15_oghgf_ffbc('2035')= 0.1713; -p15_oghgf_ffbc('2036')= 0.1699; -p15_oghgf_ffbc('2037')= 0.1684; -p15_oghgf_ffbc('2038')= 0.1670; -p15_oghgf_ffbc('2039')= 0.1656; -p15_oghgf_ffbc('2040')= 0.1641; -p15_oghgf_ffbc('2041')= 0.1626; -p15_oghgf_ffbc('2042')= 0.1611; -p15_oghgf_ffbc('2043')= 0.1595; -p15_oghgf_ffbc('2044')= 0.1580; -p15_oghgf_ffbc('2045')= 0.1565; -p15_oghgf_ffbc('2046')= 0.1549; -p15_oghgf_ffbc('2047')= 0.1534; -p15_oghgf_ffbc('2048')= 0.1519; -p15_oghgf_ffbc('2049')= 0.1503; -p15_oghgf_ffbc('2050')= 0.1488; -p15_oghgf_ffbc('2051')= 0.1472; -p15_oghgf_ffbc('2052')= 0.1456; -p15_oghgf_ffbc('2053')= 0.1439; -p15_oghgf_ffbc('2054')= 0.1423; -p15_oghgf_ffbc('2055')= 0.1407; -p15_oghgf_ffbc('2056')= 0.1391; -p15_oghgf_ffbc('2057')= 0.1375; -p15_oghgf_ffbc('2058')= 0.1359; -p15_oghgf_ffbc('2059')= 0.1343; -p15_oghgf_ffbc('2060')= 0.1326; -p15_oghgf_ffbc('2061')= 0.1310; -p15_oghgf_ffbc('2062')= 0.1293; -p15_oghgf_ffbc('2063')= 0.1276; -p15_oghgf_ffbc('2064')= 0.1259; -p15_oghgf_ffbc('2065')= 0.1243; -p15_oghgf_ffbc('2066')= 0.1226; -p15_oghgf_ffbc('2067')= 0.1209; -p15_oghgf_ffbc('2068')= 0.1193; -p15_oghgf_ffbc('2069')= 0.1176; -p15_oghgf_ffbc('2070')= 0.1159; -p15_oghgf_ffbc('2071')= 0.1142; -p15_oghgf_ffbc('2072')= 0.1124; -p15_oghgf_ffbc('2073')= 0.1107; -p15_oghgf_ffbc('2074')= 0.1090; -p15_oghgf_ffbc('2075')= 0.1072; -p15_oghgf_ffbc('2076')= 0.1055; -p15_oghgf_ffbc('2077')= 0.1038; -p15_oghgf_ffbc('2078')= 0.1020; -p15_oghgf_ffbc('2079')= 0.1003; -p15_oghgf_ffbc('2080')= 0.0989; -p15_oghgf_ffbc('2081')= 0.0982; -p15_oghgf_ffbc('2082')= 0.0979; -p15_oghgf_ffbc('2083')= 0.0976; -p15_oghgf_ffbc('2084')= 0.0973; -p15_oghgf_ffbc('2085')= 0.0970; -p15_oghgf_ffbc('2086')= 0.0966; -p15_oghgf_ffbc('2087')= 0.0963; -p15_oghgf_ffbc('2088')= 0.0960; -p15_oghgf_ffbc('2089')= 0.0957; -p15_oghgf_ffbc('2090')= 0.0954; -p15_oghgf_ffbc('2091')= 0.0950; -p15_oghgf_ffbc('2092')= 0.0947; -p15_oghgf_ffbc('2093')= 0.0944; -p15_oghgf_ffbc('2094')= 0.0940; -p15_oghgf_ffbc('2095')= 0.0937; -p15_oghgf_ffbc('2096')= 0.0934; -p15_oghgf_ffbc('2097')= 0.0931; -p15_oghgf_ffbc('2098')= 0.0927; -p15_oghgf_ffbc('2099')= 0.0924; -p15_oghgf_ffbc('2100')= 0.0921; -p15_oghgf_ffbc('2101')= 0.0921; -p15_oghgf_ffbc('2102')= 0.0921; -p15_oghgf_ffbc('2103')= 0.0921; -p15_oghgf_ffbc('2104')= 0.0921; -p15_oghgf_ffbc('2105')= 0.0921; -p15_oghgf_ffbc('2106')= 0.0921; -p15_oghgf_ffbc('2107')= 0.0921; -p15_oghgf_ffbc('2108')= 0.0921; -p15_oghgf_ffbc('2109')= 0.0921; -p15_oghgf_ffbc('2110')= 0.0921; -p15_oghgf_ffbc('2111')= 0.0921; -p15_oghgf_ffbc('2112')= 0.0921; -p15_oghgf_ffbc('2113')= 0.0921; -p15_oghgf_ffbc('2114')= 0.0921; -p15_oghgf_ffbc('2115')= 0.0921; -p15_oghgf_ffbc('2116')= 0.0921; -p15_oghgf_ffbc('2117')= 0.0921; -p15_oghgf_ffbc('2118')= 0.0921; -p15_oghgf_ffbc('2119')= 0.0921; -p15_oghgf_ffbc('2120')= 0.0921; -p15_oghgf_ffbc('2121')= 0.0921; -p15_oghgf_ffbc('2122')= 0.0921; -p15_oghgf_ffbc('2123')= 0.0921; -p15_oghgf_ffbc('2124')= 0.0921; -p15_oghgf_ffbc('2125')= 0.0921; -p15_oghgf_ffbc('2126')= 0.0921; -p15_oghgf_ffbc('2127')= 0.0921; -p15_oghgf_ffbc('2128')= 0.0921; -p15_oghgf_ffbc('2129')= 0.0921; -p15_oghgf_ffbc('2130')= 0.0921; -p15_oghgf_ffbc('2131')= 0.0921; -p15_oghgf_ffbc('2132')= 0.0921; -p15_oghgf_ffbc('2133')= 0.0921; -p15_oghgf_ffbc('2134')= 0.0921; -p15_oghgf_ffbc('2135')= 0.0921; -p15_oghgf_ffbc('2136')= 0.0921; -p15_oghgf_ffbc('2137')= 0.0921; -p15_oghgf_ffbc('2138')= 0.0921; -p15_oghgf_ffbc('2139')= 0.0921; -p15_oghgf_ffbc('2140')= 0.0921; -p15_oghgf_ffbc('2141')= 0.0921; -p15_oghgf_ffbc('2142')= 0.0921; -p15_oghgf_ffbc('2143')= 0.0921; -p15_oghgf_ffbc('2144')= 0.0921; -p15_oghgf_ffbc('2145')= 0.0921; -p15_oghgf_ffbc('2146')= 0.0921; -p15_oghgf_ffbc('2147')= 0.0921; -p15_oghgf_ffbc('2148')= 0.0921; -p15_oghgf_ffbc('2149')= 0.0921; -p15_oghgf_ffbc('2150')= 0.0921; -p15_oghgf_ffoc('2000')= -0.0467; -p15_oghgf_ffoc('2001')= -0.0478; -p15_oghgf_ffoc('2002')= -0.0490; -p15_oghgf_ffoc('2003')= -0.0497; -p15_oghgf_ffoc('2004')= -0.0499; -p15_oghgf_ffoc('2005')= -0.0499; -p15_oghgf_ffoc('2006')= -0.0496; -p15_oghgf_ffoc('2007')= -0.0491; -p15_oghgf_ffoc('2008')= -0.0485; -p15_oghgf_ffoc('2009')= -0.0480; -p15_oghgf_ffoc('2010')= -0.0475; -p15_oghgf_ffoc('2011')= -0.0469; -p15_oghgf_ffoc('2012')= -0.0464; -p15_oghgf_ffoc('2013')= -0.0458; -p15_oghgf_ffoc('2014')= -0.0453; -p15_oghgf_ffoc('2015')= -0.0448; -p15_oghgf_ffoc('2016')= -0.0442; -p15_oghgf_ffoc('2017')= -0.0437; -p15_oghgf_ffoc('2018')= -0.0431; -p15_oghgf_ffoc('2019')= -0.0426; -p15_oghgf_ffoc('2020')= -0.0421; -p15_oghgf_ffoc('2021')= -0.0419; -p15_oghgf_ffoc('2022')= -0.0417; -p15_oghgf_ffoc('2023')= -0.0415; -p15_oghgf_ffoc('2024')= -0.0413; -p15_oghgf_ffoc('2025')= -0.0411; -p15_oghgf_ffoc('2026')= -0.0410; -p15_oghgf_ffoc('2027')= -0.0408; -p15_oghgf_ffoc('2028')= -0.0406; -p15_oghgf_ffoc('2029')= -0.0404; -p15_oghgf_ffoc('2030')= -0.0402; -p15_oghgf_ffoc('2031')= -0.0401; -p15_oghgf_ffoc('2032')= -0.0399; -p15_oghgf_ffoc('2033')= -0.0397; -p15_oghgf_ffoc('2034')= -0.0396; -p15_oghgf_ffoc('2035')= -0.0394; -p15_oghgf_ffoc('2036')= -0.0392; -p15_oghgf_ffoc('2037')= -0.0391; -p15_oghgf_ffoc('2038')= -0.0389; -p15_oghgf_ffoc('2039')= -0.0387; -p15_oghgf_ffoc('2040')= -0.0386; -p15_oghgf_ffoc('2041')= -0.0384; -p15_oghgf_ffoc('2042')= -0.0383; -p15_oghgf_ffoc('2043')= -0.0381; -p15_oghgf_ffoc('2044')= -0.0380; -p15_oghgf_ffoc('2045')= -0.0378; -p15_oghgf_ffoc('2046')= -0.0377; -p15_oghgf_ffoc('2047')= -0.0375; -p15_oghgf_ffoc('2048')= -0.0374; -p15_oghgf_ffoc('2049')= -0.0372; -p15_oghgf_ffoc('2050')= -0.0370; -p15_oghgf_ffoc('2051')= -0.0368; -p15_oghgf_ffoc('2052')= -0.0365; -p15_oghgf_ffoc('2053')= -0.0363; -p15_oghgf_ffoc('2054')= -0.0360; -p15_oghgf_ffoc('2055')= -0.0357; -p15_oghgf_ffoc('2056')= -0.0354; -p15_oghgf_ffoc('2057')= -0.0352; -p15_oghgf_ffoc('2058')= -0.0349; -p15_oghgf_ffoc('2059')= -0.0346; -p15_oghgf_ffoc('2060')= -0.0344; -p15_oghgf_ffoc('2061')= -0.0341; -p15_oghgf_ffoc('2062')= -0.0338; -p15_oghgf_ffoc('2063')= -0.0335; -p15_oghgf_ffoc('2064')= -0.0332; -p15_oghgf_ffoc('2065')= -0.0329; -p15_oghgf_ffoc('2066')= -0.0326; -p15_oghgf_ffoc('2067')= -0.0323; -p15_oghgf_ffoc('2068')= -0.0320; -p15_oghgf_ffoc('2069')= -0.0317; -p15_oghgf_ffoc('2070')= -0.0314; -p15_oghgf_ffoc('2071')= -0.0311; -p15_oghgf_ffoc('2072')= -0.0307; -p15_oghgf_ffoc('2073')= -0.0304; -p15_oghgf_ffoc('2074')= -0.0301; -p15_oghgf_ffoc('2075')= -0.0298; -p15_oghgf_ffoc('2076')= -0.0294; -p15_oghgf_ffoc('2077')= -0.0291; -p15_oghgf_ffoc('2078')= -0.0288; -p15_oghgf_ffoc('2079')= -0.0285; -p15_oghgf_ffoc('2080')= -0.0282; -p15_oghgf_ffoc('2081')= -0.0281; -p15_oghgf_ffoc('2082')= -0.0280; -p15_oghgf_ffoc('2083')= -0.0279; -p15_oghgf_ffoc('2084')= -0.0279; -p15_oghgf_ffoc('2085')= -0.0278; -p15_oghgf_ffoc('2086')= -0.0277; -p15_oghgf_ffoc('2087')= -0.0277; -p15_oghgf_ffoc('2088')= -0.0276; -p15_oghgf_ffoc('2089')= -0.0275; -p15_oghgf_ffoc('2090')= -0.0275; -p15_oghgf_ffoc('2091')= -0.0274; -p15_oghgf_ffoc('2092')= -0.0273; -p15_oghgf_ffoc('2093')= -0.0272; -p15_oghgf_ffoc('2094')= -0.0272; -p15_oghgf_ffoc('2095')= -0.0271; -p15_oghgf_ffoc('2096')= -0.0270; -p15_oghgf_ffoc('2097')= -0.0270; -p15_oghgf_ffoc('2098')= -0.0269; -p15_oghgf_ffoc('2099')= -0.0268; -p15_oghgf_ffoc('2100')= -0.0268; -p15_oghgf_ffoc('2101')= -0.0268; -p15_oghgf_ffoc('2102')= -0.0268; -p15_oghgf_ffoc('2103')= -0.0268; -p15_oghgf_ffoc('2104')= -0.0268; -p15_oghgf_ffoc('2105')= -0.0268; -p15_oghgf_ffoc('2106')= -0.0268; -p15_oghgf_ffoc('2107')= -0.0268; -p15_oghgf_ffoc('2108')= -0.0268; -p15_oghgf_ffoc('2109')= -0.0268; -p15_oghgf_ffoc('2110')= -0.0268; -p15_oghgf_ffoc('2111')= -0.0268; -p15_oghgf_ffoc('2112')= -0.0268; -p15_oghgf_ffoc('2113')= -0.0268; -p15_oghgf_ffoc('2114')= -0.0268; -p15_oghgf_ffoc('2115')= -0.0268; -p15_oghgf_ffoc('2116')= -0.0268; -p15_oghgf_ffoc('2117')= -0.0268; -p15_oghgf_ffoc('2118')= -0.0268; -p15_oghgf_ffoc('2119')= -0.0268; -p15_oghgf_ffoc('2120')= -0.0268; -p15_oghgf_ffoc('2121')= -0.0268; -p15_oghgf_ffoc('2122')= -0.0268; -p15_oghgf_ffoc('2123')= -0.0268; -p15_oghgf_ffoc('2124')= -0.0268; -p15_oghgf_ffoc('2125')= -0.0268; -p15_oghgf_ffoc('2126')= -0.0268; -p15_oghgf_ffoc('2127')= -0.0268; -p15_oghgf_ffoc('2128')= -0.0268; -p15_oghgf_ffoc('2129')= -0.0268; -p15_oghgf_ffoc('2130')= -0.0268; -p15_oghgf_ffoc('2131')= -0.0268; -p15_oghgf_ffoc('2132')= -0.0268; -p15_oghgf_ffoc('2133')= -0.0268; -p15_oghgf_ffoc('2134')= -0.0268; -p15_oghgf_ffoc('2135')= -0.0268; -p15_oghgf_ffoc('2136')= -0.0268; -p15_oghgf_ffoc('2137')= -0.0268; -p15_oghgf_ffoc('2138')= -0.0268; -p15_oghgf_ffoc('2139')= -0.0268; -p15_oghgf_ffoc('2140')= -0.0268; -p15_oghgf_ffoc('2141')= -0.0268; -p15_oghgf_ffoc('2142')= -0.0268; -p15_oghgf_ffoc('2143')= -0.0268; -p15_oghgf_ffoc('2144')= -0.0268; -p15_oghgf_ffoc('2145')= -0.0268; -p15_oghgf_ffoc('2146')= -0.0268; -p15_oghgf_ffoc('2147')= -0.0268; -p15_oghgf_ffoc('2148')= -0.0268; -p15_oghgf_ffoc('2149')= -0.0268; -p15_oghgf_ffoc('2150')= -0.0268; -*** EOF ./modules/15_climate/magicc/input/data_oghgf_rcp45.inc diff --git a/modules/15_climate/magicc/input/data_oghgf_rcp6.inc b/modules/15_climate/magicc/input/data_oghgf_rcp6.inc deleted file mode 100644 index 4537d5640..000000000 --- a/modules/15_climate/magicc/input/data_oghgf_rcp6.inc +++ /dev/null @@ -1,1965 +0,0 @@ -*** SOF ./modules/15_climate/magicc/input/data_oghgf_rcp6.inc -p15_oghgf_pfc('2000')= 0.0048; -p15_oghgf_pfc('2001')= 0.0049; -p15_oghgf_pfc('2002')= 0.0050; -p15_oghgf_pfc('2003')= 0.0051; -p15_oghgf_pfc('2004')= 0.0052; -p15_oghgf_pfc('2005')= 0.0053; -p15_oghgf_pfc('2006')= 0.0055; -p15_oghgf_pfc('2007')= 0.0056; -p15_oghgf_pfc('2008')= 0.0057; -p15_oghgf_pfc('2009')= 0.0058; -p15_oghgf_pfc('2010')= 0.0060; -p15_oghgf_pfc('2011')= 0.0062; -p15_oghgf_pfc('2012')= 0.0064; -p15_oghgf_pfc('2013')= 0.0065; -p15_oghgf_pfc('2014')= 0.0067; -p15_oghgf_pfc('2015')= 0.0069; -p15_oghgf_pfc('2016')= 0.0071; -p15_oghgf_pfc('2017')= 0.0073; -p15_oghgf_pfc('2018')= 0.0074; -p15_oghgf_pfc('2019')= 0.0076; -p15_oghgf_pfc('2020')= 0.0078; -p15_oghgf_pfc('2021')= 0.0080; -p15_oghgf_pfc('2022')= 0.0082; -p15_oghgf_pfc('2023')= 0.0083; -p15_oghgf_pfc('2024')= 0.0085; -p15_oghgf_pfc('2025')= 0.0087; -p15_oghgf_pfc('2026')= 0.0089; -p15_oghgf_pfc('2027')= 0.0091; -p15_oghgf_pfc('2028')= 0.0093; -p15_oghgf_pfc('2029')= 0.0095; -p15_oghgf_pfc('2030')= 0.0096; -p15_oghgf_pfc('2031')= 0.0098; -p15_oghgf_pfc('2032')= 0.0100; -p15_oghgf_pfc('2033')= 0.0102; -p15_oghgf_pfc('2034')= 0.0104; -p15_oghgf_pfc('2035')= 0.0106; -p15_oghgf_pfc('2036')= 0.0108; -p15_oghgf_pfc('2037')= 0.0109; -p15_oghgf_pfc('2038')= 0.0111; -p15_oghgf_pfc('2039')= 0.0113; -p15_oghgf_pfc('2040')= 0.0115; -p15_oghgf_pfc('2041')= 0.0117; -p15_oghgf_pfc('2042')= 0.0119; -p15_oghgf_pfc('2043')= 0.0121; -p15_oghgf_pfc('2044')= 0.0123; -p15_oghgf_pfc('2045')= 0.0124; -p15_oghgf_pfc('2046')= 0.0126; -p15_oghgf_pfc('2047')= 0.0128; -p15_oghgf_pfc('2048')= 0.0130; -p15_oghgf_pfc('2049')= 0.0132; -p15_oghgf_pfc('2050')= 0.0134; -p15_oghgf_pfc('2051')= 0.0136; -p15_oghgf_pfc('2052')= 0.0137; -p15_oghgf_pfc('2053')= 0.0139; -p15_oghgf_pfc('2054')= 0.0141; -p15_oghgf_pfc('2055')= 0.0143; -p15_oghgf_pfc('2056')= 0.0145; -p15_oghgf_pfc('2057')= 0.0147; -p15_oghgf_pfc('2058')= 0.0148; -p15_oghgf_pfc('2059')= 0.0150; -p15_oghgf_pfc('2060')= 0.0152; -p15_oghgf_pfc('2061')= 0.0154; -p15_oghgf_pfc('2062')= 0.0156; -p15_oghgf_pfc('2063')= 0.0158; -p15_oghgf_pfc('2064')= 0.0160; -p15_oghgf_pfc('2065')= 0.0161; -p15_oghgf_pfc('2066')= 0.0163; -p15_oghgf_pfc('2067')= 0.0165; -p15_oghgf_pfc('2068')= 0.0167; -p15_oghgf_pfc('2069')= 0.0169; -p15_oghgf_pfc('2070')= 0.0171; -p15_oghgf_pfc('2071')= 0.0172; -p15_oghgf_pfc('2072')= 0.0174; -p15_oghgf_pfc('2073')= 0.0176; -p15_oghgf_pfc('2074')= 0.0178; -p15_oghgf_pfc('2075')= 0.0180; -p15_oghgf_pfc('2076')= 0.0182; -p15_oghgf_pfc('2077')= 0.0183; -p15_oghgf_pfc('2078')= 0.0185; -p15_oghgf_pfc('2079')= 0.0187; -p15_oghgf_pfc('2080')= 0.0189; -p15_oghgf_pfc('2081')= 0.0190; -p15_oghgf_pfc('2082')= 0.0192; -p15_oghgf_pfc('2083')= 0.0194; -p15_oghgf_pfc('2084')= 0.0196; -p15_oghgf_pfc('2085')= 0.0198; -p15_oghgf_pfc('2086')= 0.0199; -p15_oghgf_pfc('2087')= 0.0201; -p15_oghgf_pfc('2088')= 0.0203; -p15_oghgf_pfc('2089')= 0.0204; -p15_oghgf_pfc('2090')= 0.0206; -p15_oghgf_pfc('2091')= 0.0208; -p15_oghgf_pfc('2092')= 0.0210; -p15_oghgf_pfc('2093')= 0.0211; -p15_oghgf_pfc('2094')= 0.0213; -p15_oghgf_pfc('2095')= 0.0215; -p15_oghgf_pfc('2096')= 0.0216; -p15_oghgf_pfc('2097')= 0.0218; -p15_oghgf_pfc('2098')= 0.0220; -p15_oghgf_pfc('2099')= 0.0221; -p15_oghgf_pfc('2100')= 0.0223; -p15_oghgf_pfc('2101')= 0.0224; -p15_oghgf_pfc('2102')= 0.0226; -p15_oghgf_pfc('2103')= 0.0228; -p15_oghgf_pfc('2104')= 0.0229; -p15_oghgf_pfc('2105')= 0.0231; -p15_oghgf_pfc('2106')= 0.0232; -p15_oghgf_pfc('2107')= 0.0233; -p15_oghgf_pfc('2108')= 0.0235; -p15_oghgf_pfc('2109')= 0.0236; -p15_oghgf_pfc('2110')= 0.0238; -p15_oghgf_pfc('2111')= 0.0239; -p15_oghgf_pfc('2112')= 0.0240; -p15_oghgf_pfc('2113')= 0.0241; -p15_oghgf_pfc('2114')= 0.0243; -p15_oghgf_pfc('2115')= 0.0244; -p15_oghgf_pfc('2116')= 0.0245; -p15_oghgf_pfc('2117')= 0.0246; -p15_oghgf_pfc('2118')= 0.0247; -p15_oghgf_pfc('2119')= 0.0248; -p15_oghgf_pfc('2120')= 0.0249; -p15_oghgf_pfc('2121')= 0.0250; -p15_oghgf_pfc('2122')= 0.0251; -p15_oghgf_pfc('2123')= 0.0252; -p15_oghgf_pfc('2124')= 0.0253; -p15_oghgf_pfc('2125')= 0.0254; -p15_oghgf_pfc('2126')= 0.0255; -p15_oghgf_pfc('2127')= 0.0255; -p15_oghgf_pfc('2128')= 0.0256; -p15_oghgf_pfc('2129')= 0.0257; -p15_oghgf_pfc('2130')= 0.0258; -p15_oghgf_pfc('2131')= 0.0258; -p15_oghgf_pfc('2132')= 0.0259; -p15_oghgf_pfc('2133')= 0.0259; -p15_oghgf_pfc('2134')= 0.0260; -p15_oghgf_pfc('2135')= 0.0260; -p15_oghgf_pfc('2136')= 0.0261; -p15_oghgf_pfc('2137')= 0.0261; -p15_oghgf_pfc('2138')= 0.0262; -p15_oghgf_pfc('2139')= 0.0262; -p15_oghgf_pfc('2140')= 0.0263; -p15_oghgf_pfc('2141')= 0.0263; -p15_oghgf_pfc('2142')= 0.0263; -p15_oghgf_pfc('2143')= 0.0264; -p15_oghgf_pfc('2144')= 0.0264; -p15_oghgf_pfc('2145')= 0.0264; -p15_oghgf_pfc('2146')= 0.0264; -p15_oghgf_pfc('2147')= 0.0264; -p15_oghgf_pfc('2148')= 0.0264; -p15_oghgf_pfc('2149')= 0.0265; -p15_oghgf_pfc('2150')= 0.0265; -p15_oghgf_hfc('2000')= 0.0058; -p15_oghgf_hfc('2001')= 0.0068; -p15_oghgf_hfc('2002')= 0.0080; -p15_oghgf_hfc('2003')= 0.0092; -p15_oghgf_hfc('2004')= 0.0106; -p15_oghgf_hfc('2005')= 0.0120; -p15_oghgf_hfc('2006')= 0.0134; -p15_oghgf_hfc('2007')= 0.0148; -p15_oghgf_hfc('2008')= 0.0163; -p15_oghgf_hfc('2009')= 0.0177; -p15_oghgf_hfc('2010')= 0.0192; -p15_oghgf_hfc('2011')= 0.0207; -p15_oghgf_hfc('2012')= 0.0221; -p15_oghgf_hfc('2013')= 0.0235; -p15_oghgf_hfc('2014')= 0.0248; -p15_oghgf_hfc('2015')= 0.0261; -p15_oghgf_hfc('2016')= 0.0272; -p15_oghgf_hfc('2017')= 0.0283; -p15_oghgf_hfc('2018')= 0.0294; -p15_oghgf_hfc('2019')= 0.0304; -p15_oghgf_hfc('2020')= 0.0313; -p15_oghgf_hfc('2021')= 0.0321; -p15_oghgf_hfc('2022')= 0.0329; -p15_oghgf_hfc('2023')= 0.0337; -p15_oghgf_hfc('2024')= 0.0344; -p15_oghgf_hfc('2025')= 0.0350; -p15_oghgf_hfc('2026')= 0.0356; -p15_oghgf_hfc('2027')= 0.0362; -p15_oghgf_hfc('2028')= 0.0367; -p15_oghgf_hfc('2029')= 0.0372; -p15_oghgf_hfc('2030')= 0.0376; -p15_oghgf_hfc('2031')= 0.0381; -p15_oghgf_hfc('2032')= 0.0385; -p15_oghgf_hfc('2033')= 0.0389; -p15_oghgf_hfc('2034')= 0.0393; -p15_oghgf_hfc('2035')= 0.0396; -p15_oghgf_hfc('2036')= 0.0400; -p15_oghgf_hfc('2037')= 0.0403; -p15_oghgf_hfc('2038')= 0.0407; -p15_oghgf_hfc('2039')= 0.0410; -p15_oghgf_hfc('2040')= 0.0413; -p15_oghgf_hfc('2041')= 0.0416; -p15_oghgf_hfc('2042')= 0.0419; -p15_oghgf_hfc('2043')= 0.0421; -p15_oghgf_hfc('2044')= 0.0424; -p15_oghgf_hfc('2045')= 0.0426; -p15_oghgf_hfc('2046')= 0.0428; -p15_oghgf_hfc('2047')= 0.0430; -p15_oghgf_hfc('2048')= 0.0432; -p15_oghgf_hfc('2049')= 0.0433; -p15_oghgf_hfc('2050')= 0.0435; -p15_oghgf_hfc('2051')= 0.0436; -p15_oghgf_hfc('2052')= 0.0438; -p15_oghgf_hfc('2053')= 0.0440; -p15_oghgf_hfc('2054')= 0.0442; -p15_oghgf_hfc('2055')= 0.0443; -p15_oghgf_hfc('2056')= 0.0445; -p15_oghgf_hfc('2057')= 0.0447; -p15_oghgf_hfc('2058')= 0.0449; -p15_oghgf_hfc('2059')= 0.0451; -p15_oghgf_hfc('2060')= 0.0453; -p15_oghgf_hfc('2061')= 0.0455; -p15_oghgf_hfc('2062')= 0.0456; -p15_oghgf_hfc('2063')= 0.0458; -p15_oghgf_hfc('2064')= 0.0460; -p15_oghgf_hfc('2065')= 0.0462; -p15_oghgf_hfc('2066')= 0.0464; -p15_oghgf_hfc('2067')= 0.0466; -p15_oghgf_hfc('2068')= 0.0468; -p15_oghgf_hfc('2069')= 0.0470; -p15_oghgf_hfc('2070')= 0.0471; -p15_oghgf_hfc('2071')= 0.0473; -p15_oghgf_hfc('2072')= 0.0475; -p15_oghgf_hfc('2073')= 0.0476; -p15_oghgf_hfc('2074')= 0.0478; -p15_oghgf_hfc('2075')= 0.0479; -p15_oghgf_hfc('2076')= 0.0480; -p15_oghgf_hfc('2077')= 0.0481; -p15_oghgf_hfc('2078')= 0.0482; -p15_oghgf_hfc('2079')= 0.0483; -p15_oghgf_hfc('2080')= 0.0484; -p15_oghgf_hfc('2081')= 0.0485; -p15_oghgf_hfc('2082')= 0.0485; -p15_oghgf_hfc('2083')= 0.0485; -p15_oghgf_hfc('2084')= 0.0486; -p15_oghgf_hfc('2085')= 0.0486; -p15_oghgf_hfc('2086')= 0.0485; -p15_oghgf_hfc('2087')= 0.0485; -p15_oghgf_hfc('2088')= 0.0485; -p15_oghgf_hfc('2089')= 0.0484; -p15_oghgf_hfc('2090')= 0.0483; -p15_oghgf_hfc('2091')= 0.0482; -p15_oghgf_hfc('2092')= 0.0481; -p15_oghgf_hfc('2093')= 0.0480; -p15_oghgf_hfc('2094')= 0.0478; -p15_oghgf_hfc('2095')= 0.0477; -p15_oghgf_hfc('2096')= 0.0475; -p15_oghgf_hfc('2097')= 0.0474; -p15_oghgf_hfc('2098')= 0.0472; -p15_oghgf_hfc('2099')= 0.0470; -p15_oghgf_hfc('2100')= 0.0468; -p15_oghgf_hfc('2101')= 0.0466; -p15_oghgf_hfc('2102')= 0.0465; -p15_oghgf_hfc('2103')= 0.0463; -p15_oghgf_hfc('2104')= 0.0462; -p15_oghgf_hfc('2105')= 0.0461; -p15_oghgf_hfc('2106')= 0.0460; -p15_oghgf_hfc('2107')= 0.0459; -p15_oghgf_hfc('2108')= 0.0458; -p15_oghgf_hfc('2109')= 0.0457; -p15_oghgf_hfc('2110')= 0.0456; -p15_oghgf_hfc('2111')= 0.0456; -p15_oghgf_hfc('2112')= 0.0455; -p15_oghgf_hfc('2113')= 0.0454; -p15_oghgf_hfc('2114')= 0.0454; -p15_oghgf_hfc('2115')= 0.0453; -p15_oghgf_hfc('2116')= 0.0453; -p15_oghgf_hfc('2117')= 0.0452; -p15_oghgf_hfc('2118')= 0.0452; -p15_oghgf_hfc('2119')= 0.0451; -p15_oghgf_hfc('2120')= 0.0451; -p15_oghgf_hfc('2121')= 0.0450; -p15_oghgf_hfc('2122')= 0.0450; -p15_oghgf_hfc('2123')= 0.0450; -p15_oghgf_hfc('2124')= 0.0449; -p15_oghgf_hfc('2125')= 0.0449; -p15_oghgf_hfc('2126')= 0.0448; -p15_oghgf_hfc('2127')= 0.0448; -p15_oghgf_hfc('2128')= 0.0448; -p15_oghgf_hfc('2129')= 0.0448; -p15_oghgf_hfc('2130')= 0.0447; -p15_oghgf_hfc('2131')= 0.0447; -p15_oghgf_hfc('2132')= 0.0447; -p15_oghgf_hfc('2133')= 0.0446; -p15_oghgf_hfc('2134')= 0.0446; -p15_oghgf_hfc('2135')= 0.0446; -p15_oghgf_hfc('2136')= 0.0445; -p15_oghgf_hfc('2137')= 0.0445; -p15_oghgf_hfc('2138')= 0.0445; -p15_oghgf_hfc('2139')= 0.0445; -p15_oghgf_hfc('2140')= 0.0444; -p15_oghgf_hfc('2141')= 0.0444; -p15_oghgf_hfc('2142')= 0.0444; -p15_oghgf_hfc('2143')= 0.0444; -p15_oghgf_hfc('2144')= 0.0443; -p15_oghgf_hfc('2145')= 0.0443; -p15_oghgf_hfc('2146')= 0.0443; -p15_oghgf_hfc('2147')= 0.0442; -p15_oghgf_hfc('2148')= 0.0442; -p15_oghgf_hfc('2149')= 0.0442; -p15_oghgf_hfc('2150')= 0.0442; -p15_oghgf_sf6('2000')= 0.0024; -p15_oghgf_sf6('2001')= 0.0025; -p15_oghgf_sf6('2002')= 0.0026; -p15_oghgf_sf6('2003')= 0.0027; -p15_oghgf_sf6('2004')= 0.0028; -p15_oghgf_sf6('2005')= 0.0030; -p15_oghgf_sf6('2006')= 0.0031; -p15_oghgf_sf6('2007')= 0.0032; -p15_oghgf_sf6('2008')= 0.0034; -p15_oghgf_sf6('2009')= 0.0035; -p15_oghgf_sf6('2010')= 0.0036; -p15_oghgf_sf6('2011')= 0.0038; -p15_oghgf_sf6('2012')= 0.0040; -p15_oghgf_sf6('2013')= 0.0041; -p15_oghgf_sf6('2014')= 0.0043; -p15_oghgf_sf6('2015')= 0.0045; -p15_oghgf_sf6('2016')= 0.0046; -p15_oghgf_sf6('2017')= 0.0048; -p15_oghgf_sf6('2018')= 0.0050; -p15_oghgf_sf6('2019')= 0.0052; -p15_oghgf_sf6('2020')= 0.0054; -p15_oghgf_sf6('2021')= 0.0056; -p15_oghgf_sf6('2022')= 0.0058; -p15_oghgf_sf6('2023')= 0.0060; -p15_oghgf_sf6('2024')= 0.0062; -p15_oghgf_sf6('2025')= 0.0063; -p15_oghgf_sf6('2026')= 0.0065; -p15_oghgf_sf6('2027')= 0.0067; -p15_oghgf_sf6('2028')= 0.0069; -p15_oghgf_sf6('2029')= 0.0071; -p15_oghgf_sf6('2030')= 0.0073; -p15_oghgf_sf6('2031')= 0.0075; -p15_oghgf_sf6('2032')= 0.0077; -p15_oghgf_sf6('2033')= 0.0079; -p15_oghgf_sf6('2034')= 0.0081; -p15_oghgf_sf6('2035')= 0.0083; -p15_oghgf_sf6('2036')= 0.0085; -p15_oghgf_sf6('2037')= 0.0087; -p15_oghgf_sf6('2038')= 0.0089; -p15_oghgf_sf6('2039')= 0.0091; -p15_oghgf_sf6('2040')= 0.0093; -p15_oghgf_sf6('2041')= 0.0095; -p15_oghgf_sf6('2042')= 0.0097; -p15_oghgf_sf6('2043')= 0.0099; -p15_oghgf_sf6('2044')= 0.0101; -p15_oghgf_sf6('2045')= 0.0103; -p15_oghgf_sf6('2046')= 0.0105; -p15_oghgf_sf6('2047')= 0.0107; -p15_oghgf_sf6('2048')= 0.0109; -p15_oghgf_sf6('2049')= 0.0111; -p15_oghgf_sf6('2050')= 0.0113; -p15_oghgf_sf6('2051')= 0.0115; -p15_oghgf_sf6('2052')= 0.0117; -p15_oghgf_sf6('2053')= 0.0119; -p15_oghgf_sf6('2054')= 0.0121; -p15_oghgf_sf6('2055')= 0.0123; -p15_oghgf_sf6('2056')= 0.0125; -p15_oghgf_sf6('2057')= 0.0127; -p15_oghgf_sf6('2058')= 0.0129; -p15_oghgf_sf6('2059')= 0.0131; -p15_oghgf_sf6('2060')= 0.0133; -p15_oghgf_sf6('2061')= 0.0135; -p15_oghgf_sf6('2062')= 0.0137; -p15_oghgf_sf6('2063')= 0.0139; -p15_oghgf_sf6('2064')= 0.0141; -p15_oghgf_sf6('2065')= 0.0143; -p15_oghgf_sf6('2066')= 0.0145; -p15_oghgf_sf6('2067')= 0.0147; -p15_oghgf_sf6('2068')= 0.0149; -p15_oghgf_sf6('2069')= 0.0151; -p15_oghgf_sf6('2070')= 0.0153; -p15_oghgf_sf6('2071')= 0.0155; -p15_oghgf_sf6('2072')= 0.0157; -p15_oghgf_sf6('2073')= 0.0159; -p15_oghgf_sf6('2074')= 0.0161; -p15_oghgf_sf6('2075')= 0.0163; -p15_oghgf_sf6('2076')= 0.0166; -p15_oghgf_sf6('2077')= 0.0168; -p15_oghgf_sf6('2078')= 0.0170; -p15_oghgf_sf6('2079')= 0.0172; -p15_oghgf_sf6('2080')= 0.0174; -p15_oghgf_sf6('2081')= 0.0176; -p15_oghgf_sf6('2082')= 0.0178; -p15_oghgf_sf6('2083')= 0.0180; -p15_oghgf_sf6('2084')= 0.0182; -p15_oghgf_sf6('2085')= 0.0184; -p15_oghgf_sf6('2086')= 0.0186; -p15_oghgf_sf6('2087')= 0.0188; -p15_oghgf_sf6('2088')= 0.0190; -p15_oghgf_sf6('2089')= 0.0192; -p15_oghgf_sf6('2090')= 0.0194; -p15_oghgf_sf6('2091')= 0.0196; -p15_oghgf_sf6('2092')= 0.0198; -p15_oghgf_sf6('2093')= 0.0200; -p15_oghgf_sf6('2094')= 0.0202; -p15_oghgf_sf6('2095')= 0.0204; -p15_oghgf_sf6('2096')= 0.0206; -p15_oghgf_sf6('2097')= 0.0207; -p15_oghgf_sf6('2098')= 0.0209; -p15_oghgf_sf6('2099')= 0.0211; -p15_oghgf_sf6('2100')= 0.0213; -p15_oghgf_sf6('2101')= 0.0215; -p15_oghgf_sf6('2102')= 0.0217; -p15_oghgf_sf6('2103')= 0.0219; -p15_oghgf_sf6('2104')= 0.0221; -p15_oghgf_sf6('2105')= 0.0222; -p15_oghgf_sf6('2106')= 0.0224; -p15_oghgf_sf6('2107')= 0.0226; -p15_oghgf_sf6('2108')= 0.0228; -p15_oghgf_sf6('2109')= 0.0229; -p15_oghgf_sf6('2110')= 0.0231; -p15_oghgf_sf6('2111')= 0.0232; -p15_oghgf_sf6('2112')= 0.0234; -p15_oghgf_sf6('2113')= 0.0235; -p15_oghgf_sf6('2114')= 0.0237; -p15_oghgf_sf6('2115')= 0.0238; -p15_oghgf_sf6('2116')= 0.0239; -p15_oghgf_sf6('2117')= 0.0241; -p15_oghgf_sf6('2118')= 0.0242; -p15_oghgf_sf6('2119')= 0.0243; -p15_oghgf_sf6('2120')= 0.0244; -p15_oghgf_sf6('2121')= 0.0246; -p15_oghgf_sf6('2122')= 0.0247; -p15_oghgf_sf6('2123')= 0.0248; -p15_oghgf_sf6('2124')= 0.0249; -p15_oghgf_sf6('2125')= 0.0250; -p15_oghgf_sf6('2126')= 0.0251; -p15_oghgf_sf6('2127')= 0.0252; -p15_oghgf_sf6('2128')= 0.0253; -p15_oghgf_sf6('2129')= 0.0254; -p15_oghgf_sf6('2130')= 0.0254; -p15_oghgf_sf6('2131')= 0.0255; -p15_oghgf_sf6('2132')= 0.0256; -p15_oghgf_sf6('2133')= 0.0257; -p15_oghgf_sf6('2134')= 0.0257; -p15_oghgf_sf6('2135')= 0.0258; -p15_oghgf_sf6('2136')= 0.0258; -p15_oghgf_sf6('2137')= 0.0259; -p15_oghgf_sf6('2138')= 0.0260; -p15_oghgf_sf6('2139')= 0.0260; -p15_oghgf_sf6('2140')= 0.0260; -p15_oghgf_sf6('2141')= 0.0261; -p15_oghgf_sf6('2142')= 0.0261; -p15_oghgf_sf6('2143')= 0.0262; -p15_oghgf_sf6('2144')= 0.0262; -p15_oghgf_sf6('2145')= 0.0262; -p15_oghgf_sf6('2146')= 0.0262; -p15_oghgf_sf6('2147')= 0.0262; -p15_oghgf_sf6('2148')= 0.0263; -p15_oghgf_sf6('2149')= 0.0263; -p15_oghgf_sf6('2150')= 0.0263; -p15_oghgf_montreal('2000')= 0.3196; -p15_oghgf_montreal('2001')= 0.3203; -p15_oghgf_montreal('2002')= 0.3210; -p15_oghgf_montreal('2003')= 0.3213; -p15_oghgf_montreal('2004')= 0.3213; -p15_oghgf_montreal('2005')= 0.3211; -p15_oghgf_montreal('2006')= 0.3205; -p15_oghgf_montreal('2007')= 0.3195; -p15_oghgf_montreal('2008')= 0.3186; -p15_oghgf_montreal('2009')= 0.3176; -p15_oghgf_montreal('2010')= 0.3166; -p15_oghgf_montreal('2011')= 0.3155; -p15_oghgf_montreal('2012')= 0.3144; -p15_oghgf_montreal('2013')= 0.3133; -p15_oghgf_montreal('2014')= 0.3121; -p15_oghgf_montreal('2015')= 0.3108; -p15_oghgf_montreal('2016')= 0.3096; -p15_oghgf_montreal('2017')= 0.3083; -p15_oghgf_montreal('2018')= 0.3069; -p15_oghgf_montreal('2019')= 0.3056; -p15_oghgf_montreal('2020')= 0.3042; -p15_oghgf_montreal('2021')= 0.3027; -p15_oghgf_montreal('2022')= 0.3011; -p15_oghgf_montreal('2023')= 0.2996; -p15_oghgf_montreal('2024')= 0.2979; -p15_oghgf_montreal('2025')= 0.2962; -p15_oghgf_montreal('2026')= 0.2945; -p15_oghgf_montreal('2027')= 0.2927; -p15_oghgf_montreal('2028')= 0.2908; -p15_oghgf_montreal('2029')= 0.2890; -p15_oghgf_montreal('2030')= 0.2871; -p15_oghgf_montreal('2031')= 0.2852; -p15_oghgf_montreal('2032')= 0.2831; -p15_oghgf_montreal('2033')= 0.2810; -p15_oghgf_montreal('2034')= 0.2786; -p15_oghgf_montreal('2035')= 0.2760; -p15_oghgf_montreal('2036')= 0.2731; -p15_oghgf_montreal('2037')= 0.2699; -p15_oghgf_montreal('2038')= 0.2664; -p15_oghgf_montreal('2039')= 0.2626; -p15_oghgf_montreal('2040')= 0.2585; -p15_oghgf_montreal('2041')= 0.2540; -p15_oghgf_montreal('2042')= 0.2493; -p15_oghgf_montreal('2043')= 0.2444; -p15_oghgf_montreal('2044')= 0.2393; -p15_oghgf_montreal('2045')= 0.2342; -p15_oghgf_montreal('2046')= 0.2290; -p15_oghgf_montreal('2047')= 0.2239; -p15_oghgf_montreal('2048')= 0.2188; -p15_oghgf_montreal('2049')= 0.2137; -p15_oghgf_montreal('2050')= 0.2088; -p15_oghgf_montreal('2051')= 0.2040; -p15_oghgf_montreal('2052')= 0.1993; -p15_oghgf_montreal('2053')= 0.1947; -p15_oghgf_montreal('2054')= 0.1902; -p15_oghgf_montreal('2055')= 0.1858; -p15_oghgf_montreal('2056')= 0.1816; -p15_oghgf_montreal('2057')= 0.1775; -p15_oghgf_montreal('2058')= 0.1735; -p15_oghgf_montreal('2059')= 0.1697; -p15_oghgf_montreal('2060')= 0.1659; -p15_oghgf_montreal('2061')= 0.1624; -p15_oghgf_montreal('2062')= 0.1589; -p15_oghgf_montreal('2063')= 0.1555; -p15_oghgf_montreal('2064')= 0.1523; -p15_oghgf_montreal('2065')= 0.1491; -p15_oghgf_montreal('2066')= 0.1461; -p15_oghgf_montreal('2067')= 0.1431; -p15_oghgf_montreal('2068')= 0.1403; -p15_oghgf_montreal('2069')= 0.1375; -p15_oghgf_montreal('2070')= 0.1348; -p15_oghgf_montreal('2071')= 0.1322; -p15_oghgf_montreal('2072')= 0.1297; -p15_oghgf_montreal('2073')= 0.1272; -p15_oghgf_montreal('2074')= 0.1249; -p15_oghgf_montreal('2075')= 0.1225; -p15_oghgf_montreal('2076')= 0.1203; -p15_oghgf_montreal('2077')= 0.1181; -p15_oghgf_montreal('2078')= 0.1160; -p15_oghgf_montreal('2079')= 0.1139; -p15_oghgf_montreal('2080')= 0.1119; -p15_oghgf_montreal('2081')= 0.1099; -p15_oghgf_montreal('2082')= 0.1080; -p15_oghgf_montreal('2083')= 0.1061; -p15_oghgf_montreal('2084')= 0.1043; -p15_oghgf_montreal('2085')= 0.1025; -p15_oghgf_montreal('2086')= 0.1008; -p15_oghgf_montreal('2087')= 0.0991; -p15_oghgf_montreal('2088')= 0.0974; -p15_oghgf_montreal('2089')= 0.0958; -p15_oghgf_montreal('2090')= 0.0942; -p15_oghgf_montreal('2091')= 0.0927; -p15_oghgf_montreal('2092')= 0.0912; -p15_oghgf_montreal('2093')= 0.0897; -p15_oghgf_montreal('2094')= 0.0882; -p15_oghgf_montreal('2095')= 0.0868; -p15_oghgf_montreal('2096')= 0.0854; -p15_oghgf_montreal('2097')= 0.0841; -p15_oghgf_montreal('2098')= 0.0827; -p15_oghgf_montreal('2099')= 0.0814; -p15_oghgf_montreal('2100')= 0.0801; -p15_oghgf_montreal('2101')= 0.0789; -p15_oghgf_montreal('2102')= 0.0776; -p15_oghgf_montreal('2103')= 0.0764; -p15_oghgf_montreal('2104')= 0.0752; -p15_oghgf_montreal('2105')= 0.0741; -p15_oghgf_montreal('2106')= 0.0729; -p15_oghgf_montreal('2107')= 0.0718; -p15_oghgf_montreal('2108')= 0.0707; -p15_oghgf_montreal('2109')= 0.0696; -p15_oghgf_montreal('2110')= 0.0686; -p15_oghgf_montreal('2111')= 0.0675; -p15_oghgf_montreal('2112')= 0.0665; -p15_oghgf_montreal('2113')= 0.0655; -p15_oghgf_montreal('2114')= 0.0645; -p15_oghgf_montreal('2115')= 0.0635; -p15_oghgf_montreal('2116')= 0.0626; -p15_oghgf_montreal('2117')= 0.0617; -p15_oghgf_montreal('2118')= 0.0607; -p15_oghgf_montreal('2119')= 0.0598; -p15_oghgf_montreal('2120')= 0.0589; -p15_oghgf_montreal('2121')= 0.0581; -p15_oghgf_montreal('2122')= 0.0572; -p15_oghgf_montreal('2123')= 0.0563; -p15_oghgf_montreal('2124')= 0.0555; -p15_oghgf_montreal('2125')= 0.0547; -p15_oghgf_montreal('2126')= 0.0539; -p15_oghgf_montreal('2127')= 0.0531; -p15_oghgf_montreal('2128')= 0.0523; -p15_oghgf_montreal('2129')= 0.0515; -p15_oghgf_montreal('2130')= 0.0508; -p15_oghgf_montreal('2131')= 0.0500; -p15_oghgf_montreal('2132')= 0.0493; -p15_oghgf_montreal('2133')= 0.0486; -p15_oghgf_montreal('2134')= 0.0479; -p15_oghgf_montreal('2135')= 0.0472; -p15_oghgf_montreal('2136')= 0.0465; -p15_oghgf_montreal('2137')= 0.0458; -p15_oghgf_montreal('2138')= 0.0452; -p15_oghgf_montreal('2139')= 0.0445; -p15_oghgf_montreal('2140')= 0.0439; -p15_oghgf_montreal('2141')= 0.0432; -p15_oghgf_montreal('2142')= 0.0426; -p15_oghgf_montreal('2143')= 0.0420; -p15_oghgf_montreal('2144')= 0.0414; -p15_oghgf_montreal('2145')= 0.0408; -p15_oghgf_montreal('2146')= 0.0402; -p15_oghgf_montreal('2147')= 0.0397; -p15_oghgf_montreal('2148')= 0.0391; -p15_oghgf_montreal('2149')= 0.0385; -p15_oghgf_montreal('2150')= 0.0383; -p15_oghgf_o3str('2000')= -0.0612; -p15_oghgf_o3str('2001')= -0.0592; -p15_oghgf_o3str('2002')= -0.0575; -p15_oghgf_o3str('2003')= -0.0551; -p15_oghgf_o3str('2004')= -0.0523; -p15_oghgf_o3str('2005')= -0.0497; -p15_oghgf_o3str('2006')= -0.0478; -p15_oghgf_o3str('2007')= -0.0461; -p15_oghgf_o3str('2008')= -0.0444; -p15_oghgf_o3str('2009')= -0.0425; -p15_oghgf_o3str('2010')= -0.0406; -p15_oghgf_o3str('2011')= -0.0390; -p15_oghgf_o3str('2012')= -0.0371; -p15_oghgf_o3str('2013')= -0.0350; -p15_oghgf_o3str('2014')= -0.0332; -p15_oghgf_o3str('2015')= -0.0315; -p15_oghgf_o3str('2016')= -0.0299; -p15_oghgf_o3str('2017')= -0.0282; -p15_oghgf_o3str('2018')= -0.0266; -p15_oghgf_o3str('2019')= -0.0246; -p15_oghgf_o3str('2020')= -0.0225; -p15_oghgf_o3str('2021')= -0.0209; -p15_oghgf_o3str('2022')= -0.0194; -p15_oghgf_o3str('2023')= -0.0181; -p15_oghgf_o3str('2024')= -0.0167; -p15_oghgf_o3str('2025')= -0.0155; -p15_oghgf_o3str('2026')= -0.0143; -p15_oghgf_o3str('2027')= -0.0131; -p15_oghgf_o3str('2028')= -0.0120; -p15_oghgf_o3str('2029')= -0.0110; -p15_oghgf_o3str('2030')= -0.0100; -p15_oghgf_o3str('2031')= -0.0091; -p15_oghgf_o3str('2032')= -0.0083; -p15_oghgf_o3str('2033')= -0.0074; -p15_oghgf_o3str('2034')= -0.0067; -p15_oghgf_o3str('2035')= -0.0059; -p15_oghgf_o3str('2036')= -0.0052; -p15_oghgf_o3str('2037')= -0.0046; -p15_oghgf_o3str('2038')= -0.0040; -p15_oghgf_o3str('2039')= -0.0034; -p15_oghgf_o3str('2040')= -0.0028; -p15_oghgf_o3str('2041')= -0.0023; -p15_oghgf_o3str('2042')= -0.0019; -p15_oghgf_o3str('2043')= -0.0015; -p15_oghgf_o3str('2044')= -0.0011; -p15_oghgf_o3str('2045')= -0.0008; -p15_oghgf_o3str('2046')= -0.0005; -p15_oghgf_o3str('2047')= -0.0002; -p15_oghgf_o3str('2048')= -0.0001; -p15_oghgf_o3str('2049')= -0.0000; -p15_oghgf_o3str('2050')= 0.0000; -p15_oghgf_o3str('2051')= 0.0000; -p15_oghgf_o3str('2052')= 0.0000; -p15_oghgf_o3str('2053')= 0.0000; -p15_oghgf_o3str('2054')= 0.0000; -p15_oghgf_o3str('2055')= 0.0000; -p15_oghgf_o3str('2056')= 0.0000; -p15_oghgf_o3str('2057')= 0.0000; -p15_oghgf_o3str('2058')= 0.0000; -p15_oghgf_o3str('2059')= 0.0000; -p15_oghgf_o3str('2060')= 0.0000; -p15_oghgf_o3str('2061')= 0.0000; -p15_oghgf_o3str('2062')= 0.0000; -p15_oghgf_o3str('2063')= 0.0000; -p15_oghgf_o3str('2064')= 0.0000; -p15_oghgf_o3str('2065')= 0.0000; -p15_oghgf_o3str('2066')= 0.0000; -p15_oghgf_o3str('2067')= 0.0000; -p15_oghgf_o3str('2068')= 0.0000; -p15_oghgf_o3str('2069')= 0.0000; -p15_oghgf_o3str('2070')= 0.0000; -p15_oghgf_o3str('2071')= 0.0000; -p15_oghgf_o3str('2072')= 0.0000; -p15_oghgf_o3str('2073')= 0.0000; -p15_oghgf_o3str('2074')= 0.0000; -p15_oghgf_o3str('2075')= 0.0000; -p15_oghgf_o3str('2076')= 0.0000; -p15_oghgf_o3str('2077')= 0.0000; -p15_oghgf_o3str('2078')= 0.0000; -p15_oghgf_o3str('2079')= 0.0000; -p15_oghgf_o3str('2080')= 0.0000; -p15_oghgf_o3str('2081')= 0.0000; -p15_oghgf_o3str('2082')= 0.0000; -p15_oghgf_o3str('2083')= 0.0000; -p15_oghgf_o3str('2084')= 0.0000; -p15_oghgf_o3str('2085')= 0.0000; -p15_oghgf_o3str('2086')= 0.0000; -p15_oghgf_o3str('2087')= 0.0000; -p15_oghgf_o3str('2088')= 0.0000; -p15_oghgf_o3str('2089')= 0.0000; -p15_oghgf_o3str('2090')= 0.0000; -p15_oghgf_o3str('2091')= 0.0000; -p15_oghgf_o3str('2092')= 0.0000; -p15_oghgf_o3str('2093')= 0.0000; -p15_oghgf_o3str('2094')= 0.0000; -p15_oghgf_o3str('2095')= 0.0000; -p15_oghgf_o3str('2096')= 0.0000; -p15_oghgf_o3str('2097')= 0.0000; -p15_oghgf_o3str('2098')= 0.0000; -p15_oghgf_o3str('2099')= 0.0000; -p15_oghgf_o3str('2100')= 0.0000; -p15_oghgf_o3str('2101')= 0.0000; -p15_oghgf_o3str('2102')= 0.0000; -p15_oghgf_o3str('2103')= 0.0000; -p15_oghgf_o3str('2104')= 0.0000; -p15_oghgf_o3str('2105')= 0.0000; -p15_oghgf_o3str('2106')= 0.0000; -p15_oghgf_o3str('2107')= 0.0000; -p15_oghgf_o3str('2108')= 0.0000; -p15_oghgf_o3str('2109')= 0.0000; -p15_oghgf_o3str('2110')= 0.0000; -p15_oghgf_o3str('2111')= 0.0000; -p15_oghgf_o3str('2112')= 0.0000; -p15_oghgf_o3str('2113')= 0.0000; -p15_oghgf_o3str('2114')= 0.0000; -p15_oghgf_o3str('2115')= 0.0000; -p15_oghgf_o3str('2116')= 0.0000; -p15_oghgf_o3str('2117')= 0.0000; -p15_oghgf_o3str('2118')= 0.0000; -p15_oghgf_o3str('2119')= 0.0000; -p15_oghgf_o3str('2120')= 0.0000; -p15_oghgf_o3str('2121')= 0.0000; -p15_oghgf_o3str('2122')= 0.0000; -p15_oghgf_o3str('2123')= 0.0000; -p15_oghgf_o3str('2124')= 0.0000; -p15_oghgf_o3str('2125')= 0.0000; -p15_oghgf_o3str('2126')= 0.0000; -p15_oghgf_o3str('2127')= 0.0000; -p15_oghgf_o3str('2128')= 0.0000; -p15_oghgf_o3str('2129')= 0.0000; -p15_oghgf_o3str('2130')= 0.0000; -p15_oghgf_o3str('2131')= 0.0000; -p15_oghgf_o3str('2132')= 0.0000; -p15_oghgf_o3str('2133')= 0.0000; -p15_oghgf_o3str('2134')= 0.0000; -p15_oghgf_o3str('2135')= 0.0000; -p15_oghgf_o3str('2136')= 0.0000; -p15_oghgf_o3str('2137')= 0.0000; -p15_oghgf_o3str('2138')= 0.0000; -p15_oghgf_o3str('2139')= 0.0000; -p15_oghgf_o3str('2140')= 0.0000; -p15_oghgf_o3str('2141')= 0.0000; -p15_oghgf_o3str('2142')= 0.0000; -p15_oghgf_o3str('2143')= 0.0000; -p15_oghgf_o3str('2144')= 0.0000; -p15_oghgf_o3str('2145')= 0.0000; -p15_oghgf_o3str('2146')= 0.0000; -p15_oghgf_o3str('2147')= 0.0000; -p15_oghgf_o3str('2148')= 0.0000; -p15_oghgf_o3str('2149')= 0.0000; -p15_oghgf_o3str('2150')= 0.0000; -p15_oghgf_o3trp('2000')= 0.3737; -p15_oghgf_o3trp('2001')= 0.3735; -p15_oghgf_o3trp('2002')= 0.3739; -p15_oghgf_o3trp('2003')= 0.3747; -p15_oghgf_o3trp('2004')= 0.3754; -p15_oghgf_o3trp('2005')= 0.3758; -p15_oghgf_o3trp('2006')= 0.3765; -p15_oghgf_o3trp('2007')= 0.3766; -p15_oghgf_o3trp('2008')= 0.3761; -p15_oghgf_o3trp('2009')= 0.3756; -p15_oghgf_o3trp('2010')= 0.3751; -p15_oghgf_o3trp('2011')= 0.3746; -p15_oghgf_o3trp('2012')= 0.3740; -p15_oghgf_o3trp('2013')= 0.3732; -p15_oghgf_o3trp('2014')= 0.3724; -p15_oghgf_o3trp('2015')= 0.3715; -p15_oghgf_o3trp('2016')= 0.3705; -p15_oghgf_o3trp('2017')= 0.3695; -p15_oghgf_o3trp('2018')= 0.3685; -p15_oghgf_o3trp('2019')= 0.3674; -p15_oghgf_o3trp('2020')= 0.3663; -p15_oghgf_o3trp('2021')= 0.3652; -p15_oghgf_o3trp('2022')= 0.3641; -p15_oghgf_o3trp('2023')= 0.3632; -p15_oghgf_o3trp('2024')= 0.3624; -p15_oghgf_o3trp('2025')= 0.3616; -p15_oghgf_o3trp('2026')= 0.3609; -p15_oghgf_o3trp('2027')= 0.3602; -p15_oghgf_o3trp('2028')= 0.3596; -p15_oghgf_o3trp('2029')= 0.3590; -p15_oghgf_o3trp('2030')= 0.3584; -p15_oghgf_o3trp('2031')= 0.3578; -p15_oghgf_o3trp('2032')= 0.3577; -p15_oghgf_o3trp('2033')= 0.3580; -p15_oghgf_o3trp('2034')= 0.3583; -p15_oghgf_o3trp('2035')= 0.3586; -p15_oghgf_o3trp('2036')= 0.3590; -p15_oghgf_o3trp('2037')= 0.3594; -p15_oghgf_o3trp('2038')= 0.3598; -p15_oghgf_o3trp('2039')= 0.3602; -p15_oghgf_o3trp('2040')= 0.3606; -p15_oghgf_o3trp('2041')= 0.3611; -p15_oghgf_o3trp('2042')= 0.3610; -p15_oghgf_o3trp('2043')= 0.3605; -p15_oghgf_o3trp('2044')= 0.3599; -p15_oghgf_o3trp('2045')= 0.3592; -p15_oghgf_o3trp('2046')= 0.3586; -p15_oghgf_o3trp('2047')= 0.3580; -p15_oghgf_o3trp('2048')= 0.3574; -p15_oghgf_o3trp('2049')= 0.3568; -p15_oghgf_o3trp('2050')= 0.3561; -p15_oghgf_o3trp('2051')= 0.3555; -p15_oghgf_o3trp('2052')= 0.3548; -p15_oghgf_o3trp('2053')= 0.3541; -p15_oghgf_o3trp('2054')= 0.3534; -p15_oghgf_o3trp('2055')= 0.3527; -p15_oghgf_o3trp('2056')= 0.3519; -p15_oghgf_o3trp('2057')= 0.3512; -p15_oghgf_o3trp('2058')= 0.3504; -p15_oghgf_o3trp('2059')= 0.3496; -p15_oghgf_o3trp('2060')= 0.3488; -p15_oghgf_o3trp('2061')= 0.3480; -p15_oghgf_o3trp('2062')= 0.3466; -p15_oghgf_o3trp('2063')= 0.3446; -p15_oghgf_o3trp('2064')= 0.3426; -p15_oghgf_o3trp('2065')= 0.3406; -p15_oghgf_o3trp('2066')= 0.3385; -p15_oghgf_o3trp('2067')= 0.3363; -p15_oghgf_o3trp('2068')= 0.3342; -p15_oghgf_o3trp('2069')= 0.3320; -p15_oghgf_o3trp('2070')= 0.3298; -p15_oghgf_o3trp('2071')= 0.3276; -p15_oghgf_o3trp('2072')= 0.3256; -p15_oghgf_o3trp('2073')= 0.3236; -p15_oghgf_o3trp('2074')= 0.3215; -p15_oghgf_o3trp('2075')= 0.3194; -p15_oghgf_o3trp('2076')= 0.3172; -p15_oghgf_o3trp('2077')= 0.3150; -p15_oghgf_o3trp('2078')= 0.3127; -p15_oghgf_o3trp('2079')= 0.3103; -p15_oghgf_o3trp('2080')= 0.3080; -p15_oghgf_o3trp('2081')= 0.3056; -p15_oghgf_o3trp('2082')= 0.3035; -p15_oghgf_o3trp('2083')= 0.3017; -p15_oghgf_o3trp('2084')= 0.2998; -p15_oghgf_o3trp('2085')= 0.2977; -p15_oghgf_o3trp('2086')= 0.2954; -p15_oghgf_o3trp('2087')= 0.2930; -p15_oghgf_o3trp('2088')= 0.2905; -p15_oghgf_o3trp('2089')= 0.2879; -p15_oghgf_o3trp('2090')= 0.2851; -p15_oghgf_o3trp('2091')= 0.2823; -p15_oghgf_o3trp('2092')= 0.2794; -p15_oghgf_o3trp('2093')= 0.2766; -p15_oghgf_o3trp('2094')= 0.2738; -p15_oghgf_o3trp('2095')= 0.2711; -p15_oghgf_o3trp('2096')= 0.2684; -p15_oghgf_o3trp('2097')= 0.2658; -p15_oghgf_o3trp('2098')= 0.2632; -p15_oghgf_o3trp('2099')= 0.2607; -p15_oghgf_o3trp('2100')= 0.2582; -p15_oghgf_o3trp('2101')= 0.2558; -p15_oghgf_o3trp('2102')= 0.2540; -p15_oghgf_o3trp('2103')= 0.2529; -p15_oghgf_o3trp('2104')= 0.2518; -p15_oghgf_o3trp('2105')= 0.2509; -p15_oghgf_o3trp('2106')= 0.2501; -p15_oghgf_o3trp('2107')= 0.2494; -p15_oghgf_o3trp('2108')= 0.2487; -p15_oghgf_o3trp('2109')= 0.2481; -p15_oghgf_o3trp('2110')= 0.2476; -p15_oghgf_o3trp('2111')= 0.2471; -p15_oghgf_o3trp('2112')= 0.2466; -p15_oghgf_o3trp('2113')= 0.2462; -p15_oghgf_o3trp('2114')= 0.2459; -p15_oghgf_o3trp('2115')= 0.2455; -p15_oghgf_o3trp('2116')= 0.2452; -p15_oghgf_o3trp('2117')= 0.2450; -p15_oghgf_o3trp('2118')= 0.2447; -p15_oghgf_o3trp('2119')= 0.2445; -p15_oghgf_o3trp('2120')= 0.2443; -p15_oghgf_o3trp('2121')= 0.2441; -p15_oghgf_o3trp('2122')= 0.2439; -p15_oghgf_o3trp('2123')= 0.2438; -p15_oghgf_o3trp('2124')= 0.2436; -p15_oghgf_o3trp('2125')= 0.2435; -p15_oghgf_o3trp('2126')= 0.2434; -p15_oghgf_o3trp('2127')= 0.2433; -p15_oghgf_o3trp('2128')= 0.2432; -p15_oghgf_o3trp('2129')= 0.2431; -p15_oghgf_o3trp('2130')= 0.2430; -p15_oghgf_o3trp('2131')= 0.2429; -p15_oghgf_o3trp('2132')= 0.2428; -p15_oghgf_o3trp('2133')= 0.2427; -p15_oghgf_o3trp('2134')= 0.2426; -p15_oghgf_o3trp('2135')= 0.2426; -p15_oghgf_o3trp('2136')= 0.2425; -p15_oghgf_o3trp('2137')= 0.2424; -p15_oghgf_o3trp('2138')= 0.2424; -p15_oghgf_o3trp('2139')= 0.2423; -p15_oghgf_o3trp('2140')= 0.2423; -p15_oghgf_o3trp('2141')= 0.2423; -p15_oghgf_o3trp('2142')= 0.2422; -p15_oghgf_o3trp('2143')= 0.2422; -p15_oghgf_o3trp('2144')= 0.2421; -p15_oghgf_o3trp('2145')= 0.2421; -p15_oghgf_o3trp('2146')= 0.2420; -p15_oghgf_o3trp('2147')= 0.2420; -p15_oghgf_o3trp('2148')= 0.2420; -p15_oghgf_o3trp('2149')= 0.2419; -p15_oghgf_o3trp('2150')= 0.2419; -p15_oghgf_h2ostr('2000')= 0.0820; -p15_oghgf_h2ostr('2001')= 0.0820; -p15_oghgf_h2ostr('2002')= 0.0821; -p15_oghgf_h2ostr('2003')= 0.0823; -p15_oghgf_h2ostr('2004')= 0.0823; -p15_oghgf_h2ostr('2005')= 0.0822; -p15_oghgf_h2ostr('2006')= 0.0822; -p15_oghgf_h2ostr('2007')= 0.0824; -p15_oghgf_h2ostr('2008')= 0.0826; -p15_oghgf_h2ostr('2009')= 0.0829; -p15_oghgf_h2ostr('2010')= 0.0832; -p15_oghgf_h2ostr('2011')= 0.0834; -p15_oghgf_h2ostr('2012')= 0.0837; -p15_oghgf_h2ostr('2013')= 0.0839; -p15_oghgf_h2ostr('2014')= 0.0840; -p15_oghgf_h2ostr('2015')= 0.0841; -p15_oghgf_h2ostr('2016')= 0.0842; -p15_oghgf_h2ostr('2017')= 0.0843; -p15_oghgf_h2ostr('2018')= 0.0843; -p15_oghgf_h2ostr('2019')= 0.0843; -p15_oghgf_h2ostr('2020')= 0.0842; -p15_oghgf_h2ostr('2021')= 0.0842; -p15_oghgf_h2ostr('2022')= 0.0841; -p15_oghgf_h2ostr('2023')= 0.0841; -p15_oghgf_h2ostr('2024')= 0.0841; -p15_oghgf_h2ostr('2025')= 0.0842; -p15_oghgf_h2ostr('2026')= 0.0843; -p15_oghgf_h2ostr('2027')= 0.0844; -p15_oghgf_h2ostr('2028')= 0.0845; -p15_oghgf_h2ostr('2029')= 0.0847; -p15_oghgf_h2ostr('2030')= 0.0849; -p15_oghgf_h2ostr('2031')= 0.0851; -p15_oghgf_h2ostr('2032')= 0.0853; -p15_oghgf_h2ostr('2033')= 0.0856; -p15_oghgf_h2ostr('2034')= 0.0858; -p15_oghgf_h2ostr('2035')= 0.0861; -p15_oghgf_h2ostr('2036')= 0.0864; -p15_oghgf_h2ostr('2037')= 0.0867; -p15_oghgf_h2ostr('2038')= 0.0870; -p15_oghgf_h2ostr('2039')= 0.0874; -p15_oghgf_h2ostr('2040')= 0.0877; -p15_oghgf_h2ostr('2041')= 0.0881; -p15_oghgf_h2ostr('2042')= 0.0885; -p15_oghgf_h2ostr('2043')= 0.0888; -p15_oghgf_h2ostr('2044')= 0.0892; -p15_oghgf_h2ostr('2045')= 0.0895; -p15_oghgf_h2ostr('2046')= 0.0898; -p15_oghgf_h2ostr('2047')= 0.0901; -p15_oghgf_h2ostr('2048')= 0.0905; -p15_oghgf_h2ostr('2049')= 0.0908; -p15_oghgf_h2ostr('2050')= 0.0911; -p15_oghgf_h2ostr('2051')= 0.0914; -p15_oghgf_h2ostr('2052')= 0.0918; -p15_oghgf_h2ostr('2053')= 0.0921; -p15_oghgf_h2ostr('2054')= 0.0923; -p15_oghgf_h2ostr('2055')= 0.0926; -p15_oghgf_h2ostr('2056')= 0.0929; -p15_oghgf_h2ostr('2057')= 0.0931; -p15_oghgf_h2ostr('2058')= 0.0934; -p15_oghgf_h2ostr('2059')= 0.0936; -p15_oghgf_h2ostr('2060')= 0.0939; -p15_oghgf_h2ostr('2061')= 0.0941; -p15_oghgf_h2ostr('2062')= 0.0943; -p15_oghgf_h2ostr('2063')= 0.0945; -p15_oghgf_h2ostr('2064')= 0.0947; -p15_oghgf_h2ostr('2065')= 0.0948; -p15_oghgf_h2ostr('2066')= 0.0949; -p15_oghgf_h2ostr('2067')= 0.0950; -p15_oghgf_h2ostr('2068')= 0.0951; -p15_oghgf_h2ostr('2069')= 0.0952; -p15_oghgf_h2ostr('2070')= 0.0952; -p15_oghgf_h2ostr('2071')= 0.0953; -p15_oghgf_h2ostr('2072')= 0.0953; -p15_oghgf_h2ostr('2073')= 0.0953; -p15_oghgf_h2ostr('2074')= 0.0952; -p15_oghgf_h2ostr('2075')= 0.0951; -p15_oghgf_h2ostr('2076')= 0.0949; -p15_oghgf_h2ostr('2077')= 0.0947; -p15_oghgf_h2ostr('2078')= 0.0945; -p15_oghgf_h2ostr('2079')= 0.0942; -p15_oghgf_h2ostr('2080')= 0.0939; -p15_oghgf_h2ostr('2081')= 0.0936; -p15_oghgf_h2ostr('2082')= 0.0932; -p15_oghgf_h2ostr('2083')= 0.0927; -p15_oghgf_h2ostr('2084')= 0.0921; -p15_oghgf_h2ostr('2085')= 0.0914; -p15_oghgf_h2ostr('2086')= 0.0905; -p15_oghgf_h2ostr('2087')= 0.0896; -p15_oghgf_h2ostr('2088')= 0.0886; -p15_oghgf_h2ostr('2089')= 0.0875; -p15_oghgf_h2ostr('2090')= 0.0864; -p15_oghgf_h2ostr('2091')= 0.0851; -p15_oghgf_h2ostr('2092')= 0.0839; -p15_oghgf_h2ostr('2093')= 0.0827; -p15_oghgf_h2ostr('2094')= 0.0816; -p15_oghgf_h2ostr('2095')= 0.0804; -p15_oghgf_h2ostr('2096')= 0.0794; -p15_oghgf_h2ostr('2097')= 0.0783; -p15_oghgf_h2ostr('2098')= 0.0773; -p15_oghgf_h2ostr('2099')= 0.0763; -p15_oghgf_h2ostr('2100')= 0.0754; -p15_oghgf_h2ostr('2101')= 0.0745; -p15_oghgf_h2ostr('2102')= 0.0736; -p15_oghgf_h2ostr('2103')= 0.0729; -p15_oghgf_h2ostr('2104')= 0.0722; -p15_oghgf_h2ostr('2105')= 0.0717; -p15_oghgf_h2ostr('2106')= 0.0711; -p15_oghgf_h2ostr('2107')= 0.0707; -p15_oghgf_h2ostr('2108')= 0.0702; -p15_oghgf_h2ostr('2109')= 0.0699; -p15_oghgf_h2ostr('2110')= 0.0695; -p15_oghgf_h2ostr('2111')= 0.0692; -p15_oghgf_h2ostr('2112')= 0.0689; -p15_oghgf_h2ostr('2113')= 0.0686; -p15_oghgf_h2ostr('2114')= 0.0684; -p15_oghgf_h2ostr('2115')= 0.0682; -p15_oghgf_h2ostr('2116')= 0.0680; -p15_oghgf_h2ostr('2117')= 0.0679; -p15_oghgf_h2ostr('2118')= 0.0677; -p15_oghgf_h2ostr('2119')= 0.0676; -p15_oghgf_h2ostr('2120')= 0.0675; -p15_oghgf_h2ostr('2121')= 0.0673; -p15_oghgf_h2ostr('2122')= 0.0672; -p15_oghgf_h2ostr('2123')= 0.0671; -p15_oghgf_h2ostr('2124')= 0.0670; -p15_oghgf_h2ostr('2125')= 0.0669; -p15_oghgf_h2ostr('2126')= 0.0668; -p15_oghgf_h2ostr('2127')= 0.0668; -p15_oghgf_h2ostr('2128')= 0.0667; -p15_oghgf_h2ostr('2129')= 0.0667; -p15_oghgf_h2ostr('2130')= 0.0666; -p15_oghgf_h2ostr('2131')= 0.0666; -p15_oghgf_h2ostr('2132')= 0.0665; -p15_oghgf_h2ostr('2133')= 0.0664; -p15_oghgf_h2ostr('2134')= 0.0664; -p15_oghgf_h2ostr('2135')= 0.0663; -p15_oghgf_h2ostr('2136')= 0.0663; -p15_oghgf_h2ostr('2137')= 0.0663; -p15_oghgf_h2ostr('2138')= 0.0662; -p15_oghgf_h2ostr('2139')= 0.0662; -p15_oghgf_h2ostr('2140')= 0.0662; -p15_oghgf_h2ostr('2141')= 0.0662; -p15_oghgf_h2ostr('2142')= 0.0661; -p15_oghgf_h2ostr('2143')= 0.0661; -p15_oghgf_h2ostr('2144')= 0.0661; -p15_oghgf_h2ostr('2145')= 0.0660; -p15_oghgf_h2ostr('2146')= 0.0660; -p15_oghgf_h2ostr('2147')= 0.0660; -p15_oghgf_h2ostr('2148')= 0.0660; -p15_oghgf_h2ostr('2149')= 0.0659; -p15_oghgf_h2ostr('2150')= 0.0659; -p15_oghgf_luc('2000')= -0.1924; -p15_oghgf_luc('2001')= -0.1939; -p15_oghgf_luc('2002')= -0.1957; -p15_oghgf_luc('2003')= -0.1974; -p15_oghgf_luc('2004')= -0.1991; -p15_oghgf_luc('2005')= -0.2008; -p15_oghgf_luc('2006')= -0.2024; -p15_oghgf_luc('2007')= -0.2039; -p15_oghgf_luc('2008')= -0.2053; -p15_oghgf_luc('2009')= -0.2067; -p15_oghgf_luc('2010')= -0.2079; -p15_oghgf_luc('2011')= -0.2090; -p15_oghgf_luc('2012')= -0.2101; -p15_oghgf_luc('2013')= -0.2112; -p15_oghgf_luc('2014')= -0.2121; -p15_oghgf_luc('2015')= -0.2130; -p15_oghgf_luc('2016')= -0.2138; -p15_oghgf_luc('2017')= -0.2146; -p15_oghgf_luc('2018')= -0.2153; -p15_oghgf_luc('2019')= -0.2159; -p15_oghgf_luc('2020')= -0.2164; -p15_oghgf_luc('2021')= -0.2168; -p15_oghgf_luc('2022')= -0.2171; -p15_oghgf_luc('2023')= -0.2173; -p15_oghgf_luc('2024')= -0.2173; -p15_oghgf_luc('2025')= -0.2171; -p15_oghgf_luc('2026')= -0.2169; -p15_oghgf_luc('2027')= -0.2164; -p15_oghgf_luc('2028')= -0.2159; -p15_oghgf_luc('2029')= -0.2152; -p15_oghgf_luc('2030')= -0.2144; -p15_oghgf_luc('2031')= -0.2136; -p15_oghgf_luc('2032')= -0.2127; -p15_oghgf_luc('2033')= -0.2118; -p15_oghgf_luc('2034')= -0.2109; -p15_oghgf_luc('2035')= -0.2099; -p15_oghgf_luc('2036')= -0.2089; -p15_oghgf_luc('2037')= -0.2079; -p15_oghgf_luc('2038')= -0.2069; -p15_oghgf_luc('2039')= -0.2058; -p15_oghgf_luc('2040')= -0.2048; -p15_oghgf_luc('2041')= -0.2037; -p15_oghgf_luc('2042')= -0.2027; -p15_oghgf_luc('2043')= -0.2017; -p15_oghgf_luc('2044')= -0.2008; -p15_oghgf_luc('2045')= -0.1999; -p15_oghgf_luc('2046')= -0.1990; -p15_oghgf_luc('2047')= -0.1982; -p15_oghgf_luc('2048')= -0.1973; -p15_oghgf_luc('2049')= -0.1966; -p15_oghgf_luc('2050')= -0.1958; -p15_oghgf_luc('2051')= -0.1951; -p15_oghgf_luc('2052')= -0.1945; -p15_oghgf_luc('2053')= -0.1938; -p15_oghgf_luc('2054')= -0.1932; -p15_oghgf_luc('2055')= -0.1926; -p15_oghgf_luc('2056')= -0.1921; -p15_oghgf_luc('2057')= -0.1915; -p15_oghgf_luc('2058')= -0.1910; -p15_oghgf_luc('2059')= -0.1906; -p15_oghgf_luc('2060')= -0.1901; -p15_oghgf_luc('2061')= -0.1897; -p15_oghgf_luc('2062')= -0.1894; -p15_oghgf_luc('2063')= -0.1891; -p15_oghgf_luc('2064')= -0.1888; -p15_oghgf_luc('2065')= -0.1885; -p15_oghgf_luc('2066')= -0.1883; -p15_oghgf_luc('2067')= -0.1881; -p15_oghgf_luc('2068')= -0.1880; -p15_oghgf_luc('2069')= -0.1879; -p15_oghgf_luc('2070')= -0.1878; -p15_oghgf_luc('2071')= -0.1878; -p15_oghgf_luc('2072')= -0.1878; -p15_oghgf_luc('2073')= -0.1878; -p15_oghgf_luc('2074')= -0.1879; -p15_oghgf_luc('2075')= -0.1881; -p15_oghgf_luc('2076')= -0.1883; -p15_oghgf_luc('2077')= -0.1885; -p15_oghgf_luc('2078')= -0.1888; -p15_oghgf_luc('2079')= -0.1891; -p15_oghgf_luc('2080')= -0.1894; -p15_oghgf_luc('2081')= -0.1898; -p15_oghgf_luc('2082')= -0.1902; -p15_oghgf_luc('2083')= -0.1905; -p15_oghgf_luc('2084')= -0.1909; -p15_oghgf_luc('2085')= -0.1913; -p15_oghgf_luc('2086')= -0.1916; -p15_oghgf_luc('2087')= -0.1920; -p15_oghgf_luc('2088')= -0.1924; -p15_oghgf_luc('2089')= -0.1927; -p15_oghgf_luc('2090')= -0.1931; -p15_oghgf_luc('2091')= -0.1935; -p15_oghgf_luc('2092')= -0.1938; -p15_oghgf_luc('2093')= -0.1942; -p15_oghgf_luc('2094')= -0.1945; -p15_oghgf_luc('2095')= -0.1949; -p15_oghgf_luc('2096')= -0.1952; -p15_oghgf_luc('2097')= -0.1955; -p15_oghgf_luc('2098')= -0.1958; -p15_oghgf_luc('2099')= -0.1961; -p15_oghgf_luc('2100')= -0.1964; -p15_oghgf_luc('2101')= -0.1967; -p15_oghgf_luc('2102')= -0.1970; -p15_oghgf_luc('2103')= -0.1972; -p15_oghgf_luc('2104')= -0.1975; -p15_oghgf_luc('2105')= -0.1977; -p15_oghgf_luc('2106')= -0.1979; -p15_oghgf_luc('2107')= -0.1982; -p15_oghgf_luc('2108')= -0.1984; -p15_oghgf_luc('2109')= -0.1985; -p15_oghgf_luc('2110')= -0.1987; -p15_oghgf_luc('2111')= -0.1989; -p15_oghgf_luc('2112')= -0.1990; -p15_oghgf_luc('2113')= -0.1992; -p15_oghgf_luc('2114')= -0.1993; -p15_oghgf_luc('2115')= -0.1994; -p15_oghgf_luc('2116')= -0.1995; -p15_oghgf_luc('2117')= -0.1996; -p15_oghgf_luc('2118')= -0.1997; -p15_oghgf_luc('2119')= -0.1998; -p15_oghgf_luc('2120')= -0.1998; -p15_oghgf_luc('2121')= -0.1999; -p15_oghgf_luc('2122')= -0.1999; -p15_oghgf_luc('2123')= -0.2000; -p15_oghgf_luc('2124')= -0.2000; -p15_oghgf_luc('2125')= -0.2000; -p15_oghgf_luc('2126')= -0.2000; -p15_oghgf_luc('2127')= -0.2000; -p15_oghgf_luc('2128')= -0.2000; -p15_oghgf_luc('2129')= -0.2000; -p15_oghgf_luc('2130')= -0.2000; -p15_oghgf_luc('2131')= -0.2000; -p15_oghgf_luc('2132')= -0.2000; -p15_oghgf_luc('2133')= -0.2000; -p15_oghgf_luc('2134')= -0.2000; -p15_oghgf_luc('2135')= -0.2000; -p15_oghgf_luc('2136')= -0.2000; -p15_oghgf_luc('2137')= -0.2000; -p15_oghgf_luc('2138')= -0.2000; -p15_oghgf_luc('2139')= -0.2000; -p15_oghgf_luc('2140')= -0.2000; -p15_oghgf_luc('2141')= -0.2000; -p15_oghgf_luc('2142')= -0.2000; -p15_oghgf_luc('2143')= -0.2000; -p15_oghgf_luc('2144')= -0.2000; -p15_oghgf_luc('2145')= -0.2000; -p15_oghgf_luc('2146')= -0.2000; -p15_oghgf_luc('2147')= -0.2000; -p15_oghgf_luc('2148')= -0.2000; -p15_oghgf_luc('2149')= -0.2000; -p15_oghgf_luc('2150')= -0.2000; -p15_oghgf_minaer('2000')= -0.0962; -p15_oghgf_minaer('2001')= -0.0970; -p15_oghgf_minaer('2002')= -0.0978; -p15_oghgf_minaer('2003')= -0.0987; -p15_oghgf_minaer('2004')= -0.0996; -p15_oghgf_minaer('2005')= -0.1000; -p15_oghgf_minaer('2006')= -0.1000; -p15_oghgf_minaer('2007')= -0.1000; -p15_oghgf_minaer('2008')= -0.1000; -p15_oghgf_minaer('2009')= -0.1000; -p15_oghgf_minaer('2010')= -0.1000; -p15_oghgf_minaer('2011')= -0.1000; -p15_oghgf_minaer('2012')= -0.1000; -p15_oghgf_minaer('2013')= -0.1000; -p15_oghgf_minaer('2014')= -0.1000; -p15_oghgf_minaer('2015')= -0.1000; -p15_oghgf_minaer('2016')= -0.1000; -p15_oghgf_minaer('2017')= -0.1000; -p15_oghgf_minaer('2018')= -0.1000; -p15_oghgf_minaer('2019')= -0.1000; -p15_oghgf_minaer('2020')= -0.1000; -p15_oghgf_minaer('2021')= -0.1000; -p15_oghgf_minaer('2022')= -0.1000; -p15_oghgf_minaer('2023')= -0.1000; -p15_oghgf_minaer('2024')= -0.1000; -p15_oghgf_minaer('2025')= -0.1000; -p15_oghgf_minaer('2026')= -0.1000; -p15_oghgf_minaer('2027')= -0.1000; -p15_oghgf_minaer('2028')= -0.1000; -p15_oghgf_minaer('2029')= -0.1000; -p15_oghgf_minaer('2030')= -0.1000; -p15_oghgf_minaer('2031')= -0.1000; -p15_oghgf_minaer('2032')= -0.1000; -p15_oghgf_minaer('2033')= -0.1000; -p15_oghgf_minaer('2034')= -0.1000; -p15_oghgf_minaer('2035')= -0.1000; -p15_oghgf_minaer('2036')= -0.1000; -p15_oghgf_minaer('2037')= -0.1000; -p15_oghgf_minaer('2038')= -0.1000; -p15_oghgf_minaer('2039')= -0.1000; -p15_oghgf_minaer('2040')= -0.1000; -p15_oghgf_minaer('2041')= -0.1000; -p15_oghgf_minaer('2042')= -0.1000; -p15_oghgf_minaer('2043')= -0.1000; -p15_oghgf_minaer('2044')= -0.1000; -p15_oghgf_minaer('2045')= -0.1000; -p15_oghgf_minaer('2046')= -0.1000; -p15_oghgf_minaer('2047')= -0.1000; -p15_oghgf_minaer('2048')= -0.1000; -p15_oghgf_minaer('2049')= -0.1000; -p15_oghgf_minaer('2050')= -0.1000; -p15_oghgf_minaer('2051')= -0.1000; -p15_oghgf_minaer('2052')= -0.1000; -p15_oghgf_minaer('2053')= -0.1000; -p15_oghgf_minaer('2054')= -0.1000; -p15_oghgf_minaer('2055')= -0.1000; -p15_oghgf_minaer('2056')= -0.1000; -p15_oghgf_minaer('2057')= -0.1000; -p15_oghgf_minaer('2058')= -0.1000; -p15_oghgf_minaer('2059')= -0.1000; -p15_oghgf_minaer('2060')= -0.1000; -p15_oghgf_minaer('2061')= -0.1000; -p15_oghgf_minaer('2062')= -0.1000; -p15_oghgf_minaer('2063')= -0.1000; -p15_oghgf_minaer('2064')= -0.1000; -p15_oghgf_minaer('2065')= -0.1000; -p15_oghgf_minaer('2066')= -0.1000; -p15_oghgf_minaer('2067')= -0.1000; -p15_oghgf_minaer('2068')= -0.1000; -p15_oghgf_minaer('2069')= -0.1000; -p15_oghgf_minaer('2070')= -0.1000; -p15_oghgf_minaer('2071')= -0.1000; -p15_oghgf_minaer('2072')= -0.1000; -p15_oghgf_minaer('2073')= -0.1000; -p15_oghgf_minaer('2074')= -0.1000; -p15_oghgf_minaer('2075')= -0.1000; -p15_oghgf_minaer('2076')= -0.1000; -p15_oghgf_minaer('2077')= -0.1000; -p15_oghgf_minaer('2078')= -0.1000; -p15_oghgf_minaer('2079')= -0.1000; -p15_oghgf_minaer('2080')= -0.1000; -p15_oghgf_minaer('2081')= -0.1000; -p15_oghgf_minaer('2082')= -0.1000; -p15_oghgf_minaer('2083')= -0.1000; -p15_oghgf_minaer('2084')= -0.1000; -p15_oghgf_minaer('2085')= -0.1000; -p15_oghgf_minaer('2086')= -0.1000; -p15_oghgf_minaer('2087')= -0.1000; -p15_oghgf_minaer('2088')= -0.1000; -p15_oghgf_minaer('2089')= -0.1000; -p15_oghgf_minaer('2090')= -0.1000; -p15_oghgf_minaer('2091')= -0.1000; -p15_oghgf_minaer('2092')= -0.1000; -p15_oghgf_minaer('2093')= -0.1000; -p15_oghgf_minaer('2094')= -0.1000; -p15_oghgf_minaer('2095')= -0.1000; -p15_oghgf_minaer('2096')= -0.1000; -p15_oghgf_minaer('2097')= -0.1000; -p15_oghgf_minaer('2098')= -0.1000; -p15_oghgf_minaer('2099')= -0.1000; -p15_oghgf_minaer('2100')= -0.1000; -p15_oghgf_minaer('2101')= -0.1000; -p15_oghgf_minaer('2102')= -0.1000; -p15_oghgf_minaer('2103')= -0.1000; -p15_oghgf_minaer('2104')= -0.1000; -p15_oghgf_minaer('2105')= -0.1000; -p15_oghgf_minaer('2106')= -0.1000; -p15_oghgf_minaer('2107')= -0.1000; -p15_oghgf_minaer('2108')= -0.1000; -p15_oghgf_minaer('2109')= -0.1000; -p15_oghgf_minaer('2110')= -0.1000; -p15_oghgf_minaer('2111')= -0.1000; -p15_oghgf_minaer('2112')= -0.1000; -p15_oghgf_minaer('2113')= -0.1000; -p15_oghgf_minaer('2114')= -0.1000; -p15_oghgf_minaer('2115')= -0.1000; -p15_oghgf_minaer('2116')= -0.1000; -p15_oghgf_minaer('2117')= -0.1000; -p15_oghgf_minaer('2118')= -0.1000; -p15_oghgf_minaer('2119')= -0.1000; -p15_oghgf_minaer('2120')= -0.1000; -p15_oghgf_minaer('2121')= -0.1000; -p15_oghgf_minaer('2122')= -0.1000; -p15_oghgf_minaer('2123')= -0.1000; -p15_oghgf_minaer('2124')= -0.1000; -p15_oghgf_minaer('2125')= -0.1000; -p15_oghgf_minaer('2126')= -0.1000; -p15_oghgf_minaer('2127')= -0.1000; -p15_oghgf_minaer('2128')= -0.1000; -p15_oghgf_minaer('2129')= -0.1000; -p15_oghgf_minaer('2130')= -0.1000; -p15_oghgf_minaer('2131')= -0.1000; -p15_oghgf_minaer('2132')= -0.1000; -p15_oghgf_minaer('2133')= -0.1000; -p15_oghgf_minaer('2134')= -0.1000; -p15_oghgf_minaer('2135')= -0.1000; -p15_oghgf_minaer('2136')= -0.1000; -p15_oghgf_minaer('2137')= -0.1000; -p15_oghgf_minaer('2138')= -0.1000; -p15_oghgf_minaer('2139')= -0.1000; -p15_oghgf_minaer('2140')= -0.1000; -p15_oghgf_minaer('2141')= -0.1000; -p15_oghgf_minaer('2142')= -0.1000; -p15_oghgf_minaer('2143')= -0.1000; -p15_oghgf_minaer('2144')= -0.1000; -p15_oghgf_minaer('2145')= -0.1000; -p15_oghgf_minaer('2146')= -0.1000; -p15_oghgf_minaer('2147')= -0.1000; -p15_oghgf_minaer('2148')= -0.1000; -p15_oghgf_minaer('2149')= -0.1000; -p15_oghgf_minaer('2150')= -0.1000; -p15_oghgf_nitaer('2000')= -0.0966; -p15_oghgf_nitaer('2001')= -0.0988; -p15_oghgf_nitaer('2002')= -0.0991; -p15_oghgf_nitaer('2003')= -0.0995; -p15_oghgf_nitaer('2004')= -0.0998; -p15_oghgf_nitaer('2005')= -0.1000; -p15_oghgf_nitaer('2006')= -0.0997; -p15_oghgf_nitaer('2007')= -0.0993; -p15_oghgf_nitaer('2008')= -0.0989; -p15_oghgf_nitaer('2009')= -0.0984; -p15_oghgf_nitaer('2010')= -0.0979; -p15_oghgf_nitaer('2011')= -0.0974; -p15_oghgf_nitaer('2012')= -0.0968; -p15_oghgf_nitaer('2013')= -0.0961; -p15_oghgf_nitaer('2014')= -0.0955; -p15_oghgf_nitaer('2015')= -0.0949; -p15_oghgf_nitaer('2016')= -0.0943; -p15_oghgf_nitaer('2017')= -0.0937; -p15_oghgf_nitaer('2018')= -0.0931; -p15_oghgf_nitaer('2019')= -0.0925; -p15_oghgf_nitaer('2020')= -0.0919; -p15_oghgf_nitaer('2021')= -0.0913; -p15_oghgf_nitaer('2022')= -0.0908; -p15_oghgf_nitaer('2023')= -0.0902; -p15_oghgf_nitaer('2024')= -0.0897; -p15_oghgf_nitaer('2025')= -0.0891; -p15_oghgf_nitaer('2026')= -0.0886; -p15_oghgf_nitaer('2027')= -0.0880; -p15_oghgf_nitaer('2028')= -0.0875; -p15_oghgf_nitaer('2029')= -0.0870; -p15_oghgf_nitaer('2030')= -0.0865; -p15_oghgf_nitaer('2031')= -0.0863; -p15_oghgf_nitaer('2032')= -0.0861; -p15_oghgf_nitaer('2033')= -0.0860; -p15_oghgf_nitaer('2034')= -0.0859; -p15_oghgf_nitaer('2035')= -0.0858; -p15_oghgf_nitaer('2036')= -0.0856; -p15_oghgf_nitaer('2037')= -0.0855; -p15_oghgf_nitaer('2038')= -0.0854; -p15_oghgf_nitaer('2039')= -0.0852; -p15_oghgf_nitaer('2040')= -0.0850; -p15_oghgf_nitaer('2041')= -0.0845; -p15_oghgf_nitaer('2042')= -0.0839; -p15_oghgf_nitaer('2043')= -0.0833; -p15_oghgf_nitaer('2044')= -0.0827; -p15_oghgf_nitaer('2045')= -0.0821; -p15_oghgf_nitaer('2046')= -0.0814; -p15_oghgf_nitaer('2047')= -0.0808; -p15_oghgf_nitaer('2048')= -0.0802; -p15_oghgf_nitaer('2049')= -0.0796; -p15_oghgf_nitaer('2050')= -0.0790; -p15_oghgf_nitaer('2051')= -0.0784; -p15_oghgf_nitaer('2052')= -0.0779; -p15_oghgf_nitaer('2053')= -0.0773; -p15_oghgf_nitaer('2054')= -0.0768; -p15_oghgf_nitaer('2055')= -0.0762; -p15_oghgf_nitaer('2056')= -0.0756; -p15_oghgf_nitaer('2057')= -0.0751; -p15_oghgf_nitaer('2058')= -0.0745; -p15_oghgf_nitaer('2059')= -0.0740; -p15_oghgf_nitaer('2060')= -0.0732; -p15_oghgf_nitaer('2061')= -0.0722; -p15_oghgf_nitaer('2062')= -0.0710; -p15_oghgf_nitaer('2063')= -0.0698; -p15_oghgf_nitaer('2064')= -0.0687; -p15_oghgf_nitaer('2065')= -0.0675; -p15_oghgf_nitaer('2066')= -0.0663; -p15_oghgf_nitaer('2067')= -0.0651; -p15_oghgf_nitaer('2068')= -0.0639; -p15_oghgf_nitaer('2069')= -0.0628; -p15_oghgf_nitaer('2070')= -0.0616; -p15_oghgf_nitaer('2071')= -0.0606; -p15_oghgf_nitaer('2072')= -0.0596; -p15_oghgf_nitaer('2073')= -0.0586; -p15_oghgf_nitaer('2074')= -0.0577; -p15_oghgf_nitaer('2075')= -0.0567; -p15_oghgf_nitaer('2076')= -0.0557; -p15_oghgf_nitaer('2077')= -0.0548; -p15_oghgf_nitaer('2078')= -0.0538; -p15_oghgf_nitaer('2079')= -0.0528; -p15_oghgf_nitaer('2080')= -0.0519; -p15_oghgf_nitaer('2081')= -0.0513; -p15_oghgf_nitaer('2082')= -0.0508; -p15_oghgf_nitaer('2083')= -0.0503; -p15_oghgf_nitaer('2084')= -0.0498; -p15_oghgf_nitaer('2085')= -0.0493; -p15_oghgf_nitaer('2086')= -0.0488; -p15_oghgf_nitaer('2087')= -0.0483; -p15_oghgf_nitaer('2088')= -0.0478; -p15_oghgf_nitaer('2089')= -0.0473; -p15_oghgf_nitaer('2090')= -0.0468; -p15_oghgf_nitaer('2091')= -0.0463; -p15_oghgf_nitaer('2092')= -0.0458; -p15_oghgf_nitaer('2093')= -0.0454; -p15_oghgf_nitaer('2094')= -0.0449; -p15_oghgf_nitaer('2095')= -0.0444; -p15_oghgf_nitaer('2096')= -0.0439; -p15_oghgf_nitaer('2097')= -0.0434; -p15_oghgf_nitaer('2098')= -0.0429; -p15_oghgf_nitaer('2099')= -0.0424; -p15_oghgf_nitaer('2100')= -0.0421; -p15_oghgf_nitaer('2101')= -0.0420; -p15_oghgf_nitaer('2102')= -0.0420; -p15_oghgf_nitaer('2103')= -0.0420; -p15_oghgf_nitaer('2104')= -0.0420; -p15_oghgf_nitaer('2105')= -0.0420; -p15_oghgf_nitaer('2106')= -0.0420; -p15_oghgf_nitaer('2107')= -0.0420; -p15_oghgf_nitaer('2108')= -0.0420; -p15_oghgf_nitaer('2109')= -0.0420; -p15_oghgf_nitaer('2110')= -0.0420; -p15_oghgf_nitaer('2111')= -0.0420; -p15_oghgf_nitaer('2112')= -0.0420; -p15_oghgf_nitaer('2113')= -0.0420; -p15_oghgf_nitaer('2114')= -0.0420; -p15_oghgf_nitaer('2115')= -0.0420; -p15_oghgf_nitaer('2116')= -0.0420; -p15_oghgf_nitaer('2117')= -0.0420; -p15_oghgf_nitaer('2118')= -0.0420; -p15_oghgf_nitaer('2119')= -0.0420; -p15_oghgf_nitaer('2120')= -0.0420; -p15_oghgf_nitaer('2121')= -0.0420; -p15_oghgf_nitaer('2122')= -0.0420; -p15_oghgf_nitaer('2123')= -0.0420; -p15_oghgf_nitaer('2124')= -0.0420; -p15_oghgf_nitaer('2125')= -0.0420; -p15_oghgf_nitaer('2126')= -0.0420; -p15_oghgf_nitaer('2127')= -0.0420; -p15_oghgf_nitaer('2128')= -0.0420; -p15_oghgf_nitaer('2129')= -0.0420; -p15_oghgf_nitaer('2130')= -0.0420; -p15_oghgf_nitaer('2131')= -0.0420; -p15_oghgf_nitaer('2132')= -0.0420; -p15_oghgf_nitaer('2133')= -0.0420; -p15_oghgf_nitaer('2134')= -0.0420; -p15_oghgf_nitaer('2135')= -0.0420; -p15_oghgf_nitaer('2136')= -0.0420; -p15_oghgf_nitaer('2137')= -0.0420; -p15_oghgf_nitaer('2138')= -0.0420; -p15_oghgf_nitaer('2139')= -0.0420; -p15_oghgf_nitaer('2140')= -0.0420; -p15_oghgf_nitaer('2141')= -0.0420; -p15_oghgf_nitaer('2142')= -0.0420; -p15_oghgf_nitaer('2143')= -0.0420; -p15_oghgf_nitaer('2144')= -0.0420; -p15_oghgf_nitaer('2145')= -0.0420; -p15_oghgf_nitaer('2146')= -0.0420; -p15_oghgf_nitaer('2147')= -0.0420; -p15_oghgf_nitaer('2148')= -0.0420; -p15_oghgf_nitaer('2149')= -0.0420; -p15_oghgf_nitaer('2150')= -0.0420; -p15_oghgf_crbbb('2000')= 0.0236; -p15_oghgf_crbbb('2001')= 0.0228; -p15_oghgf_crbbb('2002')= 0.0249; -p15_oghgf_crbbb('2003')= 0.0269; -p15_oghgf_crbbb('2004')= 0.0290; -p15_oghgf_crbbb('2005')= 0.0304; -p15_oghgf_crbbb('2006')= 0.0307; -p15_oghgf_crbbb('2007')= 0.0303; -p15_oghgf_crbbb('2008')= 0.0300; -p15_oghgf_crbbb('2009')= 0.0296; -p15_oghgf_crbbb('2010')= 0.0294; -p15_oghgf_crbbb('2011')= 0.0294; -p15_oghgf_crbbb('2012')= 0.0295; -p15_oghgf_crbbb('2013')= 0.0295; -p15_oghgf_crbbb('2014')= 0.0296; -p15_oghgf_crbbb('2015')= 0.0297; -p15_oghgf_crbbb('2016')= 0.0298; -p15_oghgf_crbbb('2017')= 0.0299; -p15_oghgf_crbbb('2018')= 0.0299; -p15_oghgf_crbbb('2019')= 0.0300; -p15_oghgf_crbbb('2020')= 0.0304; -p15_oghgf_crbbb('2021')= 0.0312; -p15_oghgf_crbbb('2022')= 0.0323; -p15_oghgf_crbbb('2023')= 0.0333; -p15_oghgf_crbbb('2024')= 0.0344; -p15_oghgf_crbbb('2025')= 0.0355; -p15_oghgf_crbbb('2026')= 0.0366; -p15_oghgf_crbbb('2027')= 0.0377; -p15_oghgf_crbbb('2028')= 0.0387; -p15_oghgf_crbbb('2029')= 0.0398; -p15_oghgf_crbbb('2030')= 0.0404; -p15_oghgf_crbbb('2031')= 0.0401; -p15_oghgf_crbbb('2032')= 0.0393; -p15_oghgf_crbbb('2033')= 0.0385; -p15_oghgf_crbbb('2034')= 0.0378; -p15_oghgf_crbbb('2035')= 0.0370; -p15_oghgf_crbbb('2036')= 0.0362; -p15_oghgf_crbbb('2037')= 0.0354; -p15_oghgf_crbbb('2038')= 0.0347; -p15_oghgf_crbbb('2039')= 0.0339; -p15_oghgf_crbbb('2040')= 0.0333; -p15_oghgf_crbbb('2041')= 0.0332; -p15_oghgf_crbbb('2042')= 0.0332; -p15_oghgf_crbbb('2043')= 0.0333; -p15_oghgf_crbbb('2044')= 0.0333; -p15_oghgf_crbbb('2045')= 0.0334; -p15_oghgf_crbbb('2046')= 0.0335; -p15_oghgf_crbbb('2047')= 0.0335; -p15_oghgf_crbbb('2048')= 0.0336; -p15_oghgf_crbbb('2049')= 0.0337; -p15_oghgf_crbbb('2050')= 0.0333; -p15_oghgf_crbbb('2051')= 0.0323; -p15_oghgf_crbbb('2052')= 0.0309; -p15_oghgf_crbbb('2053')= 0.0295; -p15_oghgf_crbbb('2054')= 0.0281; -p15_oghgf_crbbb('2055')= 0.0267; -p15_oghgf_crbbb('2056')= 0.0253; -p15_oghgf_crbbb('2057')= 0.0239; -p15_oghgf_crbbb('2058')= 0.0224; -p15_oghgf_crbbb('2059')= 0.0210; -p15_oghgf_crbbb('2060')= 0.0201; -p15_oghgf_crbbb('2061')= 0.0201; -p15_oghgf_crbbb('2062')= 0.0207; -p15_oghgf_crbbb('2063')= 0.0212; -p15_oghgf_crbbb('2064')= 0.0217; -p15_oghgf_crbbb('2065')= 0.0222; -p15_oghgf_crbbb('2066')= 0.0227; -p15_oghgf_crbbb('2067')= 0.0232; -p15_oghgf_crbbb('2068')= 0.0238; -p15_oghgf_crbbb('2069')= 0.0243; -p15_oghgf_crbbb('2070')= 0.0247; -p15_oghgf_crbbb('2071')= 0.0248; -p15_oghgf_crbbb('2072')= 0.0248; -p15_oghgf_crbbb('2073')= 0.0249; -p15_oghgf_crbbb('2074')= 0.0249; -p15_oghgf_crbbb('2075')= 0.0249; -p15_oghgf_crbbb('2076')= 0.0249; -p15_oghgf_crbbb('2077')= 0.0249; -p15_oghgf_crbbb('2078')= 0.0250; -p15_oghgf_crbbb('2079')= 0.0250; -p15_oghgf_crbbb('2080')= 0.0248; -p15_oghgf_crbbb('2081')= 0.0243; -p15_oghgf_crbbb('2082')= 0.0235; -p15_oghgf_crbbb('2083')= 0.0228; -p15_oghgf_crbbb('2084')= 0.0220; -p15_oghgf_crbbb('2085')= 0.0213; -p15_oghgf_crbbb('2086')= 0.0206; -p15_oghgf_crbbb('2087')= 0.0198; -p15_oghgf_crbbb('2088')= 0.0191; -p15_oghgf_crbbb('2089')= 0.0183; -p15_oghgf_crbbb('2090')= 0.0177; -p15_oghgf_crbbb('2091')= 0.0173; -p15_oghgf_crbbb('2092')= 0.0170; -p15_oghgf_crbbb('2093')= 0.0167; -p15_oghgf_crbbb('2094')= 0.0164; -p15_oghgf_crbbb('2095')= 0.0161; -p15_oghgf_crbbb('2096')= 0.0158; -p15_oghgf_crbbb('2097')= 0.0155; -p15_oghgf_crbbb('2098')= 0.0152; -p15_oghgf_crbbb('2099')= 0.0150; -p15_oghgf_crbbb('2100')= 0.0147; -p15_oghgf_crbbb('2101')= 0.0147; -p15_oghgf_crbbb('2102')= 0.0147; -p15_oghgf_crbbb('2103')= 0.0147; -p15_oghgf_crbbb('2104')= 0.0147; -p15_oghgf_crbbb('2105')= 0.0147; -p15_oghgf_crbbb('2106')= 0.0147; -p15_oghgf_crbbb('2107')= 0.0147; -p15_oghgf_crbbb('2108')= 0.0147; -p15_oghgf_crbbb('2109')= 0.0147; -p15_oghgf_crbbb('2110')= 0.0147; -p15_oghgf_crbbb('2111')= 0.0147; -p15_oghgf_crbbb('2112')= 0.0147; -p15_oghgf_crbbb('2113')= 0.0147; -p15_oghgf_crbbb('2114')= 0.0147; -p15_oghgf_crbbb('2115')= 0.0147; -p15_oghgf_crbbb('2116')= 0.0147; -p15_oghgf_crbbb('2117')= 0.0147; -p15_oghgf_crbbb('2118')= 0.0147; -p15_oghgf_crbbb('2119')= 0.0147; -p15_oghgf_crbbb('2120')= 0.0147; -p15_oghgf_crbbb('2121')= 0.0147; -p15_oghgf_crbbb('2122')= 0.0147; -p15_oghgf_crbbb('2123')= 0.0147; -p15_oghgf_crbbb('2124')= 0.0147; -p15_oghgf_crbbb('2125')= 0.0147; -p15_oghgf_crbbb('2126')= 0.0147; -p15_oghgf_crbbb('2127')= 0.0147; -p15_oghgf_crbbb('2128')= 0.0147; -p15_oghgf_crbbb('2129')= 0.0147; -p15_oghgf_crbbb('2130')= 0.0147; -p15_oghgf_crbbb('2131')= 0.0147; -p15_oghgf_crbbb('2132')= 0.0147; -p15_oghgf_crbbb('2133')= 0.0147; -p15_oghgf_crbbb('2134')= 0.0147; -p15_oghgf_crbbb('2135')= 0.0147; -p15_oghgf_crbbb('2136')= 0.0147; -p15_oghgf_crbbb('2137')= 0.0147; -p15_oghgf_crbbb('2138')= 0.0147; -p15_oghgf_crbbb('2139')= 0.0147; -p15_oghgf_crbbb('2140')= 0.0147; -p15_oghgf_crbbb('2141')= 0.0147; -p15_oghgf_crbbb('2142')= 0.0147; -p15_oghgf_crbbb('2143')= 0.0147; -p15_oghgf_crbbb('2144')= 0.0147; -p15_oghgf_crbbb('2145')= 0.0147; -p15_oghgf_crbbb('2146')= 0.0147; -p15_oghgf_crbbb('2147')= 0.0147; -p15_oghgf_crbbb('2148')= 0.0147; -p15_oghgf_crbbb('2149')= 0.0147; -p15_oghgf_crbbb('2150')= 0.0147; -p15_oghgf_ffbc('2000')= 0.1870; -p15_oghgf_ffbc('2001')= 0.1894; -p15_oghgf_ffbc('2002')= 0.1938; -p15_oghgf_ffbc('2003')= 0.1968; -p15_oghgf_ffbc('2004')= 0.1989; -p15_oghgf_ffbc('2005')= 0.2004; -p15_oghgf_ffbc('2006')= 0.2006; -p15_oghgf_ffbc('2007')= 0.2001; -p15_oghgf_ffbc('2008')= 0.1996; -p15_oghgf_ffbc('2009')= 0.1991; -p15_oghgf_ffbc('2010')= 0.1984; -p15_oghgf_ffbc('2011')= 0.1975; -p15_oghgf_ffbc('2012')= 0.1965; -p15_oghgf_ffbc('2013')= 0.1955; -p15_oghgf_ffbc('2014')= 0.1945; -p15_oghgf_ffbc('2015')= 0.1935; -p15_oghgf_ffbc('2016')= 0.1924; -p15_oghgf_ffbc('2017')= 0.1914; -p15_oghgf_ffbc('2018')= 0.1904; -p15_oghgf_ffbc('2019')= 0.1894; -p15_oghgf_ffbc('2020')= 0.1885; -p15_oghgf_ffbc('2021')= 0.1878; -p15_oghgf_ffbc('2022')= 0.1872; -p15_oghgf_ffbc('2023')= 0.1866; -p15_oghgf_ffbc('2024')= 0.1861; -p15_oghgf_ffbc('2025')= 0.1855; -p15_oghgf_ffbc('2026')= 0.1849; -p15_oghgf_ffbc('2027')= 0.1843; -p15_oghgf_ffbc('2028')= 0.1838; -p15_oghgf_ffbc('2029')= 0.1832; -p15_oghgf_ffbc('2030')= 0.1827; -p15_oghgf_ffbc('2031')= 0.1824; -p15_oghgf_ffbc('2032')= 0.1822; -p15_oghgf_ffbc('2033')= 0.1819; -p15_oghgf_ffbc('2034')= 0.1817; -p15_oghgf_ffbc('2035')= 0.1815; -p15_oghgf_ffbc('2036')= 0.1812; -p15_oghgf_ffbc('2037')= 0.1810; -p15_oghgf_ffbc('2038')= 0.1808; -p15_oghgf_ffbc('2039')= 0.1805; -p15_oghgf_ffbc('2040')= 0.1801; -p15_oghgf_ffbc('2041')= 0.1795; -p15_oghgf_ffbc('2042')= 0.1787; -p15_oghgf_ffbc('2043')= 0.1778; -p15_oghgf_ffbc('2044')= 0.1770; -p15_oghgf_ffbc('2045')= 0.1762; -p15_oghgf_ffbc('2046')= 0.1754; -p15_oghgf_ffbc('2047')= 0.1746; -p15_oghgf_ffbc('2048')= 0.1738; -p15_oghgf_ffbc('2049')= 0.1730; -p15_oghgf_ffbc('2050')= 0.1720; -p15_oghgf_ffbc('2051')= 0.1705; -p15_oghgf_ffbc('2052')= 0.1689; -p15_oghgf_ffbc('2053')= 0.1673; -p15_oghgf_ffbc('2054')= 0.1657; -p15_oghgf_ffbc('2055')= 0.1641; -p15_oghgf_ffbc('2056')= 0.1625; -p15_oghgf_ffbc('2057')= 0.1609; -p15_oghgf_ffbc('2058')= 0.1593; -p15_oghgf_ffbc('2059')= 0.1577; -p15_oghgf_ffbc('2060')= 0.1560; -p15_oghgf_ffbc('2061')= 0.1541; -p15_oghgf_ffbc('2062')= 0.1521; -p15_oghgf_ffbc('2063')= 0.1501; -p15_oghgf_ffbc('2064')= 0.1481; -p15_oghgf_ffbc('2065')= 0.1461; -p15_oghgf_ffbc('2066')= 0.1441; -p15_oghgf_ffbc('2067')= 0.1422; -p15_oghgf_ffbc('2068')= 0.1402; -p15_oghgf_ffbc('2069')= 0.1382; -p15_oghgf_ffbc('2070')= 0.1363; -p15_oghgf_ffbc('2071')= 0.1346; -p15_oghgf_ffbc('2072')= 0.1331; -p15_oghgf_ffbc('2073')= 0.1316; -p15_oghgf_ffbc('2074')= 0.1301; -p15_oghgf_ffbc('2075')= 0.1285; -p15_oghgf_ffbc('2076')= 0.1270; -p15_oghgf_ffbc('2077')= 0.1255; -p15_oghgf_ffbc('2078')= 0.1239; -p15_oghgf_ffbc('2079')= 0.1224; -p15_oghgf_ffbc('2080')= 0.1210; -p15_oghgf_ffbc('2081')= 0.1198; -p15_oghgf_ffbc('2082')= 0.1186; -p15_oghgf_ffbc('2083')= 0.1175; -p15_oghgf_ffbc('2084')= 0.1164; -p15_oghgf_ffbc('2085')= 0.1152; -p15_oghgf_ffbc('2086')= 0.1141; -p15_oghgf_ffbc('2087')= 0.1130; -p15_oghgf_ffbc('2088')= 0.1118; -p15_oghgf_ffbc('2089')= 0.1107; -p15_oghgf_ffbc('2090')= 0.1097; -p15_oghgf_ffbc('2091')= 0.1088; -p15_oghgf_ffbc('2092')= 0.1080; -p15_oghgf_ffbc('2093')= 0.1072; -p15_oghgf_ffbc('2094')= 0.1065; -p15_oghgf_ffbc('2095')= 0.1057; -p15_oghgf_ffbc('2096')= 0.1049; -p15_oghgf_ffbc('2097')= 0.1041; -p15_oghgf_ffbc('2098')= 0.1034; -p15_oghgf_ffbc('2099')= 0.1026; -p15_oghgf_ffbc('2100')= 0.1020; -p15_oghgf_ffbc('2101')= 0.1018; -p15_oghgf_ffbc('2102')= 0.1018; -p15_oghgf_ffbc('2103')= 0.1018; -p15_oghgf_ffbc('2104')= 0.1018; -p15_oghgf_ffbc('2105')= 0.1018; -p15_oghgf_ffbc('2106')= 0.1018; -p15_oghgf_ffbc('2107')= 0.1018; -p15_oghgf_ffbc('2108')= 0.1018; -p15_oghgf_ffbc('2109')= 0.1018; -p15_oghgf_ffbc('2110')= 0.1018; -p15_oghgf_ffbc('2111')= 0.1018; -p15_oghgf_ffbc('2112')= 0.1018; -p15_oghgf_ffbc('2113')= 0.1018; -p15_oghgf_ffbc('2114')= 0.1018; -p15_oghgf_ffbc('2115')= 0.1018; -p15_oghgf_ffbc('2116')= 0.1018; -p15_oghgf_ffbc('2117')= 0.1018; -p15_oghgf_ffbc('2118')= 0.1018; -p15_oghgf_ffbc('2119')= 0.1018; -p15_oghgf_ffbc('2120')= 0.1018; -p15_oghgf_ffbc('2121')= 0.1018; -p15_oghgf_ffbc('2122')= 0.1018; -p15_oghgf_ffbc('2123')= 0.1018; -p15_oghgf_ffbc('2124')= 0.1018; -p15_oghgf_ffbc('2125')= 0.1018; -p15_oghgf_ffbc('2126')= 0.1018; -p15_oghgf_ffbc('2127')= 0.1018; -p15_oghgf_ffbc('2128')= 0.1018; -p15_oghgf_ffbc('2129')= 0.1018; -p15_oghgf_ffbc('2130')= 0.1018; -p15_oghgf_ffbc('2131')= 0.1018; -p15_oghgf_ffbc('2132')= 0.1018; -p15_oghgf_ffbc('2133')= 0.1018; -p15_oghgf_ffbc('2134')= 0.1018; -p15_oghgf_ffbc('2135')= 0.1018; -p15_oghgf_ffbc('2136')= 0.1018; -p15_oghgf_ffbc('2137')= 0.1018; -p15_oghgf_ffbc('2138')= 0.1018; -p15_oghgf_ffbc('2139')= 0.1018; -p15_oghgf_ffbc('2140')= 0.1018; -p15_oghgf_ffbc('2141')= 0.1018; -p15_oghgf_ffbc('2142')= 0.1018; -p15_oghgf_ffbc('2143')= 0.1018; -p15_oghgf_ffbc('2144')= 0.1018; -p15_oghgf_ffbc('2145')= 0.1018; -p15_oghgf_ffbc('2146')= 0.1018; -p15_oghgf_ffbc('2147')= 0.1018; -p15_oghgf_ffbc('2148')= 0.1018; -p15_oghgf_ffbc('2149')= 0.1018; -p15_oghgf_ffbc('2150')= 0.1018; -p15_oghgf_ffoc('2000')= -0.0467; -p15_oghgf_ffoc('2001')= -0.0478; -p15_oghgf_ffoc('2002')= -0.0490; -p15_oghgf_ffoc('2003')= -0.0497; -p15_oghgf_ffoc('2004')= -0.0499; -p15_oghgf_ffoc('2005')= -0.0500; -p15_oghgf_ffoc('2006')= -0.0501; -p15_oghgf_ffoc('2007')= -0.0500; -p15_oghgf_ffoc('2008')= -0.0500; -p15_oghgf_ffoc('2009')= -0.0499; -p15_oghgf_ffoc('2010')= -0.0499; -p15_oghgf_ffoc('2011')= -0.0498; -p15_oghgf_ffoc('2012')= -0.0498; -p15_oghgf_ffoc('2013')= -0.0498; -p15_oghgf_ffoc('2014')= -0.0498; -p15_oghgf_ffoc('2015')= -0.0498; -p15_oghgf_ffoc('2016')= -0.0498; -p15_oghgf_ffoc('2017')= -0.0497; -p15_oghgf_ffoc('2018')= -0.0497; -p15_oghgf_ffoc('2019')= -0.0497; -p15_oghgf_ffoc('2020')= -0.0497; -p15_oghgf_ffoc('2021')= -0.0497; -p15_oghgf_ffoc('2022')= -0.0496; -p15_oghgf_ffoc('2023')= -0.0496; -p15_oghgf_ffoc('2024')= -0.0496; -p15_oghgf_ffoc('2025')= -0.0496; -p15_oghgf_ffoc('2026')= -0.0496; -p15_oghgf_ffoc('2027')= -0.0495; -p15_oghgf_ffoc('2028')= -0.0495; -p15_oghgf_ffoc('2029')= -0.0495; -p15_oghgf_ffoc('2030')= -0.0495; -p15_oghgf_ffoc('2031')= -0.0496; -p15_oghgf_ffoc('2032')= -0.0496; -p15_oghgf_ffoc('2033')= -0.0497; -p15_oghgf_ffoc('2034')= -0.0498; -p15_oghgf_ffoc('2035')= -0.0499; -p15_oghgf_ffoc('2036')= -0.0500; -p15_oghgf_ffoc('2037')= -0.0500; -p15_oghgf_ffoc('2038')= -0.0501; -p15_oghgf_ffoc('2039')= -0.0502; -p15_oghgf_ffoc('2040')= -0.0503; -p15_oghgf_ffoc('2041')= -0.0503; -p15_oghgf_ffoc('2042')= -0.0503; -p15_oghgf_ffoc('2043')= -0.0504; -p15_oghgf_ffoc('2044')= -0.0504; -p15_oghgf_ffoc('2045')= -0.0504; -p15_oghgf_ffoc('2046')= -0.0504; -p15_oghgf_ffoc('2047')= -0.0505; -p15_oghgf_ffoc('2048')= -0.0505; -p15_oghgf_ffoc('2049')= -0.0505; -p15_oghgf_ffoc('2050')= -0.0505; -p15_oghgf_ffoc('2051')= -0.0504; -p15_oghgf_ffoc('2052')= -0.0503; -p15_oghgf_ffoc('2053')= -0.0502; -p15_oghgf_ffoc('2054')= -0.0500; -p15_oghgf_ffoc('2055')= -0.0499; -p15_oghgf_ffoc('2056')= -0.0498; -p15_oghgf_ffoc('2057')= -0.0496; -p15_oghgf_ffoc('2058')= -0.0495; -p15_oghgf_ffoc('2059')= -0.0494; -p15_oghgf_ffoc('2060')= -0.0492; -p15_oghgf_ffoc('2061')= -0.0490; -p15_oghgf_ffoc('2062')= -0.0488; -p15_oghgf_ffoc('2063')= -0.0486; -p15_oghgf_ffoc('2064')= -0.0484; -p15_oghgf_ffoc('2065')= -0.0482; -p15_oghgf_ffoc('2066')= -0.0480; -p15_oghgf_ffoc('2067')= -0.0478; -p15_oghgf_ffoc('2068')= -0.0476; -p15_oghgf_ffoc('2069')= -0.0474; -p15_oghgf_ffoc('2070')= -0.0472; -p15_oghgf_ffoc('2071')= -0.0471; -p15_oghgf_ffoc('2072')= -0.0469; -p15_oghgf_ffoc('2073')= -0.0468; -p15_oghgf_ffoc('2074')= -0.0466; -p15_oghgf_ffoc('2075')= -0.0465; -p15_oghgf_ffoc('2076')= -0.0464; -p15_oghgf_ffoc('2077')= -0.0462; -p15_oghgf_ffoc('2078')= -0.0461; -p15_oghgf_ffoc('2079')= -0.0459; -p15_oghgf_ffoc('2080')= -0.0458; -p15_oghgf_ffoc('2081')= -0.0457; -p15_oghgf_ffoc('2082')= -0.0456; -p15_oghgf_ffoc('2083')= -0.0455; -p15_oghgf_ffoc('2084')= -0.0454; -p15_oghgf_ffoc('2085')= -0.0453; -p15_oghgf_ffoc('2086')= -0.0452; -p15_oghgf_ffoc('2087')= -0.0451; -p15_oghgf_ffoc('2088')= -0.0450; -p15_oghgf_ffoc('2089')= -0.0449; -p15_oghgf_ffoc('2090')= -0.0448; -p15_oghgf_ffoc('2091')= -0.0447; -p15_oghgf_ffoc('2092')= -0.0447; -p15_oghgf_ffoc('2093')= -0.0446; -p15_oghgf_ffoc('2094')= -0.0445; -p15_oghgf_ffoc('2095')= -0.0444; -p15_oghgf_ffoc('2096')= -0.0444; -p15_oghgf_ffoc('2097')= -0.0443; -p15_oghgf_ffoc('2098')= -0.0442; -p15_oghgf_ffoc('2099')= -0.0442; -p15_oghgf_ffoc('2100')= -0.0441; -p15_oghgf_ffoc('2101')= -0.0441; -p15_oghgf_ffoc('2102')= -0.0441; -p15_oghgf_ffoc('2103')= -0.0441; -p15_oghgf_ffoc('2104')= -0.0441; -p15_oghgf_ffoc('2105')= -0.0441; -p15_oghgf_ffoc('2106')= -0.0441; -p15_oghgf_ffoc('2107')= -0.0441; -p15_oghgf_ffoc('2108')= -0.0441; -p15_oghgf_ffoc('2109')= -0.0441; -p15_oghgf_ffoc('2110')= -0.0441; -p15_oghgf_ffoc('2111')= -0.0441; -p15_oghgf_ffoc('2112')= -0.0441; -p15_oghgf_ffoc('2113')= -0.0441; -p15_oghgf_ffoc('2114')= -0.0441; -p15_oghgf_ffoc('2115')= -0.0441; -p15_oghgf_ffoc('2116')= -0.0441; -p15_oghgf_ffoc('2117')= -0.0441; -p15_oghgf_ffoc('2118')= -0.0441; -p15_oghgf_ffoc('2119')= -0.0441; -p15_oghgf_ffoc('2120')= -0.0441; -p15_oghgf_ffoc('2121')= -0.0441; -p15_oghgf_ffoc('2122')= -0.0441; -p15_oghgf_ffoc('2123')= -0.0441; -p15_oghgf_ffoc('2124')= -0.0441; -p15_oghgf_ffoc('2125')= -0.0441; -p15_oghgf_ffoc('2126')= -0.0441; -p15_oghgf_ffoc('2127')= -0.0441; -p15_oghgf_ffoc('2128')= -0.0441; -p15_oghgf_ffoc('2129')= -0.0441; -p15_oghgf_ffoc('2130')= -0.0441; -p15_oghgf_ffoc('2131')= -0.0441; -p15_oghgf_ffoc('2132')= -0.0441; -p15_oghgf_ffoc('2133')= -0.0441; -p15_oghgf_ffoc('2134')= -0.0441; -p15_oghgf_ffoc('2135')= -0.0441; -p15_oghgf_ffoc('2136')= -0.0441; -p15_oghgf_ffoc('2137')= -0.0441; -p15_oghgf_ffoc('2138')= -0.0441; -p15_oghgf_ffoc('2139')= -0.0441; -p15_oghgf_ffoc('2140')= -0.0441; -p15_oghgf_ffoc('2141')= -0.0441; -p15_oghgf_ffoc('2142')= -0.0441; -p15_oghgf_ffoc('2143')= -0.0441; -p15_oghgf_ffoc('2144')= -0.0441; -p15_oghgf_ffoc('2145')= -0.0441; -p15_oghgf_ffoc('2146')= -0.0441; -p15_oghgf_ffoc('2147')= -0.0441; -p15_oghgf_ffoc('2148')= -0.0441; -p15_oghgf_ffoc('2149')= -0.0441; -p15_oghgf_ffoc('2150')= -0.0441; -*** EOF ./modules/15_climate/magicc/input/data_oghgf_rcp6.inc diff --git a/modules/15_climate/magicc/input/pm_emicapglob.inc b/modules/15_climate/magicc/input/pm_emicapglob.inc deleted file mode 100644 index 41b665edd..000000000 --- a/modules/15_climate/magicc/input/pm_emicapglob.inc +++ /dev/null @@ -1,33 +0,0 @@ -*** SOF ./modules/15_climate/magicc/input/p15_emicapglob.inc -pm_emicapglob("2005") = 7.471 ; -pm_emicapglob("2010") = 8.04 ; -pm_emicapglob("2015") = 7.557 ; -pm_emicapglob("2020") = 7.07 ; -pm_emicapglob("2025") = 6.189 ; -pm_emicapglob("2030") = 5.31 ; -pm_emicapglob("2035") = 4.904 ; -pm_emicapglob("2040") = 4.50 ; -pm_emicapglob("2045") = 4.053 ; -pm_emicapglob("2050") = 3.61 ; -pm_emicapglob("2055") = 3.252 ; -pm_emicapglob("2060") = 2.90 ; -pm_emicapglob("2065") = 2.641 ; -pm_emicapglob("2070") = 2.38 ; -pm_emicapglob("2075") = 2.065 ; -pm_emicapglob("2080") = 1.75 ; -pm_emicapglob("2085") = 1.497 ; -pm_emicapglob("2090") = 1.25 ; -pm_emicapglob("2095") = 1.091 ; -pm_emicapglob("2100") = 0.93 ; -pm_emicapglob("2105") = 0.872 ; -pm_emicapglob("2110") = 0.81 ; -pm_emicapglob("2115") = 0.802 ; -pm_emicapglob("2120") = 0.79 ; -pm_emicapglob("2125") = 0.806 ; -pm_emicapglob("2130") = 0.82 ; -pm_emicapglob("2135") = 0.844 ; -pm_emicapglob("2140") = 0.87 ; -pm_emicapglob("2145") = 0.897 ; -pm_emicapglob("2150") = 0.93 ; - -*** EOF ./modules/15_climate/magicc/input/p15_emicapglob.inc diff --git a/modules/15_climate/magicc/input/pm_emicapglob_450.inc b/modules/15_climate/magicc/input/pm_emicapglob_450.inc deleted file mode 100644 index 68b3dd90e..000000000 --- a/modules/15_climate/magicc/input/pm_emicapglob_450.inc +++ /dev/null @@ -1,33 +0,0 @@ -*** SOF ./modules/15_climate/magicc/input/p15_emicapglob_450.inc -pm_emicapglob("2005") = 7.471 ; -pm_emicapglob("2010") = 8.373 ; -pm_emicapglob("2015") = 8.698 ; -pm_emicapglob("2020") = 8.360 ; -pm_emicapglob("2025") = 7.508 ; -pm_emicapglob("2030") = 6.559 ; -pm_emicapglob("2035") = 5.743 ; -pm_emicapglob("2040") = 4.861 ; -pm_emicapglob("2045") = 4.014 ; -pm_emicapglob("2050") = 3.499 ; -pm_emicapglob("2055") = 3.058 ; -pm_emicapglob("2060") = 2.704 ; -pm_emicapglob("2065") = 2.479 ; -pm_emicapglob("2070") = 2.114 ; -pm_emicapglob("2075") = 1.880 ; -pm_emicapglob("2080") = 1.603 ; -pm_emicapglob("2085") = 1.383 ; -pm_emicapglob("2090") = 1.206 ; -pm_emicapglob("2095") = 1.050 ; -pm_emicapglob("2100") = 0.938 ; -pm_emicapglob("2105") = 0.938 ; -pm_emicapglob("2110") = 0.938 ; -pm_emicapglob("2115") = 0.938 ; -pm_emicapglob("2120") = 0.938 ; -pm_emicapglob("2125") = 0.938 ; -pm_emicapglob("2130") = 0.938 ; -pm_emicapglob("2135") = 0.938 ; -pm_emicapglob("2140") = 0.938 ; -pm_emicapglob("2145") = 0.938 ; -pm_emicapglob("2150") = 0.938 ; - -*** EOF ./modules/15_climate/magicc/input/p15_emicapglob_450.inc diff --git a/modules/15_climate/magicc/input/pm_emicapglob_550.inc b/modules/15_climate/magicc/input/pm_emicapglob_550.inc deleted file mode 100644 index 18e7c2a59..000000000 --- a/modules/15_climate/magicc/input/pm_emicapglob_550.inc +++ /dev/null @@ -1,33 +0,0 @@ -*** SOF ./modules/15_climate/magicc/input/p15_emicapglob_550.inc -pm_emicapglob("2005") = 7.471 ; -pm_emicapglob("2010") = 9.323; -pm_emicapglob("2015") = 9.895; -pm_emicapglob("2020") = 9.623; -pm_emicapglob("2025") = 8.987; -pm_emicapglob("2030") = 8.120; -pm_emicapglob("2035") = 7.222; -pm_emicapglob("2040") = 6.358; -pm_emicapglob("2045") = 5.789; -pm_emicapglob("2050") = 5.337; -pm_emicapglob("2055") = 5.042; -pm_emicapglob("2060") = 4.937; -pm_emicapglob("2065") = 4.824; -pm_emicapglob("2070") = 4.599; -pm_emicapglob("2075") = 4.370; -pm_emicapglob("2080") = 4.179; -pm_emicapglob("2085") = 3.998; -pm_emicapglob("2090") = 3.831; -pm_emicapglob("2095") = 3.667; -pm_emicapglob("2100") = 3.548; -pm_emicapglob("2105") = 3.548; -pm_emicapglob("2110") = 3.548; -pm_emicapglob("2115") = 3.548; -pm_emicapglob("2120") = 3.548; -pm_emicapglob("2125") = 3.548; -pm_emicapglob("2130") = 3.548; -pm_emicapglob("2135") = 3.548; -pm_emicapglob("2140") = 3.548; -pm_emicapglob("2145") = 3.548; -pm_emicapglob("2150") = 3.548; - -*** EOF ./modules/15_climate/magicc/input/p15_emicapglob_550.inc diff --git a/modules/15_climate/magicc/input/pm_emicapglob_multigas.inc b/modules/15_climate/magicc/input/pm_emicapglob_multigas.inc deleted file mode 100644 index e107cd4e4..000000000 --- a/modules/15_climate/magicc/input/pm_emicapglob_multigas.inc +++ /dev/null @@ -1,23 +0,0 @@ -*** SOF ./modules/15_climate/magicc/input/p15_emicapglob_multigas.inc - -pm_emicapglob("2005") = 12.38918182 ; -pm_emicapglob("2010") = 14.06590909 ; -pm_emicapglob("2015") = 14.96672727 ; -pm_emicapglob("2020") = 15.02154545 ; -pm_emicapglob("2025") = 14.92990909; -pm_emicapglob("2030") = 14.69432727 ; -pm_emicapglob("2035") = 14.28027273; -pm_emicapglob("2040") = 13.48838182; -pm_emicapglob("2045") = 12.20214545 ; -pm_emicapglob("2050") = 10.34869091 ; -pm_emicapglob("2055") = 8.636018182 ; -pm_emicapglob("2060") = 7.556209091 ; -pm_emicapglob("2070") = 6.258954545 ; -pm_emicapglob("2080") = 5.356915091 ; -pm_emicapglob("2090") = 4.749591818 ; -pm_emicapglob("2100") = 4.378516364 ; -pm_emicapglob("2110") = 4.055814545 ; -pm_emicapglob("2130") = 3.373385455 ; -pm_emicapglob("2150") = 2.979987273 ; - -*** EOF ./modules/15_climate/magicc/input/p15_emicapglob_multigas.inc diff --git a/modules/15_climate/magicc/input/pm_emicapglob_multigas_450.inc b/modules/15_climate/magicc/input/pm_emicapglob_multigas_450.inc deleted file mode 100644 index f50ad2731..000000000 --- a/modules/15_climate/magicc/input/pm_emicapglob_multigas_450.inc +++ /dev/null @@ -1,22 +0,0 @@ -*** SOF ./modules/15_climate/magicc/input/p15_emicapglob_multigas_450.inc -pm_emicapglob("2005") = 12.78726676 ; -pm_emicapglob("2010") = 13.56139788 ; -pm_emicapglob("2015") = 12.64444789 ; -pm_emicapglob("2020") = 12.08162074 ; -pm_emicapglob("2025") = 11.99181609 ; -pm_emicapglob("2030") = 11.59701255 ; -pm_emicapglob("2035") = 10.99445829 ; -pm_emicapglob("2040") = 10.16428704 ; -pm_emicapglob("2045") = 9.136187815 ; -pm_emicapglob("2050") = 8.034251615 ; -pm_emicapglob("2055") = 7.216856449 ; -pm_emicapglob("2060") = 5.636779845 ; -pm_emicapglob("2070") = 3.483442352 ; -pm_emicapglob("2080") = 1.491636921 ; -pm_emicapglob("2090") = 0.003971297 ; -pm_emicapglob("2100") = -0.873401388 ; -pm_emicapglob("2110") = 1.138396946 ; -pm_emicapglob("2130") = 0.663214477 ; -pm_emicapglob("2150") = 0.580676323 ; - -*** EOF ./modules/15_climate/magicc/input/p15_emicapglob_multigas_450.inc diff --git a/modules/15_climate/magicc/input/pm_emicapglob_multigas_550.inc b/modules/15_climate/magicc/input/pm_emicapglob_multigas_550.inc deleted file mode 100644 index 13b715790..000000000 --- a/modules/15_climate/magicc/input/pm_emicapglob_multigas_550.inc +++ /dev/null @@ -1,22 +0,0 @@ -*** SOF ./modules/15_climate/magicc/input/p15_emicapglob_multigas_550.inc -pm_emicapglob("2005") = 12.38918182 ; -pm_emicapglob("2010") = 14.06590909 ; -pm_emicapglob("2015") = 14.96672727 ; -pm_emicapglob("2020") = 15.02154545 ; -pm_emicapglob("2025") = 14.92990909; -pm_emicapglob("2030") = 14.69432727 ; -pm_emicapglob("2035") = 14.28027273; -pm_emicapglob("2040") = 13.48838182; -pm_emicapglob("2045") = 12.20214545 ; -pm_emicapglob("2050") = 10.34869091 ; -pm_emicapglob("2055") = 8.636018182 ; -pm_emicapglob("2060") = 7.556209091 ; -pm_emicapglob("2070") = 6.258954545 ; -pm_emicapglob("2080") = 5.356915091 ; -pm_emicapglob("2090") = 4.749591818 ; -pm_emicapglob("2100") = 4.378516364 ; -pm_emicapglob("2110") = 4.055814545 ; -pm_emicapglob("2130") = 3.373385455 ; -pm_emicapglob("2150") = 2.979987273 ; - -*** EOF ./modules/15_climate/magicc/input/p15_emicapglob_multigas_550.inc diff --git a/modules/15_climate/magicc/not_used.txt b/modules/15_climate/magicc/not_used.txt deleted file mode 100644 index 2f12b064c..000000000 --- a/modules/15_climate/magicc/not_used.txt +++ /dev/null @@ -1,7 +0,0 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -# | authors, and contributors see CITATION.cff file. This file is part -# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -# | AGPL-3.0, you are granted additional permissions described in the -# | REMIND License Exception, version 1.0 (see LICENSE file). -# | Contact: remind@pik-potsdam.de -name, type, reason diff --git a/modules/15_climate/magicc/postsolve.gms b/modules/15_climate/magicc/postsolve.gms deleted file mode 100644 index 2ba84748d..000000000 --- a/modules/15_climate/magicc/postsolve.gms +++ /dev/null @@ -1,151 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/15_climate/magicc/postsolve.gms - -***--------------------------------------------------------------------------- -*' The MAGICC scenario generation is set in `./core/magicc.gms`, but runs here. -*' MAGICC is run and its output is read using different current R scripts in the external MAGICC folder -*' that are copied to each run's folder during the preparation phase. Different parametrizations of MAGICC can also be chosen with `cm_magicc_config`, -*' and are also handled during the preparation phase -*' -*' Below is the main code that handles the input prepration, running and output reading of MAGICC. -***--------------------------------------------------------------------------- -*' @code -*** Generate MAGICC scenario file -$include "./core/magicc.gms"; -*** execute MAGICC (this is cheap enough, ~2s) -Execute "Rscript run_magicc.R"; -*** read in results -Execute "Rscript read_DAT_TOTAL_ANTHRO_RF.R"; -Execute_Loadpoint 'p15_forc_magicc' p15_forc_magicc; -Execute "Rscript read_DAT_SURFACE_TEMP.R"; -Execute_Loadpoint 'p15_magicc_temp' pm_globalMeanTemperature = pm_globalMeanTemperature; -*** MAGICC only reports unitl 2300: -pm_globalMeanTemperature(tall)$(tall.val gt 2300) = 0; - -***--------------------------------------------------------------------------- -*' Raw temperature (GMT anomaly) from MAGICC is further calibrated to match HADCRUT4 in 2000. -*' This ensures that different MAGICC configurations start at the same observed temperature. -***--------------------------------------------------------------------------- -$ifthen.cm_magicc_calibrateTemperature2000 %cm_magicc_calibrateTemperature2000% == "HADCRUT4" - -***--------------------------------------------------------------------------- -*' Calibrate temperature such that anomaly in 2006-2015 reference period is 0.97 (SR1.5 Table 2.2, footnote 1) -***--------------------------------------------------------------------------- -s15_tempOffset2010 = sum(tall$(tall.val gt 2005 and tall.val le 2015),pm_globalMeanTemperature(tall))/10; -display s15_tempOffset2010; -pm_globalMeanTemperature(tall) = pm_globalMeanTemperature(tall) - s15_tempOffset2010 + 0.97; -display pm_globalMeanTemperature; - -$endif.cm_magicc_calibrateTemperature2000 - -*** temperature convergence indicator -pm_gmt_conv = 100*smax(t,abs(pm_globalMeanTemperature(t)/max(p15_gmt0(t),1e-8) -1)); -display pm_gmt_conv; -*** save temp from last iteration -p15_gmt0(tall) = pm_globalMeanTemperature(tall); - - -*** offset from HADCRUT4 to zero temperature in 1900, instead of the default 1870 (20 year averages each). -pm_globalMeanTemperatureZeroed1900(tall) = pm_globalMeanTemperature(tall) + 0.092; - -***--------------------------------------------------------------------------- -*' __TIRF derivation__ -*' -*' Derive temperature impulse response (TIRF) from MAGICC pulse scenarios -***--------------------------------------------------------------------------- -$ifthen.cm_magicc_tirf "%cm_magicc_temperatureImpulseResponse%" == "on" -* the TIRF does not change much with emissions profile (see, e.g., figure in Schultes et al. 2017); -* thus only compute TIRF after each of the first 10 iterations, then only every fifth iteration. -* runtime is ca 30s, so switching on TIRF adds ca 10min to runtime -if( ((iteration.val le 10) or ( mod(iteration.val,5 ) eq 0)) , - execute "Rscript run_magicc_temperatureImpulseResponse.R"; - execute_loadpoint 'pm_magicc_temperatureImpulseResponse' pm_temperatureImpulseResponseCO2 = pm_temperatureImpulseResponse; -); -*NOTE the MAGICC results (*.OUT files) are from the last pulse experiment now, so take care if reading them in after this point. -$endif.cm_magicc_tirf - -***--------------------------------------------------------------------------- -*' __Iterative adjustment of budgets or carbon taxes to meet forcing target__ -***--------------------------------------------------------------------------- -if (cm_iterative_target_adj eq 2, !! otherwise adjustment happens in core/postsolve.gms - -***--------------------------------------------------------------------------- -*' Iterative adjustment for budget runs: scale current budget with the ratio of target forcing s15_gr_forc_os to current forcing p15_forc_magicc. -*' The offset is only there to increase the speed of convergence, the values have no physical meaning. -*' For low stabilization targets (rcp2.0, rcp2.6, rcp3.7) the target is the 2100 forcing target (s15_rcpCluster eq 1), -*' for lower targets the forcing target is valid during the full century (s15_rcpCluster eq 0). -***--------------------------------------------------------------------------- - if ((cm_emiscen eq 6), - - display sm_budgetCO2eqGlob, s15_gr_forc_os, p15_forc_magicc; - - if (s15_rcpCluster eq 1, - sm_budgetCO2eqGlob - = - sm_budgetCO2eqGlob - * (s15_gr_forc_os - s15_forcing_budgetiterationoffset) - / (p15_forc_magicc("2100") - s15_forcing_budgetiterationoffset) - ; - - pm_budgetCO2eq(regi) - = - pm_budgetCO2eq(regi) - * (s15_gr_forc_os - s15_forcing_budgetiterationoffset) - / (p15_forc_magicc("2100") - s15_forcing_budgetiterationoffset) - ; - elseif (s15_rcpCluster eq 0), - sm_budgetCO2eqGlob - = - sm_budgetCO2eqGlob - * (s15_gr_forc_nte - s15_forcing_budgetiterationoffset) - / (smax(tall,p15_forc_magicc(tall)) - s15_forcing_budgetiterationoffset) - ; - - pm_budgetCO2eq(regi) - = - pm_budgetCO2eq(regi) - * (s15_gr_forc_nte - s15_forcing_budgetiterationoffset) - / (smax(tall,p15_forc_magicc(tall)) - s15_forcing_budgetiterationoffset) - ; - ); - - display sm_budgetCO2eqGlob; - ); - -***--------------------------------------------------------------------------- -*' Iterative adjustment for carbon tax runs: scale current tax pathway with the ratio of target forcing s15_gr_forc_os to current forcing p15_forc_magicc. -*' The offset is only there to increase the speed of convergence, the values have no physical meaning. -*' For low stabilization targets (rcp2.0, rcp2.6, rcp3.7) the target is the 2100 forcing target (s15_rcpCluster eq 1), -*' for lower targets the forcing target is valid during the full century (s15_rcpCluster eq 0). -***--------------------------------------------------------------------------- - if (cm_emiscen eq 9, - - display pm_taxCO2eq, s15_gr_forc_os, p15_forc_magicc; - - if (s15_rcpCluster eq 1, - pm_taxCO2eq(t,regi) - = - pm_taxCO2eq(t,regi) - * ((p15_forc_magicc("2100") - s15_forcing_budgetiterationoffset_tax - max(0,(cm_startyear-2020)/20)) - / (s15_gr_forc_os - s15_forcing_budgetiterationoffset_tax - max(0,(cm_startyear-2020)/20)))**1.2 - ; - - elseif (s15_rcpCluster eq 0), - pm_taxCO2eq(t,regi) - = - pm_taxCO2eq(t,regi) - * ((smax(tall,p15_forc_magicc(tall)) - s15_forcing_budgetiterationoffset_tax - max(0,(cm_startyear-2020)/20)) - / (s15_gr_forc_nte - s15_forcing_budgetiterationoffset_tax - max(0,(cm_startyear-2020)/20)))**1.2 - ; - ); - pm_taxCO2eq(t,regi)$(t.val gt 2110) = pm_taxCO2eq("2110",regi); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value - display pm_taxCO2eq; - ); -); -*' @stop -*** EOF ./modules/15_climate/magicc/postsolve.gms diff --git a/modules/15_climate/magicc/realization.gms b/modules/15_climate/magicc/realization.gms deleted file mode 100644 index 5c7253c03..000000000 --- a/modules/15_climate/magicc/realization.gms +++ /dev/null @@ -1,38 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/15_climate/magicc/realization.gms - -*' @description -*' In this realization, concentration, forcing, and temperature values are calculated using a version of the -*' MAGICC climate emulator. MAGICC has to be installed in a separate folder, which can be set in the `magicc_template` -*' switch. MAGICC version 6.4 is used as default, but other versions with compatible path structure and variable names -*' can be used as well as long as it has the proper interfacing R scripts. -*' -*' The actual generation of MAGICC input data from REMIND emissions is not handled here, but in the core. Emissions that are not -*' calculated by REMIND, such as F-gases, are taken from RCP trajectories. -*' -*' With this module activated, MAGICC is run between iterations one time or several, depending on specific switches. - -*' By default, the global mean temperature change is simply read and passed on to other modules. - -*' Depending on the choice of carbon tax adjustment in `cm_emiscen`, the total carbon budget will also be adjusted based on -*' the MAGICC radiation forcing or temperature outcomes between iterations. This can allow the carbon tax, which is adjusted based on the carbon budget, to be optimized -*' for a given temperature target. - -*' If `cm_magicc_temperatureImpulseResponse` is on, a new Temperature Impulse Response Function (TIRF) -*' is also generated between iterations. The TIRF is a smooth function that estimates the effect of an additional unit -*' of emissions in global temperature, and it's used by some damage modules that internalize climate damages (i.e. account -*' for damages within the optimization). To derive a TIRF, MAGICC is run several times with pulse emissions added around the -*' the emissions of that iteration. - -*####################### R SECTION START (PHASES) ############################## -$Ifi "%phase%" == "sets" $include "./modules/15_climate/magicc/sets.gms" -$Ifi "%phase%" == "declarations" $include "./modules/15_climate/magicc/declarations.gms" -$Ifi "%phase%" == "datainput" $include "./modules/15_climate/magicc/datainput.gms" -$Ifi "%phase%" == "postsolve" $include "./modules/15_climate/magicc/postsolve.gms" -*######################## R SECTION END (PHASES) ############################### -*** EOF ./modules/15_climate/magicc/realization.gms diff --git a/modules/15_climate/magicc/sets.gms b/modules/15_climate/magicc/sets.gms deleted file mode 100644 index 1d414eaa6..000000000 --- a/modules/15_climate/magicc/sets.gms +++ /dev/null @@ -1,22 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/15_climate/magicc/sets.gms -$ontext -TODO: Rename - t_magiccttot MAGICC_ttot - t_magicc MAGICC_t - t_extra MAGICC_t_avg - - RCP_regions_world_bunkers MAGICC_RCP_regions_world_bunkers - RCP_regions_world MAGICC_RCP_regions_world - - emiRCP2unitsMagicc MAGICC_emissions_units - -$offtext - - -*** EOF ./modules/15_climate/magicc/sets.gms diff --git a/modules/15_climate/magicc7_ar6/datainput.gms b/modules/15_climate/magicc7_ar6/datainput.gms index 5e20fa41c..638561dad 100644 --- a/modules/15_climate/magicc7_ar6/datainput.gms +++ b/modules/15_climate/magicc7_ar6/datainput.gms @@ -1,10 +1,10 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de -*** SOF ./modules/15_climate/magicc/datainput.gms +*** SOF ./modules/15_climate/magicc7_ar6/datainput.gms *** cluster rcp_scen into overshoot and not-to-exceed targets $if %cm_rcp_scen% == "none" s15_rcpCluster = 1; $if %cm_rcp_scen% == "rcp20" s15_rcpCluster = 1; @@ -43,14 +43,6 @@ s15_gr_forc_kyo = 0; p15_forc_magicc(tall) = 0; -$if %cm_rcp_scen% == "rcp26" $include "./modules/15_climate/magicc/input/data_oghgf_rcp3pd.inc"; -$if %cm_rcp_scen% == "rcp37" $include "./modules/15_climate/magicc/input/data_oghgf_rcp45.inc"; -$if %cm_rcp_scen% == "rcp45" $include "./modules/15_climate/magicc/input/data_oghgf_rcp45.inc"; -$if %cm_rcp_scen% == "rcp60" $include "./modules/15_climate/magicc/input/data_oghgf_rcp6.inc"; -$if %cm_rcp_scen% == "rcp85" $include "./modules/15_climate/magicc/input/data_oghgf_rcp85.inc"; -$if %cm_rcp_scen% == "rcp20" $include "./modules/15_climate/magicc/input/data_oghgf_rcp3pd.inc"; -$if %cm_rcp_scen% == "none" $include "./modules/15_climate/magicc/input/data_oghgf_rcp6.inc"; - pm_emicapglob(ttot) = 0; *** parameter pm_emicapglob is read in depending on cm_rcp_scen and cm_multigasscen @@ -81,4 +73,4 @@ display pm_emicapglob; pm_gmt_conv=1; p15_gmt0(tall)=1; -*** EOF ./modules/15_climate/magicc/datainput.gms +*** EOF ./modules/15_climate/magicc7_ar6/datainput.gms diff --git a/modules/15_climate/magicc7_ar6/declarations.gms b/modules/15_climate/magicc7_ar6/declarations.gms index 557d9855e..bc3f612a1 100644 --- a/modules/15_climate/magicc7_ar6/declarations.gms +++ b/modules/15_climate/magicc7_ar6/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/15_climate/magicc7_ar6/not_used.txt b/modules/15_climate/magicc7_ar6/not_used.txt index 3e8db1616..85ff9312e 100644 --- a/modules/15_climate/magicc7_ar6/not_used.txt +++ b/modules/15_climate/magicc7_ar6/not_used.txt @@ -1,9 +1,7 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de -name, type, reason -sm_budgetCO2eqGlob, parameter, Deprecated -pm_budgetCO2eq, parameter, Deprecated +name,type,reason diff --git a/modules/15_climate/magicc7_ar6/postsolve.gms b/modules/15_climate/magicc7_ar6/postsolve.gms index ee30aed37..af2cb83a6 100644 --- a/modules/15_climate/magicc7_ar6/postsolve.gms +++ b/modules/15_climate/magicc7_ar6/postsolve.gms @@ -1,13 +1,12 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de -*** SOF ./modules/15_climate/magicc/postsolve.gms +*** SOF ./modules/15_climate/magicc7_ar6/postsolve.gms ***--------------------------------------------------------------------------- -*' The MAGICC scenario generation is set in `./core/magicc.gms`, but runs here. *' MAGICC is run and its output is read using different current R scripts in the external MAGICC folder *' that are copied to each run's folder during the preparation phase. Different parametrizations of MAGICC can also be chosen with `cm_magicc_config`, *' and are also handled during the preparation phase @@ -17,9 +16,8 @@ *' @code * Run only on first iteration to avoid incomplete GDXs -if (iteration.val ge 2, -* Run the climate assessment script. Takes around 2-3m for a single parameter set, including harmonization and infilling Execute_unload 'fulldata_postsolve'; +* Run the climate assessment script. Takes around 2-3m for a single parameter set, including harmonization and infilling Execute "Rscript climate_assessment_run.R"; * Read in results Execute_Loadpoint 'p15_forc_magicc' p15_forc_magicc; @@ -27,7 +25,6 @@ Execute_Loadpoint 'p15_magicc_temp' pm_globalMeanTemperature = pm_globalMeanTemp *** climate_assessment only reports until 2100: pm_globalMeanTemperature(tall)$(tall.val gt 2100) = pm_globalMeanTemperature("2100"); -); ***--------------------------------------------------------------------------- *' Raw temperature (GMT anomaly) from MAGICC is further calibrated to match HADCRUT4 in 2000. @@ -108,4 +105,4 @@ if (cm_iterative_target_adj eq 2, !! otherwise adjustment happens in core/postso ); ); *' @stop -*** EOF ./modules/15_climate/magicc/postsolve.gms +*** EOF ./modules/15_climate/magicc7_ar6/postsolve.gms diff --git a/modules/15_climate/magicc7_ar6/realization.gms b/modules/15_climate/magicc7_ar6/realization.gms index 547d93e35..a34532004 100644 --- a/modules/15_climate/magicc7_ar6/realization.gms +++ b/modules/15_climate/magicc7_ar6/realization.gms @@ -1,10 +1,10 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de -*** SOF ./modules/15_climate/magicc/realization.gms +*** SOF ./modules/15_climate/magicc7_ar6/realization.gms *' @description *' In this realization, concentration, forcing, and temperature values are calculated using a version of the @@ -30,9 +30,8 @@ *' the emissions of that iteration. *####################### R SECTION START (PHASES) ############################## -$Ifi "%phase%" == "sets" $include "./modules/15_climate/magicc7_ar6/sets.gms" $Ifi "%phase%" == "declarations" $include "./modules/15_climate/magicc7_ar6/declarations.gms" $Ifi "%phase%" == "datainput" $include "./modules/15_climate/magicc7_ar6/datainput.gms" $Ifi "%phase%" == "postsolve" $include "./modules/15_climate/magicc7_ar6/postsolve.gms" *######################## R SECTION END (PHASES) ############################### -*** EOF ./modules/15_climate/magicc/realization.gms +*** EOF ./modules/15_climate/magicc7_ar6/realization.gms diff --git a/modules/15_climate/magicc7_ar6/sets.gms b/modules/15_climate/magicc7_ar6/sets.gms deleted file mode 100644 index 1d414eaa6..000000000 --- a/modules/15_climate/magicc7_ar6/sets.gms +++ /dev/null @@ -1,22 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/15_climate/magicc/sets.gms -$ontext -TODO: Rename - t_magiccttot MAGICC_ttot - t_magicc MAGICC_t - t_extra MAGICC_t_avg - - RCP_regions_world_bunkers MAGICC_RCP_regions_world_bunkers - RCP_regions_world MAGICC_RCP_regions_world - - emiRCP2unitsMagicc MAGICC_emissions_units - -$offtext - - -*** EOF ./modules/15_climate/magicc/sets.gms diff --git a/modules/15_climate/module.gms b/modules/15_climate/module.gms index e64e403a2..c2b8ae6db 100644 --- a/modules/15_climate/module.gms +++ b/modules/15_climate/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -13,10 +13,9 @@ *' using the MAGICC climate emulator. It may also be used within the optimization or between iterations *' in order to internalize climate damages or adjust the carbon price to meet a desired climate target *' -*' @authors Jessica Strefler, Michaja Pehl, Christoph Bertram +*' @authors Jessica Strefler, Michaja Pehl, Christoph Bertram, Gabriel Abrahão, Tonn Rüter *###################### R SECTION START (MODULETYPES) ########################## -$Ifi "%climate%" == "magicc" $include "./modules/15_climate/magicc/realization.gms" $Ifi "%climate%" == "magicc7_ar6" $include "./modules/15_climate/magicc7_ar6/realization.gms" $Ifi "%climate%" == "off" $include "./modules/15_climate/off/realization.gms" *###################### R SECTION END (MODULETYPES) ############################ diff --git a/modules/15_climate/off/datainput.gms b/modules/15_climate/off/datainput.gms index f1ca9e47a..1353e9fd7 100644 --- a/modules/15_climate/off/datainput.gms +++ b/modules/15_climate/off/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/15_climate/off/declarations.gms b/modules/15_climate/off/declarations.gms index 55860e055..ccfc27b37 100644 --- a/modules/15_climate/off/declarations.gms +++ b/modules/15_climate/off/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/15_climate/off/not_used.txt b/modules/15_climate/off/not_used.txt index 2bcdb2b3f..4d0b9af8c 100644 --- a/modules/15_climate/off/not_used.txt +++ b/modules/15_climate/off/not_used.txt @@ -1,17 +1,14 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de -name, type, reason -sm_budgetCO2eqGlob, parameter, ?? +name,type,reason pm_taxCO2eq, parameter, ?? -pm_budgetCO2eq, parameter, ?? cm_emiscen, switch, ??? cm_startyear, switch, ??? cm_iterative_target_adj, switch, ??? pm_globalMeanTemperatureZeroed1900,input,questionnaire pm_temperatureImpulseResponseCO2,input,questionnaire pm_globalMeanTemperature,input,questionnaire - diff --git a/modules/15_climate/off/realization.gms b/modules/15_climate/off/realization.gms index 440aaebe2..f7eaa5c0f 100644 --- a/modules/15_climate/off/realization.gms +++ b/modules/15_climate/off/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/16_downscaleTemperature/CMIP5/datainput.gms b/modules/16_downscaleTemperature/CMIP5/datainput.gms index 35b457070..4bba7010a 100644 --- a/modules/16_downscaleTemperature/CMIP5/datainput.gms +++ b/modules/16_downscaleTemperature/CMIP5/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/16_downscaleTemperature/CMIP5/declarations.gms b/modules/16_downscaleTemperature/CMIP5/declarations.gms index 157889ef2..ef4e26206 100644 --- a/modules/16_downscaleTemperature/CMIP5/declarations.gms +++ b/modules/16_downscaleTemperature/CMIP5/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/16_downscaleTemperature/CMIP5/postsolve.gms b/modules/16_downscaleTemperature/CMIP5/postsolve.gms index 2d304f224..19383fae8 100644 --- a/modules/16_downscaleTemperature/CMIP5/postsolve.gms +++ b/modules/16_downscaleTemperature/CMIP5/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/16_downscaleTemperature/CMIP5/realization.gms b/modules/16_downscaleTemperature/CMIP5/realization.gms index 4a215418a..8f59d24b3 100644 --- a/modules/16_downscaleTemperature/CMIP5/realization.gms +++ b/modules/16_downscaleTemperature/CMIP5/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/16_downscaleTemperature/module.gms b/modules/16_downscaleTemperature/module.gms index 291eb7f78..51be7f411 100644 --- a/modules/16_downscaleTemperature/module.gms +++ b/modules/16_downscaleTemperature/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/16_downscaleTemperature/off/realization.gms b/modules/16_downscaleTemperature/off/realization.gms index 23259a2ad..9dc83991d 100644 --- a/modules/16_downscaleTemperature/off/realization.gms +++ b/modules/16_downscaleTemperature/off/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/20_growth/exogenous/bounds.gms b/modules/20_growth/exogenous/bounds.gms index 00daa0854..86fb92a64 100644 --- a/modules/20_growth/exogenous/bounds.gms +++ b/modules/20_growth/exogenous/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/20_growth/exogenous/declarations.gms b/modules/20_growth/exogenous/declarations.gms index a341fa15f..4d8ac5c79 100644 --- a/modules/20_growth/exogenous/declarations.gms +++ b/modules/20_growth/exogenous/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/20_growth/exogenous/not_used.txt b/modules/20_growth/exogenous/not_used.txt index fb19021bc..145bf847a 100644 --- a/modules/20_growth/exogenous/not_used.txt +++ b/modules/20_growth/exogenous/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/20_growth/exogenous/realization.gms b/modules/20_growth/exogenous/realization.gms index ac192a0d8..09b05f6d4 100644 --- a/modules/20_growth/exogenous/realization.gms +++ b/modules/20_growth/exogenous/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/20_growth/module.gms b/modules/20_growth/module.gms index 76883447b..6a4a4549d 100644 --- a/modules/20_growth/module.gms +++ b/modules/20_growth/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/20_growth/spillover/bounds.gms b/modules/20_growth/spillover/bounds.gms index f87da9671..d7f115f89 100644 --- a/modules/20_growth/spillover/bounds.gms +++ b/modules/20_growth/spillover/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/20_growth/spillover/datainput.gms b/modules/20_growth/spillover/datainput.gms index bde0793da..7c789e0e8 100644 --- a/modules/20_growth/spillover/datainput.gms +++ b/modules/20_growth/spillover/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/20_growth/spillover/declarations.gms b/modules/20_growth/spillover/declarations.gms index ceba5b6e9..223b3003d 100644 --- a/modules/20_growth/spillover/declarations.gms +++ b/modules/20_growth/spillover/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/20_growth/spillover/equations.gms b/modules/20_growth/spillover/equations.gms index b6d8db371..c90d7c547 100644 --- a/modules/20_growth/spillover/equations.gms +++ b/modules/20_growth/spillover/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/20_growth/spillover/output.gms b/modules/20_growth/spillover/output.gms index 27aa7685f..bde595b7c 100644 --- a/modules/20_growth/spillover/output.gms +++ b/modules/20_growth/spillover/output.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/20_growth/spillover/realization.gms b/modules/20_growth/spillover/realization.gms index 14e20aeaa..43bf3a517 100644 --- a/modules/20_growth/spillover/realization.gms +++ b/modules/20_growth/spillover/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/20_growth/spillover/sets.gms b/modules/20_growth/spillover/sets.gms index 450f0c44c..f883d1d4b 100644 --- a/modules/20_growth/spillover/sets.gms +++ b/modules/20_growth/spillover/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/21_tax/module.gms b/modules/21_tax/module.gms index 73858606b..8b920ca75 100644 --- a/modules/21_tax/module.gms +++ b/modules/21_tax/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/21_tax/off/bounds.gms b/modules/21_tax/off/bounds.gms index 382fd22a0..7d3265c1b 100644 --- a/modules/21_tax/off/bounds.gms +++ b/modules/21_tax/off/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/21_tax/off/not_used.txt b/modules/21_tax/off/not_used.txt index 3dd1c8623..d50474410 100644 --- a/modules/21_tax/off/not_used.txt +++ b/modules/21_tax/off/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -24,7 +24,6 @@ cm_fetaxscen, switch, ??? cm_gdximport_target, switch, ??? pm_pop,parameter,??? cm_so2tax_scen,switch,??? -sm_DpGJ_2_TDpTWa,switch,??? vm_cesIO,variable,??? vm_co2eq,variable,??? cm_emiscen,input,questionnaire @@ -72,3 +71,4 @@ pm_gdp,input,only needed if tax is on pm_cf,input,only needed if tax is on vm_shDemSeel,input,only needed if tax is on pm_teAnnuity,input,only needed if tax is on +sm_D2005_2_D2017,input,no conversion needed diff --git a/modules/21_tax/off/realization.gms b/modules/21_tax/off/realization.gms index 5c637c127..7af4acef2 100644 --- a/modules/21_tax/off/realization.gms +++ b/modules/21_tax/off/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/21_tax/on/bounds.gms b/modules/21_tax/on/bounds.gms index c91fddd28..20fa2cd09 100644 --- a/modules/21_tax/on/bounds.gms +++ b/modules/21_tax/on/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/21_tax/on/datainput.gms b/modules/21_tax/on/datainput.gms index 98e7dc60c..82aa7ef15 100644 --- a/modules/21_tax/on/datainput.gms +++ b/modules/21_tax/on/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -37,6 +37,17 @@ $include "./modules/21_tax/on/input/f21_tax_convergence.cs4r" $offdelim / ; +Parameter f21_tax_convergence_rollback(tall,all_regi,all_enty) "Tax convergence level for specific regions, year and final energy type" + / +$ondelim +$include "./modules/21_tax/on/input/f21_tax_convergence_rollback.cs4r" +$offdelim + / +; +if(cm_fetaxscen eq 5, +f21_tax_convergence(ttot,regi,enty) = f21_tax_convergence_rollback(ttot,regi,enty); +); + Parameter f21_max_fe_sub(tall,all_regi,all_enty) "maximum final energy subsidy levels (in $/Gj) from REMIND version prior to rev. 5429" / $ondelim @@ -77,33 +88,23 @@ if(cm_fetaxscen eq 0, *** -------------------------PE2SE Taxes--------------------------(Primary to secondary energy technology taxes, specified by technology) *** cb 20110923 load paths for technology taxes, subsidies and inconvenience costs p21_tau_pe2se_tax(tall,regi,te) = 0; -p21_tau_pe2se_inconv(tall,regi,te) = 0; p21_tau_pe2se_sub(tall,regi,te)= 0; *RP* FILE changed by hand after introduction of SO2 taxes and inconvenience penalties on 2012-03-08 -*GL* Values try to account for excessive water use, further pollution -*GL* Taxes are given in USD(2005) per GJ -p21_tau_pe2se_tax(ttot,regi,"igcc")$(ttot.val ge 2005) = 0.25; -p21_tau_pe2se_tax(ttot,regi,"igccc")$(ttot.val ge 2005) = 0.25; -p21_tau_pe2se_tax(ttot,regi,"coalftrec")$(ttot.val ge 2005) = 1.0; -p21_tau_pe2se_tax(ttot,regi,"coalftcrec")$(ttot.val ge 2005) = 1.0; -p21_tau_pe2se_tax(ttot,regi,"coalh2")$(ttot.val ge 2005) = 0.5; -p21_tau_pe2se_tax(ttot,regi,"coalh2c")$(ttot.val ge 2005) = 0.5; -p21_tau_pe2se_tax(ttot,regi,"coalgas")$(ttot.val ge 2005) = 0.5; - -***JaS* Introduces inconvenience costs as taxes for the transformation of primary to secondary energy types -***JaS* Taxes are given in USD(2005) per GJ -*cb* to be exchanged for file with values if needed -p21_tau_pe2se_inconv(ttot,regi,te)$(ttot.val ge 2005)=0.000000; -*** description: Taxes/subsidies are given in USD(2005) per GJ -*** unit: USD(2005) per GJ -p21_tau_pe2se_inconv(ttot,regi,te)$(ttot.val ge 2005)=0.000000; - - +*** Values try to account for excessive water use, further pollution +*** Taxes are given in USD(2005) and converted to USD(2017) per GJ +if(cm_fetaxscen ne 5, +p21_tau_pe2se_tax(ttot,regi,"igcc")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.25; +p21_tau_pe2se_tax(ttot,regi,"igccc")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.25; +p21_tau_pe2se_tax(ttot,regi,"coalftrec")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 1.0; +p21_tau_pe2se_tax(ttot,regi,"coalftcrec")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 1.0; +p21_tau_pe2se_tax(ttot,regi,"coalh2")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.5; +p21_tau_pe2se_tax(ttot,regi,"coalh2c")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.5; +p21_tau_pe2se_tax(ttot,regi,"coalgas")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.5; +); ***cb20110923 rescaling of PE2SE parameters from $/GJ to trillion $ / TWa p21_tau_pe2se_tax(ttot,regi,te)$(ttot.val ge 2005) = p21_tau_pe2se_tax(ttot,regi,te) * 0.001 / sm_EJ_2_TWa; p21_tau_pe2se_sub(ttot,regi,te)$(ttot.val ge 2005) = p21_tau_pe2se_sub(ttot,regi,te) * 0.001 / sm_EJ_2_TWa; -p21_tau_pe2se_inconv(ttot,regi,te)$(ttot.val ge 2005) = p21_tau_pe2se_inconv(ttot,regi,te) * 0.001 / sm_EJ_2_TWa; *** SE electricity tax rate tech specific ramp up logistic function parameters p21_tau_SE_tax_rampup(t,regi,te,teSeTax_coeff) = 0; @@ -115,20 +116,7 @@ $ifThen.SEtaxRampUpParam not "%cm_SEtaxRampUpParam%" == "off" ); $endif.SEtaxRampUpParam -***cb 20110923 load paths for ressource export taxes -***cb* file for resource export taxes, not used in default settings -Parameter p21_tau_xpres_tax(tall,all_regi,all_enty) "tax path for ressource export" - / -$ondelim -$include "./modules/21_tax/on/input/p21_tau_xpres_tax.cs4r" -$offdelim - / ; -*** converted to T$/TWyr -p21_tau_xpres_tax(ttot,regi,"peoil")$(ttot.val ge 2005) = p21_tau_xpres_tax(ttot,regi,"peoil") * sm_DpGJ_2_TDpTWa; -*LB* use 0 for all regions as default -p21_tau_xpres_tax(ttot,regi,all_enty) = 0; - -*JeS for SO2 tax case: tax path in 10^12$/TgS (= 10^6 $/t S) @ GDP/cap of 1000$/cap (value gets scaled by GDP/cap) +***JeS for SO2 tax case: tax path in 10^12$/TgS (= 10^6 $/t S) @ GDP/cap of 1000$/cap (value gets scaled by GDP/cap) if((cm_so2tax_scen eq 0), s21_so2_tax_2010=0.0; elseif(cm_so2tax_scen eq 1), diff --git a/modules/21_tax/on/declarations.gms b/modules/21_tax/on/declarations.gms index 5af9aa774..c26eac3bf 100644 --- a/modules/21_tax/on/declarations.gms +++ b/modules/21_tax/on/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -8,7 +8,6 @@ Parameters p21_tau_so2_tax(tall,all_regi) "so2 tax path" p21_tau_pe2se_tax(tall,all_regi,all_te) "tax path for primary energy technologies" -p21_tau_pe2se_inconv(tall,all_regi,all_te) "inconvenience cost path for primary energy technologies" p21_tau_pe2se_sub(tall,all_regi,all_te) "subsidy path for primary energy technologies" p21_max_fe_sub(tall,all_regi,all_enty) "maximum final energy subsidy levels from REMIND version prior to rev. 5429 [$/TWa]" p21_prop_fe_sub(tall,all_regi,all_enty) "subsidy proportional cap to avoid liquids increasing dramatically" @@ -32,7 +31,6 @@ p21_taxrevFE0(ttot,all_regi) "reference level va p21_taxrevCES0(ttot,all_regi,all_in) "reference level value of ces production tax" p21_taxrevResEx0(ttot,all_regi) "reference level value of resource extraction tax" p21_taxrevPE2SE0(ttot,all_regi) "reference level value of pe2se technologies tax" -p21_taxrevXport0(ttot,all_regi) "reference level value of exports tax" p21_taxrevSO20(ttot,all_regi) "reference level value of SO2 tax" p21_taxrevBio0(ttot,all_regi) "reference level value of bioenergy tax" p21_implicitDiscRate0(ttot,all_regi) "reference level value of implicit tax on energy efficient capital" @@ -50,7 +48,6 @@ p21_taxrevFE_iter(iteration,ttot,all_regi) "reference level valu p21_taxrevCES_iter(iteration,ttot,all_regi,all_in) "reference level value of ces production tax revenue" p21_taxrevResEx_iter(iteration,ttot,all_regi) "reference level value of resource extraction tax revenue" p21_taxrevPE2SE_iter(iteration,ttot,all_regi) "reference level value of pe2se technologies tax revenue" -p21_taxrevXport_iter(iteration,ttot,all_regi) "reference level value of exports tax revenue" p21_taxrevSO2_iter(iteration,ttot,all_regi) "reference level value of SO2 tax revenue" p21_taxrevBio_iter(iteration,ttot,all_regi) "reference level value of bioenergy tax revenue" p21_implicitDiscRate_iter(iteration,ttot,all_regi) "reference level value of implicit tax on energy efficient capital" @@ -117,7 +114,6 @@ v21_taxrevFE(ttot,all_regi) "tax on final energy (?)" v21_taxrevCES(ttot,all_regi,all_in) "tax on ces production function" v21_taxrevResEx(ttot,all_regi) "tax on resource extraction (?)" v21_taxrevPE2SE(ttot,all_regi) "tax on pe2se technologies (?)" -v21_taxrevXport(ttot,all_regi) "tax on exports (?)" v21_taxrevSO2(ttot,all_regi) "tax on SO2 (to reflect health impacts)" v21_taxrevBio(ttot,all_regi) "tax on bioenergy (to reflect sustainability constraints on bioenergy production)" v21_taxrevFlex(ttot,all_regi) "tax on technologies with flexible or inflexible electricity input" @@ -148,7 +144,6 @@ q21_taxrevFE(ttot,all_regi) "calculation of tax on final ene q21_taxrevCES(ttot,all_regi,all_in) "calculation of tax on ces production function" q21_taxrevResEx(ttot,all_regi) "calculation of tax on resource extraction" q21_taxrevPE2SE(ttot,all_regi) "calculation of tax on pe2se technologies" -q21_taxrevXport(ttot,all_regi) "calculation of tax on exports" q21_taxrevSO2(ttot,all_regi) "calculation of tax on SO2" q21_taxrevBio(ttot,all_regi) "calculation of tax on bioenergy" q21_taxrevFlex(ttot,all_regi) "tax on technologies with flexible or inflexible electricity input" diff --git a/modules/21_tax/on/equations.gms b/modules/21_tax/on/equations.gms index d6811b0a5..c2198d7ec 100644 --- a/modules/21_tax/on/equations.gms +++ b/modules/21_tax/on/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -43,7 +43,6 @@ q21_taxrev(t,regi)$(t.val ge max(2010,cm_startyear)).. + sum(in, v21_taxrevCES(t,regi,in)) + v21_taxrevResEx(t,regi) + v21_taxrevPE2SE(t,regi) - + v21_taxrevXport(t,regi) + v21_taxrevSO2(t,regi) + v21_taxrevBio(t,regi) - vm_costSubsidizeLearning(t,regi) @@ -187,18 +186,10 @@ v21_taxrevResEx(t,regi) =e= sum(pe2rlf(peEx(enty),rlf), p21_tau_fuEx_sub(t,regi q21_taxrevPE2SE(t,regi)$(t.val ge max(2010,cm_startyear)).. v21_taxrevPE2SE(t,regi) =e= SUM(pe2se(enty,enty2,te), - (p21_tau_pe2se_tax(t,regi,te) + p21_tau_pe2se_sub(t,regi,te) + p21_tau_pe2se_inconv(t,regi,te)) * vm_prodSe(t,regi,enty,enty2,te) + (p21_tau_pe2se_tax(t,regi,te) + p21_tau_pe2se_sub(t,regi,te)) * vm_prodSe(t,regi,enty,enty2,te) ) - p21_taxrevPE2SE0(t,regi); -***--------------------------------------------------------------------------- -*' Calculation of export taxes: tax rate times export volume -*' Documentation of overall tax approach is above at q21_taxrev. -***--------------------------------------------------------------------------- -q21_taxrevXport(t,regi)$(t.val ge max(2010,cm_startyear)).. -v21_taxrevXport(t,regi) =e= SUM(tradePe(enty), p21_tau_xpres_tax(t,regi,enty) * vm_Xport(t,regi,enty)) - - p21_taxrevXport0(t,regi); - ***--------------------------------------------------------------------------- *' Calculation of so2 tax: tax rate times emissions *' Documentation of overall tax approach is above at q21_taxrev. @@ -287,7 +278,7 @@ q21_taxrevFlex(t,regi)$( t.val ge max(2010, cm_startyear) ) .. !! vm_flexAdj is electricity price reduction/increases for flexible/ !! inflexible technologies change sign such that flexible technologies !! get subsidy - -vm_flexAdj(t,regi,te) + - vm_flexAdj(t,regi,te) * vm_demSe(t,regi,enty,enty2,te) ) - p21_taxrevFlex0(t,regi) diff --git a/modules/21_tax/on/input/files b/modules/21_tax/on/input/files index 14cf390f2..5e1802ec5 100644 --- a/modules/21_tax/on/input/files +++ b/modules/21_tax/on/input/files @@ -5,4 +5,5 @@ f21_prop_fe_sub.cs4r f21_tau_pe_sub.cs4r f21_max_pe_sub.cs4r f21_tax_convergence.cs4r -p21_tau_xpres_tax.cs4r +f21_tax_convergence_rollback.cs4r + diff --git a/modules/21_tax/on/not_used.txt b/modules/21_tax/on/not_used.txt index ad14a32d8..85ff9312e 100644 --- a/modules/21_tax/on/not_used.txt +++ b/modules/21_tax/on/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/21_tax/on/postsolve.gms b/modules/21_tax/on/postsolve.gms index 3a5015b37..72bcf0775 100644 --- a/modules/21_tax/on/postsolve.gms +++ b/modules/21_tax/on/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -39,16 +39,15 @@ p21_taxrevResEx0(ttot,regi) = sum(pe2rlf(peEx(enty),rlf), p21_tau_fuEx_sub(ttot, p21_taxrevPE0(ttot,regi,entyPe) = pm_tau_pe_tax(ttot,regi,entyPe) * vm_prodPe.l(ttot,regi,entyPe); p21_taxrevCES0(ttot,regi,in) = pm_tau_ces_tax(ttot,regi,in) * vm_cesIO.l(ttot,regi,in); p21_taxrevPE2SE0(ttot,regi) = sum(pe2se(enty,enty2,te), - (p21_tau_pe2se_tax(ttot,regi,te) + p21_tau_pe2se_sub(ttot,regi,te) + p21_tau_pe2se_inconv(ttot,regi,te)) * vm_prodSe.l(ttot,regi,enty,enty2,te) + (p21_tau_pe2se_tax(ttot,regi,te) + p21_tau_pe2se_sub(ttot,regi,te)) * vm_prodSe.l(ttot,regi,enty,enty2,te) ); -p21_taxrevXport0(ttot,regi) = sum(tradePe(enty), p21_tau_xpres_tax(ttot,regi,enty) * vm_Xport.l(ttot,regi,enty)); p21_taxrevSO20(ttot,regi) = p21_tau_so2_tax(ttot,regi) * vm_emiTe.l(ttot,regi,"so2"); p21_taxrevBio0(ttot,regi) = v21_tau_bio.l(ttot) * vm_pebiolc_price.l(ttot,regi) * vm_fuExtr.l(ttot,regi,"pebiolc","1") + p21_bio_EF(ttot,regi) * pm_taxCO2eq(ttot,regi) * (vm_fuExtr.l(ttot,regi,"pebiolc","1") - (vm_Xport.l(ttot,regi,"pebiolc")-vm_Mport.l(ttot,regi,"pebiolc"))); p21_implicitDiscRate0(ttot,regi) = sum(ppfKap(in), p21_implicitDiscRateMarg(ttot,regi,in) * vm_cesIO.l(ttot,regi,in) ); p21_taxemiMkt0(ttot,regi,emiMkt) = pm_taxemiMkt(ttot,regi,emiMkt) * vm_co2eqMkt.l(ttot,regi,emiMkt); p21_taxrevFlex0(ttot,regi) = sum(en2en(enty,enty2,te)$(teFlexTax(te)), - -vm_flexAdj.l(ttot,regi,te) * vm_demSe.l(ttot,regi,enty,enty2,te)); + - vm_flexAdj.l(ttot,regi,te) * vm_demSe.l(ttot,regi,enty,enty2,te)); p21_taxrevImport0(ttot,regi,tradePe,tax_import_type_21) = p21_tau_Import(ttot,regi,tradePe,tax_import_type_21)$sameas(tax_import_type_21, "worldPricemarkup") * pm_pvp(ttot,tradePe) / pm_pvp(ttot,"good") * vm_Mport.l(ttot,regi,tradePe)+ p21_tau_Import(ttot, regi, tradePe, tax_import_type_21)$sameas(tax_import_type_21, "CO2taxmarkup") * pm_taxCO2eqSum(ttot,regi) * pm_cintraw(tradePe) * vm_Mport.l(ttot,regi,tradePe)+ @@ -72,7 +71,6 @@ p21_taxrevResEx_iter(iteration+1,ttot,regi) = v21_taxrevResEx.l(ttot,regi); p21_taxrevPE_iter(iteration+1,ttot,regi,entyPe) = v21_taxrevPE.l(ttot,regi,entyPe); p21_taxrevCES_iter(iteration+1,ttot,regi,in) = v21_taxrevCES.l(ttot,regi,in); p21_taxrevPE2SE_iter(iteration+1,ttot,regi) = v21_taxrevPE2SE.l(ttot,regi); -p21_taxrevXport_iter(iteration+1,ttot,regi) = v21_taxrevXport.l(ttot,regi); p21_taxrevSO2_iter(iteration+1,ttot,regi) = v21_taxrevSO2.l(ttot,regi); p21_taxrevBio_iter(iteration+1,ttot,regi) = v21_taxrevBio.l(ttot,regi); p21_implicitDiscRate_iter(iteration+1,ttot,regi) = v21_implicitDiscRate.l(ttot,regi); diff --git a/modules/21_tax/on/preloop.gms b/modules/21_tax/on/preloop.gms index b2cbe5b9a..bd002f6e0 100644 --- a/modules/21_tax/on/preloop.gms +++ b/modules/21_tax/on/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -10,10 +10,6 @@ pm_taxemiMkt(t,regi,emiMkt)$(t.val ge cm_startyear) = 0; pm_taxemiMkt_iteration(iteration,t,regi,emiMkt)$(t.val ge cm_startyear) = 0; -*LB* set CO2 tax in 2005 and 2010 to 0 -pm_taxCO2eq("2005",regi)=0; -pm_taxCO2eq("2010",regi)=0; - ***------------------------------------------------------------------- *** overwrite default targets with gdx values ***------------------------------------------------------------------- @@ -57,14 +53,22 @@ if(cm_fetaxscen ne 0, loop(ttot$(ttot.val ge 2005), p21_tau_fe_tax(ttot,regi,sector,entyFe) = p21_tau_fe_tax("2005",regi,sector,entyFe)); ); ***CASE 2: constant TAXES except for the final energies and regions defined at the f21_tax_convergence.cs4r file - if(cm_fetaxscen eq 2, + if(cm_fetaxscen eq 2 OR cm_fetaxscen eq 5, loop(ttot$(ttot.val ge 2005), p21_tau_fe_tax(ttot,regi,sector,entyFe) = p21_tau_fe_tax("2005",regi,sector,entyFe)); - s21_tax_time = 2050; - p21_tau_fe_tax(ttot,regi,sector,entyFe)$(f21_tax_convergence("2050",regi,entyFe) AND ttot.val > 2015 AND ttot.val<(s21_tax_time + 1)) - = - p21_tau_fe_tax("2005",regi,sector,entyFe)+((f21_tax_convergence("2050",regi,entyFe)*0.001/sm_EJ_2_TWa-p21_tau_fe_tax("2005",regi,sector,entyFe))*((ttot.val-2015)/(s21_tax_time-2015))); - p21_tau_fe_tax(ttot,regi,sector,entyFe)$(f21_tax_convergence("2050",regi,entyFe) AND ttot.val >(s21_tax_time)) = f21_tax_convergence("2050",regi,entyFe)*0.001/sm_EJ_2_TWa; + if(cm_fetaxscen eq 2, s21_tax_time = 2050; + p21_tau_fe_tax(ttot,regi,sector,entyFe)$(f21_tax_convergence("2050",regi,entyFe) AND ttot.val > 2015 AND ttot.val<(s21_tax_time + 1)) + = + p21_tau_fe_tax("2005",regi,sector,entyFe)+((f21_tax_convergence("2050",regi,entyFe)*0.001/sm_EJ_2_TWa-p21_tau_fe_tax("2005",regi,sector,entyFe))*((ttot.val-2015)/(s21_tax_time-2015))); + p21_tau_fe_tax(ttot,regi,sector,entyFe)$(f21_tax_convergence("2050",regi,entyFe) AND ttot.val >(s21_tax_time)) = f21_tax_convergence("2050",regi,entyFe)*0.001/sm_EJ_2_TWa; + ); + if(cm_fetaxscen eq 5, s21_tax_time = 2035; + p21_tau_fe_tax(ttot,regi,sector,entyFe)$(f21_tax_convergence("2035",regi,entyFe) AND ttot.val > 2015 AND ttot.val<(s21_tax_time + 1)) + = + p21_tau_fe_tax("2005",regi,sector,entyFe)+((f21_tax_convergence("2035",regi,entyFe)*0.001/sm_EJ_2_TWa-p21_tau_fe_tax("2005",regi,sector,entyFe))*((ttot.val-2015)/(s21_tax_time-2015))); + p21_tau_fe_tax(ttot,regi,sector,entyFe)$(f21_tax_convergence("2035",regi,entyFe) AND ttot.val >(s21_tax_time)) = f21_tax_convergence("2050",regi,entyFe)*0.001/sm_EJ_2_TWa; + ); + ); ***----- SUBSIDIES ---------------------------------- @@ -76,7 +80,7 @@ if(cm_fetaxscen ne 0, loop(ttot$(ttot.val ge 2005), p21_tau_fuEx_sub(ttot,regi,entyPe)=p21_tau_fuEx_sub("2005",regi,entyPe)); ); *** CASE 2 and 3 and 4: Global subsidies phase-out by 2030 (SSP1, SDP) and 2050 (SSP2) respectively - if(cm_fetaxscen eq 2 OR cm_fetaxscen eq 3 OR cm_fetaxscen eq 4, + if(cm_fetaxscen eq 2 OR cm_fetaxscen eq 3 OR cm_fetaxscen eq 4 OR cm_fetaxscen eq 5, p21_tau_fe_sub(ttot,regi,sector,entyFe)$(ttot.val eq 2010 OR ttot.val eq 2015)=p21_tau_fe_sub("2005",regi,sector,entyFe); p21_tau_pe2se_sub(ttot,regi,te)$(ttot.val eq 2010 OR ttot.val eq 2015)=p21_tau_pe2se_sub("2005",regi,te); p21_tau_fuEx_sub(ttot,regi,entyPe)$(ttot.val eq 2010 OR ttot.val eq 2015)=p21_tau_fuEx_sub("2005",regi,entyPe); diff --git a/modules/21_tax/on/presolve.gms b/modules/21_tax/on/presolve.gms index 37b204f93..c89b0eca5 100644 --- a/modules/21_tax/on/presolve.gms +++ b/modules/21_tax/on/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -38,16 +38,15 @@ p21_taxrevResEx0(ttot,regi) = sum(pe2rlf(peEx(enty),rlf), p21_tau_fuEx_sub(ttot, p21_taxrevPE0(ttot,regi,entyPe) = pm_tau_pe_tax(ttot,regi,entyPe) * vm_prodPe.l(ttot,regi,entyPe); p21_taxrevCES0(ttot,regi,in) = pm_tau_ces_tax(ttot,regi,in) * vm_cesIO.l(ttot,regi,in); p21_taxrevPE2SE0(ttot,regi) = sum(pe2se(enty,enty2,te), - (p21_tau_pe2se_tax(ttot,regi,te) + p21_tau_pe2se_sub(ttot,regi,te) + p21_tau_pe2se_inconv(ttot,regi,te)) * vm_prodSe.l(ttot,regi,enty,enty2,te) + (p21_tau_pe2se_tax(ttot,regi,te) + p21_tau_pe2se_sub(ttot,regi,te)) * vm_prodSe.l(ttot,regi,enty,enty2,te) ); -p21_taxrevXport0(ttot,regi) = sum(tradePe(enty), p21_tau_xpres_tax(ttot,regi,enty) * vm_Xport.l(ttot,regi,enty)); p21_taxrevSO20(ttot,regi) = p21_tau_so2_tax(ttot,regi) * vm_emiTe.l(ttot,regi,"so2"); p21_taxrevBio0(ttot,regi) = v21_tau_bio.l(ttot) * vm_pebiolc_price.l(ttot,regi) * vm_fuExtr.l(ttot,regi,"pebiolc","1") + p21_bio_EF(ttot,regi) * pm_taxCO2eq(ttot,regi) * (vm_fuExtr.l(ttot,regi,"pebiolc","1") - (vm_Xport.l(ttot,regi,"pebiolc")-vm_Mport.l(ttot,regi,"pebiolc"))); p21_implicitDiscRate0(ttot,regi) = sum(ppfKap(in), p21_implicitDiscRateMarg(ttot,regi,in) * vm_cesIO.l(ttot,regi,in) ); p21_taxemiMkt0(ttot,regi,emiMkt) = pm_taxemiMkt(ttot,regi,emiMkt) * vm_co2eqMkt.l(ttot,regi,emiMkt); p21_taxrevFlex0(ttot,regi) = sum(en2en(enty,enty2,te)$(teFlexTax(te)), - -vm_flexAdj.l(ttot,regi,te) * vm_demSe.l(ttot,regi,enty,enty2,te)); + - vm_flexAdj.l(ttot,regi,te) * vm_demSe.l(ttot,regi,enty,enty2,te)); p21_taxrevImport0(ttot,regi,tradePe,tax_import_type_21) = p21_tau_Import(ttot,regi,tradePe,tax_import_type_21)$sameas(tax_import_type_21, "worldPricemarkup") * pm_pvp(ttot,tradePe) / pm_pvp(ttot,"good") * vm_Mport.l(ttot,regi,tradePe)+ p21_tau_Import(ttot, regi, tradePe, tax_import_type_21)$sameas(tax_import_type_21, "CO2taxmarkup") * pm_taxCO2eqSum(ttot,regi) * pm_cintraw(tradePe) * vm_Mport.l(ttot,regi,tradePe)+ p21_tau_Import(ttot, regi, tradePe, tax_import_type_21)$sameas(tax_import_type_21, "avCO2taxmarkup") * max(pm_taxCO2eqSum(ttot,regi), sum(regi2, pm_taxCO2eqSum(ttot,regi2))/(card(regi2))) * pm_cintraw(tradePe) * vm_Mport.l(ttot,regi,tradePe); diff --git a/modules/21_tax/on/realization.gms b/modules/21_tax/on/realization.gms index a506510f0..452871b24 100644 --- a/modules/21_tax/on/realization.gms +++ b/modules/21_tax/on/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/21_tax/on/sets.gms b/modules/21_tax/on/sets.gms index e07908229..832b37615 100644 --- a/modules/21_tax/on/sets.gms +++ b/modules/21_tax/on/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/globallyOptimal/bounds.gms b/modules/22_subsidizeLearning/globallyOptimal/bounds.gms index 09ee6f6d6..579a53d58 100644 --- a/modules/22_subsidizeLearning/globallyOptimal/bounds.gms +++ b/modules/22_subsidizeLearning/globallyOptimal/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/globallyOptimal/datainput.gms b/modules/22_subsidizeLearning/globallyOptimal/datainput.gms index e6c375011..0ebc9bfb4 100644 --- a/modules/22_subsidizeLearning/globallyOptimal/datainput.gms +++ b/modules/22_subsidizeLearning/globallyOptimal/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/globallyOptimal/declarations.gms b/modules/22_subsidizeLearning/globallyOptimal/declarations.gms index b23b40843..6cdc5db55 100644 --- a/modules/22_subsidizeLearning/globallyOptimal/declarations.gms +++ b/modules/22_subsidizeLearning/globallyOptimal/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/globallyOptimal/equations.gms b/modules/22_subsidizeLearning/globallyOptimal/equations.gms index aec012dab..4eb60ec98 100644 --- a/modules/22_subsidizeLearning/globallyOptimal/equations.gms +++ b/modules/22_subsidizeLearning/globallyOptimal/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/globallyOptimal/postsolve.gms b/modules/22_subsidizeLearning/globallyOptimal/postsolve.gms index 639f5f507..5b4684174 100644 --- a/modules/22_subsidizeLearning/globallyOptimal/postsolve.gms +++ b/modules/22_subsidizeLearning/globallyOptimal/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/globallyOptimal/presolve.gms b/modules/22_subsidizeLearning/globallyOptimal/presolve.gms index fa3abebcc..6e0dc8d78 100644 --- a/modules/22_subsidizeLearning/globallyOptimal/presolve.gms +++ b/modules/22_subsidizeLearning/globallyOptimal/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/globallyOptimal/realization.gms b/modules/22_subsidizeLearning/globallyOptimal/realization.gms index b5cff1331..2af37f589 100644 --- a/modules/22_subsidizeLearning/globallyOptimal/realization.gms +++ b/modules/22_subsidizeLearning/globallyOptimal/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/globallyOptimal/sets.gms b/modules/22_subsidizeLearning/globallyOptimal/sets.gms index 2257bf17f..06453eec8 100644 --- a/modules/22_subsidizeLearning/globallyOptimal/sets.gms +++ b/modules/22_subsidizeLearning/globallyOptimal/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/module.gms b/modules/22_subsidizeLearning/module.gms index abba292ce..cd78ebbee 100644 --- a/modules/22_subsidizeLearning/module.gms +++ b/modules/22_subsidizeLearning/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/off/bounds.gms b/modules/22_subsidizeLearning/off/bounds.gms index 48ec0b782..1f23b0276 100644 --- a/modules/22_subsidizeLearning/off/bounds.gms +++ b/modules/22_subsidizeLearning/off/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/off/declarations.gms b/modules/22_subsidizeLearning/off/declarations.gms index c683c9471..1e2a34d4f 100644 --- a/modules/22_subsidizeLearning/off/declarations.gms +++ b/modules/22_subsidizeLearning/off/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/off/not_used.txt b/modules/22_subsidizeLearning/off/not_used.txt index d7f028626..371dafc69 100644 --- a/modules/22_subsidizeLearning/off/not_used.txt +++ b/modules/22_subsidizeLearning/off/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/off/postsolve.gms b/modules/22_subsidizeLearning/off/postsolve.gms index 001ece563..dd9cc45a3 100644 --- a/modules/22_subsidizeLearning/off/postsolve.gms +++ b/modules/22_subsidizeLearning/off/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/off/realization.gms b/modules/22_subsidizeLearning/off/realization.gms index 4f04cb419..28bad507c 100644 --- a/modules/22_subsidizeLearning/off/realization.gms +++ b/modules/22_subsidizeLearning/off/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/23_capitalMarket/debt_limit/datainput.gms b/modules/23_capitalMarket/debt_limit/datainput.gms index 2b3c8361c..5d5f83383 100644 --- a/modules/23_capitalMarket/debt_limit/datainput.gms +++ b/modules/23_capitalMarket/debt_limit/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/23_capitalMarket/debt_limit/declarations.gms b/modules/23_capitalMarket/debt_limit/declarations.gms index 4a085cca3..d98c404a0 100644 --- a/modules/23_capitalMarket/debt_limit/declarations.gms +++ b/modules/23_capitalMarket/debt_limit/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -8,7 +8,6 @@ Parameters -pm_ies(all_regi) "intertemporal elasticity of substitution" pm_risk_premium(all_regi) "risk premium that lowers the use of capital imports" ; diff --git a/modules/23_capitalMarket/debt_limit/equations.gms b/modules/23_capitalMarket/debt_limit/equations.gms index cfd394c0f..f75f061b8 100644 --- a/modules/23_capitalMarket/debt_limit/equations.gms +++ b/modules/23_capitalMarket/debt_limit/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/23_capitalMarket/debt_limit/not_used.txt b/modules/23_capitalMarket/debt_limit/not_used.txt index 225a38e35..4ce82227b 100644 --- a/modules/23_capitalMarket/debt_limit/not_used.txt +++ b/modules/23_capitalMarket/debt_limit/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -7,3 +7,5 @@ name,type,reason pm_prtp,input,questionnaire cm_prtpScen,input,questionnaire +p23_ies_differentiated,input,questionaire +pm_ies,input,questionaire diff --git a/modules/23_capitalMarket/debt_limit/realization.gms b/modules/23_capitalMarket/debt_limit/realization.gms index cead699bf..91bd39a47 100644 --- a/modules/23_capitalMarket/debt_limit/realization.gms +++ b/modules/23_capitalMarket/debt_limit/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/23_capitalMarket/imperfect/datainput.gms b/modules/23_capitalMarket/imperfect/datainput.gms index a56e7813b..a1aa635aa 100644 --- a/modules/23_capitalMarket/imperfect/datainput.gms +++ b/modules/23_capitalMarket/imperfect/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -9,13 +9,14 @@ *** ML 20181220* substitution elasticity and time preference adjusted to get initial consumption that matches historic consumption shares *** be careful with changing time preferences as this parameter is used also outside the welfare function -parameter pm_ies(all_regi) "intertemporal elasticity of substitution" +parameter p23_ies_differentiated(all_regi) "intertemporal elasticity of substitution" / $ondelim $include "./modules/23_capitalMarket/imperfect/input/pm_ies.cs4r" $offdelim / ; +pm_ies(regi) = p23_ies_differentiated(regi); parameter p23_prtp(all_regi) " regionally differentiated pure rate of time preference" / diff --git a/modules/23_capitalMarket/imperfect/declarations.gms b/modules/23_capitalMarket/imperfect/declarations.gms index 6463e9313..30fa587c0 100644 --- a/modules/23_capitalMarket/imperfect/declarations.gms +++ b/modules/23_capitalMarket/imperfect/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/23_capitalMarket/imperfect/equations.gms b/modules/23_capitalMarket/imperfect/equations.gms index 8c5a4ac7e..a0b86a326 100644 --- a/modules/23_capitalMarket/imperfect/equations.gms +++ b/modules/23_capitalMarket/imperfect/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -16,7 +16,6 @@ q23_limit_debt(t,regi).. sum(ttot$(ttot.val le t.val), sum(trade$(NOT tradeSe(trade)), (pm_pvp(ttot,trade)/(pm_pvp("2005","good") + 0.000000001))*(vm_Mport(ttot,regi,trade)- vm_Xport(ttot,regi,trade))) + sum(tradeSe, pm_MPortsPrice(ttot,regi,tradeSe) * vm_Mport(ttot,regi,tradeSe)) - sum(tradeSe, pm_XPortsPrice(ttot,regi,tradeSe) * vm_Xport(ttot,regi,tradeSe)) - + vm_budgetTradeM(t,regi) - vm_budgetTradeX(t,regi) ) ; @@ -28,7 +27,6 @@ q23_limit_debt_growth(t,regi).. + sum(tradePe, (pm_pvp(t,tradePe)/(pm_pvp(t,"good")+0.000000001))*(vm_Mport(t,regi,tradePe)- vm_Xport(t,regi,tradePe))) + (pm_pvp(t,"perm")/(pm_pvp(t,"good")+0.000000001)) * (vm_Mport(t,regi,"perm") - vm_Xport(t,regi,"perm")) + sum(tradeSe, pm_MPortsPrice(t,regi,tradeSe) * vm_Mport(t,regi,tradeSe)) - sum(tradeSe, pm_XPortsPrice(t,regi,tradeSe) * vm_Xport(t,regi,tradeSe)) - + vm_budgetTradeM(t,regi) - vm_budgetTradeX(t,regi) ; *' @stop diff --git a/modules/23_capitalMarket/imperfect/realization.gms b/modules/23_capitalMarket/imperfect/realization.gms index d6eb3b78d..86699c4a7 100644 --- a/modules/23_capitalMarket/imperfect/realization.gms +++ b/modules/23_capitalMarket/imperfect/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/23_capitalMarket/module.gms b/modules/23_capitalMarket/module.gms index b04a44b7c..52ed77edd 100644 --- a/modules/23_capitalMarket/module.gms +++ b/modules/23_capitalMarket/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/capacity/bounds.gms b/modules/24_trade/capacity/bounds.gms index bb8c9def9..f4e617675 100644 --- a/modules/24_trade/capacity/bounds.gms +++ b/modules/24_trade/capacity/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/capacity/datainput.gms b/modules/24_trade/capacity/datainput.gms index 3328b08ea..fc528846c 100644 --- a/modules/24_trade/capacity/datainput.gms +++ b/modules/24_trade/capacity/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/capacity/declarations.gms b/modules/24_trade/capacity/declarations.gms index 0a9dd4e12..06b8283f6 100644 --- a/modules/24_trade/capacity/declarations.gms +++ b/modules/24_trade/capacity/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/capacity/equations.gms b/modules/24_trade/capacity/equations.gms index 3bc138d93..ca13b83b6 100644 --- a/modules/24_trade/capacity/equations.gms +++ b/modules/24_trade/capacity/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/capacity/not_used.txt b/modules/24_trade/capacity/not_used.txt index 045d3accd..6d1221f8e 100644 --- a/modules/24_trade/capacity/not_used.txt +++ b/modules/24_trade/capacity/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -13,3 +13,6 @@ sm_trillion_2_non, parameter, not needed sm_GJ_2_TWa, parameter, not needed sm_TWa_2_kWh, parameter, not needed sm_h2kg_2_h2kWh, parameter, not needed +pm_specFeDem,parameter,only used in standard realization +vm_outflowPrc, variable, only used in standard realization +p24_trade_constraints, variable, only used in standard realization diff --git a/modules/24_trade/capacity/postsolve.gms b/modules/24_trade/capacity/postsolve.gms index 555c2bcf0..907f81725 100644 --- a/modules/24_trade/capacity/postsolve.gms +++ b/modules/24_trade/capacity/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/capacity/preloop.gms b/modules/24_trade/capacity/preloop.gms index 54423bd3a..52e871be3 100644 --- a/modules/24_trade/capacity/preloop.gms +++ b/modules/24_trade/capacity/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/capacity/presolve.gms b/modules/24_trade/capacity/presolve.gms index 41927fabf..757ce78d6 100644 --- a/modules/24_trade/capacity/presolve.gms +++ b/modules/24_trade/capacity/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/capacity/realization.gms b/modules/24_trade/capacity/realization.gms index 8b11ea74f..f0922d256 100644 --- a/modules/24_trade/capacity/realization.gms +++ b/modules/24_trade/capacity/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/capacity/sets.gms b/modules/24_trade/capacity/sets.gms index 50022dd10..990832544 100644 --- a/modules/24_trade/capacity/sets.gms +++ b/modules/24_trade/capacity/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/module.gms b/modules/24_trade/module.gms index 92e9accb3..a55013799 100644 --- a/modules/24_trade/module.gms +++ b/modules/24_trade/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/se_trade/bounds.gms b/modules/24_trade/se_trade/bounds.gms index 883230595..f1e6f4904 100644 --- a/modules/24_trade/se_trade/bounds.gms +++ b/modules/24_trade/se_trade/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/se_trade/datainput.gms b/modules/24_trade/se_trade/datainput.gms index e989dc849..f68a4c99a 100644 --- a/modules/24_trade/se_trade/datainput.gms +++ b/modules/24_trade/se_trade/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/se_trade/declarations.gms b/modules/24_trade/se_trade/declarations.gms index fba52f9d2..bc2a14ea6 100644 --- a/modules/24_trade/se_trade/declarations.gms +++ b/modules/24_trade/se_trade/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/se_trade/not_used.txt b/modules/24_trade/se_trade/not_used.txt index 777a1401e..8c2327da0 100644 --- a/modules/24_trade/se_trade/not_used.txt +++ b/modules/24_trade/se_trade/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -11,3 +11,7 @@ pm_omeg,parameter,only used in capacity realization pm_data,parameter,only used in capacity realization pm_tsu2opTimeYr,parameter,only used in capacity realization pm_ttot_val,parameter,only used in capacity realization +pm_specFeDem,parameter,only used in standard realization +vm_outflowPrc, variable, only used in standard realization +p24_trade_constraints, variable, only used in standard realization + diff --git a/modules/24_trade/se_trade/postsolve.gms b/modules/24_trade/se_trade/postsolve.gms index 43d7d5207..5f2732d9a 100644 --- a/modules/24_trade/se_trade/postsolve.gms +++ b/modules/24_trade/se_trade/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/se_trade/preloop.gms b/modules/24_trade/se_trade/preloop.gms index 573c84d84..22ab4ce97 100644 --- a/modules/24_trade/se_trade/preloop.gms +++ b/modules/24_trade/se_trade/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/se_trade/presolve.gms b/modules/24_trade/se_trade/presolve.gms index 0c8ce1e6d..0e754fa5d 100644 --- a/modules/24_trade/se_trade/presolve.gms +++ b/modules/24_trade/se_trade/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/se_trade/realization.gms b/modules/24_trade/se_trade/realization.gms index d869cb723..8798437d6 100644 --- a/modules/24_trade/se_trade/realization.gms +++ b/modules/24_trade/se_trade/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/se_trade/sets.gms b/modules/24_trade/se_trade/sets.gms index ede9c5d5d..0bfff64f0 100644 --- a/modules/24_trade/se_trade/sets.gms +++ b/modules/24_trade/se_trade/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/standard/bounds.gms b/modules/24_trade/standard/bounds.gms index 3eb1b6a6c..1d9d4ee93 100644 --- a/modules/24_trade/standard/bounds.gms +++ b/modules/24_trade/standard/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -86,7 +86,7 @@ $ENDIF.fossil_realization *** bounds on oil, gas and coal trade in 2010 and 2015 (+-10% from historical IEA values) -loop( ttot$(ttot.val eq 2010 OR ttot.val eq 2015), +loop( ttot$(ttot.val eq 2010 OR ttot.val eq 2015 OR ttot.val eq 2020), loop( peFos, vm_Xport.lo(ttot,regi,peFos) = 0.9 * pm_IO_trade(ttot,regi,peFos,"Xport"); vm_Xport.up(ttot,regi,peFos) = 1.1 * pm_IO_trade(ttot,regi,peFos,"Xport"); diff --git a/modules/24_trade/standard/datainput.gms b/modules/24_trade/standard/datainput.gms index d5c2d9177..ef6a05470 100644 --- a/modules/24_trade/standard/datainput.gms +++ b/modules/24_trade/standard/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -27,6 +27,18 @@ $ondelim $include "./modules/24_trade/standard/input/pm_costsTradePeFinancial.cs3r" $offdelim ; + +*NB* import assumptions for the activation of trade constraints +parameter p24_trade_constraints(all_regi,all_enty,tradeConst) "parameter for the region specific trade constraints, values different to 1 activate constraints and the value is used as effectiveness to varying degress such as percentage numbers" +/ +$ondelim +$include "./modules/24_trade/standard/input/p24_trade_constraints.cs4r" +$offdelim +/ +; + +display p24_trade_constraints; + pm_costsTradePeFinancial(regi,"XportElasticity", tradePe(enty)) = 100; pm_costsTradePeFinancial(regi, "tradeFloor", tradePe(enty)) = 0.0125; pm_costsTradePeFinancial(regi,"Mport","peur") = 1e-06; diff --git a/modules/24_trade/standard/declarations.gms b/modules/24_trade/standard/declarations.gms index 827e5b26b..905ded36c 100644 --- a/modules/24_trade/standard/declarations.gms +++ b/modules/24_trade/standard/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -27,4 +27,9 @@ vm_costTradeCap(ttot,all_regi,all_enty) "Trade technology and transportation vm_capacityTradeBalance(tall,all_regi) "Capacity trade balance term" ; + +Equations +q24_peimport_demandside(tall,all_regi,all_enty,tradeConst) "Constraint on imports due to domestic requirements" +; + *** EOF ./modules/24_trade/standard/declarations.gms diff --git a/modules/24_trade/standard/equations.gms b/modules/24_trade/standard/equations.gms new file mode 100644 index 000000000..19027eb3f --- /dev/null +++ b/modules/24_trade/standard/equations.gms @@ -0,0 +1,38 @@ +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/24_trade/standard/equations.gms + +*' @equations + +*** --------------------------------------------------------------------------- +*** Trade Constraints +*** --------------------------------------------------------------------------- + +***------------------------------------------------------ +*' Imports constrained by demand side of import country +***------------------------------------------------------ + +*Coal used in steel making is imported due to minimum quality requiremend (that is India) +* active only after 2020; otherwise potential interference with constrained historic vm_Mport() +* The constraint avoids Indian coal imports to drop to zero immediately + +q24_peimport_demandside(t,regi,enty,tradeConst)$(t.val gt 2020 AND p24_trade_constraints(regi,enty,tradeConst) ne 0).. + vm_Mport(t,regi,enty) + =g= + p24_trade_constraints(regi,enty,tradeConst)* + sum((secInd37_tePrc("steel",tePrc), + tePrc2opmoPrc(tePrc,opmoPrc)), + pm_specFeDem(t,regi,"fesos",tePrc,opmoPrc) * + vm_outflowPrc(t,regi,tePrc,opmoPrc) + ) +; + + +*' @stop +*** EOF ./modules/24_trade/standard/equations.gms + + diff --git a/modules/24_trade/standard/input/files b/modules/24_trade/standard/input/files index a13305f84..93658b15a 100644 --- a/modules/24_trade/standard/input/files +++ b/modules/24_trade/standard/input/files @@ -1,2 +1,3 @@ pm_costsPEtradeMp.cs4r pm_costsTradePeFinancial.cs3r +p24_trade_constraints.cs4r diff --git a/modules/24_trade/standard/not_used.txt b/modules/24_trade/standard/not_used.txt index e3396677a..ed49b4639 100644 --- a/modules/24_trade/standard/not_used.txt +++ b/modules/24_trade/standard/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/standard/postsolve.gms b/modules/24_trade/standard/postsolve.gms index acf080b78..6354a5b79 100644 --- a/modules/24_trade/standard/postsolve.gms +++ b/modules/24_trade/standard/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/standard/presolve.gms b/modules/24_trade/standard/presolve.gms index a3b8b034d..a9ef50511 100644 --- a/modules/24_trade/standard/presolve.gms +++ b/modules/24_trade/standard/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/standard/realization.gms b/modules/24_trade/standard/realization.gms index 10bb8a12b..65bc1edd7 100644 --- a/modules/24_trade/standard/realization.gms +++ b/modules/24_trade/standard/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -10,6 +10,7 @@ $Ifi "%phase%" == "sets" $include "./modules/24_trade/standard/sets.gms" $Ifi "%phase%" == "declarations" $include "./modules/24_trade/standard/declarations.gms" $Ifi "%phase%" == "datainput" $include "./modules/24_trade/standard/datainput.gms" +$Ifi "%phase%" == "equations" $include "./modules/24_trade/standard/equations.gms" $Ifi "%phase%" == "bounds" $include "./modules/24_trade/standard/bounds.gms" $Ifi "%phase%" == "presolve" $include "./modules/24_trade/standard/presolve.gms" $Ifi "%phase%" == "postsolve" $include "./modules/24_trade/standard/postsolve.gms" diff --git a/modules/24_trade/standard/sets.gms b/modules/24_trade/standard/sets.gms index 3efefded0..ae2f80550 100644 --- a/modules/24_trade/standard/sets.gms +++ b/modules/24_trade/standard/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -35,6 +35,11 @@ tradeCap(all_enty) "Commodities traded via capacity mode." / null / -; + +tradeConst "set to distinguish import constraints" + +/ +import_cokecoal "constrained to require cokeing coal to be imported, important for India" +/; *** EOF ./modules/24_trade/standard/sets.gms diff --git a/modules/26_agCosts/costs/datainput.gms b/modules/26_agCosts/costs/datainput.gms index 6bccde53d..a7f9918a6 100644 --- a/modules/26_agCosts/costs/datainput.gms +++ b/modules/26_agCosts/costs/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/26_agCosts/costs/declarations.gms b/modules/26_agCosts/costs/declarations.gms index 29ea19bfd..06087aef3 100644 --- a/modules/26_agCosts/costs/declarations.gms +++ b/modules/26_agCosts/costs/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/26_agCosts/costs/presolve.gms b/modules/26_agCosts/costs/presolve.gms index 5205a431c..f2308419c 100644 --- a/modules/26_agCosts/costs/presolve.gms +++ b/modules/26_agCosts/costs/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/26_agCosts/costs/realization.gms b/modules/26_agCosts/costs/realization.gms index 41652f169..e77ea427d 100644 --- a/modules/26_agCosts/costs/realization.gms +++ b/modules/26_agCosts/costs/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/26_agCosts/costs_trade/datainput.gms b/modules/26_agCosts/costs_trade/datainput.gms index 6a9e7b055..89cc3f6f0 100644 --- a/modules/26_agCosts/costs_trade/datainput.gms +++ b/modules/26_agCosts/costs_trade/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/26_agCosts/costs_trade/not_used.txt b/modules/26_agCosts/costs_trade/not_used.txt index ebf6e4852..33f72eabe 100644 --- a/modules/26_agCosts/costs_trade/not_used.txt +++ b/modules/26_agCosts/costs_trade/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/26_agCosts/costs_trade/realization.gms b/modules/26_agCosts/costs_trade/realization.gms index 131d836d6..9a7770ecd 100644 --- a/modules/26_agCosts/costs_trade/realization.gms +++ b/modules/26_agCosts/costs_trade/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/26_agCosts/module.gms b/modules/26_agCosts/module.gms index 3a2ab8dd5..6885c3957 100644 --- a/modules/26_agCosts/module.gms +++ b/modules/26_agCosts/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/26_agCosts/off/declarations.gms b/modules/26_agCosts/off/declarations.gms index 088d36185..5f1b75f27 100644 --- a/modules/26_agCosts/off/declarations.gms +++ b/modules/26_agCosts/off/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/26_agCosts/off/not_used.txt b/modules/26_agCosts/off/not_used.txt index ebf6e4852..33f72eabe 100644 --- a/modules/26_agCosts/off/not_used.txt +++ b/modules/26_agCosts/off/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/26_agCosts/off/realization.gms b/modules/26_agCosts/off/realization.gms index a7a946ecd..1714d4881 100644 --- a/modules/26_agCosts/off/realization.gms +++ b/modules/26_agCosts/off/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/29_CES_parameters/calibrate/bounds.gms b/modules/29_CES_parameters/calibrate/bounds.gms index 7eff90102..bad3b9754 100644 --- a/modules/29_CES_parameters/calibrate/bounds.gms +++ b/modules/29_CES_parameters/calibrate/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -58,4 +58,13 @@ loop (pf_industry_relaxed_bounds_dyn37(in), + INF$( sm_CES_calibration_iteration gt sm_tmp ); ); +loop(p29_building_relaxed_bounds_dyn(in), + vm_cesIO.lo(t,regi_dyn29(regi),in)$(t.val gt 2020 AND SAMEAS(regi, "MEA")) + = pm_cesdata(t,regi,in,"quantity") * 0.95 ; + + vm_cesIO.up(t,regi_dyn29(regi),in)$(t.val gt 2020 AND SAMEAS(regi, "MEA")) + = pm_cesdata(t,regi,in,"quantity")* 1.05; +); + + *** EOF ./modules/29_CES_parameters/calibrate/bounds.gms diff --git a/modules/29_CES_parameters/calibrate/datainput.gms b/modules/29_CES_parameters/calibrate/datainput.gms index 592435b90..cd5ed171f 100644 --- a/modules/29_CES_parameters/calibrate/datainput.gms +++ b/modules/29_CES_parameters/calibrate/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -147,7 +147,7 @@ Parameter p29_trpdemand "transport demand" / $ondelim -$include "./modules/29_CES_parameters/calibrate/input/pm_trp_demand.cs4r" +$include "./modules/29_CES_parameters/calibrate/input/f29_trpdemand.cs4r" $offdelim / @@ -305,15 +305,18 @@ $ifthen.build_H2_offset "%buildings%" == "simple" *); *** RK: feh2b offset scaled from 1% in 2025 to 50% in 2050 of fegab quantity -loop ((t,regi), - pm_cesdata(t,regi,"feh2b","offset_quantity") - = - (0.05 + 0.45 * min(1, max(0, (t.val - 2025) / (2050 - 2025)))) - * pm_cesdata(t,regi,"fegab","quantity") - - pm_cesdata(t,regi,"feh2b","quantity"); - pm_cesdata(t,regi,"feh2b","quantity") - = (0.05 + 0.45 * min(1, max(0, (t.val - 2025) / (2050 - 2025)))) - * pm_cesdata(t,regi,"fegab","quantity"); -); +pm_cesdata(t,regi,"feh2b","offset_quantity")$(t.val gt cm_H2InBuildOnlyAfter) = + - (0.05 + 0.45 * min(1, max(0, (t.val - 2025) / (2050 - 2025)))) + * pm_cesdata(t,regi,"fegab","quantity") + - pm_cesdata(t,regi,"feh2b","quantity"); +pm_cesdata(t,regi,"feh2b","quantity")$(t.val gt cm_H2InBuildOnlyAfter) = + (0.05 + 0.45 * min(1, max(0, (t.val - 2025) / (2050 - 2025)))) + * pm_cesdata(t,regi,"fegab","quantity"); + +*** for the years that H2 buildings is fixed to zero, set offset to the exact value of the calibrated quantity to ignore it after calibration +pm_cesdata(t,regi,"feh2b","quantity")$(t.val le cm_H2InBuildOnlyAfter) = 1e-6; +pm_cesdata(t,regi,"feh2b","offset_quantity")$(t.val le cm_H2InBuildOnlyAfter) = - pm_cesdata(t,regi,"feh2b","quantity"); + $endif.build_H2_offset *** Add an epsilon to the values which are 0 so that they can fit in the CES diff --git a/modules/29_CES_parameters/calibrate/declarations.gms b/modules/29_CES_parameters/calibrate/declarations.gms index 44ad91949..ee853110d 100644 --- a/modules/29_CES_parameters/calibrate/declarations.gms +++ b/modules/29_CES_parameters/calibrate/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/29_CES_parameters/calibrate/input/files b/modules/29_CES_parameters/calibrate/input/files index aac8eb335..b265298a2 100644 --- a/modules/29_CES_parameters/calibrate/input/files +++ b/modules/29_CES_parameters/calibrate/input/files @@ -1,3 +1,2 @@ f29_capitalQuantity.cs4r -pm_trp_demand.cs4r -pm_fe_demand_EDGETbased.cs4r +f29_trpdemand.cs4r diff --git a/modules/29_CES_parameters/calibrate/not_used.txt b/modules/29_CES_parameters/calibrate/not_used.txt index ad14a32d8..85ff9312e 100644 --- a/modules/29_CES_parameters/calibrate/not_used.txt +++ b/modules/29_CES_parameters/calibrate/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/29_CES_parameters/calibrate/output.gms b/modules/29_CES_parameters/calibrate/output.gms index 77844d47c..a242c6c5b 100644 --- a/modules/29_CES_parameters/calibrate/output.gms +++ b/modules/29_CES_parameters/calibrate/output.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/29_CES_parameters/calibrate/preloop.gms b/modules/29_CES_parameters/calibrate/preloop.gms index 5542296d0..4df3d8e84 100644 --- a/modules/29_CES_parameters/calibrate/preloop.gms +++ b/modules/29_CES_parameters/calibrate/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/29_CES_parameters/calibrate/realization.gms b/modules/29_CES_parameters/calibrate/realization.gms index dfe63ccd3..871a38ed3 100644 --- a/modules/29_CES_parameters/calibrate/realization.gms +++ b/modules/29_CES_parameters/calibrate/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/29_CES_parameters/calibrate/sets.gms b/modules/29_CES_parameters/calibrate/sets.gms index 846d02412..d68f86579 100644 --- a/modules/29_CES_parameters/calibrate/sets.gms +++ b/modules/29_CES_parameters/calibrate/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -65,6 +65,7 @@ t_29(ttot) "time steps considered in the calibration" pf_eff_target_dyn29(all_in) "production factors with efficiency target" / / pf_quan_target_dyn29(all_in) "production factors with quantity target" / / +p29_building_relaxed_bounds_dyn(all_in) "quantity calibration in the building sector" /feelrhb, feelcb, fesob, fegab, feh2b/ capUnitType "Type of technological data: for investments or for the standing capital" / diff --git a/modules/29_CES_parameters/load/datainput.gms b/modules/29_CES_parameters/load/datainput.gms index 08e1d505b..0d2edcdfa 100644 --- a/modules/29_CES_parameters/load/datainput.gms +++ b/modules/29_CES_parameters/load/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/29_CES_parameters/load/input/files b/modules/29_CES_parameters/load/input/files index c6aba3957..94c3772ad 100644 --- a/modules/29_CES_parameters/load/input/files +++ b/modules/29_CES_parameters/load/input/files @@ -1,8 +1,8 @@ indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2-Kap_debt_limit-Reg_62eff8f7.inc +indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2-Kap_debt_limit-Reg_2b1450bc.inc indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP1-GDP_gdp_SSP1-En_gdp_SSP1-Kap_debt_limit-Reg_62eff8f7.inc -indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SDP_MC-GDP_gdp_SDP_MC-En_gdp_SDP_MC-Kap_debt_limit-Reg_62eff8f7.inc -indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SDP_RC-GDP_gdp_SDP_RC-En_gdp_SDP_RC-Kap_debt_limit-Reg_62eff8f7.inc -indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SDP_EI-GDP_gdp_SDP_EI-En_gdp_SDP_EI-Kap_debt_limit-Reg_62eff8f7.inc +indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP3-GDP_gdp_SSP3-En_gdp_SSP3-Kap_debt_limit-Reg_62eff8f7.inc indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP5-GDP_gdp_SSP5-En_gdp_SSP5-Kap_debt_limit-Reg_62eff8f7.inc -indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2-Kap_debt_limit-Reg_2b1450bc.inc +indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2_lowEn-Kap_debt_limit-Reg_62eff8f7.inc + diff --git a/modules/29_CES_parameters/load/not_used.txt b/modules/29_CES_parameters/load/not_used.txt index 8b582a3a0..c5a27b58b 100644 --- a/modules/29_CES_parameters/load/not_used.txt +++ b/modules/29_CES_parameters/load/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -22,3 +22,5 @@ pm_calibrate_eff_scale,parameter,not needed pm_fedemand,parameter,not needed pm_energy_limit,, sm_CES_calibration_iteration,scalar,only applicable during calibration +cm_H2InBuildOnlyAfter,parameter,??? +p29_building_relaxed_bounds_dyn,set,not needed \ No newline at end of file diff --git a/modules/29_CES_parameters/load/preloop.gms b/modules/29_CES_parameters/load/preloop.gms index 35232c329..4c172d758 100644 --- a/modules/29_CES_parameters/load/preloop.gms +++ b/modules/29_CES_parameters/load/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/29_CES_parameters/load/realization.gms b/modules/29_CES_parameters/load/realization.gms index 9bcd91863..25a57ef18 100644 --- a/modules/29_CES_parameters/load/realization.gms +++ b/modules/29_CES_parameters/load/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/29_CES_parameters/load/sets.gms b/modules/29_CES_parameters/load/sets.gms index 1c8619672..5b6dcbd9b 100644 --- a/modules/29_CES_parameters/load/sets.gms +++ b/modules/29_CES_parameters/load/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/29_CES_parameters/module.gms b/modules/29_CES_parameters/module.gms index c904d86de..b0ba89fc3 100644 --- a/modules/29_CES_parameters/module.gms +++ b/modules/29_CES_parameters/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/30_biomass/magpie_40/bounds.gms b/modules/30_biomass/magpie_40/bounds.gms index c1cc9b3c9..03e53bb04 100644 --- a/modules/30_biomass/magpie_40/bounds.gms +++ b/modules/30_biomass/magpie_40/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -10,20 +10,24 @@ *** ------------------------------------------------------------- *' #### Bounds on 1st generation biomass annual production *** ------------------------------------------------------------- - -*' Prescribe upper and lower limit for first generation biomass from 2045 on, so REMIND has freedom before. -*' To avoid infeasibilities it was necessary to modify the initial vintage structure for bioeths. -*' FS: changed the bounds to start only in 2045 in REMIND-EU to rule out some infeasibilities with EDGE-T -*' -vm_fuExtr.up(t,regi,"pebios","5")$(t.val ge 2045) = p30_datapebio(regi,"pebios","5","maxprod",t); -vm_fuExtr.up(t,regi,"pebioil","5")$(t.val ge 2045) = p30_datapebio(regi,"pebioil","5","maxprod",t); +*' Prescribe upper and lower limit for first generation biomass from 2030 on, +*' so REMIND has some freedom before. After 2030 the production of 1st +*' generation biofuels should be fixed (within a 90-100% range to avoid +*' infeasibilities), since production values are exogenously harmonized with +*' MAgPIE. +*' Note: these bounds need to be updated since they are, in some regions, too +*' strict to be compatible with historically installed capacities, such that +*' the bounds in its current form can only be satisfied in combination with +*' early retirement. +vm_fuExtr.up(t,regi,"pebios","5")$(t.val ge 2030) = p30_datapebio(regi,"pebios","5","maxprod",t); +vm_fuExtr.up(t,regi,"pebioil","5")$(t.val ge 2030) = p30_datapebio(regi,"pebioil","5","maxprod",t); if(cm_1stgen_phaseout=0, - vm_fuExtr.lo(t,regi,"pebios","5")$(t.val ge 2045) = 0.9 * p30_datapebio(regi,"pebios","5","maxprod",t); - vm_fuExtr.lo(t,regi,"pebioil","5")$(t.val ge 2045) = 0.9 * p30_datapebio(regi,"pebioil","5","maxprod",t); + vm_fuExtr.lo(t,regi,"pebios","5")$(t.val ge 2030) = 0.9 * p30_datapebio(regi,"pebios","5","maxprod",t); + vm_fuExtr.lo(t,regi,"pebioil","5")$(t.val ge 2030) = 0.9 * p30_datapebio(regi,"pebioil","5","maxprod",t); else - vm_fuExtr.lo(t,regi,"pebios","5")$(t.val eq 2045) = 0.9 * p30_datapebio(regi,"pebios","5","maxprod",t); - vm_fuExtr.lo(t,regi,"pebioil","5")$(t.val eq 2045) = 0.9 * p30_datapebio(regi,"pebioil","5","maxprod",t); + vm_fuExtr.lo(t,regi,"pebios","5")$(t.val eq 2030) = 0.9 * p30_datapebio(regi,"pebios","5","maxprod",t); + vm_fuExtr.lo(t,regi,"pebioil","5")$(t.val eq 2030) = 0.9 * p30_datapebio(regi,"pebioil","5","maxprod",t); ); diff --git a/modules/30_biomass/magpie_40/datainput.gms b/modules/30_biomass/magpie_40/datainput.gms index ff075d684..f4c52ee9b 100644 --- a/modules/30_biomass/magpie_40/datainput.gms +++ b/modules/30_biomass/magpie_40/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -88,8 +88,8 @@ i30_bioen_price_b(ttot,regi)$(regi_group("EUR_regi",regi)) = cm_BioSupply_Adjust *RP* in 2005 and 2010, we always want to use bau values loop(ttot$( (ttot.val = 2005) OR (ttot.val = 2010) ), - i30_bioen_price_a(ttot,regi) = f30_bioen_price(ttot,regi,"%cm_LU_emi_scen%","none","a"); - i30_bioen_price_b(ttot,regi) = f30_bioen_price(ttot,regi,"%cm_LU_emi_scen%","none","b"); + i30_bioen_price_a(ttot,regi) = f30_bioen_price(ttot,regi,"%cm_LU_emi_scen%","rcp45","a"); + i30_bioen_price_b(ttot,regi) = f30_bioen_price(ttot,regi,"%cm_LU_emi_scen%","rcp45","b"); ); display i30_bioen_price_a, i30_bioen_price_b; diff --git a/modules/30_biomass/magpie_40/declarations.gms b/modules/30_biomass/magpie_40/declarations.gms index 13e051c72..a4ea74d10 100644 --- a/modules/30_biomass/magpie_40/declarations.gms +++ b/modules/30_biomass/magpie_40/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -55,7 +55,7 @@ Positive variable v30_priceshift(ttot,all_regi) "Regional translation factor that shifts emulator prices to better fit actual MAgPIE prices [-]" v30_pricemult(ttot,all_regi) "Regional multiplication factor that scales emulator prices to better fit actual MAgPIE prices [-]" v30_multcost(ttot,all_regi) "Cost markup factor for deviations from demand of last coupling iteration [-]" -v30_BioPEProdTotal(ttot,all_regi) "total domestic PE biomass production [unit: TWyr]" +v30_BioPEProdTotal(ttot,all_regi) "total domestic PE biomass production [TWyr]" ***v30_pedem_BAU(tall,all_regi,all_enty,all_enty,all_te) "Primary energy demand imported from refernce gdx [TWa]" ***v30_seprod_BAU(tall,all_regi,all_enty,all_enty,all_te) "Secondary energy production imported from reference gdx [TWa]" diff --git a/modules/30_biomass/magpie_40/equations.gms b/modules/30_biomass/magpie_40/equations.gms index 45dc49d8c..beaae676e 100644 --- a/modules/30_biomass/magpie_40/equations.gms +++ b/modules/30_biomass/magpie_40/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/30_biomass/magpie_40/not_used.txt b/modules/30_biomass/magpie_40/not_used.txt index 96f710c35..536c29ad0 100644 --- a/modules/30_biomass/magpie_40/not_used.txt +++ b/modules/30_biomass/magpie_40/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/30_biomass/magpie_40/output.gms b/modules/30_biomass/magpie_40/output.gms index 037bd1c4d..db98293b0 100644 --- a/modules/30_biomass/magpie_40/output.gms +++ b/modules/30_biomass/magpie_40/output.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/30_biomass/magpie_40/postsolve.gms b/modules/30_biomass/magpie_40/postsolve.gms index b765610f8..050246a92 100644 --- a/modules/30_biomass/magpie_40/postsolve.gms +++ b/modules/30_biomass/magpie_40/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/30_biomass/magpie_40/preloop.gms b/modules/30_biomass/magpie_40/preloop.gms index be2614921..dc84ba3db 100644 --- a/modules/30_biomass/magpie_40/preloop.gms +++ b/modules/30_biomass/magpie_40/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/30_biomass/magpie_40/presolve.gms b/modules/30_biomass/magpie_40/presolve.gms index 3caaad494..9850f75a5 100644 --- a/modules/30_biomass/magpie_40/presolve.gms +++ b/modules/30_biomass/magpie_40/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/30_biomass/magpie_40/realization.gms b/modules/30_biomass/magpie_40/realization.gms index 97894b822..cfb0449af 100644 --- a/modules/30_biomass/magpie_40/realization.gms +++ b/modules/30_biomass/magpie_40/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/30_biomass/magpie_40/sets.gms b/modules/30_biomass/magpie_40/sets.gms index 1012493e2..a6b0a9f19 100644 --- a/modules/30_biomass/magpie_40/sets.gms +++ b/modules/30_biomass/magpie_40/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/30_biomass/module.gms b/modules/30_biomass/module.gms index 2e04bf07a..c824ca335 100644 --- a/modules/30_biomass/module.gms +++ b/modules/30_biomass/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/MOFEX/bounds.gms b/modules/31_fossil/MOFEX/bounds.gms index 7f6dd96f8..71dc21bdd 100644 --- a/modules/31_fossil/MOFEX/bounds.gms +++ b/modules/31_fossil/MOFEX/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/MOFEX/datainput.gms b/modules/31_fossil/MOFEX/datainput.gms index 2d5c1c60f..a9ef94ae9 100644 --- a/modules/31_fossil/MOFEX/datainput.gms +++ b/modules/31_fossil/MOFEX/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/MOFEX/declarations.gms b/modules/31_fossil/MOFEX/declarations.gms index 429801a5f..80f7258dc 100644 --- a/modules/31_fossil/MOFEX/declarations.gms +++ b/modules/31_fossil/MOFEX/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/MOFEX/equations.gms b/modules/31_fossil/MOFEX/equations.gms index 51cdab1aa..6a18d8c9f 100644 --- a/modules/31_fossil/MOFEX/equations.gms +++ b/modules/31_fossil/MOFEX/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/MOFEX/not_used.txt b/modules/31_fossil/MOFEX/not_used.txt index 906176c70..eeb5c5fc6 100644 --- a/modules/31_fossil/MOFEX/not_used.txt +++ b/modules/31_fossil/MOFEX/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/MOFEX/output.gms b/modules/31_fossil/MOFEX/output.gms index 6f5668167..21024f1a1 100644 --- a/modules/31_fossil/MOFEX/output.gms +++ b/modules/31_fossil/MOFEX/output.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/MOFEX/preloop.gms b/modules/31_fossil/MOFEX/preloop.gms index 013d22529..4ef98bd24 100644 --- a/modules/31_fossil/MOFEX/preloop.gms +++ b/modules/31_fossil/MOFEX/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/MOFEX/realization.gms b/modules/31_fossil/MOFEX/realization.gms index 79c0cc234..197580e4b 100644 --- a/modules/31_fossil/MOFEX/realization.gms +++ b/modules/31_fossil/MOFEX/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/MOFEX/sets.gms b/modules/31_fossil/MOFEX/sets.gms index 73233890a..60f9fb387 100644 --- a/modules/31_fossil/MOFEX/sets.gms +++ b/modules/31_fossil/MOFEX/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/MOFEX/solve.gms b/modules/31_fossil/MOFEX/solve.gms index 0f2ed1880..1ec9ee347 100644 --- a/modules/31_fossil/MOFEX/solve.gms +++ b/modules/31_fossil/MOFEX/solve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/exogenous/bounds.gms b/modules/31_fossil/exogenous/bounds.gms index b203b91fe..22eed2e6f 100644 --- a/modules/31_fossil/exogenous/bounds.gms +++ b/modules/31_fossil/exogenous/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/exogenous/datainput.gms b/modules/31_fossil/exogenous/datainput.gms index 7f05cbb07..b9d0651cb 100644 --- a/modules/31_fossil/exogenous/datainput.gms +++ b/modules/31_fossil/exogenous/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/exogenous/declarations.gms b/modules/31_fossil/exogenous/declarations.gms index 38045ab0c..f92e58d52 100644 --- a/modules/31_fossil/exogenous/declarations.gms +++ b/modules/31_fossil/exogenous/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/exogenous/not_used.txt b/modules/31_fossil/exogenous/not_used.txt index 5a5a0d2b1..ef8d71d7f 100644 --- a/modules/31_fossil/exogenous/not_used.txt +++ b/modules/31_fossil/exogenous/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/exogenous/realization.gms b/modules/31_fossil/exogenous/realization.gms index 572da7308..acf51465a 100644 --- a/modules/31_fossil/exogenous/realization.gms +++ b/modules/31_fossil/exogenous/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/grades2poly/bounds.gms b/modules/31_fossil/grades2poly/bounds.gms index 3bd245799..bc6b5fdea 100644 --- a/modules/31_fossil/grades2poly/bounds.gms +++ b/modules/31_fossil/grades2poly/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -44,5 +44,4 @@ display v31_fuExtrCum.up; *------------------------------------ v31_fuExtrCum.up(ttot,regi,"peur", "1") = p31_fuExtrCumMaxBound(regi,"peur", "1"); - *** EOF ./modules/31_fossil/grades2poly/bounds.gms diff --git a/modules/31_fossil/grades2poly/datainput.gms b/modules/31_fossil/grades2poly/datainput.gms index 933049cb5..31c97f79a 100644 --- a/modules/31_fossil/grades2poly/datainput.gms +++ b/modules/31_fossil/grades2poly/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/grades2poly/declarations.gms b/modules/31_fossil/grades2poly/declarations.gms index 6dcf40c12..9e732d4a1 100644 --- a/modules/31_fossil/grades2poly/declarations.gms +++ b/modules/31_fossil/grades2poly/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/grades2poly/equations.gms b/modules/31_fossil/grades2poly/equations.gms index 10f2a0a53..cfe222052 100644 --- a/modules/31_fossil/grades2poly/equations.gms +++ b/modules/31_fossil/grades2poly/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/grades2poly/not_used.txt b/modules/31_fossil/grades2poly/not_used.txt index 8db3a73e0..3d54a625a 100644 --- a/modules/31_fossil/grades2poly/not_used.txt +++ b/modules/31_fossil/grades2poly/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/grades2poly/preloop.gms b/modules/31_fossil/grades2poly/preloop.gms index a1c7cb56b..19b4c6844 100644 --- a/modules/31_fossil/grades2poly/preloop.gms +++ b/modules/31_fossil/grades2poly/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/grades2poly/realization.gms b/modules/31_fossil/grades2poly/realization.gms index 20e293fa1..6a9dfb189 100644 --- a/modules/31_fossil/grades2poly/realization.gms +++ b/modules/31_fossil/grades2poly/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/grades2poly/sets.gms b/modules/31_fossil/grades2poly/sets.gms index dc8312550..e482c1d94 100644 --- a/modules/31_fossil/grades2poly/sets.gms +++ b/modules/31_fossil/grades2poly/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/module.gms b/modules/31_fossil/module.gms index c38ed569c..7f6ffc71d 100644 --- a/modules/31_fossil/module.gms +++ b/modules/31_fossil/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/timeDepGrades/bounds.gms b/modules/31_fossil/timeDepGrades/bounds.gms index f08c8cca2..d7df16be5 100644 --- a/modules/31_fossil/timeDepGrades/bounds.gms +++ b/modules/31_fossil/timeDepGrades/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/timeDepGrades/datainput.gms b/modules/31_fossil/timeDepGrades/datainput.gms index f1bdfa1a3..e5a8bf736 100644 --- a/modules/31_fossil/timeDepGrades/datainput.gms +++ b/modules/31_fossil/timeDepGrades/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/timeDepGrades/declarations.gms b/modules/31_fossil/timeDepGrades/declarations.gms index 5ca02a6da..98c489f25 100644 --- a/modules/31_fossil/timeDepGrades/declarations.gms +++ b/modules/31_fossil/timeDepGrades/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/timeDepGrades/equations.gms b/modules/31_fossil/timeDepGrades/equations.gms index 5469b8da5..6a11c50d9 100644 --- a/modules/31_fossil/timeDepGrades/equations.gms +++ b/modules/31_fossil/timeDepGrades/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/timeDepGrades/not_used.txt b/modules/31_fossil/timeDepGrades/not_used.txt index f50e0a144..4a8bb9e5f 100644 --- a/modules/31_fossil/timeDepGrades/not_used.txt +++ b/modules/31_fossil/timeDepGrades/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/timeDepGrades/output.gms b/modules/31_fossil/timeDepGrades/output.gms index 2558aaddb..a6e4842a4 100644 --- a/modules/31_fossil/timeDepGrades/output.gms +++ b/modules/31_fossil/timeDepGrades/output.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/timeDepGrades/preloop.gms b/modules/31_fossil/timeDepGrades/preloop.gms index 753f5ef79..e08b41fb2 100644 --- a/modules/31_fossil/timeDepGrades/preloop.gms +++ b/modules/31_fossil/timeDepGrades/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/timeDepGrades/realization.gms b/modules/31_fossil/timeDepGrades/realization.gms index cd10d7b94..0e3507322 100644 --- a/modules/31_fossil/timeDepGrades/realization.gms +++ b/modules/31_fossil/timeDepGrades/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/timeDepGrades/sets.gms b/modules/31_fossil/timeDepGrades/sets.gms index 86203cdb4..5235b293d 100644 --- a/modules/31_fossil/timeDepGrades/sets.gms +++ b/modules/31_fossil/timeDepGrades/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/DTcoup/bounds.gms b/modules/32_power/DTcoup/bounds.gms deleted file mode 100644 index abb47251e..000000000 --- a/modules/32_power/DTcoup/bounds.gms +++ /dev/null @@ -1,59 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/DTcoup/bounds.gms - -***----------------------------------------------------------- -*** module specific bounds -***------------------------------------------------------------ - -*** Fix capacity factors to the standard value from data -vm_capFac.fx(t,regi,te) = pm_cf(t,regi,te); - -*** FS: if flexibility tax on, let capacity factor be endogenuously determined between 0.1 and 1 -*** for technologies that get flexibility tax/subsity (teFlexTax) -if ( cm_flex_tax eq 1, - if ( cm_FlexTaxFeedback eq 1, -*** if flexibility tax feedback is on, let model choose capacity factor of flexible technologies freely - vm_capFac.lo(t,regi,teFlexTax)$(t.val ge 2010) = 0.1; - vm_capFac.up(t,regi,teFlexTax)$(t.val ge 2010) = pm_cf(t,regi,teFlexTax); - else -*** if flexibility tax feedback is off, only flexibliity tax benefit for flexible technologies and 0.5 capacity factor - vm_capFac.fx(t,regi,teFlex)$(t.val ge 2010) = 0.5; -*** electricity price of inflexible technologies the same w/o feedback - v32_flexPriceShare.fx(t,regi,te)$(teFlexTax(te) AND NOT(teFlex(te))) = 1; - ); -); - -*** Lower bounds on VRE use (more than 0.01% of electricity demand) after 2015 to prevent the model from overlooking solar and wind -loop(regi, - loop(te$(teVRE(te)), - if ( (sum(rlf, pm_dataren(regi,"maxprod",rlf,te)) > 0.01 * pm_IO_input(regi,"seel","feels","tdels")) , - vm_shSeEl.lo(t,regi,te)$(t.val>2020) = 0.01; - ); - ); -); - -*RP* upper bound of 90% on share of electricity produced by a single VRE technology, and lower bound on usablese to prevent the solver from dividing by 0 -vm_shSeEl.up(t,regi,teVRE) = 90; - -vm_usableSe.lo(t,regi,"seel") = 1e-6; - -*** Fix capacity for h2curt technology (modeled only in RLDC) -vm_cap.fx(t,regi,"h2curt",rlf) = 0; - - -*RP To ensure that the REMIND model doesn't overlook CSP due to gdx effects, ensure some minimum use in regions with good solar insolation, here proxied from the csp storage factor: -loop(regi$(p32_factorStorage(regi,"csp") < 1), - vm_shSeEl.lo(t,regi,"csp")$(t.val > 2025) = 0.5; - vm_shSeEl.lo(t,regi,"csp")$(t.val > 2050) = 1; - vm_shSeEl.lo(t,regi,"csp")$(t.val > 2100) = 2; -); - -*** Fix capacity to 0 for elh2VRE now that the equation q32_elh2VREcapfromTestor pushes elh2, not anymore elh2VRE, and capital costs are 1 -vm_cap.fx(t,regi,"elh2VRE",rlf) = 0; - -*** EOF ./modules/32_power/DTcoup/bounds.gms diff --git a/modules/32_power/DTcoup/datainput.gms b/modules/32_power/DTcoup/datainput.gms deleted file mode 100644 index b0012b590..000000000 --- a/modules/32_power/DTcoup/datainput.gms +++ /dev/null @@ -1,91 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/DTcoup/datainput.gms - -*------------------------------------------------------------------------------------ -*** IntC specific data input -*------------------------------------------------------------------------------------ - -parameter f32_shCHP(ttot,all_regi) "upper boundary of chp electricity generation" -/ -$ondelim -$include "./modules/32_power/IntC/input/f32_shCHP.cs4r" -$offdelim -/ -; -p32_shCHP(ttot,all_regi) = f32_shCHP(ttot,all_regi) + 0.05; -p32_shCHP(ttot,all_regi)$(ttot.val ge 2050) = min(p32_shCHP("2020",all_regi) + 0.15, 0.75); -p32_shCHP(ttot,all_regi)$((ttot.val gt 2020) and (ttot.val lt 2050)) = p32_shCHP("2020",all_regi) + ((p32_shCHP("2050",all_regi) - p32_shCHP("2020",all_regi)) / 30 * (ttot.val - 2020)); - -***parameter p32_grid_factor(all_regi) - multiplicative factor that scales total grid requirements down in comparatively small or homogeneous regions like Japan, Europe or India -parameter p32_grid_factor(all_regi) "multiplicative factor that scales total grid requirements down in comparatively small or homogeneous regions like Japan, Europe or India" -/ -$ondelim -$include "./modules/32_power/IntC/input/p32_grid_factor.cs4r" -$offdelim -/ -; - -***parameter p32_factorStorage(all_regi,all_te) - multiplicative factor that scales total curtailment and storage requirements up or down in different regions for different technologies (e.g. down for PV in regions where high solar radiation coincides with high electricity demand) -parameter f32_factorStorage(all_regi,all_te) "multiplicative factor that scales total curtailment and storage requirements up or down in different regions for different technologies (e.g. down for PV in regions where high solar radiation coincides with high electricity demand)" -/ -$ondelim -$include "./modules/32_power/IntC/input/f32_factorStorage.cs4r" -$offdelim -/ -; -$IFTHEN.WindOff %cm_wind_offshore% == "1" -f32_factorStorage(all_regi,"windoff") = f32_factorStorage(all_regi,"wind"); -f32_factorStorage(all_regi,"wind") = 1.35 * f32_factorStorage(all_regi,"wind"); -$ENDIF.WindOff -p32_factorStorage(all_regi,all_te) = f32_factorStorage(all_regi,all_te); - -$if not "%cm_storageFactor%" == "off" p32_factorStorage(all_regi,all_te)=%cm_storageFactor%*p32_factorStorage(all_regi,all_te); - -***parameter p32_storexp(all_regi,all_te) - exponent that determines how curtailment and storage requirements per kW increase with market share of wind and solar. 1 means specific marginal costs increase linearly -p32_storexp(regi,"spv") = 1; -p32_storexp(regi,"csp") = 1; -p32_storexp(regi,"wind") = 1; -$IFTHEN.WindOff %cm_wind_offshore% == "1" -p32_storexp(regi,"windoff") = 1; -$ENDIF.WindOff - - -***parameter p32_gridexp(all_regi,all_te) - exponent that determines how grid requirement per kW increases with market share of wind and solar. 1 means specific marginal costs increase linearly -p32_gridexp(regi,"spv") = 1; -p32_gridexp(regi,"csp") = 1; -p32_gridexp(regi,"wind") = 1; - - -table f32_storageCap(char, all_te) "multiplicative factor between dummy seel<-->h2 technologies and storXXX technologies" -$include "./modules/32_power/IntC/input/f32_storageCap.prn" -; - -$IFTHEN.WindOff %cm_wind_offshore% == "1" -f32_storageCap(char,"windoff") = f32_storageCap(char,"wind"); -$ENDIF.WindOff - -p32_storageCap(te,char) = f32_storageCap(char,te); -display p32_storageCap; - -$ontext -parameter p32_flex_maxdiscount(all_regi,all_te) "maximum electricity price discount for flexible technologies reached at high VRE shares" -/ -$ondelim -$include "./modules/32_power/IntC/input/p32_flex_maxdiscount.cs4r" -$offdelim -/ -; -*** convert from USD2015/MWh to trUSD2005/TWa -p32_flex_maxdiscount(regi,te) = p32_flex_maxdiscount(regi,te) * sm_TWa_2_MWh * s_D2015_2_D2005 * 1e-12; -display p32_flex_maxdiscount; -$offtext - -*** initialize p32_PriceDurSlope parameter -p32_PriceDurSlope(regi,"elh2") = cm_PriceDurSlope_elh2; - -*** EOF ./modules/32_power/DTcoup/datainput.gms diff --git a/modules/32_power/DTcoup/declarations.gms b/modules/32_power/DTcoup/declarations.gms deleted file mode 100644 index cdba3c293..000000000 --- a/modules/32_power/DTcoup/declarations.gms +++ /dev/null @@ -1,55 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/DTcoup/declarations.gms - -parameters - p32_grid_factor(all_regi) "multiplicative factor that scales total grid requirements down in comparatively small or homogeneous regions like Japan, Europe or India" - p32_gridexp(all_regi,all_te) "exponent that determines how grid requirement per kW increases with market share of wind and solar. 1 means specific marginal costs increase linearly" - p32_storexp(all_regi,all_te) "exponent that determines how curtailment and storage requirements per kW increase with market share of wind and solar. 1 means specific marginal costs increase linearly" - p32_shCHP(ttot,all_regi) "upper boundary of chp electricity generation" - p32_factorStorage(all_regi,all_te) "multiplicative factor that scales total curtailment and storage requirements up or down in different regions for different technologies (e.g. down for PV in regions where high solar radiation coincides with high electricity demand)" - f32_storageCap(char, all_te) "multiplicative factor between dummy seel<-->h2 technologies and storXXX technologies" - p32_storageCap(all_te,char) "multiplicative factor between dummy seel<-->h2 technologies and storXXX technologies" - p32_PriceDurSlope(all_regi,all_te) "slope of price duration curve used for calculation of electricity price for flexible technologies, determines how fast electricity price declines at lower capacity factors" -; - -scalars -s32_storlink "how strong is the influence of two similar renewable energies on each other's storage requirements (1= complete, 4= rather small)" /3/ -; - -positive variables - v32_shStor(ttot,all_regi,all_te) "share of seel production from renewables that needs to be stored, range 0..1 [0,1]" - v32_storloss(ttot,all_regi,all_te) "total energy loss from storage for a given technology [TWa]" - vm_shSeEl(ttot,all_regi,all_te) "new share of electricity production in % [%]" - v32_testdemSeShare(ttot,all_regi,all_te) "test variable for tech share of SE electricity demand" -; - -equations - q32_balSe(ttot,all_regi,all_enty) "balance equation for electricity secondary energy" - q32_usableSe(ttot,all_regi,all_enty) "calculate usable se before se2se and MP/XP (without storage)" - q32_usableSeTe(ttot,all_regi,entySe,all_te) "calculate usable se produced by one technology (vm_usableSeTe)" - q32_limitCapTeStor(ttot,all_regi,teStor) "calculate the storage capacity required by vm_storloss" - q32_limitCapTeChp(ttot,all_regi) "capacitiy constraint for chp electricity generation" - q32_limitCapTeGrid(ttot,all_regi) "calculate the additional grid capacity required by VRE" - q32_shSeEl(ttot,all_regi,all_te) "calculate share of electricity production of a technology (vm_shSeEl)" - q32_shStor(ttot,all_regi,all_te) "equation to calculate v32_shStor" - q32_storloss(ttot,all_regi,all_te) "equation to calculate vm_storloss" - q32_operatingReserve(ttot,all_regi) "operating reserve for necessary flexibility" - q32_h2turbVREcapfromTestor(tall,all_regi) "calculate capacities of dummy seel<--h2 technology from storXXX technologies" - q32_elh2VREcapfromTestor(tall,all_regi) "calculate capacities of dummy seel-->h2 technology from storXXX technologies" - q32_flexAdj(tall,all_regi,all_te) "calculate flexibility used in flexibility tax for technologies with electricity input" - q32_flexPriceShareMin "calculatae miniumum share of average electricity that flexible technologies can see" - q32_flexPriceShare(tall,all_regi,all_te) "calculate share of average electricity price that flexible technologies see" - q32_flexPriceBalance(tall,all_regi) "constraint such that flexible electricity prices balanance to average electricity price" -; - -variables -v32_flexPriceShare(tall,all_regi,all_te) "share of average electricity price that flexible technologies see [share: 0...1]" -v32_flexPriceShareMin(tall,all_regi,all_te) "possible minimum of share of average electricity price that flexible technologies see [share: 0...1]" -; - -*** EOF ./modules/32_power/DTcoup/declarations.gms diff --git a/modules/32_power/DTcoup/equations.gms b/modules/32_power/DTcoup/equations.gms deleted file mode 100644 index dad875297..000000000 --- a/modules/32_power/DTcoup/equations.gms +++ /dev/null @@ -1,236 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/DTcoup/equations.gms - -*' @equations - -***--------------------------------------------------------------------------- -*' Balance equation for electricity secondary energy type: -***--------------------------------------------------------------------------- -q32_balSe(t,regi,enty2)$(sameas(enty2,"seel")).. - sum(pe2se(enty,enty2,te), vm_prodSe(t,regi,enty,enty2,te) ) - + sum(se2se(enty,enty2,te), vm_prodSe(t,regi,enty,enty2,te) ) - + sum(pc2te(enty,entySe(enty3),te,enty2), - pm_prodCouple(regi,enty,enty3,te,enty2) * vm_prodSe(t,regi,enty,enty3,te) ) - + sum(pc2te(enty4,entyFe(enty5),te,enty2), - pm_prodCouple(regi,enty4,enty5,te,enty2) * vm_prodFe(t,regi,enty4,enty5,te) ) - + sum(pc2te(enty,enty3,te,enty2), - sum(teCCS2rlf(te,rlf), - pm_prodCouple(regi,enty,enty3,te,enty2) * vm_co2CCS(t,regi,enty,enty3,te,rlf) ) ) - + vm_Mport(t,regi,enty2) - =e= - sum(se2fe(enty2,enty3,te), vm_demSe(t,regi,enty2,enty3,te) ) - + sum(se2se(enty2,enty3,te), vm_demSe(t,regi,enty2,enty3,te) ) - + sum(teVRE, v32_storloss(t,regi,teVRE) ) - + sum(pe2rlf(enty3,rlf2), (pm_fuExtrOwnCons(regi, enty2, enty3) * vm_fuExtr(t,regi,enty3,rlf2))$(pm_fuExtrOwnCons(regi, enty2, enty3) gt 0))$(t.val > 2005) !! do not use in 2005 because this demand is not contained in 05_initialCap - + vm_Xport(t,regi,enty2) -; - -q32_usableSe(t,regi,entySe)$(sameas(entySe,"seel")).. - vm_usableSe(t,regi,entySe) - =e= - sum(pe2se(enty,entySe,te), vm_prodSe(t,regi,enty,entySe,te) ) - + sum(se2se(enty,entySe,te), vm_prodSe(t,regi,enty,entySe,te) ) - + sum(pc2te(entyPe,entySe(enty3),te,entySe)$(pm_prodCouple(regi,entyPe,enty3,te,entySe) gt 0), - pm_prodCouple(regi,entyPe,enty3,te,entySe)*vm_prodSe(t,regi,entyPe,enty3,te) ) - - sum(teVRE, v32_storloss(t,regi,teVRE) ) -; - -q32_usableSeTe(t,regi,entySe,te)$(sameas(entySe,"seel") AND teVRE(te)).. - vm_usableSeTe(t,regi,entySe,te) - =e= - sum(pe2se(enty,entySe,te), vm_prodSe(t,regi,enty,entySe,te) ) - + sum(se2se(enty,entySe,te), vm_prodSe(t,regi,enty,entySe,te) ) - + sum(pc2te(enty,entySe(enty3),te,entySe)$(pm_prodCouple(regi,enty,enty3,te,entySe) gt 0), - pm_prodCouple(regi,enty,enty3,te,entySe) * vm_prodSe(t,regi,enty,enty3,te) ) - - sum(teVRE$sameas(te,teVRE), v32_storloss(t,regi,teVRE) ) -; - -***--------------------------------------------------------------------------- -*' Definition of capacity constraints for storage: -***--------------------------------------------------------------------------- -q32_limitCapTeStor(t,regi,teStor)$( t.val ge 2015 ) .. - ( 0.5$( cm_VRE_supply_assumptions eq 1 ) - + 1$( cm_VRE_supply_assumptions ne 1 ) - ) - * sum(VRE2teStor(teVRE,teStor), v32_storloss(t,regi,teVRE)) - * pm_eta_conv(t,regi,teStor) - / (1 - pm_eta_conv(t,regi,teStor)) - =l= - sum(te2rlf(teStor,rlf), - vm_capFac(t,regi,teStor) - * pm_dataren(regi,"nur",rlf,teStor) - * vm_cap(t,regi,teStor,rlf) - ) -; - - -*** H2 storage implementation: Storage technologies (storspv, storwind etc.) also -*** represent H2 storage. This is implemented by automatically scaling up capacities of -*** elh2VRE (electrolysis from VRE, seel -> seh2) and H2 turbines (h2turbVRE, seh2 -> seel) -*** with VRE capacities which require storage (according to q32_limitCapTeStor): - -*** build additional electrolysis capacities with stored VRE electricity -q32_elh2VREcapfromTestor(t,regi).. - vm_cap(t,regi,"elh2","1") - =g= - sum(te$teStor(te), p32_storageCap(te,"elh2VREcapratio") * vm_cap(t,regi,te,"1") ) -; - -*** build additional h2 to seel capacities to use stored hydrogen -q32_h2turbVREcapfromTestor(t,regi).. - vm_cap(t,regi,"h2turbVRE","1") - =e= - sum(te$teStor(te), p32_storageCap(te,"h2turbVREcapratio") * vm_cap(t,regi,te,"1") ) -; - -***--------------------------------------------------------------------------- -*' Definition of capacity constraints for CHP technologies: -***--------------------------------------------------------------------------- -q32_limitCapTeChp(t,regi).. - sum(pe2se(enty,"seel",teChp(te)), vm_prodSe(t,regi,enty,"seel",te) ) - =l= - p32_shCHP(t,regi) - * sum(pe2se(enty,"seel",te), vm_prodSe(t,regi,enty,"seel",te) ) -; - -***--------------------------------------------------------------------------- -*' Calculation of necessary grid installations for centralized renewables: -***--------------------------------------------------------------------------- -q32_limitCapTeGrid(t,regi)$( t.val ge 2015 ) .. - vm_cap(t,regi,"gridwind",'1') !! Technology is now parameterized to yield marginal costs of ~3.5$/MWh VRE electricity - / p32_grid_factor(regi) !! It is assumed that large regions require higher grid investment - =g= - vm_prodSe(t,regi,"pesol","seel","spv") - + vm_prodSe(t,regi,"pesol","seel","csp") - + 1.5 * vm_prodSe(t,regi,"pewin","seel","wind") !! wind has larger variations accross space, so adding grid is more important for wind (result of REMIX runs for ADVANCE project) -$IFTHEN.WindOff %cm_wind_offshore% == "1" - + 3 * vm_prodSe(t,regi,"pewin","seel","windoff") -$ENDIF.WindOff -; - -***--------------------------------------------------------------------------- -*' Calculation of share of electricity production of a technology: -***--------------------------------------------------------------------------- -q32_shSeEl(t,regi,teVRE).. - vm_shSeEl(t,regi,teVRE) / 100 * vm_usableSe(t,regi,"seel") - =e= - vm_usableSeTe(t,regi,"seel",teVRE) -; - -***--------------------------------------------------------------------------- -*' Calculation of necessary storage electricity production: -***--------------------------------------------------------------------------- -q32_shStor(t,regi,teVRE)$(t.val ge 2015).. - v32_shStor(t,regi,teVRE) - =g= - p32_factorStorage(regi,teVRE) * 100 - * ( - (1.e-10 + (vm_shSeEl(t,regi,teVRE)+ sum(VRE2teVRElinked(teVRE,teVRE2), vm_shSeEl(t,regi,teVRE2)) /s32_storlink)/100 ) ** p32_storexp(regi,teVRE) !! offset of 1.e-10 for numerical reasons: gams doesn't like 0 if the exponent is not integer - - (1.e-10 ** p32_storexp(regi,teVRE) ) !! offset correction - - 0.07 !! first 7% of VRE share bring no negative effects - ) -; - -q32_storloss(t,regi,teVRE)$(t.val ge 2015).. - v32_storloss(t,regi,teVRE) - =e= - v32_shStor(t,regi,teVRE) / 93 !! corrects for the 7%-shift in v32_shStor: at 100% the value is correct again - * sum(VRE2teStor(teVRE,teStor), (1 - pm_eta_conv(t,regi,teStor) ) / pm_eta_conv(t,regi,teStor) ) - * vm_usableSeTe(t,regi,"seel",teVRE) -; - -***--------------------------------------------------------------------------- -*' Operating reserve constraint -***--------------------------------------------------------------------------- -q32_operatingReserve(t,regi)$(t.val ge 2010).. -***1 is the chosen load coefficient - vm_usableSe(t,regi,"seel") - =l= -*** Variable renewable coefficients could be expected to be negative because they are variable. -*** However they are modeled positive because storage conditions make variable renewables controllable. - sum(pe2se(enty,"seel",te)$(NOT teVRE(te)), - pm_data(regi,"flexibility",te) * vm_prodSe(t,regi,enty,"seel",te) ) - + sum(se2se(enty,"seel",te)$(NOT teVRE(te)), - pm_data(regi,"flexibility",te) * vm_prodSe(t,regi,enty,"seel",te) ) - + sum(pe2se(enty,"seel",teVRE), - pm_data(regi,"flexibility",teVRE) * (vm_prodSe(t,regi,enty,"seel",teVRE)-v32_storloss(t,regi,teVRE)) ) - + - sum(pe2se(enty,"seel",teVRE), - sum(VRE2teStor(teVRE,teStor), - pm_data(regi,"flexibility",teStor) * (vm_prodSe(t,regi,enty,"seel",teVRE)-v32_storloss(t,regi,teVRE)) ) ) -; - -*** FS: calculate flexibility adjustment used in flexibility tax for technologies with electricity input -***---------------------------------------------------------------------------- - -*** This equation calculates the minimal flexible electricity price that flexible technologies (like elh2) can see. It is reached when the VRE share is 100%. -*** It depends on the capacity factor with a hyperbolic function. The equation ensures that by decreasing -*** capacity factor of flexible technologies (teFlex) these technologies see lower electricity prices given that there is a high VRE share in the power system. - -*** On the derivation of the equation: -*** The formulation assumes a cubic price duration curve. That is, the effective electricity price the flexible technologies sees -*** depends on the capacity factor (CF) with a cubic function centered at (0.5,1): -*** p32_PriceDurSlope * (CF-0.5)^3 + 1, -*** Hence, at CF = 0.5, the REMIND average price pm_SEPrice(t,regi,"seel") is paid. -*** To get the average electricity price that a flexible technology sees at a certain CF, -*** we need to integrate this function with respect to CF and divide by CF. This gives the formulation below: -*** v32_flexPriceShareMin = p32_PriceDurSlope * ((CF-0.5)^4-0.5^4) / (4*CF) + 1. -*** This is the new average electricity price a technology sees if it runs on (a possibly lower than one) capacity factor CF -*** and deliberately uses hours of low-cost electricity. - q32_flexPriceShareMin(t,regi,te)$(teFlex(te)).. - v32_flexPriceShareMin(t,regi,te) * 4 * vm_capFac(t,regi,te) - =e= - p32_PriceDurSlope(regi,te) * (power(vm_capFac(t,regi,te) - 0.5,4) - 0.5**4) + - 4 * vm_capFac(t,regi,te) -; - -*** Calculates the electricity price of flexible technologies: -*** The effective flexible price linearly decreases with VRE share -*** from 1 (at 0% VRE share) to v32_flexPriceShareMin (at 100% VRE). -q32_flexPriceShare(t,regi,te)$(teFlex(te)).. - v32_flexPriceShare(t,regi,te) - =e= - 1 - (1-v32_flexPriceShareMin(t,regi,te)) * sum(teVRE, vm_shSeEl(t,regi,teVRE))/100 -; - -*** This balance ensures that the lower electricity prices of flexible technologies are compensated -*** by higher electricity prices of inflexible technologies. Inflexible technologies are all technologies -*** which are part of teFlexTax but not of teFlex. The weighted sum of -*** flexible/inflexible electricity prices (v32_flexPriceShare) and electricity demand must be one. -*** Note: this is only on if cm_FlexTaxFeedback = 1. Otherwise, there is no change in electricity prices for inflexible technologies. -q32_flexPriceBalance(t,regi)$(cm_FlexTaxFeedback eq 1).. - sum(en2en(enty,enty2,te)$(teFlexTax(te)), - vm_demSe(t,regi,enty,enty2,te)) - =e= - sum(en2en(enty,enty2,te)$(teFlexTax(te)), - vm_demSe(t,regi,enty,enty2,te) * v32_flexPriceShare(t,regi,te)) -; - - -*** This calculates the flexibility benefit or cost per unit electricity input -*** of flexibile or inflexible technology. Flexible technologies benefit -*** (v32_flexPriceShare < 1), while inflexible technologies are penalized -*** (v32_flexPriceShare > 1). -*** In the tax module, vm_flexAdj is then deduced from the electricity price via -*** the flexibility tax formulation. -*** Below, pm_SEPrice(t,regi,"seel") is the (average) electricity price from the -*** last iteration, limited between 0 and 230 $/MWh (= 2 T$/TWa) to prevent -*** unreasonable FE prices caused by meaningless marginals in infeasible Nash -*** iterations from propagating through the model. -*** Fixed to 0 if cm_flex_tax != 1, and before 2025. -q32_flexAdj(t,regi,te)$(teFlexTax(te)).. - vm_flexAdj(t,regi,te) - =e= - ( (1 - v32_flexPriceShare(t,regi,te)) - * max(0, min(2, pm_SEPrice(t,regi,"seel"))) - )$( cm_flex_tax eq 1 AND t.val ge 2025 ) -; - -*' @stop - -*** EOF ./modules/32_power/DTcoup/equations.gms diff --git a/modules/32_power/DTcoup/not_used.txt b/modules/32_power/DTcoup/not_used.txt deleted file mode 100644 index 374a11820..000000000 --- a/modules/32_power/DTcoup/not_used.txt +++ /dev/null @@ -1,18 +0,0 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -# | authors, and contributors see CITATION.cff file. This file is part -# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -# | AGPL-3.0, you are granted additional permissions described in the -# | REMIND License Exception, version 1.0 (see LICENSE file). -# | Contact: remind@pik-potsdam.de -name,type,reason -vm_capDistr, variable, ??? -vm_demSeOth, variable, ??? -vm_prodSeOth, variable, ??? -pm_emifac, parameter, ??? -cm_nucscen, switch, ??? -vm_deltaCap,input,questionnaire -cm_emiscen,input,questionnaire -cm_ccapturescen,input,questionnaire -pm_boundCapCCS,input,questionnaire -pm_cap0,input,questionnaire -vm_shDemSeel,input,only used in IntC realization diff --git a/modules/32_power/DTcoup/postsolve.gms b/modules/32_power/DTcoup/postsolve.gms deleted file mode 100644 index 8b3c4804c..000000000 --- a/modules/32_power/DTcoup/postsolve.gms +++ /dev/null @@ -1,14 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/DTcoup/postsolve.gms - -*** calculation of SE electricity price (useful for internal use and reporting purposes) -pm_SEPrice(ttot,regi,entySe)$(abs (qm_budget.m(ttot,regi)) gt sm_eps AND sameas(entySe,"seel")) = - q32_balSe.m(ttot,regi,entySe) / qm_budget.m(ttot,regi); - -*** EOF ./modules/32_power/DTcoup/postsolve.gms - diff --git a/modules/32_power/DTcoup/preloop.gms b/modules/32_power/DTcoup/preloop.gms deleted file mode 100644 index d89926409..000000000 --- a/modules/32_power/DTcoup/preloop.gms +++ /dev/null @@ -1,15 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de - -*** SOF ./modules/32_power/DTcoup/preloop.gms - -*** read marginal of seel balance equation -Execute_Loadpoint 'input' q32_balSe.m = q32_balSe.m; - - - -*** EOF ./modules/32_power/DTcoup/preloop.gms diff --git a/modules/32_power/DTcoup/presolve.gms b/modules/32_power/DTcoup/presolve.gms deleted file mode 100644 index c81574ba0..000000000 --- a/modules/32_power/DTcoup/presolve.gms +++ /dev/null @@ -1,14 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/DTcoup/presolve.gms - - -*** calculation of SE electricity price (useful for internal use and reporting purposes) -pm_SEPrice(t,regi,entySe)$(abs (qm_budget.m(t,regi)) gt sm_eps AND sameas(entySe,"seel")) = - q32_balSe.m(t,regi,entySe) / qm_budget.m(t,regi); - -*** EOF ./modules/32_power/DTcoup/presolve.gms diff --git a/modules/32_power/DTcoup/realization.gms b/modules/32_power/DTcoup/realization.gms deleted file mode 100644 index da59ee2d7..000000000 --- a/modules/32_power/DTcoup/realization.gms +++ /dev/null @@ -1,43 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/DTcoup/realization.gms - -*' @description -*' -*'The `IntC` realization (Integrated Costs) assumes a single electricity market balance. -*' -*'This module determines power system supply specific technology behavior, which sums up to the general core capacity equations to define the power sector operation and investment decisions. -*' -*'Contrary to other secondary energy types in REMIND, this requires to move the electricity secondary energy balance (supply = demand) from the core to the module code. -*' -*' -*'In summary, the specific power technology equations found in this module reflect the points below. -*' -*' -*'Storage requirements are based on intermittent renewables share, synergies between different renewables production profiles and curtailment. -*' -*'Additional grid capacities are calculated for high intermittent renewable capacity (solar and wind) and regional spatial differences. -*' -*'Combined heat and power technologies flexibility is limited to technology and spatial observed data. -*' -*'Operation reserve requirements are enforced to provide enough flexibility to the power system frequency regulation. -*' -*'Hydrogen can be used to reduce renewable power curtailment and provide flexibility to the system future generation. -*' -*' @authors Robert Pietzcker, Falko Ueckerdt, Renato Rodrigues - -*####################### R SECTION START (PHASES) ############################## -$Ifi "%phase%" == "declarations" $include "./modules/32_power/DTcoup/declarations.gms" -$Ifi "%phase%" == "datainput" $include "./modules/32_power/DTcoup/datainput.gms" -$Ifi "%phase%" == "equations" $include "./modules/32_power/DTcoup/equations.gms" -$Ifi "%phase%" == "preloop" $include "./modules/32_power/DTcoup/preloop.gms" -$Ifi "%phase%" == "bounds" $include "./modules/32_power/DTcoup/bounds.gms" -$Ifi "%phase%" == "presolve" $include "./modules/32_power/DTcoup/presolve.gms" -$Ifi "%phase%" == "postsolve" $include "./modules/32_power/DTcoup/postsolve.gms" -*######################## R SECTION END (PHASES) ############################### - -*** EOF ./modules/32_power/DTcoup/realization.gms diff --git a/modules/32_power/IntC/bounds.gms b/modules/32_power/IntC/bounds.gms index ccea911d9..9c64323c1 100644 --- a/modules/32_power/IntC/bounds.gms +++ b/modules/32_power/IntC/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/IntC/datainput.gms b/modules/32_power/IntC/datainput.gms index 452771b86..f914d9920 100644 --- a/modules/32_power/IntC/datainput.gms +++ b/modules/32_power/IntC/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -10,7 +10,7 @@ *** IntC specific data input *------------------------------------------------------------------------------------ -parameter f32_shCHP(ttot,all_regi) "upper boundary of chp electricity generation" +parameter f32_shCHP(ttot,all_regi) "upper boundary of chp electricity generation" / $ondelim $include "./modules/32_power/IntC/input/f32_shCHP.cs4r" @@ -21,8 +21,7 @@ p32_shCHP(ttot,all_regi) = f32_shCHP(ttot,all_regi) + 0.05; p32_shCHP(ttot,all_regi)$(ttot.val ge 2050) = min(p32_shCHP("2020",all_regi) + 0.15, 0.75); p32_shCHP(ttot,all_regi)$((ttot.val gt 2020) and (ttot.val lt 2050)) = p32_shCHP("2020",all_regi) + ((p32_shCHP("2050",all_regi) - p32_shCHP("2020",all_regi)) / 30 * (ttot.val - 2020)); -***parameter p32_grid_factor(all_regi) - multiplicative factor that scales total grid requirements down in comparatively small or homogeneous regions like Japan, Europe or India -parameter p32_grid_factor(all_regi) "multiplicative factor that scales total grid requirements down in comparatively small or homogeneous regions like Japan, Europe or India" +parameter p32_grid_factor(all_regi) "multiplicative factor that scales total grid requirements down in comparatively small or homogeneous regions like Japan, Europe or India" / $ondelim $include "./modules/32_power/IntC/input/p32_grid_factor.cs4r" @@ -30,8 +29,7 @@ $offdelim / ; -***parameter p32_factorStorage(all_regi,all_te) - multiplicative factor that scales total curtailment and storage requirements up or down in different regions for different technologies (e.g. down for PV in regions where high solar radiation coincides with high electricity demand) -parameter f32_factorStorage(all_regi,all_te) "multiplicative factor that scales total curtailment and storage requirements up or down in different regions for different technologies (e.g. down for PV in regions where high solar radiation coincides with high electricity demand)" +parameter f32_factorStorage(all_regi,all_te) "multiplicative factor that scales total curtailment and storage requirements up or down in different regions for different technologies (e.g. down for PV in regions where high solar radiation coincides with high electricity demand)" / $ondelim $include "./modules/32_power/IntC/input/f32_factorStorage.cs4r" @@ -39,41 +37,30 @@ $offdelim / ; -$IFTHEN.WindOff %cm_wind_offshore% == "1" -f32_factorStorage(all_regi,"windoff") = f32_factorStorage(all_regi,"wind"); -f32_factorStorage(all_regi,"wind") = 1.35 * f32_factorStorage(all_regi,"wind"); -$ENDIF.WindOff -p32_factorStorage(all_regi,all_te) = f32_factorStorage(all_regi,all_te); +*** windoffshore-todo +*** allow input data with either "wind" or "windon" until mrremind is updated +f32_factorStorage(all_regi,"windon") $ (f32_factorStorage(all_regi,"windon") eq 0) = f32_factorStorage(all_regi,"wind"); +f32_factorStorage(all_regi,"windoff") = f32_factorStorage(all_regi,"windon"); +f32_factorStorage(all_regi,"windon") = 1.35 * f32_factorStorage(all_regi,"windon"); + +p32_factorStorage(all_regi,teVRE) = f32_factorStorage(all_regi,teVRE); $if not "%cm_storageFactor%" == "off" p32_factorStorage(all_regi,all_te)=%cm_storageFactor%*p32_factorStorage(all_regi,all_te); ***parameter p32_storexp(all_regi,all_te) - exponent that determines how curtailment and storage requirements per kW increase with market share of wind and solar. 1 means specific marginal costs increase linearly -p32_storexp(regi,"spv") = 1; -p32_storexp(regi,"csp") = 1; -p32_storexp(regi,"wind") = 1; -$IFTHEN.WindOff %cm_wind_offshore% == "1" -p32_storexp(regi,"windoff") = 1; -$ENDIF.WindOff - - +p32_storexp(regi,teVRE) = 1; ***parameter p32_gridexp(all_regi,all_te) - exponent that determines how grid requirement per kW increases with market share of wind and solar. 1 means specific marginal costs increase linearly -p32_gridexp(regi,"spv") = 1; -p32_gridexp(regi,"csp") = 1; -p32_gridexp(regi,"wind") = 1; +p32_gridexp(regi,teVRE) = 1; -table f32_storageCap(char, all_te) "multiplicative factor between dummy seel<-->h2 technologies and storXXX technologies" +table f32_storageCap(char, all_te) "multiplicative factor between dummy seel<-->h2 technologies and storXXX technologies" $include "./modules/32_power/IntC/input/f32_storageCap.prn" ; -$IFTHEN.WindOff %cm_wind_offshore% == "1" -f32_storageCap(char,"windoff") = f32_storageCap(char,"wind"); -$ENDIF.WindOff - p32_storageCap(te,char) = f32_storageCap(char,te); display p32_storageCap; -*** set total VRE share threshold above which additional integration challenges arise: +*** set total VRE share threshold above which additional integration challenges arise: p32_shThresholdTotVREAddIntCost(t)$(t.val < 2030) = 50; p32_shThresholdTotVREAddIntCost("2030") = 60; p32_shThresholdTotVREAddIntCost("2035") = 70; @@ -83,31 +70,32 @@ p32_shThresholdTotVREAddIntCost(t)$(t.val > 2045) = 95; p32_FactorAddIntCostTotVRE = 1.5; -$ontext -parameter p32_flex_maxdiscount(all_regi,all_te) "maximum electricity price discount for flexible technologies reached at high VRE shares" -/ -$ondelim -$include "./modules/32_power/IntC/input/p32_flex_maxdiscount.cs4r" -$offdelim -/ -; -*** convert from USD2015/MWh to trUSD2005/TWa -p32_flex_maxdiscount(regi,te) = p32_flex_maxdiscount(regi,te) * sm_TWa_2_MWh * s_D2015_2_D2005 * 1e-12; -display p32_flex_maxdiscount; -$offtext - -*** Flexibility Tax Parameter +*** Flexibility Tax Parameters +*** The flexibility tax for electrolysis reduces the electricity price electrolysis sees via a subsidy. It is determined by two parameters +*** 1) p32_PriceDurSlope determines the minimum electricity price of electrolysis (relative to average elec. price) at an electrolysis share in electricity demand of 0 (and high VRE share) +*** 2) p32_flexSeelShare_slope determines the slope of the linear function at which the electrolysis el. price increases at higher electrolysis shares *** Both flexibility tax parameters are based on a regression analysis with hourly dispatch data from high-VRE scenarios of the Langfristszenarien -*** for Germany provided by the Enertile power system model. -*** See: https://langfristszenarien.de/enertile-explorer-de/szenario-explorer/angebot.php - -*** This parameter determines by the maximum electricity price reduction for electrolysis at 100% VRE share and 0% share of electrolysis in total electricity demand. -*** Standard value is derived based on the regression of the German Langfristzenarien. -p32_PriceDurSlope(regi,"elh2") = cm_PriceDurSlope_elh2; +*** for Germany provided by the Enertile power system model ( https://langfristszenarien.de/enertile-explorer-de/szenario-explorer/angebot.php). +*** See https://github.com/remindmodel/development_issues/issues/404 for details. + +*** p32_PriceDurSlope can be chosen by a switch. The standard value can be found in main.gms. +parameter f32_cm_PriceDurSlope_elh2(ext_regi) "slope of price duration curve for electrolysis [#]" / %cm_PriceDurSlope_elh2% /; +p32_PriceDurSlope(regi,"elh2") = f32_cm_PriceDurSlope_elh2("GLO"); +loop(ext_regi$f32_cm_PriceDurSlope_elh2(ext_regi), + loop(regi$regi_groupExt(ext_regi,regi), + p32_PriceDurSlope(regi,"elh2") = f32_cm_PriceDurSlope_elh2(ext_regi); + ); +); *** Slope of increase of electricity price for electrolysis with increasing share of electrolysis in power system *** The value of 1.1 is derived from the regression of the German Langfristzenarien. p32_flexSeelShare_slope(t,regi,"elh2") = 1.1; +*** Elh2VREcap phase-in factor +p32_phaseInElh2VREcap(t)$(t.val < 2030) = 0; +p32_phaseInElh2VREcap("2030") = 0.25; +p32_phaseInElh2VREcap("2035") = 0.5; +p32_phaseInElh2VREcap(t)$(t.val > 2035) = 1; + *** EOF ./modules/32_power/IntC/datainput.gms diff --git a/modules/32_power/IntC/declarations.gms b/modules/32_power/IntC/declarations.gms index 78cc1a6f5..9c102cf67 100644 --- a/modules/32_power/IntC/declarations.gms +++ b/modules/32_power/IntC/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -18,6 +18,7 @@ parameters o32_dispatchDownPe2se(ttot,all_regi,all_te) "output parameter to check by how much a pe2se te reduced its output below the normal, in % of the normal output." p32_shThresholdTotVREAddIntCost(ttot) "Total VRE share threshold above which additional integration challenges arise. Increases with time as eg in 2030, there is still little experience with managing systems with 80% VRE share. Unit: Percent" p32_FactorAddIntCostTotVRE "Multiplicative factor that influences how much the total VRE share increases integration challenges" + p32_phaseInElh2VREcap(ttot) "phase-in factor for electrolysis capacities built from stored VRE electricity, scale up from 2030 to 2040" p32_flexSeelShare_slope(ttot,all_regi,all_te) "Slope of relationship between average electricity price for flexible technology and share of this technology in total electricity demand. Unit: [ % percentage of average electricity price / % share in electricity demand]." ; @@ -48,6 +49,7 @@ equations q32_operatingReserve(ttot,all_regi) "operating reserve for necessary flexibility" q32_h2turbVREcapfromTestor(tall,all_regi) "calculate capacities of dummy seel<--h2 technology from storXXX technologies" q32_h2turbVREcapfromTestorUp(ttot,all_regi) "constraint h2turbVRE hydrogen turbines to be only built together with storage capacities" + q32_elh2VREcapfromTestor(tall,all_regi) "calculate capacities of dummy seel-->h2 technology from storXXX technologies" q32_flexAdj(ttot,all_regi,all_te) "calculate flexibility benefit or cost per flexible technology to be used by flexibility tax" q32_flexPriceShareMin(ttot,all_regi,all_te) "calculate miniumum share of average electricity that flexible technologies can see" q32_flexPriceShareVRE(ttot,all_regi,all_te) "calculate miniumum share of average electricity that flexible technologies can see given the current VRE share" diff --git a/modules/32_power/IntC/equations.gms b/modules/32_power/IntC/equations.gms index d3c7b211b..22eb4cc4b 100644 --- a/modules/32_power/IntC/equations.gms +++ b/modules/32_power/IntC/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -56,8 +56,9 @@ q32_usableSeTe(t,regi,entySe,te)$(sameas(entySe,"seel") AND teVRE(te)).. ***--------------------------------------------------------------------------- *' Definition of capacity constraints for storage: ***--------------------------------------------------------------------------- -*' This equation calculates the storage cpacity for each testor that needs to be installed based on the amount of v32_storloss that is calculated below in -*' q32_storloss. Multiplying v32_storloss with "eta/(1-eta)" yields the total output of a storage technology; this output has to be smaller than cap * capfac. +*' This equation calculates the storage capacity for each teStor that needs to be installed based on the amount of +*' v32_storloss that is calculated below in q32_storloss. Multiplying v32_storloss with "eta/(1-eta)" yields +*' the total output of a storage technology; this output has to be smaller than cap * capfac. q32_limitCapTeStor(t,regi,teStor)$( t.val ge 2020 ) .. ( 0.5$( cm_VRE_supply_assumptions eq 1 ) !! reduce storage investment needs by half for VRE_supply_assumptions = 1 + 1$( cm_VRE_supply_assumptions ne 1 ) @@ -68,23 +69,23 @@ q32_limitCapTeStor(t,regi,teStor)$( t.val ge 2020 ) .. =l= sum(te2rlf(teStor,rlf), vm_capFac(t,regi,teStor) - * pm_dataren(regi,"nur",rlf,teStor) * vm_cap(t,regi,teStor,rlf) ) ; -*** H2 storage implementation: Storage technologies (storspv, storwind etc.) also -*** represent H2 storage. This is implemented by scaling up capacities of -*** H2 turbines (h2turbVRE, seh2 -> seel) with VRE capacities which require storage (according to q32_limitCapTeStor). +*** H2 storage implementation: +*** Storage technologies (storspv, storwind etc.) also represent H2 storage. +*** This is implemented by scaling up capacities of H2 turbines (h2turbVRE, seh2 -> seel) +*** with VRE capacities which require storage (according to q32_limitCapTeStor). *** These H2 turbines (h2turbVRE) do not have capital cost. Their cost are already considered in storage technologies. -*** H2 turbines do not need be built if sufficient gas turbines (ngt) are available to provide flexibility. -*' Require a certain capacity of either hydrogen or gas turbines as peaking backup capacity. The driver is the testor capacity, which in turn is determined by v32_storloss +*** H2 turbines are not needed if sufficient gas turbines (ngt) are available to provide flexibility. +*' Require a certain capacity of either hydrogen or gas turbines as peaking backup capacity. The driver is the teStor capacity, which in turn is determined by v32_storloss q32_h2turbVREcapfromTestor(t,regi).. vm_cap(t,regi,"h2turbVRE","1") + vm_cap(t,regi,"ngt","1") =g= - sum(teStor, + sum(teStor, p32_storageCap(teStor,"h2turbVREcapratio") * vm_cap(t,regi,teStor,"1") ) ; @@ -92,8 +93,18 @@ q32_h2turbVREcapfromTestor(t,regi).. q32_h2turbVREcapfromTestorUp(t,regi).. vm_cap(t,regi,"h2turbVRE","1") =l= - sum(te$teStor(te), - p32_storageCap(te,"h2turbVREcapratio") * vm_cap(t,regi,te,"1") ) + sum(teStor, + p32_storageCap(teStor,"h2turbVREcapratio") * vm_cap(t,regi,teStor,"1") ) +; + +*** build additional electrolysis capacities with stored VRE electricity, phase-in from 2030 to 2040 +q32_elh2VREcapfromTestor(t,regi).. + vm_cap(t,regi,"elh2","1") + =g= + sum(teStor, + p32_storageCap(teStor,"elh2VREcapratio") * vm_cap(t,regi,teStor,"1") + ) + * p32_phaseInElh2VREcap(t) ; @@ -112,15 +123,13 @@ q32_limitCapTeChp(t,regi).. ***--------------------------------------------------------------------------- *' Additional grid expansion to integrate VRE are driven linearly by VRE output q32_limitCapTeGrid(t,regi)$( t.val ge 2020 ) .. - vm_cap(t,regi,"gridwind",'1') !! Technology is now parameterized to yield marginal costs of ~3.5$/MWh VRE electricity + vm_cap(t,regi,"gridwindon",'1') !! Technology is now parameterized to yield marginal costs of ~3.5$/MWh VRE electricity / p32_grid_factor(regi) !! It is assumed that large regions require higher grid investment =g= vm_prodSe(t,regi,"pesol","seel","spv") + vm_prodSe(t,regi,"pesol","seel","csp") - + 1.5 * vm_prodSe(t,regi,"pewin","seel","wind") !! wind has larger variations accross space, so adding grid is more important for wind (result of REMIX runs for ADVANCE project) -$IFTHEN.WindOff %cm_wind_offshore% == "1" - + 3 * vm_prodSe(t,regi,"pewin","seel","windoff") !! Getting offshore wind connected has even higher grid costs -$ENDIF.WindOff + + 1.5 * vm_prodSe(t,regi,"pewin","seel","windon") !! wind has larger variations accross space, so adding grid is more important for wind (result of REMIX runs for ADVANCE project) + + 3 * vm_prodSe(t,regi,"pewin","seel","windoff") !! Getting offshore wind connected has even higher grid costs ; ***--------------------------------------------------------------------------- @@ -158,7 +167,7 @@ q32_shStor(t,regi,teVRE)$(t.val ge 2015).. *' as it drives storage investments and thus the additional costs seen by VRE. It depends linearly on the usableSE output from this VRE, and linearly on the *' SPECIFIC integration challenges, which in turn are mainly the adjusted share of the technology itself (v32_shSTor), but also increase when the total VRE share *' increases beyond a (time-dependent) threshold. -*' The term "(1-eta)/eta" is equal to the ratio "losses of a testor" to "output of a testor". +*' The term "(1-eta)/eta" is equal to the ratio "losses of a teStor" to "output of a teStor". *' An example: If the specific integration challenges (v32_shStor + p32_Fact * v32_shAddInt) of eg. PV would reach 100%, then ALL the usable output of PV *' would have to be "stabilized" by going through storsp, so the total storage losses & curtailment would exactly represent the (1-eta) values of storspv. When *' the specific integration challenge term () is below 100%, the required storage and resulting losses are scaled down accordingly. @@ -180,7 +189,7 @@ q32_TotVREshare(t,regi).. ) ; -*' Calculate additional integration costs if total VRE share is above a certain threshold. (A system with only 40% VRE will be less challenged to handle 30% PV than +*' Calculate additional integration costs if total VRE share is above a certain threshold. A system with only 40% VRE will be less challenged to handle 30% PV than *' a system with 70% VRE, because you have less thermal plants that can act as backup and provide inertia. This threshold increases over time to represent that *' network operators learn about managing high-VRE systems, and that technologies such as grid-stabilizing VRE and batteries become widespread. q32_shAddIntCostTotVRE(t,regi).. @@ -188,9 +197,7 @@ q32_shAddIntCostTotVRE(t,regi).. =g= v32_TotVREshare(t,regi) - p32_shThresholdTotVREAddIntCost(t) -$IFTHEN.WindOff %cm_wind_offshore% == "1" - 0.5 * vm_shSeEl(t,regi,"windoff") !! for offshore wind, the correlation with other VRE is much smaller, reducing the additional integration challenge -$ENDIF.WindOff ; ***--------------------------------------------------------------------------- diff --git a/modules/32_power/IntC/input/f32_storageCap.prn b/modules/32_power/IntC/input/f32_storageCap.prn index a8383c57c..b6ce64840 100644 --- a/modules/32_power/IntC/input/f32_storageCap.prn +++ b/modules/32_power/IntC/input/f32_storageCap.prn @@ -1,7 +1,7 @@ *** SOF ./modules/32_power/IntC/input/storageCap.prn - storspv storwind storcsp -elh2VREcapratio 0.16 0.12 0.12 -h2turbVREcapratio 0.6 0.45 0.45 -batteryVREcapRatio 3 1.1 0 + storspv storcsp storwindon storwindoff +elh2VREcapratio 0.16 0.12 0.12 0.12 +h2turbVREcapratio 1.2 0.9 0.9 0.9 +batteryVREcapRatio 3 0 1.1 1.1 *** EOF ./modules/32_power/IntC/input/storageCap.prn diff --git a/modules/32_power/IntC/input/p32_flex_maxdiscount.cs4r b/modules/32_power/IntC/input/p32_flex_maxdiscount.cs4r index d25d29ef2..8909528c8 100644 --- a/modules/32_power/IntC/input/p32_flex_maxdiscount.cs4r +++ b/modules/32_power/IntC/input/p32_flex_maxdiscount.cs4r @@ -1,4 +1,4 @@ -* | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +* | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) * | authors, and contributors see CITATION.cff file. This file is part * | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of * | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/IntC/not_used.txt b/modules/32_power/IntC/not_used.txt index 50ddbe1c0..85ff9312e 100644 --- a/modules/32_power/IntC/not_used.txt +++ b/modules/32_power/IntC/not_used.txt @@ -1,17 +1,7 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason -vm_capDistr, variable, ??? -vm_demSeOth, variable, ??? -vm_prodSeOth, variable, ??? -pm_emifac, parameter, ??? -cm_nucscen, switch, ??? -vm_deltaCap,input,questionnaire -cm_emiscen,input,questionnaire -cm_ccapturescen,input,questionnaire -pm_boundCapCCS,input,questionnaire -pm_cap0,input,questionnaire diff --git a/modules/32_power/IntC/postsolve.gms b/modules/32_power/IntC/postsolve.gms index 7442a50a7..80d1a3a9e 100644 --- a/modules/32_power/IntC/postsolve.gms +++ b/modules/32_power/IntC/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/IntC/preloop.gms b/modules/32_power/IntC/preloop.gms index 2617540f8..e3178a8ab 100644 --- a/modules/32_power/IntC/preloop.gms +++ b/modules/32_power/IntC/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/IntC/presolve.gms b/modules/32_power/IntC/presolve.gms index 2bb8fbb91..49fb4d9e8 100644 --- a/modules/32_power/IntC/presolve.gms +++ b/modules/32_power/IntC/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/IntC/realization.gms b/modules/32_power/IntC/realization.gms index d0d4c255e..0175e2e47 100644 --- a/modules/32_power/IntC/realization.gms +++ b/modules/32_power/IntC/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/RLDC/bounds.gms b/modules/32_power/RLDC/bounds.gms deleted file mode 100644 index 24961ae3d..000000000 --- a/modules/32_power/RLDC/bounds.gms +++ /dev/null @@ -1,184 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/RLDC/bounds.gms - -***----------------------------------------------------------- -*** module specific bounds -***------------------------------------------------------------ - -vm_usableSe.lo(t,regi,"seel") = 1e-6; - -v32_capLoB.up(t,regi,te,LoB) = 2; !! The total power system has maximum demand of 1 -v32_LoBheight.up(t,regi,LoB) = 2; !! The total power system has maximum demand of 1 -v32_LoBheightCum.up(t,regi,LoB) = 2; !! The total power system has maximum demand of 1.5 (should be one, but the reforming of the baseload band leads to -v32_shTh.up(t,regi,teVRE) = 2; !! Worlds with higher than twice the total energy demand coming from either wind or solar (before curtailment) are unrealistic - -v32_scaleCap.up(t,regi) = 100; !! no power system will be larger than 100 TW -v32_scaleCap.up(t,regi) = 20; -v32_scaleCap.lo(t,regi) = 1e-4; !! Make sure REMIND does not try to shrink a power system to zero -v32_scaleCap.lo(t,regi) = 0.01; - -loop(te$(NOT teRLDCDisp(te)), - vm_capFac.fx(t,regi,te) = pm_cf(t,regi,te); -); - -vm_capFac.up(t,regi,teRLDCDisp) = 1.00; -vm_capFac.l(t,regi,teRLDCDisp) = pm_cf("2005",regi,teRLDCDisp) * pm_dataren(regi,"nur","1",teRLDCDisp); - -v32_capLoB.lo(t,regi,teRLDCDisp,LoB)$(t.val>2015) = 1e-6; !!Lower bound to capacity to avoid infeasibility -*v32_capLoB.lo("2005",regi,"geohdr",LoB) = 1e-6; !!Necessary to avoid infeasibility due to geohdr being zero in all LoB except for the 4th LoB, making impossible to the vm_capFac to match the v32_capLoB sum, with the lack of v32_capER in the initial year and a p32_capFacLoB != 1 - -*RP* CCS technologies can make a problem if the caps are fixed to 0, but the capLoBs left free -loop(regi, - if ( (cm_ccapturescen eq 2) OR (cm_emiscen eq 1) , !! in no-CCS and BAU scenarios, no CCS is allowed - loop(emi2te(enty,"seel",te,"cco2")$( pm_emifac("2020",regi,enty,"seel",te,"cco2") >0 ), !! use 2020 as proxy - only limit the seel technologies - the others don't have a capFac and capLob and capER - loop(te2rlf(te,rlf), - vm_capFac.fx(ttot,regi,te) = 0; - v32_capLoB.fx(t,regi,te,LoB) = 0; - v32_capER.fx(t,regi,te) = 0; - ); - ); - elseif (cm_ccapturescen eq 5), !! noElecCCS - loop(emi2te(enty,"seel",te,"cco2")$( pm_emifac("2020",regi,enty,"seel",te,"cco2") >0 ), - loop(te2rlf(te,rlf), - vm_capFac.fx(ttot,regi,te) = 0; - v32_capLoB.fx(t,regi,te,LoB) = 0; - v32_capER.fx(t,regi,te) = 0; - ); - ); - ); -); - -*Avoiding infeasibilities from upper limit on CCS deployment in 2020 -loop(regi, - loop(t$(t.val le 2030), - if( ( pm_boundCapCCS(t,regi,"up") eq 0), - vm_capFac.fx(t,regi,teCCS) = 0; - v32_capLoB.fx(t,regi,teCCS,LoB) = 0; - v32_capER.fx(t,regi,teCCS) = 0; - ); - ); -); - - -*RP same for nuc: -if ( (cm_nucscen eq 5) , !! in no-Nuc scenarios, no tnrs is allowed - loop(pe2se("peur",enty,te), - vm_capFac.fx(t,regi,te)$(t.val > 2060) = 0; - v32_capLoB.fx(t,regi,te,LoB)$(t.val > 2060) = 0; - v32_capER.fx(t,regi,te)$(t.val > 2060) = 0; - ); -); - -vm_capFac.fx(t,regi,"fnrs")= 0; -v32_capLoB.fx(t,regi,"fnrs",LoB)= 0; -v32_capER.fx(t,regi,"fnrs")= 0; - -v32_curt.lo(t,regi)$(t.val>2010) = 0; - -*RP* CHP technologies should not have larger CFs than 0.6, as heat is not always needed. They can still contribute to -*** baseload, but then some other part of the total capacity needs to be underutilized - this could represent costs for thermal storage -loop(te$teChp(te), - vm_capFac.up(t,regi,te)$(t.val > 2005) = 0.6; -); - -***---------------------------------------------- -*RP: bounds to make the first runs more feasible -***---------------------------------------------- -loop(regi, - loop(te$( (teRLDCDisp(te)) ), - if( ( pm_cap0(regi,te) > 0 ) , - vm_capFac.up("2005",regi,te) = 1.01 * pm_cf("2005",regi,te); - vm_capFac.lo("2005",regi,te) = 0.98 * pm_cf("2005",regi,te); - vm_capFac.lo("2010",regi,te) = 0.009; - vm_capFac.lo("2015",regi,te) = 0.009; - if( teReNoBio(te), - vm_capFac.up("2005",regi,te) = 1.01 * pm_dataren(regi,"nur","1",te) * pm_cf("2005",regi,te); - vm_capFac.lo("2005",regi,te) = 0.4 * pm_dataren(regi,"nur","1",te) * pm_cf("2005",regi,te); - ); - else - vm_capFac.fx("2005",regi,te) = 0; - ); - ); -); - -vm_capFac.up(t,regi,"hydro")$(t.val > 2005) = 0.25; !! Japan has quite low hydro CFs, so the rule "0.4 * pm_dataren(regi,"nur","1",te)" produces infeasibilities - -vm_capFac.lo("2005",regi,"hydro") = 0.2; !! Japan has quite low hydro CFs, so the rule "0.4 * pm_dataren(regi,"nur","1",te)" produces infeasibilities. As the 2005 bounds are anyway only there to facilitate that the model finds an initial solution, set this limit for all regions - -***----------------------------------------------------- -*** -***----------------------------------------------------- - -***v32_LoBheightCum.lo(t,regi,LoB) = 0.01; -v32_LoBheightCum.lo("2010",regi,"1") = 0.82; -v32_LoBheightCum.lo("2010",regi,"2") = 0.48; -v32_LoBheightCum.lo("2010",regi,"3") = 0.38; -v32_LoBheightCum.lo("2010",regi,"4") = 0.26; - -v32_shTh.lo(t,regi,"spv")$(t.val > 2020) = 0.01; -v32_shTh.lo(t,regi,"wind")$(t.val > 2020) = 0.01; - -v32_curt.up(t,regi) = 100; -$if %cm_Full_Integration% == "on" v32_curt.fx(t,regi) = 0; - -*** Advanced technologies can't be build prior to 2015/2020 -loop(regi, - loop(teNoLearn(te), - if( (pm_data(regi,"tech_stat",te) eq 2), - v32_capLoB.fx("2010",regi,te,LoB) = 0; - elseif (pm_data(regi,"tech_stat",te) eq 3), - v32_capLoB.fx("2010",regi,te,LoB) = 0; - v32_capLoB.fx("2015",regi,te,LoB) = 0; - ); - ); -); - -*** nuclear only as baseload -v32_capLoB.fx(t,regi,"tnrs","1")$(t.val > 2010) = 0; -v32_capLoB.fx(t,regi,"tnrs","2")$(t.val > 2010) = 0; -v32_capLoB.fx(t,regi,"tnrs","3")$(t.val > 2010) = 0; - - -*** facilitiate finding sulutions in the ADVANCE Full_Integration run -$if %cm_Full_Integration% == "on" v32_capLoB.lo(t,regi,"spv",LoB)$(t.val > 2030) = 1e-6; -$if %cm_Full_Integration% == "on" v32_capLoB.lo(t,regi,"wind",LoB)$(t.val > 2030) = 1e-6; -$if %cm_Full_Integration% == "on" vm_cap.lo(t,regi,"spv",LoB)$(t.val > 2030) = 1e-3; -$if %cm_Full_Integration% == "on" vm_cap.lo(t,regi,"wind",LoB)$(t.val > 2030) = 1e-3; - -***No slow ramping technologies as peaking plants -v32_capLoB.fx(t,regi,te,"1")$teNotLoB1(te) = 0; -***Technologies that can not run for 7500 FLh, and therefore cannot be considered at baseload -v32_capLoB.fx(t,regi,te,"4")$teNotBase(te) = 0; - -***Make sure the model sees the h2-el connections -vm_cap.lo(t,regi,"h2turb","1")$(t.val > 2050) = 1e-6; -vm_cap.lo(t,regi,"elh2","1")$(t.val > 2050) = 1e-6; -vm_cap.lo(t,regi,"h2curt","1")$(t.val > 2090) = 1e-5; -$if %cm_Full_Integration% == "on" vm_cap.fx(t,regi,"h2curt","1") = 0; -$if %cm_Full_Integration% == "on" vm_deltaCap.fx(t,regi,"h2curt","1") = 0; - -*** Allow the curtailment->H2 channel: -vm_prodSeOth.up(t,regi,"seh2","h2curt") = 1e6; -vm_prodSeOth.lo(t,regi,"seh2","h2curt")$(t.val > 2090) = 1e-6; - -$if %cm_Full_Integration% == "on" vm_prodSeOth.fx(t,regi,"seh2","h2curt") = 0; !! no curtailment if all VRE are treated as dispatchable - -vm_cap.fx(t,regi,"gridspv","1")$(t.val > 2070) = 0; -vm_cap.fx(t,regi,"gridcsp","1")$(t.val > 2070) = 0; -vm_cap.fx(t,regi,"storcsp","1")$(t.val > 2070) = 0; -vm_cap.fx(t,regi,"storwind","1")$(t.val > 2070) = 0; -$IFTHEN.WindOff %cm_wind_offshore% == "1" -vm_cap.fx(t,regi,"storwindoff","1")$(t.val > 2070) = 0; -$ENDIF.WindOff - -$if %cm_Full_Integration% == "on" vm_cap.fx(t,regi,"storspv","1") = 0; -$if %cm_Full_Integration% == "on" vm_deltaCap.fx(t,regi,"storspv","1") = 0; - -vm_deltaCap.up(t,regi,"dot",rlf)$(t.val > 2040) = 1e-5; - -*** EOF ./modules/32_power/RLDC/bounds.gms diff --git a/modules/32_power/RLDC/datainput.gms b/modules/32_power/RLDC/datainput.gms deleted file mode 100644 index 21b6d32d3..000000000 --- a/modules/32_power/RLDC/datainput.gms +++ /dev/null @@ -1,105 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/RLDC/datainput.gms - -*------------------------------------------------------------------------------------ -*** RLDC specific data input -*------------------------------------------------------------------------------------ - -parameter f32_shCHP(ttot,all_regi) "upper boundary of chp electricity generation" -/ -$ondelim -$include "./modules/32_power/RLDC/input/f32_shCHP.cs4r" -$offdelim -/ -; -p32_shCHP(ttot,all_regi) = f32_shCHP(ttot,all_regi) + 0.05; -p32_shCHP(ttot,all_regi)$(ttot.val ge 2050) = min(p32_shCHP("2020",all_regi) + 0.15, 0.75); -p32_shCHP(ttot,all_regi)$((ttot.val gt 2020) and (ttot.val lt 2050)) = p32_shCHP("2020",all_regi) + ((p32_shCHP("2050",all_regi) - p32_shCHP("2020",all_regi)) / 30 * (ttot.val - 2020)); - - -***parameter p32_grid_factor(all_regi) - multiplicative factor that scales total grid requirements down in comparatively small or homogeneous regions like Japan, Europe or India -parameter p32_grid_factor(all_regi) "multiplicative factor that scales total grid requirements down in comparatively small or homogeneous regions like Japan, Europe or India" -/ -$ondelim -$include "./modules/32_power/RLDC/input/p32_grid_factor.cs4r" -$offdelim -/ -; - -***parameter p32_capFacLoB(LoB) - Capacity factor of a load band (Unit 0..1) -p32_capFacLoB("1") = 0.08; -p32_capFacLoB("2") = 0.25; -p32_capFacLoB("3") = 0.50; -p32_capFacLoB("4") = 0.86; !! no plant runs longer than 7500 hours - accordingly the height of the base load band is rescaled in q32_LoBheight - -***parameter p32_ResMarg(ttot,all_regi) - reserve margin as markup on actual peak capacity. Unit [0..1] -p32_ResMarg(ttot,regi) = 0.30; - -***parameter p32_RLDCcoeff(all_regi,PolyCoeff,RLDCbands) - Coefficients for the non-separable wind/solar-cross-product polynomial RLDC fit -table f32_RLDC_Coeff_LoB(all_regi,RLDCbands,PolyCoeff) "RLDC coefficients for combined Wind-Solar Polynomial" -$ondelim -$include "./modules/32_power/RLDC/input/f32_RLDC_Coeff_LoB.cs3r" -$offdelim -; -table f32_RLDC_Coeff_Peak(all_regi,RLDCbands,PolyCoeff) "RLDC coefficients for combined Wind-Solar Polynomial" -$ondelim -$include "./modules/32_power/RLDC/input/f32_RLDC_Coeff_Peak.cs3r" -$offdelim -; - -loop(regi, - loop(RLDCbands, - if( PeakDep(RLDCbands), - p32_RLDCcoeff(regi,PolyCoeff,RLDCbands) = (f32_RLDC_Coeff_LoB(regi,RLDCbands,PolyCoeff)+f32_RLDC_Coeff_Peak(regi,RLDCbands,PolyCoeff)) / f32_RLDC_Coeff_Peak(regi,"peak","p00"); - else - p32_RLDCcoeff(regi,PolyCoeff,RLDCbands) = (f32_RLDC_Coeff_LoB(regi,RLDCbands,PolyCoeff)+f32_RLDC_Coeff_Peak(regi,RLDCbands,PolyCoeff)) ; - ) - ); -); - -***parameter p32_LoBheight0(all_regi,LoB) - Load band heights at 0% VRE share (Unit 0..1) -loop(LoB, - p32_LoBheight0(regi,LoB) = p32_RLDCcoeff(regi,"p00",LoB) - p32_RLDCcoeff(regi,"p00",LoB+1)$( LoB.val < card(LoB) ); - if ( ( LoB.val eq card(LoB) ), - p32_LoBheight0(regi,LoB) = p32_LoBheight0(regi,LoB) * ( 1 / p32_capFacLoB(LoB) ); !! upscale the height of the base-load band to represent the fact that the fit was done with 8760 hours ( = 1), while no plant runs longer than 7500 hours (CF = 0.86) - ) -); - -***parameter p32_capFacDem(all_regi) - Average demand factor of a power sector (Unit 0..1) -p32_capFacDem(regi) = sum(LoB, p32_LoBheight0(regi,LoB) * p32_capFacLoB(LoB) ); - -loop(regi, - loop(te$(teReNoBio(te)), - p32_avCapFac(t,regi,te) = - sum(rlf, pm_dataren(regi,"nur",rlf,te) * pm_dataren(regi,"maxprod",rlf,te) ) - / ( sum(rlf, pm_dataren(regi,"maxprod",rlf,te) ) + 1e-8) - ; - ); -); - -$ontext -loop(regi, - loop(te$(teReNoBio(te)), - p32_avCapFac(t,regi,te) = -* sum(rlf$(UsedGrades2070(regi,te,rlf)), - sum(rlf, - pm_dataren(regi,"nur",rlf,te) * pm_dataren(regi,"maxprod",rlf,te) - ) -* / ( sum(rlf$UsedGrades2070(regi,te,rlf), pm_dataren(regi,"maxprod",rlf,te) ) - / ( sum(rlf, pm_dataren(regi,"maxprod",rlf,te) ) - + 1e-8) ; - ); -); -$offtext - -***parameter p32_curtOn(all_regi) - control variable for curtailment fitted from the DIMES-Results -p32_curtOn(regi) = 1; - -***display p32_capFacDem, p32_capFacLoB, p32_RLDCcoeff, p32_avCapFac, p32_ResMarg, p32_curtOn, p32_shCHP, p32_grid_factor; - -*** EOF ./modules/32_power/RLDC/datainput.gms diff --git a/modules/32_power/RLDC/declarations.gms b/modules/32_power/RLDC/declarations.gms deleted file mode 100644 index 9fc9ceb1c..000000000 --- a/modules/32_power/RLDC/declarations.gms +++ /dev/null @@ -1,78 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/RLDC/declarations.gms - -parameters - p32_capFacDem(all_regi) "Average demand factor of a power sector [0,1]" - p32_capFacLoB(LoB) "Capacity factor of a load band [0,1]" - p32_RLDCcoeff(all_regi,PolyCoeff,RLDCbands) "Coefficients for the non-separable wind/solar-cross-product polynomial RLDC fit" - p32_avCapFac(ttot,all_regi,all_te) "Average load factor (Nur) of the first 5 grades of a technology" - p32_ResMarg(ttot,all_regi) "Reserve margin as markup on actual peak capacity [0,1]" - p32_curtOn(all_regi) "Control variable for curtailment fitted from the DIMES-Results" - p32_shCHP(ttot,all_regi) "Upper boundary of chp electricity generation" - p32_grid_factor(all_regi) "Multiplicative factor that scales total grid requirements down in comparatively small or homogeneous regions like Japan, Europe or India" - p32_LoBheight0(all_regi,LoB) "Load band heights at 0% VRE share (declared here, on the data input file, because it is only used for the p32_capFacDem definition) [0,1]" -; - -positive variables - v32_scaleCap(ttot,all_regi) "Scale Factor to scale the power capacitites from 'relative to Peak Demand' up to total system level [TW]" - v32_shTh(ttot,all_regi,all_te) "Theoretical share of variable renewable energies [0,1]" - v32_capLoB(ttot,all_regi,all_te,LoB) "Capacity of a technology within one load band relative to peak demand [0,1]" - v32_capER(ttot,all_regi,all_te) "Early retired capacities [0,1]" - v32_curt(ttot,all_regi) "Curtailment of power in the RLDC formulation of the power sector [TWa]" - v32_LoBheight(ttot,all_regi,LoB) "Height of each load band relative to Peak Demand [0,1]" - v32_overProdCF(ttot,all_regi,all_te) "Overproduction CF from dispatchable renewable energies (csp and hydro) [0,1]" - v32_CurtModelminusFit(ttot,all_regi) "Difference between model curtailment and fitted curtailment" - v32_LoBheightCum(ttot,all_regi,LoB) "Cumulative height of each load band relative to Peak Demand [0,1]" - v32_peakCap(ttot,all_regi) "Peak capacity after RLDC [0,1]" - v32_H2cof_PVsh(ttot,all_regi) "Amount of cofiring of gas/H2 to CSP needed due to correlation with PV" - v32_H2cof_Lob4(ttot,all_regi) "Amount of cofiring of gas/H2 to CSP needed due to use of CSP in LoB 4, which has a high CF" - v32_H2cof_Lob3(ttot,all_regi) "Amount of cofiring of gas/H2 to CSP needed due to use of CSP in LoB 3, which has a high CF" - v32_H2cof_CSPsh(ttot,all_regi) "Amount of cofiring of gas/H2 to CSP needed due to self-correlation of CSP" - v32_sqrtCurt(ttot,all_regi) "Helper variable: share of the year for which curtailment is higher than 1/3 of maximum curtailment - this is the amount that we assume we can use for producing H2. Because we assume a 1-to-3 ratio of time to capacity for curtailment, it is also used to calculate the curtailed capacity" - vm_shSeEl(ttot,all_regi,all_te) "new share of electricity production in % [%]" -; - -variables - v32_curtFit(ttot,all_regi) "Curtailment as fitted from the DIMES-Results" - v32_FullIntegrationSlack(ttot,all_regi) "Slack variable that allows implementation of the 'Full Integration' ADVANCE scenario variation, where we assume no integration challenges for wind and solar, thus no curtailment" - v32_LoBheightCumExact(ttot,all_regi,LoB) "Cumulative height of load bands, calculated from theoretical wind and solar share based on the DIMES fits " -; - -equations - q32_balSe(ttot,all_regi,all_enty) "Balance equation for electricity secondary energy" - q32_usableSe(ttot,all_regi,all_enty) "Calculate usable se before se2se and MP/XP (without storage)" - q32_usableSeTe(ttot,all_regi,entySe,all_te) "Calculate usable se produced by one technology (vm_usableSeTe)" - q32_shTheo(ttot,all_regi,all_te) "Calculate theoretical share of wind and solar in power production" - q32_scaleCapTe(ttot,all_regi,all_te) "Calculate upscaled power capacitites from 'relative to peak demand' up to total system level" - q32_curt(ttot,all_regi) "Calculate total curtailment" - q32_curtFit(ttot,all_regi) "Calculate curtailment from DIMES-fit" - q32_curtFitwCSP(ttot,all_regi) "Calculate curtailment from DIMES-fit, including 0.3 CSP" - q32_LoBheightCumExact(ttot,all_regi,LoB) "Calculate height of load bands from theoretical wind and solar share" - q32_LoBheightCumExactNEW(ttot,all_regi,LoB) "Calculate the model-used height of load bands, which need to have some slack (=g=) compared to the exact calulcation of v32_LoBheightCumExact to keep v32_LoBheightCum > 0" - q32_LoBheightExact(ttot,all_regi,LoB) "Calculate height of load bands from theoretical wind and solar share" - q32_fillLoB(ttot,all_regi,LoB) "Fill Load Bands with power production" - q32_capFac(ttot,all_regi,all_te) "Calculate resulting capacity factor for all power technologies" - q32_capFacTER(ttot,all_regi,all_te) "Make sure that the non-bio renewables observe the limited capacity Factor" - q32_stor_pv(ttot,all_regi) "Calculate the short term storage requirements due to renewables" - q32_peakCap(ttot,all_regi) "Calculate peak capacity after RLDC" - q32_capAdeq(ttot,all_regi) "Make sure dispatchable capacities > peak capacity" - q32_H2cofiring(ttot,all_regi) "Calculate co-firing needs" - q32_H2cof_PVsh(ttot,all_regi) "Cofiring CSP due to correlation with PV" - q32_H2cof_LoB4(ttot,all_regi) "Cofiring CSP due to use in LoB 4" - q32_H2cof_LoB3(ttot,all_regi) "Cofiring CSP due to use in LoB 3" - q32_H2cof_CSPsh(ttot,all_regi) "Cofiring CSP due to self-correlation with CSP" - q32_curtCapH2(ttot,all_regi) "Calculate the H2 capacity from curtailed electricity" - q32_curtProdH2(ttot,all_regi) "Calculate the H2 production from curtailed electricity" - q32_sqrtCurt(ttot,all_regi) "Calculate helper variable: share of the year for which curtailment is higher than 1/3 of maximum curtailment" - q32_hydroROR(ttot,all_regi) "Represent Run-Of-River Hydro by requiring that 20% of produced hydro electricity comes from baseload" - q32_limitCapTeChp(ttot,all_regi) "Capacitiy constraint for chp electricity generation" - q32_limitCapTeGrid(ttot,all_regi) "Calculate the additional grid capacity required by VRE" - q32_shSeEl(ttot,all_regi,all_te) "calculate share of electricity production of a technology (vm_shSeEl)" -; - -*** EOF ./modules/32_power/RLDC/declarations.gms diff --git a/modules/32_power/RLDC/equations.gms b/modules/32_power/RLDC/equations.gms deleted file mode 100644 index b7cbbeff6..000000000 --- a/modules/32_power/RLDC/equations.gms +++ /dev/null @@ -1,343 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/RLDC/equations.gms - -*' @equations - -***--------------------------------------------------------------------------- -*' Balance equation for electricity secondary energy type: -***--------------------------------------------------------------------------- -q32_balSe(t,regi,enty2)$(sameas(enty2,"seel")).. - v32_scaleCap(t,regi) * p32_capFacDem(regi) - + sum(pc2te(enty,entySe(enty3),te,enty2), - pm_prodCouple(regi,enty,enty3,te,enty2) * vm_prodSe(t,regi,enty,enty3,te) ) - + sum(pc2te(enty4,entyFe(enty5),te,enty2), - pm_prodCouple(regi,enty4,enty5,te,enty2) * vm_prodFe(t,regi,enty4,enty5,te) ) - + sum(pc2te(enty,enty3,te,enty2), - sum(teCCS2rlf(te,rlf), - pm_prodCouple(regi,enty,enty3,te,enty2) * vm_co2CCS(t,regi,enty,enty3,te,rlf) ) ) - + vm_Mport(t,regi,enty2) - =e= - sum(se2fe(enty2,enty3,te), vm_demSe(t,regi,enty2,enty3,te) ) - + sum(se2se(enty2,enty3,te), vm_demSe(t,regi,enty2,enty3,te) ) - + sum(pe2rlf(enty3,rlf2), (pm_fuExtrOwnCons(regi, enty2, enty3) * vm_fuExtr(t,regi,enty3,rlf2))$(pm_fuExtrOwnCons(regi, enty2, enty3) gt 0))$(t.val > 2005) !! do not use in 2005 because this demand is not contained in 05_initialCap - + vm_Xport(t,regi,enty2) - ; - -q32_usableSe(t,regi,entySe)$(sameas(entySe,"seel")).. - vm_usableSe(t,regi,entySe) - =e= - sum(pe2se(enty,entySe,te), vm_prodSe(t,regi,enty,entySe,te) ) - + sum(se2se(enty,entySe,te), vm_prodSe(t,regi,enty,entySe,te) ) - + sum(pc2te(entyPe,entySe(enty3),te,entySe)$(pm_prodCouple(regi,entyPe,enty3,te,entySe) gt 0), - pm_prodCouple(regi,entyPe,enty3,te,entySe)*vm_prodSe(t,regi,entyPe,enty3,te) ) -; - -q32_usableSeTe(t,regi,entySe,te)$(sameas(entySe,"seel") AND teVRE(te)).. - vm_usableSeTe(t,regi,entySe,te) - =e= - sum(pe2se(enty,entySe,te), vm_prodSe(t,regi,enty,entySe,te) ) - + sum(se2se(enty,entySe,te), vm_prodSe(t,regi,enty,entySe,te) ) - + sum(pc2te(enty,entySe(enty3),te,entySe)$(pm_prodCouple(regi,enty,enty3,te,entySe) gt 0), - pm_prodCouple(regi,enty,enty3,te,entySe) * vm_prodSe(t,regi,enty,enty3,te) ) -; - -***--------------------------------------------------------------------------- -*' VRE Shares - theoretical VRE shares: scale the total VRE production down to "RLDC level", then compare it to the size of the RLDC at 0% -***--------------------------------------------------------------------------- -q32_shTheo(t,regi,teVRE).. - v32_shTh(t,regi,teVRE) - =e= - sum(pe2se(entyPe,"seel",teVRE), vm_prodSe(t,regi,entyPe,"seel",teVRE) ) - / ( - v32_scaleCap(t,regi) * p32_capFacDem(regi) - + sum(pc2te(enty,entySe(enty3),te,enty2), - pm_prodCouple(regi,enty,enty3,te,enty2) * vm_prodSe(t,regi,enty,enty3,te) ) - + sum(pc2te(enty4,entyFe(enty5),te,enty2), - pm_prodCouple(regi,enty4,enty5,te,enty2) * vm_prodFe(t,regi,enty4,enty5,te) ) - + sum(pc2te(enty,enty3,te,enty2), - sum(teCCS2rlf(te,rlf), - pm_prodCouple(regi,enty,enty3,te,enty2) * vm_co2CCS(t,regi,enty,enty3,te,rlf) ) ) - ) -; - -***--------------------------------------------------------------------------- -*' Transform the RLDC normalized capacities (0-1) to real world magnitudes -***--------------------------------------------------------------------------- -q32_scaleCapTe(t,regi,te)$( (t.val > 2000) AND teRLDCDisp(te) ).. !! scale the capacities of all technologies explicitly represented in the RLDCs - sum(teSe2rlf(te,rlf), vm_cap(t,regi,te,rlf) ) - =e= - v32_scaleCap(t,regi) * ( sum(LoB, v32_capLoB(t,regi,te,LoB) ) + v32_capER(t,regi,te) ) -; - -***--------------------------------------------------------------------------- -*' Curtailment -***--------------------------------------------------------------------------- -q32_curt(t,regi).. - v32_curt(t,regi) - =e= - sum(pe2se(entyPe,"seel",teVRE), vm_prodSe(t,regi,entyPe,"seel",teVRE) ) !! total theoretical VRE production - - v32_scaleCap(t,regi) * ( p32_capFacDem(regi) - sum(LoB, p32_capFacLoB(LoB) * v32_LoBheight(t,regi,LoB) ) ) !! minus the actually used VRE production, namely the difference between a system without and a system with VRE - + v32_overProdCF(t,regi,"csp") * vm_cap(t,regi,"csp","1") !! add the unused CSP production that is not reflected in seprod -; - -q32_curtFit(t,regi).. !! calculate curtailment as fitted from the DIMES-Results - v32_curtFit(t,regi) !! v32_curtFit can go below 0 - =e= - p32_curtOn(regi) - * ( - p32_RLDCcoeff(regi,"p00","curtShVRE") - + p32_RLDCcoeff(regi,"p10","curtShVRE") * v32_shTh(t,regi,"wind")$teVRE("wind") - + p32_RLDCcoeff(regi,"p01","curtShVRE") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p20","curtShVRE") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 2 - + p32_RLDCcoeff(regi,"p11","curtShVRE") * v32_shTh(t,regi,"wind")$teVRE("wind") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p02","curtShVRE") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 - + p32_RLDCcoeff(regi,"p30","curtShVRE") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 3 - + p32_RLDCcoeff(regi,"p21","curtShVRE") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 2 * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p12","curtShVRE") * v32_shTh(t,regi,"wind")$teVRE("wind") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 - + p32_RLDCcoeff(regi,"p03","curtShVRE") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 3 - ) -; - -q32_curtFitwCSP(t,regi).. - v32_curt(t,regi) - =e= - ( v32_curtFit(t,regi) + 0.02 ) * sum(pe2se(entyPe,"seel",teVRE), vm_prodSe(t,regi,entyPe,"seel",teVRE) ) !! add 2% of VRE prod. ot curtailment to represent grid losses - comes from the comparison with REMIX - + v32_overProdCF(t,regi,"csp") * vm_cap(t,regi,"csp","1") - + v32_CurtModelminusFit(t,regi) * sum(pe2se(entyPe,"seel",teVRE), vm_prodSe(t,regi,entyPe,"seel",teVRE) ) !! this is a positive slack variable that shows how much curtailment due to discretization of RLDC boxes is larger than fitted curtailment -> to move to ex-post -$if %cm_Full_Integration% == "on" + v32_FullIntegrationSlack(t,regi) -; - -***--------------------------------------------------------------------------- -*' Load Band -***--------------------------------------------------------------------------- -q32_LoBheightCumExact(t,regi,LoB).. - v32_LoBheightCumExact(t,regi,LoB) - =e= - p32_RLDCcoeff(regi,"p00",LoB) - + p32_RLDCcoeff(regi,"p10",LoB) * v32_shTh(t,regi,"wind")$teVRE("wind") - + p32_RLDCcoeff(regi,"p01",LoB) * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p20",LoB) * v32_shTh(t,regi,"wind")$teVRE("wind") ** 2 - + p32_RLDCcoeff(regi,"p11",LoB) * v32_shTh(t,regi,"wind")$teVRE("wind") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p02",LoB) * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 - + p32_RLDCcoeff(regi,"p30",LoB) * v32_shTh(t,regi,"wind")$teVRE("wind") ** 3 - + p32_RLDCcoeff(regi,"p21",LoB) * v32_shTh(t,regi,"wind")$teVRE("wind") ** 2 * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p12",LoB) * v32_shTh(t,regi,"wind")$teVRE("wind") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 - + p32_RLDCcoeff(regi,"p03",LoB) * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 3 -; - -q32_LoBheightCumExactNEW(t,regi,LoB).. !! introduce slack so that v32_LoBheightCum stay > 0 - v32_LoBheightCum(t,regi,LoB) - =g= - v32_LoBheightCumExact(t,regi,LoB) -; - -q32_LoBheightExact(t,regi,LoB).. !! individual load band height - the difference between the cumulated heights - v32_LoBheight(t,regi,LoB) - =g= - ( v32_LoBheightCum(t,regi,LoB) - v32_LoBheightCum(t,regi,LoB+1)$(LoB.val < card(LoB)) ) - * ( 1$(LoB.val < card(LoB)) + ( 1 / p32_capFacLoB(LoB) )$(LoB.val = card(LoB)) ) !! upscale the height of the base-load band to represent the fact that the fit was done with 8760 hours, while no plant runs longer than 7500 hours (CF = 0.86) -; - -q32_fillLoB(t,regi,LoB)$(t.val > 2005).. - sum(teRLDCDisp, v32_capLoB(t,regi,teRLDCDisp,LoB) ) - =e= - v32_LoBheight(t,regi,LoB) -; - -***--------------------------------------------------------------------------- -*' Capacity factor for dispatchable power plants -***--------------------------------------------------------------------------- -q32_capFac(t,regi,te)$( teRLDCDisp(te) AND (t.val > 2000) ).. - vm_capFac(t,regi,te) - =e= - ( sum(LoB, - ( p32_capFacLoB(LoB)$( (LoB.val <> 4) OR NOT sameas(te,"csp") ) - + (4/3 * p32_avCapFac(t,regi,"csp"))$( (LoB.val eq 4) AND sameas(te,"csp") ) !! 4/3 is a factor for the upscaling from SM3/12h to SM4/16h storage - ) - * v32_capLoB(t,regi,te,LoB) - ) - + v32_capER(t,regi,te) * 0.01 !! the early retired capacities (v32_capER) are weighted with 1% to represent that they run at least 100h per year - ) - / (sum(LoB, v32_capLoB(t,regi,te,LoB) ) + v32_capER(t,regi,te) + 1e-9) -; - -q32_capFacTER(t,regi,te)$( teReNoBio(te) AND teRLDCDisp(te) AND t.val > 2000).. !! make sure that for dispatchable renewable plants, the average nur is larger than the resulting capFac - sum(teRe2rlfDetail(te,rlf), - pm_dataren(regi,"nur",rlf,te) * vm_capDistr(t,regi,te,rlf) ) - / ( vm_cap(t,regi,te,"1") + 1e-10 ) + 3e-5 !! the 1e-5 allows for slightly larger capacity factors, but does not have a large influence, and prevents some infeasibilities - =g= - vm_capFac(t,regi,te) - + v32_overProdCF(t,regi,te) -; - -***--------------------------------------------------------------------------- -*' Short Term Storage Requirements (from RLDC Fit) -***--------------------------------------------------------------------------- -q32_stor_pv(t,regi)$(t.val > 2010).. - vm_cap(t,regi,"storspv","1") - =g= - v32_scaleCap(t,regi) * - ( - p32_RLDCcoeff(regi,"p00","STScost") - + p32_RLDCcoeff(regi,"p10","STScost") * v32_shTh(t,regi,"wind")$teVRE("wind") - + p32_RLDCcoeff(regi,"p01","STScost") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p20","STScost") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 2 - + p32_RLDCcoeff(regi,"p11","STScost") * v32_shTh(t,regi,"wind")$teVRE("wind") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p02","STScost") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 - + p32_RLDCcoeff(regi,"p30","STScost") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 3 - + p32_RLDCcoeff(regi,"p21","STScost") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 2 * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p12","STScost") * v32_shTh(t,regi,"wind")$teVRE("wind") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 - + p32_RLDCcoeff(regi,"p03","STScost") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 3 - ) -; - -***--------------------------------------------------------------------------- -*' Peak capacity equations -***--------------------------------------------------------------------------- - -q32_peakCap(t,regi).. - v32_peakCap(t,regi) - =e= - p32_RLDCcoeff(regi,"p00","peak") - + p32_RLDCcoeff(regi,"p10","peak") * v32_shTh(t,regi,"wind")$teVRE("wind") - + p32_RLDCcoeff(regi,"p01","peak") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p20","peak") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 2 - + p32_RLDCcoeff(regi,"p11","peak") * v32_shTh(t,regi,"wind")$teVRE("wind") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p02","peak") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 - + p32_RLDCcoeff(regi,"p30","peak") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 3 - + p32_RLDCcoeff(regi,"p21","peak") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 2 * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p12","peak") * v32_shTh(t,regi,"wind")$teVRE("wind") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 - + p32_RLDCcoeff(regi,"p03","peak") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 3 -; - -q32_capAdeq(t,regi)$(t.val > 2005).. - sum(teRLDCDisp(te)$(NOT sameas(te,"hydro")), - sum(teSe2rlf(te,rlf), vm_cap(t,regi,te,rlf) ) - ) - + 0.8 * vm_cap(t,regi,"hydro","1") !! to represent that it is not fully dispatchable, hydro counts only with 80% of its installed capacity towards peak capacity - =g= - v32_scaleCap(t,regi) * ( v32_peakCap(t,regi) + p32_ResMarg(t,regi) ) -; - -***--------------------------------------------------------------------------- -*' CSP - including co-firing -***--------------------------------------------------------------------------- -q32_H2cofiring(t,regi)$(t.val > 2010).. - vm_demSeOth(t,regi,"seh2","csp") !! cofiring of h2 to csp - + vm_demSeOth(t,regi,"segabio","csp") !! cofiring of gas to csp - + vm_demSeOth(t,regi,"segafos","csp") -$if %cm_Full_Integration% == "on" + 1e6 - =g= - v32_H2cof_PVsh(t,regi) - + v32_H2cof_Lob4(t,regi) - + v32_H2cof_Lob3(t,regi) - + v32_H2cof_CSPsh(t,regi) -; - -q32_H2cof_LoB3(t,regi)$(t.val > 2005).. - v32_H2cof_Lob3(t,regi) - =g= - 1/0.4 !! 1/0.4 is the efficiency of the H2 turbine - to convert from produced electricity to used H2 - * v32_scaleCap(t,regi) !! all the later numbers are relative to peak, and need to be rescaled to full system size - * v32_capLoB(t,regi,"csp","3") !! each unit of csp in baseload needs H2 cofiring - * ( p32_capFacLoB("3") - p32_avCapFac(t,regi,"csp") ) !! the co-firing is only needed for the residual of baseload after avCapFac. CapLob * DiffCapfac = produced electricity -; - -q32_H2cof_LoB4(t,regi)$(t.val > 2005).. - v32_H2cof_Lob4(t,regi) - =g= - 1/0.4 !! 1/0.4 is the efficiency of the H2 turbine - to convert from produced electricity to used H2 - * v32_scaleCap(t,regi) - * v32_capLoB(t,regi,"csp","4") !! each unit of csp in baseload needs H2 cofiring - * ( p32_capFacLoB("4") - 4/3 * p32_avCapFac(t,regi,"csp") ) !! 4/3 is the factor for the upscaling from SM3/12h to SM4/16h storage -; - -q32_H2cof_PVsh(t,regi)$(t.val > 2005).. !! more CSP cofiring if lots of PV is used (correlation between PV and CSP) - v32_H2cof_PVsh(t,regi) - =e= - 1/0.4 !! 1/0.4 is the efficiency of the H2 turbine - to convert from produced electricity to used H2 - * v32_scaleCap(t,regi) - * 0.5 * vm_cap(t,regi,"csp","1") * (0.65 - p32_avCapFac(t,regi,"csp") ) * v32_shTh(t,regi,"spv") -; - -q32_H2cof_CSPsh(t,regi)$(t.val > 2005).. !! more CSP cofiring if lots of CSP is used (self-correlation of CSP) - v32_H2cof_CSPsh(t,regi) - =e= - 1/0.4 !! 1/0.4 is the efficiency of the H2 turbine - to convert from produced electricity to used H2 - * v32_scaleCap(t,regi) - * vm_cap(t,regi,"csp","1") * (0.65 - p32_avCapFac(t,regi,"csp") ) * v32_shTh(t,regi,"csp") -; - -***--------------------------------------------------------------------------- -*' produce H2 from curtailed electricity, using a curtailment-dependent load factor -***--------------------------------------------------------------------------- -q32_curtCapH2(t,regi)$(t.val > 2005).. - vm_cap(t,regi,"h2curt","1") / v32_scaleCap(t,regi) !! 0.5 for area of a triangle - =l= - v32_sqrtCurt(t,regi) !! 0.5 as only half of the curtailment can be used -; - -q32_curtProdH2(t,regi)$(t.val > 2005).. - pm_eta_conv(t,regi,"h2curt") * vm_cap(t,regi,"h2curt","1") * 2/3 * v32_sqrtCurt(t,regi) - =g= - vm_prodSeOth(t,regi,"seh2","h2curt") -; - -q32_sqrtCurt(t,regi)$(t.val > 2005).. - v32_sqrtCurt(t,regi) - =e= - sqrt( 2/3 * ( ( v32_curt(t,regi) ) / v32_scaleCap(t,regi) / p32_capFacDem(regi) + 1e-6 ) ) -; -!! Assuming curtailment has a triangle shape, 1x wide, 3x high => 3x^2 would be the area of the rectangle. The area of the triangle = 1/2 times this. -!! Area = 3/2 x^2 = curt. ==> x = 2/3 curt ^ 0.5 - -***--------------------------------------------------------------------------- -*' special constraints on hydropower to prevent hydro being completely flexibily only used for peaking -***--------------------------------------------------------------------------- -q32_hydroROR(t,regi)$(t.val > 2005).. !! require that at least 20% of the hydro are in baseload (counting as run-of-river). This may lead to Baseload being higher than required by the RLDC, and therefore (realistic) curtailment - p32_capFacLoB("4") * v32_capLoB(t,regi,"hydro","4") - =g= - 0.2 * sum(LoB, p32_capFacLoB(LoB) * v32_capLoB(t,regi,"hydro",LoB) ) -; - -***--------------------------------------------------------------------------- -*' Definition of capacity constraints for CHP technologies: -***--------------------------------------------------------------------------- -q32_limitCapTeChp(t,regi).. - sum(pe2se(enty,"seel",teChp(te)), vm_prodSe(t,regi,enty,"seel",te) ) - =l= - p32_shCHP(t,regi) - * sum(pe2se(enty,"seel",te), vm_prodSe(t,regi,enty,"seel",te) ); - -***--------------------------------------------------------------------------- -*' Calculation of necessary grid installations for centralized renewables: -***--------------------------------------------------------------------------- -q32_limitCapTeGrid(t,regi)$( t.val ge 2015 ) .. - vm_cap(t,regi,"gridwind",'1') !! Technology is now parameterized to yield marginal costs of ~3.5$/MWh VRE electricity - / p32_grid_factor(regi) !! It is assumed that large regions require higher grid investment - =g= - vm_prodSe(t,regi,"pesol","seel","spv") - + vm_prodSe(t,regi,"pesol","seel","csp") - + 1.5 * vm_prodSe(t,regi,"pewin","seel","wind") !! wind has larger variations accross space, so adding grid is more important for wind (result of REMIX runs for ADVANCE project) -$IFTHEN.WindOff %cm_wind_offshore% == "1" - + 1.5 * vm_prodSe(t,regi,"pewin","seel","windoff") -$ENDIF.WindOff -; - -***--------------------------------------------------------------------------- -*' Calculation of share of electricity production of a technology: -***--------------------------------------------------------------------------- -q32_shSeEl(t,regi,teVRE).. - vm_shSeEl(t,regi,teVRE) / 100 * vm_usableSe(t,regi,"seel") - =e= - vm_usableSeTe(t,regi,"seel",teVRE) -; - -*' @stop - -*** EOF ./modules/32_power/RLDC/equations.gms diff --git a/modules/32_power/RLDC/input/files b/modules/32_power/RLDC/input/files deleted file mode 100644 index 3af7a0dc8..000000000 --- a/modules/32_power/RLDC/input/files +++ /dev/null @@ -1,5 +0,0 @@ -f32_RLDC_Coeff_LoB.cs3r -f32_RLDC_Coeff_Peak.cs3r -f32_shCHP.cs4r -p32_grid_factor.cs4r - diff --git a/modules/32_power/RLDC/not_used.txt b/modules/32_power/RLDC/not_used.txt deleted file mode 100644 index a80a3d9a4..000000000 --- a/modules/32_power/RLDC/not_used.txt +++ /dev/null @@ -1,14 +0,0 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -# | authors, and contributors see CITATION.cff file. This file is part -# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -# | AGPL-3.0, you are granted additional permissions described in the -# | REMIND License Exception, version 1.0 (see LICENSE file). -# | Contact: remind@pik-potsdam.de -name,type,reason -pm_IO_input,input,questionnaire -vm_flexAdj,input,questionnaire -cm_VRE_supply_assumptions,input,questionnaire -cm_flex_tax,input,questionnaire -cm_PriceDurSlope_elh2,input,questionnaire -cm_FlexTaxFeedback,input,questionnaire -vm_shDemSeel,input,only used in IntC realization diff --git a/modules/32_power/RLDC/postsolve.gms b/modules/32_power/RLDC/postsolve.gms deleted file mode 100644 index 1626e7015..000000000 --- a/modules/32_power/RLDC/postsolve.gms +++ /dev/null @@ -1,14 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/RLDC/postsolve.gms - -*** calculation of SE electricity price (useful for internal use and reporting purposes) -pm_SEPrice(ttot,regi,entySe)$(abs (qm_budget.m(ttot,regi)) gt sm_eps AND sameas(entySe,"seel")) = - q32_balSe.m(ttot,regi,entySe) / qm_budget.m(ttot,regi); - -*** EOF ./modules/32_power/RLDC/postsolve.gms - diff --git a/modules/32_power/RLDC/presolve.gms b/modules/32_power/RLDC/presolve.gms deleted file mode 100644 index 0b14c5498..000000000 --- a/modules/32_power/RLDC/presolve.gms +++ /dev/null @@ -1,11 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/RLDC/presolve.gms - - - -*** EOF ./modules/32_power/RLDC/presolve.gms diff --git a/modules/32_power/RLDC/realization.gms b/modules/32_power/RLDC/realization.gms deleted file mode 100644 index b1cb86408..000000000 --- a/modules/32_power/RLDC/realization.gms +++ /dev/null @@ -1,55 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de - -*** SOF ./modules/32_power/RLDC/realization.gms - -*' @description -*' -*'The `RLDC` realization (Residual Load Duration Curve) distinguish different operation electricity supply decisions under four distinct load bands, plus additional peak capacity requirements. -*' -*'This module determine power system supply specific technology behavior, which summs up to the general core capacity equations to define the power sector operation and investment decisions. -*' -*'Contrary to other secondary energies in REMIND, this requires to move the electricity secondary energy balance (supply = demand) from the core to the module code. -*' -*' -*'The residual load duration curve is obtained after discounting intermittent renewables generation (solar and wind) from the total demand. -*' -*'An exogenous unit commitment model (DIMES) is used to estimate a third degree fitting curve for each load band representing the intermittent renewables generation contribution at different renewable penetration shares in the system. -*' -*'Curtailament is defined using the same process - a per load band third degree fitting curve that determines the curtailment based on the renewables share. -*' -*'Dispatchable power generation technologies have their capacity factor endogenously determined by the use in the distinct load bands. -*' -*'Short term storage is dependable of wind and solar penetration shares and estimated exogenously to a third degree fitting curve. -*' -*'A reserve margin capacity is required to be provided by dispatchable technologies only. The reserve margin size is determined by the peak capacity that is also estimated exogenously for different levels of renewables penetration in the system. -*' -*'CSP co-firing with H2 or other gases is included. Self-correlation and PV correlation inside each load bands are considered. -*' -*'Hydrogen can be used to reduce renewable power curtailment and provide flexibility to the system future generation. -*' -*'Hydropower load band flexibility is limited due to run-of-river power plants and water use regulation constraints. -*' -*'Combined heat and power technologies flexibility is limited to technology and spatial observed data. -*' -*'Additional grid capacities are calculated for high intermittent renewable capacity (solar and wind) and regional spatial differences. -*' -*' @authors Robert Pietzcker, Falko Ueckerdt, Renato Rodrigues - -*####################### R SECTION START (PHASES) ############################## -$Ifi "%phase%" == "sets" $include "./modules/32_power/RLDC/sets.gms" -$Ifi "%phase%" == "declarations" $include "./modules/32_power/RLDC/declarations.gms" -$Ifi "%phase%" == "datainput" $include "./modules/32_power/RLDC/datainput.gms" -$Ifi "%phase%" == "equations" $include "./modules/32_power/RLDC/equations.gms" -$Ifi "%phase%" == "preloop" $include "./modules/32_power/RLDC/preloop.gms" -$Ifi "%phase%" == "bounds" $include "./modules/32_power/RLDC/bounds.gms" -$Ifi "%phase%" == "presolve" $include "./modules/32_power/RLDC/presolve.gms" -$Ifi "%phase%" == "postsolve" $include "./modules/32_power/RLDC/postsolve.gms" -*######################## R SECTION END (PHASES) ############################### - -*** EOF ./modules/32_power/RLDC/realization.gms - diff --git a/modules/32_power/RLDC/sets.gms b/modules/32_power/RLDC/sets.gms deleted file mode 100644 index 2c12ff1b2..000000000 --- a/modules/32_power/RLDC/sets.gms +++ /dev/null @@ -1,127 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/RLDC/sets.gms - -***----------------------------------------------------------- -*** module specific sets -***------------------------------------------------------------ -SETS - PolyCoeff "Which coefficients exist for the RLDC formulation" - / - p00 - p10 "wind ^1, solar ^0" - p01 "wind ^0, solar ^1" - p20 - p11 - p02 - p30 - p21 - p12 - p03 - / - - RLDCbands "???" - / - 1*4, - curt - peak - curtShVRE - shtStor - STScost - STSRes2Cap - / - - LoB(RLDCbands) "Electricity load band" - /1 * 4/ -; - -teVRE(all_te) = no; - - -*RLDC dispatchable technologies -teRLDCDisp("ngcc") = yes; -teRLDCDisp("ngccc") = yes; -teRLDCDisp("ngt") = yes; -teRLDCDisp("gaschp") = yes; -teRLDCDisp("dot") = yes; -teRLDCDisp("igcc") = yes; -teRLDCDisp("igccc") = yes; -teRLDCDisp("pc") = yes; -teRLDCDisp("coalchp") = yes; -teRLDCDisp("tnrs") = yes; -teRLDCDisp("fnrs") = yes; -teRLDCDisp("biochp") = yes; -teRLDCDisp("bioigcc") = yes; -teRLDCDisp("bioigccc") = yes; -teRLDCDisp("geohdr") = yes; -teRLDCDisp("hydro") = yes; -teRLDCDisp("h2turb") = yes; -teRLDCDisp("csp") = yes; - - -*Sets used on data input assignments -SETS - PeakDep(RLDCbands) "RLDC elements that scale with peak (not curtailment, storage)" - / - 1 * 4 - peak - / - -$ontext - UsedGrades2070(all_regi,all_te,rlf) - / - ROW.csp.(1*2) - EUR.csp.(1*4) - CHN.csp.(1*3) - IND.csp.(1*6) - JPN.csp.(1*6) - RUS.csp.(1*2) - USA.csp.(1*4) - OAS.csp.(1*5) - MEA.csp.(1*2) - LAM.csp.(1*2) - AFR.csp.(1*3) - ROW.hydro.(1*4) - EUR.hydro.(1*4) - CHN.hydro.(1*4) - IND.hydro.(1*4) - JPN.hydro.(1*4) - RUS.hydro.(1*4) - USA.hydro.(1*4) - OAS.hydro.(1*4) - MEA.hydro.(1*4) - LAM.hydro.(1*4) - AFR.hydro.(1*4) - / -$offtext - - teNotLoB1(all_te) "Technologies that can't go into the first LoB as they are difficult to cycle continuously & quickly" - / - tnrs - pc - ngcc - ngccc - igccc - igcc - bioigcc - bioigccc - coalchp - gaschp - biochp - / - - teNotBase(all_te) "Technologies that can't go into the last LoB (baseload) as they can't run for 7500 FLh" - / -*** hydro -*** csp -*** coalchp -*** gaschp -*** biochp - / -; - -*** EOF ./modules/32_power/RLDC/sets.gms diff --git a/modules/32_power/module.gms b/modules/32_power/module.gms index 0d6d3fb54..31d19f4ef 100644 --- a/modules/32_power/module.gms +++ b/modules/32_power/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -10,18 +10,16 @@ *' *' @description The 32_power module determines the operation production decisions for the electricity supply. *' -*' *' The `IntC` realization (Integrated Costs) assumes a single electricity market balance. *' -*' The `RLDC` realization (Residual Load Duration Curve) distinguishes different operation electricity supply decisions under four distinct load bands, plus additional peak capacity requirements. -*' -*' The `DTcoup` realization (DIETER-coupled) soft-couples REMIND to DIETER (an hourly power sector model), and is currently only at conceptual stage and not merged (it is only a copy of IntC) *' *' @authors Robert Pietzcker, Falko Ueckerdt, Renato Rodrigues, Chen Chris Gong +*** Other realizations were removed in July 2024: +*** - The `RLDC` realization (Residual Load Duration Curve) distinguishes different operation electricity supply decisions under four distinct load bands, plus additional peak capacity requirements. +*** - The `DTcoup` realization (DIETER-coupled) soft-couples REMIND to DIETER (an hourly power sector model), and is currently only at conceptual stage and not merged (it is only a copy of IntC) + *###################### R SECTION START (MODULETYPES) ########################## -$Ifi "%power%" == "DTcoup" $include "./modules/32_power/DTcoup/realization.gms" $Ifi "%power%" == "IntC" $include "./modules/32_power/IntC/realization.gms" -$Ifi "%power%" == "RLDC" $include "./modules/32_power/RLDC/realization.gms" *###################### R SECTION END (MODULETYPES) ############################ *** EOF ./modules/32_power/module.gms diff --git a/modules/33_CDR/module.gms b/modules/33_CDR/module.gms index e2301dac3..ee3ca39b9 100644 --- a/modules/33_CDR/module.gms +++ b/modules/33_CDR/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -10,7 +10,7 @@ *' *' @description The 33_CDR module adds further options to remove CO2 from the atmosphere beyond BECCS *' and afforestation, which are calculated in the core. Currently, direct air carbon capture and storage (DACCS) -*' and enhanced weathering of rocks (EW) are available, ocean alkalinization will follow soon. +*' and enhanced weathering of rocks (EW) are available, ocean alkalinization (OAE) implemented as ocean liming. *' All options can be switched on and off individually via the switches called cm_33[option abbreviation]. *' The module calculates capacities, emissions (including captured carbon), energy demand & supply, costs, *' and limitations associated with the different options. diff --git a/modules/33_CDR/portfolio/bounds.gms b/modules/33_CDR/portfolio/bounds.gms index 5da8d850e..0a4d275fd 100644 --- a/modules/33_CDR/portfolio/bounds.gms +++ b/modules/33_CDR/portfolio/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -16,12 +16,14 @@ if(card(te_used33) eq 0, *** Fix CCS from CDR if there're no technologies that require CCS if(card(te_ccs33) eq 0, - vm_ccs_cdr.fx(t,regi,enty,enty2,te,rlf)$ccs2te(enty,enty2,te) = 0; + vm_co2capture_cdr.fx(t,regi,enty,enty2,te,rlf)$ccs2te(enty,enty2,te) = 0; ); *** Fix negative emissions and FE demand to zero for all the technologies that are not used vm_emiCdrTeDetail.fx(t,regi,te_all33)$(not te_used33(te_all33)) = 0; v33_FEdemand.fx(t,regi,entyFe,entyFe2,te_all33)$(not te_used33(te_all33) and fe2cdr(entyFe,entyFe2,te_all33)) = 0; +*** Fix non atmospheric emissions from CDR for all technologies that are not used +v33_co2emi_non_atm_gas.fx(t,regi,te_all33)$(not te_ccs33(te_all33)) = 0; *** Fix all CDR-related variables to zero for early time steps t< 2025 (no CDR in the real world) *** to reduce unnecessary freedom (and likelyhood of spontaneous solver infeasibilities) @@ -30,9 +32,10 @@ v33_FEdemand.fx(t,regi,entyFe,entyFe2,te_used33)$(fe2cdr(entyFe,entyFe2,te_used3 vm_emiCdr.fx(t,regi,"co2")$(t.val lt 2025) = 0; vm_omcosts_cdr.fx(t,regi)$((t.val lt 2025)) = 0; vm_cap.fx(t,regi,"weathering",rlf)$(t.val lt 2025) = 0; +v33_co2emi_non_atm_gas.fx(t,regi,te_used33)$(t.val lt 2025) = 0; +v33_co2emi_non_atm_calcination.fx(t,regi,te_oae33)$(t.val lt 2025) = 0; *** vm_cap for dac is fixed for t<2025 in core/bounds.gms (tech_stat eq 4) -vm_ccs_cdr.fx(t,regi,enty,enty2,te,rlf)$(ccs2te(enty,enty2,te) AND t.val lt 2025) = 0; - +vm_co2capture_cdr.fx(t,regi,enty,enty2,te,rlf)$(ccs2te(enty,enty2,te) AND t.val lt 2025) = 0; *** Set minimum DAC capacities (if available) to help the solver find the technology if (te_used33("dac"), @@ -47,12 +50,18 @@ if(te_used33("weathering"), !! if cm_startyear > 2025 and input_ref.gdx used EW, this fixing will be overwritten in submit.R v33_EW_onfield.fx(ttot,regi,rlf_cz33,rlf)$(ttot.val lt max(2025,cm_startyear)) = 0.0; !! v33_EW_onfield_tot.fx(ttot,regi,rlf_cz33,rlf)$(ttot.val lt max(2025,cm_startyear)) = 0.0; !! -); - -*** Bounds if enhanced weathering is not in the portfolio -if(not te_used33("weathering"), +else vm_omcosts_cdr.fx(t,regi) = 0; vm_cap.fx(t,regi,"weathering",rlf) = 0; ); +*** Bounds for OAE +if(card(te_oae33) ne 0, + !! OAE starts in cm_33_OAE_startyear + vm_cap.fx(t, regi, te_oae33, rlf)$(t.val lt cm_33_OAE_startyr) = 0; +else + v33_co2emi_non_atm_calcination.fx(t, regi, "oae_ng") = 0; + v33_co2emi_non_atm_calcination.fx(t, regi, "oae_el") = 0; +); + *** EOF ./modules/33_CDR/portfolio/bounds.gms diff --git a/modules/33_CDR/portfolio/datainput.gms b/modules/33_CDR/portfolio/datainput.gms index ef7ac9380..a3ce3230c 100644 --- a/modules/33_CDR/portfolio/datainput.gms +++ b/modules/33_CDR/portfolio/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -49,5 +49,32 @@ p33_fedem("weathering", "fedie") = 0.3; *' Factor distributing the global rock limit across regions according to population p33_LimRock(regi) = pm_pop("2005",regi) / sum(regi2,pm_pop("2005",regi2)); + +*' Annual growth rate limit on upscaling of mining & spreading rocks on fields +p33_EW_upScalingLimit(ttot) = cm_33_EW_upScalingRateLimit; + +*' Calculation of short term limit on rocks spread on field in terms of Gt rocks that can be spread. +p33_EW_shortTermEW_Limit(regi) = cm_33_EW_shortTermLimit * sum(rlf, f33_maxProdGradeRegiWeathering(regi, rlf)); + +*** ocean alkalinity enhancement input data (Kowalczyk et al., 2024) + +!! An assumption; generally the efficiency might vary between 0.9-1.4 tCO2/tCaO (1.2-1.8 molCO2/molCaO), +!! depending on e.g., ocean chemistry and currents in a given region +s33_OAE_efficiency = cm_33_OAE_eff / sm_c_2_co2; !! GtC (ocean uptake) per unit of GtCaO + +!! 0.78 tCO2 are emitted in the decomposition of limestone to produce 1 tCaO +s33_OAE_chem_decomposition = 0.78 / sm_c_2_co2 / s33_OAE_efficiency; !! GtC from decomposition per 1GtC taken by the ocean, 0.78 t/tCaO + +p33_fedem(te_oae33, "feels") = 1.0 / s33_OAE_efficiency; !! 996 MJ/tCaO, used for grinding, air separation, CO2 compression +p33_fedem(te_oae33, "fehes") = 3.1 / s33_OAE_efficiency; !! 3100 MJ/tCaO, used for calcination + +if(cm_33_OAE_scen = 0, !! pessimistic scenario for distribution, high diesel demand + p33_fedem(te_oae33, "fedie") = 2.6 / s33_OAE_efficiency; !! 2600 MJ/tCaO (corresponds to discharge rate of 30 t/h) +); !! fedie is used for inland transport of the material and maritime transport to distribute the material in the ocean + +if(cm_33_OAE_scen = 1, !! optimistic scenario for distribution, lower diesel demand + p33_fedem(te_oae33, "fedie") = 0.77 / s33_OAE_efficiency; !! 770 MJ/tCaO (corresponds to the discharge rate of 100 t/h) +); + *' @stop *** EOF ./modules/33_CDR/portfolio/datainput.gms diff --git a/modules/33_CDR/portfolio/declarations.gms b/modules/33_CDR/portfolio/declarations.gms index 65cc0eaba..21e363236 100644 --- a/modules/33_CDR/portfolio/declarations.gms +++ b/modules/33_CDR/portfolio/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -6,37 +6,50 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/33_CDR/portfolio/declarations.gms scalars +s33_capture_rate "CO2 capture rate for capturing emissions, e.g., from burning natural gas" / 0.9 / + s33_co2_rem_pot "specific carbon removal potential [Gt C per Gt ground rock]" s33_co2_rem_rate "carbon removal rate [fraction of annual reduction of total carbon removal potential]" s33_costs_fix "fixed costs for mining, grinding, spreading [T$/Gt stone]" s33_step "size of bins in v33_weathering_onfield [Gt stone]" *JeS* GJ/tCO2 = EJ/Gt CO2 = 44/12 EJ/Gt C. + +s33_OAE_efficiency "the amount of rock required to sequester 1GtC [Gt rock / GtC]" +s33_OAE_chem_decomposition "the fraction of CO2 that comes from chemical decomposition in the calcination process" +s33_OAE_glo_limit "global limit for OAE [tC / a]" ; parameters p33_fedem(all_te,all_enty) "final energy demand of each technology [EJ/GtC] (for EW the unit is [EJ/Gt stone])" p33_LimRock(all_regi) "regional share of EW limit [fraction], calculated ex ante for a maximal annual amount of 8 Gt rock in D:\projects\CEMICS\paper_technical\supply_curve_transport_remind_regions.m" p33_co2_rem_rate(rlf) "carbon removal rate [fraction of annual reduction of total carbon removal potential], multiplied with grade factor" +p33_EW_upScalingLimit(ttot) "Annual growth rate limit on upscaling of mining & spreading rocks on fields" +p33_EW_shortTermEW_Limit(all_regi) "Limit on 2030 potential for enhanced weathering, defined in Gt rocks, based on % of land on which EW is applied" ; positive variables v33_EW_onfield(ttot,all_regi,rlf,rlf) "amount of ground rock spread on fields in each timestep [Gt]" v33_EW_onfield_tot(ttot,all_regi,rlf,rlf) "total amount of ground rock on fields, for each climate zone and transportation distance [Gt]" v33_FEdemand(ttot,all_regi,all_enty,all_enty,all_te) "FE demand of each technology [TWa]" -vm_ccs_cdr(ttot,all_regi,all_enty,all_enty,all_te,rlf) "total emissions captured through technologies in the CDR module that enter the CCUS chain + captured emissions from associated FE demand [GtC / a]" +vm_co2capture_cdr(ttot,all_regi,all_enty,all_enty,all_te,rlf) "total emissions captured through technologies in the CDR module that enter the CCUS chain + captured emissions from associated FE demand [GtC / a]" +v33_co2emi_non_atm_gas(ttot,all_regi,all_te) "CO2 from CDR-related acitivites that comes from energy demand [GtC / a]" +v33_co2emi_non_atm_calcination(ttot,all_regi,all_te) "CO2 from calcination [GtC / a]" ; negative variables -vm_emiCdrTeDetail(ttot,all_regi,all_te) "(negative) emissions from CDR technologies in the CDR module by technology. Includes all atmospheric CO2 that enter the CCUS chain (i.e. CO2 stored (CDR) AND used (not CDR)) [GtC / a]" +vm_emiCdrTeDetail(ttot,all_regi,all_te) "gross (negative) emissions from CDR technologies in the CDR module by technology. Includes all atmospheric CO2 that enter the CCUS chain (i.e. CO2 stored (CDR) AND used (not CDR)) [GtC / a]" ; equations q33_demFeCDR(ttot,all_regi,all_enty) "CDR demand balance for final energy" q33_emiCDR(ttot,all_regi) "aggregates the (negative) emissions captured by the CDR technologies" q33_H2bio_lim(ttot,all_regi) "limits H2 from bioenergy to FE - H2 demand from CDR, i.e. no H2 from bioenergy for DAC" -q33_DAC_emi(ttot,all_regi) "calculates amount of carbon captured by DAC" +q33_capconst(ttot,all_regi,all_te) "calculates amount of carbon captured by DAC and OAE" +q33_co2emi_non_atm_gas(ttot,all_regi,all_te) "calculates the share of captured CO2 that comes from burning gas" +q33_ccsbal(ttot,all_regi,all_enty,all_enty,all_te) "calculates CCS emissions from CDR technologies" + q33_DAC_FEdemand(ttot,all_regi,all_enty) "calculates final energy demand from DAC" -q33_DAC_ccsbal(ttot,all_regi,all_enty,all_enty,all_te) "calculates CCS emissions from CDR technologies" + q33_EW_capconst(ttot,all_regi) "calculates amount of ground rock spread on fields" q33_EW_onfield_tot(ttot,all_regi,rlf,rlf) "total amount of ground rock on fields" q33_EW_omcosts(ttot,all_regi) "calculates O&M costs for spreading ground rocks on fields" @@ -44,6 +57,11 @@ q33_EW_FEdemand(ttot,all_regi,all_enty) "calculates final energy demand from en q33_EW_potential(ttot,all_regi,rlf) "limits the total potential of EW per region and grade" q33_EW_emi(ttot,all_regi) "calculates amount of carbon captured by EW" q33_EW_LimEmi(ttot,all_regi) "limits EW to a maximal annual amount of ground rock of cm_LimRock" +q33_EW_upscaling_rate(ttot, all_regi) "limits spreading of rock to a steep but credible upscaling rate" +q33_EW_ShortTermBound(ttot,all_regi) "Limits short term potential for enhanced weathering" + +q33_OAE_FEdemand(ttot,all_regi,all_enty,all_te) "calculates final energy demand for ocean alkalinity enhancement" +q33_OAE_co2emi_non_atm_calcination(ttot,all_regi,all_te) "calculates the CO2 that comes from calcination (limestone decomposition)" ; *** EOF ./modules/33_CDR/portfolio/declarations.gms diff --git a/modules/33_CDR/portfolio/equations.gms b/modules/33_CDR/portfolio/equations.gms index b674cd2da..f75f770f8 100644 --- a/modules/33_CDR/portfolio/equations.gms +++ b/modules/33_CDR/portfolio/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -25,51 +25,75 @@ q33_demFeCDR(t,regi,entyFe)$(entyFe2Sector(entyFe,"cdr")).. ***--------------------------------------------------------------------------- *' Sum of all CDR emissions other than BECCS and afforestation, which are calculated in the core. +*' The negative emissions are discounted by emissions that are released due to <100 percent capture +*' rate, as they are unavoidable (1-s33_capture_rate of the emissions that are possible to capture). *' Note that this includes all atmospheric CO2 captured in this module that enters the CCUS chain. ***--------------------------------------------------------------------------- q33_emiCDR(t,regi).. vm_emiCdr(t,regi,"co2") =e= sum(te_used33, vm_emiCdrTeDetail(t,regi,te_used33)) + + (1 - s33_capture_rate) * ( + sum(te_ccs33, v33_co2emi_non_atm_gas(t, regi, te_ccs33)) + + sum(te_oae33, v33_co2emi_non_atm_calcination(t, regi, te_oae33)) + ) ; ***--------------------------------------------------------------------------- -*' Limit the amount of H2 from biomass to the demand without CDR. -*' It's a sustainability bound to prevent a large demand for biomass. +*' Calculation of gross (negative) CO2 emissions from capacity. +*' Negative emissions from enhanced weathering also result from decaying rock +*' spread in previous timesteps, so emissions do not equal to the capacity +*' (i.e., how much rock is spread in a given timestep). ***--------------------------------------------------------------------------- -q33_H2bio_lim(t,regi).. - sum(pe2se("pebiolc","seh2",te), vm_prodSe(t,regi,"pebiolc","seh2",te)) - =l= - vm_prodFe(t,regi,"seh2","feh2s","tdh2s") - sum(fe2cdr("feh2s",entyFe2,te_used33), v33_FEdemand(t,regi,"feh2s",entyFe2,te_used33)) +q33_capconst(t, regi, te_used33)$(not sameAs(te_used33, "weathering")).. + vm_emiCdrTeDetail(t, regi, te_used33) + =e= + - sum(teNoTransform2rlf33(te_used33, rlf), + vm_capFac(t, regi, te_used33) * vm_cap(t, regi, te_used33, rlf) + ) ; ***--------------------------------------------------------------------------- -*' #### DAC equations +*' The CO2 captured from gas used for heat production (DAC, OAE). +***--------------------------------------------------------------------------- +q33_co2emi_non_atm_gas(t, regi, te_ccs33).. + v33_co2emi_non_atm_gas(t, regi, te_ccs33) + =e= + fm_dataemiglob("pegas","seh2","gash2c","cco2") !! conversion from PE to emissions + * (1 / pm_eta_conv(t,regi,"gash2c")) !! conversion from PE to FE + * sum(fe2cdr("fegas", entyFe2, te_ccs33), v33_FEdemand(t, regi,"fegas", entyFe2, te_ccs33)) !! FE gas used + ; ***--------------------------------------------------------------------------- -*' Calculation of (negative) atmospheric CO2 captured by direct air capture. +*' Preparation of captured emissions to enter the CCUS chain. +*' The first part of the equation describes emissons captured from the ambient air, +*' the second part is non-atmospheric CO2 (e.g., from energy usage and calcination), +*' assuming a capture rate s33_capture_rate. ***--------------------------------------------------------------------------- -q33_DAC_emi(t,regi).. - vm_emiCdrTeDetail(t,regi,"dac") +q33_ccsbal(t, regi, ccs2te(ccsCo2(enty), enty2, te)).. + sum(teCCS2rlf(te, rlf), vm_co2capture_cdr(t, regi, enty, enty2, te, rlf)) =e= - - sum(teNoTransform2rlf33("dac",rlf), - vm_capFac(t,regi,"dac") * vm_cap(t,regi,"dac",rlf) + - vm_emiCdrTeDetail(t, regi, "dac") + + s33_capture_rate * ( + sum(te_ccs33, v33_co2emi_non_atm_gas(t, regi, te_ccs33)) + + sum(te_oae33, v33_co2emi_non_atm_calcination(t, regi, te_oae33)) ) ; ***--------------------------------------------------------------------------- -*' Preparation of captured emissions to enter the CCUS chain. -*' The first part of the equation describes emissions captured from the ambient air, -*' the second part calculates the CO2 captured from the gas used for heat production -*' assuming 90% capture rate. +*' Limit the amount of H2 from biomass to the demand without CDR. +*' It's a sustainability bound to prevent a large demand for biomass. ***--------------------------------------------------------------------------- -q33_DAC_ccsbal(t,regi,ccs2te(ccsCo2(enty),enty2,te)).. - sum(teCCS2rlf(te,rlf), vm_ccs_cdr(t,regi,enty,enty2,te,rlf)) - =e= - - vm_emiCdrTeDetail(t,regi,"dac") - + (1 / pm_eta_conv(t,regi,"gash2c")) * fm_dataemiglob("pegas","seh2","gash2c","cco2") * sum(fe2cdr("fegas",entyFe2,te_used33), v33_FEdemand(t,regi,"fegas", entyFe2,te_used33)) +q33_H2bio_lim(t,regi).. + sum(pe2se("pebiolc","seh2",te), vm_prodSE(t,regi,"pebiolc","seh2",te)) + =l= + vm_prodFe(t,regi,"seh2","feh2s","tdh2s") + - sum(fe2cdr("feh2s",entyFe2,te_used33), v33_FEdemand(t,regi,"feh2s",entyFe2,te_used33)) ; +***--------------------------------------------------------------------------- +*' #### DAC equations + ***--------------------------------------------------------------------------- *' Calculation of FE demand for DAC, i.e., electricity demand for ventilation, *' and heat demand. @@ -165,6 +189,49 @@ q33_EW_LimEmi(t,regi).. =l= cm_LimRock * p33_LimRock(regi) ; - + +***--------------------------------------------------------------------------- +*' Short term bound on spreading of rock +***--------------------------------------------------------------------------- + +q33_EW_ShortTermBound(t, regi)$(t.val eq 2030).. + sum((rlf_cz33, rlf), v33_EW_onfield(t,regi,rlf_cz33,rlf)) + =l= + p33_EW_shortTermEW_Limit(regi) + ; + +***--------------------------------------------------------------------------- +*' Limits on the upscaling rate of mining and spreading of rocks. +*' Current cost parameters do not include cost of additional mining being developed, +*' thus adjustment cost are not effective. +***--------------------------------------------------------------------------- +q33_EW_upscaling_rate(ttot,regi)$(ord(ttot) lt card(ttot) AND pm_ttot_val(ttot) gt 2030).. + sum((rlf_cz33, rlf), v33_EW_onfield(ttot,regi,rlf_cz33,rlf)) + =l= + (1+p33_EW_upScalingLimit(ttot))**pm_dt(ttot) * sum((rlf_cz33, rlf), v33_EW_onfield(ttot-1,regi,rlf_cz33,rlf)) + p33_EW_shortTermEW_Limit(regi) +; + +***--------------------------------------------------------------------------- +*' #### OAE equations + +***--------------------------------------------------------------------------- +*' Calculation of FE demand for OAE, i.e., electricity for rock preprocessing, +*' and heat for calcination. +***--------------------------------------------------------------------------- +q33_OAE_FEdemand(t,regi,entyFe2,te_oae33)$sum(entyFe, fe2cdr(entyFe,entyFe2,te_oae33)).. + sum(fe2cdr(entyFe, entyFe2, te_oae33), v33_FEdemand(t, regi, entyFe, entyFe2, te_oae33)) + =e= + p33_fedem(te_oae33, entyFe2) * sm_EJ_2_TWa * (- vm_emiCdrTeDetail(t, regi, te_oae33)) + ; + +***--------------------------------------------------------------------------- +*' The CO2 captured from limestone decomposition (OAE technologies only). +***--------------------------------------------------------------------------- +q33_OAE_co2emi_non_atm_calcination(t, regi, te_oae33).. + v33_co2emi_non_atm_calcination(t, regi, te_oae33) + =e= + - s33_OAE_chem_decomposition * vm_emiCdrTeDetail(t, regi, te_oae33) + ; + *' @stop *** EOF ./modules/33_CDR/portfolio/equations.gms diff --git a/modules/33_CDR/portfolio/realization.gms b/modules/33_CDR/portfolio/realization.gms index f1e171644..e332585f4 100644 --- a/modules/33_CDR/portfolio/realization.gms +++ b/modules/33_CDR/portfolio/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -14,6 +14,7 @@ *' electricity and 21.12 EJ/Gt C (* 12 Gt C/44 Gt CO2) = 5,76 GJ/tCO2 (*10^6 kJ / GJ * 1h/3600s) = 1600 kWh/tCO2 *' low-temperature heat demand. The heat can be provided via district heat, electricity, gas, or H2. If gas is used, *' the resulting CO2 is captured with a capture rate of 90%. +*' *' (EW) Basalt is mined and ground to fine grain sizes (specified in cm_gs_ew, by default 20 µm), and then spread *' on crop fields where it weathers in reaction with water and atmospheric CO2. Electricity is needed to grind the *' rocks and diesel is needed for transportation and spreading on crop fields. The weathering process leads to an exponential @@ -22,6 +23,17 @@ *' limit of the amount of rock spread each year can be set in cm_LimRock. Costs consist of costs for capital, O&M, *' distribution and transport (grades depend on region specific transport distance from mine to fields). *' +*' (OAE) Ocean alkalinity enhancement via ocean liming draws down CO2 from the atmosphere by adding (hydrated) lime +*' to the coastal or open ocean. Calcination process, which involves heating limestone to typically around 900-1000°C, +*' results in lime (CaO) and CO2. The CO2 from the process as well as burning gas (if used for fueling the calciner) +*' is assumed to be captured with a capture rate of 90%. The steps required to produce hydrated lime for ocean liming, +*' including limestone extraction, comminution, calcination, and hydration, are already well-established and used at a +*' large scale in the cement industry. Two options for ocean liming are parametrized: obtaining lime using a traditional +*' calciner fueled by natural gas and a novel calciner that can be fueled by either electricity or hydrogen. The efficiency +*' of the method depends on exogenous parameter cm_33_OAE_eff and distribution scenario (which can be optimistic or +*' pesimistic depending on the discharge rate, e.g., how hard it is to avoid precipitation when distributing the alkaline +*' material). +*' *' Equations for each option determine the capacity, emissions, energy demand, costs and limits. ***---------------------------------------------------- diff --git a/modules/33_CDR/portfolio/sets.gms b/modules/33_CDR/portfolio/sets.gms index 3c9adbbf6..1d8fcd57d 100644 --- a/modules/33_CDR/portfolio/sets.gms +++ b/modules/33_CDR/portfolio/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -11,10 +11,14 @@ te_all33(all_te) "all CDR technologies" / weathering "enhanced weathering" dac "direct air capture" + oae_ng "ocean akalinity ehnacement via ocean liming using a traditional calciner" + oae_el "ocean akalinity ehnacement via ocean liming using a novel calciner technology" / te_used33(all_te) "used CDR technologies (specified by switches)" +te_oae33(all_te) "OAE technologies used" + teNoTransform33(all_te) "used CDR technologies that do not transform energy but still have investment and O&M costs (like storage or grid)" teNoTransform2rlf33(all_te,rlf) "mapping for final energy to grades (used CDR technologies)" @@ -32,8 +36,18 @@ fe2cdr(all_enty,all_enty,all_te) "mapping of FE carriers supplying FE demand for feels.fehes.dac feh2s.fehes.dac fegas.fehes.dac + feels.feels.weathering fedie.fedie.weathering + + feels.feels.oae_ng + fedie.fedie.oae_ng + fegas.fehes.oae_ng + + feels.feels.oae_el + fedie.fedie.oae_el + feels.fehes.oae_el + feh2s.fehes.oae_el / rlf_cz33(rlf) "representing weathering rates depending on climate zones according to Strefler, Amann et al. (2017)" @@ -62,6 +76,16 @@ if(cm_33EW eq 1, teNoTransform2rlf33("weathering", "1") = YES; ); +if(cm_33OAE eq 1, + te_oae33("oae_ng") = YES; + te_oae33("oae_el") = YES; + te_used33(te_oae33) = YES; + teNoTransform33(te_oae33) = YES; + teNoTransform2rlf33(te_oae33, "1") = YES; + teAdj33(te_oae33) = YES; + te_ccs33(te_oae33) = YES; +); + ***------------------------------------------------------------------------- *** add module specific sets and mappings to the global sets and mappings ***------------------------------------------------------------------------- diff --git a/modules/35_transport/edge_esm/datainput.gms b/modules/35_transport/edge_esm/datainput.gms index e33ebd55c..acc9e2c27 100644 --- a/modules/35_transport/edge_esm/datainput.gms +++ b/modules/35_transport/edge_esm/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -19,7 +19,7 @@ parameters p35_esCapCost(tall,all_regi,all_GDPscen,all_demScen,EDGE_scenario_all,all_teEs) "Capital costs for the transport system [$/pkm or $/tkm]" / $ondelim -$include "./modules/35_transport/edge_esm/input/esCapCost.cs4r" +$include "./modules/35_transport/edge_esm/input/f35_esCapCost.cs4r" $offdelim / @@ -33,14 +33,14 @@ $offdelim p35_fe2es(tall,all_regi,all_GDPscen,all_demScen,EDGE_scenario_all,all_teEs) "Aggregate energy efficiency of transport fuel technologies [trn pkm/Twa or trn tkm/Twa]" / $ondelim -$include "./modules/35_transport/edge_esm/input/fe2es.cs4r" +$include "./modules/35_transport/edge_esm/input/f35_fe2es.cs4r" $offdelim / p35_demByTech(tall,all_regi,all_GDPscen,all_demScen,EDGE_scenario_all,all_enty,all_in,all_teEs) "Aggregate FE Demand per transport fuel technology [TWa]" / $ondelim -$include "./modules/35_transport/edge_esm/input/fe_demand_tech.cs4r" +$include "./modules/35_transport/edge_esm/input/f35_demByTech.cs4r" $offdelim / diff --git a/modules/35_transport/edge_esm/declarations.gms b/modules/35_transport/edge_esm/declarations.gms index cd7f5c7c0..4c73d2976 100644 --- a/modules/35_transport/edge_esm/declarations.gms +++ b/modules/35_transport/edge_esm/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/35_transport/edge_esm/equations.gms b/modules/35_transport/edge_esm/equations.gms index 55889fe29..12609abac 100644 --- a/modules/35_transport/edge_esm/equations.gms +++ b/modules/35_transport/edge_esm/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/35_transport/edge_esm/input/files b/modules/35_transport/edge_esm/input/files index c516adc80..cec63a874 100644 --- a/modules/35_transport/edge_esm/input/files +++ b/modules/35_transport/edge_esm/input/files @@ -1,13 +1,11 @@ -UCD_NEC_iso.cs4r -esCapCost.cs4r -fe2es.cs4r -fe_demand_tech.cs4r -harmonized_intensities.cs4r -pref.cs4r -logit_exponent.cs4r -price_nonmot.cs4r -value_time.cs4r -loadFactor.cs4r -annual_mileage.cs4r -ptab4W.cs4r f35_transportGDPshare.cs4r +f35_esCapCost.cs4r +f35_fe2es.cs4r +f35_demByTech.cs4r +CAPEXandNonFuelOPEX.cs4r +scenSpecPrefTrends.cs4r +scenSpecLoadFactor.cs4r +scenSpecEnIntensity.cs4r +initialIncoCosts.cs4r +annualMileage.cs4r +timeValueCosts.cs4r diff --git a/modules/35_transport/edge_esm/not_used.txt b/modules/35_transport/edge_esm/not_used.txt index ad14a32d8..85ff9312e 100644 --- a/modules/35_transport/edge_esm/not_used.txt +++ b/modules/35_transport/edge_esm/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/35_transport/edge_esm/output.gms b/modules/35_transport/edge_esm/output.gms index 6ff8ee72e..d02e0241f 100644 --- a/modules/35_transport/edge_esm/output.gms +++ b/modules/35_transport/edge_esm/output.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -7,7 +7,7 @@ *** SOF ./modules/35_transport/edge_esm/output.gms $ifthen.calibrate %CES_parameters% == "load" - Execute "Rscript -e 'edgeTransport::toolIterativeEDGETransport(reporting=TRUE)'"; + Execute "Rscript -e 'edgeTransport::iterativeEdgeTransport()'"; $endif.calibrate *** EOF ./modules/35_transport/edge_esm/output.gms diff --git a/modules/35_transport/edge_esm/postsolve.gms b/modules/35_transport/edge_esm/postsolve.gms index db50519ff..176f7fc64 100644 --- a/modules/35_transport/edge_esm/postsolve.gms +++ b/modules/35_transport/edge_esm/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/35_transport/edge_esm/presolve.gms b/modules/35_transport/edge_esm/presolve.gms index e5b7a1ae0..6e16e1050 100644 --- a/modules/35_transport/edge_esm/presolve.gms +++ b/modules/35_transport/edge_esm/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -10,10 +10,10 @@ if( (ord(iteration) le 25 and ord(iteration) ge cm_startIter_EDGET and (mod(ord( or (ord(iteration) le 45 and ord(iteration) gt 25 and (mod(ord(iteration), 5) eq 0)) or (ord(iteration) gt 45 and (mod(ord(iteration), 8) eq 0)), - Execute "Rscript -e 'edgeTransport::toolIterativeEDGETransport()'"; + Execute "Rscript -e 'edgeTransport::iterativeEdgeTransport()'"; Execute_Loadpoint 'p35_esCapCost' p35_esCapCost; - pm_esCapCost(t,regi,teEs_dyn35)$(t.val gt 2010 AND t.val ge cm_startyear AND t.val le 2100) = p35_esCapCost(t,regi,"%cm_GDPscen%","%cm_demScen%","%cm_EDGEtr_scen%",teEs_dyn35); + pm_esCapCost(t,regi,teEs_dyn35)$(t.val gt 2010 AND t.val le 2100) = p35_esCapCost(t,regi,"%cm_GDPscen%","%cm_demScen%","%cm_EDGEtr_scen%",teEs_dyn35); !! load FE-to-ES results from EDGE-Transport into auxilliary parameter Execute_Loadpoint "p35_fe2es", p35_fe2es_aux = p35_fe2es; diff --git a/modules/35_transport/edge_esm/realization.gms b/modules/35_transport/edge_esm/realization.gms index 3d3331335..3af8e8c81 100644 --- a/modules/35_transport/edge_esm/realization.gms +++ b/modules/35_transport/edge_esm/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/35_transport/edge_esm/sets.gms b/modules/35_transport/edge_esm/sets.gms index 8438861ce..62902f5b8 100644 --- a/modules/35_transport/edge_esm/sets.gms +++ b/modules/35_transport/edge_esm/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -118,24 +118,15 @@ ces_transport_dyn35(all_in,all_in) "CES tree structure - edge transport" EDGE_scenario_all "EDGE-T scenarios" / -ConvCase -ConvCaseWise -ElecEra -ElecEraWise -HydrHype -HydrHype4 -HydrHypeWise -Mix -MixWise -Mix1Wise -Mix2Wise -Mix3Wise -Mix4Wise Mix1 +Mix1ICEban Mix2 +Mix2ICEban Mix3 +Mix3ICEban Mix4 -PhOP +Mix4ICEban +HydrHype4 ECEMF_HighEl_HighEff ECEMF_HighEl_ModEff ECEMF_HighEl_LifestCha @@ -149,6 +140,7 @@ NAV_lce NAV_all CAMP_lscWeak CAMP_lscStrong +CAMP_lscLow / EDGE_scenario(EDGE_scenario_all) "Selected EDGE-T scenario" diff --git a/modules/35_transport/module.gms b/modules/35_transport/module.gms index 9d902bc88..af8f91102 100644 --- a/modules/35_transport/module.gms +++ b/modules/35_transport/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/36_buildings/module.gms b/modules/36_buildings/module.gms index 731398851..4b790bac3 100644 --- a/modules/36_buildings/module.gms +++ b/modules/36_buildings/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/36_buildings/simple/bounds.gms b/modules/36_buildings/simple/bounds.gms index cb23bbc10..074b44595 100644 --- a/modules/36_buildings/simple/bounds.gms +++ b/modules/36_buildings/simple/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/36_buildings/simple/datainput.gms b/modules/36_buildings/simple/datainput.gms index 6ac984542..95b38a4e6 100644 --- a/modules/36_buildings/simple/datainput.gms +++ b/modules/36_buildings/simple/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -57,6 +57,16 @@ $offdelim ; p36_uedemand_build(ttot,regi,in) = f36_uedemand_build(ttot,regi,"%cm_demScen%","%cm_rcp_scen_build%",in); +*** Scale UE demand and floor space in the building sector +$ifthen.scaleDemand not "%cm_scaleDemand%" == "off" + loop((tall,tall2,regi) $ pm_scaleDemand(tall,tall2,regi), +*FL* rescaled demand = normal demand * [ scaling factor + (1-scaling factor) * remaining phase-in, between zero and one ] + p36_uedemand_build(t,regi,in) = p36_uedemand_build(t,regi,in) * ( pm_scaleDemand(tall,tall2,regi) + (1-pm_scaleDemand(tall,tall2,regi)) * min(1, max(0, tall2.val-t.val) / (tall2.val-tall.val)) ); +*RH* We assume that the reduction in final energy demand is only partially driven by floor space reduction (exponent 0.3). + p36_floorspace(t,regi) = p36_floorspace(t,regi) * ( pm_scaleDemand(tall,tall2,regi)**0.3 + (1-pm_scaleDemand(tall,tall2,regi)**0.3) * min(1, max(0, tall2.val-t.val) / (tall2.val-tall.val)) ); + ); +$endif.scaleDemand + *** scale default elasticity of substitution on enb level $IFTHEN.cm_enb not "%cm_enb%" == "off" @@ -110,10 +120,10 @@ p36_CESMkup(ttot,regi,in) = 0; *' mark-up cost on heat pumps and district heating are incurred as actual cost to the budget (see option (a) above) *' place markup cost on heat pumps electricity of 200 USD/MWh(el) to represent demand-side cost of electrification *' and reach higher efficiency during calibration to model higher energy efficiency of heat pumps -p36_CESMkup(ttot,regi,"feelhpb") = 200 * sm_TWa_2_MWh * 1e-12; +p36_CESMkup(ttot,regi,"feelhpb") = 200 * sm_D2005_2_D2017 * sm_TWa_2_MWh * 1e-12; *' place markup cost on district heating of 25 USD/MWh(heat) to represent additional t&d cost of expanding district heating networks for buildings *' which makes district heating in buildings more expensive than in industry -p36_CESMkup(ttot,regi,"feheb") = 25 * sm_TWa_2_MWh * 1e-12; +p36_CESMkup(ttot,regi,"feheb") = 25 * sm_D2005_2_D2017 * sm_TWa_2_MWh * 1e-12; *' overwrite or extent CES markup cost if specified by switch $ifThen.CESMkup not "%cm_CESMkup_build%" == "standard" diff --git a/modules/36_buildings/simple/declarations.gms b/modules/36_buildings/simple/declarations.gms index f1b34c9b7..ec0df72c8 100644 --- a/modules/36_buildings/simple/declarations.gms +++ b/modules/36_buildings/simple/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/36_buildings/simple/equations.gms b/modules/36_buildings/simple/equations.gms index 92853d441..c2c640915 100644 --- a/modules/36_buildings/simple/equations.gms +++ b/modules/36_buildings/simple/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -65,7 +65,7 @@ q36_auxCostAddTeInv(t,regi).. *' Hydrogen fe share in buildings gases use (natural gas + hydrogen) -q36_H2Share(t,regi).. +q36_H2Share(t,regi)$(t.val ge 2020).. v36_H2share(t,regi) * sum(se2fe(entySe,entyFe,te)$(SAMEAS(entyFe,"feh2s") OR SAMEAS(entyFe,"fegas")), diff --git a/modules/36_buildings/simple/not_used.txt b/modules/36_buildings/simple/not_used.txt index ad14a32d8..85ff9312e 100644 --- a/modules/36_buildings/simple/not_used.txt +++ b/modules/36_buildings/simple/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/36_buildings/simple/postsolve.gms b/modules/36_buildings/simple/postsolve.gms index d519e7f43..7d86c2393 100644 --- a/modules/36_buildings/simple/postsolve.gms +++ b/modules/36_buildings/simple/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/36_buildings/simple/realization.gms b/modules/36_buildings/simple/realization.gms index 50768e11b..8b4e99410 100644 --- a/modules/36_buildings/simple/realization.gms +++ b/modules/36_buildings/simple/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/36_buildings/simple/sets.gms b/modules/36_buildings/simple/sets.gms index 8c44a6714..78b6ea5db 100644 --- a/modules/36_buildings/simple/sets.gms +++ b/modules/36_buildings/simple/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/fixed_shares/bounds.gms b/modules/37_industry/fixed_shares/bounds.gms index 79474f5fd..24341db95 100644 --- a/modules/37_industry/fixed_shares/bounds.gms +++ b/modules/37_industry/fixed_shares/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/fixed_shares/datainput.gms b/modules/37_industry/fixed_shares/datainput.gms index 0c916cf2d..a40f175c5 100644 --- a/modules/37_industry/fixed_shares/datainput.gms +++ b/modules/37_industry/fixed_shares/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -61,7 +61,7 @@ $offdelim $include "./modules/37_industry/fixed_shares/input/pm_abatparam_Ind.gms"; $IFTHEN.Industry_CCS_markup not "%cm_Industry_CCS_markup%" == "off" - pm_abatparam_Ind(ttot,regi,all_enty,steps)$pm_abatparam_Ind(ttot,regi,all_enty,steps) = (1/%cm_Industry_CCS_markup%)*pm_abatparam_Ind(ttot,regi,all_enty,steps); + pm_abatparam_Ind(ttot,regi,all_enty,steps)$pm_abatparam_Ind(ttot,regi,all_enty,steps) = (1/%cm_Industry_CCS_markup%)*pm_abatparam_Ind(ttot,regi,all_enty,steps); $ENDIF.Industry_CCS_markup *** fill in share of other industry sector diff --git a/modules/37_industry/fixed_shares/declarations.gms b/modules/37_industry/fixed_shares/declarations.gms index 213298113..af6204096 100644 --- a/modules/37_industry/fixed_shares/declarations.gms +++ b/modules/37_industry/fixed_shares/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -14,7 +14,7 @@ scalars ; Parameters - pm_abatparam_Ind(ttot,all_regi,all_enty,steps) "industry CCS MAC curves [ratio @ US$2005]" + pm_abatparam_Ind(ttot,all_regi,all_enty,steps) "industry CCS MAC curves [ratio @ US$2017]" pm_ue_eff_target(all_in) "energy efficiency target trajectories [% p.a.]" @@ -31,7 +31,7 @@ Parameters o37_demFeIndSub(ttot,all_regi,all_enty,all_enty,secInd37,all_emiMkt) "FE demand per industry subsector, FE carrier, SE carrier, emissions market" !! empty parameters from subsectors - pm_energy_limit(all_in) "" / / + pm_energy_limit(all_in) "empty parameter" / / p37_CESMkup_input(all_in) "markup cost parameter read in from config for CES levels in industry to influence demand-side cost and efficiencies in CES tree [trUSD/CES input]" / diff --git a/modules/37_industry/fixed_shares/equations.gms b/modules/37_industry/fixed_shares/equations.gms index 39ca17845..96f8ef350 100644 --- a/modules/37_industry/fixed_shares/equations.gms +++ b/modules/37_industry/fixed_shares/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/fixed_shares/input/pm_abatparam_Ind.gms b/modules/37_industry/fixed_shares/input/pm_abatparam_Ind.gms index 5e20e62bb..5d2110b44 100644 --- a/modules/37_industry/fixed_shares/input/pm_abatparam_Ind.gms +++ b/modules/37_industry/fixed_shares/input/pm_abatparam_Ind.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -17,15 +17,15 @@ $endif !! short-term (until 2025) if (ttot.val le 2025, - pm_abatparam_Ind(ttot,regi,"co2cement",steps)$( sm_tmp ge 95 ) = 0.63; - pm_abatparam_Ind(ttot,regi,"co2cement",steps)$( sm_tmp ge 133 ) = 0.756; + pm_abatparam_Ind(ttot,regi,"co2cement",steps)$( sm_tmp ge sm_D2005_2_D2017 * 95 ) = 0.63; + pm_abatparam_Ind(ttot,regi,"co2cement",steps)$( sm_tmp ge sm_D2005_2_D2017 *133 ) = 0.756; - pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge 78 ) = 0.121; - pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge 80 ) = 0.572; + pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge sm_D2005_2_D2017 *78 ) = 0.121; + pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge sm_D2005_2_D2017 *80 ) = 0.572; $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "ces" - pm_abatparam_Ind(ttot,regi,"co2steel",steps)$( sm_tmp ge 59 ) = 0.117; - pm_abatparam_Ind(ttot,regi,"co2steel",steps)$( sm_tmp ge 82 ) = 0.234; + pm_abatparam_Ind(ttot,regi,"co2steel",steps)$( sm_tmp ge sm_D2005_2_D2017 *59 ) = 0.117; + pm_abatparam_Ind(ttot,regi,"co2steel",steps)$( sm_tmp ge sm_D2005_2_D2017 *82 ) = 0.234; $endif.cm_subsec_model_steel !! long-term (from 2030 on) @@ -43,16 +43,16 @@ $endif.cm_subsec_model_steel = max(0, min(0.95, 0.2159 + 0.1365 * log(sm_tmp))); else - pm_abatparam_Ind(ttot,regi,"co2cement",steps)$( sm_tmp ge 54 ) = 0.702; - pm_abatparam_Ind(ttot,regi,"co2cement",steps)$( sm_tmp ge 133 ) = 0.756; + pm_abatparam_Ind(ttot,regi,"co2cement",steps)$( sm_tmp ge sm_D2005_2_D2017 * 54 ) = 0.702; + pm_abatparam_Ind(ttot,regi,"co2cement",steps)$( sm_tmp ge sm_D2005_2_D2017 * 133 ) = 0.756; - pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge 46 ) = 0.363; - pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge 78 ) = 0.484; - pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge 80 ) = 0.572; + pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge sm_D2005_2_D2017 * 46 ) = 0.363; + pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge sm_D2005_2_D2017 * 78 ) = 0.484; + pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge sm_D2005_2_D2017 *80 ) = 0.572; $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "ces" - pm_abatparam_Ind(ttot,regi,"co2steel",steps)$( sm_tmp ge 48 ) = 0.117; - pm_abatparam_Ind(ttot,regi,"co2steel",steps)$( sm_tmp ge 62 ) = 0.275; + pm_abatparam_Ind(ttot,regi,"co2steel",steps)$( sm_tmp ge sm_D2005_2_D2017 *48 ) = 0.117; + pm_abatparam_Ind(ttot,regi,"co2steel",steps)$( sm_tmp ge sm_D2005_2_D2017 *62 ) = 0.275; $endif.cm_subsec_model_steel ); ); diff --git a/modules/37_industry/fixed_shares/not_used.txt b/modules/37_industry/fixed_shares/not_used.txt index 2073258d5..3082cb3c0 100644 --- a/modules/37_industry/fixed_shares/not_used.txt +++ b/modules/37_industry/fixed_shares/not_used.txt @@ -1,35 +1,38 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name, type, reason -pm_delta_kap, input, questionnaire +cm_emiscen, parameter, not needed pm_calibrate_eff_scale, parameter, not needed +pm_delta_kap, input, questionnaire +pm_emifacNonEnergy, parameter, not needed +pm_exogDemScen, input, added by codeCheck pm_fedemand, parameter, not needed -sm_TWa_2_MWh, input, questionnaire -sm_giga_2_non, input, not needed -sm_EJ_2_TWa, input, not needed -sm_tmp2, parameter, not needed -vm_cap, variable, not needed -vm_capFac, variable, not needed -pm_tau_ces_tax, input, questionnaire +pm_incinerationRate, parameter, not needed +pm_outflowPrcHist, parameter, not needed pm_secBioShare, parameter, not needed -pm_exogDemScen, input, added by codeCheck -pm_ts, parameter, not needed -pm_outflowPrcIni, parameter, not needed pm_specFeDem, parameter, not needed +pm_tau_ces_tax, input, questionnaire +pm_ts, parameter, not needed +sm_EJ_2_TWa, input, not needed +sm_giga_2_non, input, not needed sm_macChange, parameter, not needed -vm_demFENonEnergySector, variable, not needed +sm_tmp2, parameter, not needed +sm_TWa_2_MWh, input, questionnaire v37_FeedstocksCarbon, variable, not needed v37_plasticsCarbon, variable, not needed v37_plasticWaste, variable, not needed +vm_capFac, variable, not needed +vm_cap, variable, not needed +vm_costMatPrc, variable, not needed +vm_demFENonEnergySector, variable, not needed vm_feedstockEmiUnknownFate, variable, not needed +vm_incinerationCCS, variable, does not want to play vm_incinerationEmi, variable, not needed vm_nonIncineratedPlastics, variable, not needed vm_outflowPrc, variable, not needed -vm_costMatPrc, variable, not needed -pm_emifacNonEnergy, parameter, not needed -pm_incinerationRate, parameter, not needed -cm_emiscen, parameter, not needed +sm_D2020_2_D2017,input,no conversion needed +sm_EURO2023_2_D2017,input,no conversion needed diff --git a/modules/37_industry/fixed_shares/output.gms b/modules/37_industry/fixed_shares/output.gms index 71c907c57..10ec2198d 100644 --- a/modules/37_industry/fixed_shares/output.gms +++ b/modules/37_industry/fixed_shares/output.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/fixed_shares/postsolve.gms b/modules/37_industry/fixed_shares/postsolve.gms index 025b91368..bc0d0f16c 100644 --- a/modules/37_industry/fixed_shares/postsolve.gms +++ b/modules/37_industry/fixed_shares/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/fixed_shares/preloop.gms b/modules/37_industry/fixed_shares/preloop.gms index 9a9baab52..46a3f5823 100644 --- a/modules/37_industry/fixed_shares/preloop.gms +++ b/modules/37_industry/fixed_shares/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/fixed_shares/presolve.gms b/modules/37_industry/fixed_shares/presolve.gms index efc399662..1e638b3d8 100644 --- a/modules/37_industry/fixed_shares/presolve.gms +++ b/modules/37_industry/fixed_shares/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/fixed_shares/realization.gms b/modules/37_industry/fixed_shares/realization.gms index 949f2700e..560810cbb 100644 --- a/modules/37_industry/fixed_shares/realization.gms +++ b/modules/37_industry/fixed_shares/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/fixed_shares/sets.gms b/modules/37_industry/fixed_shares/sets.gms index 7488c4dd7..f13fda08e 100644 --- a/modules/37_industry/fixed_shares/sets.gms +++ b/modules/37_industry/fixed_shares/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -142,11 +142,11 @@ Sets / !! empty sets for subsectors compatibility - industry_ue_calibration_target_dyn37(all_in) "" / / - ppfKap_industry_dyn37(all_in) "" / / - ue_industry_dyn37(all_in) "" / / - ces_eff_target_dyn37(all_in,all_in) "" / / - pf_industry_relaxed_bounds_dyn37(all_in) "" / / + industry_ue_calibration_target_dyn37(all_in) "empty set" / / + ppfKap_industry_dyn37(all_in) "empty set" / / + ue_industry_dyn37(all_in) "empty set" / / + ces_eff_target_dyn37(all_in,all_in) "empty set" / / + pf_industry_relaxed_bounds_dyn37(all_in) "empty set" / / ; *** add module specific sets and mappings to the global sets and mappings diff --git a/modules/37_industry/module.gms b/modules/37_industry/module.gms index 3960b0433..bda9b940e 100644 --- a/modules/37_industry/module.gms +++ b/modules/37_industry/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/subsectors/bounds.gms b/modules/37_industry/subsectors/bounds.gms index 029e0b8ff..97d16703d 100755 --- a/modules/37_industry/subsectors/bounds.gms +++ b/modules/37_industry/subsectors/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -118,7 +118,7 @@ vm_cesIO.lo(t,regi_dyn29(regi),in_industry_dyn37(in))$( *' higher) of baseline solids *' Cement CCS might otherwise become a compelling BioCCS option under very high *' carbon prices due to missing adjustment costs. -if (cm_startyear gt 2005, !! not a baeline or NPi scenario +if (cm_startyear gt 2005, !! not a baseline or NPi scenario vm_demFeSector_afterTax.up(t,regi,"sesobio","fesos","indst","ETS") = max(0.25 , smax(t2, pm_secBioShare(t2,regi,"fesos","indst") ) ) * p37_BAU_industry_ETS_solids(t,regi); @@ -133,25 +133,15 @@ $ifthen.policy_scenario "%cm_indstExogScen_set%" == "YES" $endif.policy_scenario $drop cm_indstExogScen_set +v37_regionalWasteIncinerationCCSshare.lo(t,regi) = 0.; +v37_regionalWasteIncinerationCCSshare.up(t,regi) = p37_regionalWasteIncinerationCCSMaxShare(t,regi); $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" !! fix processes procudction in historic years if (cm_startyear eq 2005, - loop(regi, - loop(tePrc2opmoPrc(tePrc,opmoPrc), - vm_outflowPrc.fx("2005",regi,tePrc,opmoPrc) = pm_outflowPrcIni(regi,tePrc,opmoPrc); + loop((ttot,regi,tePrc2opmoPrc(tePrc,opmoPrc))$(ttot.val ge 2005 AND ttot.val le 2020), + vm_outflowPrc.fx(ttot,regi,tePrc,opmoPrc) = pm_outflowPrcHist(ttot,regi,tePrc,opmoPrc); ); - ); - - loop(regi, - loop(ttot$(ttot.val ge 2005 AND ttot.val le 2020), - vm_outflowPrc.fx(ttot,regi,"eaf","pri") = 0.; - vm_outflowPrc.fx(ttot,regi,"idr","ng") = 0.; - vm_outflowPrc.fx(ttot,regi,"idr","h2") = 0.; - vm_outflowPrc.fx(ttot,regi,"bfcc","standard") = 0.; - vm_outflowPrc.fx(ttot,regi,"idrcc","ng") = 0.; - ); - ); ); !! Switch to turn off steel CCS @@ -173,7 +163,7 @@ $endif.fixedUE_scenario *** fix plastic waste to zero until 2010, and possible to reference scenario *** values between 2015 and cm_startyear -v37_plasticWaste.fx(t,regi,entySe,entyFe,emiMkt)$( +v37_plasticWaste.fx(t,regi,entySe,entyFe,emiMkt)$( t.val lt max(2015, cm_startyear) AND sefe(entySe,entyFe) AND entyFE2sector2emiMkt_NonEn(entyFe,"indst",emiMkt) ) diff --git a/modules/37_industry/subsectors/datainput.gms b/modules/37_industry/subsectors/datainput.gms index 9e5e20692..49f5cc39c 100644 --- a/modules/37_industry/subsectors/datainput.gms +++ b/modules/37_industry/subsectors/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -144,8 +144,9 @@ loop (industry_ue_calibration_target_dyn37(out), ); ); - loop (regi_group(ext_regi,regi)$( - smax(ttot, p37_energy_limit_def(ttot,ext_regi,out)) ne 0 ), + loop ((ext_regi,regi)$( + (sameas(regi,ext_regi) OR regi_group(ext_regi,regi)) + AND smax(ttot, p37_energy_limit_def(ttot,ext_regi,out)) ne 0 ), !! maximum "efficiency gain", from 2015 baseline value to theoretical limit sm_tmp2 = smax(ttot, p37_energy_limit_def(ttot,ext_regi,out)); !! period in which closing could be achieved @@ -153,8 +154,14 @@ loop (industry_ue_calibration_target_dyn37(out), !! calculate slope p37_energy_limit_slope(ttot,regi,out)$( ttot.val ge 2015 ) - = ( ( sum(ces_eff_target_dyn37(out,in), p37_cesIO_baseline("2015",regi,in)) - / p37_cesIO_baseline("2015",regi,out) + = ( max( + !! use the larger of 2015/2020 specific energy demand + ( sum(ces_eff_target_dyn37(out,in), p37_cesIO_baseline("2015",regi,in)) + / p37_cesIO_baseline("2015",regi,out) + ), + ( sum(ces_eff_target_dyn37(out,in), p37_cesIO_baseline("2020",regi,in)) + / p37_cesIO_baseline("2020",regi,out) + ) ) - pm_energy_limit(out) ) @@ -168,14 +175,15 @@ loop (industry_ue_calibration_target_dyn37(out), = min( p37_energy_limit_slope(ttot,regi,out), ( 0.95 - * ( sum(ces_eff_target_dyn37(out,in), p37_cesIO_baseline(ttot,regi,in)) + * ( sum(ces_eff_target_dyn37(out,in), + p37_cesIO_baseline(ttot,regi,in) + ) / p37_cesIO_baseline(ttot,regi,out) ) ) ); ); ); - display p37_energy_limit_def, p37_energy_limit_slope; $endif.no_calibration @@ -562,11 +570,11 @@ execute_load "input_ref.gdx", vm_demFeSector_afterTax; * Define carbon capture and storage share in waste incineration emissions * capture rate increases linearly from zero in 2025 to value the set in the switch for the defined year, and it is kept constant for years afterwards -p37_regionalWasteIncinerationCCSshare(ttot,all_regi) = 0; +p37_regionalWasteIncinerationCCSMaxShare(ttot,all_regi) = 0; $ifthen.cm_wasteIncinerationCCSshare not "%cm_wasteIncinerationCCSshare%" == "off" -loop((ttot,ext_regi)$p37_wasteIncinerationCCSshare(ttot,ext_regi), +loop((ttot,ext_regi)$p37_wasteIncinerationCCSMaxShare(ttot,ext_regi), loop(regi$regi_groupExt(ext_regi,regi), - p37_regionalWasteIncinerationCCSshare(t,regi)$((t.val gt 2025)) = min(p37_wasteIncinerationCCSshare(ttot,ext_regi), (p37_wasteIncinerationCCSshare(ttot,ext_regi)/(ttot.val - 2025))*(t.val-2025)); + p37_regionalWasteIncinerationCCSMaxShare(t,regi)$((t.val gt 2025)) = min(p37_wasteIncinerationCCSMaxShare(ttot,ext_regi), (p37_wasteIncinerationCCSMaxShare(ttot,ext_regi)/(ttot.val - 2025))*(t.val-2025)); ); ); $endIf.cm_wasteIncinerationCCSshare @@ -643,6 +651,38 @@ $endif.cm_subsec_model_steel *** -------------------------------- +p37_ue_share(all_enty,all_in) = 0.; +$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" +p37_ue_share("sesteel","ue_steel_secondary") = 1.; +p37_ue_share("prsteel","ue_steel_primary") = 1.; +$endif.cm_subsec_model_steel +loop(ppfUePrc(in), + if(abs(sum(mat,p37_ue_share(mat,in))-1.) gt sm_eps, + display p37_ue_share; + abort "p37_ue_share must add to one for each ue"; + ); +); + +*** -------------------------------- +p37_teMatShareHist(tePrc,opmoPrc,mat) = 0.; +$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" +p37_teMatShareHist("bof","unheated","prsteel") = 1.; +p37_teMatShareHist("eaf","sec","sesteel") = 1.; +$endif.cm_subsec_model_steel +loop(matFin(mat), + if(abs(sum((tePrc,opmoPrc),p37_teMatShareHist(tePrc,opmoPrc,mat))-1.) gt sm_eps, + display p37_teMatShareHist; + abort "p37_teMatShareHist must add to one for each matFin"; + ); +); +if(sum((tePrc,opmoPrc,mat)$(not matFin(mat)), p37_teMatShareHist(tePrc,opmoPrc,mat)) gt sm_eps, + display p37_teMatShareHist; + abort "p37_teMatShareHist must only be non-zero for matFin"; +); +*** -------------------------------- +s37_shareHistFeDemPenalty = 0.6; +*** -------------------------------- + p37_captureRate(all_te) = 0.; p37_selfCaptureRate(all_te) = 0.; $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" @@ -657,75 +697,89 @@ $endif.cm_subsec_model_steel p37_priceMat(all_enty) = 0.; $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" !! IEA STeel Roadmap Fig 1.3 Caption: Scrap price 200-300 $/t -!! => take 250 $/t, inflation 2005 --> 2020 / 1.33 -p37_priceMat("eafscrap") = 0.188; -p37_priceMat("bofscrap") = 0.188; -!! Agora KSV-Rechner: 114 €/tSteel / (1.4 2005$/2023€) / (tn$ /bn t) -p37_priceMat("ironore") = 0.081; -!! Agora KSV-Rechner: 154 €/tSteel / (1.4 2005$/2023€) / (tn$ /bn t) -p37_priceMat("dripell") = 0.110; +!! => take 250 $/t, unit 2020$US +p37_priceMat("eafscrap") = sm_D2020_2_D2017 * 0.250 ; +p37_priceMat("bofscrap") = sm_D2020_2_D2017 * 0.250; +!! Agora KSV-Rechner: 114 €2023/tSteel / (tn$ /bn t) +p37_priceMat("ironore") = sm_EURO2023_2_D2017 * 0.114; +!! Agora KSV-Rechner: 154 €2023/tSteel / (tn$ /bn t) +p37_priceMat("dripell") = sm_EURO2023_2_D2017 * 0.154; $endif.cm_subsec_model_steel *** -------------------------------- pm_specFeDem(tall,all_regi,all_enty,all_te,opmoPrc) = 0.; -pm_outflowPrcIni(all_regi,all_te,opmoPrc) = 0.; -$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" +pm_outflowPrcHist(tall,all_regi,all_te,opmoPrc) = 0.; +p37_matFlowHist(tall,all_regi,mat) = 0.; if (cm_startyear eq 2005, - pm_outflowPrcIni(regi,"bof","unheated") = pm_fedemand("2005",regi,"ue_steel_primary"); - pm_outflowPrcIni(regi,"bf","standard") = p37_specMatDem("pigiron","bof","unheated") * pm_outflowPrcIni(regi,"bof","unheated"); - pm_outflowPrcIni(regi,"eaf","sec") = pm_fedemand("2005",regi,"ue_steel_secondary"); - pm_outflowPrcIni(regi,"eaf","pri") = 0.; - pm_outflowPrcIni(regi,"idr","ng") = 0.; - pm_outflowPrcIni(regi,"idr","h2") = 0.; - pm_outflowPrcIni(regi,"bfcc","standard") = 0.; - pm_outflowPrcIni(regi,"idrcc","ng") = 0.; - loop(ttot$(ttot.val ge 2005 AND ttot.val le 2020), - pm_specFeDem(ttot,regi,"feh2s","idr","h2") = p37_specFeDemTarget("feh2s","idr","h2"); - pm_specFeDem(ttot,regi,"feels","idr","h2") = p37_specFeDemTarget("feels","idr","h2"); - pm_specFeDem(ttot,regi,"fegas","idr","ng") = p37_specFeDemTarget("fegas","idr","ng"); - pm_specFeDem(ttot,regi,"feels","idr","ng") = p37_specFeDemTarget("feels","idr","ng"); + !! 2nd stage tech + loop(mat2ue(mat,in), + p37_matFlowHist(ttot,regi,mat) = pm_fedemand(ttot,regi,in) / p37_mat2ue(mat,in) * p37_ue_share(mat,in); + loop(tePrc2matOut(tePrc,opmoPrc,mat), + pm_outflowPrcHist(ttot,regi,tePrc,opmoPrc) = p37_matFlowHist(ttot,regi,mat) * p37_teMatShareHist(tePrc,opmoPrc,mat); + ); + ); - pm_specFeDem(ttot,regi,"fegas","bfcc","standard") = p37_specFeDemTarget("fegas","bfcc","standard"); - pm_specFeDem(ttot,regi,"feels","bfcc","standard") = p37_specFeDemTarget("feels","bfcc","standard"); + !! 1st stage tech + !! TODO: simply do this loop several times to fill more than two stages? + loop((tePrc1,opmoPrc1,mat)$( + sum((tePrc2,opmoPrc2), tePrc2matIn(tePrc2,opmoPrc2,mat)) + AND tePrc2matOut(tePrc1,opmoPrc1,mat)), + p37_matFlowHist(ttot,regi,mat) + = sum((tePrc2matOut(tePrc1,opmoPrc1,mat), + tePrc2matIn(tePrc2,opmoPrc2,mat)), + !!TODO: enable p37_teMatShareHist here, too (has to be defined, though) + p37_specMatDem(mat,tePrc2,opmoPrc2) * pm_outflowPrcHist(ttot,regi,tePrc2,opmoPrc2) ); + pm_outflowPrcHist(ttot,regi,tePrc1,opmoPrc1) = p37_matFlowHist(ttot,regi,mat); + ); - pm_specFeDem(ttot,regi,"fegas","idrcc","ng") = p37_specFeDemTarget("fegas","idrcc","ng"); - pm_specFeDem(ttot,regi,"feels","idrcc","ng") = p37_specFeDemTarget("feels","idrcc","ng"); + loop((entyFe,ppfUePrc), + p37_demFeTarget(ttot,regi,entyFe,ppfUePrc) = sum(tePrc2ue(tePrc,opmoPrc,ppfUePrc), pm_outflowPrcHist(ttot,regi,tePrc,opmoPrc) * p37_specFeDemTarget(entyFe,tePrc,opmoPrc)); + p37_demFeActual(ttot,regi,entyFe,ppfUePrc) = sum((fe2ppfen_no_ces_use(entyFe,all_in),ue2ppfenPrc(ppfUePrc,all_in)), pm_fedemand(ttot,regi,all_in) * sm_EJ_2_TWa); + ); - pm_specFeDem(ttot,regi,"fesos","bf","standard") = pm_fedemand(ttot,regi,"feso_steel") * sm_EJ_2_TWa / ( p37_specMatDem("pigiron","bof","unheated") * pm_fedemand(ttot,regi,"ue_steel_primary") ); - pm_specFeDem(ttot,regi,"fehos","bf","standard") = pm_fedemand(ttot,regi,"feli_steel") * sm_EJ_2_TWa / ( p37_specMatDem("pigiron","bof","unheated") * pm_fedemand(ttot,regi,"ue_steel_primary") ); - pm_specFeDem(ttot,regi,"fegas","bf","standard") = pm_fedemand(ttot,regi,"fega_steel") * sm_EJ_2_TWa / ( p37_specMatDem("pigiron","bof","unheated") * pm_fedemand(ttot,regi,"ue_steel_primary") ); - pm_specFeDem(ttot,regi,"feels","bf","standard") = pm_fedemand(ttot,regi,"feel_steel_primary") * sm_EJ_2_TWa / ( p37_specMatDem("pigiron","bof","unheated") * pm_fedemand(ttot,regi,"ue_steel_primary") ); + p37_demFeRatio(ttot,regi,ppfUePrc) = sum(entyFe,p37_demFeActual(ttot,regi,entyFe,ppfUePrc)) / sum(entyFe,p37_demFeTarget(ttot,regi,entyFe,ppfUePrc)); + + loop((tePrc2opmoPrc(tePrc,opmoPrc),regi,entyFe)$(p37_specFeDemTarget(entyFe,tePrc,opmoPrc) gt 0.01*sm_eps), + if((pm_outflowPrcHist(ttot,regi,tePrc,opmoPrc) gt sm_eps), + pm_specFeDem(ttot,regi,entyFe,tePrc,opmoPrc) + = p37_specFeDemTarget(entyFe,tePrc,opmoPrc) + * sum(tePrc2ue(tePrc,opmoPrc,in), + p37_demFeActual(ttot,regi,entyFe,in) + / p37_demFeTarget(ttot,regi,entyFe,in)); + else + pm_specFeDem(ttot,regi,entyFe,tePrc,opmoPrc) + = p37_specFeDemTarget(entyFe,tePrc,opmoPrc) + * (1. + + s37_shareHistFeDemPenalty + * (sum(tePrc2ue(tePrc,opmoPrc,ppfUePrc), p37_demFeRatio(ttot,regi,ppfUePrc)) + -1.)); + ); + ); - pm_specFeDem(ttot,regi,"feels","eaf","sec") = pm_fedemand(ttot,regi,"feel_steel_secondary") * sm_EJ_2_TWa / pm_fedemand(ttot,regi,"ue_steel_secondary"); - pm_specFeDem(ttot,regi,"feels","eaf","pri") = pm_specFeDem(ttot,regi,"feels","eaf","sec"); ); !! loop over other years and blend - loop(entyFeStat(all_enty), - loop(tePrc(all_te), - loop(opmoPrc, - if( (p37_specFeDemTarget(all_enty,all_te,opmoPrc) gt 0.), - loop(ttot$(ttot.val > 2020), - !! fedemand in excess of BAT halves until 2055 - !! gams cannot handle float exponents, so pre-compute 0.5^(1/(2055-2020)) = 0.9804 - pm_specFeDem(ttot,regi,all_enty,all_te,opmoPrc) - = p37_specFeDemTarget(all_enty,all_te,opmoPrc) - + (pm_specFeDem("2020",regi,all_enty,all_te,opmoPrc) - p37_specFeDemTarget(all_enty,all_te,opmoPrc)) - * power(0.9804, ttot.val - 2020) ; - ); - ); + loop((entyFeStat(all_enty), tePrc(all_te), opmoPrc), + if( (p37_specFeDemTarget(all_enty,all_te,opmoPrc) gt 0.), + loop(ttot$(ttot.val > 2020), + !! fedemand in excess of BAT halves until 2055 + !! gams cannot handle float exponents, so pre-compute 0.5^(1/(2055-2020)) = 0.9804 + pm_specFeDem(ttot,regi,all_enty,all_te,opmoPrc) + = p37_specFeDemTarget(all_enty,all_te,opmoPrc) + + (pm_specFeDem("2020",regi,all_enty,all_te,opmoPrc) - p37_specFeDemTarget(all_enty,all_te,opmoPrc)) + * power(0.9804, ttot.val - 2020) ; ); ); ); + ); if (cm_startyear gt 2005, Execute_Loadpoint "input_ref" pm_specFeDem = pm_specFeDem; ); -$endif.cm_subsec_model_steel if (cm_startyear gt 2005, execute_load "input_ref.gdx" v37_plasticWaste.l = v37_plasticWaste.l; diff --git a/modules/37_industry/subsectors/declarations.gms b/modules/37_industry/subsectors/declarations.gms index 5ed409313..5e462bd73 100644 --- a/modules/37_industry/subsectors/declarations.gms +++ b/modules/37_industry/subsectors/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -9,10 +9,11 @@ Scalar s37_clinker_process_CO2 "CO2 emissions per unit of clinker production" s37_plasticsShare "share of carbon cointained in feedstocks for the chemicals subsector that goes to plastics" + s37_shareHistFeDemPenalty "Share of the addiotional historic specific FE demand compared with BAT which is applied to non-historic tech" ; Parameters - pm_abatparam_Ind(ttot,all_regi,all_enty,steps) "industry CCS MAC curves [ratio @ US$2005]" + pm_abatparam_Ind(ttot,all_regi,all_enty,steps) "industry CCS MAC curves [ratio @ US$2017]" pm_energy_limit(all_in) "thermodynamic/technical limits of subsector energy use [GJ/t product]" p37_energy_limit_slope(tall,all_regi,all_in) "limit for subsector specific energy demand that converges towards the thermodynamic/technical limit [GJ/t product]" p37_clinker_cement_ratio(ttot,all_regi) "clinker content per unit cement used" @@ -26,12 +27,18 @@ Parameters !! process-based implementation p37_specMatDem(mat,all_te,opmoPrc) "Specific materials demand of a production technology and operation mode [t_input/t_output]" pm_specFeDem(tall,all_regi,all_enty,all_te,opmoPrc) "Actual specific final-energy demand of a tech; blends between IEA data and Target [TWa/Gt_output]" - p37_specFeDemTarget(all_enty,all_te,opmoPrc) "Best available technology (will be reached in convergence year) [TWa/Gt_output]" - pm_outflowPrcIni(all_regi,all_te,opmoPrc) "Exogenously prescribed production volume of processes in start year (from IEA data)" + p37_demFeTarget(tall,all_regi,all_enty,all_in) "Total Fe demand that would be have been consumed historically for production of a UE if all tech had BAT efficiency" + p37_demFeActual(tall,all_regi,all_enty,all_in) "Total historic Fe demand consumed for production of a UE" + p37_specFeDemTarget(all_enty,all_te,opmoPrc) "Best available technology (will be reached in convergence year) [TWa/Gt_output]" + pm_outflowPrcHist(tall,all_regi,all_te,opmoPrc) "Exogenously prescribed production volume of processes in start year (from IEA data)" + p37_matFlowHist(tall,all_regi,all_enty) "Historic material flows" p37_mat2ue(all_enty,all_in) "Contribution of process output to ue in CES tree; Trivial if just one material per UE, as in steel [Gt/Gt]" + p37_ue_share(all_enty,all_in) "Fixed share of material in ue" + p37_demFeRatio(tall,all_regi,all_in) "Ratio of historic Fe demand and Fe demand calculated from historic production and BAT specific demand" + p37_teMatShareHist(all_te,opmoPrc,mat) "Share that a tePrc/opmoPrc historically contibrutes to production of a matFin" p37_captureRate(all_te) "Capture rate of CCS technology" p37_selfCaptureRate(all_te) "Share of emissions from fossil fuels used for a CCS process which are captured by the CCS process itself" - p37_priceMat(all_enty) "Prices of external material input [2005$/kg = trn2005$/Gt]" + p37_priceMat(all_enty) "Prices of external material input [US$/kg] = [trn$US/Gt]" p37_chemicals_feedstock_share(ttot,all_regi) "minimum share of feso/feli/fega in total chemicals FE input [0-1]" p37_FeedstockCarbonContent(ttot,all_regi,all_enty) "carbon content of feedstocks [GtC/TWa]" @@ -68,9 +75,9 @@ $ifthen.sec_steel_scen NOT "%cm_steel_secondary_max_share_scenario%" == "off" / %cm_steel_secondary_max_share_scenario% / $endif.sec_steel_scen - p37_regionalWasteIncinerationCCSshare(ttot,all_regi) "regional proportion of waste incineration that is captured [%]" + p37_regionalWasteIncinerationCCSMaxShare(ttot,all_regi) "upper bound on regional proportion of waste incineration that is captured [%]" $ifthen.cm_wasteIncinerationCCSshare not "%cm_wasteIncinerationCCSshare%" == "off" - p37_wasteIncinerationCCSshare(ttot,ext_regi) "switch values for proportion of waste incineration that is captured [%]" + p37_wasteIncinerationCCSMaxShare(ttot,ext_regi) "switch values for proportion of waste incineration that is captured [%]" / %cm_wasteIncinerationCCSshare% / $endIf.cm_wasteIncinerationCCSshare ; @@ -83,13 +90,14 @@ Positive Variables v37_FeedstocksCarbon(ttot,all_regi,all_enty,all_enty,all_emiMkt) "Carbon flow: carbon contained in chemical feedstocks [GtC]" v37_plasticsCarbon(ttot,all_regi,all_enty,all_enty,all_emiMkt) "Carbon flow: carbon contained in plastics [GtC]" v37_plasticWaste(ttot,all_regi,all_enty,all_enty,all_emiMkt) "Carbon flow: carbon contained in plastic waste [GtC]" + v37_regionalWasteIncinerationCCSshare(tall,all_regi) "share of waste incineration that is captured [%]" !! process-based implementation vm_outflowPrc(tall,all_regi,all_te,opmoPrc) "Production volume of processes in process-based model [Gt/a]" v37_matFlow(tall,all_regi,all_enty) "Production of materials [Gt/a]" v37_emiPrc(tall,all_regi,all_enty,all_te,opmoPrc) "Emissions per process and operation mode [GtC/a]" v37_shareWithCC(tall,all_regi,all_te,opmoPrc) "Share of process and operation mode equipped with carbon capture technology" - vm_costMatPrc(tall,all_regi) "Cost of external material inputs such as iron ore in process-based industry [trn $2005/a]" + vm_costMatPrc(tall,all_regi) "Cost of external material inputs such as iron ore in process-based industry [trn $2017/a]" ; Equations @@ -107,11 +115,11 @@ $endif.no_calibration q37_costCESmarkup(ttot,all_regi,all_in) "calculation of additional CES markup cost to represent demand-side technology cost of end-use transformation, for example, cost of heat pumps etc." q37_chemicals_feedstocks_limit(ttot,all_regi) "lower bound on feso/feli/fega in chemicals FE input for feedstocks" q37_demFeFeedstockChemIndst(ttot,all_regi,all_enty,all_emiMkt) "defines energy flow of non-energy feedstocks for the chemicals industry. It is used for emissions accounting" - q37_FossilFeedstock_Base(ttot,all_regi,all_enty,all_emiMkt) "in baseline runs feedstocks only come from fossil energy carriers" q37_FeedstocksCarbon(ttot,all_regi,all_enty,all_enty,all_emiMkt) "calculate carbon contained in feedstocks [GtC]" q37_plasticsCarbon(ttot,all_regi,all_enty,all_enty,all_emiMkt) "calculate carbon contained in plastics [GtC]" q37_plasticWaste(ttot,all_regi,all_enty,all_enty,all_emiMkt) "calculate carbon contained in plastic waste [GtC]" q37_incinerationEmi(ttot,all_regi,all_enty,all_enty,all_emiMkt) "calculate carbon contained in plastics that are incinerated [GtC]" + q37_incinerationCCS(ttot,all_regi,all_enty,all_enty,all_emiMkt) "calculate carbon captured from plastics that are incinerated [GtC]" q37_nonIncineratedPlastics(ttot,all_regi,all_enty,all_enty,all_emiMkt) "calculate carbon contained in plastics that are not incinerated [GtC]" q37_feedstockEmiUnknownFate(ttot,all_regi,all_enty,all_enty,all_emiMkt) "calculate carbon contained in chemical feedstock with unknown fate [GtC]" q37_feedstocksLimit(ttot,all_regi,all_enty,all_enty,all_emiMkt) "restrict feedstocks flow to total energy flows into industry" @@ -120,7 +128,7 @@ $endif.no_calibration !! process-based implementation q37_demMatPrc(tall,all_regi,mat) "Material demand of processes" q37_prodMat(tall,all_regi,mat) "Production volume of processes equals material flow of output material" - q37_mat2ue(tall,all_regi,all_in) "Connect materials production to ue ces tree nodes" + q37_mat2ue(tall,all_regi,mat,all_in) "Connect materials production to ue ces tree nodes" q37_limitCapMat(tall,all_regi,all_te) "Material-flow conversion is limited by capacities" q37_emiPrc(ttot,all_regi,all_enty,all_te,opmoPrc) "Local industry emissions pre-capture; Only used as baseline for CCS [GtC/a]" q37_emiCCPrc(tall,all_regi,emiInd37) "Captured emissions from CCS" diff --git a/modules/37_industry/subsectors/equations.gms b/modules/37_industry/subsectors/equations.gms index ad701f7c1..44c861b56 100644 --- a/modules/37_industry/subsectors/equations.gms +++ b/modules/37_industry/subsectors/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -81,8 +81,10 @@ $endif.exogDem_scen *' energy mix, as that is what can be captured); vm_emiIndBase itself is not used for emission *' accounting, just as a CCS baseline. ***------------------------------------------------------ -q37_emiIndBase(t,regi,enty,secInd37)$( entyFeCC37(enty) - OR sameas(enty,"co2cement_process") ) .. +q37_emiIndBase(t,regi,enty,secInd37)$( + entyFeCC37(enty) + OR ( sameas(enty,"co2cement_process") + AND cm_CCS_cement eq 1 ) ) .. vm_emiIndBase(t,regi,enty,secInd37) =e= sum((secInd37_2_pf(secInd37,ppfen_industry_dyn37(in)),fe2ppfEn(entyFeCC37(enty),in)), @@ -215,9 +217,9 @@ q37_chemicals_feedstocks_limit(t,regi) .. * p37_chemicals_feedstock_share(t,regi) ; -*' Define the flow of non-energy feedstocks. It is used for emissions accounting and calculating plastics production -q37_demFeFeedstockChemIndst(t,regi,entyFe,emiMkt)$( - entyFE2sector2emiMkt_NonEn(entyFe,"indst",emiMkt) ) .. +*' Define the flow of non-energy feedstocks. It is used for emissions +*' accounting and calculating plastics production +q37_demFeFeedstockChemIndst(t,regi,entyFe,emiMkt) .. sum(se2fe(entySe,entyFe,te), vm_demFENonEnergySector(t,regi,entySe,entyFe,"indst",emiMkt) ) @@ -229,15 +231,13 @@ q37_demFeFeedstockChemIndst(t,regi,entyFe,emiMkt)$( + pm_cesdata(t,regi,in,"offset_quantity") ) * p37_chemicals_feedstock_share(t,regi) - ) + )$( entyFE2sector2emiMkt_NonEn(entyFe,"indst",emiMkt) ) ; *' Feedstocks flow has to be lower than total energy flow into the industry q37_feedstocksLimit(t,regi,entySe,entyFe,emiMkt)$( - sefe(entySe,entyFe) - AND sector2emiMkt("indst",emiMkt) - AND entyFe2Sector(entyFe,"indst") - AND entyFeCC37(entyFe) ) .. + sefe(entySe,entyFe) + AND entyFE2sector2emiMkt_NonEn(entyFe,"indst",emiMkt) ) .. vm_demFeSector_afterTax(t,regi,entySe,entyFe,"indst",emiMkt) =g= vm_demFENonEnergySector(t,regi,entySe,entyFe,"indst",emiMkt) @@ -278,32 +278,47 @@ q37_plasticsCarbon(t,regi,sefe(entySe,entyFe),emiMkt)$( * s37_plasticsShare ; -*' calculate plastic waste generation, shifted by mean lifetime of plastic products -*' shift by 2 time steps when we have 5-year steps and 1 when we have 10-year steps -*' allocate averge of 2055 and 2060 to 2070 +*' calculate plastic waste generation, shifted by mean lifetime of plastic +*' products shift by 2 time steps when we have 5-year steps and 1 when we have +*' 10-year steps allocate averge of 2055 and 2060 to 2070, unless `cm_wastelag` +*' is `NO`, in which case waste is incurred in the same period plastics are +*' produced q37_plasticWaste(ttot,regi,sefe(entySe,entyFe),emiMkt)$( entyFE2sector2emiMkt_NonEn(entyFe,"indst",emiMkt) AND ttot.val ge max(2015, cm_startyear) ) .. v37_plasticWaste(ttot,regi,entySe,entyFe,emiMkt) =e= - v37_plasticsCarbon(ttot-2,regi,entySe,entyFe,emiMkt)$( ttot.val lt 2070 ) - + ( ( v37_plasticsCarbon(ttot-2,regi,entySe,entyFe,emiMkt) - + v37_plasticsCarbon(ttot-1,regi,entySe,entyFe,emiMkt) - ) - / 2 - )$( ttot.val eq 2070 ) - + v37_plasticsCarbon(ttot-1,regi,entySe,entyFe,emiMkt)$( ttot.val gt 2070 ) - ; + !! prompt waste + v37_plasticsCarbon(ttot,regi,entySe,entyFe,emiMkt)$( NOT %cm_wastelag% ) + !! lagged waste + + ( v37_plasticsCarbon(ttot-2,regi,entySe,entyFe,emiMkt)$( ttot.val lt 2070 ) + + ( ( v37_plasticsCarbon(ttot-2,regi,entySe,entyFe,emiMkt) + + v37_plasticsCarbon(ttot-1,regi,entySe,entyFe,emiMkt) + ) + / 2 + )$( ttot.val eq 2070 ) + + v37_plasticsCarbon(ttot-1,regi,entySe,entyFe,emiMkt)$( ttot.val gt 2070 ) + )$( %cm_wastelag% ) +; -*' emissions from plastics incineration as a share of total plastic waste, discounted by captured amount +*' emissions from plastics incineration as a share of total plastic waste, +*' discounted by captured amount q37_incinerationEmi(t,regi,sefe(entySe,entyFe),emiMkt)$( - entyFE2sector2emiMkt_NonEn(entyFe,"indst",emiMkt)) .. + entyFE2sector2emiMkt_NonEn(entyFe,"indst",emiMkt) ) .. vm_incinerationEmi(t,regi,entySe,entyFe,emiMkt) =e= - ( v37_plasticWaste(t,regi,entySe,entyFe,emiMkt) * pm_incinerationRate(t,regi) - ) * (1 - p37_regionalWasteIncinerationCCSshare(t,regi)) + * (1 - v37_regionalWasteIncinerationCCSshare(t,regi)) +; + +q37_incinerationCCS(t,regi,sefe(entySe,entyFe),emiMkt)$( + entyFE2sector2emiMkt_NonEn(entyFe,"indst",emiMkt) ) .. + vm_incinerationCCS(t,regi,entySe,entyFe,emiMkt) + =e= + v37_plasticWaste(t,regi,entySe,entyFe,emiMkt) + * pm_incinerationRate(t,regi) + * v37_regionalWasteIncinerationCCSshare(t,regi) ; *' calculate carbon contained in non-incinerated plastics @@ -333,18 +348,6 @@ $else.cm_feedstockEmiUnknownFate $endIf.cm_feedstockEmiUnknownFate ; -*' in baseline runs, all industrial feedstocks should come from fossil energy -*' carriers, no biofuels or synfuels -q37_FossilFeedstock_Base(t,regi,entyFe,emiMkt)$( - entyFE2sector2emiMkt_NonEn(entyFe,"indst",emiMkt) - AND cm_emiscen eq 1 ) .. - sum(entySe, vm_demFENonEnergySector(t,regi,entySe,entyFe,"indst",emiMkt)) - =e= - sum(entySeFos, - vm_demFENonEnergySector(t,regi,entySeFos,entyFe,"indst",emiMkt) - ) -; - *** --------------------------------------------------------------------------- *** 2. Process-Based *** --------------------------------------------------------------------------- @@ -388,9 +391,10 @@ q37_prodMat(t,regi,mat)$( matOut(mat) ) .. ***------------------------------------------------------ *' Hand-over to CES ***------------------------------------------------------ -q37_mat2ue(t,regi,in)$( ppfUePrc(in) ) .. - vm_cesIO(t,regi,in) - + pm_cesdata(t,regi,in,"offset_quantity") +q37_mat2ue(t,regi,mat,in)$( ppfUePrc(in) ) .. + (vm_cesIO(t,regi,in) + + pm_cesdata(t,regi,in,"offset_quantity")) + * p37_ue_share(mat,in) =e= sum(mat2ue(mat,in), p37_mat2ue(mat,in) diff --git a/modules/37_industry/subsectors/not_used.txt b/modules/37_industry/subsectors/not_used.txt index 0db6e05b1..eb33d72e1 100644 --- a/modules/37_industry/subsectors/not_used.txt +++ b/modules/37_industry/subsectors/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -24,3 +24,4 @@ pm_shfe_up,parameter,not needed sm_trillion_2_non,input,questionnaire sm_TWa_2_kWh,input,questionnaire vm_macBase,input,questionnaire +sm_D2005_2_D2017,input,no conversion needed diff --git a/modules/37_industry/subsectors/postsolve.gms b/modules/37_industry/subsectors/postsolve.gms index e24d2ded7..2e92cadbe 100644 --- a/modules/37_industry/subsectors/postsolve.gms +++ b/modules/37_industry/subsectors/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/subsectors/preloop.gms b/modules/37_industry/subsectors/preloop.gms index 2a5e22f7a..931ed36e8 100644 --- a/modules/37_industry/subsectors/preloop.gms +++ b/modules/37_industry/subsectors/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/subsectors/realization.gms b/modules/37_industry/subsectors/realization.gms index bc70e2151..bd620d73e 100644 --- a/modules/37_industry/subsectors/realization.gms +++ b/modules/37_industry/subsectors/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/subsectors/sets.gms b/modules/37_industry/subsectors/sets.gms index 75a946029..26f615ca1 100644 --- a/modules/37_industry/subsectors/sets.gms +++ b/modules/37_industry/subsectors/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -381,6 +381,15 @@ $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" $endif.cm_subsec_model_steel / + teCCPrc(tePrc) "Technologies used in process-based model (only CCS)" + / + $$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" + bfcc + idrcc + $$endif.cm_subsec_model_steel + / + + mat(all_enty) "Materials considered in process-based model; Can be input and/or output of a process" / $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" @@ -589,6 +598,16 @@ $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" $endif.cm_subsec_model_steel / +ue2ppfenPrc(all_in,all_in) "correspondant to ces_eff_target_dyn37, but for use in process-based context, i.e. contained subsectors are complements" + / +$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" + ue_steel_primary . (feso_steel, feli_steel, fega_steel, feh2_steel, + feel_steel_primary) + + ue_steel_secondary . feel_steel_secondary +$endif.cm_subsec_model_steel + / + regi_fxDem37(ext_regi) "regions under which we fix UE demand to baseline demand" / $ifthen.fixedUE_scenario "%cm_fxIndUe%" == "on" @@ -624,7 +643,7 @@ pf_quan_target_dyn29(pf_quan_target_dyn37) = YES; $endif.calibrate teMat2rlf(tePrc,"1") = YES; -alias(tePrc,teCCPrc,tePrc1,tePrc2); +alias(tePrc,tePrc1,tePrc2); alias(opmoPrc,opmoCCPrc,opmoPrc1,opmoPrc2); alias(route,route2); alias(entyFeCC37,entyFeCC37_2); diff --git a/modules/39_CCU/module.gms b/modules/39_CCU/module.gms index c4ef08546..eee6e0e44 100644 --- a/modules/39_CCU/module.gms +++ b/modules/39_CCU/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/39_CCU/off/bounds.gms b/modules/39_CCU/off/bounds.gms index 7017f86a5..4a211f95e 100644 --- a/modules/39_CCU/off/bounds.gms +++ b/modules/39_CCU/off/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/39_CCU/off/declarations.gms b/modules/39_CCU/off/declarations.gms index 39448b613..210be4784 100644 --- a/modules/39_CCU/off/declarations.gms +++ b/modules/39_CCU/off/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -13,7 +13,7 @@ *-----------------------------------------------ESM module------------------------ positive variables -vm_co2CCUshort(ttot,all_regi,all_enty,all_enty,all_te,rlf) "CO2 captured in CCU te that have a persistence for co2 storage shorter than 5 years. Unit GtC/a" +vm_co2CCUshort(ttot,all_regi,all_enty,all_enty,all_te,rlf) "CO2 captured in CCU te that have a persistence for co2 storage shorter than 5 years [GtC/a]" ; *** EOF ./modules/39_CCU/off/declarations.gms diff --git a/modules/39_CCU/off/not_used.txt b/modules/39_CCU/off/not_used.txt index 14e1f0dc9..bf31f4346 100644 --- a/modules/39_CCU/off/not_used.txt +++ b/modules/39_CCU/off/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -10,4 +10,5 @@ pm_emifac,input,questionnaire cm_emiscen,input,questionnaire cm_shSynGas,input,questionnaire vm_prodSe,input,questionnaire -vm_co2capture,input,questionnaire +pm_gdp,input,not used +pm_cf,input,not used diff --git a/modules/39_CCU/off/realization.gms b/modules/39_CCU/off/realization.gms index 5398c8d0b..bda672657 100644 --- a/modules/39_CCU/off/realization.gms +++ b/modules/39_CCU/off/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/39_CCU/off/sets.gms b/modules/39_CCU/off/sets.gms index 9b8c3d200..e889bce98 100644 --- a/modules/39_CCU/off/sets.gms +++ b/modules/39_CCU/off/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/39_CCU/on/bounds.gms b/modules/39_CCU/on/bounds.gms index 7ac690ac5..66f8a7abd 100644 --- a/modules/39_CCU/on/bounds.gms +++ b/modules/39_CCU/on/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -6,23 +6,40 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/39_CCU/on/bounds.gms -*** ------------------------------------------------------------------------------------------------------------- -***LP* Narrowing down the solution space for vm_co2capture for CCU -*** ------------------------------------------------------------------------------------------------------------- +*' no CCU technologies (liquid synfuel, synthetic gas) before 2025 +vm_cap.up(t,regi,te_ccu39,"1")$(t.val lt 2025) = 0; -vm_co2capture.up(t,regi,"cco2","ico2","ccsinje","1") = 50; +*' no synthetic gas production before 2030 +vm_cap.up(t,regi,"h22ch4","1")$(t.val lt 2030) = 0; -*** FS: overwrite bounds of se2se technologies in core/bounds.gms and set synfuel lower bounds only from 2035 on -*** (they are only there in case the solver misses to see the technologies) -vm_cap.lo(t,regi,te_ccu39,"1")=0; -vm_cap.lo(t,regi,te_ccu39,"1")$(t.val gt 2031)=1e-7; +*' upper bounds for near-term trends on liquid synfuels (CCU-fuels) 2025 and 2030 +*' based on project announcements from IEA database +*' https://www.iea.org/data-and-statistics/data-product/hydrogen-production-and-infrastructure-projects-database +*' distribute to regions via GDP share +*' in future this should be differentiated by region based on regionalized input data of project announcements +*' 0.5 TWh/yr liquid synfuel production globally at minimum in 2025 +*' corresponds to projects operational as of 2024 +vm_cap.lo("2025",regi,"MeOH","1")= 0.5 / pm_cf("2025",regi,"MeOH") / 8760 + * pm_gdp("2025",regi) + / sum(regi2,pm_gdp("2025",regi2)); -*** CCU technologies will not be used at scale before 2030 -vm_cap.up(t,regi,te_ccu39,"1")$(t.val le 2025)=1e-6; -*** CCU technologies will not be used at scale in 2030 (for non potential exporting regions) -vm_cap.up(t,regi,te_ccu39,"1")$((t.val eq 2030) and (not(sameas(regi,"SSA") or sameas(regi,"LAM") or sameas(regi,"MEA"))))=1e-6; -*** FS: switch off CCU in baseline runs (as CO2 capture technologies teCCS are also switched off) +*' 5 TWh/yr liquid synfuel production globally at maximum in 2025 +*' corresponds to about half of project announcements from IEA database +vm_cap.up("2025",regi,"MeOH","1")= 5 / pm_cf("2025",regi,"MeOH") / 8760 + * pm_gdp("2025",regi) + / sum(regi2,pm_gdp("2025",regi2)); + + + +*' 30 TWh/yr liquid synfuel production globally at maximum in 2030, +*' corresponds to about half of project announcements from IEA database +vm_cap.up("2030",regi,"MeOH","1")= 30 / pm_cf("2030",regi,"MeOH") / 8760 + * pm_gdp("2030",regi) + / sum(regi2,pm_gdp("2030",regi2)); + + +*** switch off CCU in baseline runs (as CO2 capture technologies teCCS are also switched off) if(cm_emiscen = 1, vm_cap.fx(t,regi,te_ccu39,rlf) = 0; ); diff --git a/modules/39_CCU/on/datainput.gms b/modules/39_CCU/on/datainput.gms index 97c856882..9ca269864 100644 --- a/modules/39_CCU/on/datainput.gms +++ b/modules/39_CCU/on/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -6,8 +6,16 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/39_CCU/on/datainput.gms -*** FS: set CO2 demand of CCU technologies to emission factor of liquids and gases per unit SE -p39_co2_dem(t,regi,"seh2","segasyn","h22ch4") = pm_emifac(t,regi,"segafos","fegas","tdfosgas","co2"); -p39_co2_dem(t,regi,"seh2","seliqsyn","MeOH") = pm_emifac(t,regi,"seliqfos","fedie","tdfosdie","co2"); !! choose diesel as fuel for HDVt where synfuels most relevant +*** carbon efficiency of synthetic liquids (FT synthesis) and synthetic gas production (methanation) +*** set to 0.95 following Mar Pérez-Fortes et al. (2016), https://doi.org/10.1016/j.apenergy.2015.07.067, +*** who assess this for methanol-CCU plant with similar processes as our CCU technologies +p39_carbon_efficiency(t,regi,"MeOH") = 0.95; +p39_carbon_efficiency(t,regi,"h22ch4") = 0.95; + +*** CO2 demand of CCU technologies: emission factor of liquids and gases per unit SE divided by carbon efficiency of CCU technology +p39_co2_dem(t,regi,"seh2","segasyn","h22ch4") = pm_emifac(t,regi,"segafos","fegas","tdfosgas","co2") / p39_carbon_efficiency(t,regi,"h22ch4"); +p39_co2_dem(t,regi,"seh2","seliqsyn","MeOH") = pm_emifac(t,regi,"seliqfos","fedie","tdfosdie","co2") / p39_carbon_efficiency(t,regi,"MeOH"); !! choose diesel as fuel for HDVt where synfuels most relevant + + *** EOF ./modules/39_CCU/on/datainput.gms diff --git a/modules/39_CCU/on/declarations.gms b/modules/39_CCU/on/declarations.gms index eb512f42a..35ab3f391 100644 --- a/modules/39_CCU/on/declarations.gms +++ b/modules/39_CCU/on/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -7,13 +7,15 @@ *** SOF ./modules/39_CCU/on/declarations.gms parameters -p39_co2_dem(ttot,all_regi,all_enty,all_enty,all_te) "CO2 demand of CCU technologies, unit: tC/TWa(output)" +p39_carbon_efficiency(ttot,all_regi,all_te) "Carbon efficiency of CCU technologies, carbon content of output fuel divided by carbon input into production process [share]" +p39_co2_dem(ttot,all_regi,all_enty,all_enty,all_te) "CO2 demand of CCU technologies [tC/TWa (output)]" + ; positive variables -vm_co2CCUshort(ttot,all_regi,all_enty,all_enty,all_te,rlf) "CO2 captured in CCU te that have a persistence for co2 storage shorter than 5 years. Unit GtC/a" -v39_shSynLiq(ttot,all_regi) "Share of synthetic liquids in all SE liquids. Value between 0 and 1." -v39_shSynGas(ttot,all_regi) "Share of synthetic gas in all SE gases. Value between 0 and 1." +vm_co2CCUshort(ttot,all_regi,all_enty,all_enty,all_te,rlf) "CO2 captured in CCU te that have a persistence for co2 storage shorter than 5 years [GtC/a]" +v39_shSynLiq(ttot,all_regi) "Share of synthetic liquids in all SE liquids [0..1]" +v39_shSynGas(ttot,all_regi) "Share of synthetic gas in all SE gases [0..1]" ; equations diff --git a/modules/39_CCU/on/equations.gms b/modules/39_CCU/on/equations.gms index 9793f620c..595170183 100644 --- a/modules/39_CCU/on/equations.gms +++ b/modules/39_CCU/on/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/39_CCU/on/not_used.txt b/modules/39_CCU/on/not_used.txt index 96f710c35..85ff9312e 100644 --- a/modules/39_CCU/on/not_used.txt +++ b/modules/39_CCU/on/not_used.txt @@ -1,8 +1,7 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason - diff --git a/modules/39_CCU/on/realization.gms b/modules/39_CCU/on/realization.gms index 2fc66fd27..cc8df19f1 100644 --- a/modules/39_CCU/on/realization.gms +++ b/modules/39_CCU/on/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/39_CCU/on/sets.gms b/modules/39_CCU/on/sets.gms index 0ec4e5916..73f11d67c 100644 --- a/modules/39_CCU/on/sets.gms +++ b/modules/39_CCU/on/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -71,6 +71,7 @@ enty(enty_ccu39) = YES; te(te_ccu39) = YES; se2se(se2se_ccu39) = YES; teSe2rlf(teCCU2rlf) = YES; +teAdj(te_ccu39) = YES; *** EOF ./modules/39_CCU/on/sets.gms diff --git a/modules/40_techpol/CombLowCandCoalPO/datainput.gms b/modules/40_techpol/CombLowCandCoalPO/datainput.gms index 7c02dfe73..f7248eb30 100644 --- a/modules/40_techpol/CombLowCandCoalPO/datainput.gms +++ b/modules/40_techpol/CombLowCandCoalPO/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -9,16 +9,16 @@ *cb targets for renewable upscaling: CSP and SPV from plausible extrapolation of current trends, Wind taken from Optimal immediate policy run (slightly optimistic at beginning) p40_NewRenBound("2015","csp")=2.267; p40_NewRenBound("2015","spv")=180; -p40_NewRenBound("2015","wind")=506.022; +p40_NewRenBound("2015","windon")=506.022; p40_NewRenBound("2020","csp")=4.5; p40_NewRenBound("2020","spv")=400; -p40_NewRenBound("2020","wind")=826.341; +p40_NewRenBound("2020","windon")=826.341; p40_NewRenBound("2025","csp")=8.5; p40_NewRenBound("2025","spv")=610; -p40_NewRenBound("2025","wind")=1208.034; +p40_NewRenBound("2025","windon")=1208.034; p40_NewRenBound("2030","csp")=18.5; p40_NewRenBound("2030","spv")=900; -p40_NewRenBound("2030","wind")=1646.939; +p40_NewRenBound("2030","windon")=1646.939; *cb plausible, quite conservative upscaling (much lower than in optimal immediate) p40_NewRenBound("2020","bioftcrec")=2.4; diff --git a/modules/40_techpol/CombLowCandCoalPO/declarations.gms b/modules/40_techpol/CombLowCandCoalPO/declarations.gms index 4bd16cd8a..660da93d4 100644 --- a/modules/40_techpol/CombLowCandCoalPO/declarations.gms +++ b/modules/40_techpol/CombLowCandCoalPO/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/CombLowCandCoalPO/equations.gms b/modules/40_techpol/CombLowCandCoalPO/equations.gms index 00aaf67df..ef5f65e29 100644 --- a/modules/40_techpol/CombLowCandCoalPO/equations.gms +++ b/modules/40_techpol/CombLowCandCoalPO/equations.gms @@ -1,11 +1,11 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de *** SOF ./modules/40_techpol/CombLowCandCoalPO/equations.gms -q40_NewRenBound(t,te)$(t.val gt 2010 AND t.val lt 2031 AND (sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"wind") OR sameas(te,"bioftcrec") OR sameas(te,"ngccc") )).. +q40_NewRenBound(t,te)$(t.val gt 2010 AND t.val lt 2031 AND (sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"windon") OR sameas(te,"bioftcrec") OR sameas(te,"ngccc") )).. *** attention: sum(regi will not work with Nash, therefore please reformulate with the usual iterative update mechanism sum(regi, sum(te2rlf(te,rlf), vm_cap(t,regi,te,rlf)) diff --git a/modules/40_techpol/CombLowCandCoalPO/not_used.txt b/modules/40_techpol/CombLowCandCoalPO/not_used.txt index 89dd6ba1d..1cc2ff045 100644 --- a/modules/40_techpol/CombLowCandCoalPO/not_used.txt +++ b/modules/40_techpol/CombLowCandCoalPO/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/CombLowCandCoalPO/realization.gms b/modules/40_techpol/CombLowCandCoalPO/realization.gms index 9ef9b0ebb..c351f3e4c 100644 --- a/modules/40_techpol/CombLowCandCoalPO/realization.gms +++ b/modules/40_techpol/CombLowCandCoalPO/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/NDC/bounds.gms b/modules/40_techpol/NDC/bounds.gms index 0d26f85bb..4d62220e3 100755 --- a/modules/40_techpol/NDC/bounds.gms +++ b/modules/40_techpol/NDC/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -12,6 +12,8 @@ vm_cap.lo(t,regi,"spv","1")$(t.val ge 2025) = p40_TechBound(t,regi,"spv")*0.001; vm_cap.lo(t,regi,"tnrs","1")$(t.val ge 2025) = p40_TechBound(t,regi,"tnrs")*0.001; vm_cap.lo(t,regi_nucscen,"tnrs",rlf)$((t.val ge 2025) and (cm_nucscen eq 5)) = 0; !! we assume: Nucscen (limiting nuclear deployment) overrides NDC targets -> resetting lower bound to value defined at cm_nucscen switch vm_cap.lo(t,regi,"hydro","1")$(t.val ge 2025) = p40_TechBound(t,regi,"hydro")*0.001; +vm_cap.lo(t,regi,"windon","1")$(t.val gt 2025) = p40_TechBound(t,regi,"windon")*0.001; +vm_cap.lo(t,regi,"windoff","1")$(t.val gt 2025) = p40_TechBound(t,regi,"windoff")*0.001; *** FS: if cm_H2Targets on: include capacity targets for electrolysis following national Hydrogen Strategies diff --git a/modules/40_techpol/NDC/datainput.gms b/modules/40_techpol/NDC/datainput.gms index 5bd398889..49d4541fc 100644 --- a/modules/40_techpol/NDC/datainput.gms +++ b/modules/40_techpol/NDC/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -14,7 +14,9 @@ $offdelim $onlisting ; -p40_TechBound(ttot,all_regi,all_te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",all_te); +p40_TechBound(ttot,all_regi,te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",te); +*** windoffshore-todo: separate NDC targets for windon and windoff +p40_TechBound(ttot,all_regi,"wind") = f40_TechBound(ttot,all_regi,"%cm_NDC_version%","wind"); p40_ElecBioBound("2030",regi) = p40_TechBound("2030",regi,"bioigcc"); @@ -50,8 +52,8 @@ $offdelim p40_FE_RenShare(tall,regi) = f40_FE_RenShare(tall,regi); !! rescale unit from [million people] to [billion] people *** Chinese PE targets are defined with substitution accounting method -p40_noncombust_acc_eff(t,"CHN",te)$(sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"wind") OR sameas(te,"windoff") OR sameas(te,"tnrs") OR sameas(te,"spv") OR sameas(te,"geohdr") OR sameas(te,"hydro")) = 0.38; !! substitution accounting for low-carbon electricity generation at coal efficiency of 38% -p40_noncombust_acc_eff(t,"CHA",te)$(sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"wind") OR sameas(te,"windoff") OR sameas(te,"tnrs") OR sameas(te,"spv") OR sameas(te,"geohdr") OR sameas(te,"hydro")) = 0.38; !! substitution accounting for low-carbon electricity generation at coal efficiency of 38% +p40_noncombust_acc_eff(t,"CHN",te)$(sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"windon") OR sameas(te,"windoff") OR sameas(te,"tnrs") OR sameas(te,"spv") OR sameas(te,"geohdr") OR sameas(te,"hydro")) = 0.38; !! substitution accounting for low-carbon electricity generation at coal efficiency of 38% +p40_noncombust_acc_eff(t,"CHA",te)$(sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"windon") OR sameas(te,"windoff") OR sameas(te,"tnrs") OR sameas(te,"spv") OR sameas(te,"geohdr") OR sameas(te,"hydro")) = 0.38; !! substitution accounting for low-carbon electricity generation at coal efficiency of 38% *** lower bound on gas share in PE p40_PEgasBound("2020","CHN") = 0.08; p40_PEgasBound(t,"CHN")$(t.val gt 2020) = min(0.08 + (t.val -2020) * 0.004 ,0.1 - (t.val - 2030) * 0.005 ); !! rising to 10% in 2025 and 2030 and then declining to zero around 2050 diff --git a/modules/40_techpol/NDC/declarations.gms b/modules/40_techpol/NDC/declarations.gms index 5e02d86f3..3a5d4c2d9 100644 --- a/modules/40_techpol/NDC/declarations.gms +++ b/modules/40_techpol/NDC/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -24,7 +24,7 @@ Equation q40_FE_RenShare "Lower bound on renewable Equation q40_El_RenShare "Lower bound on low carbon share in electricity"; Equation q40_CoalBound "Restricting new coal power plants in regions with regulation"; Equation q40_ElCap_RenShare "Lower bound on low carbon share in total installed capacity"; -Equation q40_windBound "lower bound on combined wind onshore and offshore"; +Equation q40_windBound "lower bound on combined wind onshore and offshore"; *** EOF ./modules/40_techpol/NDC/declarations.gms diff --git a/modules/40_techpol/NDC/equations.gms b/modules/40_techpol/NDC/equations.gms index 5c0d75d0e..4ff337c82 100644 --- a/modules/40_techpol/NDC/equations.gms +++ b/modules/40_techpol/NDC/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -8,15 +8,17 @@ *' @equations -q40_ElecBioBound(t,regi)$(t.val gt 2015).. + ***am minimum targets for certain technologies +q40_ElecBioBound(t,regi)$(t.val gt 2015).. sum(te2rlf(te,rlf)$(sameas(te,"biochp") OR sameas(te,"bioigcc") OR sameas(te,"bioigccc")), vm_cap(t,regi,te,rlf)) - * 1000 =g= p40_ElecBioBound(t,regi); + =g= p40_ElecBioBound(t,regi) * 0.001 +; -q40_windBound(t,regi)$(t.val gt 2025).. -***making target apply to both wind onshore and offshore, when offshore switch is on -sum(teWind(te), vm_cap(t,regi,te,"1")) - =g= p40_TechBound(t,regi,"wind")*0.001 +*** windoffshore-todo: as long as there is a "wind" target, it is for the sum windon+windoff +q40_windBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"wind") gt 0).. + sum(teWind, vm_cap(t,regi,teWind,"1")) + =g= p40_TechBound(t,regi,"wind") * 0.001 ; q40_PEgasBound(t,regi)$(t.val gt 2015 AND (sameas(regi,"CHN") OR sameas(regi,"CHA"))).. diff --git a/modules/40_techpol/NDC/not_used.txt b/modules/40_techpol/NDC/not_used.txt index 3008561d2..c2eb9b080 100644 --- a/modules/40_techpol/NDC/not_used.txt +++ b/modules/40_techpol/NDC/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/NDC/realization.gms b/modules/40_techpol/NDC/realization.gms index 9ead7e934..1d9143b31 100644 --- a/modules/40_techpol/NDC/realization.gms +++ b/modules/40_techpol/NDC/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/NDCplus/bounds.gms b/modules/40_techpol/NDCplus/bounds.gms index 225fe5df0..13a1fd983 100644 --- a/modules/40_techpol/NDCplus/bounds.gms +++ b/modules/40_techpol/NDCplus/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -11,6 +11,8 @@ vm_cap.lo(t,regi,"spv","1")$(t.val lt 2031 AND t.val gt 2024) = p40_TechBound(t, vm_cap.lo(t,regi,"tnrs","1")$(t.val ge 2025) = p40_TechBound(t,regi,"tnrs")*0.001; vm_cap.lo(t,regi_nucscen,"tnrs",rlf)$((t.val ge 2025) and (cm_nucscen eq 5)) = 0; !! we assume: Nucscen (limiting nuclear deployment) overrides NDC targets -> resetting lower bound to value defined at cm_nucscen switch vm_cap.lo(t,regi,"hydro","1")$(t.val lt 2031 AND t.val gt 2024) = p40_TechBound(t,regi,"hydro")*0.001; +vm_cap.lo(t,regi,"windon","1")$(t.val gt 2025) = p40_TechBound(t,regi,"windon")*0.001; +vm_cap.lo(t,regi,"windoff","1")$(t.val gt 2025) = p40_TechBound(t,regi,"windoff")*0.001; display vm_cap.lo; diff --git a/modules/40_techpol/NDCplus/datainput.gms b/modules/40_techpol/NDCplus/datainput.gms index f9dd970f1..c6eab4771 100644 --- a/modules/40_techpol/NDCplus/datainput.gms +++ b/modules/40_techpol/NDCplus/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -14,7 +14,9 @@ $offdelim $onlisting ; -p40_TechBound(ttot,all_regi,all_te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",all_te); +p40_TechBound(ttot,all_regi,te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",te); +*** windoffshore-todo: separate NDC targets for windon and windoff +p40_TechBound(ttot,all_regi,"wind") = f40_TechBound(ttot,all_regi,"%cm_NDC_version%","wind"); p40_ElecBioBound("2030",regi) = p40_TechBound("2030",regi,"bioigcc"); @@ -44,8 +46,8 @@ $offdelim p40_FE_RenShare(tall,regi) = f40_FE_RenShare(tall,regi); !! rescale unit from [million people] to [billion] people *** Chinese PE targets are defined with substitution accounting method -p40_noncombust_acc_eff(t,"CHN",te)$(sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"wind") OR sameas(te,"windoff") OR sameas(te,"tnrs") OR sameas(te,"spv") OR sameas(te,"geohdr") OR sameas(te,"hydro")) = 0.38; !! substitution accounting for low-carbon electricity generation at coal efficiency of 38% -p40_noncombust_acc_eff(t,"CHA",te)$(sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"wind") OR sameas(te,"windoff") OR sameas(te,"tnrs") OR sameas(te,"spv") OR sameas(te,"geohdr") OR sameas(te,"hydro")) = 0.38; !! substitution accounting for low-carbon electricity generation at coal efficiency of 38% +p40_noncombust_acc_eff(t,"CHN",te)$(sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"windon") OR sameas(te,"windoff") OR sameas(te,"tnrs") OR sameas(te,"spv") OR sameas(te,"geohdr") OR sameas(te,"hydro")) = 0.38; !! substitution accounting for low-carbon electricity generation at coal efficiency of 38% +p40_noncombust_acc_eff(t,"CHA",te)$(sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"windon") OR sameas(te,"windoff") OR sameas(te,"tnrs") OR sameas(te,"spv") OR sameas(te,"geohdr") OR sameas(te,"hydro")) = 0.38; !! substitution accounting for low-carbon electricity generation at coal efficiency of 38% *** lower bound on gas share in PE p40_PEgasBound("2020","CHN") = 0.08; p40_PEgasBound(t,"CHN")$(t.val gt 2020) = min(0.08 + (t.val -2020) * 0.004 ,0.1 - (t.val - 2030) * 0.005 ); !! rising to 10% in 2025 and 2030 and then declining to zero around 2050 diff --git a/modules/40_techpol/NDCplus/declarations.gms b/modules/40_techpol/NDCplus/declarations.gms index ece6b13be..1bb65451f 100644 --- a/modules/40_techpol/NDCplus/declarations.gms +++ b/modules/40_techpol/NDCplus/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -24,7 +24,7 @@ Equation q40_FE_RenShare "Lower bound on renewable Equation q40_El_RenShare "Lower bound on low carbon share in electricity"; Equation q40_CoalBound "Restricting new coal power plants in regions with regulation"; Equation q40_ElCap_RenShare "Lower bound on low carbon share in total installed capacity"; -Equation q40_windBound "lower bound on combined wind onshore and offshore"; +Equation q40_windBound "lower bound on combined wind onshore and offshore"; *** EOF ./modules/40_techpol/NDCplus/declarations.gms diff --git a/modules/40_techpol/NDCplus/equations.gms b/modules/40_techpol/NDCplus/equations.gms index eb0a3344a..a9bb2382a 100644 --- a/modules/40_techpol/NDCplus/equations.gms +++ b/modules/40_techpol/NDCplus/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -8,15 +8,17 @@ *' @equations -q40_ElecBioBound(t,regi)$(t.val gt 2015).. + ***am minimum targets for certain technologies +q40_ElecBioBound(t,regi)$(t.val gt 2015).. sum(te2rlf(te,rlf)$(sameas(te,"biochp") OR sameas(te,"bioigcc") OR sameas(te,"bioigccc")), vm_cap(t,regi,te,rlf)) - * 1000 =g= p40_ElecBioBound(t,regi); + =g= p40_ElecBioBound(t,regi) * 0.001 +; -q40_windBound(t,regi)$(t.val gt 2025).. -***making target apply to both wind onshore and offshore, when offshore switch is on -sum(teWind(te), vm_cap(t,regi,te,"1")) - =g= p40_TechBound(t,regi,"wind")*0.001 +*** windoffshore-todo: as long as there is a "wind" target, it is for the sum windon+windoff +q40_windBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"wind") gt 0).. + sum(teWind, vm_cap(t,regi,teWind,"1")) + =g= p40_TechBound(t,regi,"wind") * 0.001 ; q40_PEgasBound(t,regi)$(t.val gt 2015 AND (sameas(regi,"CHN") OR sameas(regi,"CHA"))).. diff --git a/modules/40_techpol/NDCplus/not_used.txt b/modules/40_techpol/NDCplus/not_used.txt index a71d906ab..2cec58eee 100644 --- a/modules/40_techpol/NDCplus/not_used.txt +++ b/modules/40_techpol/NDCplus/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/NDCplus/realization.gms b/modules/40_techpol/NDCplus/realization.gms index 226248bfc..991434069 100644 --- a/modules/40_techpol/NDCplus/realization.gms +++ b/modules/40_techpol/NDCplus/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/NPi2018/bounds.gms b/modules/40_techpol/NPi2018/bounds.gms index 958f01d16..e25911649 100644 --- a/modules/40_techpol/NPi2018/bounds.gms +++ b/modules/40_techpol/NPi2018/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -12,6 +12,8 @@ vm_cap.lo(t,regi,"spv","1")$(t.val gt 2020) = p40_TechBound(t,regi,"spv")*0.001; vm_cap.lo(t,regi,"tnrs","1")$(t.val ge 2025) = p40_TechBound(t,regi,"tnrs")*0.001; vm_cap.lo(t,regi_nucscen,"tnrs",rlf)$((t.val ge 2025) and (cm_nucscen eq 5)) = 0; !! we assume: Nucscen (limiting nuclear deployment) overrides NDC targets -> resetting lower bound to value defined at cm_nucscen switch vm_cap.lo(t,regi,"hydro","1")$(t.val gt 2020) = p40_TechBound(t,regi,"hydro")*0.001; +vm_cap.lo(t,regi,"windon","1")$(t.val gt 2025) = p40_TechBound(t,regi,"windon")*0.001; +vm_cap.lo(t,regi,"windoff","1")$(t.val gt 2025) = p40_TechBound(t,regi,"windoff")*0.001; display vm_cap.lo; diff --git a/modules/40_techpol/NPi2018/datainput.gms b/modules/40_techpol/NPi2018/datainput.gms index 92909471e..d3725bcb5 100644 --- a/modules/40_techpol/NPi2018/datainput.gms +++ b/modules/40_techpol/NPi2018/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -14,7 +14,9 @@ $offdelim $onlisting ; -p40_TechBound(ttot,all_regi,all_te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",all_te); +p40_TechBound(ttot,all_regi,te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",te); +*** windoffshore-todo: separate NDC targets for windon and windoff +p40_TechBound(ttot,all_regi,"wind") = f40_TechBound(ttot,all_regi,"%cm_NDC_version%","wind"); p40_ElecBioBound("2030",regi) = p40_TechBound("2030",regi,"bioigcc"); @@ -28,15 +30,15 @@ if (cm_phaseoutBiolc eq 1, *** otherwise, they are not considered in the model *** to add further targets, include both the respective parameter value below, and extend the equation domain in equations.gms p40_noncombust_acc_eff(t,iso_regi,te) = 1;!!general efficiency 100% -p40_PEgasBound(t,iso_regi) = 0; -p40_PElowcarbonBound(t,iso_regi) = 0; -p40_El_RenShare(t,iso_regi) = 0; -p40_CoalBound(t,iso_regi) = 0; -p40_FE_RenShare(t,iso_regi) = 0; +p40_PEgasBound(t,iso_regi) = 0; +p40_PElowcarbonBound(t,iso_regi) = 0; +p40_El_RenShare(t,iso_regi) = 0; +p40_CoalBound(t,iso_regi) = 0; +p40_FE_RenShare(t,iso_regi) = 0; *** Chinese PE targets are defined with substitution accounting method -p40_noncombust_acc_eff(t,"CHN",te)$(sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"wind") OR sameas(te,"windoff") OR sameas(te,"tnrs") OR sameas(te,"spv") OR sameas(te,"geohdr") OR sameas(te,"hydro")) = 0.38; !! substitution accounting for low-carbon electricity generation at coal efficiency of 38% -p40_noncombust_acc_eff(t,"CHA",te)$(sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"wind") OR sameas(te,"windoff") OR sameas(te,"tnrs") OR sameas(te,"spv") OR sameas(te,"geohdr") OR sameas(te,"hydro")) = 0.38; !! substitution accounting for low-carbon electricity generation at coal efficiency of 38% +p40_noncombust_acc_eff(t,"CHN",te)$(sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"windon") OR sameas(te,"windoff") OR sameas(te,"tnrs") OR sameas(te,"spv") OR sameas(te,"geohdr") OR sameas(te,"hydro")) = 0.38; !! substitution accounting for low-carbon electricity generation at coal efficiency of 38% +p40_noncombust_acc_eff(t,"CHA",te)$(sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"windon") OR sameas(te,"windoff") OR sameas(te,"tnrs") OR sameas(te,"spv") OR sameas(te,"geohdr") OR sameas(te,"hydro")) = 0.38; !! substitution accounting for low-carbon electricity generation at coal efficiency of 38% *** lower bound on gas share in PE p40_PEgasBound("2020","CHN") = 0.08; p40_PEgasBound(t,"CHN")$(t.val gt 2020) = min(0.08 ,0.08 - (t.val - 2030) * 0.005 ); !! 8% until 2030 and then declining again diff --git a/modules/40_techpol/NPi2018/declarations.gms b/modules/40_techpol/NPi2018/declarations.gms index 8469c2286..ca3011ec8 100644 --- a/modules/40_techpol/NPi2018/declarations.gms +++ b/modules/40_techpol/NPi2018/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -21,7 +21,7 @@ Equation q40_ElecBioBound "equation low-carbon push Equation q40_PEgasBound "Mandating minimum PE gas share"; Equation q40_PElowcarbonBound "Lower bound on low carbon share"; Equation q40_FE_RenShare "Lower bound on renewable share"; -Equation q40_windBound "lower bound on combined wind onshore and offshore"; +Equation q40_windBound "lower bound on combined wind onshore and offshore"; *** EOF ./modules/40_techpol/NPi2018/declarations.gms diff --git a/modules/40_techpol/NPi2018/equations.gms b/modules/40_techpol/NPi2018/equations.gms index 89fd29bd1..35349b8bf 100644 --- a/modules/40_techpol/NPi2018/equations.gms +++ b/modules/40_techpol/NPi2018/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -8,15 +8,17 @@ *' @equations -q40_ElecBioBound(t,regi)$(t.val gt 2015).. + ***am minimum targets for certain technologies +q40_ElecBioBound(t,regi)$(t.val gt 2015).. sum(te2rlf(te,rlf)$(sameas(te,"biochp") OR sameas(te,"bioigcc") OR sameas(te,"bioigccc")), vm_cap(t,regi,te,rlf)) - * 1000 =g= p40_ElecBioBound(t,regi); + =g= p40_ElecBioBound(t,regi) * 0.001 +; -q40_windBound(t,regi)$(t.val gt 2025).. -***making target apply to both wind onshore and offshore, when offshore switch is on -sum(teWind(te), vm_cap(t,regi,te,"1")) - =g= p40_TechBound(t,regi,"wind")*0.001 +*** windoffshore-todo: as long as there is a "wind" target, it is for the sum windon+windoff +q40_windBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"wind") gt 0).. + sum(teWind, vm_cap(t,regi,teWind,"1")) + =g= p40_TechBound(t,regi,"wind") * 0.001 ; q40_PEgasBound(t,regi)$(t.val gt 2015 AND (sameas(regi,"CHN") OR sameas(regi,"CHA"))).. diff --git a/modules/40_techpol/NPi2018/not_used.txt b/modules/40_techpol/NPi2018/not_used.txt index 52bb66ba8..a86ba9e9d 100644 --- a/modules/40_techpol/NPi2018/not_used.txt +++ b/modules/40_techpol/NPi2018/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/NPi2018/realization.gms b/modules/40_techpol/NPi2018/realization.gms index 4b21b9bc6..2cf5b9a8f 100644 --- a/modules/40_techpol/NPi2018/realization.gms +++ b/modules/40_techpol/NPi2018/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/coalPhaseout/bounds.gms b/modules/40_techpol/coalPhaseout/bounds.gms index b91d0593c..814354c36 100644 --- a/modules/40_techpol/coalPhaseout/bounds.gms +++ b/modules/40_techpol/coalPhaseout/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/coalPhaseout/declarations.gms b/modules/40_techpol/coalPhaseout/declarations.gms index 313828794..890a6f8dd 100644 --- a/modules/40_techpol/coalPhaseout/declarations.gms +++ b/modules/40_techpol/coalPhaseout/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/coalPhaseout/equations.gms b/modules/40_techpol/coalPhaseout/equations.gms index e489f9dbc..6ddc577a0 100644 --- a/modules/40_techpol/coalPhaseout/equations.gms +++ b/modules/40_techpol/coalPhaseout/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/coalPhaseout/not_used.txt b/modules/40_techpol/coalPhaseout/not_used.txt index da0b9180e..a6af5262b 100644 --- a/modules/40_techpol/coalPhaseout/not_used.txt +++ b/modules/40_techpol/coalPhaseout/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/coalPhaseout/realization.gms b/modules/40_techpol/coalPhaseout/realization.gms index dbda199d5..222565707 100644 --- a/modules/40_techpol/coalPhaseout/realization.gms +++ b/modules/40_techpol/coalPhaseout/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/coalPhaseoutRegional/bounds.gms b/modules/40_techpol/coalPhaseoutRegional/bounds.gms index 27eac4ddf..dc07f0bbe 100644 --- a/modules/40_techpol/coalPhaseoutRegional/bounds.gms +++ b/modules/40_techpol/coalPhaseoutRegional/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/coalPhaseoutRegional/datainput.gms b/modules/40_techpol/coalPhaseoutRegional/datainput.gms index 661ce0453..e0f0feb80 100644 --- a/modules/40_techpol/coalPhaseoutRegional/datainput.gms +++ b/modules/40_techpol/coalPhaseoutRegional/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/coalPhaseoutRegional/declarations.gms b/modules/40_techpol/coalPhaseoutRegional/declarations.gms index 9ed8c2dc1..5a0e1ab32 100644 --- a/modules/40_techpol/coalPhaseoutRegional/declarations.gms +++ b/modules/40_techpol/coalPhaseoutRegional/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/coalPhaseoutRegional/equations.gms b/modules/40_techpol/coalPhaseoutRegional/equations.gms index 87cb7c7b3..43f335724 100644 --- a/modules/40_techpol/coalPhaseoutRegional/equations.gms +++ b/modules/40_techpol/coalPhaseoutRegional/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/coalPhaseoutRegional/not_used.txt b/modules/40_techpol/coalPhaseoutRegional/not_used.txt index 25dba9449..f8adbbf62 100644 --- a/modules/40_techpol/coalPhaseoutRegional/not_used.txt +++ b/modules/40_techpol/coalPhaseoutRegional/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/coalPhaseoutRegional/realization.gms b/modules/40_techpol/coalPhaseoutRegional/realization.gms index 851ca9bd6..22865a30b 100644 --- a/modules/40_techpol/coalPhaseoutRegional/realization.gms +++ b/modules/40_techpol/coalPhaseoutRegional/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/lowCarbonPush/datainput.gms b/modules/40_techpol/lowCarbonPush/datainput.gms index e805c8bca..2b42c281c 100644 --- a/modules/40_techpol/lowCarbonPush/datainput.gms +++ b/modules/40_techpol/lowCarbonPush/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -9,16 +9,16 @@ *cb targets for renewable upscaling: CSP and SPV from plausible extrapolation of current trends, Wind taken from Optimal immediate policy run (slightly optimistic at beginning) p40_NewRenBound("2015","csp")=2.267; p40_NewRenBound("2015","spv")=180; -p40_NewRenBound("2015","wind")=506.022; +p40_NewRenBound("2015","windon")=506.022; p40_NewRenBound("2020","csp")=4.5; p40_NewRenBound("2020","spv")=400; -p40_NewRenBound("2020","wind")=826.341; +p40_NewRenBound("2020","windon")=826.341; p40_NewRenBound("2025","csp")=8.5; p40_NewRenBound("2025","spv")=610; -p40_NewRenBound("2025","wind")=1208.034; +p40_NewRenBound("2025","windon")=1208.034; p40_NewRenBound("2030","csp")=18.5; p40_NewRenBound("2030","spv")=900; -p40_NewRenBound("2030","wind")=1646.939; +p40_NewRenBound("2030","windon")=1646.939; *cb plausible, quite conservative upscaling (much lower than in optimal immediate) p40_NewRenBound("2020","bioftcrec")=2.4; diff --git a/modules/40_techpol/lowCarbonPush/declarations.gms b/modules/40_techpol/lowCarbonPush/declarations.gms index 0c68a1e8d..8c1d0c7a6 100644 --- a/modules/40_techpol/lowCarbonPush/declarations.gms +++ b/modules/40_techpol/lowCarbonPush/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/lowCarbonPush/equations.gms b/modules/40_techpol/lowCarbonPush/equations.gms index ee9a0362c..052196a2c 100644 --- a/modules/40_techpol/lowCarbonPush/equations.gms +++ b/modules/40_techpol/lowCarbonPush/equations.gms @@ -1,11 +1,11 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de *** SOF ./modules/40_techpol/lowCarbonPush/equations.gms -q40_NewRenBound(t,te)$(t.val gt 2010 AND t.val lt 2031 AND (sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"wind") OR sameas(te,"bioftcrec") OR sameas(te,"ngccc") )).. +q40_NewRenBound(t,te)$(t.val gt 2010 AND t.val lt 2031 AND (sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"windon") OR sameas(te,"bioftcrec") OR sameas(te,"ngccc") )).. *** attention: sum(regi will not work with Nash, therefore please reformulate with the usual iterative update mechanism sum(regi, sum(te2rlf(te,rlf), vm_cap(t,regi,te,rlf)) diff --git a/modules/40_techpol/lowCarbonPush/not_used.txt b/modules/40_techpol/lowCarbonPush/not_used.txt index 30e06d48f..78fb573d9 100644 --- a/modules/40_techpol/lowCarbonPush/not_used.txt +++ b/modules/40_techpol/lowCarbonPush/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/lowCarbonPush/realization.gms b/modules/40_techpol/lowCarbonPush/realization.gms index 56cfb90a3..cff97d8ab 100644 --- a/modules/40_techpol/lowCarbonPush/realization.gms +++ b/modules/40_techpol/lowCarbonPush/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/module.gms b/modules/40_techpol/module.gms index 2df2ed733..3e80fe329 100644 --- a/modules/40_techpol/module.gms +++ b/modules/40_techpol/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/none/not_used.txt b/modules/40_techpol/none/not_used.txt index 52e7d4bff..9704d3469 100644 --- a/modules/40_techpol/none/not_used.txt +++ b/modules/40_techpol/none/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/none/realization.gms b/modules/40_techpol/none/realization.gms index 6209409ac..711eadec1 100644 --- a/modules/40_techpol/none/realization.gms +++ b/modules/40_techpol/none/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/AbilityToPay/bounds.gms b/modules/41_emicapregi/AbilityToPay/bounds.gms index 45685e533..ce4a45a65 100644 --- a/modules/41_emicapregi/AbilityToPay/bounds.gms +++ b/modules/41_emicapregi/AbilityToPay/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/AbilityToPay/datainput.gms b/modules/41_emicapregi/AbilityToPay/datainput.gms index 9ee0647fa..c7d23dcc0 100644 --- a/modules/41_emicapregi/AbilityToPay/datainput.gms +++ b/modules/41_emicapregi/AbilityToPay/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/AbilityToPay/declarations.gms b/modules/41_emicapregi/AbilityToPay/declarations.gms index c0ab72d3f..875acaae0 100644 --- a/modules/41_emicapregi/AbilityToPay/declarations.gms +++ b/modules/41_emicapregi/AbilityToPay/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/AbilityToPay/not_used.txt b/modules/41_emicapregi/AbilityToPay/not_used.txt index 9cc600a40..29214cff8 100644 --- a/modules/41_emicapregi/AbilityToPay/not_used.txt +++ b/modules/41_emicapregi/AbilityToPay/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/AbilityToPay/realization.gms b/modules/41_emicapregi/AbilityToPay/realization.gms index 172d0e06b..d68c99155 100644 --- a/modules/41_emicapregi/AbilityToPay/realization.gms +++ b/modules/41_emicapregi/AbilityToPay/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/CandC/bounds.gms b/modules/41_emicapregi/CandC/bounds.gms index 783581080..eb557d6d5 100644 --- a/modules/41_emicapregi/CandC/bounds.gms +++ b/modules/41_emicapregi/CandC/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/CandC/datainput.gms b/modules/41_emicapregi/CandC/datainput.gms index d51da476b..4e40bcb36 100644 --- a/modules/41_emicapregi/CandC/datainput.gms +++ b/modules/41_emicapregi/CandC/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/CandC/declarations.gms b/modules/41_emicapregi/CandC/declarations.gms index a242c5e19..6786230ce 100644 --- a/modules/41_emicapregi/CandC/declarations.gms +++ b/modules/41_emicapregi/CandC/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/CandC/equations.gms b/modules/41_emicapregi/CandC/equations.gms index e63900459..0049ae263 100644 --- a/modules/41_emicapregi/CandC/equations.gms +++ b/modules/41_emicapregi/CandC/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/CandC/not_used.txt b/modules/41_emicapregi/CandC/not_used.txt index 0e472a14c..3f7bdbb73 100644 --- a/modules/41_emicapregi/CandC/not_used.txt +++ b/modules/41_emicapregi/CandC/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/CandC/realization.gms b/modules/41_emicapregi/CandC/realization.gms index eff6ab71c..c94c2c3d7 100644 --- a/modules/41_emicapregi/CandC/realization.gms +++ b/modules/41_emicapregi/CandC/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/GDPint/datainput.gms b/modules/41_emicapregi/GDPint/datainput.gms index ed76b9576..724305339 100644 --- a/modules/41_emicapregi/GDPint/datainput.gms +++ b/modules/41_emicapregi/GDPint/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/GDPint/declarations.gms b/modules/41_emicapregi/GDPint/declarations.gms index 52566cf75..d5adb5f8e 100644 --- a/modules/41_emicapregi/GDPint/declarations.gms +++ b/modules/41_emicapregi/GDPint/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/GDPint/equations.gms b/modules/41_emicapregi/GDPint/equations.gms index 8a57fcc15..5e11e2918 100644 --- a/modules/41_emicapregi/GDPint/equations.gms +++ b/modules/41_emicapregi/GDPint/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/GDPint/not_used.txt b/modules/41_emicapregi/GDPint/not_used.txt index 9a2ae3ba0..49dd88ced 100644 --- a/modules/41_emicapregi/GDPint/not_used.txt +++ b/modules/41_emicapregi/GDPint/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/GDPint/realization.gms b/modules/41_emicapregi/GDPint/realization.gms index ce22d5477..c20015b88 100644 --- a/modules/41_emicapregi/GDPint/realization.gms +++ b/modules/41_emicapregi/GDPint/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/POPint/bounds.gms b/modules/41_emicapregi/POPint/bounds.gms index 929cb927f..53fbc05c8 100644 --- a/modules/41_emicapregi/POPint/bounds.gms +++ b/modules/41_emicapregi/POPint/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/POPint/datainput.gms b/modules/41_emicapregi/POPint/datainput.gms index 2ef8c9213..e3a3e2d7e 100644 --- a/modules/41_emicapregi/POPint/datainput.gms +++ b/modules/41_emicapregi/POPint/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/POPint/declarations.gms b/modules/41_emicapregi/POPint/declarations.gms index d34bb2fd3..ab26c5a3b 100644 --- a/modules/41_emicapregi/POPint/declarations.gms +++ b/modules/41_emicapregi/POPint/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/POPint/equations.gms b/modules/41_emicapregi/POPint/equations.gms index 6c2dd90f0..b82d47d35 100644 --- a/modules/41_emicapregi/POPint/equations.gms +++ b/modules/41_emicapregi/POPint/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/POPint/not_used.txt b/modules/41_emicapregi/POPint/not_used.txt index 65d610310..1f082f491 100644 --- a/modules/41_emicapregi/POPint/not_used.txt +++ b/modules/41_emicapregi/POPint/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/POPint/preloop.gms b/modules/41_emicapregi/POPint/preloop.gms index 78ee46f83..f27739adb 100644 --- a/modules/41_emicapregi/POPint/preloop.gms +++ b/modules/41_emicapregi/POPint/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/POPint/realization.gms b/modules/41_emicapregi/POPint/realization.gms index 1feeed269..50ddf7cc8 100644 --- a/modules/41_emicapregi/POPint/realization.gms +++ b/modules/41_emicapregi/POPint/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/PerCapitaConvergence/bounds.gms b/modules/41_emicapregi/PerCapitaConvergence/bounds.gms index 1b32718a8..0a30369c9 100644 --- a/modules/41_emicapregi/PerCapitaConvergence/bounds.gms +++ b/modules/41_emicapregi/PerCapitaConvergence/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/PerCapitaConvergence/datainput.gms b/modules/41_emicapregi/PerCapitaConvergence/datainput.gms index 7d5867c2a..0e1dcf030 100644 --- a/modules/41_emicapregi/PerCapitaConvergence/datainput.gms +++ b/modules/41_emicapregi/PerCapitaConvergence/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/PerCapitaConvergence/declarations.gms b/modules/41_emicapregi/PerCapitaConvergence/declarations.gms index 5499ff6f4..0c5f181a0 100644 --- a/modules/41_emicapregi/PerCapitaConvergence/declarations.gms +++ b/modules/41_emicapregi/PerCapitaConvergence/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/PerCapitaConvergence/not_used.txt b/modules/41_emicapregi/PerCapitaConvergence/not_used.txt index 0c8bab536..3714220fe 100644 --- a/modules/41_emicapregi/PerCapitaConvergence/not_used.txt +++ b/modules/41_emicapregi/PerCapitaConvergence/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/PerCapitaConvergence/realization.gms b/modules/41_emicapregi/PerCapitaConvergence/realization.gms index 75584c72f..53611be84 100644 --- a/modules/41_emicapregi/PerCapitaConvergence/realization.gms +++ b/modules/41_emicapregi/PerCapitaConvergence/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/exog/bounds.gms b/modules/41_emicapregi/exog/bounds.gms index 4ea3d869e..284d78186 100644 --- a/modules/41_emicapregi/exog/bounds.gms +++ b/modules/41_emicapregi/exog/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/exog/datainput.gms b/modules/41_emicapregi/exog/datainput.gms index 929d7cc65..bbff17d07 100644 --- a/modules/41_emicapregi/exog/datainput.gms +++ b/modules/41_emicapregi/exog/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/exog/declarations.gms b/modules/41_emicapregi/exog/declarations.gms index 93db099a2..a9fea66d0 100644 --- a/modules/41_emicapregi/exog/declarations.gms +++ b/modules/41_emicapregi/exog/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/exog/not_used.txt b/modules/41_emicapregi/exog/not_used.txt index 4c636a839..8f0352dfa 100644 --- a/modules/41_emicapregi/exog/not_used.txt +++ b/modules/41_emicapregi/exog/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/exog/realization.gms b/modules/41_emicapregi/exog/realization.gms index 2c8ea9182..2528b32ba 100644 --- a/modules/41_emicapregi/exog/realization.gms +++ b/modules/41_emicapregi/exog/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/module.gms b/modules/41_emicapregi/module.gms index 66fb8dbea..e8e89b540 100644 --- a/modules/41_emicapregi/module.gms +++ b/modules/41_emicapregi/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/none/bounds.gms b/modules/41_emicapregi/none/bounds.gms index 3af6c4700..1f1af63e3 100644 --- a/modules/41_emicapregi/none/bounds.gms +++ b/modules/41_emicapregi/none/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/none/datainput.gms b/modules/41_emicapregi/none/datainput.gms index 66c2b52fc..06ddc51c8 100644 --- a/modules/41_emicapregi/none/datainput.gms +++ b/modules/41_emicapregi/none/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/none/not_used.txt b/modules/41_emicapregi/none/not_used.txt index 3a15fe1c7..449545683 100644 --- a/modules/41_emicapregi/none/not_used.txt +++ b/modules/41_emicapregi/none/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/none/realization.gms b/modules/41_emicapregi/none/realization.gms index b6c5b2d06..2581d68e4 100644 --- a/modules/41_emicapregi/none/realization.gms +++ b/modules/41_emicapregi/none/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/NDC/datainput.gms b/modules/45_carbonprice/NDC/datainput.gms index 9d64f20d7..2f97731b1 100644 --- a/modules/45_carbonprice/NDC/datainput.gms +++ b/modules/45_carbonprice/NDC/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -12,11 +12,11 @@ Execute_Loadpoint "input_ref" p45_taxCO2eq_bau = pm_taxCO2eq; pm_taxCO2eq(t,regi) = p45_taxCO2eq_bau(t,regi) *** parameters for exponential increase after NDC targets -Scalar p45_taxCO2eqGlobal2030 "startprice in 2030 (unit TDpGtC) of global CO2eq taxes towards which countries converge"; -p45_taxCO2eqGlobal2030 = 30 * sm_DptCO2_2_TDpGtC; -Scalar p45_taxCO2eqYearlyIncrease "yearly multiplicative increase of co2 tax, write 3% as 1.03" /1.0125/; +Scalar p45_taxCO2eqGlobal2030 "startprice in 2030 of global CO2eq taxes towards which countries converge [T$/GtC]"; +p45_taxCO2eqGlobal2030 = 30 * sm_D2005_2_D2017 * sm_DptCO2_2_TDpGtC; +Scalar p45_taxCO2eqYearlyIncrease "yearly multiplicative increase of co2 tax, write 3% as 1.03 [1]" /1.0125/; -Scalar p45_taxCO2eqConvergenceYear "year until which CO2eq taxes have converged globally" /2100/; +Scalar p45_taxCO2eqConvergenceYear "year until which CO2eq taxes have converged globally [year]" /2100/; *** set Years for CO2eq taxes to converge after 2030 if(cm_NDC_divergentScenario = 0, p45_taxCO2eqConvergenceYear = 2100; @@ -27,7 +27,7 @@ elseif cm_NDC_divergentScenario = 2, ); *** load NDC data -Table f45_factorTargetyear(tall,all_regi,NDC_version,all_GDPscen) "Table for all NDC versions with multiplier for target year emissions vs 2005 emissions, as weighted average for all countries with quantifyable emissions under NDC in particular region" +Table f45_factorTargetyear(tall,all_regi,NDC_version,all_GDPscen) "Table for all NDC versions with multiplier for target year emissions vs 2005 emissions, as weighted average for all countries with quantifyable emissions under NDC in particular region [1]" $offlisting $ondelim $include "./modules/45_carbonprice/NDC/input/fm_factorTargetyear.cs3r" @@ -35,12 +35,12 @@ $offdelim $onlisting ; -Parameter p45_factorTargetyear(ttot,all_regi) "Multiplier for target year emissions vs 2005 emissions, as weighted average for all countries with quantifyable emissions under NDC in particular region"; +Parameter p45_factorTargetyear(ttot,all_regi) "Multiplier for target year emissions vs 2005 emissions, as weighted average for all countries with quantifyable emissions under NDC in particular region [1]"; p45_factorTargetyear(t,all_regi) = f45_factorTargetyear(t,all_regi,"%cm_NDC_version%","%cm_GDPscen%"); display p45_factorTargetyear; -Table f45_2005shareTarget(tall,all_regi,NDC_version,all_GDPscen) "Table for all NDC versions with 2005 GHG emission share of countries with quantifyable emissions under NDC in particular region, time dimension specifies alternative future target years" +Table f45_2005shareTarget(tall,all_regi,NDC_version,all_GDPscen) "Table for all NDC versions with 2005 GHG emission share of countries with quantifyable emissions under NDC in particular region, time dimension specifies alternative future target years [0..1]" $offlisting $ondelim $include "./modules/45_carbonprice/NDC/input/fm_2005shareTarget.cs3r" @@ -48,12 +48,12 @@ $offdelim $onlisting ; -Parameter p45_2005shareTarget(ttot,all_regi) "2005 GHG emission share of countries with quantifyable emissions under NDC in particular region, time dimension specifies alternative future target years"; +Parameter p45_2005shareTarget(ttot,all_regi) "2005 GHG emission share of countries with quantifyable emissions under NDC in particular region, time dimension specifies alternative future target years [0..1]"; p45_2005shareTarget(t,all_regi) = f45_2005shareTarget(t,all_regi,"%cm_NDC_version%","%cm_GDPscen%"); display p45_2005shareTarget; -Table f45_histShare(tall,all_regi,NDC_version) "Table for all NDC versions with GHG emissions share of countries with quantifyable 2030 target, time dimension specifies historic record" +Table f45_histShare(tall,all_regi,NDC_version) "Table for all NDC versions with GHG emissions share of countries with quantifyable 2030 target, time dimension specifies historic record [0..1]" $offlisting $ondelim $include "./modules/45_carbonprice/NDC/input/fm_histShare.cs3r" @@ -61,12 +61,12 @@ $offdelim $onlisting ; -Parameter p45_histShare(tall,all_regi) "GHG emissions share of countries with quantifyable 2030 target, time dimension specifies historic record"; +Parameter p45_histShare(tall,all_regi) "GHG emissions share of countries with quantifyable 2030 target, time dimension specifies historic record [0..1]"; p45_histShare(tall,all_regi) = f45_histShare(tall,all_regi,"%cm_NDC_version%"); display p45_histShare; -Parameter p45_BAU_reg_emi_wo_LU_bunkers(ttot,all_regi) "regional GHG emissions (without LU and bunkers) in BAU scenario" +Parameter p45_BAU_reg_emi_wo_LU_bunkers(ttot,all_regi) "regional GHG emissions (without LU and bunkers) in BAU scenario [MtCO2eq/yr]" / $ondelim $ifthen exist "./modules/45_carbonprice/NDC/input/pm_BAU_reg_emi_wo_LU_bunkers.cs4r" @@ -76,16 +76,16 @@ $offdelim / ; *** parameters for selecting NDC years -Scalar p45_ignoreNDCbefore "NDC targets before this years are ignored, for example to exclude 2030 targets" /2024/; +Scalar p45_ignoreNDCbefore "NDC targets before this years are ignored, for example to exclude 2030 targets [year]" /2024/; p45_ignoreNDCbefore = max(p45_ignoreNDCbefore, cm_startyear) -Scalar p45_ignoreNDCafter "NDC targets after this years are ignored, for example to exclude 2050 net zero targets" /2030/; -Scalar p45_minRatioOfCoverageToMax "only targets whose coverage is this times p45_bestNDCcoverage are considered. Use 1 for only best." /1.0/; -Scalar p45_useSingleYearCloseTo "if 0: use all. If > 0: use only one single NDC target per country closest to this year (use 2030.4 to prefer 2030 over 2035 over 2025)" /2030.4/; +Scalar p45_ignoreNDCafter "NDC targets after this years are ignored, for example to exclude 2050 net zero targets [year]" /2030/; +Scalar p45_minRatioOfCoverageToMax "only targets whose coverage is this times p45_bestNDCcoverage are considered. Use 1 for only best [0..1]" /1.0/; +Scalar p45_useSingleYearCloseTo "if 0: use all. If > 0: use only one single NDC target per country closest to this year (use 2030.4 to prefer 2030 over 2035 over 2025) [year]" /2030.4/; Set p45_NDCyearSet(ttot,all_regi) "YES for years whose NDC targets is used"; -Parameter p45_bestNDCcoverage(all_regi) "highest coverage of NDC targets within region"; -Parameter p45_distanceToOptyear(ttot,all_regi) "distance to p45_useSingleYearCloseTo to favor years in case of multiple equally good targets"; -Parameter p45_minDistanceToOptyear(all_regi) "minimal distance to p45_useSingleYearCloseTo per region"; +Parameter p45_bestNDCcoverage(all_regi) "highest coverage of NDC targets within region [0..1]"; +Parameter p45_distanceToOptyear(ttot,all_regi) "distance to p45_useSingleYearCloseTo to favor years in case of multiple equally good targets [year]"; +Parameter p45_minDistanceToOptyear(all_regi) "minimal distance to p45_useSingleYearCloseTo per region [year]"; p45_bestNDCcoverage(regi) = smax(t$(t.val <= p45_ignoreNDCafter AND t.val >= p45_ignoreNDCbefore), p45_2005shareTarget(t,regi)); display p45_bestNDCcoverage; @@ -99,9 +99,9 @@ if(p45_useSingleYearCloseTo > 0, ); *** first and last NDC year as a number -Parameter p45_firstNDCyear(all_regi) "last year with NDC coverage within region"; +Parameter p45_firstNDCyear(all_regi) "last year with NDC coverage within region [year]"; p45_firstNDCyear(regi) = smin( p45_NDCyearSet(t, regi), t.val ); -Parameter p45_lastNDCyear(all_regi) "last year with NDC coverage within region"; +Parameter p45_lastNDCyear(all_regi) "last year with NDC coverage within region [year]"; p45_lastNDCyear(regi) = smax( p45_NDCyearSet(t, regi), t.val ); display p45_NDCyearSet,p45_firstNDCyear,p45_lastNDCyear; diff --git a/modules/45_carbonprice/NDC/declarations.gms b/modules/45_carbonprice/NDC/declarations.gms index 1e7231d23..047578e39 100644 --- a/modules/45_carbonprice/NDC/declarations.gms +++ b/modules/45_carbonprice/NDC/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -7,20 +7,20 @@ *** SOF ./modules/45_carbonprice/NDC/declarations.gms Parameter -p45_CO2eqwoLU_actual(ttot,all_regi) "actual level of regional GHG emissions after previous iteration" -p45_CO2eqwoLU_goal(ttot,all_regi) "regional NDC target level of GHG emissions" -p45_factorRescaleCO2Tax(ttot,all_regi) "multiplicative factor to rescale CO2 taxes to achieve the climate targets" -p45_factorRescaleCO2TaxLtd(ttot,all_regi) "multiplicative factor to rescale CO2 taxes to achieve the climate targets limited to not-so-fast adaption" -p45_factorRescaleCO2Tax_iter(iteration,ttot,all_regi) "Track the changes of p45_factorRescaleCO2Tax over the iterations" -p45_factorRescaleCO2TaxLtd_iter(iteration,ttot,all_regi) "Track the changes of p45_factorRescaleCO2TaxLimited over the iterations" -p45_taxCO2eqFirstNDCyear(all_regi) "CO2eq tax in p45_firstNDCyear" -p45_taxCO2eqLastNDCyear(all_regi) "CO2eq tax in p45_lastNDCyear" -p45_CO2eqwoLU_actual_iter(iteration,ttot,all_regi) "actual level of regional GHG emissions p45_CO2eqwoLU_actual tracked over iterations" -p45_taxCO2eq_iter(iteration,ttot,all_regi) "CO2eq tax non-regi tracked over iterations" -p45_taxCO2eq_bau(ttot,all_regi) "level of CO2 taxes in business as usual run" +p45_CO2eqwoLU_actual(ttot,all_regi) "actual level of regional GHG emissions after previous iteration [MtCO2eq/yr]" +p45_CO2eqwoLU_goal(ttot,all_regi) "regional NDC target level of GHG emissions [MtCO2eq/yr]" +p45_CO2eqwoLU_actual_iter(iteration,ttot,all_regi) "actual level of regional GHG emissions p45_CO2eqwoLU_actual tracked over iterations [MtCO2eq/yr]" +p45_factorRescaleCO2Tax(ttot,all_regi) "multiplicative factor to rescale CO2 taxes to achieve the climate targets [1]" +p45_factorRescaleCO2TaxLtd(ttot,all_regi) "multiplicative factor to rescale CO2 taxes to achieve the climate targets limited to not-so-fast adaption [1]" +p45_factorRescaleCO2Tax_iter(iteration,ttot,all_regi) "Track the changes of p45_factorRescaleCO2Tax over the iterations [1]" +p45_factorRescaleCO2TaxLtd_iter(iteration,ttot,all_regi) "Track the changes of p45_factorRescaleCO2TaxLimited over the iterations [1]" +p45_taxCO2eqFirstNDCyear(all_regi) "CO2eq tax in p45_firstNDCyear [T$/GtC]" +p45_taxCO2eqLastNDCyear(all_regi) "CO2eq tax in p45_lastNDCyear [T$/GtC]" +p45_taxCO2eq_iter(iteration,ttot,all_regi) "CO2eq tax non-regi tracked over iterations [T$/GtC]" +p45_taxCO2eq_bau(ttot,all_regi) "level of CO2 taxes in business as usual run [T$/GtC]" ; -Scalar p45_adjustExponent "exponent in tax adjustment process"; +Scalar p45_adjustExponent "exponent in tax adjustment process [1]"; *** EOF ./modules/45_carbonprice/NDC/declarations.gms diff --git a/modules/45_carbonprice/NDC/not_used.txt b/modules/45_carbonprice/NDC/not_used.txt index a6074d37e..7186a99c3 100644 --- a/modules/45_carbonprice/NDC/not_used.txt +++ b/modules/45_carbonprice/NDC/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -6,9 +6,7 @@ # | Contact: remind@pik-potsdam.de name,type,reason cm_emiscen, switch, ??? -cm_co2_tax_2020, switch, ??? pm_ttot_val,parameter,??? -cm_co2_tax_growth,switch,??? cm_expoLinear_yearStart,switch,??? pm_globalMeanTemperature,input,questionnaire pm_temperatureImpulseResponseCO2,input,questionnaire @@ -20,4 +18,20 @@ pm_ttot_2_tall,input,questionnaire pm_shPPPMER,input,questionnaire pm_pop,input,questionnaire pm_gdp,input,questionnaire -cm_CO2priceRegConvEndYr,input,questionnaire +cm_peakBudgYr,input,added by codeCheck +fm_taxCO2eqHist,input,not needed +sm_budgetCO2eqGlob,input,no iterative target adjustment +vm_emiTe,input,no iterative target adjustment +vm_emiCdr,input,no iterative target adjustment +vm_emiMac,input,no iterative target adjustment +vm_emiAll,input,no iterative target adjustment +pm_budgetCO2eq,input,no iterative target adjustment +pm_ts,input,no iterative target adjustment +cm_iteration_max,input,no iterative target adjustment +cm_taxCO2_startyear,input,added by codeCheck +cm_taxCO2_expGrowth,input,added by codeCheck +cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck +cm_budgetCO2from2020,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff_tmp,input,no iterative target adjustment +sm_globalBudget_dev,input,no target adjustement diff --git a/modules/45_carbonprice/NDC/postsolve.gms b/modules/45_carbonprice/NDC/postsolve.gms index d38f723e1..356c5def0 100644 --- a/modules/45_carbonprice/NDC/postsolve.gms +++ b/modules/45_carbonprice/NDC/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -76,7 +76,7 @@ pm_taxCO2eq(t,regi)$(t.val gt p45_lastNDCyear(regi)) )/(p45_taxCO2eqConvergenceYear - p45_lastNDCyear(regi)); ***as a minimum, use BAU and have linear price increase starting from 1$ in 2030 -pm_taxCO2eq(t,regi)$(t.val gt 2030) = max( +pm_taxCO2eq(t,regi)$(t.val ge 2030) = max( pm_taxCO2eq(t,regi), p45_taxCO2eq_bau(t,regi), 1 * sm_DptCO2_2_TDpGtC * (1+(t.val-2030)*9/7), p45_taxCO2eq_bau(t,regi) diff --git a/modules/45_carbonprice/NDC/preloop.gms b/modules/45_carbonprice/NDC/preloop.gms index ad8d4bbff..804f26654 100644 --- a/modules/45_carbonprice/NDC/preloop.gms +++ b/modules/45_carbonprice/NDC/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/NDC/realization.gms b/modules/45_carbonprice/NDC/realization.gms index 82a054f77..86029bce2 100644 --- a/modules/45_carbonprice/NDC/realization.gms +++ b/modules/45_carbonprice/NDC/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -12,11 +12,11 @@ *' @limitations The NDC emission target refers to GHG emissions w/o land-use change and international bunkers. However, the submitted NDC targets of *' several countries include land-use emissions (e.g. Australia and US). See https://www4.unfccc.int/sites/NDCStaging/Pages/All.aspx. To be checked! -*** Next update (2023): -*** - Add NDC_2024.xlsx in /p/projects/rd3mod/inputdata/sources/UNFCCC_NDC/ on cluster, see README.txt in this folder +*** Next update (2025): +*** - Add NDC_2025-12-31.xlsx in /p/projects/rd3mod/inputdata/sources/UNFCCC_NDC/ on cluster, see README.txt in this folder *** - Set switch cm_NDC_version in ./main.gms to new year -*** - add 2024_cond, 2024_uncond to set NDC_version in ./core/sets.gms -*** - Add new 2024 option in mrremind: calcEmiTarget, calcCapTarget, readUNFCCC_NDC +*** - add 2025_cond, 2025_uncond to set NDC_version in ./core/sets.gms +*** - Add new 2026 option in mrremind: calcEmiTarget, calcCapTarget, readUNFCCC_NDC *####################### R SECTION START (PHASES) ############################## diff --git a/modules/45_carbonprice/NPi/datainput.gms b/modules/45_carbonprice/NPi/datainput.gms index fababf764..c74a2fbfd 100644 --- a/modules/45_carbonprice/NPi/datainput.gms +++ b/modules/45_carbonprice/NPi/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2022 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -12,7 +12,7 @@ pm_taxCO2eq(ttot,regi)$( (ttot.val ge 2025) AND (ttot.val le 2100)) = pm_taxCO2eq("2020",regi) + ( - ( 25 * sm_DptCO2_2_TDpGtC - pm_taxCO2eq("2020",regi) ) + ( 25 * sm_D2005_2_D2017 * sm_DptCO2_2_TDpGtC - pm_taxCO2eq("2020",regi) ) * ( (ttot.val - 2020) / (2100 - 2020) ) ** 2 diff --git a/modules/45_carbonprice/NPi/not_used.txt b/modules/45_carbonprice/NPi/not_used.txt index f350dfb4c..418cf7ed9 100644 --- a/modules/45_carbonprice/NPi/not_used.txt +++ b/modules/45_carbonprice/NPi/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2022 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -6,9 +6,7 @@ # | Contact: remind@pik-potsdam.de name,type,reason cm_emiscen, switch, ??? -cm_co2_tax_2020, switch, ??? pm_ttot_val,parameter,??? -cm_co2_tax_growth,switch,??? cm_expoLinear_yearStart,switch,??? pm_globalMeanTemperature,input,questionnaire pm_temperatureImpulseResponseCO2,input,questionnaire @@ -24,8 +22,24 @@ cm_iterative_target_adj,input,questionnaire pm_shPPPMER,input,questionnaire pm_pop,input,questionnaire pm_gdp,input,questionnaire -cm_CO2priceRegConvEndYr,input,questionnaire cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire cm_startyear,input,added by codeCheck +cm_peakBudgYr,input,added by codeCheck +fm_taxCO2eqHist,input,not needed +sm_budgetCO2eqGlob,input,no iterative target adjustment +vm_emiTe,input,no iterative target adjustment +vm_emiCdr,input,no iterative target adjustment +vm_emiMac,input,no iterative target adjustment +vm_emiAll,input,no iterative target adjustment +pm_budgetCO2eq,input,no iterative target adjustment +pm_ts,input,no iterative target adjustment +cm_iteration_max,input,no iterative target adjustment +cm_taxCO2_startyear,input,added by codeCheck +cm_taxCO2_expGrowth,input,added by codeCheck +cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck +cm_budgetCO2from2020,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff_tmp,input,no iterative target adjustment +sm_globalBudget_dev,input,no target adjustement diff --git a/modules/45_carbonprice/NPi/realization.gms b/modules/45_carbonprice/NPi/realization.gms index 8bb631735..39b9d82a1 100644 --- a/modules/45_carbonprice/NPi/realization.gms +++ b/modules/45_carbonprice/NPi/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2022 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -6,6 +6,10 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/NPi/realization.gms +*' @description This realization takes the carbon prices until 2020 from the input data +*' and implements as convergence scheme post 2020: parabolic convergence up to 25 US$2005/t CO2 +*' in the convergence year (here chosen as 2100) and then constant + *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/NPi/datainput.gms" *######################## R SECTION END (PHASES) ############################### diff --git a/modules/45_carbonprice/NPi2025/datainput.gms b/modules/45_carbonprice/NPi2025/datainput.gms new file mode 100755 index 000000000..0df1afaca --- /dev/null +++ b/modules/45_carbonprice/NPi2025/datainput.gms @@ -0,0 +1,23 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/45_carbonprice/NPi2025/datainput.gms + +***---------------------------- +*** CO2 Tax level growing exponentially from 2025 value taken from input data +***---------------------------- + +pm_taxCO2eq(ttot,regi)$(ttot.val le 2025) = fm_taxCO2eqHist(ttot,regi) * sm_DptCO2_2_TDpGtC; + +pm_taxCO2eq(t,regi)$(t.val gt 2025) = sum(ttot, pm_taxCO2eq(ttot,regi)$(ttot.val eq 2025)) + (t.val - 2025) * (20/75) * sm_DptCO2_2_TDpGtC; + +loop(ext_regi$sameas(ext_regi, "EUR_regi"), + pm_taxCO2eq(t,regi)$(t.val ge 2030 AND regi_group(ext_regi,regi)) = (fm_taxCO2eqHist("2030",regi)+ (t.val - 2030) * (20/75)) * sm_DptCO2_2_TDpGtC; + ); + +pm_taxCO2eq(t,regi)$(t.val gt 2100) = pm_taxCO2eq("2100",regi); !! to prevent huge taxes after 2100 and the resulting convergence problems, set taxes after 2100 equal to 2100 value + +*** EOF ./modules/45_carbonprice/NPi2025/datainput.gms diff --git a/modules/45_carbonprice/exponential/not_used.txt b/modules/45_carbonprice/NPi2025/not_used.txt old mode 100644 new mode 100755 similarity index 60% rename from modules/45_carbonprice/exponential/not_used.txt rename to modules/45_carbonprice/NPi2025/not_used.txt index ba75bf1dd..eefae6532 --- a/modules/45_carbonprice/exponential/not_used.txt +++ b/modules/45_carbonprice/NPi2025/not_used.txt @@ -23,7 +23,23 @@ pm_ttot_2_tall,input,questionnaire pm_shPPPMER,input,questionnaire pm_pop,input,questionnaire pm_gdp,input,questionnaire -cm_CO2priceRegConvEndYr,input,questionnaire cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire +cm_peakBudgYr,input,not needed +sm_D2005_2_D2017,input,not needed +sm_budgetCO2eqGlob,input,added by codeCheck +vm_emiTe,input,added by codeCheck +vm_emiCdr,input,added by codeCheck +vm_emiMac,input,added by codeCheck +vm_emiAll,input,added by codeCheck +pm_taxCO2eq_anchor_iterationdiff,input,added by codeCheck +pm_taxCO2eq_anchor_iterationdiff_tmp,input,added by codeCheck +pm_budgetCO2eq,input,added by codeCheck +pm_ts,input,added by codeCheck +cm_iteration_max,input,added by codeCheck +cm_taxCO2_startyear,input,added by codeCheck +cm_taxCO2_expGrowth,input,added by codeCheck +cm_budgetCO2from2020,input,added by codeCheck +cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck +sm_globalBudget_dev,input,no target adjustement diff --git a/modules/45_carbonprice/diffCurvPhaseIn2Lin/realization.gms b/modules/45_carbonprice/NPi2025/realization.gms old mode 100644 new mode 100755 similarity index 61% rename from modules/45_carbonprice/diffCurvPhaseIn2Lin/realization.gms rename to modules/45_carbonprice/NPi2025/realization.gms index a800943b2..dae15f412 --- a/modules/45_carbonprice/diffCurvPhaseIn2Lin/realization.gms +++ b/modules/45_carbonprice/NPi2025/realization.gms @@ -4,12 +4,12 @@ *** | AGPL-3.0, you are granted additional permissions described in the *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/diffCurvPhaseIn2Lin/realization.gms +*** SOF ./modules/45_carbonprice/NPi2025/realization.gms + +*' @description: This realization uses the carbon prices from the input (/p/projects/rd3mod/inputdata/sources/ExpertGuess) data up to 2025 (and for EUR, up to 2030) and thereafter assumes a linear increase to 20 USD in the period from 2025 to 2100. *####################### R SECTION START (PHASES) ############################## -$Ifi "%phase%" == "declarations" $include "./modules/45_carbonprice/diffCurvPhaseIn2Lin/declarations.gms" -$Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/diffCurvPhaseIn2Lin/datainput.gms" -$Ifi "%phase%" == "postsolve" $include "./modules/45_carbonprice/diffCurvPhaseIn2Lin/postsolve.gms" +$Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/NPi2025/datainput.gms" *######################## R SECTION END (PHASES) ############################### -*** EOF ./modules/45_carbonprice/diffCurvPhaseIn2Lin/realization.gms +*** EOF ./modules/45_carbonprice/NPi2025/realization.gms diff --git a/modules/45_carbonprice/NPi2025expo/datainput.gms b/modules/45_carbonprice/NPi2025expo/datainput.gms new file mode 100755 index 000000000..dccbc659d --- /dev/null +++ b/modules/45_carbonprice/NPi2025expo/datainput.gms @@ -0,0 +1,23 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/45_carbonprice/NPi2025expo/datainput.gms + +***---------------------------- +*** CO2 Tax level growing exponentially from 2025 value taken from input data +***---------------------------- + +pm_taxCO2eq(ttot,regi)$(ttot.val le 2025) = fm_taxCO2eqHist(ttot,regi) * sm_DptCO2_2_TDpGtC; + +pm_taxCO2eq(t,regi)$(t.val gt 2025) = sum(ttot, pm_taxCO2eq(ttot,regi)$(ttot.val eq 2025)) * cm_taxCO2_expGrowth**(t.val - 2025); + +loop(ext_regi$sameas(ext_regi, "EUR_regi"), + pm_taxCO2eq(t,regi)$(t.val ge 2030 AND regi_group(ext_regi,regi)) = fm_taxCO2eqHist("2030",regi) * sm_DptCO2_2_TDpGtC * cm_taxCO2_expGrowth**(t.val - 2030); +); + +pm_taxCO2eq(t,regi)$(t.val gt 2100) = pm_taxCO2eq("2100",regi); !! to prevent huge taxes after 2100 and the resulting convergence problems, set taxes after 2100 equal to 2100 value + +*** EOF ./modules/45_carbonprice/NPi2025expo/datainput.gms diff --git a/modules/45_carbonprice/linear/not_used.txt b/modules/45_carbonprice/NPi2025expo/not_used.txt old mode 100644 new mode 100755 similarity index 56% rename from modules/45_carbonprice/linear/not_used.txt rename to modules/45_carbonprice/NPi2025expo/not_used.txt index 92948f846..cfd59fed7 --- a/modules/45_carbonprice/linear/not_used.txt +++ b/modules/45_carbonprice/NPi2025expo/not_used.txt @@ -8,7 +8,7 @@ name,type,reason cm_emiscen, switch, ??? sm_c_2_co2,switch, ??? pm_ttot_val,parameter,??? -cm_co2_tax_growth,switch,??? +cm_startyear,switch,??? cm_iterative_target_adj,switch,??? cm_expoLinear_yearStart,switch,??? vm_co2eq,variable,??? @@ -23,7 +23,22 @@ pm_ttot_2_tall,input,questionnaire pm_shPPPMER,input,questionnaire pm_pop,input,questionnaire pm_gdp,input,questionnaire -cm_CO2priceRegConvEndYr,input,questionnaire cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire +cm_peakBudgYr,input,not needed +sm_D2005_2_D2017,input,not needed +sm_budgetCO2eqGlob,input,no iterative target adjustment +vm_emiTe,input,no iterative target adjustment +vm_emiCdr,input,no iterative target adjustment +vm_emiMac,input,no iterative target adjustment +vm_emiAll,input,no iterative target adjustment +pm_budgetCO2eq,input,no iterative target adjustment +pm_ts,input,no iterative target adjustment +cm_iteration_max,input,no iterative target adjustment +cm_taxCO2_startyear,input,added by codeCheck +cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck +cm_budgetCO2from2020,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff_tmp,input,no iterative target adjustment +sm_globalBudget_dev,input,no target adjustement diff --git a/modules/45_carbonprice/exponential/realization.gms b/modules/45_carbonprice/NPi2025expo/realization.gms old mode 100644 new mode 100755 similarity index 66% rename from modules/45_carbonprice/exponential/realization.gms rename to modules/45_carbonprice/NPi2025expo/realization.gms index 5faa5f15e..51f02991c --- a/modules/45_carbonprice/exponential/realization.gms +++ b/modules/45_carbonprice/NPi2025expo/realization.gms @@ -4,11 +4,12 @@ *** | AGPL-3.0, you are granted additional permissions described in the *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/exponential/realization.gms +*** SOF ./modules/45_carbonprice/NPi2025expo/realization.gms -*#' @description: This realization imeplents an exponential increase in carbon price from the predefined 2020 level. +*' @description: This realization takes the carbon prices until 2025 from the input data (for EUR until 2030) and implements an exponentially growing path afterwards *####################### R SECTION START (PHASES) ############################## -$Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/exponential/datainput.gms" +$Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/NPi2025expo/datainput.gms" *######################## R SECTION END (PHASES) ############################### -*** EOF ./modules/45_carbonprice/exponential/realization.gms + +*** EOF ./modules/45_carbonprice/NPi2025expo/realization.gms diff --git a/modules/45_carbonprice/NPiexpo/datainput.gms b/modules/45_carbonprice/NPiexpo/datainput.gms new file mode 100644 index 000000000..04ef89033 --- /dev/null +++ b/modules/45_carbonprice/NPiexpo/datainput.gms @@ -0,0 +1,21 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/45_carbonprice/NPiexpo/datainput.gms +***---------------------------- +*** CO2 Tax level +***---------------------------- + +*** CO2 tax level is calculated at an exponential increase from the tax level before cm_startyear + +Execute_Loadpoint "input_ref" pm_taxCO2eq = pm_taxCO2eq; + +*** calculate pm_taxCO2eq for year before startyear +pm_taxCO2eq(t,regi) = sum(ttot, pm_taxCO2eq(ttot,regi)$(ttot.val eq smax(ttot2$( ttot2.val lt cm_startyear ), ttot2.val))) * cm_taxCO2_expGrowth**(t.val-smax(ttot2$( ttot2.val lt cm_startyear ), ttot2.val)); +pm_taxCO2eq(t,regi)$(t.val gt 2100) = pm_taxCO2eq("2100",regi); !! to prevent huge taxes after 2100 and the resulting convergence problems, set taxes after 2100 equal to 2100 value + + +*** EOF ./modules/45_carbonprice/NPiexpo/datainput.gms diff --git a/modules/45_carbonprice/NPiexpo/not_used.txt b/modules/45_carbonprice/NPiexpo/not_used.txt new file mode 100644 index 000000000..6f185a95a --- /dev/null +++ b/modules/45_carbonprice/NPiexpo/not_used.txt @@ -0,0 +1,45 @@ +# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de +name,type,reason +cm_emiscen, switch, ??? +sm_c_2_co2,switch, ??? +pm_ttot_val,parameter,??? +cm_iterative_target_adj,switch,??? +cm_expoLinear_yearStart,switch,??? +vm_co2eq,variable,??? +vm_emiFgas,input,questionnaire +pm_globalMeanTemperature,input,questionnaire +pm_temperatureImpulseResponseCO2,input,questionnaire +pm_consPC,input,questionnaire +pm_GDPGross,input,questionnaire +pm_prtp,input,questionnaire +cm_carbonprice_temperatureLimit,input,questionnaire +pm_ttot_2_tall,input,questionnaire +pm_shPPPMER,input,questionnaire +pm_pop,input,questionnaire +pm_gdp,input,questionnaire +cm_NDC_divergentScenario,input,questionnaire +vm_demFeSector,input,questionnaire +pm_emifac,input,questionnaire +sm_DptCO2_2_TDpGtC,input,added by codeCheck +cm_peakBudgYr,input,added by codeCheck +fm_taxCO2eqHist,input,not needed +sm_D2005_2_D2017,input,not needed +sm_budgetCO2eqGlob,input,no iterative target adjustment +vm_emiTe,input,no iterative target adjustment +vm_emiCdr,input,no iterative target adjustment +vm_emiMac,input,no iterative target adjustment +vm_emiAll,input,no iterative target adjustment +pm_budgetCO2eq,input,no iterative target adjustment +pm_ts,input,no iterative target adjustment +cm_iteration_max,input,no iterative target adjustment +cm_taxCO2_startyear,input,added by codeCheck +cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck +cm_budgetCO2from2020,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff_tmp,input,no iterative target adjustment +sm_globalBudget_dev,input,no target adjustement diff --git a/modules/45_carbonprice/linear/realization.gms b/modules/45_carbonprice/NPiexpo/realization.gms similarity index 70% rename from modules/45_carbonprice/linear/realization.gms rename to modules/45_carbonprice/NPiexpo/realization.gms index ea2a7af13..87acb1022 100644 --- a/modules/45_carbonprice/linear/realization.gms +++ b/modules/45_carbonprice/NPiexpo/realization.gms @@ -4,11 +4,11 @@ *** | AGPL-3.0, you are granted additional permissions described in the *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/linear/realization.gms +*** SOF ./modules/45_carbonprice/NPiexpo/realization.gms -*#' @description: This realization imeplents an linear increase in carbon price from the predefined 2020 level. +*' @description: This realization implements an exponential increase in carbon price from the tax level before cm_startyear. *####################### R SECTION START (PHASES) ############################## -$Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/linear/datainput.gms" +$Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/NPiexpo/datainput.gms" *######################## R SECTION END (PHASES) ############################### -*** EOF ./modules/45_carbonprice/linear/realization.gms +*** EOF ./modules/45_carbonprice/NPiexpo/realization.gms diff --git a/modules/45_carbonprice/diffCurvPhaseIn2Lin/datainput.gms b/modules/45_carbonprice/diffCurvPhaseIn2Lin/datainput.gms deleted file mode 100644 index f7f2f48bd..000000000 --- a/modules/45_carbonprice/diffCurvPhaseIn2Lin/datainput.gms +++ /dev/null @@ -1,67 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/diffCurvPhaseIn2Lin/datainput.gms -***------------------------------------------------------------------------------------------------------------------------ -*** *BS* 20190930 linear convergence with starting points differentiated by GDP/capita, global price from 2040 -***----------------------------------------------------------------------------------------------------------------------- - - -*** convergence to global CO2 price depends on GDP per capita (in 1e3 $ PPP 2005). -p45_gdppcap2015_PPP(regi) = pm_gdp("2015",regi)/pm_shPPPMER(regi) / pm_pop("2015",regi); -display p45_gdppcap2015_PPP; - -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) le 3) = 0.1; -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 3 and p45_gdppcap2015_PPP(regi) le 5) = 0.2; -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 5 and p45_gdppcap2015_PPP(regi) le 8) = 0.3; -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 8 and p45_gdppcap2015_PPP(regi) le 11) = 0.5; -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 11 and p45_gdppcap2015_PPP(regi) le 14) = 0.65; -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 14 and p45_gdppcap2015_PPP(regi) le 19) = 0.8; -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 19 and p45_gdppcap2015_PPP(regi) le 24) = 0.9; -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 24) = 1; -display p45_phasein_2025ratio; - - -*** for the current implementation, use the following trajectory for rich countries: -*** global price is linear from 2010 until the pkBudgYr, then increases with c_taxCO2inc_after_peakBudgYr -if(cm_co2_tax_2020 lt 0, - abort "please choose a valid cm_co2_tax_2020" -elseif cm_co2_tax_2020 ge 0, -*** convert tax value from $/t CO2eq to T$/GtC - p45_CO2priceTrajDeveloped("2040")= 3 * cm_co2_tax_2020 * sm_DptCO2_2_TDpGtC; !! shifted to 2040 to make sure that even in delay scenarios the fixpoint of the linear price path is inside the "t" range, otherwise the CO2 prices from reference run may be overwritten -*** The factor 3 comes from shifting the 2020 value 20 years into the future at linear increase of 10% of 2020 value per year. -); - - - -p45_CO2priceTrajDeveloped(ttot)$((ttot.val gt 2005) AND (ttot.val ge cm_startyear)) = p45_CO2priceTrajDeveloped("2040")*( 1 + 0.1/3 * (ttot.val-2040)); !! no CO2 price in 2005 and only change CO2 prices after ; -*** annual increase by (10/3)% of the 2040 value is the same as a 10% increase of the 2020 value is the same as a linear increase from 0 in 2010 to the 2020/2040 value - - -*** Then create regional phase-in: -loop(ttot$((ttot.val ge cm_startyear) AND (ttot.val le cm_CO2priceRegConvEndYr) ), - p45_regCO2priceFactor(ttot,regi) = - min(1, - max(0, - p45_phasein_2025ratio(regi) + (1 - p45_phasein_2025ratio(regi)) - * Power( - ( (ttot.val - 2025) + (cm_CO2priceRegConvEndYr - 2025) * 0.1 ) - / ( (cm_CO2priceRegConvEndYr - 2025) * 1.1 ) - , 2 - ) !! use Power instead of ** to allow ttot be smaller than 2025, and thus the base to be negative - ) - ); -); -p45_regCO2priceFactor(ttot,regi)$(ttot.val ge cm_CO2priceRegConvEndYr) = 1; - - -*** transition to global price - starting point depends on GDP/cap -pm_taxCO2eq(t,regi) = p45_regCO2priceFactor(t,regi) * p45_CO2priceTrajDeveloped(t); - - -display p45_regCO2priceFactor, p45_CO2priceTrajDeveloped, pm_taxCO2eq; - -*** EOF ./modules/45_carbonprice/diffCurvPhaseIn2Lin/datainput.gms diff --git a/modules/45_carbonprice/diffCurvPhaseIn2Lin/declarations.gms b/modules/45_carbonprice/diffCurvPhaseIn2Lin/declarations.gms deleted file mode 100644 index c95313944..000000000 --- a/modules/45_carbonprice/diffCurvPhaseIn2Lin/declarations.gms +++ /dev/null @@ -1,22 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/diffCurvPhaseIn2Lin/declarations.gms -***------------------------------------------------------------------------------------------------------------------------ -*** *BS* 20190930 linear convergence with starting points differentiated by GDP/capita, global price from 2040 -***----------------------------------------------------------------------------------------------------------------------- - -parameters -p45_tauCO2_ref(ttot, all_regi) "CO2 tax path of reference policy (NDC)" -p45_gdppcap2015_PPP(all_regi) "2015 GDP per capita (k $ PPP 2005)" -p45_phasein_2025ratio(all_regi) "ratio of CO2 price to that of developed region in 2025" - -p45_regCO2priceFactor(ttot,all_regi) "regional multiplicative factor to the CO2 price of the developed countries" -p45_CO2priceTrajDeveloped(ttot) "CO2 price trajectory for developed/rich countries" -; - - -*** EOF ./modules/45_carbonprice/diffCurvPhaseIn2Lin/declarations.gms diff --git a/modules/45_carbonprice/diffCurvPhaseIn2Lin/postsolve.gms b/modules/45_carbonprice/diffCurvPhaseIn2Lin/postsolve.gms deleted file mode 100644 index a4cdfb194..000000000 --- a/modules/45_carbonprice/diffCurvPhaseIn2Lin/postsolve.gms +++ /dev/null @@ -1,32 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/diffCurvPhaseIn2Lin/postsolve.gms -***------------------------------------------------------------------------------------------------------------------------ -*** *BS* 20190930 linear convergence with starting points differentiated by GDP/capita, global price from 2040 -***----------------------------------------------------------------------------------------------------------------------- - -*** *** updated constant global price as scalar (regional prices are the same anyway) -*** s45_constantCO2price = sum((ttot,regi)$(ttot.val eq s45_stageend), pm_taxCO2eq(ttot,regi))/card(regi) ; -*** *** entire path has been shifted in update, so have to set these again -*** pm_taxCO2eq(ttot,regi)$(ttot.val le s45_stagestart) = p45_tauCO2_ref(ttot, regi); -*** pm_taxCO2eq(ttot,regi)$(ttot.val gt s45_stagestart and ttot.val lt s45_stageend) -*** = s45_constantCO2price * (ttot.val - p45_phasein_zeroyear(regi))/(s45_stageend - p45_phasein_zeroyear(regi)); -*** *** price trajectory should be constant anyway but let's be explicit here -*** pm_taxCO2eq(ttot,regi)$(ttot.val ge s45_stageend) = s45_constantCO2price; - - -*** re-create the regional differentation, use path from developed countries as the basis. -*** This doesn't need to be a loop, but it will be correct for any cycle of the loop, so also for the last cycle. -loop(regi$(p45_gdppcap2015_PPP(regi) gt 30), - p45_CO2priceTrajDeveloped(t) = pm_taxCO2eq(t,regi); -); - -*** linear transition to global price - starting point depends on GDP/cap -pm_taxCO2eq(t,regi) = p45_regCO2priceFactor(t,regi) * p45_CO2priceTrajDeveloped(t); - -display pm_taxCO2eq; -*** EOF ./modules/45_carbonprice/diffCurvPhaseIn2Lin/postsolve.gms diff --git a/modules/45_carbonprice/exogenous/datainput.gms b/modules/45_carbonprice/exogenous/datainput.gms index 10b7006e5..d37292070 100644 --- a/modules/45_carbonprice/exogenous/datainput.gms +++ b/modules/45_carbonprice/exogenous/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -9,7 +9,7 @@ *** CO2 Tax level ***---------------------------- -if((cm_emiscen eq 9), +if((cm_emiscen eq 9 AND cm_iterative_target_adj eq 0), p45_tau_co2_tax(ttot, regi) = 0; @@ -21,7 +21,7 @@ pm_taxCO2eq(ttot,regi)$(ttot.val ge 2005) = p45_tau_co2_tax(ttot,regi); else pm_taxCO2eq(ttot,regi)$(ttot.val ge 2005) = 0; -abort "Error: Please set cm_emiscen to 9"; +abort "Error: Please set cm_emiscen to 9 and cm_iterative_target_adj to 0"; ); *** EOF ./modules/45_carbonprice/exogenous/datainput.gms diff --git a/modules/45_carbonprice/exogenous/declarations.gms b/modules/45_carbonprice/exogenous/declarations.gms index a6667c04b..216448fbf 100644 --- a/modules/45_carbonprice/exogenous/declarations.gms +++ b/modules/45_carbonprice/exogenous/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -6,7 +6,7 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/exogenous/declarations.gms parameters - p45_tau_co2_tax(ttot,all_regi) "Exogenous CO2 tax level" + p45_tau_co2_tax(ttot,all_regi) "Exogenous CO2 tax level [T$/GtC]" ; *** EOF ./modules/45_carbonprice/exogenous/declarations.gms diff --git a/modules/45_carbonprice/exogenous/not_used.txt b/modules/45_carbonprice/exogenous/not_used.txt index 58ad010b8..5e413153f 100644 --- a/modules/45_carbonprice/exogenous/not_used.txt +++ b/modules/45_carbonprice/exogenous/not_used.txt @@ -1,15 +1,12 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason -cm_co2_tax_2020, switch, ??? sm_c_2_co2,switch, ??? pm_ttot_val,parameter,??? -cm_co2_tax_growth,switch,??? -cm_iterative_target_adj,switch,??? cm_expoLinear_yearStart,switch,??? vm_co2eq,variable,??? vm_emiFgas,input,questionnaire @@ -23,9 +20,26 @@ pm_ttot_2_tall,input,questionnaire pm_shPPPMER,input,questionnaire pm_pop,input,questionnaire pm_gdp,input,questionnaire -cm_CO2priceRegConvEndYr,input,questionnaire cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire sm_DptCO2_2_TDpGtC,input,questionnaire cm_startyear,input,questionnaire +cm_peakBudgYr,input,added by codeCheck +sm_D2005_2_D2017,input,not needed +fm_taxCO2eqHist,input,not needed +sm_budgetCO2eqGlob,input,no iterative target adjustment +vm_emiTe,input,no iterative target adjustment +vm_emiCdr,input,no iterative target adjustment +vm_emiMac,input,no iterative target adjustment +vm_emiAll,input,no iterative target adjustment +pm_budgetCO2eq,input,no iterative target adjustment +pm_ts,input,no iterative target adjustment +cm_iteration_max,input,no iterative target adjustment +cm_taxCO2_startyear,input,added by codeCheck +cm_taxCO2_expGrowth,input,added by codeCheck +cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck +cm_budgetCO2from2020,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff_tmp,input,no iterative target adjustment +sm_globalBudget_dev,input,no target adjustement diff --git a/modules/45_carbonprice/exogenous/realization.gms b/modules/45_carbonprice/exogenous/realization.gms index f9a59ec2a..c1fd09538 100644 --- a/modules/45_carbonprice/exogenous/realization.gms +++ b/modules/45_carbonprice/exogenous/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -6,7 +6,9 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/exogenous/realization.gms -*#' @description This realization implements carbon price trajectories from an exogenous file (p45_tau_co2_tax.inc). +*' @description This realization implements carbon price trajectories from an exogenous file (p45_tau_co2_tax.inc). +*' Alternatively, specify in 'path_gdx_carbonprice' the run to be used +*' Requires cm_emiscen = 9 and cm_iterative_target_adj = 0 *####################### R SECTION START (PHASES) ############################## diff --git a/modules/45_carbonprice/expoLinear/datainput.gms b/modules/45_carbonprice/expoLinear/datainput.gms index 9e3224e40..aadc34404 100644 --- a/modules/45_carbonprice/expoLinear/datainput.gms +++ b/modules/45_carbonprice/expoLinear/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -6,20 +6,33 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/expoLinear/datainput.gms -*** CO2 tax level is calculated at a 5% exponential increase from the 2020 tax level exogenously defined +*** Carbon price increases exponentially with rate given by cm_taxCO2_expGrowth (default = 4.5%) %) until cm_expoLinear_yearStart (defaults to 2060) +*** and then transitions into linear growth (with slope given by last timestep before cm_expoLinear_yearStart). +*** Not compatible with iterative adjustment of CO2 tax [i.e. requires cm_iterative_target_adj = 0] +*** Check that cm_iterative_target_adj is equal to 0 +if( cm_iterative_target_adj ne 0, + abort "The realization 45_carbonprice/expoLinear is only compatible with cm_iterative_target_adj = 0. Please adjust config file accordingly" +); + +if(cm_taxCO2_startyear le 0, + abort "please choose a valid cm_taxCO2_startyear" +elseif cm_taxCO2_startyear gt 0, *** convert tax value from $/t CO2eq to T$/GtC -pm_taxCO2eq("2020",regi)= cm_co2_tax_2020 * sm_DptCO2_2_TDpGtC; + s45_taxCO2_startyear = cm_taxCO2_startyear * sm_DptCO2_2_TDpGtC; +); -*LB* calculate tax path until cm_expoLinear_yearStart (defaults to 2060) -pm_taxCO2eq(ttot,regi)$(ttot.val ge max(2020,cm_startyear) ) = pm_taxCO2eq("2020",regi)*cm_co2_tax_growth**(ttot.val-2020); -*LB* use linear tax path from cm_expoLinear_yearStart on -p45_tau_co2_tax_inc(regi) = sum(ttot$(ttot.val eq cm_expoLinear_yearStart),((pm_taxCO2eq(ttot, regi) - pm_taxCO2eq(ttot - 1, regi)) / (pm_ttot_val(ttot) - pm_ttot_val(ttot - 1)))); -pm_taxCO2eq(ttot,regi)$(ttot.val gt cm_expoLinear_yearStart) = sum(t$(t.val eq cm_expoLinear_yearStart), pm_taxCO2eq(t, regi) + p45_tau_co2_tax_inc(regi) * (pm_ttot_val(ttot) - pm_ttot_val(t))) ; +*** calculate tax path until cm_expoLinear_yearStart (defaults to 2060) +pm_taxCO2eq(t,regi) = s45_taxCO2_startyear*cm_taxCO2_expGrowth**(t.val-cm_startyear); +*** use linear tax path from cm_expoLinear_yearStart on (with slope given by last timestep before cm_expoLinear_yearStart) +p45_taxCO2eq_expoLinearIncrease(regi) = sum(ttot$(ttot.val eq cm_expoLinear_yearStart), + ((pm_taxCO2eq(ttot, regi) - pm_taxCO2eq(ttot - 1, regi)) / (pm_ttot_val(ttot) - pm_ttot_val(ttot - 1)))); !! Using ttot to make use of pm_ttot_val +pm_taxCO2eq(t,regi)$(t.val gt cm_expoLinear_yearStart) = sum(t2$(t2.val eq cm_expoLinear_yearStart), pm_taxCO2eq(t2, regi)) + + p45_taxCO2eq_expoLinearIncrease(regi) * (t.val - cm_expoLinear_yearStart); *** set carbon price constant after 2110 to prevent huge carbon prices which lead to convergence problems -pm_taxCO2eq(ttot,regi)$(ttot.val gt 2110) = pm_taxCO2eq("2110",regi); +pm_taxCO2eq(t,regi)$(t.val gt 2110) = pm_taxCO2eq("2110",regi); display pm_taxCO2eq; -display p45_tau_co2_tax_inc; +display p45_taxCO2eq_expoLinearIncrease; *** EOF ./modules/45_carbonprice/expoLinear/datainput.gms diff --git a/modules/45_carbonprice/expoLinear/declarations.gms b/modules/45_carbonprice/expoLinear/declarations.gms index 57957ef32..aaa563e02 100644 --- a/modules/45_carbonprice/expoLinear/declarations.gms +++ b/modules/45_carbonprice/expoLinear/declarations.gms @@ -1,11 +1,16 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/expoLinear/declarations.gms + +scalar +s45_taxCO2_startyear "CO2 tax provided by cm_taxCO2_startyear converted from $/t CO2eq to T$/GtC" +; parameter -p45_tau_co2_tax_inc(all_regi) "Linear annual increase in carbon price T$/GtC/yr" +p45_taxCO2eq_expoLinearIncrease(all_regi) "Linear annual increase in carbon price [T$/GtC/yr] right before cm_expoLinear_yearStart" ; + *** EOF ./modules/45_carbonprice/expoLinear/declarations.gms diff --git a/modules/45_carbonprice/expoLinear/not_used.txt b/modules/45_carbonprice/expoLinear/not_used.txt index d79790db7..419ccd566 100644 --- a/modules/45_carbonprice/expoLinear/not_used.txt +++ b/modules/45_carbonprice/expoLinear/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -7,7 +7,6 @@ name,type,reason sm_c_2_co2,switch, ??? cm_emiscen,switch,??? -cm_iterative_target_adj,switch,??? vm_co2eq,variable,??? vm_emiFgas,input,questionnaire pm_globalMeanTemperature,input,questionnaire @@ -20,7 +19,22 @@ pm_ttot_2_tall,input,questionnaire pm_shPPPMER,input,questionnaire pm_pop,input,questionnaire pm_gdp,input,questionnaire -cm_CO2priceRegConvEndYr,input,questionnaire cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire +cm_peakBudgYr,input,added by codeCheck +sm_D2005_2_D2017,input,not needed +fm_taxCO2eqHist,input,not needed +sm_budgetCO2eqGlob,input,no iterative target adjustment +vm_emiTe,input,no iterative target adjustment +vm_emiCdr,input,no iterative target adjustment +vm_emiMac,input,no iterative target adjustment +vm_emiAll,input,no iterative target adjustment +pm_budgetCO2eq,input,no iterative target adjustment +pm_ts,input,no iterative target adjustment +cm_iteration_max,input,no iterative target adjustment +cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck +cm_budgetCO2from2020,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff_tmp,input,no iterative target adjustment +sm_globalBudget_dev,input,no target adjustement diff --git a/modules/45_carbonprice/expoLinear/realization.gms b/modules/45_carbonprice/expoLinear/realization.gms index c8af602cd..ee18e258e 100644 --- a/modules/45_carbonprice/expoLinear/realization.gms +++ b/modules/45_carbonprice/expoLinear/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -6,15 +6,16 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/expoLinear/realization.gms -*' @description The exponential price path goes back to the “Hotelling rule”: -*' a price path that rises exponentially with the discount rate is economically optimal for extracting a finite resource, -*' in our case the finite remaining carbon budget. However, once CDR is introduced to the portfolio of mitigation options, -*' the remaining admissible amount of cumulative gross CO2 emissions is no longer finite, and the Hotelling rule no longer represents an economically optimal solution. -*' A carbon price path following the Hotelling rule leads to rather low emission prices and therefore low emission reductions early in the century, -*' and to very high emission prices and massive CDR deployment towards the end of the century. -*' A Hotelling price path can only be considered optimal until the time of net-zero emissions. -*' Afterwards, a moderate carbon price increase is sufficient to avoid a return of fossil fuels. +*' @description The exponential price path goes back to the “Hotelling rule”: +*' a price path that rises exponentially with the discount rate is economically optimal for extracting a finite resource, +*' in our case the finite remaining carbon budget. However, once CDR is introduced to the portfolio of mitigation options, +*' the remaining admissible amount of cumulative gross CO2 emissions is no longer finite, and the Hotelling rule no longer represents an economically optimal solution. +*' A carbon price path following the Hotelling rule leads to rather low emission prices and therefore low emission reductions early in the century, +*' and to very high emission prices and massive CDR deployment towards the end of the century. +*' A Hotelling price path can only be considered optimal until the time of net-zero emissions. +*' Afterwards, a moderate carbon price increase is sufficient to avoid a return of fossil fuels. *' Therefore, we choose an exponentially increasing carbon price until the expected time of net-zero emissions and a linear increase at the rate of 2050 or 2060 afterwards. +*** Not compatible with iterative adjustment of CO2 tax [i.e. requires cm_iterative_target_adj = 0] *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "declarations" $include "./modules/45_carbonprice/expoLinear/declarations.gms" diff --git a/modules/45_carbonprice/exponential/datainput.gms b/modules/45_carbonprice/exponential/datainput.gms deleted file mode 100644 index fda2e1ac1..000000000 --- a/modules/45_carbonprice/exponential/datainput.gms +++ /dev/null @@ -1,28 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/exponential/datainput.gms -***---------------------------- -*** CO2 Tax level -***---------------------------- - -*** CO2 tax level is calculated at a 5% exponential increase from the 2020 tax level exogenously defined - -*GL: tax path in 10^12$/GtC = 1000 $/tC -*** according to Asian Modeling Excercise tax case setup, 30$/t CO2eq in 2020 = 0.110 k$/tC - -if(cm_co2_tax_2020 lt 0, -abort "please choose a valid cm_co2_tax_2020" -elseif cm_co2_tax_2020 ge 0, -*** cocnvert tax value from $/t CO2eq to T$/GtC -pm_taxCO2eq("2020",regi)= cm_co2_tax_2020 * sm_DptCO2_2_TDpGtC; -); - -pm_taxCO2eq(ttot,regi)$(ttot.val ge 2005) = pm_taxCO2eq("2020",regi)*cm_co2_tax_growth**(ttot.val-2020); -pm_taxCO2eq(ttot,regi)$(ttot.val gt 2110) = pm_taxCO2eq("2110",regi); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value - - -*** EOF ./modules/45_carbonprice/exponential/datainput.gms diff --git a/modules/45_carbonprice/functionalForm/datainput.gms b/modules/45_carbonprice/functionalForm/datainput.gms new file mode 100644 index 000000000..522ecb434 --- /dev/null +++ b/modules/45_carbonprice/functionalForm/datainput.gms @@ -0,0 +1,250 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/45_carbonprice/functionalForm/datainput.gms + +*** Check that cm_iterative_target_adj is equal to 0, 5, 7, or 9 +if( not ((cm_iterative_target_adj = 0) or (cm_iterative_target_adj eq 5) or (cm_iterative_target_adj eq 7) or (cm_iterative_target_adj eq 9) ), + abort "The realization 45_carbonprice/functionalForm is only compatible with cm_iterative_target_adj = 0, 5, 7 or 9. Please adjust config file accordingly" +); + +*** Read pm_taxCO2eq from path_gdx_ref +Execute_Loadpoint 'input_ref' p45_taxCO2eq_path_gdx_ref = pm_taxCO2eq; +display p45_taxCO2eq_path_gdx_ref; + +*** -------- initial declaration of parameters for iterative target adjustment +o45_reached_until2150pricepath(iteration) = 0; + + +***----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*** Part I (Global anchor trajectory): The functional form (linear/exponential) of the global anchor trajectory is chosen via cm_taxCO2_functionalForm. +*** The (initial) carbon price in cm_startyear is chosen via cm_taxCO2_startyear. This value is endogenously adjusted to meet CO2 budget targets if cm_iterative_target_adj is set to 5, 7, or 9. +*** (linear): The linear curve is determined by the two points (cm_taxCO2_historicalYr, cm_taxCO2_historical) and (cm_startyear, cm_taxCO2_startyear). +*** By default, cm_taxCO2_historicalYr is the last timestep before cm_startyear, and cm_taxCO2_historical is the carbon price in that timestep in the reference run (path_gdx_ref) - computed as the maximum of pm_taxCO2eq over all regions. +*** (exponential): The exponential curve is determined by exponential growth rate (cm_taxCO2_expGrowth). +***----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*** Convert tax value in start year from $/t CO2eq to T$/GtC +s45_taxCO2_startyear = cm_taxCO2_startyear * sm_DptCO2_2_TDpGtC; +*** Check that tax value in start year is strictly positive +if(s45_taxCO2_startyear le 0, + abort "please initialize cm_taxCO2_startyear by setting it to a positive value" +); + +$ifThen.taxCO2globalAnchor "%cm_taxCO2_functionalForm%" == "exponential" +*** price increases exponentially with growth rate cm_taxCO2_expGrowth from s45_taxCO2_startyear in startyear +p45_taxCO2eq_anchor(t) = s45_taxCO2_startyear * cm_taxCO2_expGrowth**(t.val - cm_startyear); +$elseIf.taxCO2globalAnchor "%cm_taxCO2_functionalForm%" == "linear" +*** Step I.1: Determine the point (s45_taxCO2_historicalYr, s45_taxCO2_historical) + +*** Set s45_taxCO2_historicalYr based on the switch cm_taxCO2_historicalYr +$ifthen.taxCO2historicalYr "%cm_taxCO2_historicalYr%" == "last" +*** Choose s45_taxCO2_historicalYr to be the last time period before start year +s45_taxCO2_historicalYr = smax(ttot$( ttot.val lt cm_startyear ), ttot.val); +$else.taxCO2historicalYr +*** Set s45_taxCO2_historicalYr to be the value provided by the switch +s45_taxCO2_historicalYr = %cm_taxCO2_historicalYr%; +$endif.taxCO2historicalYr +*** Check validity of s45_taxCO2_historicalYr +if((s45_taxCO2_historicalYr lt 2005) or (s45_taxCO2_historicalYr ge cm_startyear), + abort "please choose cm_taxCO2_historicalYr to be at least 2005 and strictly smaller than cm_startyear" +); +display s45_taxCO2_historicalYr; + +*** Set s45_taxCO2_historical based on the switch cm_taxCO2_historical +$ifthen.taxCO2historial "%cm_taxCO2_historical%" == "gdx_ref" +*** Check that s45_taxCO2_historicalYr is an element of ttot +if(sum(ttot$(ttot.val eq s45_taxCO2_historicalYr),1)=0, + abort "please choose cm_taxCO2_historicalYr to be last or an element of ttot" +); +*** Extract level of carbon price in s45_taxCO2_historicalYr (defined as maximum of pm_taxCO2eq over all regions) +s45_taxCO2_historical = smax( regi , sum ( ttot$(ttot.val eq s45_taxCO2_historicalYr) , p45_taxCO2eq_path_gdx_ref(ttot,regi) ) ); +$else.taxCO2historial +*** Set s45_taxCO2_historical to be the value provided by the switch, converted from $/t CO2eq to T$/GtC +s45_taxCO2_historical = %cm_taxCO2_historical% * sm_DptCO2_2_TDpGtC; +$endif.taxCO2historial +display s45_taxCO2_historical; +*** Make sure that initial carbon price trajectory is non-decreasing +if(s45_taxCO2_startyear lt s45_taxCO2_historical, + display s45_taxCO2_startyear; + abort "please make sure that cm_taxCO2_startyear is at least as large as the value provided by cm_taxCO2_historical" +); + +*** Step I.2: Create linear global anchor trajectory through the points (s45_taxCO2_historicalYr, s45_taxCO2_historical) and (cm_startyear, s45_taxCO2_startyear) +p45_taxCO2eq_anchor(t) = s45_taxCO2_historical + + (s45_taxCO2_startyear - s45_taxCO2_historical) / (cm_startyear - s45_taxCO2_historicalYr) !! Yearly increase of carbon price + * (t.val - s45_taxCO2_historicalYr) ; +$endIf.taxCO2globalAnchor + +***------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*** Part II (Post-peak behaviour): The global anchor trajectory can be adjusted after reaching the peak of global CO2 emissions in cm_peakBudgYr. +*** The (initial) choice of cm_peakBudgYr is endogenously adjusted if cm_iterative_target_adj is set to 7 or 9. +*** (with iterative_target_adj = 0): after cm_peakBudgYr, the global anchor trajectory increases linearly with fixed annual increase given by cm_taxCO2_IncAfterPeakBudgYr (default = 0, i.e. constant), +*** set cm_peakBudgYr = 2100 to avoid adjustment +*** (with iterative_target_adj = 5): no adjustment to the functional form after cm_peakBudgYr +*** (with iterative_target_adj = 7): after cm_peakBudgYr, the global anchor trajectory is adjusted so that global net CO2 emissions stay close to zero +*** (with iterative_target_adj = 9): after cm_peakBudgYr, the global anchor trajectory increases linearly with fixed annual increase given by cm_taxCO2_IncAfterPeakBudgYr (default = 0, i.e. constant) +***------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*** Save the original form of the global anchor trajectory so that it can be accessed if cm_peakBudgYr is shifted to the right +p45_taxCO2eq_anchor_until2150(t) = p45_taxCO2eq_anchor(t); + +*** Adjust global anchor trajectory so that after cm_peakBudgYr, it increases linearly with fixed annual increase given by cm_taxCO2_IncAfterPeakBudgYr +if((cm_iterative_target_adj = 0) or (cm_iterative_target_adj = 9), + p45_taxCO2eq_anchor(t)$(t.val gt cm_peakBudgYr) = sum(t2$(t2.val eq cm_peakBudgYr), p45_taxCO2eq_anchor_until2150(t2)) !! CO2 tax in peak budget year + + (t.val - cm_peakBudgYr) * cm_taxCO2_IncAfterPeakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2inc_after_peakBudgYr per year +); + +*** Always set carbon price constant after 2100 to prevent huge taxes after 2100 and the resulting convergence problems +p45_taxCO2eq_anchor(t)$(t.val gt 2100) = p45_taxCO2eq_anchor("2100"); +display p45_taxCO2eq_anchor_until2150, p45_taxCO2eq_anchor; + +***----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*** Part III (Regional differentiation): Regional carbon price differentiation relative to global anchor trajectory is chosen via cm_taxCO2_regiDiff. +*** (none): No regional differetiation, i.e. uniform carbon pricing +*** (initialSpread10): Maximal initial spread of carbon prices in 2030 between OECD regions and poorest region is equal to 10. Initial spread for each region determined based on GDP per capita (PPP) in 2015. Carbon prices converge using quadratic phase-in until cm_taxCO2_regiDiff_endYr (default = 2050). +*** (initialSpread20): Maximal initial spread of carbon prices in 2030 between OECD regions and poorest region is equal to 20. Initial spread for each region determined based on GDP per capita (PPP) in 2015. Carbon prices converge using quadratic phase-in until cm_taxCO2_regiDiff_endYr (default = 2050). +*** (gdpSpread): Regional differentiation based on GDP per capita (PPP) throughout the century. Uses current GDP per capita (PPP) of OECD countries - around 50'000 US$2017 - as threshold for application of full carbon price. +***----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*** Compute GDP per capita (in 1e3 $ PPP 2017) +p45_gdppcap_PPP(ttot,regi)$(ttot.val ge 2005) = pm_gdp(ttot,regi) / pm_shPPPMER(regi) / pm_pop(ttot,regi); +display p45_gdppcap_PPP; + +*** Define p45_regiDiff_convFactor based on chosen differentiation scheme +$ifThen.taxCO2regiDiff3 "%cm_taxCO2_regiDiff%" == "none" +p45_regiDiff_convFactor(t,regi) = 1; +$elseIf.taxCO2regiDiff3 "%cm_taxCO2_regiDiff%" == "gdpSpread" +*** Set s45_regiDiff_gdpThreshold (in 1e3 $ PPP 2017) +s45_regiDiff_gdpThreshold = 50; +*** Compute ratio between GDP per capita (in 1e3 $ PPP 2017) and s45_regiDiff_gdpThreshold, and upper bound it by 1 +p45_regiDiff_convFactor(t,regi) = min(p45_gdppcap_PPP(t,regi) / 50 , 1); +$else.taxCO2regiDiff3 +$ifThen.taxCO2regiDiff4 "%cm_taxCO2_regiDiff%" == "initialSpread10" +*** Define p45_regiDiff_initialRatio for maximal initial spread equal to 10 +p45_regiDiff_initialRatio(regi)$(p45_gdppcap_PPP("2015",regi) le 3.5) = 0.1; !! SSA +p45_regiDiff_initialRatio(regi)$(p45_gdppcap_PPP("2015",regi) gt 3.5 and p45_gdppcap_PPP("2015",regi) le 5) = 0.2; !! IND +p45_regiDiff_initialRatio(regi)$(p45_gdppcap_PPP("2015",regi) gt 5 and p45_gdppcap_PPP("2015",regi) le 10) = 0.3; !! OAS +p45_regiDiff_initialRatio(regi)$(p45_gdppcap_PPP("2015",regi) gt 10 and p45_gdppcap_PPP("2015",regi) le 15) = 0.5; !! CHA, LAM, MEA +p45_regiDiff_initialRatio(regi)$(p45_gdppcap_PPP("2015",regi) gt 15 and p45_gdppcap_PPP("2015",regi) le 20) = 0.7; !! REF +p45_regiDiff_initialRatio(regi)$(p45_gdppcap_PPP("2015",regi) gt 20) = 1; !! EUR, JPN, USA, CAZ, NEU +$elseIf.taxCO2regiDiff4 "%cm_taxCO2_regiDiff%" == "initialSpread20" +*** Define p45_regiDiff_initialRatio for maximal initial spread equal to 20 +p45_regiDiff_initialRatio(regi)$(p45_gdppcap_PPP("2015",regi) le 3.5) = 0.05; !! SSA +p45_regiDiff_initialRatio(regi)$(p45_gdppcap_PPP("2015",regi) gt 3.5 and p45_gdppcap_PPP("2015",regi) le 5) = 0.1; !! IND +p45_regiDiff_initialRatio(regi)$(p45_gdppcap_PPP("2015",regi) gt 5 and p45_gdppcap_PPP("2015",regi) le 10) = 0.2; !! OAS +p45_regiDiff_initialRatio(regi)$(p45_gdppcap_PPP("2015",regi) gt 10 and p45_gdppcap_PPP("2015",regi) le 15) = 0.4; !! CHA, LAM, MEA +p45_regiDiff_initialRatio(regi)$(p45_gdppcap_PPP("2015",regi) gt 15 and p45_gdppcap_PPP("2015",regi) le 20) = 0.6; !! REF +p45_regiDiff_initialRatio(regi)$(p45_gdppcap_PPP("2015",regi) gt 20) = 1; !! EUR, JPN, USA, CAZ, NEU +$endIf.taxCO2regiDiff4 +*** Set s45_regiDiff_startYr +s45_regiDiff_startYr = 2030; +*** Set p45_regiDiff_endYr based on data provided by switch cm_taxCO2_regiDiff_endYr +loop((ext_regi)$p45_regiDiff_endYr_data(ext_regi), + loop(regi$regi_groupExt(ext_regi,regi), + p45_regiDiff_endYr(regi) = p45_regiDiff_endYr_data(ext_regi); + ); +); +*** Set convergence factor equal to p45_regiDiff_initialRatio before s45_regiDiff_startYr: +p45_regiDiff_convFactor(t,regi)$(t.val lt s45_regiDiff_startYr) = p45_regiDiff_initialRatio(regi); +*** Set convergence factor equal to 1 from p45_regiDiff_endYr: +p45_regiDiff_convFactor(t,regi)$(t.val ge p45_regiDiff_endYr(regi)) = 1; +*** Create quadratic convergence between s45_regiDiff_startYr and p45_regiDiff_endYr: +loop((t,regi)$((t.val ge s45_regiDiff_startYr) and (t.val lt p45_regiDiff_endYr(regi))), + p45_regiDiff_convFactor(t,regi) = + min(1, + max(0, + p45_regiDiff_initialRatio(regi) + (1 - p45_regiDiff_initialRatio(regi)) * Power( (t.val - s45_regiDiff_startYr) / (p45_regiDiff_endYr(regi) - s45_regiDiff_startYr), 2) + ) + ); +); +display p45_regiDiff_initialRatio, p45_regiDiff_endYr; +$endIf.taxCO2regiDiff3 + +***Create regionally differentiated carbon price trajectories based on global anchor trajectory and p45_regiDiff_convFactor +p45_taxCO2eq_regiDiff(t,regi) = p45_regiDiff_convFactor(t,regi) * p45_taxCO2eq_anchor(t); +display p45_regiDiff_convFactor, p45_taxCO2eq_regiDiff; + +***--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*** Part IV (Interpolation from path_gdx_ref): To smoothen a potential jump of carbon prices in cm_startyear, an interpolation between (a) the carbon prices before cm_startyear provided by path_gdx_ref and (b) the carbon prices from cm_startyear onward defined by parts I-III can be chosen via cm_taxCO2_interpolation. +*** In addition, the carbon prices provided by path_gdx_ref are used as lower bound if switch cm_taxCO2_lowerBound_path_gdx_ref is on. +*** (off): no interpolation, i.e. (b) is used from cm_startyear onward +*** (one_step): linear interpolation within 10 years between (a) and (b). For example, if cm_startyear = 2030, it uses (a) until 2025, the average of (a) and (b) in 2030, and (b) from 2035. +*** (two_steps): linear interpolation within 15 years between (a) and (b). For example, if cm_startyear = 2030, it uses (a) until 2025, weighted averages of (a) and (b) in 2030 and 2035, and (b) from 2040. +*** For manual settings, see description of the switch +***--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*** Step IV.1: Set parameters for interpolation +*** Set linear interpolation as default +p45_interpolation_exponent(regi) = 1; +*** Set last timestep before cm_startyear as default for interpolation start +p45_interpolation_startYr(regi) = smax(ttot$( ttot.val lt cm_startyear ), ttot.val); + +$ifThen.CO2taxInterpolation2 "%cm_taxCO2_interpolation%" == "off" +*** No interpolation +p45_interpolation_endYr(regi) = p45_interpolation_startYr(regi); +$elseIf.CO2taxInterpolation2 "%cm_taxCO2_interpolation%" == "one_step" +*** Interpolation in 10 years, i.e. one intermediate step +p45_interpolation_endYr(regi) = smin(ttot$( ttot.val ge cm_startyear + 5), ttot.val); +$elseIf.CO2taxInterpolation2 "%cm_taxCO2_interpolation%" == "two_steps" +*** Interpolation in 15 years, i.e. two intermediate steps +p45_interpolation_endYr(regi) = smin(ttot$( ttot.val ge cm_startyear + 10), ttot.val); +$else.CO2taxInterpolation2 +*** Overwrite with p45_interpolation_exponent, p45_interpolation_startYr, and p45_interpolation_endYr according to manual settings +loop((ext_regi,ttot,ttot2)$p45_interpolation_data(ext_regi,ttot,ttot2), + loop(regi$regi_groupExt(ext_regi,regi), + p45_interpolation_exponent(regi) = p45_interpolation_data(ext_regi,ttot,ttot2); + p45_interpolation_startYr(regi) = ttot.val; + p45_interpolation_endYr(regi) = ttot2.val; + ); +); +$endIf.CO2taxInterpolation2 + +$ifThen.taxCO2startYearValue2 "%cm_taxCO2_startYearValue%" == "off" +$else.taxCO2startYearValue2 +*** Set manually chosen regional carbon price in cm_startyear +loop((ext_regi)$p45_taxCO2eq_startYearValue_data(ext_regi), + loop(regi$regi_groupExt(ext_regi,regi), + p45_taxCO2eq_startYearValue(regi) = p45_taxCO2eq_startYearValue_data(ext_regi) * sm_DptCO2_2_TDpGtC; !! Converted from $/t CO2eq to T$/GtC + ); +); +display p45_taxCO2eq_startYearValue; +*** Set interpolation start to cm_startyear +p45_interpolation_startYr(regi) = cm_startyear; +$endIf.taxCO2startYearValue2 +display p45_interpolation_exponent, p45_interpolation_startYr, p45_interpolation_endYr; + +*** Step IV.2: Create interpolation +$ifThen.taxCO2startYearValue3 "%cm_taxCO2_startYearValue%" == "off" +loop(regi, + pm_taxCO2eq(ttot,regi) = p45_taxCO2eq_path_gdx_ref(ttot,regi); !! Initialize pm_taxCO2eq with p45_taxCO2eq_path_gdx_ref. Then overwrite all time steps after cm_startyear and p45_interpolation_startYr(regi) + pm_taxCO2eq(t,regi)$((t.val ge p45_interpolation_startYr(regi)) and (t.val lt p45_interpolation_endYr(regi))) = + sum(ttot2$(ttot2.val eq p45_interpolation_startYr(regi)), p45_taxCO2eq_path_gdx_ref(ttot2,regi)) !! value of p45_taxCO2eq_path_gdx_ref in p45_interpolation_startYr + * (1 - rPower( (t.val - p45_interpolation_startYr(regi)) / (p45_interpolation_endYr(regi) - p45_interpolation_startYr(regi)), p45_interpolation_exponent(regi))) + + sum(t2$(t2.val eq p45_interpolation_endYr(regi)), p45_taxCO2eq_regiDiff(t2,regi)) !! value of p45_taxCO2eq_regiDiff in p45_interpolation_endYr + * rPower( (t.val - p45_interpolation_startYr(regi)) / (p45_interpolation_endYr(regi) - p45_interpolation_startYr(regi)), p45_interpolation_exponent(regi)); + pm_taxCO2eq(t,regi)$(t.val ge p45_interpolation_endYr(regi)) = p45_taxCO2eq_regiDiff(t,regi); +); +$else.taxCO2startYearValue3 +loop(regi, + pm_taxCO2eq(ttot,regi) = p45_taxCO2eq_path_gdx_ref(ttot,regi); !! Initialize pm_taxCO2eq with p45_taxCO2eq_path_gdx_ref. Then overwrite all time steps after cm_startyear + pm_taxCO2eq(t,regi)$(t.val lt p45_interpolation_endYr(regi)) = + p45_taxCO2eq_startYearValue(regi) + * (1 - rPower( (t.val - cm_startyear) / (p45_interpolation_endYr(regi) - cm_startyear), p45_interpolation_exponent(regi))) + + sum(t2$(t2.val eq p45_interpolation_endYr(regi)), p45_taxCO2eq_regiDiff(t2,regi)) !! value of p45_taxCO2eq_regiDiff in p45_interpolation_endYr + * rPower( (t.val - cm_startyear) / (p45_interpolation_endYr(regi) - cm_startyear), p45_interpolation_exponent(regi)); + pm_taxCO2eq(t,regi)$(t.val ge p45_interpolation_endYr(regi)) = p45_taxCO2eq_regiDiff(t,regi); +); +$endIf.taxCO2startYearValue3 +display pm_taxCO2eq; + +*** Step IV.3: Lower bound pm_taxCO2eq by p45_taxCO2eq_path_gdx_ref if switch cm_taxCO2_lowerBound_path_gdx_ref is on +$ifthen.lowerBound "%cm_taxCO2_lowerBound_path_gdx_ref%" == "on" + pm_taxCO2eq(t,regi) = max(pm_taxCO2eq(t,regi), p45_taxCO2eq_path_gdx_ref(t,regi)); +$endIf.lowerBound +display pm_taxCO2eq; + +*** EOF ./modules/45_carbonprice/functionalForm/datainput.gms diff --git a/modules/45_carbonprice/functionalForm/declarations.gms b/modules/45_carbonprice/functionalForm/declarations.gms new file mode 100644 index 000000000..c68d1dbf4 --- /dev/null +++ b/modules/45_carbonprice/functionalForm/declarations.gms @@ -0,0 +1,95 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/45_carbonprice/functionalForm/declarations.gms + +scalars +s45_taxCO2_startyear "CO2 tax provided by cm_taxCO2_startyear converted from $/t CO2eq to T$/GtC" + +$ifThen.taxCO2functionalForm1 "%cm_taxCO2_functionalForm%" == "linear" +s45_taxCO2_historical "historical level of CO2 tax converted from $/t CO2eq to T$/GtC" +s45_taxCO2_historicalYr "year of s45_taxCO2_historical" +$endIf.taxCO2functionalForm1 + +$ifThen.taxCO2regiDiff1 "%cm_taxCO2_regiDiff%" == "none" +$elseIf.taxCO2regiDiff1 "%cm_taxCO2_regiDiff%" == "gdpSpread" +s45_regiDiff_gdpThreshold "reference value for GDP per capita (1e3 $ PPP 2017) above which carbon price from global anchor trajectory is fully applied" +$else.taxCO2regiDiff1 +s45_regiDiff_startYr "year until which initial ratios of CO2 prices are applied and after which convergence starts" +$endIf.taxCO2regiDiff1 +; + +parameters +p45_taxCO2eq_anchor(ttot) "global anchor trajectory for regional CO2 price trajectories in T$/GtC = $/kgC" +p45_taxCO2eq_anchor_until2150(ttot) "global anchor trajectory continued until 2150 - as if there was no change in trajectory after cm_peakBudgYr. Needed if cm_peakBudgYr was shifted right" +p45_taxCO2eq_regiDiff(ttot,all_regi) "regional differentiated CO2 price trajectories in T$/GtC = $/kgC, used as intermediate step in deriving pm_taxCO2eq from p45_taxCO2eq_anchor" +p45_taxCO2eq_path_gdx_ref(ttot,all_regi) "CO2 tax trajectories from path_gdx_ref" + +p45_gdppcap_PPP(ttot,all_regi) "GDP per capita (1e3 $ PPP 2017)" +p45_regiDiff_convFactor(ttot,all_regi) "convergence factor for regional differentiation" +*** Only declaring additional parameters if cm_taxCO2_regiDiff is set to initialSpread10 or initialSpread20 +$ifThen.taxCO2regiDiff2 "%cm_taxCO2_regiDiff%" == "none" +$elseIf.taxCO2regiDiff2 "%cm_taxCO2_regiDiff%" == "gdpSpread" +$else.taxCO2regiDiff2 +p45_regiDiff_initialRatio(all_regi) "inital ratio between global anchor and regional differentiated CO2 price trajectories" +p45_regiDiff_endYr(all_regi) "end year of regional differentiation, i.e. regional carbon price equal to global anchor trajectory thereafter" +p45_regiDiff_endYr_data(ext_regi) "data provided by switch cm_taxCO2_regiDiff_endYr" +/ %cm_taxCO2_regiDiff_endYr% / +$endIf.taxCO2regiDiff2 + +p45_interpolation_startYr(all_regi) "start year of interpolation from p45_taxCO2eq_path_gdx_ref to p45_taxCO2eq_regiDiff" +p45_interpolation_endYr(all_regi) "end year of interpolation from p45_taxCO2eq_path_gdx_ref to p45_taxCO2eq_regiDiff" +p45_interpolation_exponent(all_regi) "interpolation exponent" +*** Only assigning values to p45_interpolation_data if cm_taxCO2_interpolation is not set to off, one_step, or two_steps +$ifThen.taxCO2interpolation1 "%cm_taxCO2_interpolation%" == "off" +$elseIf.taxCO2interpolation1 "%cm_taxCO2_interpolation%" == "one_step" +$elseIf.taxCO2interpolation1 "%cm_taxCO2_interpolation%" == "two_steps" +$else.taxCO2interpolation1 +p45_interpolation_data(ext_regi,ttot,ttot2) "regional exponent and timewindow for interpolation" +/ %cm_taxCO2_interpolation% / +$endIf.taxCO2interpolation1 +*** Only assigning values to p45_taxCO2eq_startYearValue if cm_taxCO2_startYearValue is not off +$ifThen.taxCO2startYearValue1 "%cm_taxCO2_startYearValue%" == "off" +$else.taxCO2startYearValue1 +p45_taxCO2eq_startYearValue_data(ext_regi) "input data for manually chosen regional carbon price in cm_startyear in $/t CO2eq" +/ %cm_taxCO2_startYearValue% / +p45_taxCO2eq_startYearValue(all_regi) "manually chosen regional carbon price in cm_startyear in $/t CO2eq" +$endIf.taxCO2startYearValue1 +; + + + +*** Scalars only used in functionForm/postsolve.gms +scalars +s45_actualbudgetco2 "actual level of 2020-2100 cumulated emissions, including all CO2 for last iteration" +s45_actualbudgetco2_last "actual level of 2020-2100 cumulated emissions for previous iteration" /0/ +s45_factorRescale_taxCO2_exponent_before10 "exponent determining sensitivity before iteration 10" +s45_factorRescale_taxCO2_exponent_from10 "exponent determining sensitivity of CO2 price adjustment to CO2 budget deviation from iteration 10" +; + +*** Parameters only used in functionForm/postsolve.gms +parameters +p45_actualbudgetco2(ttot) "actual level of cumulated emissions starting from 2020 [GtCO2]" + +p45_taxCO2eq_iteration(iteration,ttot,all_regi) "save pm_taxCO2eq in each iteration (before entering functionalForm/postsolve.gms) for debugging" +p45_taxCO2eq_anchor_iteration(iteration,ttot) "save p45_taxCO2eq_anchor in each iteration (before entering functionalForm/postsolve.gms) for debugging" +o45_taxCO2eq_anchor_iterDiff_Itr(iteration) "track pm_taxCO2eq_anchor_iterationdiff in 2100 over iterations" + +o45_diff_to_Budg(iteration) "Difference between actual CO2 budget and target CO2 budget" +o45_totCO2emi_peakBudgYr(iteration) "Total CO2 emissions in the peakBudgYr" +o45_peakBudgYr_Itr(iteration) "Year in which the CO2 budget is supposed to peak. Is changed in iterative_target_adjust = 9" +o45_factorRescale_taxCO2_afterPeakBudgYr(iteration) "Multiplicative factor for rescaling the CO2 price in the year after peakBudgYr - only needed if flip-flopping of peakBudgYr occurs" +o45_delay_increase_peakBudgYear(iteration) "Counter that tracks if flip-flopping of peakBudgYr happened. Starts an inner loop to try and overcome this" +o45_reached_until2150pricepath(iteration) "Counter that tracks if the inner loop of increasing the CO2 price AFTER peakBudgYr goes beyond the initial trajectory" +o45_totCO2emi_allYrs(ttot,iteration) "Global CO2 emissions over time and iterations. Needed to check the procedure to find the peakBudgYr" +o45_change_totCO2emi_peakBudgYr(iteration) "Measure for how much the CO2 emissions change around the peakBudgYr" +p45_factorRescale_taxCO2(iteration) "Multiplicative factor for rescaling the CO2 price to reach the target" +p45_factorRescale_taxCO2_Funneled(iteration) "Multiplicative factor for rescaling the CO2 price to reach the target - limited by an iteration-dependent funnel" +o45_pkBudgYr_flipflop(iteration) "Counter that tracks if flipfloping of cm_peakBudgYr occured in the last iterations" +; + + +*** EOF ./modules/45_carbonprice/functionalForm/declarations.gms diff --git a/modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt b/modules/45_carbonprice/functionalForm/not_used.txt similarity index 83% rename from modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt rename to modules/45_carbonprice/functionalForm/not_used.txt index 6d7ccb555..07e57f96a 100644 --- a/modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt +++ b/modules/45_carbonprice/functionalForm/not_used.txt @@ -5,17 +5,12 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason -sm_c_2_co2,input,questionnaire vm_co2eq,input,questionnaire vm_emiFgas,input,questionnaire pm_globalMeanTemperature,input,questionnaire pm_temperatureImpulseResponseCO2,input,questionnaire pm_GDPGross,input,questionnaire -pm_ttot_val,input,questionnaire pm_ttot_2_tall,input,questionnaire -cm_emiscen,input,questionnaire -cm_co2_tax_growth,input,questionnaire -cm_iterative_target_adj,input,questionnaire cm_expoLinear_yearStart,input,questionnaire cm_carbonprice_temperatureLimit,input,questionnaire cm_NDC_divergentScenario,input,questionnaire @@ -23,3 +18,5 @@ pm_consPC,input,questionnaire pm_prtp,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire +sm_D2005_2_D2017,input,not needed +fm_taxCO2eqHist,input,not needed diff --git a/modules/45_carbonprice/functionalForm/postsolve.gms b/modules/45_carbonprice/functionalForm/postsolve.gms new file mode 100644 index 000000000..34b90b5aa --- /dev/null +++ b/modules/45_carbonprice/functionalForm/postsolve.gms @@ -0,0 +1,387 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/45_carbonprice/functionalForm/postsolve.gms + +***----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*** Part 0 (Actual CO2 budget): If iterative_target_adj = 0, 7 or 9, compute actual CO2 peak budget in current iteration. If iterative_target_adj = 5, compute actual CO2 end-of-century budget in current iteration. +***----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*** `p45_actualbudgetco2(ttot)` includes emissions from 2020 to `ttot` (inclusive). +p45_actualbudgetco2(ttot)$( 2020 lt ttot.val ) + = sum((regi,ttot2)$( 2020 le ttot2.val AND ttot2.val le ttot.val ), + ( vm_emiTe.l(ttot2,regi,"co2") + vm_emiCdr.l(ttot2,regi,"co2") + vm_emiMac.l(ttot2,regi,"co2")) + * ( (0.5 + pm_ts(ttot2) / 2)$( ttot2.val eq 2020 ) !! second half of the 2020 period (mid 2020 - end 2022) plus 0.5 to account fo beginning 2020 - mid 2020 + + (pm_ts(ttot2))$( 2020 lt ttot2.val AND ttot2.val lt ttot.val ) !! entire middle periods + + ((pm_ttot_val(ttot) - pm_ttot_val(ttot-1)) / 2 + 0.5)$(ttot2.val eq ttot.val ) !! first half of the final period plus 0.5 to account fo mid - end of final year + ) + ) + * sm_c_2_co2; + +if(cm_iterative_target_adj = 5, !! End-of-century budget + s45_actualbudgetco2 = sum(t$(t.val eq 2100),p45_actualbudgetco2(t)); +else !! Peak budget + s45_actualbudgetco2 = smax(t$(t.val le cm_peakBudgYr AND t.val le 2100),p45_actualbudgetco2(t)); + o45_peakBudgYr_Itr(iteration) = cm_peakBudgYr; +); + +display p45_actualbudgetco2, s45_actualbudgetco2; + +*** Copied from postsolve algorithm for cm_iterative_target_adj = 5. TODO: Check where cm_emiscen eq 6 is used and if this should be kept. +if ((cm_emiscen eq 6) AND (cm_iterative_target_adj eq 5), + if(o_modelstat eq 2 AND ord(iteration) 0, !! if budget positive + + !! if end-of-century budget is higher than budget at peak point, AND end-of-century budget is already in the range of the target budget (+/- 50 GtC), treat as end-of-century budget + !! for this iteration. Only do this rough approach (jump to 2100) for the first iterations - at later iterations the slower adjustment of the peaking time should work better + if( (cm_iterative_target_adj eq 9) AND ( p45_actualbudgetco2("2100") > 1.1 * s45_actualbudgetco2 ) AND ( abs(cm_budgetCO2from2020 - s45_actualbudgetco2) < 50 ) AND (iteration.val < 12), + display iteration; + display "this is likely an end-of-century budget with no net negative emissions at all. Shift cm_peakBudgYr to 2100"; + cm_peakBudgYr = 2100; + !! due to the potential strong jump in cm_peakBudgYr, which implies that the CO2 price will increase over a longer time horizon, + !! take the average of the budget at the old peak time and the new peak time + s45_actualbudgetco2 = 0.5 * (p45_actualbudgetco2("2100") + s45_actualbudgetco2); + ); + + !! CO2 tax rescale factor + if(iteration.val lt 10, + p45_factorRescale_taxCO2(iteration) = max(0.1, (s45_actualbudgetco2/cm_budgetCO2from2020) ) ** s45_factorRescale_taxCO2_exponent_before10; + else + p45_factorRescale_taxCO2(iteration) = max(0.1, (s45_actualbudgetco2/cm_budgetCO2from2020) ) ** s45_factorRescale_taxCO2_exponent_from10; + ); + p45_factorRescale_taxCO2_Funneled(iteration) + = max(min( 2 * EXP( -0.15 * iteration.val ) + 1.01 ,p45_factorRescale_taxCO2(iteration)), + 1/ ( 2 * EXP( -0.15 * iteration.val ) + 1.01) + ); + else !! if budget has turned negative, reduce CO2 price by 20% + !! CO2 tax rescale factor + p45_factorRescale_taxCO2(iteration) = 0.8; + p45_factorRescale_taxCO2_Funneled(iteration) = p45_factorRescale_taxCO2(iteration); + ); + display p45_taxCO2eq_anchor, p45_taxCO2eq_anchor_until2150, p45_factorRescale_taxCO2, p45_factorRescale_taxCO2_Funneled; + + !! Apply CO2 tax rescale factor + p45_taxCO2eq_anchor_until2150(t) = max(1* sm_DptCO2_2_TDpGtC, p45_taxCO2eq_anchor_until2150(t) * p45_factorRescale_taxCO2_Funneled(iteration) ); + display p45_taxCO2eq_anchor_until2150; + + !! If functionalForm is linear, re-adjust global anchor trajectory to go through the point (cm_taxCO2_historicalYr, cm_taxCO2_historical) +$ifThen.taxCO2functionalForm4 "%cm_taxCO2_functionalForm%" == "linear" + p45_taxCO2eq_anchor_until2150(t) = s45_taxCO2_historical + + (sum(t2$(t2.val eq cm_peakBudgYr), p45_taxCO2eq_anchor_until2150(t2)) - s45_taxCO2_historical) / (cm_peakBudgYr - s45_taxCO2_historicalYr) !! Yearly increase of CO2 price that interpolates between cm_taxCO2_historical in cm_taxCO2_historicalYr and p45_taxCO2eq_anchor_until2150 in peak year + * (t.val - s45_taxCO2_historicalYr) ; + display p45_taxCO2eq_anchor_until2150; +$endIf.taxCO2functionalForm4 + + !! Use rescaled p45_taxCO2eq_anchor_until2150 as starting point for re-defining p45_taxCO2eq_anchor + p45_taxCO2eq_anchor(t) = p45_taxCO2eq_anchor_until2150(t); + + if(cm_iterative_target_adj = 9, !! After cm_peakBudgYr, the global anchor trajectory increases linearly with fixed annual increase given by cm_taxCO2_IncAfterPeakBudgYr + p45_taxCO2eq_anchor(t)$(t.val gt cm_peakBudgYr) = sum(t2$(t2.val eq cm_peakBudgYr), p45_taxCO2eq_anchor_until2150(t2)) !! CO2 tax in peak budget year + + (t.val - cm_peakBudgYr) * cm_taxCO2_IncAfterPeakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2inc_after_peakBudgYr per year + ); + !! Always set carbon price constant after 2100 to prevent huge taxes after 2100 and the resulting convergence problems + p45_taxCO2eq_anchor(t)$(t.val gt 2100) = p45_taxCO2eq_anchor("2100"); + + !! Compute difference for debugging + pm_taxCO2eq_anchor_iterationdiff(t) = p45_taxCO2eq_anchor(t) - p45_taxCO2eq_anchor_iteration(iteration,t); + o45_taxCO2eq_anchor_iterDiff_Itr(iteration) = pm_taxCO2eq_anchor_iterationdiff("2100"); + + display p45_taxCO2eq_anchor, pm_taxCO2eq_anchor_iterationdiff, o45_taxCO2eq_anchor_iterDiff_Itr; + + ); !! if( (o_modelstat ne 2) OR (abs(sm_globalBudget_dev -1) le 0.01) OR (ord(iteration) = cm_iteration_max), +); !! if((cm_iterative_target_adj eq 5) OR (cm_iterative_target_adj eq 9), + + +*** -------B: checking the peak timing, if cm_peakBudgYr is still correct or needs to be shifted----------------------- +*** -------- this step only applies for peak budget targets----------------------------------------------------------- +if(cm_iterative_target_adj eq 9, + o45_diff_to_Budg(iteration) = (cm_budgetCO2from2020 - s45_actualbudgetco2); + o45_totCO2emi_peakBudgYr(iteration) = sum(t$(t.val = cm_peakBudgYr), sum(regi2, vm_emiAll.l(t,regi2,"co2")) ); + o45_totCO2emi_allYrs(t,iteration) = sum(regi2, vm_emiAll.l(t,regi2,"co2") ); + + !! calculate how fast emissions are changing around the peaking time to get an idea how close it is possible to get to 0 due to the 5(10) year time steps + o45_change_totCO2emi_peakBudgYr(iteration) = sum(ttot$(ttot.val = cm_peakBudgYr), (o45_totCO2emi_allYrs(ttot-1,iteration) - o45_totCO2emi_allYrs(ttot+1,iteration) )/4 ); !! Only gives a tolerance range, exact value not important. Division by 4 somewhat arbitrary - could be 3 or 5 as well. + + display cm_peakBudgYr, o45_diff_to_Budg, o45_peakBudgYr_Itr, o45_totCO2emi_allYrs, o45_totCO2emi_peakBudgYr, o45_change_totCO2emi_peakBudgYr; + + + !!----B1: check if cm_peakBudgYr should be shifted left or right: + if( abs(o45_diff_to_Budg(iteration)) < 20, !! only think about shifting peakBudgYr if the budget is close enough to target budget + display "close enough to target budget to check timing of peak year"; + + !! check if the target year was just shifted back left after being shifted right before + if ( (iteration.val > 2) AND ( o45_peakBudgYr_Itr(iteration - 1) > o45_peakBudgYr_Itr(iteration) ) AND ( o45_peakBudgYr_Itr(iteration - 2) = o45_peakBudgYr_Itr(iteration) ), + o45_pkBudgYr_flipflop(iteration) = 1; + display "flipflop observed (before loop)"; + ); + + loop(ttot$(ttot.val = cm_peakBudgYr), !! look at the peak timing + if( ( (o45_totCO2emi_peakBudgYr(iteration) < -(0.1 + o45_change_totCO2emi_peakBudgYr(iteration)) ) AND (cm_peakBudgYr > 2040) ), !! no peaking time before 2040 + display "shift peakBudgYr left"; + o45_peakBudgYr_Itr(iteration+1) = pm_ttot_val(ttot - 1); + p45_taxCO2eq_anchor(t)$(t.val gt pm_ttot_val(ttot - 1)) = p45_taxCO2eq_anchor_until2150(ttot-1) + (t.val - pm_ttot_val(ttot - 1)) * cm_taxCO2_IncAfterPeakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2_IncAfterPeakBudgYr per year after peakBudgYr + + elseif (( o45_totCO2emi_peakBudgYr(iteration) > (0.1 + o45_change_totCO2emi_peakBudgYr(iteration)) ) AND (cm_peakBudgYr < 2100)), !! if peaking time would be after 2100, keep 2100 budget year + if( (o45_pkBudgYr_flipflop(iteration) eq 1), !! if the target year was just shifted left after being shifted right, and would now be shifted right again + display "peakBudgYr was left, right, left and is now supposed to be shifted right again -> flipflop, thus go into separate loop"; + o45_peakBudgYr_Itr(iteration+1) = o45_peakBudgYr_Itr(iteration); !! don't shift right again immediately, but go into a different loop: + o45_delay_increase_peakBudgYear(iteration) = 1; + elseif ( o45_delay_increase_peakBudgYear(iteration) eq 1 ), + display "still in separate loop trying to resolve flip-flop behavior"; + o45_peakBudgYr_Itr(iteration+1) = o45_peakBudgYr_Itr(iteration); !! keep current peakBudgYr, + else + display "shift peakBudgYr right"; + o45_peakBudgYr_Itr(iteration+1) = pm_ttot_val(ttot + 1); !! ttot+1 is the new peakBudgYr + loop(t$(t.val ge pm_ttot_val(ttot + 1)), + p45_taxCO2eq_anchor(t) = p45_taxCO2eq_anchor_until2150(ttot+1) + + (t.val - pm_ttot_val(ttot + 1)) * cm_taxCO2_IncAfterPeakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2_IncAfterPeakBudgYr per year + ); + ); + + else !! don't do anything if the peakBudgYr is already at the corner values (2040, 2100) or if the emissions in the peakBudgYr are close enough to 0 (within the range of +/- o45_change_totCO2emi_peakBudgYr) + o45_peakBudgYr_Itr(iteration+1) = o45_peakBudgYr_Itr(iteration) + ); + ); + cm_peakBudgYr = o45_peakBudgYr_Itr(iteration+1); + display cm_peakBudgYr; + ); + p45_taxCO2eq_anchor(t)$(t.val le cm_peakBudgYr) = p45_taxCO2eq_anchor_until2150(t); !! until peakBudgYr, take the contiuous price trajectory + + !!-----B2: if there was a flip-floping of cm_peakBudgYr in the previous iterations, try to overome this by adjusting the CO2 price path after the peaking year + if (o45_delay_increase_peakBudgYear(iteration) = 1, + display "not shifting peakBudgYr right, instead adjusting CO2 price for following year"; + loop(ttot$(ttot.val eq cm_peakBudgYr), !! set ttot to the current peakBudgYr + loop(t2$(t2.val eq pm_ttot_val(ttot+1)), !! set t2 to the following time step + o45_factorRescale_taxCO2_afterPeakBudgYr(iteration) = 1 + max(sum(regi2,vm_emiAll.l(ttot,regi2,"co2"))/sum(regi2,vm_emiAll.l("2015",regi2,"co2")),-0.75) ; + !! this was inspired by Christoph's approach. This value is 1 if emissions in the peakBudgYr are 0; goes down to 0.25 if emissions are <0 and approaching the size of 2015 emissions, and > 1 if emissions > 0. + + !! in case the normal linear extension still is not enough to get emissions to 0 after the peakBudgYr, shift peakBudgYr right again: + if( ( o45_reached_until2150pricepath(iteration-1) eq 1 ) AND ( o45_totCO2emi_peakBudgYr(iteration) > (0.1 + o45_change_totCO2emi_peakBudgYr(iteration)) ), + display "price in following year reached original path in previous iteration and is still not enough -> shift peakBudgYr to right"; + o45_delay_increase_peakBudgYear(iteration+1) = 0; !! probably is not necessary + o45_reached_until2150pricepath(iteration) = 0; + o45_peakBudgYr_Itr(iteration+1) = t2.val; !! shift PeakBudgYear to the following time step + p45_taxCO2eq_anchor(t2) = p45_taxCO2eq_anchor_until2150(t2) ; !! set CO2 price in t2 to value in the "continuous path" + + elseif ( ( o45_reached_until2150pricepath(iteration-1) eq 1 ) AND ( o45_totCO2emi_peakBudgYr(iteration) < (0.1 + o45_change_totCO2emi_peakBudgYr(iteration)) ) ), + display "New intermediate price in timestep after cm_peakBudgYr is sufficient to stabilize peaking year - go back to normal loop"; + o45_delay_increase_peakBudgYear(iteration+1) = 0; !! probably is not necessary + o45_reached_until2150pricepath(iteration) = 0; + o45_peakBudgYr_Itr(iteration+1) = o45_peakBudgYr_Itr(iteration); + + else !! either didn't reach the continued "until2150"-price path in last iteration, or the increase was high enough to get emissions to 0. + !! in this case, keep PeakBudgYr, and adjust the price in the year after the peakBudgYr to get emissions close to 0, + o45_delay_increase_peakBudgYear(iteration+1) = 1; !! make sure next iteration peakBudgYr is not shifted right again + o45_peakBudgYr_Itr(iteration+1) = o45_peakBudgYr_Itr(iteration); + p45_taxCO2eq_anchor(t2) = max(p45_taxCO2eq_anchor(ttot), !! at least as high as the price in the peakBudgYr + p45_taxCO2eq_anchor(t2) * (o45_factorRescale_taxCO2_afterPeakBudgYr(iteration) / p45_factorRescale_taxCO2_Funneled(iteration) ) !! the full path was already rescaled by p45_factorRescale_taxCO2_Funneled, so adjust the second rescaling + ); + loop(regi, !! this loop is necessary to allow the <-comparison in the next if statement + if( p45_taxCO2eq_anchor_until2150(t2) < p45_taxCO2eq_anchor(t2) , !! check if new price would be higher than the price if the peakBudgYr would be one timestep later + display "price increase reached price from path with cm_peakBudgYr one timestep later - downscale to 99%"; + p45_taxCO2eq_anchor(t2) = 0.99 * p45_taxCO2eq_anchor_until2150(t2); !! reduce the new CO2 price to 99% of the price that it would be if the peaking year was one timestep later. The next iteration will show if this is enough, otherwise cm_peakBudgYr will be shifted right + o45_reached_until2150pricepath(iteration) = 1; !! upward CO2 price correction reached the continued price path - check in next iteration if this is high enough. + ); + ); + ); + + display o45_factorRescale_taxCO2_afterPeakBudgYr; + p45_taxCO2eq_anchor(t)$(t.val gt t2.val) = p45_taxCO2eq_anchor(t2) + (t.val - t2.val) * cm_taxCO2_IncAfterPeakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2_IncAfterPeakBudgYr per year + ); !! loop t2$(t2.val eq pm_ttot_val(ttot+1)), !! set t2 to the following time step + ); !! loop ttot$(ttot.val eq cm_peakBudgYr), !! set ttot to the current peakBudgYr + cm_peakBudgYr = o45_peakBudgYr_Itr(iteration+1); !! this has to happen outside the loop, otherwise the loop condition might be true twice + ); !! if o45_delay_increase_peakBudgYear(iteration) = 1, !! if there was a flip-floping in the previous iterations, try to solve this + display p45_taxCO2eq_anchor, p45_taxCO2eq_anchor_until2150, o45_delay_increase_peakBudgYear, o45_reached_until2150pricepath, o45_peakBudgYr_Itr, o45_pkBudgYr_flipflop, cm_peakBudgYr; +); !! if cm_iterative_target_adj eq 9, + +*** --------ALGORITHM for cm_iterative_target_adj eq 7 ---------------------------------------------------------------------------------------- +*** Algorithm for ENGAGE peakBudg formulation that results in a peak budget with zero net CO2 emissions afterwards +if(cm_iterative_target_adj eq 7, + if(o_modelstat eq 2 AND ord(iteration) 0 AND abs(cm_budgetCO2from2020 - s45_actualbudgetco2) ge 0.5, !!only for optimal iterations, and not after the last one, and only if budget still possitive, and only if target not yet reached + display p45_taxCO2eq_anchor; +*** make sure that iteration converges: +*** use multiplicative for budgets higher than 1600 Gt; for lower budgets, use multiplicative adjustment only for first 3 iterations, + if(ord(iteration) lt 3 or cm_budgetCO2from2020 > 1600, + !! change in CO2 price through adjustment: new price - old price; needed for adjustment option 2 + pm_taxCO2eq_anchor_iterationdiff(t) = p45_taxCO2eq_anchor(t) * min(max((s45_actualbudgetco2/cm_budgetCO2from2020)** (25/(2 * iteration.val + 23)),0.5+iteration.val/208),2 - iteration.val/102) - p45_taxCO2eq_anchor(t); + p45_taxCO2eq_anchor(t)$(t.val le cm_peakBudgYr) = p45_taxCO2eq_anchor(t) + pm_taxCO2eq_anchor_iterationdiff(t) ; + p45_taxCO2eq_anchor_until2150(t) = p45_taxCO2eq_anchor_until2150(t) + pm_taxCO2eq_anchor_iterationdiff(t) ; +*** then switch to triangle-approximation based on last two iteration data points + else + !! change in CO2 price through adjustment: new price - old price; the two instances of "p45_taxCO2eq_anchor" cancel out -> only the difference term + !! until cm_peakBudgYr: expolinear price trajectory + pm_taxCO2eq_anchor_iterationdiff_tmp(t) = + max(pm_taxCO2eq_anchor_iterationdiff(t) * min(max((cm_budgetCO2from2020 - s45_actualbudgetco2)/(s45_actualbudgetco2 - s45_actualbudgetco2_last),-2),2),-p45_taxCO2eq_anchor(t)/2); + p45_taxCO2eq_anchor(t)$(t.val le cm_peakBudgYr) = p45_taxCO2eq_anchor(t) + + max(pm_taxCO2eq_anchor_iterationdiff(t) * min(max((cm_budgetCO2from2020 - s45_actualbudgetco2)/(s45_actualbudgetco2 - s45_actualbudgetco2_last),-2),2),-p45_taxCO2eq_anchor(t)/2); + p45_taxCO2eq_anchor_until2150(t) = p45_taxCO2eq_anchor_until2150(t) + + max(pm_taxCO2eq_anchor_iterationdiff(t) * min(max((cm_budgetCO2from2020 - s45_actualbudgetco2)/(s45_actualbudgetco2 - s45_actualbudgetco2_last),-2),2),-p45_taxCO2eq_anchor_until2150(t)/2); + pm_taxCO2eq_anchor_iterationdiff(t) = pm_taxCO2eq_anchor_iterationdiff_tmp(t); + !! after cm_peakBudgYr: adjustment so that emissions become zero: increase/decrease tax in each time step after cm_peakBudgYr by percentage of that year's total CO2 emissions of 2015 emissions + ); + o45_taxCO2eq_anchor_iterDiff_Itr(iteration) = pm_taxCO2eq_anchor_iterationdiff("2100"); + display o45_taxCO2eq_anchor_iterDiff_Itr; + else + if(s45_actualbudgetco2 > 0 or abs(cm_budgetCO2from2020 - s45_actualbudgetco2) < 2, !! if model was not optimal, or if budget already reached, keep tax constant + p45_taxCO2eq_anchor(t) = p45_taxCO2eq_anchor(t); + else +*** if budget has turned negative, reduce CO2 price by 20% + p45_taxCO2eq_anchor(t) = 0.8*p45_taxCO2eq_anchor(t); + p45_taxCO2eq_anchor_until2150(t) = 0.8*p45_taxCO2eq_anchor_until2150(t); + ); + ); +*** after cm_peakBudgYr: always adjust to bring emissions close to zero + p45_taxCO2eq_anchor(t)$(t.val gt cm_peakBudgYr) = p45_taxCO2eq_anchor(t) + p45_taxCO2eq_anchor(t)*max(sum(regi2,vm_emiAll.l(t,regi2,"co2"))/sum(regi2,vm_emiAll.l("2015",regi2,"co2")),-0.75); + +*** check if cm_peakBudgYr is correct: if global emissions already negative, move cm_peakBudgYr forward +*** similar code block as used in iterative-adjust 9 below (credit to RP) + o45_diff_to_Budg(iteration) = (cm_budgetCO2from2020 - s45_actualbudgetco2); + o45_totCO2emi_peakBudgYr(iteration) = sum(t$(t.val = cm_peakBudgYr), sum(regi2, vm_emiAll.l(t,regi2,"co2")) ); + o45_totCO2emi_allYrs(t,iteration) = sum(regi2, vm_emiAll.l(t,regi2,"co2") ); + o45_change_totCO2emi_peakBudgYr(iteration) = sum(ttot$(ttot.val = cm_peakBudgYr), (o45_totCO2emi_allYrs(ttot-1,iteration) - o45_totCO2emi_allYrs(ttot+1,iteration) )/4 ); !! Only gives a tolerance range, exact value not important. Division by 4 somewhat arbitrary - could be 3 or 5 as well. + + display cm_peakBudgYr, o45_diff_to_Budg, o45_peakBudgYr_Itr, o45_totCO2emi_allYrs, o45_totCO2emi_peakBudgYr, o45_change_totCO2emi_peakBudgYr; + +***if( sum(t,sum(regi2,vm_emiAll.l(t,regi2,"co2")$(t.val = cm_peakBudgYr))) < -0.1, +*** cm_peakBudgYr = tt.val(t - 1)$(t.val = cm_peakBudgYr); +***); + + if( abs(o45_diff_to_Budg(iteration)) < 20, !! only think about shifting peakBudgYr if the budget is close enough to target budget + display "close enough to target budget to check timing of peak year"; + loop(ttot$(ttot.val = cm_peakBudgYr), !! look at the peak timing +*** if( ( (o45_totCO2emi_peakBudgYr(iteration) < -(0.1 + o45_change_totCO2emi_peakBudgYr(iteration)) ) AND (cm_peakBudgYr > 2040) ), !! no peaking time before 2040 + if( ( (o45_totCO2emi_peakBudgYr(iteration) < -(0.1) ) AND (cm_peakBudgYr > 2040) ), !! no peaking time before 2040 + display "shift peakBudgYr left"; + o45_peakBudgYr_Itr(iteration+1) = pm_ttot_val(ttot - 1); +*** p45_taxCO2eq_anchor(t)$(t.val gt pm_ttot_val(ttot - 1)) = p45_taxCO2eq_anchor_until2150(ttot-1) + (t.val - pm_ttot_val(ttot - 1)) * cm_taxCO2_IncAfterPeakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2_IncAfterPeakBudgYr per year after peakBudgYr +*** if tax after cm_peakBudgYr is higher than normal increase rate (exceeding a 20% tolerance): shift right + elseif( ( sum(regi, sum(t2$(t2.val = pm_ttot_val(ttot+1)),p45_taxCO2eq_anchor(t2))) > sum(regi,sum(t2$(t2.val = pm_ttot_val(ttot+1)),p45_taxCO2eq_anchor_until2150(t2)))*1.2 ) AND (cm_peakBudgYr < 2100) ), !! if peaking time would be after 2100, keep 2100 budget year + if( (iteration.val > 2) AND ( o45_peakBudgYr_Itr(iteration - 1) > o45_peakBudgYr_Itr(iteration) ) AND ( o45_peakBudgYr_Itr(iteration - 2) = o45_peakBudgYr_Itr(iteration) ) , !! if the target year was just shifted left after being shifted right + o45_peakBudgYr_Itr(iteration+1) = o45_peakBudgYr_Itr(iteration); !! don't shift right again immediately + else + display "shift peakBudgYr right"; + o45_peakBudgYr_Itr(iteration+1) = pm_ttot_val(ttot + 1); !! ttot+1 is the new peakBudgYr + loop(t$(t.val ge pm_ttot_val(ttot + 1)), + p45_taxCO2eq_anchor(t) = p45_taxCO2eq_anchor_until2150(t); + ); + ); + + else !! don't do anything if the peakBudgYr is already at the corner values (2040, 2100) or if the emissions in the peakBudgYr are close to 0 + o45_peakBudgYr_Itr(iteration+1) = o45_peakBudgYr_Itr(iteration) + ); + ); + cm_peakBudgYr = o45_peakBudgYr_Itr(iteration+1); + display cm_peakBudgYr; + ); +*** If functionalForm is linear, re-adjust global anchor trajectory to go through the point (cm_taxCO2_historicalYr, cm_taxCO2_historical) +$ifThen.taxCO2functionalForm3 "%cm_taxCO2_functionalForm%" == "linear" + p45_taxCO2eq_anchor_until2150(t) = s45_taxCO2_historical + + (sum(t2$(t2.val eq cm_peakBudgYr), p45_taxCO2eq_anchor_until2150(t2)) - s45_taxCO2_historical) / (cm_peakBudgYr - s45_taxCO2_historicalYr) !! Yearly increase of CO2 price that interpolates between cm_taxCO2_historical in cm_taxCO2_historicalYr and p45_taxCO2eq_anchor_until2150 in peak year + * (t.val - s45_taxCO2_historicalYr) ; + p45_taxCO2eq_anchor(t)$(t.val le cm_peakBudgYr) = p45_taxCO2eq_anchor_until2150(t); + p45_taxCO2eq_anchor(t)$(t.val gt 2100) = p45_taxCO2eq_anchor("2100"); +***TODO: CHECK IF ALGORITHM DOES WHAT IS EXPECTED. CURRENTLY NO RE-ADJUSTMENT OF GLOBAL ANCHOR TRAJECTORY BETWEEN PEAK YEAR AND 2100 AS NO SUCH ADJUSTMENT WAS CONTAINED IN ORIGINAL ALGORITHM +$endIf.taxCO2functionalForm3 + +display p45_taxCO2eq_anchor_until2150, p45_taxCO2eq_anchor; +); !! if(cm_iterative_target_adj eq 7, + +*** Save s45_actualbudgetco2 for having it available in next iteration: +s45_actualbudgetco2_last = s45_actualbudgetco2; + + +***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*** Part III (Regional differentiation): Re-create regional carbon price trajectories p45_taxCO2eq_regiDiff using p45_taxCO2eq_anchor (updated in parts I-II above) and p45_regiDiff_convFactor (computed in datainput) +***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +p45_taxCO2eq_regiDiff(t,regi) = p45_regiDiff_convFactor(t,regi) * p45_taxCO2eq_anchor(t); +display p45_taxCO2eq_regiDiff; + +***------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +*** Part IV (Interpolation from path_gdx_ref): Re-create interpolation based on p45_taxCO2eq_regiDiff (updated in part III above) and p45_interpolation_exponent, p45_interpolation_startYr, p45_interpolation_endYr (computed in datainput) +***----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*** Re-reate interpolation for all timesteps after cm_startyear +$ifThen.taxCO2startYearValue4 "%cm_taxCO2_startYearValue%" == "off" +loop(regi, + pm_taxCO2eq(t,regi)$(t.val lt p45_interpolation_startYr(regi)) = p45_taxCO2eq_path_gdx_ref(t,regi); + pm_taxCO2eq(t,regi)$((t.val ge p45_interpolation_startYr(regi)) and (t.val lt p45_interpolation_endYr(regi))) = + sum(ttot2$(ttot2.val eq p45_interpolation_startYr(regi)), p45_taxCO2eq_path_gdx_ref(ttot2,regi)) !! value of p45_taxCO2eq_path_gdx_ref in p45_interpolation_startYr + * (1 - rPower( (t.val - p45_interpolation_startYr(regi)) / (p45_interpolation_endYr(regi) - p45_interpolation_startYr(regi)), p45_interpolation_exponent(regi))) + + sum(t2$(t2.val eq p45_interpolation_endYr(regi)), p45_taxCO2eq_regiDiff(t2,regi)) !! value of p45_taxCO2eq_regiDiff in p45_interpolation_endYr + * rPower( (t.val - p45_interpolation_startYr(regi)) / (p45_interpolation_endYr(regi) - p45_interpolation_startYr(regi)), p45_interpolation_exponent(regi)); + pm_taxCO2eq(t,regi)$(t.val ge p45_interpolation_endYr(regi)) = p45_taxCO2eq_regiDiff(t,regi); +); +$else.taxCO2startYearValue4 +loop(regi, + pm_taxCO2eq(t,regi)$(t.val lt p45_interpolation_startYr(regi)) = p45_taxCO2eq_path_gdx_ref(t,regi); + pm_taxCO2eq(t,regi)$(t.val lt p45_interpolation_endYr(regi)) = + p45_taxCO2eq_startYearValue(regi) + * (1 - rPower( (t.val - cm_startyear) / (p45_interpolation_endYr(regi) - cm_startyear), p45_interpolation_exponent(regi))) + + sum(t2$(t2.val eq p45_interpolation_endYr(regi)), p45_taxCO2eq_regiDiff(t2,regi)) !! value of p45_taxCO2eq_regiDiff in p45_interpolation_endYr + * rPower( (t.val - cm_startyear) / (p45_interpolation_endYr(regi) - cm_startyear), p45_interpolation_exponent(regi)); + pm_taxCO2eq(t,regi)$(t.val ge p45_interpolation_endYr(regi)) = p45_taxCO2eq_regiDiff(t,regi); +); +$endIf.taxCO2startYearValue4 +display pm_taxCO2eq; + +*** Re-introduce lower bound pm_taxCO2eq by p45_taxCO2eq_path_gdx_ref if switch cm_taxCO2_lowerBound_path_gdx_ref is on +$ifthen.lowerBound "%cm_taxCO2_lowerBound_path_gdx_ref%" == "on" + pm_taxCO2eq(t,regi) = max(pm_taxCO2eq(t,regi), p45_taxCO2eq_path_gdx_ref(t,regi)); +$endIf.lowerBound +display pm_taxCO2eq; + +); !! if((cm_emiscen eq 9) AND ((cm_iterative_target_adj eq 5) OR (cm_iterative_target_adj eq 7) OR (cm_iterative_target_adj eq 9)), +*** EOF ./modules/45_carbonprice/functionalForm/postsolve.gms diff --git a/modules/45_carbonprice/functionalForm/realization.gms b/modules/45_carbonprice/functionalForm/realization.gms new file mode 100644 index 000000000..01adef33b --- /dev/null +++ b/modules/45_carbonprice/functionalForm/realization.gms @@ -0,0 +1,46 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/45_carbonprice/functionalForm/realization.gms + +*' @description: Carbon price trajectory follows a prescribed functional form (linear/exponential) - either until peak year or until end-of-century - +*' and can be endogenously adjusted to meet CO2 budget targets - either peak or end-of-century - that are formulated in terms of total cumulated CO2 emissions from 2020 (c_budgetCO2from2020). +*' Flexible choices for regional carbon price differentiation. + +*' -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*' The realization uses a global anchor trajectory based on which the regional carbon price trajectories are defined. +*' Part I (Global anchor trajectory): The functional form (linear/exponential) of the global anchor trajectory is chosen via cm_taxCO2_functionalForm. +*' The (initial) carbon price in cm_startyear is chosen via cm_taxCO2_startyear. This value is endogenously adjusted to meet CO2 budget targets if cm_iterative_target_adj is set to 5, 7, or 9. +*' (linear): The linear curve is determined by the two points (cm_taxCO2_historicalYr, cm_taxCO2_historical) and (cm_startyear, cm_taxCO2_startyear). +*' By default, cm_taxCO2_historicalYr is the last timestep before cm_startyear, and cm_taxCO2_historical is the carbon price in that timestep in the reference run (path_gdx_ref) - computed as the maximum of pm_taxCO2eq over all regions. +*' (exponential): The exponential curve is determined by exponential growth rate (cm_taxCO2_expGrowth). +*' Part II (Post-peak behaviour): The global anchor trajectory can be adjusted after reaching the peak of global CO2 emissions in cm_peakBudgYr. +*' The (initial) choice of cm_peakBudgYr is endogenously adjusted if cm_iterative_target_adj is set to 7 or 9. +*' (with iterative_target_adj = 0): after cm_peakBudgYr, the global anchor trajectory increases linearly with fixed annual increase given by cm_taxCO2_IncAfterPeakBudgYr (default = 0, i.e. constant), +*' set cm_peakBudgYr = 2100 to avoid adjustment +*' (with iterative_target_adj = 5): no adjustment to the functional form after cm_peakBudgYr +*' (with iterative_target_adj = 7): after cm_peakBudgYr, the global anchor trajectory is adjusted so that global net CO2 emissions stay close to zero +*' (with iterative_target_adj = 9): after cm_peakBudgYr, the global anchor trajectory increases linearly with fixed annual increase given by cm_taxCO2_IncAfterPeakBudgYr (default = 0, i.e. constant) +*' Part III (Regional differentiation): Regional carbon price differentiation relative to global anchor trajectory is chosen via cm_taxCO2_regiDiff. +*' (none): No regional differetiation, i.e. uniform carbon pricing +*' (initialSpread10): Maximal initial spread of carbon prices in 2030 between OECD regions and poorest region is equal to 10. Initial spread for each region determined based on GDP per capita (PPP) in 2015. Carbon prices converge using quadratic phase-in until cm_taxCO2_regiDiff_endYr (default = 2050). +*' (initialSpread20): Maximal initial spread of carbon prices in 2030 between OECD regions and poorest region is equal to 20. Initial spread for each region determined based on GDP per capita (PPP) in 2015. Carbon prices converge using quadratic phase-in until cm_taxCO2_regiDiff_endYr (default = 2050). +*' (gdpSpread): Regional differentiation based on GDP per capita (PPP) throughout the century. Uses current GDP per capita (PPP) of OECD countries - around 50'000 US$2017 - as threshold for application of full carbon price. +*' Part IV (Interpolation from path_gdx_ref): To smoothen a potential jump of carbon prices in cm_startyear, an interpolation between (a) the carbon prices before cm_startyear provided by path_gdx_ref and (b) the carbon prices from cm_startyear onward defined by parts I-III can be chosen via cm_taxCO2_interpolation +*' In addition, the carbon prices provided by path_gdx_ref are used as lower bound if switch cm_taxCO2_lowerBound_path_gdx_ref is on. +*' (off): no interpolation, i.e. (b) is used from cm_startyear onward +*' (one_step): linear interpolation within 10 years between (a) and (b). For example, if cm_startyear = 2030, it uses (a) until 2025, the average of (a) and (b) in 2030, and (b) from 2035. +*' (two_steps): linear interpolation within 15 years between (a) and (b). For example, if cm_startyear = 2030, it uses (a) until 2025, weighted averages of (a) and (b) in 2030 and 2035, and (b) from 2040. +*' For manual settings, see description of the switch +*' -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*####################### R SECTION START (PHASES) ############################## +$Ifi "%phase%" == "declarations" $include "./modules/45_carbonprice/functionalForm/declarations.gms" +$Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/functionalForm/datainput.gms" +$Ifi "%phase%" == "postsolve" $include "./modules/45_carbonprice/functionalForm/postsolve.gms" +*######################## R SECTION END (PHASES) ############################### + +*** EOF ./modules/45_carbonprice/functionalForm/realization.gms diff --git a/modules/45_carbonprice/linear/datainput.gms b/modules/45_carbonprice/linear/datainput.gms deleted file mode 100644 index e21bc717b..000000000 --- a/modules/45_carbonprice/linear/datainput.gms +++ /dev/null @@ -1,31 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/linear/datainput.gms -***---------------------------- -*** CO2 Tax level -***---------------------------- - -*** CO2 tax level is calculated at a linear increase from the 2020 tax level exogenously defined - -*GL: tax path in 10^12$/GtC = 1000 $/tC -*** according to Asian Modeling Excercise tax case setup, 30$/t CO2eq in 2020 = 0.110 k$/tC - -if(cm_co2_tax_2020 lt 0, - abort "please choose a valid cm_co2_tax_2020" -elseif cm_co2_tax_2020 ge 0, -*** convert tax value from $/t CO2eq to T$/GtC - pm_taxCO2eq("2040",regi)= 3 * cm_co2_tax_2020 * sm_DptCO2_2_TDpGtC; !! shifted to 2040 to make sure that even in delay scenarios the fixpoint of the linear price path is inside the "t" range, otherwise the CO2 prices from reference run may be overwritten -*** The factor 3 comes from shifting the 2020 value 20 years into the future at linear increase of 10% of 2020 value per year. -); - -pm_taxCO2eq(ttot,regi)$((ttot.val gt 2005) AND (ttot.val ge cm_startyear)) = pm_taxCO2eq("2040",regi)*( 1 + 0.1/3 * (ttot.val-2040)); !! no CO2 price in 2005 and only change CO2 prices after ; -*** annual increase by (10/3)% of the 2040 value is the same as a 10% increase of the 2020 value is the same as a linear increase from 0 in 2010 to the 2020/2040 value - -pm_taxCO2eq(ttot,regi)$(ttot.val gt 2110) = pm_taxCO2eq("2110",regi); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value -display pm_taxCO2eq; - -*** EOF ./modules/45_carbonprice/linear/datainput.gms diff --git a/modules/45_carbonprice/module.gms b/modules/45_carbonprice/module.gms index 7642cceba..1ac3c0eab 100644 --- a/modules/45_carbonprice/module.gms +++ b/modules/45_carbonprice/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -9,25 +9,26 @@ *' @title Carbonprice *' *' @description -*' The carbonprice module sets (exogenously given price path or predefined 2020 level and linear/exponential increase afterwards) -*' or adjusts carbon price trajectories between iterations s.t. the desired climate policy targets are met. The carbon price is the main indicator -*' to reflect the increase in climate policy ambition over time. +*' The carbonprice module sets or adjusts carbon price trajectories between iterations s.t. the desired climate policy targets are met. +*' Carbon price trajectories either (a) follow a prescribed funtional form (linear/exponential), (b) relect NPi or NDC targets, or (c) are set exogenously. +*' The carbon price is the main indicator to reflect the change in climate policy ambition over time. *' Carbon prices are potentially defined by three modules: *' - 45_carbonprice: define the carbon price necessary to reach global emission targets following specific price trajectories. *' - 46_carbonpriceRegi: add a markup pm_taxCO2eqRegi to 45_carbonprice estimations to reach specific NDC or net zero targets *' - 47_regipol: under the regiCarbonPrice realisation, define more detailed region or emissions market specific targets, overwriting the all other carbon prices for selected regions. -*' @authors Christoph Bertram, Gunnar Luderer, Robert Pietzcker +*' @authors Christoph Bertram, Laurin Koehler-Schindler, Gunnar Luderer, Rahel Mandaroux, Robert Pietzcker, Oliver Richters *###################### R SECTION START (MODULETYPES) ########################## $Ifi "%carbonprice%" == "NDC" $include "./modules/45_carbonprice/NDC/realization.gms" $Ifi "%carbonprice%" == "NPi" $include "./modules/45_carbonprice/NPi/realization.gms" -$Ifi "%carbonprice%" == "diffCurvPhaseIn2Lin" $include "./modules/45_carbonprice/diffCurvPhaseIn2Lin/realization.gms" +$Ifi "%carbonprice%" == "NPi2025" $include "./modules/45_carbonprice/NPi2025/realization.gms" +$Ifi "%carbonprice%" == "NPi2025expo" $include "./modules/45_carbonprice/NPi2025expo/realization.gms" +$Ifi "%carbonprice%" == "NPiexpo" $include "./modules/45_carbonprice/NPiexpo/realization.gms" $Ifi "%carbonprice%" == "exogenous" $include "./modules/45_carbonprice/exogenous/realization.gms" $Ifi "%carbonprice%" == "expoLinear" $include "./modules/45_carbonprice/expoLinear/realization.gms" -$Ifi "%carbonprice%" == "exponential" $include "./modules/45_carbonprice/exponential/realization.gms" -$Ifi "%carbonprice%" == "linear" $include "./modules/45_carbonprice/linear/realization.gms" +$Ifi "%carbonprice%" == "functionalForm" $include "./modules/45_carbonprice/functionalForm/realization.gms" $Ifi "%carbonprice%" == "none" $include "./modules/45_carbonprice/none/realization.gms" $Ifi "%carbonprice%" == "temperatureNotToExceed" $include "./modules/45_carbonprice/temperatureNotToExceed/realization.gms" *###################### R SECTION END (MODULETYPES) ############################ diff --git a/modules/45_carbonprice/none/datainput.gms b/modules/45_carbonprice/none/datainput.gms index 7e41e15f7..1aafea55a 100644 --- a/modules/45_carbonprice/none/datainput.gms +++ b/modules/45_carbonprice/none/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/none/not_used.txt b/modules/45_carbonprice/none/not_used.txt index b97b7f72b..4021ac8f6 100644 --- a/modules/45_carbonprice/none/not_used.txt +++ b/modules/45_carbonprice/none/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -6,10 +6,8 @@ # | Contact: remind@pik-potsdam.de name,type,reason cm_emiscen, switch, ??? -cm_co2_tax_2020, switch, ??? sm_c_2_co2,switch, ??? pm_ttot_val,parameter,??? -cm_co2_tax_growth,switch,??? cm_startyear,switch,??? cm_iterative_target_adj,switch,??? cm_expoLinear_yearStart,switch,??? @@ -26,7 +24,24 @@ pm_ttot_2_tall,input,questionnaire pm_shPPPMER,input,questionnaire pm_pop,input,questionnaire pm_gdp,input,questionnaire -cm_CO2priceRegConvEndYr,input,questionnaire cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire +cm_peakBudgYr,input,added by codeCheck +sm_D2005_2_D2017,input,not needed +fm_taxCO2eqHist,input,not needed +sm_budgetCO2eqGlob,input,no iterative target adjustment +vm_emiTe,input,no iterative target adjustment +vm_emiCdr,input,no iterative target adjustment +vm_emiMac,input,no iterative target adjustment +vm_emiAll,input,no iterative target adjustment +pm_budgetCO2eq,input,no iterative target adjustment +pm_ts,input,no iterative target adjustment +cm_iteration_max,input,no iterative target adjustment +cm_taxCO2_startyear,input,added by codeCheck +cm_taxCO2_expGrowth,input,added by codeCheck +cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck +cm_budgetCO2from2020,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff_tmp,input,no iterative target adjustment +sm_globalBudget_dev,input,no target adjustement diff --git a/modules/45_carbonprice/none/realization.gms b/modules/45_carbonprice/none/realization.gms index 465bc8261..5ad8dd6bf 100644 --- a/modules/45_carbonprice/none/realization.gms +++ b/modules/45_carbonprice/none/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -7,7 +7,7 @@ *** SOF ./modules/45_carbonprice/none/realization.gms -*#' @description: This realization is for runs without carbon prices (BAU). +*' @description: This realization is for runs without carbon prices. *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/none/datainput.gms" diff --git a/modules/45_carbonprice/temperatureNotToExceed/datainput.gms b/modules/45_carbonprice/temperatureNotToExceed/datainput.gms index 0e9353324..b1e316154 100644 --- a/modules/45_carbonprice/temperatureNotToExceed/datainput.gms +++ b/modules/45_carbonprice/temperatureNotToExceed/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/temperatureNotToExceed/declarations.gms b/modules/45_carbonprice/temperatureNotToExceed/declarations.gms index 03c94f85f..fe1bba549 100644 --- a/modules/45_carbonprice/temperatureNotToExceed/declarations.gms +++ b/modules/45_carbonprice/temperatureNotToExceed/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/temperatureNotToExceed/not_used.txt b/modules/45_carbonprice/temperatureNotToExceed/not_used.txt index eecab9a8d..7f79dc042 100644 --- a/modules/45_carbonprice/temperatureNotToExceed/not_used.txt +++ b/modules/45_carbonprice/temperatureNotToExceed/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -10,15 +10,30 @@ sm_DptCO2_2_TDpGtC,input,questionnaire vm_co2eq,input,questionnaire vm_emiFgas,input,questionnaire pm_ttot_val,input,questionnaire -cm_co2_tax_2020,input,questionnaire -cm_co2_tax_growth,input,questionnaire cm_startyear,input,questionnaire cm_iterative_target_adj,input,questionnaire cm_expoLinear_yearStart,input,questionnaire pm_shPPPMER,input,questionnaire pm_pop,input,questionnaire pm_gdp,input,questionnaire -cm_CO2priceRegConvEndYr,input,questionnaire cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire +cm_peakBudgYr,input,added by codeCheck +sm_D2005_2_D2017,input,not needed +fm_taxCO2eqHist,input,not needed +sm_budgetCO2eqGlob,input,no iterative target adjustment +vm_emiTe,input,no iterative target adjustment +vm_emiCdr,input,no iterative target adjustment +vm_emiMac,input,no iterative target adjustment +vm_emiAll,input,no iterative target adjustment +pm_budgetCO2eq,input,no iterative target adjustment +pm_ts,input,no iterative target adjustment +cm_iteration_max,input,no iterative target adjustment +cm_taxCO2_startyear,input,added by codeCheck +cm_taxCO2_expGrowth,input,added by codeCheck +cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck +cm_budgetCO2from2020,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff_tmp,input,no iterative target adjustment +sm_globalBudget_dev,input,no target adjustement diff --git a/modules/45_carbonprice/temperatureNotToExceed/postsolve.gms b/modules/45_carbonprice/temperatureNotToExceed/postsolve.gms index 853b0f6af..b11033f17 100644 --- a/modules/45_carbonprice/temperatureNotToExceed/postsolve.gms +++ b/modules/45_carbonprice/temperatureNotToExceed/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/temperatureNotToExceed/realization.gms b/modules/45_carbonprice/temperatureNotToExceed/realization.gms index 8c9bcdd15..2ef11e50f 100644 --- a/modules/45_carbonprice/temperatureNotToExceed/realization.gms +++ b/modules/45_carbonprice/temperatureNotToExceed/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -6,8 +6,8 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/temperatureNotToExceed/realization.gms -*#' @description This realization chooses a carbon price trajectory consistent with a (non-overshoot) temperature target -*#' by staying within a peak budget of cumulative CO2 emissions. +*' @description This realization chooses a carbon price trajectory consistent with a (non-overshoot) temperature target +*' by staying within a peak budget of cumulative CO2 emissions. *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "declarations" $include "./modules/45_carbonprice/temperatureNotToExceed/declarations.gms" diff --git a/modules/46_carbonpriceRegi/NDC/datainput.gms b/modules/46_carbonpriceRegi/NDC/datainput.gms index bbfa85e84..009e81200 100644 --- a/modules/46_carbonpriceRegi/NDC/datainput.gms +++ b/modules/46_carbonpriceRegi/NDC/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -13,7 +13,7 @@ p46_taxCO2eqGlobal2030 = 0 * sm_DptCO2_2_TDpGtC; Scalar p46_taxCO2eqYearlyIncrease "yearly multiplicative increase of co2 tax, write 3% as 1.03" /1/; *** load NDC data -Table f46_factorTargetyear(tall,all_regi,NDC_version,all_GDPscen) "Table for all NDC versions with multiplier for target year emissions vs 2005 emissions, as weighted average for all countries with quantifyable emissions under NDC in particular region" +Table f46_factorTargetyear(tall,all_regi,NDC_version,all_GDPscen) "Table for all NDC versions with multiplier for target year emissions vs 2005 emissions, as weighted average for all countries with quantifyable emissions under NDC in particular region [1]" $offlisting $ondelim $include "./modules/46_carbonpriceRegi/NDC/input/fm_factorTargetyear.cs3r" @@ -21,12 +21,12 @@ $offdelim $onlisting ; -Parameter p46_factorTargetyear(ttot,all_regi) "Multiplier for target year emissions vs 2005 emissions, as weighted average for all countries with quantifyable emissions under NDC in particular region"; +Parameter p46_factorTargetyear(ttot,all_regi) "Multiplier for target year emissions vs 2005 emissions, as weighted average for all countries with quantifyable emissions under NDC in particular region [1]"; p46_factorTargetyear(t,all_regi) = f46_factorTargetyear(t,all_regi,"%cm_NDC_version%","%cm_GDPscen%"); display p46_factorTargetyear; -Table f46_2005shareTarget(tall,all_regi,NDC_version,all_GDPscen) "Table for all NDC versions with 2005 GHG emission share of countries with quantifyable emissions under NDC in particular region, time dimension specifies alternative future target years" +Table f46_2005shareTarget(tall,all_regi,NDC_version,all_GDPscen) "Table for all NDC versions with 2005 GHG emission share of countries with quantifyable emissions under NDC in particular region, time dimension specifies alternative future target years [1]" $offlisting $ondelim $include "./modules/46_carbonpriceRegi/NDC/input/fm_2005shareTarget.cs3r" @@ -34,12 +34,12 @@ $offdelim $onlisting ; -Parameter p46_2005shareTarget(ttot,all_regi) "2005 GHG emission share of countries with quantifyable emissions under NDC in particular region, time dimension specifies alternative future target years"; +Parameter p46_2005shareTarget(ttot,all_regi) "2005 GHG emission share of countries with quantifyable emissions under NDC in particular region, time dimension specifies alternative future target years [1]"; p46_2005shareTarget(t,all_regi) = f46_2005shareTarget(t,all_regi,"%cm_NDC_version%","%cm_GDPscen%"); display p46_2005shareTarget; -Table f46_histShare(tall,all_regi,NDC_version) "Table for all NDC versions with GHG emissions share of countries with quantifyable 2030 target, time dimension specifies historic record" +Table f46_histShare(tall,all_regi,NDC_version) "Table for all NDC versions with GHG emissions share of countries with quantifyable 2030 target, time dimension specifies historic record [0..1]" $offlisting $ondelim $include "./modules/46_carbonpriceRegi/NDC/input/fm_histShare.cs3r" @@ -47,12 +47,12 @@ $offdelim $onlisting ; -Parameter p46_histShare(tall,all_regi) "GHG emissions share of countries with quantifyable 2030 target, time dimension specifies historic record"; +Parameter p46_histShare(tall,all_regi) "GHG emissions share of countries with quantifyable 2030 target, time dimension specifies historic record [0..1]"; p46_histShare(tall,all_regi) = f46_histShare(tall,all_regi,"%cm_NDC_version%"); display p46_histShare; -Parameter p46_BAU_reg_emi_wo_LU_bunkers(ttot,all_regi) "regional GHG emissions (without LU and bunkers) in BAU scenario" +Parameter p46_BAU_reg_emi_wo_LU_bunkers(ttot,all_regi) "regional GHG emissions (without LU and bunkers) in BAU scenario [MtCO2eq/yr]" / $ondelim $ifthen exist "./modules/46_carbonpriceRegi/NDC/input/pm_BAU_reg_emi_wo_LU_bunkers.cs4r" @@ -99,16 +99,16 @@ $endif.p46_netZero *** parameters for selecting NDC years -Scalar p46_ignoreNDCbefore "NDC targets before this years are ignored, for example to exclude 2030 targets" /2028/; +Scalar p46_ignoreNDCbefore "NDC targets before this years are ignored, for example to exclude 2030 targets [year]" /2028/; p46_ignoreNDCbefore = max(p46_ignoreNDCbefore, cm_startyear) -Scalar p46_ignoreNDCafter "NDC targets after this years are ignored, for example to exclude 2050 net zero targets" /2100/; -Scalar p46_minRatioOfCoverageToMax "only targets whose coverage is this times p46_bestNDCcoverage are considered. Use 1 for only best." /0.7/; -Scalar p46_useSingleYearCloseTo "if 0: use all. If > 0: use only one single NDC target per country closest to this year (use 2030.4 to prefer 2030 over 2035 over 2025)" /0/; +Scalar p46_ignoreNDCafter "NDC targets after this years are ignored, for example to exclude 2050 net zero targets [year]" /2100/; +Scalar p46_minRatioOfCoverageToMax "only targets whose coverage is this times p46_bestNDCcoverage are considered. Use 1 for only best. [0..1]" /0.7/; +Scalar p46_useSingleYearCloseTo "if 0: use all. If > 0: use only one single NDC target per country closest to this year (use 2030.4 to prefer 2030 over 2035 over 2025) [year]" /0/; Set p46_NDCyearSet(ttot,all_regi) "YES for years whose NDC targets is used"; -Parameter p46_bestNDCcoverage(all_regi) "highest coverage of NDC targets within region"; -Parameter p46_distanceToOptyear(ttot,all_regi) "distance to p46_useSingleYearCloseTo to favor years in case of multiple equally good targets"; -Parameter p46_minDistanceToOptyear(all_regi) "minimal distance to p46_useSingleYearCloseTo per region"; +Parameter p46_bestNDCcoverage(all_regi) "highest coverage of NDC targets within region [0..1]"; +Parameter p46_distanceToOptyear(ttot,all_regi) "distance to p46_useSingleYearCloseTo to favor years in case of multiple equally good targets [year]"; +Parameter p46_minDistanceToOptyear(all_regi) "minimal distance to p46_useSingleYearCloseTo per region [year]"; p46_bestNDCcoverage(regi) = smax(t$(t.val <= p46_ignoreNDCafter AND t.val >= p46_ignoreNDCbefore), p46_2005shareTarget(t,regi)); display p46_bestNDCcoverage; @@ -122,9 +122,9 @@ if(p46_useSingleYearCloseTo > 0, ); *** first and last NDC year as a number -Parameter p46_firstNDCyear(all_regi) "last year with NDC coverage within region"; +Parameter p46_firstNDCyear(all_regi) "last year with NDC coverage within region [year]"; p46_firstNDCyear(regi) = smin( p46_NDCyearSet(t, regi), t.val ); -Parameter p46_lastNDCyear(all_regi) "last year with NDC coverage within region"; +Parameter p46_lastNDCyear(all_regi) "last year with NDC coverage within region [year]"; p46_lastNDCyear(regi) = smax( p46_NDCyearSet(t, regi), t.val ); display p46_NDCyearSet,p46_firstNDCyear,p46_lastNDCyear; diff --git a/modules/46_carbonpriceRegi/NDC/declarations.gms b/modules/46_carbonpriceRegi/NDC/declarations.gms index 5308f63d7..1740a83dc 100644 --- a/modules/46_carbonpriceRegi/NDC/declarations.gms +++ b/modules/46_carbonpriceRegi/NDC/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -7,24 +7,24 @@ *** SOF ./modules/46_carbonpriceRegi/NDC/declarations.gms Parameter -p46_CO2eqwoLU_actual(ttot,all_regi) "actual level of regional GHG emissions in previous iteration" -p46_CO2eqwoLU_goal(ttot,all_regi) "regional NDC target level of GHG" -p46_factorRescaleCO2Tax(ttot,all_regi) "multiplicative factor to rescale CO2 taxes to achieve the climate targets" -p46_factorRescaleCO2TaxLtd(ttot,all_regi) "multiplicative factor to rescale CO2 taxes to achieve the climate targets limited to not-so-fast adaption" -p46_factorRescaleCO2Tax_iter(iteration,ttot,all_regi) "Track the changes of p46_factorRescaleCO2Tax over the iterations" -p46_factorRescaleCO2TaxLtd_iter(iteration,ttot,all_regi) "Track the changes of p46_factorRescaleCO2TaxLimited over the iterations" -p46_vm_co2eq_iter(iteration,ttot,all_regi) "Track the changes of vm_co2eq over the iterations" -p46_taxCO2eqFirstNDCyear(all_regi) "CO2eq tax in p46_firstNDCyear" -p46_taxCO2eqLastNDCyear(all_regi) "CO2eq tax in p46_lastNDCyear" -p46_vm_CO2eq_2020(all_regi) "2020 reference emissions value for normalization of deviation from zero" -p46_taxCO2eq_iter(iteration,ttot,all_regi) "CO2eq tax non-regi tracked over iterations" -p46_taxCO2eqRegi_iter(iteration,ttot,all_regi) "CO2eq tax regi tracked over iterations" -p46_taxCO2eqLast(tall,all_regi) "general carbon price in last iteration" +p46_CO2eqwoLU_actual(ttot,all_regi) "actual level of regional GHG emissions in previous iteration [MtCO2eq/yr]" +p46_CO2eqwoLU_goal(ttot,all_regi) "regional NDC target level of GHG [MtCO2eq/yr]" +p46_factorRescaleCO2Tax(ttot,all_regi) "multiplicative factor to rescale CO2 taxes to achieve the climate targets [1]" +p46_factorRescaleCO2TaxLtd(ttot,all_regi) "multiplicative factor to rescale CO2 taxes to achieve the climate targets limited to not-so-fast adaption [1]" +p46_factorRescaleCO2Tax_iter(iteration,ttot,all_regi) "Track the changes of p46_factorRescaleCO2Tax over the iterations [1]" +p46_factorRescaleCO2TaxLtd_iter(iteration,ttot,all_regi) "Track the changes of p46_factorRescaleCO2TaxLimited over the iterations [1]" +p46_vm_co2eq_iter(iteration,ttot,all_regi) "Track the changes of vm_co2eq over the iterations [GtC/yr]" +p46_taxCO2eqFirstNDCyear(all_regi) "CO2eq tax in p46_firstNDCyear [T$/GtC]" +p46_taxCO2eqLastNDCyear(all_regi) "CO2eq tax in p46_lastNDCyear [T$/GtC]" +p46_vm_CO2eq_2020(all_regi) "2020 reference emissions value for normalization of deviation from zero [MtCO2eq/yr]" +p46_taxCO2eq_iter(iteration,ttot,all_regi) "CO2eq tax non-regi tracked over iterations [T$/GtC]" +p46_taxCO2eqRegi_iter(iteration,ttot,all_regi) "CO2eq tax regi tracked over iterations [T$/GtC]" +p46_taxCO2eqLast(tall,all_regi) "general carbon price in last iteration [T$/GtC]" ; -Scalar p46_adjustExponent "exponent in tax adjustment process"; -Scalar p46_startInIteration "first iteration to start adapting pm_taxCO2eqRegi" / 5 /; -Scalar p46_previousYearInLoop "previous year in loop, required for linear interpolation in postsolve"; -Scalar p46_taxPreviousYearInLoop "tax of previous year in loop, required for linear interpolation in postsolve"; +Scalar p46_adjustExponent "exponent in tax adjustment process [1]"; +Scalar p46_startInIteration "first iteration to start adapting pm_taxCO2eqRegi [1]" / 5 /; +Scalar p46_previousYearInLoop "previous year in loop, required for linear interpolation in postsolve [year]"; +Scalar p46_taxPreviousYearInLoop "tax of previous year in loop, required for linear interpolation in postsolve [year]"; *** EOF ./modules/46_carbonpriceRegi/NDC/declarations.gms diff --git a/modules/46_carbonpriceRegi/NDC/not_used.txt b/modules/46_carbonpriceRegi/NDC/not_used.txt index ad14a32d8..85ff9312e 100644 --- a/modules/46_carbonpriceRegi/NDC/not_used.txt +++ b/modules/46_carbonpriceRegi/NDC/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/46_carbonpriceRegi/NDC/postsolve.gms b/modules/46_carbonpriceRegi/NDC/postsolve.gms index 572c1bc79..aed194b89 100644 --- a/modules/46_carbonpriceRegi/NDC/postsolve.gms +++ b/modules/46_carbonpriceRegi/NDC/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/46_carbonpriceRegi/NDC/preloop.gms b/modules/46_carbonpriceRegi/NDC/preloop.gms index 288c5de87..65301bab1 100644 --- a/modules/46_carbonpriceRegi/NDC/preloop.gms +++ b/modules/46_carbonpriceRegi/NDC/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/46_carbonpriceRegi/NDC/realization.gms b/modules/46_carbonpriceRegi/NDC/realization.gms index 5a28b3b8c..8f9cf58ff 100644 --- a/modules/46_carbonpriceRegi/NDC/realization.gms +++ b/modules/46_carbonpriceRegi/NDC/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/46_carbonpriceRegi/module.gms b/modules/46_carbonpriceRegi/module.gms index d5a007fc2..17271eaa3 100644 --- a/modules/46_carbonpriceRegi/module.gms +++ b/modules/46_carbonpriceRegi/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/46_carbonpriceRegi/netZero/datainput.gms b/modules/46_carbonpriceRegi/netZero/datainput.gms index 09d11d919..20192257e 100644 --- a/modules/46_carbonpriceRegi/netZero/datainput.gms +++ b/modules/46_carbonpriceRegi/netZero/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -7,7 +7,7 @@ *** SOF ./modules/46_carbonpriceRegi/netZero/datainput.gms p46_zeroYear = 2100; -$ifthen.p46_zeroYear "%cm_netZeroScen%" == "ENGAGE4p5_GlP" +$ifthen.p46_zeroYear "%cm_netZeroScen%" == "ELEVATE2p3" p46_zeroYear = 2200; $endif.p46_zeroYear diff --git a/modules/46_carbonpriceRegi/netZero/declarations.gms b/modules/46_carbonpriceRegi/netZero/declarations.gms index 3efbe8698..a6db94057 100644 --- a/modules/46_carbonpriceRegi/netZero/declarations.gms +++ b/modules/46_carbonpriceRegi/netZero/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -7,21 +7,22 @@ *** SOF ./modules/46_carbonpriceRegi/netZero/declarations.gms Parameter -p46_emi_actual(all_regi) "greenhouse gas or CO2 emissions in target year" -p46_emi_2020(all_regi) "2020 reference emissions value for normalization of deviation from zero" -p46_factorRescaleCO2TaxRegi(all_regi) "factor of change for additional carbon price" -p46_taxCO2eqRegiLast(tall,all_regi) "additional carbon price to reach net-zero target in last iteration" -p46_taxCO2eqLast(tall,all_regi) "general carbon price in last iteration" -p46_factorRescaleCO2Tax(all_regi) "required change of overall tax rate to assure net-zero emission" -p46_taxCO2eq_iter(iteration,ttot,all_regi) "CO2eq tax non-regi tracked over iterations" -p46_taxCO2eqRegi_iter(iteration,ttot,all_regi) "CO2eq tax regi tracked over iterations" -p46_factorRescaleCO2TaxLtd_iter(iteration,all_regi) "Track the changes of p46_factorRescaleCO2TaxLimited over the iterations" -p46_emi_actual_iter(iteration,ttot,all_regi) "Track the changes of p46_emi_actual over the iterations" -p46_offset(all_regi) "allowed emissions in netZero year" +p46_emi_actual(all_regi) "greenhouse gas or CO2 emissions in target year [MtCO2eq/yr]" +p46_emi_2020(all_regi) "2020 reference emissions value for normalization of deviation from zero [MtCO2eq/yr]" +p46_factorRescaleCO2TaxRegi(all_regi) "factor of change for additional carbon price [1]" +p46_taxCO2eqRegiLast(tall,all_regi) "additional carbon price to reach net-zero target in last iteration [T$/GtC]" +p46_taxCO2eqLast(tall,all_regi) "general carbon price in last iteration [T$/GtC]" +p46_factorRescaleCO2Tax(all_regi) "required change of overall tax rate to assure net-zero emission [1]" +p46_taxCO2eq_iter(iteration,ttot,all_regi) "CO2eq tax non-regi tracked over iterations [T$/GtC]" +p46_taxCO2eqRegi_iter(iteration,ttot,all_regi) "CO2eq tax regi tracked over iterations [T$/GtC]" +p46_factorRescaleCO2TaxLtd_iter(iteration,all_regi) "Track the changes of p46_factorRescaleCO2TaxLimited over the iterations [1]" +p46_emi_actual_iter(iteration,ttot,all_regi) "Track the changes of p46_emi_actual over the iterations [MtCO2eq/yr]" +p46_offset(all_regi) "allowed emissions in netZero year [MtCO2eq/yr]" +p46_ref_co2eq (ttot,all_regi) "emissions in reference run" ; -Scalar p46_zeroYear "between the netZero goal and this scalar, pm_taxCO2eqRegi linearly drops to zero" -Scalar p46_startInIteration "first iteration to start adapting pm_taxCO2eqRegi" / 10 /; +Scalar p46_zeroYear "between the netZero goal and this scalar, pm_taxCO2eqRegi linearly drops to zero [year]" +Scalar p46_startInIteration "first iteration to start adapting pm_taxCO2eqRegi [1]" / 10 /; *** EOF ./modules/46_carbonpriceRegi/netZero/declarations.gms diff --git a/modules/46_carbonpriceRegi/netZero/not_used.txt b/modules/46_carbonpriceRegi/netZero/not_used.txt index 2a58c57f5..2619d7da5 100644 --- a/modules/46_carbonpriceRegi/netZero/not_used.txt +++ b/modules/46_carbonpriceRegi/netZero/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/46_carbonpriceRegi/netZero/postsolve.gms b/modules/46_carbonpriceRegi/netZero/postsolve.gms index d02e4d6a5..e909b760a 100644 --- a/modules/46_carbonpriceRegi/netZero/postsolve.gms +++ b/modules/46_carbonpriceRegi/netZero/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -14,8 +14,21 @@ p46_emi_2020(regi) = vm_co2eq.l("2020",regi) * sm_c_2_co2 * 1000; ***define offsets p46_offset(all_regi) = 0; -$ifthen.offsets "%cm_netZeroScen%" == "ENGAGE4p5_GlP" +$ifthen.offsets "%cm_netZeroScen%" == "ELEVATE2p3" p46_offset(nz_reg)$(sameas(nz_reg, "EUR")) = 100; + + + Execute_Loadpoint 'input_bau' p46_ref_co2eq = vm_co2eq.l; +*** Coverage shares are calculated using PBL's Net-Zero Calculator based on https://zerotracker.net/ +*** (methodology and more information at https://zerotracker.net/methodology) and further +*** adaptations based on Climate Action Tracker information, literature or expert opinion. + p46_offset(nz_reg)$(sameas(nz_reg, "LAM")) = (1 - 0.68) * p46_ref_co2eq("2050", nz_reg) * sm_c_2_co2 * 1000; + p46_offset(nz_reg)$(sameas(nz_reg, "MEA")) = (1 - 0.40) * p46_ref_co2eq("2055", nz_reg) * sm_c_2_co2 * 1000; + p46_offset(nz_reg)$(sameas(nz_reg, "NEU")) = (1 - 0.83) * p46_ref_co2eq("2055", nz_reg) * sm_c_2_co2 * 1000; + p46_offset(nz_reg)$(sameas(nz_reg, "OAS")) = (1 - 0.88) * p46_ref_co2eq("2055", nz_reg) * sm_c_2_co2 * 1000; + p46_offset(nz_reg)$(sameas(nz_reg, "SSA")) = (1 - 0.58) * p46_ref_co2eq("2055", nz_reg) * sm_c_2_co2 * 1000; + p46_offset(nz_reg)$(sameas(nz_reg, "REF")) = (1 - 0.83) * p46_ref_co2eq("2060", nz_reg) * sm_c_2_co2 * 1000; + $elseif.offsets "%cm_netZeroScen%" == "NGFS_v4_20pc" p46_offset(nz_reg) = 0.2 * vm_co2eq.l("2020", nz_reg) * sm_c_2_co2 * 1000; p46_offset(nz_reg)$(sameas(nz_reg, "LAM")) = 0.6 * vm_co2eq.l("2020", nz_reg) * sm_c_2_co2 * 1000; diff --git a/modules/46_carbonpriceRegi/netZero/realization.gms b/modules/46_carbonpriceRegi/netZero/realization.gms index 37d15299a..152b1ef76 100644 --- a/modules/46_carbonpriceRegi/netZero/realization.gms +++ b/modules/46_carbonpriceRegi/netZero/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/46_carbonpriceRegi/netZero/sets.gms b/modules/46_carbonpriceRegi/netZero/sets.gms index 02eef68e1..f200f099b 100644 --- a/modules/46_carbonpriceRegi/netZero/sets.gms +++ b/modules/46_carbonpriceRegi/netZero/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -15,14 +15,14 @@ SETS nz_reg2080(all_regi) "regions with net-zero 2080 target" / / nz_reg_CO2(all_regi) "regions with CO2, not GHG target" / "CHA","IND" / ; -$elseif.scen "%cm_netZeroScen%" == "ENGAGE4p5_GlP" +$elseif.scen "%cm_netZeroScen%" == "ELEVATE2p3" SETS - nz_reg2050(all_regi) "regions with net-zero 2050 target" / "CAZ","EUR","JPN","USA" / - nz_reg2055(all_regi) "regions with net-zero 2055 target" / "LAM","MEA","NEU","OAS" / + nz_reg2050(all_regi) "regions with net-zero 2050 target" / "CAZ","EUR","JPN","USA","LAM" / + nz_reg2055(all_regi) "regions with net-zero 2055 target" / "MEA","NEU","OAS", "SSA" / nz_reg2060(all_regi) "regions with net-zero 2060 target" / "CHA","REF" / nz_reg2070(all_regi) "regions with net-zero 2070 target" / "IND" / - nz_reg2080(all_regi) "regions with net-zero 2080 target" / "SSA" / - nz_reg_CO2(all_regi) "regions with CO2, not GHG target" / "IND","OAS","NEU","SSA" / + nz_reg2080(all_regi) "regions with net-zero 2080 target" / / + nz_reg_CO2(all_regi) "regions with CO2, not GHG target" / "OAS","NEU","SSA", "LAM","MEA", "REF", "CHA", "IND" / ; $else.scen $error 'In 46_carbonpriceRegi/netZero/sets.gms, no settings for the specified cm_netZeroScen found' diff --git a/modules/46_carbonpriceRegi/none/datainput.gms b/modules/46_carbonpriceRegi/none/datainput.gms index c78d73bf3..25e6573b2 100644 --- a/modules/46_carbonpriceRegi/none/datainput.gms +++ b/modules/46_carbonpriceRegi/none/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/46_carbonpriceRegi/none/not_used.txt b/modules/46_carbonpriceRegi/none/not_used.txt index ac2ca0a97..75e18a3a9 100644 --- a/modules/46_carbonpriceRegi/none/not_used.txt +++ b/modules/46_carbonpriceRegi/none/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/46_carbonpriceRegi/none/realization.gms b/modules/46_carbonpriceRegi/none/realization.gms index fbeb4542d..187792663 100644 --- a/modules/46_carbonpriceRegi/none/realization.gms +++ b/modules/46_carbonpriceRegi/none/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/47_regipol/module.gms b/modules/47_regipol/module.gms index e815af457..781e7685b 100644 --- a/modules/47_regipol/module.gms +++ b/modules/47_regipol/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/47_regipol/none/bounds.gms b/modules/47_regipol/none/bounds.gms index 1ac13884a..32ba639b5 100644 --- a/modules/47_regipol/none/bounds.gms +++ b/modules/47_regipol/none/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -15,7 +15,7 @@ *** upper bound on capacity additions for 2025 based on near-term trends *** for now only REMIND-EU/Germany, upper bound is double the historic maximum capacity addition in 2011-2020 loop(regi$(sameAs(regi,"DEU")), - vm_deltaCap.up("2025",regi,"wind","1")=2*smax(tall$(tall.val ge 2011 and tall.val le 2020), pm_delta_histCap(tall,regi,"wind")); + vm_deltaCap.up("2025",regi,"windon","1")=2*smax(tall$(tall.val ge 2011 and tall.val le 2020), pm_delta_histCap(tall,regi,"windon")); vm_deltaCap.up("2025",regi,"spv","1")=2*smax(tall$(tall.val ge 2011 and tall.val le 2020), pm_delta_histCap(tall,regi,"spv")); ); diff --git a/modules/47_regipol/none/datainput.gms b/modules/47_regipol/none/datainput.gms index 76bb47b5e..a223d565e 100644 --- a/modules/47_regipol/none/datainput.gms +++ b/modules/47_regipol/none/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -23,7 +23,7 @@ loop(ext_regi$altFeEmiFac_regi(ext_regi), $endif.altFeEmiFac *** VRE capacity factor adjustments for Germany in line with results from detailed models in ARIADNE project - loop(te$sameas(te,"wind"), + loop(te$sameas(te,"windon"), loop(regi$sameas(regi,"DEU"), pm_cf("2025",regi,te) = 1.04 * pm_cf("2025",regi,te); pm_cf("2030",regi,te) = 1.08 * pm_cf("2030",regi,te); diff --git a/modules/47_regipol/none/declarations.gms b/modules/47_regipol/none/declarations.gms index a6ff35312..92a6c4732 100644 --- a/modules/47_regipol/none/declarations.gms +++ b/modules/47_regipol/none/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/47_regipol/none/not_used.txt b/modules/47_regipol/none/not_used.txt index dc411e381..254d6d59e 100644 --- a/modules/47_regipol/none/not_used.txt +++ b/modules/47_regipol/none/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -72,6 +72,12 @@ vm_emiFgas,input,questionnaire vm_emiMacSector,input,questionnaire vm_emiTeDetailMkt,input,added by codeCheck vm_emiTeMkt,input,added by codeCheck -cm_emiMktTarget_tolerance,switch,not needed +pm_emiMktTarget_tolerance,switch,not needed sm_globalBudget_dev,input,questionnaire pm_allTargetsConverged,input,questionnaire +sm_EJ_2_TWa,input,not needed +vm_prodSe,input,not needed +pm_cesdata,input,not needed +pm_prodCouple,input,not needed +vm_emiIndCCS,input,not needed +sm_D2005_2_D2017,input,no conversion needed diff --git a/modules/47_regipol/none/realization.gms b/modules/47_regipol/none/realization.gms index 45b8a445a..2979f6b44 100644 --- a/modules/47_regipol/none/realization.gms +++ b/modules/47_regipol/none/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/47_regipol/regiCarbonPrice/bounds.gms b/modules/47_regipol/regiCarbonPrice/bounds.gms index 2c0d70083..ca213fc38 100644 --- a/modules/47_regipol/regiCarbonPrice/bounds.gms +++ b/modules/47_regipol/regiCarbonPrice/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -18,40 +18,115 @@ *' *' ###### Bounds for Historic and Near-term Alignment +*' ####### Power Sector + +$ifThen.tech_bounds_2025 "%cm_tech_bounds_2025%" == "on" *' This limits wind and solar PV capacity additions for 2025 in light of recent slow developments as of 2023. *' Upper bound is double the historic maximum capacity addition in 2011-2020. +*' In addition: Limit solar PV capacity to 120 GW in 2025 (2023-2027 average) given that we are at only 76 GW PV in 2023 loop(regi$(sameAs(regi,"DEU")), - vm_deltaCap.up("2025",regi,"wind","1")=2*smax(tall$(tall.val ge 2011 and tall.val le 2020), pm_delta_histCap(tall,regi,"wind")); + vm_deltaCap.up("2025",regi,"windon","1")=2*smax(tall$(tall.val ge 2011 and tall.val le 2020), pm_delta_histCap(tall,regi,"windon")); vm_deltaCap.up("2025",regi,"spv","1")=2*smax(tall$(tall.val ge 2011 and tall.val le 2020), pm_delta_histCap(tall,regi,"spv")); + vm_cap.up("2025",regi,"spv","1")=0.12; ); +$endIf.tech_bounds_2025 + *' These bounds account for historic gas power development. -vm_capTotal.up("2015",regi,"pegas","seel")$(sameas(regi,"DEU"))=30/1000; -vm_capTotal.up("2020",regi,"pegas","seel")$(sameas(regi,"DEU"))=34/1000; +*' TODO: Historical fixings should be done in the core the via input data from mrremind, this still needs to be moved +v47_prodSEtotal.up("2020",regi,"pegas","seel")$(sameAs(regi,"DEU"))= 0.36*sm_EJ_2_TWa; +$ifThen.tech_bounds_2025 "%cm_tech_bounds_2025%" == "on" +v47_prodSEtotal.up("2025",regi,"pegas","seel")$(sameAs(regi,"DEU"))= 0.4*sm_EJ_2_TWa; +$endIf.tech_bounds_2025 *' These bounds account for historic coal power development. vm_cap.up("2020",regi,"pc","1")$((cm_startyear le 2020) and (sameas(regi,"DEU"))) = 38.028/1000; +*' This limits early retirement of coal power in Germany in 2020s to avoid extremly fast phase-out. +vm_capEarlyReti.up('2025',regi,'pc')$(sameAs(regi,"DEU")) = 0.65; + -*' These bounds account for historic and near-term gas power development and prevent too sudden coal to gas switch in Germany by 2025. +*' This aligns 2020 chp capcities for Germany with historic data (AGEB) +*' most of district heating is provided by CHP plants. +*' coal share of chp heat output to be between 20-25% of total district heating demand +*' gas share of chp heat output to be between 50-55% of total district heating demand +*' bio share of chp heat output to be between 15-25% of total district heating demand +*' TODO: Historical fixings should be done in the core via input data from mrremind, this still needs to be moved loop(regi$(sameAs(regi,"DEU")), -vm_deltaCap.up("2015",regi,"ngcc","1") = 0.002; -vm_deltaCap.up("2020",regi,"ngcc","1") = 0.0015; -vm_deltaCap.up("2025",regi,"ngcc","1") = 0.0015; -*' Along the same lines, this limits early retirement of coal power in Germany in 2020s to avoid extremly fast phase-out. -vm_capEarlyReti.up('2025',regi,'pc') = 0.65; + loop(t$(t.val eq 2020), + vm_cap.lo(t,regi,"coalchp","1")= 0.2 +*** total FE heat demand from industry and buildings calibration trajectories + * (pm_cesdata(t,regi,"feheb","quantity") + + pm_cesdata(t,regi,"feheb","quantity")) +*** divide by tdhes efficiency get from FE heat to SE heat, i.e. take into account heat transmission losses + / pm_eta_conv(t,regi,"tdhes") +*** divide by pm_prodCouple to get from heat production to production of seel + / pm_prodCouple(regi,"pecoal","seel","coalchp","sehe") +*** divide by capacity factor to get from seel production in TWa to capacity in TW + / pm_cf(t,regi,"coalchp"); + + vm_cap.up(t,regi,"coalchp","1")= 0.25 +*** total FE heat demand from industry and buildings calibration trajectories + * (pm_cesdata(t,regi,"feheb","quantity") + + pm_cesdata(t,regi,"feheb","quantity")) +*** divide by tdhes efficiency get from FE heat to SE heat, i.e. take into account heat transmission losses + / pm_eta_conv(t,regi,"tdhes") +*** divide by pm_prodCouple to get from heat production to production of seel + / pm_prodCouple(regi,"pecoal","seel","coalchp","sehe") +*** divide by capacity factor to get from seel production in TWa to capacity in TW + / pm_cf(t,regi,"coalchp"); + vm_cap.lo(t,regi,"gaschp","1")= 0.5 +*** total FE heat demand from industry and buildings calibration trajectories + * (pm_cesdata(t,regi,"feheb","quantity") + + pm_cesdata(t,regi,"feheb","quantity")) +*** divide by tdhes efficiency get from FE heat to SE heat, i.e. take into account heat transmission losses + / pm_eta_conv(t,regi,"tdhes") +*** divide by pm_prodCouple to get from heat production to production of seel + / pm_prodCouple(regi,"pegas","seel","gaschp","sehe") +*** divide by capacity factor to get from seel production in TWa to capacity in TW + / pm_cf(t,regi,"gaschp"); + + vm_cap.up(t,regi,"gaschp","1")= 0.55 +*** total FE heat demand from industry and buildings calibration trajectories + * (pm_cesdata(t,regi,"feheb","quantity") + + pm_cesdata(t,regi,"feheb","quantity")) +*** divide by tdhes efficiency get from FE heat to SE heat, i.e. take into account heat transmission losses + / pm_eta_conv(t,regi,"tdhes") +*** divide by pm_prodCouple to get from heat production to production of seel + / pm_prodCouple(regi,"pegas","seel","gaschp","sehe") +*** divide by capacity factor to get from seel production in TWa to capacity in TW + / pm_cf(t,regi,"gaschp"); + + vm_cap.lo(t,regi,"biochp","1")= 0.15 +*** total FE heat demand from industry and buildings calibration trajectories + * (pm_cesdata(t,regi,"feheb","quantity") + + pm_cesdata(t,regi,"feheb","quantity")) +*** divide by tdhes efficiency get from FE heat to SE heat, i.e. take into account heat transmission losses + / pm_eta_conv(t,regi,"tdhes") +*** divide by pm_prodCouple to get from heat production to production of seel + / pm_prodCouple(regi,"pebiolc","seel","biochp","sehe") +*** divide by capacity factor to get from seel production in TWa to capacity in TW + / pm_cf(t,regi,"biochp"); + + vm_cap.up(t,regi,"biochp","1")= 0.25 +*** total FE heat demand from industry and buildings calibration trajectories + * (pm_cesdata(t,regi,"feheb","quantity") + + pm_cesdata(t,regi,"feheb","quantity")) +*** divide by tdhes efficiency get from FE heat to SE heat, i.e. take into account heat transmission losses + / pm_eta_conv(t,regi,"tdhes") +*** divide by pm_prodCouple to get from heat production to production of seel + / pm_prodCouple(regi,"pebiolc","seel","biochp","sehe") +*** divide by capacity factor to get from seel production in TWa to capacity in TW + / pm_cf(t,regi,"biochp"); + + + ); ); +*' ####### Carbon Management -*' This limits coal-power capacity to at least 5 GW in 2030 to account for emissions -*' from fossil waste (~20 MtCO2/yr as of 2020) in 2030 target as waste currently subsumed under coal-power in REMIND. -*' Waste power plants will not be phase-out by 2030. -*' Rough calculation with REMIND parameters: -*' 5 GW * 8760 (hours per year) * 0.5 (capacity factor) / 0.4 (conversion efficiency) * 1e-3 * 0.35 MtCO2/TWh (emissions factor coal) ~ 20 Mt CO2/yr. -vm_capTotal.lo("2030",regi,"pecoal","seel")$(sameas(regi,"DEU"))=5/1000; - - -*' This limits CO2 underground injection up to 2030 in line with recent developments as of 2023. -vm_co2CCS.up(t,regi,"cco2","ico2",te,rlf)$((t.val le 2030) AND (sameas(regi,"DEU"))) = 1e-3; +*' only start industry carbon capture in Germany by 2030 as status of projects for 2025 unclear, +*' see IEA CCUS database https://www.iea.org/data-and-statistics/data-tools/ccus-projects-explorer +vm_emiIndCCS.up(t,regi,emiInd37)$(sameAs(regi,"DEU") AND t.val lt 2030)=0; *' ###### Bounds for Germany-specific Policies (activated by switches) @@ -63,7 +138,7 @@ vm_emiTeDetail.up(t,regi,peFos,entySe,teFosCCS,"cco2")$((sameas(regi,"DEU")) AND vm_emiCdrAll.up(t,regi)$((cm_deuCDRmax ge 0) AND (sameas(regi,"DEU"))) = cm_deuCDRmax / 1000 / sm_c_2_co2; -*' ###### Bounds for German Energy Security Scenario (activated by switches) +*' Bounds for German Energy Security Scenario (activated by switches) *' Background: The energy security scenario used for the Ariadne Report on energy sovereignity in 2022 assumes that there is a continued gas crisis after 2022/23 in Germany *' with higher gas prices (see cm_EnSecScen_price) or limits to gas consumption (see cm_EnSecScen_limit switch) in the medium-term. diff --git a/modules/47_regipol/regiCarbonPrice/datainput.gms b/modules/47_regipol/regiCarbonPrice/datainput.gms index acafda76e..1bedcd258 100644 --- a/modules/47_regipol/regiCarbonPrice/datainput.gms +++ b/modules/47_regipol/regiCarbonPrice/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -13,11 +13,6 @@ option pm_taxemiMkt_iteration:3:3:1; *** initialize regipol target deviation parameter pm_emiMktTarget_dev(ttot,ttot2,ext_regi,emiMktExt) = 0; -$ifthen.cm_implicitQttyTarget not "%cm_implicitQttyTarget%" == "off" -p47_implicitQttyTargetTaxRescale_iter("1", "2030",ext_regi,qttyTarget,qttyTargetGroup) = 0; -p47_implicitQttyTargetReferenceIteration(ext_regi) = 0; -p47_implicitQttyTargetIterationCount(ext_regi) = 0; -$endIf.cm_implicitQttyTarget *** RR this should be replaced as soon as non-energy is treated endogenously in the model *** non-energy use values are calculated by taking the time path as contained in pm_fe_nechem.cs4r (where eg the 2030 value for EU27 is 91.6% of the 2020 value) and rescaling that with historic non-energy values from Eurostat @@ -63,6 +58,13 @@ $IFTHEN.emiMkt not "%cm_emiMktTarget%" == "off" ); ); +*** Assigning convergence tolerance to active regional targets + parameter f47_emiMktTarget_tolerance(ext_regi) "tolerance for regipol emission target deviations convergence [#]" / %cm_emiMktTarget_tolerance% /; + pm_emiMktTarget_tolerance(ext_regi)$(regiEmiMktTarget(ext_regi)) = 0.01; !! if no value is assigned to GLO, the default devation tolerance is set to 1% + pm_emiMktTarget_tolerance(ext_regi)$(regiEmiMktTarget(ext_regi) and f47_emiMktTarget_tolerance("GLO")) = f47_emiMktTarget_tolerance("GLO"); !! if available, assign GLO value as default to all regional target tolerances + pm_emiMktTarget_tolerance(ext_regi)$(regiEmiMktTarget(ext_regi) and f47_emiMktTarget_tolerance(ext_regi)) = f47_emiMktTarget_tolerance(ext_regi); !! set specific defined regional target tolerances + display pm_emiMktTarget_tolerance; + *** initialize carbon taxes based on reference runs *** p47_taxemiMkt_init saves information from reference runs about pm_taxCO2eq (carbon price defined on the carbonprice module) and/or *** pm_taxemiMkt (regipol carbon price) so the carbon tax can be initialized for regions with CO2 tax controlled by cm_emiMktTarget @@ -80,7 +82,7 @@ p47_taxemiMkt_init(ttot,regi,emiMkt)$(p47_taxCO2eq_ref(ttot,regi) and (NOT(p47_t loop((ttot,ttot2,ext_regi,emiMktExt,target_type_47,emi_type_47)$pm_emiMktTarget(ttot,ttot2,ext_regi,emiMktExt,target_type_47,emi_type_47), loop(regi$regi_groupExt(ext_regi,regi), loop(emiMkt$emiMktGroup(emiMktExt,emiMkt), - p47_taxemiMkt_init(t,regi,emiMkt)$(t.val gt 2020) = (20*sm_DptCO2_2_TDpGtC) + (1*sm_DptCO2_2_TDpGtC)*(t.val-2020); + p47_taxemiMkt_init(t,regi,emiMkt)$(t.val gt 2020) = (20*sm_D2005_2_D2017*sm_DptCO2_2_TDpGtC) + (1*sm_DptCO2_2_TDpGtC)*(t.val-2020); ); ); ); @@ -91,35 +93,69 @@ p47_taxemiMkt_init(ttot,regi,emiMkt)$(p47_taxCO2eq_ref(ttot,regi) and (NOT(p47_t loop(regi$(regi_groupExt(ext_regi,regi) and regi_groupExt("EUR_regi",regi)), !!second condition is necessary to support also country targets if((cm_startyear le 2010), p47_taxemiMkt_init("2010",regi,emiMkt) = 0; - p47_taxemiMkt_init("2010",regi,"ETS") = 15*sm_DptCO2_2_TDpGtC; + p47_taxemiMkt_init("2010",regi,"ETS") = 15*sm_D2005_2_D2017*sm_DptCO2_2_TDpGtC; ); if((cm_startyear le 2015), p47_taxemiMkt_init("2015",regi,emiMkt) = 0; - p47_taxemiMkt_init("2015",regi,"ETS") = 8*sm_DptCO2_2_TDpGtC; + p47_taxemiMkt_init("2015",regi,"ETS") = 8*sm_D2005_2_D2017*sm_DptCO2_2_TDpGtC; ); if((cm_startyear le 2020), p47_taxemiMkt_init("2020",regi,emiMkt) = 0; *** p47_taxemiMkt_init("2020",regi,"ETS") = 41.28*sm_DptCO2_2_TDpGtC; !! 2018 = 16.5€/tCO2, 2019 = 25€/tCO2, 2020 = 25€/tCO2, 2021 = 53.65€/tCO2, 2022 = 80€/tCO2 -> average 2020 = 40€/tCO2 -> 40*1.032 $/tCO2 = 41.28 $/t CO2 - p47_taxemiMkt_init("2020",regi,"ETS") = 30*sm_DptCO2_2_TDpGtC; + p47_taxemiMkt_init("2020",regi,"ETS") = 30*sm_D2005_2_D2017*sm_DptCO2_2_TDpGtC; *** p47_taxemiMkt_init("2020",regi,"ES") = 30*sm_DptCO2_2_TDpGtC; *** p47_taxemiMkt_init("2020",regi,"other")= 30*sm_DptCO2_2_TDpGtC; ); *** intialize EUR price trajectory after 2020 with an yearly increase of 1$/tCO2 from a base value of 30$/tCO2 when no price is available. *** p47_taxemiMkt_init(t,regi,emiMkt)$(not(p47_taxemiMkt_init(t,regi,emiMkt)) and (t.val gt 2020)) = (30*sm_DptCO2_2_TDpGtC) + (1*sm_DptCO2_2_TDpGtC)*(t.val-2020); *** intialize EUR price trajectory after 2020 with a yearly increase of 1$/tCO2 from a base value of 30$/tCO2 - p47_taxemiMkt_init(t,regi,emiMkt)$(t.val gt 2020) = (30*sm_DptCO2_2_TDpGtC) + (1*sm_DptCO2_2_TDpGtC)*(t.val-2020); + p47_taxemiMkt_init(t,regi,emiMkt)$(t.val gt 2020) = (30*sm_D2005_2_D2017*sm_DptCO2_2_TDpGtC) + (1*sm_D2005_2_D2017*sm_DptCO2_2_TDpGtC)*(t.val-2020); ); ); +*** initialize required parameter for cm_emiMktTarget slope calculation. This is necessary to allow logical if statement checks not trowing an error before the parameter is assigned for the first time in the postsolve code. +p47_factorRescaleSlope_iter("1","2020","2030",ext_regi,emiMktExt) = 0; +*** initialize required parameter for cm_emiMktTarget rescale oscillation dampening. +p47_factorRescaleemiMktCO2Tax_iter("1","2020","2030",ext_regi,emiMktExt) = 0; + $ENDIF.emiMkt ***--------------------------------------------------------------------------- *** Implicit tax/subsidy necessary to achieve quantity target for primary, secondary, final energy and/or CCS ***--------------------------------------------------------------------------- -*** intialize energy type bound implicit target parameters $ifthen.cm_implicitQttyTarget not "%cm_implicitQttyTarget%" == "off" + +*** assign cm_implicitQttyTarget values if not defined yet +$ifThen.cm_implicitQttyTargetType "%cm_implicitQttyTargetType%" == "scenario" +*** define quantity target scenario values + p47_implicitQttyTargetScenario("EU27_eedEff" ,"2030","EU27_regi","tax","t","FE_wo_b_wo_n_e","all") = 1.1235; + p47_implicitQttyTargetScenario("EU27_ff55Eff","2030","EU27_regi","tax","t","FE_wo_b_wo_n_e","all") = 1.0452; + p47_implicitQttyTargetScenario("EU27_RpEUEff","2030","EU27_regi","tax","t","FE_wo_b_wo_n_e","all") = 0.9960; + + p47_implicitQttyTargetScenario("EU27_bio4" ,"2035","EU27_regi","tax","t","PE","biomass") = 0.19; + p47_implicitQttyTargetScenario("EU27_bio4" ,"2050","EU27_regi","tax","t","PE","biomass") = 0.126667; + p47_implicitQttyTargetScenario("EU27_bio7p5",t ,"EU27_regi","tax","t","PE","biomass")$((t.val ge 2035) AND (t.val le 2050)) = 0.237825; + p47_implicitQttyTargetScenario("EU27_bio12" ,t ,"EU27_regi","tax","t","PE","biomass")$((t.val ge 2035) AND (t.val le 2050)) = 0.38; + + p47_implicitQttyTargetScenario("EU27_limVRE" ,"2025","EU27_regi","tax","t","PE","wind") = 0.072; + p47_implicitQttyTargetScenario("EU27_limVRE" ,"2050","EU27_regi","tax","t","PE","wind") = 0.201; + p47_implicitQttyTargetScenario("EU27_limVRE" ,"2025","EU27_regi","tax","t","PE","solar") = 0.04; + p47_implicitQttyTargetScenario("EU27_limVRE" ,"2050","EU27_regi","tax","t","PE","solar") = 0.168; +*** assign active scenarios to the current run +loop(qttyTargetActiveScenario, + pm_implicitQttyTarget(ttot,ext_regi,taxType,targetType,qttyTarget,qttyTargetGroup)$p47_implicitQttyTargetScenario(qttyTargetActiveScenario,ttot,ext_regi,taxType,targetType,qttyTarget,qttyTargetGroup) = p47_implicitQttyTargetScenario(qttyTargetActiveScenario,ttot,ext_regi,taxType,targetType,qttyTarget,qttyTargetGroup); +); +display pm_implicitQttyTarget; +$endif.cm_implicitQttyTargetType + +*** intialize auxiliar parameters + p47_implicitQttyTargetTaxRescale_iter("1", "2030",ext_regi,qttyTarget,qttyTargetGroup) = 0; + p47_implicitQttyTargetReferenceIteration(ext_regi) = 0; + p47_implicitQttyTargetIterationCount(ext_regi) = 0; +*** intialize energy type bound implicit target parameters pm_implicitQttyTarget(ttot,ext_regi,taxType,targetType,"CCS",qttyTargetGroup)$pm_implicitQttyTarget(ttot,ext_regi,taxType,targetType,"CCS",qttyTargetGroup) = pm_implicitQttyTarget(ttot,ext_regi,taxType,targetType,"CCS",qttyTargetGroup)/(sm_c_2_co2*1000); + pm_implicitQttyTarget(ttot,ext_regi,taxType,targetType,"oae",qttyTargetGroup)$pm_implicitQttyTarget(ttot,ext_regi,taxType,targetType,"oae",qttyTargetGroup) = pm_implicitQttyTarget(ttot,ext_regi,taxType,targetType,"oae",qttyTargetGroup)/(sm_c_2_co2*1000); p47_implicitQttyTargetTax0(t,all_regi) = 0; $endIf.cm_implicitQttyTarget @@ -140,7 +176,8 @@ $offdelim loop((t,ext_regi,entyFe,entySe,sector)$f47_implicitPriceTarget("%cm_implicitPriceTarget%",ext_regi,entyFe,entySe,sector,t), loop(regi$regi_groupExt(ext_regi,regi), - pm_implicitPriceTarget(t,regi,entyFe,entySe,sector)=f47_implicitPriceTarget("%cm_implicitPriceTarget%",ext_regi,entyFe,entySe,sector,t)*sm_DpGJ_2_TDpTWa; + !! convert data from US$2005 to US$2017 + pm_implicitPriceTarget(t,regi,entyFe,entySe,sector) = sm_D2005_2_D2017 * f47_implicitPriceTarget("%cm_implicitPriceTarget%",ext_regi,entyFe,entySe,sector,t)*sm_DpGJ_2_TDpTWa; ); ); @@ -174,7 +211,8 @@ $offdelim loop((t,ext_regi,entyPe)$f47_implicitPePriceTarget("%cm_implicitPePriceTarget%",ext_regi,entyPe,t), loop(regi$regi_groupExt(ext_regi,regi), - pm_implicitPePriceTarget(t,regi,entyPe)=f47_implicitPePriceTarget("%cm_implicitPePriceTarget%",ext_regi,entyPe,t)*sm_DpGJ_2_TDpTWa; + !! convert data from US$2005 to US$2017 + pm_implicitPePriceTarget(t,regi,entyPe) = sm_D2005_2_D2017 * f47_implicitPePriceTarget("%cm_implicitPePriceTarget%",ext_regi,entyPe,t)*sm_DpGJ_2_TDpTWa; ); ); @@ -215,7 +253,7 @@ loop(ext_regi$altFeEmiFac_regi(ext_regi), $endif.altFeEmiFac *** VRE capacity factor adjustments for Germany in line with results from detailed models in ARIADNE project - loop(te$sameas(te,"wind"), + loop(te$sameas(te,"windon"), loop(regi$sameas(regi,"DEU"), pm_cf("2025",regi,te) = 1.04 * pm_cf("2025",regi,te); pm_cf("2030",regi,te) = 1.08 * pm_cf("2030",regi,te); @@ -266,32 +304,32 @@ p47_LULUCFEmi_GrassiShift(t,regi)$(p47_EmiLULUCFCountryAcc("2020",regi)) = *PW* charge tax on PE gas,oil,coal in energy security scenario for Germany (in trUSD/TWa) to hit Ariadne energy security price trajectories $ifThen.cm_EnSecScen_price "%cm_EnSecScen_price%" == "on" - pm_tau_pe_tax("2025",regi,"pegas")$(sameAs(regi,"DEU")) = 0.32; - pm_tau_pe_tax("2030",regi,"pegas")$(sameAs(regi,"DEU")) = 0.24; - pm_tau_pe_tax("2035",regi,"pegas")$(sameAs(regi,"DEU")) = 0.2; - pm_tau_pe_tax("2040",regi,"pegas")$(sameAs(regi,"DEU")) = 0.16; - pm_tau_pe_tax("2045",regi,"pegas")$(sameAs(regi,"DEU")) = 0.16; - pm_tau_pe_tax("2050",regi,"pegas")$(sameAs(regi,"DEU")) = 0.16; - pm_tau_pe_tax("2055",regi,"pegas")$(sameAs(regi,"DEU")) = 0.12; - pm_tau_pe_tax("2060",regi,"pegas")$(sameAs(regi,"DEU")) = 0.08; - - pm_tau_pe_tax("2025",regi,"peoil")$(sameAs(regi,"DEU")) = 0.08; - pm_tau_pe_tax("2030",regi,"peoil")$(sameAs(regi,"DEU")) = 0.08; - pm_tau_pe_tax("2035",regi,"peoil")$(sameAs(regi,"DEU")) = 0.12; - pm_tau_pe_tax("2040",regi,"peoil")$(sameAs(regi,"DEU")) = 0.16; - pm_tau_pe_tax("2045",regi,"peoil")$(sameAs(regi,"DEU")) = 0.16; - pm_tau_pe_tax("2050",regi,"peoil")$(sameAs(regi,"DEU")) = 0.16; - pm_tau_pe_tax("2055",regi,"peoil")$(sameAs(regi,"DEU")) = 0.12; - pm_tau_pe_tax("2060",regi,"peoil")$(sameAs(regi,"DEU")) = 0.08; - - pm_tau_pe_tax("2025",regi,"pecoal")$(sameAs(regi,"DEU")) = 0.024; - pm_tau_pe_tax("2030",regi,"pecoal")$(sameAs(regi,"DEU")) = 0.016; - pm_tau_pe_tax("2035",regi,"pecoal")$(sameAs(regi,"DEU")) = 0.016; - pm_tau_pe_tax("2040",regi,"pecoal")$(sameAs(regi,"DEU")) = 0.016; - pm_tau_pe_tax("2045",regi,"pecoal")$(sameAs(regi,"DEU")) = 0.016; - pm_tau_pe_tax("2050",regi,"pecoal")$(sameAs(regi,"DEU")) = 0.016; - pm_tau_pe_tax("2055",regi,"pecoal")$(sameAs(regi,"DEU")) = 0.008; - pm_tau_pe_tax("2060",regi,"pecoal")$(sameAs(regi,"DEU")) = 0.008; + pm_tau_pe_tax("2025",regi,"pegas")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.32; + pm_tau_pe_tax("2030",regi,"pegas")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.24; + pm_tau_pe_tax("2035",regi,"pegas")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.2; + pm_tau_pe_tax("2040",regi,"pegas")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.16; + pm_tau_pe_tax("2045",regi,"pegas")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.16; + pm_tau_pe_tax("2050",regi,"pegas")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.16; + pm_tau_pe_tax("2055",regi,"pegas")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.12; + pm_tau_pe_tax("2060",regi,"pegas")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.08; + + pm_tau_pe_tax("2025",regi,"peoil")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.08; + pm_tau_pe_tax("2030",regi,"peoil")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.08; + pm_tau_pe_tax("2035",regi,"peoil")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.12; + pm_tau_pe_tax("2040",regi,"peoil")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.16; + pm_tau_pe_tax("2045",regi,"peoil")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.16; + pm_tau_pe_tax("2050",regi,"peoil")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.16; + pm_tau_pe_tax("2055",regi,"peoil")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.12; + pm_tau_pe_tax("2060",regi,"peoil")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.08; + + pm_tau_pe_tax("2025",regi,"pecoal")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.024; + pm_tau_pe_tax("2030",regi,"pecoal")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.016; + pm_tau_pe_tax("2035",regi,"pecoal")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.016; + pm_tau_pe_tax("2040",regi,"pecoal")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.016; + pm_tau_pe_tax("2045",regi,"pecoal")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.016; + pm_tau_pe_tax("2050",regi,"pecoal")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.016; + pm_tau_pe_tax("2055",regi,"pecoal")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.008; + pm_tau_pe_tax("2060",regi,"pecoal")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.008; $endIf.cm_EnSecScen_price *** adapt parameters that determine the ratio of wind onshore and wind offshore installation for Germany diff --git a/modules/47_regipol/regiCarbonPrice/declarations.gms b/modules/47_regipol/regiCarbonPrice/declarations.gms index 61d36f93a..730c19f73 100644 --- a/modules/47_regipol/regiCarbonPrice/declarations.gms +++ b/modules/47_regipol/regiCarbonPrice/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -53,6 +53,7 @@ $endif.emiMktTargetType p47_emiMktCurrent_iter(iteration,ttot,ttot2,ext_regi,emiMktExt) "parameter to save pm_emiMktCurrent across iterations [GtCO2 or GtCO2eq]" pm_emiMktRefYear(ttot,ttot2,ext_regi,emiMktExt) "emissions in reference year 2005, used for calculating target deviation of year targets [GtCO2 or GtCO2eq]" pm_emiMktTarget_dev_iter(iteration, ttot,ttot2,ext_regi,emiMktExt) "parameter to save pm_emiMktTarget_dev across iterations (1 is 100%)" + pm_emiMktTarget_tolerance(ext_regi) "tolerance for regipol emission target deviations convergence [#]" *** Parameters necessary to calculate the emission tax rescaling factor p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) "auxiliary parameter to save the slope corresponding to the observed mitigation derivative regarding to co2tax level changes from the two previous iterations [#]" @@ -60,8 +61,9 @@ $endif.emiMktTargetType p47_slopeReferenceIteration_iter(iteration,ttot,ext_regi) "auxiliary parameter to store reference iteration used for calculating slope of current mititgation cost [#]" pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt) "multiplicative tax rescale factor that rescales emiMkt carbon price from iteration to iteration to reach regipol targets [%]" p47_factorRescaleemiMktCO2Tax_iter(iteration,ttot,ttot2,ext_regi,emiMktExt) "parameter to save rescale factor across iterations for debugging purposes [%]" - p47_clampedRescaleSlope(iteration,ttot,ttot2,ext_regi,emiMktExt) "auxiliary parameter to save the slope value before clamping for debugging purposes [#]" - + p47_clampedRescaleSlope_iter(iteration,ttot,ttot2,ext_regi,emiMktExt) "auxiliary parameter to save the slope value before clamping. Useful for debugging purposes [#]" + p47_dampedFactorRescaleemiMktCO2Tax_iter(iteration,ttot,ttot2,ext_regi,emiMktExt) "auxiliary parameter to save the rescale factor value before dampening. Useful for debugging purposes [#]" + *** Parameters necessary to define the CO2 tax curve shape p47_targetConverged(ttot,ext_regi) "boolean to store if emission target has converged [0 or 1]" p47_targetConverged_iter(iteration,ttot,ext_regi) "parameter to save p47_targetConverged across iterations [0 or 1]" @@ -110,8 +112,13 @@ Parameter p47_implicitQttyTargetTaxRescale_iter(iteration,ttot,ext_regi,qttyTarget,qttyTargetGroup) "rescale factor for current implicit quantity target tax after the given iteration" p47_implicitQttyTargetCurrent_iter(iteration,ttot,ext_regi,qttyTarget,qttyTargetGroup) "current iteration total value for an specific quantity target per iteration" +$ifThen.cm_implicitQttyTargetType "%cm_implicitQttyTargetType%" == "config" pm_implicitQttyTarget(ttot,ext_regi,taxType,targetType,qttyTarget,qttyTargetGroup) "quantity target [absolute: TWa or GtC; or percentage: 0.1]" / %cm_implicitQttyTarget% / - +$else.cm_implicitQttyTargetType + pm_implicitQttyTarget(ttot,ext_regi,taxType,targetType,qttyTarget,qttyTargetGroup) "quantity target [absolute: TWa or GtC; or percentage: 0.1]" + p47_implicitQttyTargetScenario(qttyTargetScenario,ttot,ext_regi,taxType,targetType,qttyTarget,qttyTargetGroup) "hard-coded quantity scenarios types [absolute: TWa or GtC; or percentage: 0.1]" +$endif.cm_implicitQttyTargetType + pm_implicitQttyTarget_isLimited(iteration,ttot,ext_regi,qttyTarget,qttyTargetGroup) "1 (one) if there is a hard bound on the model that does not allow the tax to change further the quantity" p47_implicitQttyTarget_initialYear(ext_regi,taxType,targetType,qttyTarget,qttyTargetGroup) "initial year of quantity target for a given region [year]" @@ -239,4 +246,19 @@ Parameter $endIf.regiExoPrice +***--------------------------------------------------------------------------- +*** Total SE per PE calculation used for setting bounds +***--------------------------------------------------------------------------- + +Variable +v47_prodSEtotal(ttot,all_regi,all_enty,all_enty) "total SE production per PE and SE over all technologies" +; + +Equation +q47_prodSEtotal(ttot,all_regi,all_enty,all_enty) "calculate total SE production per PE and SE over all technologies" +; + + + + *** EOF ./modules/47_regipol/regiCarbonPrice/declarations.gms diff --git a/modules/47_regipol/regiCarbonPrice/equations.gms b/modules/47_regipol/regiCarbonPrice/equations.gms index 385b6b9e4..304e0c020 100644 --- a/modules/47_regipol/regiCarbonPrice/equations.gms +++ b/modules/47_regipol/regiCarbonPrice/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -32,6 +32,10 @@ q47_implicitQttyTargetTax(t,regi)$(t.val ge max(2010,cm_startyear)).. ( p47_implicitQttyTargetTax(t,regi,qttyTarget,qttyTargetGroup) * sum(ccs2te(ccsCo2(enty),enty2,te), sum(teCCS2rlf(te,rlf),vm_co2CCS(t,regi,enty,enty2,te,rlf))) )$(sameas(qttyTarget,"CCS")) + + + ( + p47_implicitQttyTargetTax(t,regi,qttyTarget,qttyTargetGroup) * (-sum(te_oae33, vm_emiCdrTeDetail(t,regi,te_oae33))) + )$(sameas(qttyTarget,"oae")) ) - p47_implicitQttyTargetTax0(t,regi) @@ -125,5 +129,18 @@ q47_CCSmaxBound(t,regi)$p47_CCSmaxBound(regi).. $endIf.cm_CCSmaxBound +***--------------------------------------------------------------------------- +*' total SE generation per PE carrier (useful for setting historical bounds) +***--------------------------------------------------------------------------- + +q47_prodSEtotal(t,regi,entyPe,entySe)$(pese(entyPe,entySe)).. + v47_prodSEtotal(t,regi,entyPe,entySe) + =e= + sum(pe2se(entyPe,entySe,te), + vm_prodSe(t,regi,entyPe,entySe,te)); + + + + *' @stop *** EOF ./modules/47_regipol/regiCarbonPrice/equations.gms diff --git a/modules/47_regipol/regiCarbonPrice/input/exogenousFEprices.cs3r b/modules/47_regipol/regiCarbonPrice/input/exogenousFEprices.cs3r index 739be8023..99e2be366 100644 --- a/modules/47_regipol/regiCarbonPrice/input/exogenousFEprices.cs3r +++ b/modules/47_regipol/regiCarbonPrice/input/exogenousFEprices.cs3r @@ -1,4 +1,4 @@ -* | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +* | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) * | authors, and contributors see CITATION.cff file. This file is part * | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of * | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/47_regipol/regiCarbonPrice/input/exogenousPEprices.cs3r b/modules/47_regipol/regiCarbonPrice/input/exogenousPEprices.cs3r index 217c0edfa..1eaeb0b0b 100644 --- a/modules/47_regipol/regiCarbonPrice/input/exogenousPEprices.cs3r +++ b/modules/47_regipol/regiCarbonPrice/input/exogenousPEprices.cs3r @@ -1,4 +1,4 @@ -* | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +* | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) * | authors, and contributors see CITATION.cff file. This file is part * | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of * | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/47_regipol/regiCarbonPrice/postsolve.gms b/modules/47_regipol/regiCarbonPrice/postsolve.gms index f97bcdd17..700615abe 100644 --- a/modules/47_regipol/regiCarbonPrice/postsolve.gms +++ b/modules/47_regipol/regiCarbonPrice/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -204,7 +204,7 @@ loop((ext_regi,ttot2)$regiANDperiodEmiMktTarget_47(ttot2,ext_regi), regiEmiMktconvergenceType(iteration,ttot,ttot2,ext_regi,emiMktExt,"smallPrice") = YES; p47_targetConverged(ttot2,ext_regi) = 1; *** if current absolute emissions minus the target (=deviation) is lower than the tolerance - elseif(abs(pm_emiMktTarget_dev_iter(iteration,ttot,ttot2,ext_regi,emiMktExt)) le cm_emiMktTarget_tolerance), + elseif(abs(pm_emiMktTarget_dev_iter(iteration,ttot,ttot2,ext_regi,emiMktExt)) le pm_emiMktTarget_tolerance(ext_regi)), regiEmiMktconvergenceType(iteration,ttot,ttot2,ext_regi,emiMktExt,"lowerThanTolerance") = YES; p47_targetConverged(ttot2,ext_regi) = 1; ); @@ -256,8 +256,6 @@ loop((ext_regi,ttot)$regiANDperiodEmiMktTarget_47(ttot,ext_regi), ); ); - - *** resetting rescale factor for the next iteration p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) = 0; pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt) = 0; @@ -268,9 +266,12 @@ loop(ext_regi$regiEmiMktTarget(ext_regi), loop((ttot,emiMktExt,target_type_47,emi_type_47)$(pm_emiMktTarget(ttot,ttot2,ext_regi,emiMktExt,target_type_47,emi_type_47)), loop(emiMkt$emiMktGroup(emiMktExt,emiMkt), loop(regi$regiEmiMktTarget2regi_47(ext_regi,regi), +*** if rescale factor was already calculated for ext_regi, there is no need to recalculate it + continue$(pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt)); +*** calculating the rescale factor loop(iteration2$((iteration2.val le iteration.val) and (iteration2.val eq p47_slopeReferenceIteration_iter(iteration,ttot2,ext_regi))), !!reference iteration for slope calculation *** if it is the first iteration or the reference iteration changed, initialize the rescale factor based on remaining deviation - if(iteration.val - p47_slopeReferenceIteration_iter(iteration,ttot,ext_regi) eq 0, + if((iteration.val - iteration2.val) eq 0, regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,"squareDev_firstIteration") = YES; pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt) = power(1+pm_emiMktTarget_dev(ttot,ttot2,ext_regi,emiMktExt), 2); *** else if for the extreme case of a perfect match with no change between the two iterations emisssion taxes used in the slope calculation, in order to avoid a division by zero error assume the rescale factor based on remaining deviation @@ -285,48 +286,82 @@ loop(ext_regi$regiEmiMktTarget(ext_regi), (abs(pm_taxemiMkt_iteration(iteration,ttot2,regi,emiMkt) - pm_taxemiMkt_iteration("1",ttot2,regi,emiMkt)) lt 1e-2)), regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,"squareDev_smallChange") = YES; pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt) = power(1+pm_emiMktTarget_dev(ttot,ttot2,ext_regi,emiMktExt), 2); -*** else, use previous iteration information to define rescale factor +*** else, calculate rescale factor using quantities and prices slope changes else -*** if denominator is not close to zero, calculate the price slope in relation to the previous iteration mitigation and price levels - if(NOT(pm_taxemiMkt_iteration(iteration,ttot2,regi,emiMkt) - pm_taxemiMkt_iteration(iteration2,ttot2,regi,emiMkt) eq 0) OR - NOT(abs(pm_taxemiMkt_iteration(iteration,ttot2,regi,emiMkt) - pm_taxemiMkt_iteration(iteration2,ttot2,regi,emiMkt)) lt 1e-2), - regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,"slope_prevIteration") = YES; +*** if denominator in relation to reference is not close to zero, calculate the price slope in relation to the reference iteration mitigation and price levels + if(NOT(abs(pm_taxemiMkt_iteration(iteration,ttot2,regi,emiMkt) - pm_taxemiMkt_iteration(iteration2,ttot2,regi,emiMkt)) lt 1e-2), + regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,"slope_refIteration") = YES; p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) = (p47_emiMktCurrent_iter(iteration,ttot,ttot2,ext_regi,emiMktExt) - p47_emiMktCurrent_iter(iteration2,ttot,ttot2,ext_regi,emiMktExt)) / (pm_taxemiMkt_iteration(iteration,ttot2,regi,emiMkt) - pm_taxemiMkt_iteration(iteration2,ttot2,regi,emiMkt)); -*** else, calculate the price slope in relation to the first iteration mitigation and price levels - else - regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,"slope_firstIteration") = YES; - p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) = - (p47_emiMktCurrent_iter(iteration,ttot,ttot2,ext_regi,emiMktExt) - p47_emiMktCurrent_iter("1",ttot,ttot2,ext_regi,emiMktExt)) - / - (pm_taxemiMkt_iteration(iteration,ttot2,regi,emiMkt) - pm_taxemiMkt_iteration("1",ttot2,regi,emiMkt)); - - ); -*** if the slope is positive, recalculate the slope based on the initial iteration instead of the reference one because we assume a trade-off between tax and emission levels - if(p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) gt 0, - regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,rescaleType) = NO; +*** else if denominator in relation to first iteration is not close to zero, calculate the price slope in relation to the first iteration mitigation and price levels instead + elseif(NOT(abs(pm_taxemiMkt_iteration(iteration,ttot2,regi,emiMkt) - pm_taxemiMkt_iteration("1",ttot2,regi,emiMkt)) lt 1e-2)), regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,"slope_firstIteration") = YES; p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) = (p47_emiMktCurrent_iter(iteration,ttot,ttot2,ext_regi,emiMktExt) - p47_emiMktCurrent_iter("1",ttot,ttot2,ext_regi,emiMktExt)) / (pm_taxemiMkt_iteration(iteration,ttot2,regi,emiMkt) - pm_taxemiMkt_iteration("1",ttot2,regi,emiMkt)); +*** else if there is a previous iteration calculated slope, repeat the previous iteration slope + elseif((iteration.val gt 1) and (p47_slopeReferenceIteration_iter(iteration,ttot,ext_regi) - p47_slopeReferenceIteration_iter(iteration-1,ttot,ext_regi) eq 0)), + regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,"slope_repeatPrev") = YES; + p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) = p47_factorRescaleSlope_iter(iteration-1,ttot,ttot2,ext_regi,emiMktExt); +*** else slope is not available, set the rescale factor based on remaining deviation + else + regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,"squareDev_noSlope") = YES; + pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt) = power(1+pm_emiMktTarget_dev(ttot,ttot2,ext_regi,emiMktExt), 2); ); -*** clamp slopes values to avoid extreme changes (or no change) on a single iteration (avoid corner cases where other parts of the model changes causing undesirable fluctuations on the calculated slope) - if((p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) gt -0.3) OR (p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) lt -5), - p47_clampedRescaleSlope(iteration,ttot,ttot2,ext_regi,emiMktExt) = p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt); +*** if we are using the slope + if(NOT(regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,"squareDev_noSlope")), +*** if the slope is positive + if(p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) gt 0, + regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,rescaleType) = NO; +*** if there is a previous iteration calculated slope, repeat the previous iteration slope to avoid the positive value because we assume a trade-off between tax and emission levels + if((iteration.val gt 1) and (p47_slopeReferenceIteration_iter(iteration,ttot,ext_regi) - p47_slopeReferenceIteration_iter(iteration-1,ttot,ext_regi) eq 0), + regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,"slope_repeatPrev_positiveSlope") = YES; + p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) = p47_factorRescaleSlope_iter(iteration-1,ttot,ttot2,ext_regi,emiMktExt); +*** else slope is not available, set the rescale factor based on remaining deviation + else + regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,"squareDev_noNonPositiveSlope") = YES; + pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt) = power(1+pm_emiMktTarget_dev(ttot,ttot2,ext_regi,emiMktExt), 2); + ); + ); +*** if we are still using the slope + if(NOT(regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,"squareDev_noNonPositiveSlope")), +*** clamp slopes values to avoid extreme changes (or no change) on a single iteration (avoid corner cases where other parts of the model changes causing undesirable fluctuations on the calculated slope) + if((p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) gt -0.3) OR (p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) lt -5), + p47_clampedRescaleSlope_iter(iteration,ttot,ttot2,ext_regi,emiMktExt) = p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt); + ); + p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) = max(-5,min(-0.3, p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt))); +*** calculate the tax rescale factor using the above calculated slope + pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt) = + ( + (pm_emiMktTarget(ttot,ttot2,ext_regi,emiMktExt,target_type_47,emi_type_47) - p47_emiMktCurrent_iter(iteration,ttot,ttot2,ext_regi,emiMktExt)) + / + (p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) * pm_taxemiMkt_iteration(iteration,ttot2,regi,emiMkt)) + ) + 1; + ); ); - p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) = max(-5,min(-0.3, p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt))); -*** calculate the tax rescale factor using the above calculated slope - pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt) = - ( - (pm_emiMktTarget(ttot,ttot2,ext_regi,emiMktExt,target_type_47,emi_type_47) - p47_emiMktCurrent_iter(iteration,ttot,ttot2,ext_regi,emiMktExt)) - / - (p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) * pm_taxemiMkt_iteration(iteration,ttot2,regi,emiMkt)) - ) + 1; ); ); +*** dampen if rescale oscillates + if( (iteration.val > 3) , + if ( ( + ( ( ( p47_factorRescaleemiMktCO2Tax_iter(iteration-1,ttot,ttot2,ext_regi,emiMktExt) - 1 ) + * ( pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt) - 1 ) ) < 0 + ) AND !! test if rescale changed from >1 to <1 or vice versa between iteration -1 and current iteration + ( ( ( p47_factorRescaleemiMktCO2Tax_iter(iteration-1,ttot,ttot2,ext_regi,emiMktExt) - 1 ) + * ( p47_factorRescaleemiMktCO2Tax_iter(iteration-2,ttot,ttot2,ext_regi,emiMktExt) -1 ) ) < 0 + ) !! test if rescale changed from >1 to <1 or vice versa between iteration -2 and iteration -1 + ) , + p47_dampedFactorRescaleemiMktCO2Tax_iter(iteration,ttot,ttot2,ext_regi,emiMktExt) = pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt); + pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt) = + 1 + ( ( pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt) - 1 ) / 2 ) + ; !! this brings the value closer to one. The formulation works reasonably well within the range of 0.5..2 + put_utility "msg" / "Reducing pm_factorRescaleemiMktCO2Tax due to oscillation in the previous 3 iterations: "; + put_utility "msg" / ttot.tl " " ttot2.tl " " ext_regi.tl " " emiMktExt.tl " " pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt):10:3; + ); + ); ); ); ); @@ -462,6 +497,9 @@ p47_implicitQttyTargetTax0(t,regi) = ( sum(ccs2te(ccsCo2(enty),enty2,te), sum(teCCS2rlf(te,rlf),vm_co2CCS.l(t,regi,enty,enty2,te,rlf))) )$(sameas(qttyTarget,"CCS") AND sameas(qttyTargetGroup,"all")) + + ( sum(te_oae33, -vm_emiCdrTeDetail.l(t,regi,te_oae33)) + )$(sameas(qttyTarget,"oae") AND sameas(qttyTargetGroup,"all")) + + (( !! Supply side BECCS sum(emiBECCS2te(enty,enty2,te,enty3),vm_emiTeDetail.l(t,regi,enty,enty2,te,enty3)) !! Industry BECCS (using biofuels in Industry with CCS) @@ -492,6 +530,9 @@ loop((ttot,ext_regi,taxType,targetType,qttyTarget,qttyTargetGroup)$pm_implicitQt ( sum(regi$regi_groupExt(ext_regi,regi), sum(ccs2te(ccsCo2(enty),enty2,te), sum(teCCS2rlf(te,rlf),vm_co2CCS.l(ttot,regi,enty,enty2,te,rlf)))) )$(sameas(qttyTarget,"CCS") AND sameas(qttyTargetGroup,"all")) + + ( sum(regi$regi_groupExt(ext_regi,regi), sum(te_oae33, -vm_emiCdrTeDetail.l(ttot,regi,te_oae33))) + )$(sameas(qttyTarget,"oae") AND sameas(qttyTargetGroup,"all")) + + sum(regi$regi_groupExt(ext_regi,regi), ( !! Supply side BECCS sum(emiBECCS2te(enty,enty2,te,enty3),vm_emiTeDetail.l(ttot,regi,enty,enty2,te,enty3)) !! Industry BECCS (using biofuels in Industry with CCS) @@ -562,13 +603,13 @@ $else.cm_implicitQttyTarget_delay ); $ifThen.emiMkt not "%cm_emiMktTarget%" == "off" loop(ext_regi, - if((smax((ttot,ttot2,emiMktExt),abs(pm_emiMktTarget_dev(ttot,ttot2,ext_regi,emiMktExt))) gt cm_emiMktTarget_tolerance), !! resetting active state if regipol target is defined and it did not converged + if((smax((ttot,ttot2,emiMktExt),abs(pm_emiMktTarget_dev(ttot,ttot2,ext_regi,emiMktExt))) gt pm_emiMktTarget_tolerance(ext_regi)), !! resetting active state if regipol target is defined and it did not converged p47_implicitQttyTargetActive_iter(iteration,ext_regi) = 0; ); ); elseif(p47_implicitQttyTarget_delay("emiRegiConv")), !!emiTarget delay is defined and deviation is lower than tolerance times p47_implicitQttyTarget_delay("emiRegiConv") loop(ext_regi, - if((smax((ttot,ttot2,emiMktExt),abs(pm_emiMktTarget_dev(ttot,ttot2,ext_regi,emiMktExt))) lt (cm_emiMktTarget_tolerance * p47_implicitQttyTarget_delay("emiRegiConv"))), + if((smax((ttot,ttot2,emiMktExt),abs(pm_emiMktTarget_dev(ttot,ttot2,ext_regi,emiMktExt))) lt (pm_emiMktTarget_tolerance(ext_regi) * p47_implicitQttyTarget_delay("emiRegiConv"))), p47_implicitQttyTargetActive_iter(iteration,ext_regi) = 1; ); ); diff --git a/modules/47_regipol/regiCarbonPrice/preloop.gms b/modules/47_regipol/regiCarbonPrice/preloop.gms index 7ef388bbd..3f5989214 100644 --- a/modules/47_regipol/regiCarbonPrice/preloop.gms +++ b/modules/47_regipol/regiCarbonPrice/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/47_regipol/regiCarbonPrice/presolve.gms b/modules/47_regipol/regiCarbonPrice/presolve.gms index 444dc86fc..49e0b31af 100644 --- a/modules/47_regipol/regiCarbonPrice/presolve.gms +++ b/modules/47_regipol/regiCarbonPrice/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -51,6 +51,9 @@ p47_implicitQttyTargetTax0(t,regi) = ( sum(ccs2te(ccsCo2(enty),enty2,te), sum(teCCS2rlf(te,rlf),vm_co2CCS.l(t,regi,enty,enty2,te,rlf))) )$(sameas(qttyTarget,"CCS") AND sameas(qttyTargetGroup,"all")) + + ( sum(te_oae33, -vm_emiCdrTeDetail.l(t,regi,te_oae33)) + )$(sameas(qttyTarget,"oae") AND sameas(qttyTargetGroup,"all")) + + (( !! Supply side BECCS sum(emiBECCS2te(enty,enty2,te,enty3),vm_emiTeDetail.l(t,regi,enty,enty2,te,enty3)) !! Industry BECCS (using biofuels in Industry with CCS) diff --git a/modules/47_regipol/regiCarbonPrice/realization.gms b/modules/47_regipol/regiCarbonPrice/realization.gms index 32cc750a7..9b7a065ef 100644 --- a/modules/47_regipol/regiCarbonPrice/realization.gms +++ b/modules/47_regipol/regiCarbonPrice/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/47_regipol/regiCarbonPrice/sets.gms b/modules/47_regipol/regiCarbonPrice/sets.gms index bdf2ba983..81a39832f 100644 --- a/modules/47_regipol/regiCarbonPrice/sets.gms +++ b/modules/47_regipol/regiCarbonPrice/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -21,13 +21,16 @@ $ifThen.emiMkt not "%cm_emiMktTarget%" == "off" regiEmiMktTarget(ext_regi) "regions with emiMkt targets" / / regiANDperiodEmiMktTarget_47(ttot,ext_regi) "regions and periods with emiMkt targets" / / regiEmiMktTarget2regi_47(ext_regi,all_regi) "regions controlled by emiMkt market set to ext_regi" / / - rescaleType "carbon price scaling types" / "squareDev_firstIteration", "squareDev_perfectMatch", "squareDev_smallChange", "squareDev_noChange", "slope_prevIteration", "slope_firstIteration"/ + rescaleType "emi mkt carbon price scaling factor calculation methods" / + "squareDev_firstIteration", "squareDev_perfectMatch", "squareDev_smallChange", "squareDev_noChange", + "slope_refIteration", "slope_firstIteration", "slope_repeatPrev", "slope_repeatPrev_positiveSlope", + "squareDev_noSlope", "squareDev_noNonPositiveSlope"/ regiEmiMktRescaleType(iteration,ttot,ttot,ext_regi,emiMktExt,rescaleType) "saving scaling type used in iteration" / / convergenceType "emiMkt target non convergence reason" / "lowerThanTolerance", "smallPrice" / regiEmiMktconvergenceType(iteration,ttot,ttot,ext_regi,emiMktExt,convergenceType) "saving convergence type in iteration" / / $ENDIF.emiMkt -*** Implicit tax/subsidy necessary to achieve quantity target for primary, secondary, final energy and/or CCS +*** Implicit tax/subsidy necessary to achieve quantity target for primary, secondary, final energy and/or CCS and/or OAE $ifthen.cm_implicitQttyTarget not "%cm_implicitQttyTarget%" == "off" taxType "PE, SE or FE tax type" @@ -42,7 +45,7 @@ targetType "PE, SE or FE target type" s "relative target (s=share)" / -qttyTarget "quantity target for energy carrier level (primary, secondary, final energy) or CCS" +qttyTarget "quantity target for energy carrier level (primary, secondary, final energy) or CCS or OAE" / PE "Primary Energy" SE "Secondary Energy" @@ -51,6 +54,7 @@ qttyTarget "quantity target for energy carrier level (primary, secondary, final FE_wo_n_e "Final Energy without non-energy" FE_wo_b_wo_n_e "Final Energy without bunkers and non-energy" CCS "carbon capture and storage" + oae "ocean alkalinity enhancement" / qttyTargetGroup "quantity target aggregated categories" @@ -104,6 +108,23 @@ qttyDelayType_47 "options to define different delay rules for starting the quant emiConv "quantity targets are only active after emission targets defined at the carbon price modules and at the regipol modules converged" emiRegiConv "quantity targets are only active after regional emission targets achieved given deviation levels" / + +$ifThen.cm_implicitQttyTargetType "%cm_implicitQttyTargetType%" == "scenario" +qttyTargetScenario "hard-coded quantity scenarios" +/ + EU27_eedEff "2018 energy efficiency directive (846 Mtoe final energy by 2030)" + EU27_ff55Eff "Fit for 55 energy efficiency target (787 Mtoe final energy by 2030)" + EU27_RpEUEff "RePowerEU energy efficiency target (750 Mtoe final energy by 2030)" + + EU27_bio4 "EU-27 primary energy biomass limited to 6 EJ by 2035 and 4 EJ by 2050" + EU27_bio7p5 "EU-27 primary energy biomass limited to 7.5 EJ by 2035 and 2050" + EU27_bio12 "EU-27 primary energy biomass limited to 12 EJ by 2035 and 2050" + + EU27_limVRE "wind and solar limited to linear extrapolation of 2021-2022 growth of generation capacity by 2025 and 2050" +/ +qttyTargetActiveScenario(qttyTargetScenario) "current run active quantity scenarios" / %cm_implicitQttyTarget% / +$endif.cm_implicitQttyTargetType + $endIf.cm_implicitQttyTarget $ifthen.cm_implicitPriceTarget not "%cm_implicitPriceTarget%" == "off" @@ -132,6 +153,8 @@ exogDemScen "exogenuous FE and ES demand scenarios that can be activated b / ariadne_bal ariadne_ensec + ariadne_highDem + ariadne_lowDem / $endif.exogDemScen @@ -150,6 +173,5 @@ $ifthen.cm_implicitQttyTarget not "%cm_implicitQttyTarget%" == "off" ); $endIf.cm_implicitQttyTarget - *** EOF ./modules/47_regipol/regiCarbonPrice/sets.gms diff --git a/modules/50_damages/BurkeLike/bounds.gms b/modules/50_damages/BurkeLike/bounds.gms index cd6e57240..542d2bfd4 100644 --- a/modules/50_damages/BurkeLike/bounds.gms +++ b/modules/50_damages/BurkeLike/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/BurkeLike/datainput.gms b/modules/50_damages/BurkeLike/datainput.gms index d063c0120..cdb5ef660 100644 --- a/modules/50_damages/BurkeLike/datainput.gms +++ b/modules/50_damages/BurkeLike/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/BurkeLike/declarations.gms b/modules/50_damages/BurkeLike/declarations.gms index 752291785..a58dd53cc 100644 --- a/modules/50_damages/BurkeLike/declarations.gms +++ b/modules/50_damages/BurkeLike/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -9,8 +9,8 @@ parameters pm_damage(tall,all_regi) "damage factor (reduces GDP)" pm_damageGrowthRate(tall,all_regi) "damage function for growth rate of GDP" pm_damageMarginal(tall,all_regi) "damage function derivative" -p50_damageFuncCoef1 "coef1 of damamge function", -p50_damageFuncCoef2 "coef2 of damamge function" +p50_damageFuncCoef1 "coef1 of damage function", +p50_damageFuncCoef2 "coef2 of damage function" ; positive variable diff --git a/modules/50_damages/BurkeLike/not_used.txt b/modules/50_damages/BurkeLike/not_used.txt index 21ec74012..40196520b 100644 --- a/modules/50_damages/BurkeLike/not_used.txt +++ b/modules/50_damages/BurkeLike/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/BurkeLike/postsolve.gms b/modules/50_damages/BurkeLike/postsolve.gms index e444c1447..9adf75074 100644 --- a/modules/50_damages/BurkeLike/postsolve.gms +++ b/modules/50_damages/BurkeLike/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/BurkeLike/realization.gms b/modules/50_damages/BurkeLike/realization.gms index 7f6d4aeb7..0839bceb8 100644 --- a/modules/50_damages/BurkeLike/realization.gms +++ b/modules/50_damages/BurkeLike/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/DiceLike/bounds.gms b/modules/50_damages/DiceLike/bounds.gms index d333593e0..e50a6c9b3 100644 --- a/modules/50_damages/DiceLike/bounds.gms +++ b/modules/50_damages/DiceLike/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/DiceLike/datainput.gms b/modules/50_damages/DiceLike/datainput.gms index 3a60fb041..2eb7a149a 100644 --- a/modules/50_damages/DiceLike/datainput.gms +++ b/modules/50_damages/DiceLike/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/DiceLike/declarations.gms b/modules/50_damages/DiceLike/declarations.gms index 5bb245d9b..4e89020f9 100644 --- a/modules/50_damages/DiceLike/declarations.gms +++ b/modules/50_damages/DiceLike/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/DiceLike/not_used.txt b/modules/50_damages/DiceLike/not_used.txt index affac1b01..8ece5b6d7 100644 --- a/modules/50_damages/DiceLike/not_used.txt +++ b/modules/50_damages/DiceLike/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/DiceLike/postsolve.gms b/modules/50_damages/DiceLike/postsolve.gms index c2ee53421..d0cafd600 100644 --- a/modules/50_damages/DiceLike/postsolve.gms +++ b/modules/50_damages/DiceLike/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/DiceLike/realization.gms b/modules/50_damages/DiceLike/realization.gms index f80e4752e..1dcbdf1e7 100644 --- a/modules/50_damages/DiceLike/realization.gms +++ b/modules/50_damages/DiceLike/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KWLike/bounds.gms b/modules/50_damages/KWLike/bounds.gms index 940e96fb0..91ef42362 100644 --- a/modules/50_damages/KWLike/bounds.gms +++ b/modules/50_damages/KWLike/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KWLike/datainput.gms b/modules/50_damages/KWLike/datainput.gms index 145343845..809c26552 100644 --- a/modules/50_damages/KWLike/datainput.gms +++ b/modules/50_damages/KWLike/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KWLike/declarations.gms b/modules/50_damages/KWLike/declarations.gms index ed383eb22..956fcfdfc 100644 --- a/modules/50_damages/KWLike/declarations.gms +++ b/modules/50_damages/KWLike/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -12,10 +12,10 @@ pm_damageGrowthRate(tall,all_regi) "damage function for growth pm_damageMarginalT(tall,all_regi) "damage function derivative for KW" pm_damageMarginalTm1(tall,all_regi) "damage function derivative for KW" pm_damageMarginalTm2(tall,all_regi) "damage function derivative for KW" -p50_damageFuncCoefa1 "coef1 of damamge function", -p50_damageFuncCoefa2 "coef2 of damamge function" -p50_damageFuncCoefb1 "coef1 of damamge function", -p50_damageFuncCoefb2 "coef2 of damamge function" +p50_damageFuncCoefa1 "coef1 of damage function", +p50_damageFuncCoefa2 "coef2 of damage function" +p50_damageFuncCoefb1 "coef1 of damage function", +p50_damageFuncCoefb2 "coef2 of damage function" ; positive variable diff --git a/modules/50_damages/KWLike/not_used.txt b/modules/50_damages/KWLike/not_used.txt index 4c44ec3c6..e28577907 100644 --- a/modules/50_damages/KWLike/not_used.txt +++ b/modules/50_damages/KWLike/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KWLike/postsolve.gms b/modules/50_damages/KWLike/postsolve.gms index baccdaa4b..f574045a2 100644 --- a/modules/50_damages/KWLike/postsolve.gms +++ b/modules/50_damages/KWLike/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KWLike/realization.gms b/modules/50_damages/KWLike/realization.gms index a30932e90..bbb46841a 100644 --- a/modules/50_damages/KWLike/realization.gms +++ b/modules/50_damages/KWLike/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KWTCint/bounds.gms b/modules/50_damages/KWTCint/bounds.gms index abc8c3fcc..e86d50637 100755 --- a/modules/50_damages/KWTCint/bounds.gms +++ b/modules/50_damages/KWTCint/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KWTCint/datainput.gms b/modules/50_damages/KWTCint/datainput.gms index 388dba604..3fd7e4ecf 100755 --- a/modules/50_damages/KWTCint/datainput.gms +++ b/modules/50_damages/KWTCint/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -52,7 +52,7 @@ pm_damageMarginalT(tall,regi) = 0; pm_damageMarginalTm1(tall,regi) = 0; pm_damageMarginalTm2(tall,regi) = 0; -*read in GDP to calculate fraction of countries in a region +*** read in GDP to calculate fraction of countries in a region table f50_countryGDP(tall,iso,all_GDPscen) "ratio country to regional GDP" $ondelim $include "./modules/50_damages/KWTCint/input/f50_gdp.cs3r" diff --git a/modules/50_damages/KWTCint/declarations.gms b/modules/50_damages/KWTCint/declarations.gms index 4521ec3a1..0b606f00c 100755 --- a/modules/50_damages/KWTCint/declarations.gms +++ b/modules/50_damages/KWTCint/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -12,10 +12,10 @@ pm_damageGrowthRate(tall,all_regi) "damage function for growth pm_damageMarginalT(tall,all_regi) "damage function derivative for KW" pm_damageMarginalTm1(tall,all_regi) "damage function derivative for KW" pm_damageMarginalTm2(tall,all_regi) "damage function derivative for KW" -p50_damageFuncCoefa1 "coef1 of damamge function", -p50_damageFuncCoefa2 "coef2 of damamge function" -p50_damageFuncCoefb1 "coef1 of damamge function", -p50_damageFuncCoefb2 "coef2 of damamge function" +p50_damageFuncCoefa1 "coef1 of damage function", +p50_damageFuncCoefa2 "coef2 of damage function" +p50_damageFuncCoefb1 "coef1 of damage function", +p50_damageFuncCoefb2 "coef2 of damage function" p50_damageFuncCoefTC0(iso) "coef0 for tropical cyclone damage function" p50_damageFuncCoefTC1(iso) "coef1 for tropical cyclone damage function" pm_damageProd(tall,all_regi) "damage from aggregate damage function" diff --git a/modules/50_damages/KWTCint/not_used.txt b/modules/50_damages/KWTCint/not_used.txt index e36d3b939..7d10e2034 100755 --- a/modules/50_damages/KWTCint/not_used.txt +++ b/modules/50_damages/KWTCint/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KWTCint/postsolve.gms b/modules/50_damages/KWTCint/postsolve.gms index b5cb00903..e5e82b463 100755 --- a/modules/50_damages/KWTCint/postsolve.gms +++ b/modules/50_damages/KWTCint/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KWTCint/realization.gms b/modules/50_damages/KWTCint/realization.gms index c8518ebba..25a85a52f 100755 --- a/modules/50_damages/KWTCint/realization.gms +++ b/modules/50_damages/KWTCint/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KWTCint/sets.gms b/modules/50_damages/KWTCint/sets.gms index 15912d346..8eaf1cffc 100755 --- a/modules/50_damages/KWTCint/sets.gms +++ b/modules/50_damages/KWTCint/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KW_SE/bounds.gms b/modules/50_damages/KW_SE/bounds.gms index fbdcb080e..7a0649b19 100755 --- a/modules/50_damages/KW_SE/bounds.gms +++ b/modules/50_damages/KW_SE/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KW_SE/datainput.gms b/modules/50_damages/KW_SE/datainput.gms index b4a8ab4cf..f901df85e 100755 --- a/modules/50_damages/KW_SE/datainput.gms +++ b/modules/50_damages/KW_SE/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KW_SE/declarations.gms b/modules/50_damages/KW_SE/declarations.gms index ca3a470ec..92183ff68 100755 --- a/modules/50_damages/KW_SE/declarations.gms +++ b/modules/50_damages/KW_SE/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -16,10 +16,10 @@ pm_damageGrowthRate(tall,all_regi) "damage function for growth pm_damageMarginalT(tall,all_regi) "damage function derivative for KW" pm_damageMarginalTm1(tall,all_regi) "damage function derivative for KW" pm_damageMarginalTm2(tall,all_regi) "damage function derivative for KW" -p50_damageFuncCoefa1 "coef1 of damamge function", -p50_damageFuncCoefa2 "coef2 of damamge function" -p50_damageFuncCoefb1 "coef1 of damamge function", -p50_damageFuncCoefb2 "coef2 of damamge function" +p50_damageFuncCoefa1 "coef1 of damage function", +p50_damageFuncCoefa2 "coef2 of damage function" +p50_damageFuncCoefb1 "coef1 of damage function", +p50_damageFuncCoefb2 "coef2 of damage function" p50_se(tall,all_regi) "standard error for damages" p50_var_a1 "variance of coef1" p50_var_a2 "variance of coef2" diff --git a/modules/50_damages/KW_SE/not_used.txt b/modules/50_damages/KW_SE/not_used.txt index 8db49cde6..9e4a4a6c2 100755 --- a/modules/50_damages/KW_SE/not_used.txt +++ b/modules/50_damages/KW_SE/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KW_SE/postsolve.gms b/modules/50_damages/KW_SE/postsolve.gms index 55a1b2f67..6f96f3782 100755 --- a/modules/50_damages/KW_SE/postsolve.gms +++ b/modules/50_damages/KW_SE/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KW_SE/realization.gms b/modules/50_damages/KW_SE/realization.gms index 5ad56a2ac..8c1407a8a 100755 --- a/modules/50_damages/KW_SE/realization.gms +++ b/modules/50_damages/KW_SE/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/RLDC/preloop.gms b/modules/50_damages/KotzWenz/bounds.gms similarity index 65% rename from modules/32_power/RLDC/preloop.gms rename to modules/50_damages/KotzWenz/bounds.gms index 89586acbc..59846bd13 100644 --- a/modules/32_power/RLDC/preloop.gms +++ b/modules/50_damages/KotzWenz/bounds.gms @@ -4,12 +4,9 @@ *** | AGPL-3.0, you are granted additional permissions described in the *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de +*** SOF ./modules/50_damages/KotzWenz/bounds.gms -*** SOF ./modules/32_power/RLDC/preloop.gms +vm_damageProdFactor.fx(ttot,regi,in) = 1; +vm_damageFactor.fx(ttot,regi)$(ttot.val ge 2005) = pm_damage(ttot,regi); -*** read marginal of seel balance equation -Execute_Loadpoint 'input' q32_balSe.m = q32_balSe.m; - - - -*** EOF ./modules/32_power/RLDC/preloop.gms +*** EOF ./modules/50_damages/KotzWenz/bounds.gms diff --git a/modules/50_damages/KotzWenz/datainput.gms b/modules/50_damages/KotzWenz/datainput.gms new file mode 100644 index 000000000..368a741d2 --- /dev/null +++ b/modules/50_damages/KotzWenz/datainput.gms @@ -0,0 +1,24 @@ +*** SOF ./modules/50_damages/KotzWenz/datainput.gms +table f50_countryGDP(tall,iso,all_GDPscen) "country level GDP from SSPs" +$ondelim +$include "./modules/50_damages/KotzWenz/input/f50_gdp.cs3r" +$offdelim +; + +* initialize +pm_damage(tall,regi) = 1; + +*calculate and interpolate country GDP fraction of regional GDP, country GDP is in PPP, regional GDP in trl MER! +pm_GDPfrac(tall,iso)=f50_countryGDP(tall,iso,"%cm_GDPscen%")/1000000/(sum(regi2iso(regi,iso),pm_gdp(tall,regi)/pm_shPPPMER(regi))+1e-9); +loop(ttot$(ttot.val ge 2005), + loop(tall$(pm_tall_2_ttot(tall,ttot)), + pm_GDPfrac(tall,iso) = + (1-pm_interpolWeight_ttot_tall(tall))*pm_GDPfrac(ttot,iso) + + pm_interpolWeight_ttot_tall(tall)*pm_GDPfrac(ttot+1,iso); +)); + +display pm_GDPfrac; + +pm_GDPfrac(tall,iso)$(tall.val ge 2150) = pm_GDPfrac("2150",iso); + +*** EOF ./modules/50_damages/KotzWenz/datainput.gms diff --git a/modules/50_damages/KotzWenz/declarations.gms b/modules/50_damages/KotzWenz/declarations.gms new file mode 100644 index 000000000..5dd033582 --- /dev/null +++ b/modules/50_damages/KotzWenz/declarations.gms @@ -0,0 +1,14 @@ +*** SOF ./modules/50_damages/KotzWenz/declarations.gms +Parameters +pm_GDPfrac(tall,iso) "GDP fraction of a country in its region" +p50_damageIsoPerc(tall,iso,percentile) "damage factor for country and bootstrapping" +pm_damage(tall,all_regi) "regional damage factor" +p50_damageMarginalIsoPerc(tall,iso,percentile) "marginal damage for country and bootstrapping" +pm_damageMarginal(tall,all_regi) "regional marginal damage" +; + +positive variable +vm_damageFactor(ttot,all_regi) "damage factor reducing GDP" +vm_damageProdFactor(ttot,all_regi,all_in) "damage factor reducing production factors" +; +*** EOF ./modules/50_damages/KotzWenz/declarations.gms diff --git a/modules/50_damages/KotzWenz/input/files b/modules/50_damages/KotzWenz/input/files new file mode 100644 index 000000000..11493f24c --- /dev/null +++ b/modules/50_damages/KotzWenz/input/files @@ -0,0 +1,5 @@ +f50_gdp.cs3r +f50_KLW_df_beta1.cs4r +f50_KLW_df_beta2.cs4r +f50_KLW_df_maxGMT.cs4r + diff --git a/modules/50_damages/KotzWenz/not_used.txt b/modules/50_damages/KotzWenz/not_used.txt new file mode 100644 index 000000000..1f9f52dbc --- /dev/null +++ b/modules/50_damages/KotzWenz/not_used.txt @@ -0,0 +1,27 @@ +# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de +name,type,reason +pm_damageMarginalT,input,questionnaire +pm_damageMarginalTm1,input,questionnaire +pm_damageMarginalTm2,input,questionnaire +pm_globalMeanTemperatureZeroed1900,input,questionnaire +pm_temperatureImpulseResponseCO2,input,questionnaire +pm_GDPGross,input,questionnaire +cm_damage_KWSE,input,questionnaire +cm_damages_BurkeLike_specification,input,questionnaire +cm_damages_BurkeLike_persistenceTime,input,questionnaire +pm_regionalTemperature,input,questionnaire +pm_damageGrowthRate,input,questionnaire +pm_tempScaleGlob2Reg,input,questionnaire +pm_damageMarginalTC,input,questionnaire +pm_GDPGrossIso,input,questionnaire +pm_damageImp,input,questionnaire +pm_damageProd,input,questionnaire +pm_damageTC,input,questionnaire +pm_damageGrowthRateTC,input,questionnaire +pm_damageIso,input,questionnaire +pm_damageGrowthRateIso,input,questionnaire diff --git a/modules/50_damages/KotzWenz/postsolve.gms b/modules/50_damages/KotzWenz/postsolve.gms new file mode 100644 index 000000000..21c8dd90d --- /dev/null +++ b/modules/50_damages/KotzWenz/postsolve.gms @@ -0,0 +1,16 @@ +*** SOF ./modules/50_damages/KotzWenz/postsolve.gms +execute "Rscript run_KotzWenz_damages.R" +execute_loadpoint 'pm_KotzWenz_damageIso' p50_damageIsoPerc=pm_damageIso; +execute_loadpoint 'pm_KotzWenz_damageMarginalIso' p50_damageMarginalIsoPerc=pm_damageMarginalIso; + +pm_damageMarginal(tall,regi)$(tall.val gt 2020 and tall.val le 2300) = + sum(regi2iso(regi,iso),p50_damageMarginalIsoPerc(tall,iso,"%cm_KotzWenzPerc%")*pm_GDPfrac(tall,iso)) +; + +*regional damage using SSP country level GDP as weight +pm_damage(tall,regi)$(tall.val gt 2020 and tall.val le 2300) = + 1-sum(regi2iso(regi,iso),p50_damageIsoPerc(tall,iso,"%cm_KotzWenzPerc%")*pm_GDPfrac(tall,iso)) +; + +display pm_damage,pm_damageMarginal; +*** EOF ./modules/50_damages/KotzWenz/postsolve.gms diff --git a/modules/50_damages/KotzWenz/realization.gms b/modules/50_damages/KotzWenz/realization.gms new file mode 100644 index 000000000..1295fdbc3 --- /dev/null +++ b/modules/50_damages/KotzWenz/realization.gms @@ -0,0 +1,21 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/50_damages/KotzWenz/realization.gms + +*' @description Aggregate GDP damages based on Kotz et al. (2024). They are calculated on country level for 1000 Monte Carlo realizations, then the chosen percentile of this damage distribution is used in the further calculations. The damages are calculated with respect to temperature changes compared to 2020, assuming that the 2020 GDP already includes all climate damages. + +*' @limitations: Unless the realization "KotzWenzItr" is used for module 51_internalizeDamages, the damages are not actually part of the optimization, but just enter as a fixed variable reducing output, updated in between iterations. + +*####################### R SECTION START (PHASES) ############################## +$Ifi "%phase%" == "sets" $include "./modules/50_damages/KotzWenz/sets.gms" +$Ifi "%phase%" == "declarations" $include "./modules/50_damages/KotzWenz/declarations.gms" +$Ifi "%phase%" == "datainput" $include "./modules/50_damages/KotzWenz/datainput.gms" +$Ifi "%phase%" == "bounds" $include "./modules/50_damages/KotzWenz/bounds.gms" +$Ifi "%phase%" == "postsolve" $include "./modules/50_damages/KotzWenz/postsolve.gms" +*######################## R SECTION END (PHASES) ############################### + +*** EOF ./modules/50_damages/KotzWenz/realization.gms diff --git a/modules/50_damages/KotzWenz/sets.gms b/modules/50_damages/KotzWenz/sets.gms new file mode 100644 index 000000000..12b45ef39 --- /dev/null +++ b/modules/50_damages/KotzWenz/sets.gms @@ -0,0 +1,13 @@ +*** SOF ./modules/50_damages/KotzWenz/sets.gms +SETS +nboot "boot strapping realisations of damage function parameters" + / + 1*1000 + / +percentile "possible percentiles of damage function as coded in the R script" + / + low,mean,med,high + / + +; +*** EOF ./modules/50_damages/KotzWenz/sets.gms diff --git a/modules/50_damages/Labor/bounds.gms b/modules/50_damages/Labor/bounds.gms index 7f8fa11d2..2bdfb03f8 100755 --- a/modules/50_damages/Labor/bounds.gms +++ b/modules/50_damages/Labor/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/Labor/datainput.gms b/modules/50_damages/Labor/datainput.gms index 06f4fcbba..7b923e2fd 100755 --- a/modules/50_damages/Labor/datainput.gms +++ b/modules/50_damages/Labor/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/Labor/declarations.gms b/modules/50_damages/Labor/declarations.gms index b351a31c3..3b5df9c8c 100755 --- a/modules/50_damages/Labor/declarations.gms +++ b/modules/50_damages/Labor/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/Labor/not_used.txt b/modules/50_damages/Labor/not_used.txt index 85cfaee50..c7f0446f5 100755 --- a/modules/50_damages/Labor/not_used.txt +++ b/modules/50_damages/Labor/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/Labor/postsolve.gms b/modules/50_damages/Labor/postsolve.gms index 31c3f37b2..e1b30c82d 100755 --- a/modules/50_damages/Labor/postsolve.gms +++ b/modules/50_damages/Labor/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/Labor/realization.gms b/modules/50_damages/Labor/realization.gms index 262bb2a64..47f1512c4 100755 --- a/modules/50_damages/Labor/realization.gms +++ b/modules/50_damages/Labor/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/TC/bounds.gms b/modules/50_damages/TC/bounds.gms index ada44c9c3..9ee088951 100755 --- a/modules/50_damages/TC/bounds.gms +++ b/modules/50_damages/TC/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/TC/datainput.gms b/modules/50_damages/TC/datainput.gms index 4acf6e1a0..a4a5878f9 100755 --- a/modules/50_damages/TC/datainput.gms +++ b/modules/50_damages/TC/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -12,7 +12,7 @@ p50_damageFuncCoefTC2(isoTC) = 0; *** load TC damage parameter data (Krichene et al. 2022) -parameter f50_TCconst(iso,all_TCpers,all_TCspec) "damage parameter for TC, constant" +parameter f50_TCconst(iso,all_TCspec) "damage parameter for TC, constant" / $ondelim $include "./modules/50_damages/TC/input/f50_TC_df_const.cs4r" @@ -20,7 +20,7 @@ $offdelim / ; -parameter f50_TCtasK(iso,all_TCpers,all_TCspec) "damage parameter for TC, linear with temperature" +parameter f50_TCtasK(iso,all_TCspec) "damage parameter for TC, linear with temperature" / $ondelim $include "./modules/50_damages/TC/input/f50_TC_df_tasK.cs4r" @@ -28,23 +28,24 @@ $offdelim / ; -p50_damageFuncCoefTC0(iso) = f50_TCconst(iso,"%cm_TCpers%","%cm_TCspec%")/100; -p50_damageFuncCoefTC1(iso) = f50_TCtasK(iso,"%cm_TCpers%","%cm_TCspec%")/100; +p50_damageFuncCoefTC0(iso) = f50_TCconst(iso,"%cm_TCspec%"); +p50_damageFuncCoefTC1(iso) = f50_TCtasK(iso,"%cm_TCspec%"); display p50_damageFuncCoefTC0; -*initialize +*** initialize pm_damage(tall,regi) = 1; -*read in GDP to calculate GDP fraction of countries in a region and convert to MER +*** read in GDP to calculate GDP fraction of countries in a region and convert to MER table f50_countryGDP(tall,iso,all_GDPscen) "ratio of country to regional GDP" $ondelim $include "./modules/50_damages/TC/input/f50_gdp.cs3r" $offdelim ; -*calculate and interpolate country GDP fraction of regional GDP for SSP2 scenario, country GDP is in PPP, regional GDP in trl MER! +*** calculate and interpolate country GDP fraction of regional GDP for SSP2 scenario, country GDP is in PPP, regional GDP in trl MER! pm_GDPfrac(tall,iso)=f50_countryGDP(tall,iso,"gdp_SSP2")/1000000/sum(regi2iso(regi,iso),pm_gdp(tall,regi)/pm_shPPPMER(regi)); + loop(ttot$(ttot.val ge 2005), loop(tall$(pm_tall_2_ttot(tall,ttot)), pm_GDPfrac(tall,iso) = diff --git a/modules/50_damages/TC/declarations.gms b/modules/50_damages/TC/declarations.gms index b636caa26..821ca3a75 100755 --- a/modules/50_damages/TC/declarations.gms +++ b/modules/50_damages/TC/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/TC/not_used.txt b/modules/50_damages/TC/not_used.txt index 5b22dda33..4c2e3091b 100755 --- a/modules/50_damages/TC/not_used.txt +++ b/modules/50_damages/TC/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/TC/postsolve.gms b/modules/50_damages/TC/postsolve.gms index c23ca3b5b..3daf2b585 100755 --- a/modules/50_damages/TC/postsolve.gms +++ b/modules/50_damages/TC/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -9,7 +9,8 @@ pm_damageGrowthRateIso(tall,iso) = 0; *the current damage function is estimated for "baseline" TC effect plus climate change effect - need to subtract the baseline effect as in Burke by doing delta(T)-delta(T0) -pm_damageGrowthRateIso(tall,isoTC)$(tall.val ge 2000 and tall.val le 2300) = p50_damageFuncCoefTC1(isoTC) * (pm_globalMeanTemperatureZeroed1900(tall)-pm_globalMeanTemperatureZeroed1900("2000")) + p50_damageFuncCoefTC2(isoTC) * (pm_globalMeanTemperatureZeroed1900(tall)**2-pm_globalMeanTemperatureZeroed1900("2000")**2); +*pm_damageGrowthRateIso(tall,isoTC)$(tall.val ge 2000 and tall.val le 2300) = p50_damageFuncCoefTC1(isoTC) * (pm_globalMeanTemperatureZeroed1900(tall)-pm_globalMeanTemperatureZeroed1900("2000")) + p50_damageFuncCoefTC2(isoTC) * (pm_globalMeanTemperatureZeroed1900(tall)**2-pm_globalMeanTemperatureZeroed1900("2000")**2); +pm_damageGrowthRateIso(tall,isoTC)$(tall.val ge 2000 and tall.val le 2300) = p50_damageFuncCoefTC1(isoTC) * (pm_globalMeanTemperatureZeroed1900(tall)-pm_globalMeanTemperatureZeroed1900("2010")); * no damages before 2020 to match observed GDP pm_damageGrowthRateIso(tall,iso)$(tall.val le 2020) = 0; @@ -40,7 +41,8 @@ display pm_damage,pm_GDPfrac,p50_test; * derivative of damage function w.r.t. temperature (used in 51_internalizeDamages) pm_damageMarginal(tall,iso)=0; -pm_damageMarginal(tall,isoTC)$(tall.val ge 2000 and tall.val le 2300) = p50_damageFuncCoefTC1(isoTC)+2*p50_damageFuncCoefTC2(isoTC)*(pm_globalMeanTemperatureZeroed1900(tall)-pm_globalMeanTemperatureZeroed1900("2000")); +*pm_damageMarginal(tall,isoTC)$(tall.val ge 2000 and tall.val le 2300) = p50_damageFuncCoefTC1(isoTC)+2*p50_damageFuncCoefTC2(isoTC)*(pm_globalMeanTemperatureZeroed1900(tall)-pm_globalMeanTemperatureZeroed1900("2000")); +pm_damageMarginal(tall,isoTC)$(tall.val ge 2000 and tall.val le 2300) = p50_damageFuncCoefTC1(isoTC); display pm_damageMarginal; *** EOF ./modules/50_damages/TC/postsolve.gms diff --git a/modules/50_damages/TC/realization.gms b/modules/50_damages/TC/realization.gms index a5cd4a9cc..430271b86 100755 --- a/modules/50_damages/TC/realization.gms +++ b/modules/50_damages/TC/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/TC/sets.gms b/modules/50_damages/TC/sets.gms index 4fe3f11d8..39c618278 100755 --- a/modules/50_damages/TC/sets.gms +++ b/modules/50_damages/TC/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -29,12 +29,6 @@ all_TCspec "TC damage distribution quantiles" */estimates_mean,estimates_median,estimates_95,estimates_83,estimates_17,estimates_05/ /mean,median,95,83,17,05/ -all_SSPscen "all 5 SSP scenarios" -/SSP1,SSP2,SSP3,SSP4,SSP5/ - -all_TCpers "all possible persistencies of TC damages" -/0,1,2,3,4,5,6,7,8,9/ - ; *** EOF ./modules/50_damages/TC/sets.gms diff --git a/modules/50_damages/module.gms b/modules/50_damages/module.gms index 141f85ef6..0326e0c6d 100644 --- a/modules/50_damages/module.gms +++ b/modules/50_damages/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -18,6 +18,7 @@ $Ifi "%damages%" == "DiceLike" $include "./modules/50_damages/DiceLike/realizati $Ifi "%damages%" == "KWLike" $include "./modules/50_damages/KWLike/realization.gms" $Ifi "%damages%" == "KWTCint" $include "./modules/50_damages/KWTCint/realization.gms" $Ifi "%damages%" == "KW_SE" $include "./modules/50_damages/KW_SE/realization.gms" +$Ifi "%damages%" == "KotzWenz" $include "./modules/50_damages/KotzWenz/realization.gms" $Ifi "%damages%" == "Labor" $include "./modules/50_damages/Labor/realization.gms" $Ifi "%damages%" == "TC" $include "./modules/50_damages/TC/realization.gms" $Ifi "%damages%" == "off" $include "./modules/50_damages/off/realization.gms" diff --git a/modules/50_damages/off/bounds.gms b/modules/50_damages/off/bounds.gms index a5f861a5b..54fc496b4 100644 --- a/modules/50_damages/off/bounds.gms +++ b/modules/50_damages/off/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/off/declarations.gms b/modules/50_damages/off/declarations.gms index 787bd671f..46be6d84d 100644 --- a/modules/50_damages/off/declarations.gms +++ b/modules/50_damages/off/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/off/not_used.txt b/modules/50_damages/off/not_used.txt index 16fb7c646..22ed7995f 100644 --- a/modules/50_damages/off/not_used.txt +++ b/modules/50_damages/off/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/off/realization.gms b/modules/50_damages/off/realization.gms index 7a4b4b96c..5b7cc72a8 100644 --- a/modules/50_damages/off/realization.gms +++ b/modules/50_damages/off/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/BurkeLikeItr/datainput.gms b/modules/51_internalizeDamages/BurkeLikeItr/datainput.gms index b984fc232..108c13487 100644 --- a/modules/51_internalizeDamages/BurkeLikeItr/datainput.gms +++ b/modules/51_internalizeDamages/BurkeLikeItr/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -12,9 +12,10 @@ $ifi not %cm_magicc_temperatureImpulseResponse% == 'on' abort "module internaliz *inital guess carbon tax for 1st iter. Does not influence solution point. -p51_scc("2020") = 20; -p51_scc(tall)$(tall.val ge 2010 and tall.val le 2150) = p51_scc("2020")*(1+0.02*(tall.val-2020)); +p51_scc(tall) = 0; +p51_scc("2025") = 20; +p51_scc(tall)$(tall.val ge 2025 and tall.val le 2150) = p51_scc("2025")*(1+0.025*(tall.val-2025)); -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2010) = p51_scc(ttot) * (44/12)/1000; +pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2010) = p51_scc(ttot) * sm_c_2_co2/1000; *** EOF ./modules/51_internalizeDamages/BurkeLikeItr/datainput.gms diff --git a/modules/51_internalizeDamages/BurkeLikeItr/declarations.gms b/modules/51_internalizeDamages/BurkeLikeItr/declarations.gms index 7c003c07f..654b4f40b 100644 --- a/modules/51_internalizeDamages/BurkeLikeItr/declarations.gms +++ b/modules/51_internalizeDamages/BurkeLikeItr/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/BurkeLikeItr/not_used.txt b/modules/51_internalizeDamages/BurkeLikeItr/not_used.txt index 67d73dcb9..859a72371 100644 --- a/modules/51_internalizeDamages/BurkeLikeItr/not_used.txt +++ b/modules/51_internalizeDamages/BurkeLikeItr/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/BurkeLikeItr/postsolve.gms b/modules/51_internalizeDamages/BurkeLikeItr/postsolve.gms index 70efbed83..e9af611f5 100644 --- a/modules/51_internalizeDamages/BurkeLikeItr/postsolve.gms +++ b/modules/51_internalizeDamages/BurkeLikeItr/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -20,13 +20,12 @@ p51_sccLastItr(tall) = p51_scc(tall); p51_sccParts(tall,tall2,regi2)$((tall.val ge 2010) and (tall.val le 2150) and (tall2.val ge tall.val) and (tall2.val le 2250)) = (1 + pm_prtp(regi2) )**(-(tall2.val - tall.val)) - * pm_consPC(tall,regi2)/pm_consPC(tall2,regi2) + * (pm_consPC(tall,regi2)/(pm_consPC(tall2,regi2) + sm_eps))**(1/pm_ies(regi2)) * pm_damage(tall2,regi2) * pm_GDPGross(tall2,regi2) * p51_marginalDamageCumul(tall,tall2,regi2) ; -p51_scc(tall)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * -*p51_welf(tall)**(-1) * +p51_scc(tall)$((tall.val ge 2025) and (tall.val le 2150)) = 1000 * sum(regi2, sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon))), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) p51_sccParts(tall,tall2,regi2) @@ -35,14 +34,11 @@ p51_scc(tall)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * ; *if(cm_iterative_target_adj eq 10 and cm_emiscen eq 9 and mod(iteration.val,2) eq 1, !! update only every uneven iteration to prevent zig-zagging - -*display "proposed new scc tax:"; -*display p51_scc; *p51_scc(tall) = p51_sccLastItr(tall) * max(0, min(1.4,max(0.6, (p51_scc(tall)/max(p51_sccLastItr(tall),1e-8))**0.7 ))); p51_scc(tall) = p51_sccLastItr(tall) * min(max( (p51_scc(tall)/max(p51_sccLastItr(tall),1e-8)),1 - 0.5*0.95**iteration.val),1 + 0.95**iteration.val); pm_taxCO2eqSCC(ttot,regi) = 0; -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2020) = max(0, p51_scc(ttot) * (44/12)/1000); +pm_taxCO2eqSCC(t,regi)$(t.val ge 2025) = max(0, p51_scc(t) * sm_c_2_co2/1000); *); diff --git a/modules/51_internalizeDamages/BurkeLikeItr/realization.gms b/modules/51_internalizeDamages/BurkeLikeItr/realization.gms index 00d90cf65..9cc7281df 100644 --- a/modules/51_internalizeDamages/BurkeLikeItr/realization.gms +++ b/modules/51_internalizeDamages/BurkeLikeItr/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/DiceLikeItr/datainput.gms b/modules/51_internalizeDamages/DiceLikeItr/datainput.gms index cace7fb5b..3246543be 100644 --- a/modules/51_internalizeDamages/DiceLikeItr/datainput.gms +++ b/modules/51_internalizeDamages/DiceLikeItr/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -11,9 +11,10 @@ $ifi not %damages% == 'DiceLike' abort "module internalizeDamages=DiceLikeItr re $ifi not %cm_magicc_temperatureImpulseResponse% == 'on' abort "module internalizeDamages=DiceLikeItr requires cm_magicc_temperatureImpulseResponse=on"; *init carbon tax for 1st iter -p51_scc("2020") = 20; -p51_scc(tall)$(tall.val ge 2010 and tall.val le 2150) = p51_scc("2020")*(1+0.025*(tall.val-2020)); +p51_scc(tall) = 0; +p51_scc("2025") = 20; +p51_scc(tall)$(tall.val ge 2025 and tall.val le 2150) = p51_scc("2025")*(1+0.025*(tall.val-2025)); -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2010) = p51_scc(ttot) * (44/12)/1000; +pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2010) = p51_scc(ttot) * sm_c_2_co2/1000; *** EOF ./modules/51_internalizeDamages/DiceLikeItr/datainput.gms diff --git a/modules/51_internalizeDamages/DiceLikeItr/declarations.gms b/modules/51_internalizeDamages/DiceLikeItr/declarations.gms index b0c135186..b9a32def8 100644 --- a/modules/51_internalizeDamages/DiceLikeItr/declarations.gms +++ b/modules/51_internalizeDamages/DiceLikeItr/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/DiceLikeItr/not_used.txt b/modules/51_internalizeDamages/DiceLikeItr/not_used.txt index f46ff4339..c323ecf0b 100644 --- a/modules/51_internalizeDamages/DiceLikeItr/not_used.txt +++ b/modules/51_internalizeDamages/DiceLikeItr/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/DiceLikeItr/postsolve.gms b/modules/51_internalizeDamages/DiceLikeItr/postsolve.gms index c1cb17c48..66a338b9f 100644 --- a/modules/51_internalizeDamages/DiceLikeItr/postsolve.gms +++ b/modules/51_internalizeDamages/DiceLikeItr/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -7,11 +7,11 @@ *** SOF ./modules/51_internalizeDamages/DiceLikeItr/postsolve.gms p51_sccLastItr(tall) = p51_scc(tall); -p51_scc(tall)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * +p51_scc(tall)$((tall.val ge 2025) and (tall.val le 2150)) = 1000 * sum(regi2, sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon)) ), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) (1 + pm_prtp(regi2))**(-(tall2.val - tall.val)) - * pm_consPC(tall,regi2)/pm_consPC(tall2,regi2) + * (pm_consPC(tall,regi2)/(pm_consPC(tall2,regi2) + sm_eps))**(1/pm_ies(regi2)) * pm_GDPGross(tall2,regi2) * pm_temperatureImpulseResponseCO2(tall2,tall) * pm_damageMarginal(tall2,"USA") !! USA stands as a dummy for a global value here @@ -22,7 +22,7 @@ p51_scc(tall)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * *if(cm_iterative_target_adj eq 10 and cm_emiscen eq 9 and mod(iteration.val,2) eq 1, !! update only every uneven iteration to prevent zig-zagging pm_taxCO2eqSCC(ttot,regi) = 0; -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2020) = p51_scc(ttot) * (44/12)/1000; +pm_taxCO2eqSCC(t,regi)$(t.val ge 2025) = p51_scc(t) * sm_c_2_co2/1000; *); diff --git a/modules/51_internalizeDamages/DiceLikeItr/realization.gms b/modules/51_internalizeDamages/DiceLikeItr/realization.gms index d33011a52..253e990ce 100644 --- a/modules/51_internalizeDamages/DiceLikeItr/realization.gms +++ b/modules/51_internalizeDamages/DiceLikeItr/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWTCintItr/datainput.gms b/modules/51_internalizeDamages/KWTCintItr/datainput.gms index 2a1b9a320..abf103ebf 100755 --- a/modules/51_internalizeDamages/KWTCintItr/datainput.gms +++ b/modules/51_internalizeDamages/KWTCintItr/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -12,10 +12,11 @@ $ifi not %cm_magicc_temperatureImpulseResponse% == 'on' abort "module internaliz *inital guess carbon tax for 1st iter. Does not influence solution point. -p51_scc("2020") = 20; -p51_scc(tall)$(tall.val ge 2010 and tall.val le 2150) = p51_scc("2020")*(1+0.02*(tall.val-2020)); +p51_scc(tall) = 0; +p51_scc("2025") = 20; +p51_scc(tall)$(tall.val ge 2025 and tall.val le 2150) = p51_scc("2025")*(1+0.025*(tall.val-2025)); -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2010) = p51_scc(ttot) * (44/12)/1000; +pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2010) = p51_scc(ttot) * sm_c_2_co2/1000; *** EOF ./modules/51_internalizeDamages/KWTCintItr/datainput.gms diff --git a/modules/51_internalizeDamages/KWTCintItr/declarations.gms b/modules/51_internalizeDamages/KWTCintItr/declarations.gms index f1f121ad6..a9d18bc01 100755 --- a/modules/51_internalizeDamages/KWTCintItr/declarations.gms +++ b/modules/51_internalizeDamages/KWTCintItr/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWTCintItr/not_used.txt b/modules/51_internalizeDamages/KWTCintItr/not_used.txt index 599fe3418..df0f3b56b 100755 --- a/modules/51_internalizeDamages/KWTCintItr/not_used.txt +++ b/modules/51_internalizeDamages/KWTCintItr/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWTCintItr/postsolve.gms b/modules/51_internalizeDamages/KWTCintItr/postsolve.gms index 7cf50a106..d2311c0f3 100755 --- a/modules/51_internalizeDamages/KWTCintItr/postsolve.gms +++ b/modules/51_internalizeDamages/KWTCintItr/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -34,15 +34,14 @@ p51_sccPartsTC(tall,tall2,regi2)$((tall.val ge 2010) and (tall.val le 2150) and p51_sccParts(tall,tall2,regi2)$((tall.val ge 2010) and (tall.val le 2150) and (tall2.val ge tall.val) and (tall2.val le 2250)) = (1 + pm_prtp(regi2) )**(-(tall2.val - tall.val)) - * pm_consPC(tall,regi2)/pm_consPC(tall2,regi2) + * (pm_consPC(tall,regi2)/(pm_consPC(tall2,regi2) + sm_eps))**(1/pm_ies(regi2)) * pm_damageProd(tall2,regi2) * pm_GDPGross(tall2,regi2) * (p51_marginalDamageCumulKW(tall,tall2,regi2)+p51_sccPartsTC(tall,tall2,regi2)) ; p51_sccLastItr(tall) = p51_scc(tall); -p51_scc(tall)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * -*p51_welf(tall)**(-1) * +p51_scc(tall)$((tall.val ge 2020) and (tall.val le 2150)) = 1000 * sum(regi2, sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon))), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) p51_sccParts(tall,tall2,regi2) @@ -52,14 +51,11 @@ p51_scc(tall)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * display p51_scc; *if(cm_iterative_target_adj eq 10 and cm_emiscen eq 9 and mod(iteration.val,2) eq 1, !! update only every uneven iteration to prevent zig-zagging - -*display "proposed new scc tax:"; -*display p51_scc; *p51_scc(tall) = p51_sccLastItr(tall) * max(0, min(1.4,max(0.6, (p51_scc(tall)/max(p51_sccLastItr(tall),1e-8))**0.7 ))); p51_scc(tall) = p51_sccLastItr(tall) * min(max( (p51_scc(tall)/max(p51_sccLastItr(tall),1e-8)),1 - 0.5*0.95**iteration.val),1 + 0.95**iteration.val); pm_taxCO2eqSCC(ttot,regi) = 0; -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2020) = max(0, p51_scc(ttot) * (44/12)/1000); +pm_taxCO2eqSCC(t,regi)$(t.val ge 2025) = max(0, p51_scc(t) * sm_c_2_co2/1000); *); diff --git a/modules/51_internalizeDamages/KWTCintItr/realization.gms b/modules/51_internalizeDamages/KWTCintItr/realization.gms index f7c6fd732..fca2b4ccb 100755 --- a/modules/51_internalizeDamages/KWTCintItr/realization.gms +++ b/modules/51_internalizeDamages/KWTCintItr/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KW_SEitr/datainput.gms b/modules/51_internalizeDamages/KW_SEitr/datainput.gms index b8feb6a9e..1cce858bf 100755 --- a/modules/51_internalizeDamages/KW_SEitr/datainput.gms +++ b/modules/51_internalizeDamages/KW_SEitr/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -12,10 +12,11 @@ $ifi not %cm_magicc_temperatureImpulseResponse% == 'on' abort "module internaliz *inital guess carbon tax for 1st iter. Does not influence solution point. -p51_scc("2020") = 20; -p51_scc(tall)$(tall.val ge 2010 and tall.val le 2150) = p51_scc("2020")*(1+0.02*(tall.val-2020)); +p51_scc(tall) = 0; +p51_scc("2025") = 20; +p51_scc(tall)$(tall.val ge 2025 and tall.val le 2150) = p51_scc("2025")*(1+0.025*(tall.val-2025)); -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2010) = p51_scc(ttot) * (44/12)/1000; +pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2010) = p51_scc(ttot) * sm_c_2_co2/1000; *** EOF ./modules/51_internalizeDamages/KW_SEitr/datainput.gms diff --git a/modules/51_internalizeDamages/KW_SEitr/declarations.gms b/modules/51_internalizeDamages/KW_SEitr/declarations.gms index 83cd27d0d..0559d3f18 100755 --- a/modules/51_internalizeDamages/KW_SEitr/declarations.gms +++ b/modules/51_internalizeDamages/KW_SEitr/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KW_SEitr/not_used.txt b/modules/51_internalizeDamages/KW_SEitr/not_used.txt index a1d65ba51..53489e62f 100755 --- a/modules/51_internalizeDamages/KW_SEitr/not_used.txt +++ b/modules/51_internalizeDamages/KW_SEitr/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KW_SEitr/postsolve.gms b/modules/51_internalizeDamages/KW_SEitr/postsolve.gms index 310510038..85b066cd1 100755 --- a/modules/51_internalizeDamages/KW_SEitr/postsolve.gms +++ b/modules/51_internalizeDamages/KW_SEitr/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -11,14 +11,13 @@ p51_sccLastItr(tall) = p51_scc(tall); p51_sccParts(tall,tall2,regi2)$((tall.val ge 2010) and (tall.val le 2150) and (tall2.val ge tall.val) and (tall2.val le 2250)) = (1 + pm_prtp(regi2) )**(-(tall2.val - tall.val)) - * pm_consPC(tall,regi2)/pm_consPC(tall2,regi2) + * (pm_consPC(tall,regi2)/(pm_consPC(tall2,regi2) + sm_eps))**(1/pm_ies(regi2)) * pm_GDPGross(tall2,regi2) * (pm_damage(tall2,regi2)-pm_damageImp(tall,tall2,regi2)) ; *convert unit from tr$/GtC to $/tCO2 as GDP is in tr$ and pulse is 1 GtC -p51_scc(tall)$((tall.val ge 2010) and (tall.val le 2150)) = 1000*12/44 * -*p51_welf(tall)**(-1) * +p51_scc(tall)$((tall.val ge 2020) and (tall.val le 2150)) = 1000*12/44 * sum(regi2, sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon))), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) p51_sccParts(tall,tall2,regi2) @@ -28,14 +27,11 @@ p51_scc(tall)$((tall.val ge 2010) and (tall.val le 2150)) = 1000*12/44 * display p51_scc; *if(cm_iterative_target_adj eq 10 and cm_emiscen eq 9 and mod(iteration.val,2) eq 1, !! update only every uneven iteration to prevent zig-zagging - -*display "proposed new scc tax:"; -*display p51_scc; *p51_scc(tall) = p51_sccLastItr(tall) * max(0, min(1.4,max(0.6, (p51_scc(tall)/max(p51_sccLastItr(tall),1e-8))**0.7 ))); p51_scc(tall) = p51_sccLastItr(tall) * min(max( (p51_scc(tall)/max(p51_sccLastItr(tall),1e-8)),1 - 0.5*0.95**iteration.val),1 + 0.95**iteration.val); pm_taxCO2eqSCC(ttot,regi) = 0; -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2020) = max(0, p51_scc(ttot) * (44/12)/1000); +pm_taxCO2eqSCC(t,regi)$(t.val ge 2025) = max(0, p51_scc(t) * sm_c_2_co2/1000); *); diff --git a/modules/51_internalizeDamages/KW_SEitr/realization.gms b/modules/51_internalizeDamages/KW_SEitr/realization.gms index f3fdf82c4..1dfc7837d 100755 --- a/modules/51_internalizeDamages/KW_SEitr/realization.gms +++ b/modules/51_internalizeDamages/KW_SEitr/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWlikeItr/datainput.gms b/modules/51_internalizeDamages/KWlikeItr/datainput.gms index d9cdc96a3..072913ce8 100644 --- a/modules/51_internalizeDamages/KWlikeItr/datainput.gms +++ b/modules/51_internalizeDamages/KWlikeItr/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -12,10 +12,11 @@ $ifi not %cm_magicc_temperatureImpulseResponse% == 'on' abort "module internaliz *inital guess carbon tax for 1st iter. Does not influence solution point. -p51_scc("2020") = 20; -p51_scc(tall)$(tall.val ge 2010 and tall.val le 2150) = p51_scc("2020")*(1+0.02*(tall.val-2020)); +p51_scc(tall) = 0; +p51_scc("2025") = 20; +p51_scc(tall)$(tall.val ge 2025 and tall.val le 2150) = p51_scc("2025")*(1+0.025*(tall.val-2025)); -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2010) = p51_scc(ttot) * (44/12)/1000; +pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2010) = p51_scc(ttot) * sm_c_2_co2/1000; *** EOF ./modules/51_internalizeDamages/KWlikeItr/datainput.gms diff --git a/modules/51_internalizeDamages/KWlikeItr/declarations.gms b/modules/51_internalizeDamages/KWlikeItr/declarations.gms index 054ae563c..f9ee76424 100644 --- a/modules/51_internalizeDamages/KWlikeItr/declarations.gms +++ b/modules/51_internalizeDamages/KWlikeItr/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWlikeItr/not_used.txt b/modules/51_internalizeDamages/KWlikeItr/not_used.txt index 56e98ee15..48aa485d0 100644 --- a/modules/51_internalizeDamages/KWlikeItr/not_used.txt +++ b/modules/51_internalizeDamages/KWlikeItr/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWlikeItr/postsolve.gms b/modules/51_internalizeDamages/KWlikeItr/postsolve.gms index f7b5c63cf..a32884d19 100644 --- a/modules/51_internalizeDamages/KWlikeItr/postsolve.gms +++ b/modules/51_internalizeDamages/KWlikeItr/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -17,17 +17,16 @@ p51_marginalDamageCumul(tall,tall2,regi2)$((tall2.val ge tall.val) and (tall.val ; p51_sccLastItr(tall) = p51_scc(tall); - +* Add an epsilon to pm_consPC to avoid division by zero in case of INFES in the reference data p51_sccParts(tall,tall2,regi2)$((tall.val ge 2010) and (tall.val le 2150) and (tall2.val ge tall.val) and (tall2.val le 2250)) = (1 + pm_prtp(regi2) )**(-(tall2.val - tall.val)) - * pm_consPC(tall,regi2)/pm_consPC(tall2,regi2) + * (pm_consPC(tall,regi2)/(pm_consPC(tall2,regi2) + sm_eps))**(1/pm_ies(regi2)) * pm_damage(tall2,regi2) * pm_GDPGross(tall2,regi2) * p51_marginalDamageCumul(tall,tall2,regi2) * pm_sccIneq(tall2,regi2) ; -p51_scc(tall)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * -*p51_welf(tall)**(-1) * +p51_scc(tall)$((tall.val ge 2020) and (tall.val le 2150)) = 1000 * sum(regi2, sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon))), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) p51_sccParts(tall,tall2,regi2) @@ -37,14 +36,11 @@ p51_scc(tall)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * display p51_scc; *if(cm_iterative_target_adj eq 10 and cm_emiscen eq 9 and mod(iteration.val,2) eq 1, !! update only every uneven iteration to prevent zig-zagging - -*display "proposed new scc tax:"; -*display p51_scc; *p51_scc(tall) = p51_sccLastItr(tall) * max(0, min(1.4,max(0.6, (p51_scc(tall)/max(p51_sccLastItr(tall),1e-8))**0.7 ))); p51_scc(tall) = p51_sccLastItr(tall) * min(max( (p51_scc(tall)/max(p51_sccLastItr(tall),1e-8)),1 - 0.5*0.95**iteration.val),1 + 0.95**iteration.val); pm_taxCO2eqSCC(ttot,regi) = 0; -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2020) = max(0, p51_scc(ttot) * (44/12)/1000); +pm_taxCO2eqSCC(t,regi)$(t.val ge 2025) = max(0, p51_scc(t) * sm_c_2_co2/1000); *); diff --git a/modules/51_internalizeDamages/KWlikeItr/realization.gms b/modules/51_internalizeDamages/KWlikeItr/realization.gms index b3753261b..810a4410a 100644 --- a/modules/51_internalizeDamages/KWlikeItr/realization.gms +++ b/modules/51_internalizeDamages/KWlikeItr/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWlikeItrCPnash/datainput.gms b/modules/51_internalizeDamages/KWlikeItrCPnash/datainput.gms index 188388142..a5ea4944d 100755 --- a/modules/51_internalizeDamages/KWlikeItrCPnash/datainput.gms +++ b/modules/51_internalizeDamages/KWlikeItrCPnash/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -12,9 +12,10 @@ $ifi not %cm_magicc_temperatureImpulseResponse% == 'on' abort "module internaliz *inital guess carbon tax for 1st iter. Does not influence solution point. -p51_scc("2020",regi) = 20; -p51_scc(tall,regi)$(tall.val ge 2010 and tall.val le 2150) = p51_scc("2020",regi)*(1+0.02*(tall.val-2020)); +p51_scc(tall,regi) = 0; +p51_scc("2025",regi) = 20; +p51_scc(tall,regi)$(tall.val ge 2025 and tall.val le 2150) = p51_scc("2025",regi)*(1+0.025*(tall.val-2025)); -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2010) = p51_scc(ttot,regi) * (44/12)/1000; +pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2010) = p51_scc(ttot,regi) * sm_c_2_co2/1000; *** EOF ./modules/51_internalizeDamages/KWlikeItrCPnash/datainput.gms diff --git a/modules/51_internalizeDamages/KWlikeItrCPnash/declarations.gms b/modules/51_internalizeDamages/KWlikeItrCPnash/declarations.gms index 875ce6b7d..e32b44256 100755 --- a/modules/51_internalizeDamages/KWlikeItrCPnash/declarations.gms +++ b/modules/51_internalizeDamages/KWlikeItrCPnash/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWlikeItrCPnash/not_used.txt b/modules/51_internalizeDamages/KWlikeItrCPnash/not_used.txt index 6c71fe4bf..7f13e70fb 100755 --- a/modules/51_internalizeDamages/KWlikeItrCPnash/not_used.txt +++ b/modules/51_internalizeDamages/KWlikeItrCPnash/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -21,3 +21,5 @@ pm_GDPGrossIso,input,questionnaire pm_damageImp,input,questionnaire pm_damageIso,input,questionnaire pm_damageGrowthRateIso,input,questionnaire +pm_ies,input,questionnaire +sm_eps,input,questionnaire diff --git a/modules/51_internalizeDamages/KWlikeItrCPnash/postsolve.gms b/modules/51_internalizeDamages/KWlikeItrCPnash/postsolve.gms index 72c483ebe..e626a5978 100755 --- a/modules/51_internalizeDamages/KWlikeItrCPnash/postsolve.gms +++ b/modules/51_internalizeDamages/KWlikeItrCPnash/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -26,8 +26,7 @@ p51_sccParts(tall,tall2,regi)$((tall.val ge 2010) and (tall.val le 2150) and (ta * pm_sccIneq(tall2,regi) ; -p51_scc(tall,regi)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * -*p51_welf(tall)**(-1) * +p51_scc(tall,regi)$((tall.val ge 2020) and (tall.val le 2150)) = 1000 * sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon))), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) p51_sccParts(tall,tall2,regi) ) @@ -35,14 +34,11 @@ p51_scc(tall,regi)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * display p51_scc; *if(cm_iterative_target_adj eq 10 and cm_emiscen eq 9 and mod(iteration.val,2) eq 1, !! update only every uneven iteration to prevent zig-zagging - -*display "proposed new scc tax:"; -*display p51_scc; *p51_scc(tall) = p51_sccLastItr(tall) * max(0, min(1.4,max(0.6, (p51_scc(tall)/max(p51_sccLastItr(tall),1e-8))**0.7 ))); p51_scc(tall,regi) = p51_sccLastItr(tall,regi) * min(max( (p51_scc(tall,regi)/max(p51_sccLastItr(tall,regi),1e-8)),1 - 0.5*0.95**iteration.val),1 + 0.95**iteration.val); pm_taxCO2eqSCC(ttot,regi) = 0; -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2020) = max(0, p51_scc(ttot,regi) * (44/12)/1000); +pm_taxCO2eqSCC(t,regi)$(t.val ge 2025) = max(0, p51_scc(t) * sm_c_2_co2/1000); *); diff --git a/modules/51_internalizeDamages/KWlikeItrCPnash/realization.gms b/modules/51_internalizeDamages/KWlikeItrCPnash/realization.gms index 392450fac..f64b943ea 100755 --- a/modules/51_internalizeDamages/KWlikeItrCPnash/realization.gms +++ b/modules/51_internalizeDamages/KWlikeItrCPnash/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWlikeItrCPreg/datainput.gms b/modules/51_internalizeDamages/KWlikeItrCPreg/datainput.gms index 224d49fac..05c8b849c 100644 --- a/modules/51_internalizeDamages/KWlikeItrCPreg/datainput.gms +++ b/modules/51_internalizeDamages/KWlikeItrCPreg/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -12,10 +12,11 @@ $ifi not %cm_magicc_temperatureImpulseResponse% == 'on' abort "module internaliz *inital guess carbon tax for 1st iter. Does not influence solution point. -p51_scc("2020",regi) = 20; -p51_scc(tall,regi)$(tall.val ge 2010 and tall.val le 2150) = p51_scc("2020",regi)*(1+0.02*(tall.val-2020)); +p51_scc(tall,regi) = 0; +p51_scc("2025",regi) = 20; +p51_scc(tall,regi)$(tall.val ge 2025 and tall.val le 2150) = p51_scc("2025",regi)*(1+0.025*(tall.val-2025)); -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2010) = p51_scc(ttot,regi) * (44/12)/1000; +pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2010) = p51_scc(ttot,regi) * sm_c_2_co2/1000; *** EOF ./modules/51_internalizeDamages/KWlikeItrCPreg/datainput.gms diff --git a/modules/51_internalizeDamages/KWlikeItrCPreg/declarations.gms b/modules/51_internalizeDamages/KWlikeItrCPreg/declarations.gms index 7db65b84e..5f27c8c11 100644 --- a/modules/51_internalizeDamages/KWlikeItrCPreg/declarations.gms +++ b/modules/51_internalizeDamages/KWlikeItrCPreg/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWlikeItrCPreg/not_used.txt b/modules/51_internalizeDamages/KWlikeItrCPreg/not_used.txt index 7c15785d8..3e92be5e4 100644 --- a/modules/51_internalizeDamages/KWlikeItrCPreg/not_used.txt +++ b/modules/51_internalizeDamages/KWlikeItrCPreg/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWlikeItrCPreg/postsolve.gms b/modules/51_internalizeDamages/KWlikeItrCPreg/postsolve.gms index a312c9877..3c40eb839 100644 --- a/modules/51_internalizeDamages/KWlikeItrCPreg/postsolve.gms +++ b/modules/51_internalizeDamages/KWlikeItrCPreg/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -21,15 +21,14 @@ p51_sccLastItr(tall,regi) = p51_scc(tall,regi); p51_sccParts(tall,tall2,regi)$((tall.val ge 2010) and (tall.val le 2150) and (tall2.val ge tall.val) and (tall2.val le 2250)) = sum(regi2, (1 + pm_prtp(regi2) )**(-(tall2.val - tall.val)) - * pm_consPC(tall,regi)/pm_consPC(tall2,regi2) + * (pm_consPC(tall,regi))**(1/pm_ies(regi))/(pm_consPC(tall2,regi2) + sm_eps))**(1/pm_ies(regi2)) * pm_damage(tall2,regi2) * pm_GDPGross(tall2,regi2) * p51_marginalDamageCumul(tall,tall2,regi2) * pm_sccIneq(tall2,regi2) ) ; -p51_scc(tall,regi)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * -*p51_welf(tall)**(-1) * +p51_scc(tall,regi)$((tall.val ge 2020) and (tall.val le 2150)) = 1000 * sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon))), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) p51_sccParts(tall,tall2,regi) ) @@ -37,14 +36,11 @@ p51_scc(tall,regi)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * display p51_scc; *if(cm_iterative_target_adj eq 10 and cm_emiscen eq 9 and mod(iteration.val,2) eq 1, !! update only every uneven iteration to prevent zig-zagging - -*display "proposed new scc tax:"; -*display p51_scc; *p51_scc(tall) = p51_sccLastItr(tall) * max(0, min(1.4,max(0.6, (p51_scc(tall)/max(p51_sccLastItr(tall),1e-8))**0.7 ))); p51_scc(tall,regi) = p51_sccLastItr(tall,regi) * min(max( (p51_scc(tall,regi)/max(p51_sccLastItr(tall,regi),1e-8)),1 - 0.5*0.95**iteration.val),1 + 0.95**iteration.val); pm_taxCO2eqSCC(ttot,regi) = 0; -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2020) = max(0, p51_scc(ttot,regi) * (44/12)/1000); +pm_taxCO2eqSCC(t,regi)$(t.val ge 2025) = max(0, p51_scc(t,regi) * sm_c_2_co2/1000); *); diff --git a/modules/51_internalizeDamages/KWlikeItrCPreg/realization.gms b/modules/51_internalizeDamages/KWlikeItrCPreg/realization.gms index 19c636a97..6f8dcd66b 100644 --- a/modules/51_internalizeDamages/KWlikeItrCPreg/realization.gms +++ b/modules/51_internalizeDamages/KWlikeItrCPreg/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KotzWenzCPreg/datainput.gms b/modules/51_internalizeDamages/KotzWenzCPreg/datainput.gms new file mode 100644 index 000000000..5f967cc47 --- /dev/null +++ b/modules/51_internalizeDamages/KotzWenzCPreg/datainput.gms @@ -0,0 +1,20 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/51_internalizeDamages/KotzWenzCPreg/datainput.gms + +* satisfy dependencies +$ifi not %damages% == 'KotzWenz' abort "module internalizeDamages=KotzWenzItr requires module damages=KotzWenz"; +$ifi not %cm_magicc_temperatureImpulseResponse% == 'on' abort "module internalizeDamages=KotzWenzCPreg requires cm_magicc_temperatureImpulseResponse=on"; + +*init carbon tax for 1st iteration +p51_scc(tall,regi) = 0; +p51_scc("2025",regi) = 20; +p51_scc(tall,regi)$(tall.val ge 2025 and tall.val le 2150) = p51_scc("2025",regi)*(1+0.025*(tall.val-2025)); + +pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2010) = p51_scc(ttot,regi) * sm_c_2_co2/1000; + +*** EOF ./modules/51_internalizeDamages/KotzWenzCPreg/datainput.gms diff --git a/modules/51_internalizeDamages/KotzWenzCPreg/declarations.gms b/modules/51_internalizeDamages/KotzWenzCPreg/declarations.gms new file mode 100644 index 000000000..d2c74994f --- /dev/null +++ b/modules/51_internalizeDamages/KotzWenzCPreg/declarations.gms @@ -0,0 +1,16 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/51_internalizeDamages/KotzWenzCPreg/declarations.gms + +parameters +p51_scc(tall,all_regi) "Social cost of carbon (due to GDP damages) [$ per tCO2eq]" +p51_sccLastItr(tall,all_regi) "Social cost of carbon (due to GDP damages) from last iteration [$ per tCO2eq]" + +pm_sccConvergenceMaxDeviation "max deviation of SCC from last iteration [percent]" +; + +*** EOF ./modules/51_internalizeDamages/KotzWenzCPreg/declarations.gms diff --git a/modules/51_internalizeDamages/KotzWenzCPreg/not_used.txt b/modules/51_internalizeDamages/KotzWenzCPreg/not_used.txt new file mode 100644 index 000000000..368994bcb --- /dev/null +++ b/modules/51_internalizeDamages/KotzWenzCPreg/not_used.txt @@ -0,0 +1,28 @@ +# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de +name,type,reason +pm_GDPfrac,input,questionnaire +pm_damageMarginalT,input,questionnaire +cm_damages_BurkeLike_persistenceTime,input,questionnaire +pm_tempScaleGlob2Reg,input,questionnaire +pm_damage,input,questionnaire +pm_damageGrowthRate,input,questionnaire +pm_damageMarginalTm1,input,questionnaire +pm_damageMarginalTm2,input,questionnaire +pm_cesdata,input,questionnaire +pm_lab,input,questionnaire +pm_interpolWeight_ttot_tall,input,questionnaire +pm_tall_2_ttot,input,questionnaire +pm_damageProd,input,questionnaire +pm_damageTC,input,questionnaire +pm_damageGrowthRateTC,input,questionnaire +pm_damageMarginalTC,input,questionnaire +pm_GDPGrossIso,input,questionnaire +pm_damageImp,input,questionnaire +pm_damageIso,input,questionnaire +pm_damageGrowthRateIso,input,questionnaire +pm_sccIneq,input,questionnaire diff --git a/modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms b/modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms new file mode 100644 index 000000000..f92f5297f --- /dev/null +++ b/modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms @@ -0,0 +1,49 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de + +*** SOF ./modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms + + +p51_sccLastItr(tall,regi) = p51_scc(tall,regi); + + +p51_scc(tall,regi)$((tall.val ge 2020) and (tall.val le 2150)) = 1000 * + sum(regi2, + sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon))), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) + (1 + pm_prtp(regi2) )**(-(tall2.val - tall.val)) + * (pm_consPC(tall,regi))**(1/pm_ies(regi))/(pm_consPC(tall2,regi2) + sm_eps))**(1/pm_ies(regi2)) + * pm_GDPGross(tall2,regi2) + * pm_temperatureImpulseResponseCO2(tall2,tall) + * pm_damageMarginal(tall2,regi2) + )) +; + +*if(cm_iterative_target_adj eq 10 and cm_emiscen eq 9 and mod(iteration.val,2) eq 1, !! update only every uneven iteration to prevent zig-zagging +*p51_scc(tall) = p51_sccLastItr(tall) * max(0, min(1.4,max(0.6, (p51_scc(tall)/max(p51_sccLastItr(tall),1e-8))**0.7 ))); +p51_scc(tall,regi) = p51_sccLastItr(tall,regi) * min(max( (p51_scc(tall,regi)/max(p51_sccLastItr(tall,regi),1e-8)),1 - 0.5*0.95**iteration.val),1 + 0.95**iteration.val); + +pm_taxCO2eqSCC(ttot,regi) = 0; +pm_taxCO2eqSCC(t,regi)$(t.val ge 2025) = max(0, p51_scc(t,regi) * sm_c_2_co2/1000); + +*); + +*optional: prevent drastic decline towards the final periods +*pm_taxCO2eqSCC(ttot,regi)$(ttot.val gt 2100) = pm_taxCO2eqSCC("2100",regi); +*optional: dampen price adjustment to ease convergence +*pm_taxCO2eqSCC(ttot,regi)$(ttot.val gt 2110) = pm_taxCO2eqSCC("2110",regi) + (ttot.val - 2110) * (pm_taxCO2eqSCC("2110",regi) - pm_taxCO2eqSCC("2100",regi))/10; + +display p51_scc,pm_taxCO2eqSCC; + + +* convergence indicator: +pm_sccConvergenceMaxDeviation=0; +pm_sccConvergenceMaxDeviation = 100 * smax(regi,smax(tall$(tall.val ge cm_startyear and tall.val lt 2150),abs(p51_scc(tall,regi)/max(p51_sccLastItr(tall,regi),1e-8) - 1) )); +display pm_sccConvergenceMaxDeviation; + +*** EOF ./modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms + + diff --git a/modules/51_internalizeDamages/KotzWenzCPreg/realization.gms b/modules/51_internalizeDamages/KotzWenzCPreg/realization.gms new file mode 100644 index 000000000..9af9ede41 --- /dev/null +++ b/modules/51_internalizeDamages/KotzWenzCPreg/realization.gms @@ -0,0 +1,9 @@ +*** SOF ./modules/51_internalizeDamages/KotzWenzCPreg/realization.gms + +*####################### R SECTION START (PHASES) ############################## +$Ifi "%phase%" == "declarations" $include "./modules/51_internalizeDamages/KotzWenzCPreg/declarations.gms" +$Ifi "%phase%" == "datainput" $include "./modules/51_internalizeDamages/KotzWenzCPreg/datainput.gms" +$Ifi "%phase%" == "postsolve" $include "./modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms" +*######################## R SECTION END (PHASES) ############################### + +*** EOF ./modules/51_internalizeDamages/KotzWenzCPreg/realization.gms diff --git a/modules/51_internalizeDamages/KotzWenzItr/datainput.gms b/modules/51_internalizeDamages/KotzWenzItr/datainput.gms new file mode 100644 index 000000000..d506e5e1c --- /dev/null +++ b/modules/51_internalizeDamages/KotzWenzItr/datainput.gms @@ -0,0 +1,20 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/51_internalizeDamages/KotzWenzItr/datainput.gms + +* satisfy dependencies +$ifi not %damages% == 'KotzWenz' abort "module internalizeDamages=KotzWenzItr requires module damages=KotzWenz"; +$ifi not %cm_magicc_temperatureImpulseResponse% == 'on' abort "module internalizeDamages=KotzWenzItr requires cm_magicc_temperatureImpulseResponse=on"; + +*init carbon tax for 1st iter +p51_scc(tall) = 0; +p51_scc("2025") = 20; +p51_scc(tall)$(tall.val ge 2025 and tall.val le 2150) = p51_scc("2025")*(1+0.025*(tall.val-2025)); + +pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2010) = p51_scc(ttot) * sm_c_2_co2/1000; + +*** EOF ./modules/51_internalizeDamages/KotzWenzItr/datainput.gms diff --git a/modules/51_internalizeDamages/KotzWenzItr/declarations.gms b/modules/51_internalizeDamages/KotzWenzItr/declarations.gms new file mode 100644 index 000000000..3e86a13fc --- /dev/null +++ b/modules/51_internalizeDamages/KotzWenzItr/declarations.gms @@ -0,0 +1,16 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/51_internalizeDamages/KotzWenzItr/declarations.gms + +parameters +p51_scc(tall) "Social cost of carbon (due to GDP damages) [$ per tCO2eq]" +p51_sccLastItr(tall) "Social cost of carbon (due to GDP damages) from last iteration [$ per tCO2eq]" + +pm_sccConvergenceMaxDeviation "max deviation of SCC from last iteration [percent]" +; + +*** EOF ./modules/51_internalizeDamages/KotzWenzItr/declarations.gms diff --git a/modules/51_internalizeDamages/KotzWenzItr/not_used.txt b/modules/51_internalizeDamages/KotzWenzItr/not_used.txt new file mode 100644 index 000000000..f8b20076c --- /dev/null +++ b/modules/51_internalizeDamages/KotzWenzItr/not_used.txt @@ -0,0 +1,28 @@ +# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de +name,type,reason +pm_GDPfrac,input,questionnaire +cm_damages_BurkeLike_persistenceTime,input,questionnaire +pm_tempScaleGlob2Reg,input,questionnaire +pm_damage,input,questionnaire +pm_damageGrowthRate,input,questionnaire +pm_damageMarginalT,input,questionnaire +pm_damageMarginalTm1,input,questionnaire +pm_damageMarginalTm2,input,questionnaire +pm_cesdata,input,questionnaire +pm_lab,input,questionnaire +pm_interpolWeight_ttot_tall,input,questionnaire +pm_tall_2_ttot,input,questionnaire +pm_damageProd,input,questionnaire +pm_damageTC,input,questionnaire +pm_damageGrowthRateTC,input,questionnaire +pm_damageMarginalTC,input,questionnaire +pm_GDPGrossIso,input,questionnaire +pm_damageImp,input,questionnaire +pm_damageIso,input,questionnaire +pm_damageGrowthRateIso,input,questionnaire +pm_sccIneq,input,questionnaire diff --git a/modules/51_internalizeDamages/KotzWenzItr/postsolve.gms b/modules/51_internalizeDamages/KotzWenzItr/postsolve.gms new file mode 100644 index 000000000..c6b75d68b --- /dev/null +++ b/modules/51_internalizeDamages/KotzWenzItr/postsolve.gms @@ -0,0 +1,49 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de + +*** SOF ./modules/51_internalizeDamages/KotzWenzItr/postsolve.gms + + +p51_sccLastItr(tall) = p51_scc(tall); + + +p51_scc(tall)$((tall.val ge 2020) and (tall.val le 2150)) = 1000 * + sum(regi2, + sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon))), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) + (1 + pm_prtp(regi2) )**(-(tall2.val - tall.val)) + * (pm_consPC(tall,regi2)/(pm_consPC(tall2,regi2) + sm_eps))**(1/pm_ies(regi2)) + * pm_GDPGross(tall2,regi2) + * pm_temperatureImpulseResponseCO2(tall2,tall) + * pm_damageMarginal(tall2,regi2) + ) + ) +; + +*if(cm_iterative_target_adj eq 10 and cm_emiscen eq 9 and mod(iteration.val,2) eq 1, !! update only every uneven iteration to prevent zig-zagging +p51_scc(tall) = p51_sccLastItr(tall) * min(max( (p51_scc(tall)/max(p51_sccLastItr(tall),1e-8)),1 - 0.5*0.95**iteration.val),1 + 0.95**iteration.val); + +pm_taxCO2eqSCC(ttot,regi) = 0; +pm_taxCO2eqSCC(t,regi)$(t.val ge 2025) = max(0, p51_scc(t) * sm_c_2_co2/1000); + +*); + +*optional: prevent drastic decline towards the final periods +*pm_taxCO2eqSCC(ttot,regi)$(ttot.val gt 2100) = pm_taxCO2eqSCC("2100",regi); +*optional: dampen price adjustment to ease convergence +*pm_taxCO2eqSCC(ttot,regi)$(ttot.val gt 2110) = pm_taxCO2eqSCC("2110",regi) + (ttot.val - 2110) * (pm_taxCO2eqSCC("2110",regi) - pm_taxCO2eqSCC("2100",regi))/10; + +display p51_scc,pm_taxCO2eqSCC; + + +* convergence indicator: +pm_sccConvergenceMaxDeviation=0; +pm_sccConvergenceMaxDeviation = 100 * smax(tall$(tall.val ge cm_startyear and tall.val lt 2150),abs(p51_scc(tall)/max(p51_sccLastItr(tall),1e-8) - 1) ); +display pm_sccConvergenceMaxDeviation; + +*** EOF ./modules/51_internalizeDamages/KotzWenzItr/postsolve.gms + + diff --git a/modules/51_internalizeDamages/KotzWenzItr/realization.gms b/modules/51_internalizeDamages/KotzWenzItr/realization.gms new file mode 100644 index 000000000..58aedd964 --- /dev/null +++ b/modules/51_internalizeDamages/KotzWenzItr/realization.gms @@ -0,0 +1,17 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/51_internalizeDamages/KotzWenzItr/realization.gms + +*' @description Based on the analytic expression derived in @Schultes2020 the social cost of carbon corresponding to the aggregate output damages from Kotz et al (2024), as calculated in module 50_damages/KotzWenz. + +*####################### R SECTION START (PHASES) ############################## +$Ifi "%phase%" == "declarations" $include "./modules/51_internalizeDamages/KotzWenzItr/declarations.gms" +$Ifi "%phase%" == "datainput" $include "./modules/51_internalizeDamages/KotzWenzItr/datainput.gms" +$Ifi "%phase%" == "postsolve" $include "./modules/51_internalizeDamages/KotzWenzItr/postsolve.gms" +*######################## R SECTION END (PHASES) ############################### + +*** EOF ./modules/51_internalizeDamages/KotzWenzItr/realization.gms diff --git a/modules/51_internalizeDamages/LabItr/datainput.gms b/modules/51_internalizeDamages/LabItr/datainput.gms index f7f6afe6f..c2665cea8 100755 --- a/modules/51_internalizeDamages/LabItr/datainput.gms +++ b/modules/51_internalizeDamages/LabItr/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -17,10 +17,11 @@ p51_labEff(ttot,regi) = pm_cesdata(ttot,regi,"lab","eff"); p51_labEffgr(ttot,regi) = pm_cesdata(ttot,regi,"lab","effgr"); *init carbon tax for 1st iter -p51_scc("2020") = 20; -p51_scc(tall)$(tall.val ge 2010 and tall.val le 2150) = p51_scc("2020")*(1+0.025*(tall.val-2020)); +p51_scc(tall) = 0; +p51_scc("2025") = 20; +p51_scc(tall)$(tall.val ge 2025 and tall.val le 2150) = p51_scc("2025")*(1+0.025*(tall.val-2025)); -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2010) = p51_scc(ttot) * (44/12)/1000; +pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2010) = p51_scc(ttot) * sm_c_2_co2/1000; *** EOF ./modules/51_internalizeDamages/LabItr/datainput.gms diff --git a/modules/51_internalizeDamages/LabItr/declarations.gms b/modules/51_internalizeDamages/LabItr/declarations.gms index 36e2d5343..9923cf4c7 100755 --- a/modules/51_internalizeDamages/LabItr/declarations.gms +++ b/modules/51_internalizeDamages/LabItr/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/LabItr/not_used.txt b/modules/51_internalizeDamages/LabItr/not_used.txt index 24b7f0225..7342740b8 100755 --- a/modules/51_internalizeDamages/LabItr/not_used.txt +++ b/modules/51_internalizeDamages/LabItr/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/LabItr/postsolve.gms b/modules/51_internalizeDamages/LabItr/postsolve.gms index 2d00dfdc1..02bc1e9e8 100755 --- a/modules/51_internalizeDamages/LabItr/postsolve.gms +++ b/modules/51_internalizeDamages/LabItr/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -46,11 +46,11 @@ p51_sccParts(tall,tall2,regi2)$((tall.val ge 2010) and (tall.val le 2150) and (t ; p51_sccLastItr(tall) = p51_scc(tall); -p51_scc(tall)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * +p51_scc(tall)$((tall.val ge 2020) and (tall.val le 2150)) = 1000 * sum(regi2, sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon)) ), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) (1 + pm_prtp(regi2))**(-(tall2.val - tall.val)) - * pm_consPC(tall,regi2)/(pm_consPC(tall2,regi2)+1e-8) + * (pm_consPC(tall,regi2)/(pm_consPC(tall2,regi2) + sm_eps))**(1/pm_ies(regi2)) * p51_sccParts(tall,tall2,regi2) ) ) @@ -59,7 +59,7 @@ p51_scc(tall)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * *if(cm_iterative_target_adj eq 10 and cm_emiscen eq 9 and mod(iteration.val,2) eq 1, !! update only every uneven iteration to prevent zig-zagging pm_taxCO2eqSCC(ttot,regi) = 0; -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2020) = p51_scc(ttot) * (44/12)/1000; +pm_taxCO2eqSCC(t,regi)$(t.val ge 2025) = p51_scc(t) * sm_c_2_co2/1000; *); diff --git a/modules/51_internalizeDamages/LabItr/realization.gms b/modules/51_internalizeDamages/LabItr/realization.gms index a6b5bd938..157636359 100755 --- a/modules/51_internalizeDamages/LabItr/realization.gms +++ b/modules/51_internalizeDamages/LabItr/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/TCitr/datainput.gms b/modules/51_internalizeDamages/TCitr/datainput.gms index e13e80ef0..86e0aaeac 100755 --- a/modules/51_internalizeDamages/TCitr/datainput.gms +++ b/modules/51_internalizeDamages/TCitr/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -13,8 +13,9 @@ $ifi not %cm_magicc_temperatureImpulseResponse% == 'on' abort "module internaliz *inital guess carbon tax for 1st iter. Does not influence solution point. -p51_scc("2020") = 20; -p51_scc(tall)$(tall.val ge 2010 and tall.val le 2150) = p51_scc("2020")*(1+0.02*(tall.val-2020)); +p51_scc(tall) = 0; +p51_scc("2025") = 20; +p51_scc(tall)$(tall.val ge 2025 and tall.val le 2150) = p51_scc("2025")*(1+0.025*(tall.val-2025)); pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2010) = p51_scc(ttot) * (44/12)/1000; diff --git a/modules/51_internalizeDamages/TCitr/declarations.gms b/modules/51_internalizeDamages/TCitr/declarations.gms index 0bdc75adb..422f046f2 100755 --- a/modules/51_internalizeDamages/TCitr/declarations.gms +++ b/modules/51_internalizeDamages/TCitr/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/TCitr/not_used.txt b/modules/51_internalizeDamages/TCitr/not_used.txt index c64d6eaba..7d5dbff45 100755 --- a/modules/51_internalizeDamages/TCitr/not_used.txt +++ b/modules/51_internalizeDamages/TCitr/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/TCitr/postsolve.gms b/modules/51_internalizeDamages/TCitr/postsolve.gms index 567c5ba94..39c09b7c7 100755 --- a/modules/51_internalizeDamages/TCitr/postsolve.gms +++ b/modules/51_internalizeDamages/TCitr/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -27,26 +27,22 @@ p51_sccParts(tall,tall2,regi2)$((tall.val ge 2010) and (tall.val le 2150) and (t ) ; -p51_scc(tall)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * -*p51_welf(tall)**(-1) * +p51_scc(tall)$((tall.val ge 2020) and (tall.val le 2150)) = 1000 * sum(regi2, sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon))), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) (1 + pm_prtp(regi2) )**(-(tall2.val - tall.val)) - * pm_consPC(tall,regi2)/pm_consPC(tall2,regi2) + * (pm_consPC(tall,regi2)/(pm_consPC(tall2,regi2) + sm_eps))**(1/pm_ies(regi2)) * p51_sccParts(tall,tall2,regi2) ) ) ; *if(cm_iterative_target_adj eq 10 and cm_emiscen eq 9 and mod(iteration.val,2) eq 1, !! update only every uneven iteration to prevent zig-zagging - -*display "proposed new scc tax:"; -*display p51_scc; *p51_scc(tall) = p51_sccLastItr(tall) * max(0, min(1.4,max(0.6, (p51_scc(tall)/max(p51_sccLastItr(tall),1e-8))**0.7 ))); p51_scc(tall) = p51_sccLastItr(tall) * min(max( (p51_scc(tall)/max(p51_sccLastItr(tall),1e-8)),1 - 0.5*0.95**iteration.val),1 + 0.95**iteration.val); pm_taxCO2eqSCC(ttot,regi) = 0; -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2020) = max(0, p51_scc(ttot) * (44/12)/1000); +pm_taxCO2eqSCC(t,regi)$(t.val ge 2025) = max(0, p51_scc(t) * sm_c_2_co2/1000); *); diff --git a/modules/51_internalizeDamages/TCitr/realization.gms b/modules/51_internalizeDamages/TCitr/realization.gms index 8dc654069..08e050200 100755 --- a/modules/51_internalizeDamages/TCitr/realization.gms +++ b/modules/51_internalizeDamages/TCitr/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/module.gms b/modules/51_internalizeDamages/module.gms index 3d2d268e5..1adf2cb73 100644 --- a/modules/51_internalizeDamages/module.gms +++ b/modules/51_internalizeDamages/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -21,6 +21,8 @@ $Ifi "%internalizeDamages%" == "KW_SEitr" $include "./modules/51_internalizeDama $Ifi "%internalizeDamages%" == "KWlikeItr" $include "./modules/51_internalizeDamages/KWlikeItr/realization.gms" $Ifi "%internalizeDamages%" == "KWlikeItrCPnash" $include "./modules/51_internalizeDamages/KWlikeItrCPnash/realization.gms" $Ifi "%internalizeDamages%" == "KWlikeItrCPreg" $include "./modules/51_internalizeDamages/KWlikeItrCPreg/realization.gms" +$Ifi "%internalizeDamages%" == "KotzWenzCPreg" $include "./modules/51_internalizeDamages/KotzWenzCPreg/realization.gms" +$Ifi "%internalizeDamages%" == "KotzWenzItr" $include "./modules/51_internalizeDamages/KotzWenzItr/realization.gms" $Ifi "%internalizeDamages%" == "LabItr" $include "./modules/51_internalizeDamages/LabItr/realization.gms" $Ifi "%internalizeDamages%" == "TCitr" $include "./modules/51_internalizeDamages/TCitr/realization.gms" $Ifi "%internalizeDamages%" == "off" $include "./modules/51_internalizeDamages/off/realization.gms" diff --git a/modules/51_internalizeDamages/off/datainput.gms b/modules/51_internalizeDamages/off/datainput.gms index 93ac6d1aa..f57125e0b 100644 --- a/modules/51_internalizeDamages/off/datainput.gms +++ b/modules/51_internalizeDamages/off/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/off/declarations.gms b/modules/51_internalizeDamages/off/declarations.gms index 198d08329..ef69dbe83 100644 --- a/modules/51_internalizeDamages/off/declarations.gms +++ b/modules/51_internalizeDamages/off/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/off/not_used.txt b/modules/51_internalizeDamages/off/not_used.txt index 8e37f7372..5149fb728 100644 --- a/modules/51_internalizeDamages/off/not_used.txt +++ b/modules/51_internalizeDamages/off/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -33,4 +33,6 @@ pm_damageImp,input,questionnaire pm_damageIso,input,questionnaire pm_damageGrowthRateIso,input,questionnaire pm_sccIneq,input,questionnaire - +sm_c_2_co2,input,questionnaire +pm_ies,input,questionnaire +sm_eps,input,questionnaire diff --git a/modules/51_internalizeDamages/off/realization.gms b/modules/51_internalizeDamages/off/realization.gms index c27ed7b60..55df016f0 100644 --- a/modules/51_internalizeDamages/off/realization.gms +++ b/modules/51_internalizeDamages/off/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/70_water/heat/datainput.gms b/modules/70_water/heat/datainput.gms index e90d36a79..e4b3c1113 100644 --- a/modules/70_water/heat/datainput.gms +++ b/modules/70_water/heat/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/70_water/heat/declarations.gms b/modules/70_water/heat/declarations.gms index 78c34620b..87c90d361 100644 --- a/modules/70_water/heat/declarations.gms +++ b/modules/70_water/heat/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -8,26 +8,24 @@ *** *IM*2015-05-14* Declaration of parameters ***------------------------------------------------------------------------------- -PARAMETERS -i70_water_con(all_te, coolte70) "water consumption coefficients. Unit: m3/MWh" -i70_water_wtd(all_te, coolte70) "water withdrawal coefficients. Unit: m3/MWh" -i70_cool_share_time(ttot2, all_regi, all_te, coolte70) "time dependent cooling technology shares. Unit: %" -i70_efficiency(ttot, all_regi, all_te, coolte70) "efficiency factor for cooling systems. Unit: 0-1" -i70_losses(all_te) "smoke stack fuel input losses. Unit: %" +Parameters + i70_water_con(all_te,coolte70) "water consumption coefficients [m3/MWh]" + i70_water_wtd(all_te,coolte70) "water withdrawal coefficients [m3/MWh]" + i70_cool_share_time(ttot2,all_regi,all_te,coolte70) "time dependent cooling technology shares [%]" + i70_efficiency(ttot,all_regi,all_te,coolte70) "efficiency factor for cooling systems [0-1]" + i70_losses(all_te) "smoke stack fuel input losses [%]" -p70_cap_vintages(ttot, all_regi, all_te, ttot2) "capacity build in ttot2 still standing in ttot. Unit: GW" -p70_cap_vintages_share(ttot, all_regi, all_te, ttot2) "fraction of capacity build in ttot2 still standing in ttot out of total capacity in ttot. Unit: 0-1" -p70_heat(ttot,all_regi,all_enty,all_enty,all_te) "excess heat. Unit: TWa" -p70_water_con(all_regi, all_te, coolte70) "water consumption coefficients per excess heat. Unit: m3/MWh" -p70_water_wtd(all_regi, all_te, coolte70) "water withdrawal coefficients per excess heat. Unit: m3/MWh" - -p70_water_output(ttot,all_regi,descr_water_ext) "output" - -o70_se_production(ttot,all_regi,all_te) "secondary energy production. Unit: EJ/yr" -o70_water_consumption(ttot, all_regi, all_te) "water consumption per technology. Unit: km3/yr" -o70_water_withdrawal(ttot, all_regi, all_te) "water withdrawal per technology. Unit: km3/yr" + p70_cap_vintages(ttot,all_regi,all_te,ttot2) "capacity build in ttot2 still standing in ttot [GW]" + p70_cap_vintages_share(ttot,all_regi,all_te,ttot2) "fraction of capacity build in ttot2 still standing in ttot out of total capacity in ttot [0-1]" + p70_heat(ttot,all_regi,all_enty,all_enty,all_te) "excess heat [TWa]" + p70_water_con(all_regi,all_te,coolte70) "water consumption coefficients per excess heat [m3/MWh]" + p70_water_wtd(all_regi,all_te,coolte70) "water withdrawal coefficients per excess heat [m3/MWh]" + p70_water_output(ttot,all_regi,descr_water_ext) "output" + o70_se_production(ttot,all_regi,all_te) "secondary energy production [EJ/yr]" + o70_water_consumption(ttot,all_regi,all_te) "water consumption per technology [km3/yr]" + o70_water_withdrawal(ttot,all_regi,all_te) "water withdrawal per technology [km3/yr]" ; *** EOF ./modules/70_water/heat/declarations.gms diff --git a/modules/70_water/heat/not_used.txt b/modules/70_water/heat/not_used.txt index ad14a32d8..85ff9312e 100644 --- a/modules/70_water/heat/not_used.txt +++ b/modules/70_water/heat/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/70_water/heat/output.gms b/modules/70_water/heat/output.gms index f477f1a6a..9c04e3a4a 100644 --- a/modules/70_water/heat/output.gms +++ b/modules/70_water/heat/output.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -234,7 +234,7 @@ p70_water_output(ttot,regi,"Water Consumption|Electricity|Solar; km3/yr;") = ; p70_water_output(ttot,regi,"Water Consumption|Electricity|Wind; km3/yr;") = - sum(te_elcool70$(sameas(te_elcool70,"wind")), + sum(te_elcool70$(sameas(te_elcool70,"windon")), o70_water_consumption(ttot,regi,te_elcool70)) ; @@ -426,7 +426,7 @@ p70_water_output(ttot,regi,"Water Withdrawal|Electricity|Solar; km3/yr;") = ; p70_water_output(ttot,regi,"Water Withdrawal|Electricity|Wind; km3/yr;") = - sum(te_elcool70$(sameas(te_elcool70,"wind")), + sum(te_elcool70$(sameas(te_elcool70,"windon")), o70_water_withdrawal(ttot,regi,te_elcool70)) ; diff --git a/modules/70_water/heat/realization.gms b/modules/70_water/heat/realization.gms index 062d8be1d..88028dd25 100644 --- a/modules/70_water/heat/realization.gms +++ b/modules/70_water/heat/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/70_water/heat/sets.gms b/modules/70_water/heat/sets.gms index 215cdd745..5432b2a76 100644 --- a/modules/70_water/heat/sets.gms +++ b/modules/70_water/heat/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/70_water/module.gms b/modules/70_water/module.gms index 81177c085..82e207e72 100644 --- a/modules/70_water/module.gms +++ b/modules/70_water/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/70_water/off/realization.gms b/modules/70_water/off/realization.gms index c0d399a68..35d57941a 100644 --- a/modules/70_water/off/realization.gms +++ b/modules/70_water/off/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/module.gms b/modules/80_optimization/module.gms index ab87c7c4f..41b38c0f3 100644 --- a/modules/80_optimization/module.gms +++ b/modules/80_optimization/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/nash/bounds.gms b/modules/80_optimization/nash/bounds.gms index eb465a850..d1d069a65 100644 --- a/modules/80_optimization/nash/bounds.gms +++ b/modules/80_optimization/nash/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/nash/datainput.gms b/modules/80_optimization/nash/datainput.gms index f68bd4a17..ba5e2121a 100644 --- a/modules/80_optimization/nash/datainput.gms +++ b/modules/80_optimization/nash/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/nash/declarations.gms b/modules/80_optimization/nash/declarations.gms index f111ac8a8..5562dba7f 100644 --- a/modules/80_optimization/nash/declarations.gms +++ b/modules/80_optimization/nash/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -12,27 +12,27 @@ p80_etaXp(all_enty) "Parameter governing price anticipat *LB* parameters for ajustments between different iterations -p80_etaLT(all_enty) "long term price ajustment elasticity " -p80_etaST(all_enty) "short term price ajustment elasticity" +p80_etaLT(all_enty) "long term price ajustment elasticity " +p80_etaST(all_enty) "short term price ajustment elasticity" *AJS* adjustment costs between iterations p80_etaAdj(all_enty) "Adjustment costs for changes of trade pattern between iterations" ***prices -p80_pvp_itr(ttot,all_enty,iteration) "Price on commodity markets per iteration", +p80_pvp_itr(ttot,all_enty,iteration) "Price on commodity markets per iteration", p80_pvpFallback(ttot,all_enty) "Helper parameter. Price path from input/prices_NASH.inc. Only used if reading prices from gdx fails.", -p80_normalizeLT(all_enty) "Aggregated intertemporal market volume", +p80_normalizeLT(all_enty) "Aggregated intertemporal market volume", p80_normalize0(ttot,all_regi,all_enty) "Normalization parameter for market volume" ***parameter containing the respective level values from last iteration (the first set of values taken from gdx in the first iteration, respectively) p80_Mport0(tall,all_regi,all_enty) "Imports in last iteration" -p80_surplus(tall,all_enty,iteration) "Surplus on commodity market", -p80_defic_trade(all_enty) "Surplus in monetary terms over all times on commodity markets [trillion US$2005]", -p80_defic_sum(iteration) "Surplus in monetary terms over all times on all commodity markets combined [trillion US$2005] (NOTE: to compare this number with the Negishi defic_sum, divide by around 100)", +p80_surplus(tall,all_enty,iteration) "Surplus on commodity market", +p80_defic_trade(all_enty) "Surplus in monetary terms over all times on commodity markets [trillion US$2017]", +p80_defic_sum(iteration) "Surplus in monetary terms over all times on all commodity markets combined [trillion US$2017] (NOTE: to compare this number with the Negishi defic_sum, divide by around 100)", p80_defic_sum_rel(iteration) "Surplus monetary value over all times on all commodity markets combined, normalized to consumption [%]", -*LB* diagnostic parameters +*LB* diagnostic parameters p80_etaLT_correct(all_enty,iteration) "long term price correction factor in percent" p80_etaST_correct(tall,all_enty,iteration) "short term price correction factor in percent" @@ -42,12 +42,12 @@ o80_trackSurplusSign(ttot,all_enty,iteration) "auxiliary parameter t o80_SurplusOverTolerance(ttot,all_enty,iteration) "auxiliary parameter to track in which iterations which item surpassed the tolerance (positive/negative)" -p80_surplusMax_iter(all_enty,iteration,tall) "Diagnostics for Nash: Worst residual market surplus until given year, absolute value. [Units: TWa, trillion Dollar, GtC]" -p80_surplusMax2100(all_enty) "Worst residual market surplus until 2100, absolute value. [Units: TWa, trillion Dollar, GtC]" +p80_surplusMax_iter(all_enty,iteration,tall) "Diagnostics for Nash: Worst residual market surplus until given year, absolute value. [TWa, trillion Dollar, GtC]" +p80_surplusMax2100(all_enty) "Worst residual market surplus until 2100, absolute value. [TWa, trillion Dollar, GtC]" p80_surplusMaxRel(all_enty,iteration,tall) "Diagnostics for Nash: Worst residual market surplus until given year, in per cent." p80_surplusMaxTolerance(all_enty) "maximum tolerable residual value of absolute market surplus in 2100." -p80_taxrev0(tall,all_regi) "vm_taxrev from last iteration" +p80_taxrev0(tall,all_regi) "vm_taxrev from last iteration" p80_taxrev_agg(tall,iteration) "vm_taxrev globally from last iteration" @@ -65,23 +65,23 @@ p80_curracc(ttot,all_regi) "current account" pm_cumEff(tall,all_regi,all_in) "parameter for spillover externality (aggregated productivity level)" -p80_PriceChangePriceAnticipReg(ttot,all_enty,all_regi) "Price change of a trade good due to the price anticipation effect. [Unit: Percent]" -o80_PriceChangePriceAnticipReg(ttot,all_enty,all_regi) "only for display: Price change of a trade good due to price anticipation. If nothing is displayed, all values are <0.1%. [Unit: Percent, rounded to 0.1%]" -o80_PriceChangePriceAnticipRegMaxIter(ttot,iteration) "only for display: Largest absolute value of o80_PriceChangePriceAnticipReg until 2100/2150, tracked over iteration. [Unit: Percent, rounded to 0.1%]" -p80_DevPriceAnticipReg(ttot,all_enty,all_regi) "Deviation of the yearly monetary export/import expenditure due to price change anticipation effect. [Unit: trillion Dollar]" -p80_DevPriceAnticipGlob(ttot,all_enty) "Global sum of p80_DevPriceAnticipReg. [Unit: trillion Dollar]" -p80_DevPriceAnticipGlobIter(ttot,all_enty,iteration) "Track p80_DevPriceAnticipGlob over iterations. [Unit: trillion Dollar]" -p80_DevPriceAnticipGlobAll(ttot) "p80_DevPriceAnticipGlob summed over all trade goods. [Units: trillion Dollar]" -p80_DevPriceAnticipGlobMax(ttot,all_enty) "Max of p80_DevPriceAnticipGlob until the given year. [Unit: trillion Dollar]" -p80_DevPriceAnticipGlobAllMax(ttot) "Max of p80_DevPriceAnticipGlobAll until the given year. [Unit: trillion Dollar]" -p80_DevPriceAnticipGlobMax2100Iter(all_enty,iteration) "Track the 2100 value of p80_DevPriceAnticipGlobMax over iterations. [Unit: trillion Dollar]" -p80_DevPriceAnticipGlobAllMax2100Iter(iteration) "Track the 2100 value of p80_DevPriceAnticipGlobAllMax over iterations. [Unit: trillion Dollar]" +p80_PriceChangePriceAnticipReg(ttot,all_enty,all_regi) "Price change of a trade good due to the price anticipation effect. [Percent]" +o80_PriceChangePriceAnticipReg(ttot,all_enty,all_regi) "only for display: Price change of a trade good due to price anticipation. If nothing is displayed, all values are <0.1%. [Percent, rounded to 0.1%]" +o80_PriceChangePriceAnticipRegMaxIter(ttot,iteration) "only for display: Largest absolute value of o80_PriceChangePriceAnticipReg until 2100/2150, tracked over iteration. [Percent, rounded to 0.1%]" +p80_DevPriceAnticipReg(ttot,all_enty,all_regi) "Deviation of the yearly monetary export/import expenditure due to price change anticipation effect. [trillion Dollar]" +p80_DevPriceAnticipGlob(ttot,all_enty) "Global sum of p80_DevPriceAnticipReg. [trillion Dollar]" +p80_DevPriceAnticipGlobIter(ttot,all_enty,iteration) "Track p80_DevPriceAnticipGlob over iterations. [trillion Dollar]" +p80_DevPriceAnticipGlobAll(ttot) "p80_DevPriceAnticipGlob summed over all trade goods. [trillion Dollar]" +p80_DevPriceAnticipGlobMax(ttot,all_enty) "Max of p80_DevPriceAnticipGlob until the given year. [trillion Dollar]" +p80_DevPriceAnticipGlobAllMax(ttot) "Max of p80_DevPriceAnticipGlobAll until the given year. [trillion Dollar]" +p80_DevPriceAnticipGlobMax2100Iter(all_enty,iteration) "Track the 2100 value of p80_DevPriceAnticipGlobMax over iterations. [trillion Dollar]" +p80_DevPriceAnticipGlobAllMax2100Iter(iteration) "Track the 2100 value of p80_DevPriceAnticipGlobAllMax over iterations. [trillion Dollar]" *EMIOPT relevant p80_eoMargPermBudg(all_regi) "marginal of permit budget restriction" -p80_eoMargEmiCum(all_regi) "marginal of cumulative emissions" +p80_eoMargEmiCum(all_regi) "marginal of cumulative emissions" -p80_eoMargAverage "global average of marginals from nash budget equation" +p80_eoMargAverage "global average of marginals from nash budget equation" p80_eoMargDiff(all_regi) "scaled deviation of regional marginals from global average" p80_eoDeltaEmibudget "total change in permit budget" p80_eoEmiMarg(all_regi) "weighted marginal utility of emissions" @@ -97,20 +97,20 @@ p80_SolNonOpt(all_regi) "solve status" pm_fuExtrForeign(ttot,all_regi,all_enty,rlf) "foreign fuel extraction" -p80_convNashTaxrev_iter(iteration,ttot,all_regi) "deviation of tax revenue relative to GDP per iteration, thus 0.01 means 1 percent" +p80_convNashTaxrev_iter(iteration,ttot,all_regi) "deviation of tax revenue relative to GDP per iteration, thus 0.01 means 1 percent [1]" p80_convNashObjVal_iter(iteration,all_regi) "deviation of objective value to objective value from last iteration per iteration" p80_fadeoutPriceAnticip_iter(iteration) "Helper parameter, describes fadeout of price anticipation during iterations per iteration" $ifthen.cm_implicitQttyTarget not "%cm_implicitQttyTarget%" == "off" p80_implicitQttyTarget_dev_iter(iteration,ttot,ext_regi,qttyTarget,qttyTargetGroup) "deviation of current iteration quantity target from target per iteration - relative for total targets, absolute (= share points) for share targets" $endif.cm_implicitQttyTarget p80_globalBudget_dev_iter(iteration) "actual level of global cumulated emissions budget divided by target budget per iteration" -p80_sccConvergenceMaxDeviation_iter(iteration) "max deviation of SCC from last iteration [percent] per iteration" +p80_sccConvergenceMaxDeviation_iter(iteration) "max deviation of SCC from last iteration per iteration [percent]" p80_gmt_conv_iter(iteration) "global mean temperature convergence per iteration" -; +; positive variable *AJS* Adjustment costs for Nash trade algorithm. Only non-zero in the Nash_test realization of 80_optimization module. -vm_costAdjNash(ttot,all_regi) "Adjustment costs for deviation from the trade structure of the last iteration." +vm_costAdjNash(ttot,all_regi) "Adjustment costs for deviation from the trade structure of the last iteration." ; equations @@ -119,7 +119,7 @@ q80_costAdjNash(ttot,all_regi) "calculate Nash adjustment costs (of q80_budgetPermRestr(all_regi) "constraints regional permit budget to given regional emission budget"; scalars -***convergence criteria. if met, the optimization is stopped. Feel free to adjust these to your needs. Denote maximum tolerable deviation from market clearance.(the one for goods is given in million US$2005/yr, the resources in EJ/yr) +***convergence criteria. if met, the optimization is stopped. Feel free to adjust these to your needs. Denote maximum tolerable deviation from market clearance.(the one for goods is given in million US$2017/yr, the resources in EJ/yr) sm_fadeoutPriceAnticip "Helper parameter, describes fadeout of price anticipation during iterations" s80_fadeoutPriceAnticipStartingPeriod "Helper parameter, denotes iteration in which price anticipation fadeout starts" s80_dummy "dummy scalar" diff --git a/modules/80_optimization/nash/equations.gms b/modules/80_optimization/nash/equations.gms index d9287c6e6..8bc6b50d2 100644 --- a/modules/80_optimization/nash/equations.gms +++ b/modules/80_optimization/nash/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/nash/not_used.txt b/modules/80_optimization/nash/not_used.txt index 487488b88..1ccf4329d 100644 --- a/modules/80_optimization/nash/not_used.txt +++ b/modules/80_optimization/nash/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/nash/output.gms b/modules/80_optimization/nash/output.gms index 4aecaddbf..bd3331c4b 100644 --- a/modules/80_optimization/nash/output.gms +++ b/modules/80_optimization/nash/output.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/nash/postsolve.gms b/modules/80_optimization/nash/postsolve.gms index bb5247098..6026a0aad 100644 --- a/modules/80_optimization/nash/postsolve.gms +++ b/modules/80_optimization/nash/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -442,7 +442,7 @@ display "Reasons for non-convergence in this iteration (if not yet converged)"; if(sameas(convMessage80, "target"), display "#### 6.) A global climate target has not been reached yet."; display "#### check out sm_globalBudget_dev, it must within 0.99 and 1.01 to reach convergence, as well as"; - display "#### pm_taxCO2eq_iterationdiff_tmp and pm_taxCO2eq_iterationdiff in diagnostics section below."; + display "#### pm_taxCO2eq_anchor_iterationdiff_tmp and pm_taxCO2eq_anchor_iterationdiff in diagnostics section below."; display "#### The two parameters give the difference in carbon price in $/GtC to the last iteration."; display sm_globalBudget_dev; ); @@ -452,8 +452,8 @@ $ifthen.emiMkt not "%cm_emiMktTarget%" == "off" display "#### Check out the pm_emiMktTarget_dev parameter of 47_regipol module."; display "#### For budget targets, the parameter gives the percentage deviation of current emissions in relation to the target value."; display "#### For yearly targets, the parameter gives the current emissions minus the target value in relative terms to the 2005 emissions."; - display "#### The deviation must to be less than cm_emiMktTarget_tolerance. By default within 1%, i.e. in between -0.01 and 0.01 of 2005 emissions to reach convergence."; - display cm_emiMktTarget_tolerance, pm_emiMktTarget_dev, pm_factorRescaleemiMktCO2Tax, pm_emiMktCurrent, pm_emiMktTarget, pm_emiMktRefYear; + display "#### The deviation must to be less than pm_emiMktTarget_tolerance. By default within 1%, i.e. in between -0.01 and 0.01 of 2005 emissions to reach convergence."; + display pm_emiMktTarget_tolerance, pm_emiMktTarget_dev, pm_factorRescaleemiMktCO2Tax, pm_emiMktCurrent, pm_emiMktTarget, pm_emiMktRefYear; display pm_emiMktTarget_dev_iter; display pm_taxemiMkt_iteration; ); @@ -507,7 +507,7 @@ display p80_surplus; OPTION decimals = 3; display "Tax difference to last iteration for global targets of core/postsolve"; -display pm_taxCO2eq_iterationdiff_tmp, pm_taxCO2eq_iterationdiff; +display pm_taxCO2eq_anchor_iterationdiff_tmp, pm_taxCO2eq_anchor_iterationdiff; *RP* display effect of additional convergence push display "display effect of additional convergence push"; @@ -555,7 +555,7 @@ if( (s80_bool eq 0) and (iteration.val eq cm_iteration_max), !! reached max if(sameas(convMessage80, "target"), display "#### 6.) A global climate target has not been reached yet."; display "#### check out sm_globalBudget_dev, must within 0.99 and 1.01 to reach convergence, as well as"; - display "#### pm_taxCO2eq_iterationdiff_tmp and pm_taxCO2eq_iterationdiff in diagnostics section below."; + display "#### pm_taxCO2eq_anchor_iterationdiff_tmp and pm_taxCO2eq_anchor_iterationdiff in diagnostics section below."; display "#### The two parameters give the difference in carbon price in $/GtC to the last iteration."; display sm_globalBudget_dev; ); @@ -565,8 +565,8 @@ $ifthen.emiMkt not "%cm_emiMktTarget%" == "off" display "#### Check out the pm_emiMktTarget_dev parameter of 47_regipol module."; display "#### For budget targets, the parameter gives the percentage deviation of current emissions in relation to the target value."; display "#### For yearly targets, the parameter gives the current emissions minus the target value in relative terms to the 2005 emissions."; - display "#### The deviation must to be less than cm_emiMktTarget_tolerance. By default within 1%, i.e. in between -0.01 and 0.01 of 2005 emissions to reach convergence."; - display cm_emiMktTarget_tolerance, pm_emiMktTarget_dev, pm_factorRescaleemiMktCO2Tax, pm_emiMktCurrent, pm_emiMktTarget, pm_emiMktRefYear; + display "#### The deviation must to be less than pm_emiMktTarget_tolerance. By default within 1%, i.e. in between -0.01 and 0.01 of 2005 emissions to reach convergence."; + display pm_emiMktTarget_tolerance, pm_emiMktTarget_dev, pm_factorRescaleemiMktCO2Tax, pm_emiMktCurrent, pm_emiMktTarget, pm_emiMktRefYear; display pm_emiMktTarget_dev_iter; display pm_taxemiMkt_iteration; ); diff --git a/modules/80_optimization/nash/preloop.gms b/modules/80_optimization/nash/preloop.gms index 58ebb717f..9cf0c48be 100644 --- a/modules/80_optimization/nash/preloop.gms +++ b/modules/80_optimization/nash/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/nash/presolve.gms b/modules/80_optimization/nash/presolve.gms index 3e5de6f8f..08c40b754 100644 --- a/modules/80_optimization/nash/presolve.gms +++ b/modules/80_optimization/nash/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/nash/realization.gms b/modules/80_optimization/nash/realization.gms index fd45025cc..ede59aab2 100644 --- a/modules/80_optimization/nash/realization.gms +++ b/modules/80_optimization/nash/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/nash/sets.gms b/modules/80_optimization/nash/sets.gms index ed1dd3816..797318379 100644 --- a/modules/80_optimization/nash/sets.gms +++ b/modules/80_optimization/nash/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -9,18 +9,14 @@ sets learnte_dyn80(all_te) "learnte for nash" / - wind "wind onshore power converters" -$IFTHEN.WindOff %cm_wind_offshore% == "1" - windoff "wind offshore power converters" -$ENDIF.WindOff spv "solar photovoltaic" csp "concentrating solar power" + windon "wind onshore power converters" + windoff "wind offshore power converters" storspv "storage technology for spv" - storwind "storage technology for wind onshore" -$IFTHEN.WindOff %cm_wind_offshore% == "1" - storwindoff "storage technology for wind offshore" -$ENDIF.WindOff storcsp "storage technology for csp" + storwindon "storage technology for wind onshore" + storwindoff "storage technology for wind offshore" /, solveinfo80 "Nash solution stats" diff --git a/modules/80_optimization/nash/solve.gms b/modules/80_optimization/nash/solve.gms index dd1e874b0..acb169088 100644 --- a/modules/80_optimization/nash/solve.gms +++ b/modules/80_optimization/nash/solve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/negishi/bounds.gms b/modules/80_optimization/negishi/bounds.gms index 8fa2ff393..ec3d3bada 100644 --- a/modules/80_optimization/negishi/bounds.gms +++ b/modules/80_optimization/negishi/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/negishi/datainput.gms b/modules/80_optimization/negishi/datainput.gms index f30348c00..82973e356 100644 --- a/modules/80_optimization/negishi/datainput.gms +++ b/modules/80_optimization/negishi/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/negishi/declarations.gms b/modules/80_optimization/negishi/declarations.gms index 98cb6681a..fa2171061 100644 --- a/modules/80_optimization/negishi/declarations.gms +++ b/modules/80_optimization/negishi/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -25,7 +25,7 @@ pm_fuExtrForeign(ttot,all_regi,all_enty,rlf) "foreign fuel extraction" positive variable *AJS* Adjustment costs for Nash trade algorithm. Only non-zero in the Nash_test realization of 80_optimization module. -vm_costAdjNash(ttot,all_regi) "Adjustment costs for deviation from the trade structure of the last iteration." +vm_costAdjNash(ttot,all_regi) "Adjustment costs for deviation from the trade structure of the last iteration." ; equations diff --git a/modules/80_optimization/negishi/equations.gms b/modules/80_optimization/negishi/equations.gms index b5459a178..e32ad70c7 100644 --- a/modules/80_optimization/negishi/equations.gms +++ b/modules/80_optimization/negishi/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/negishi/not_used.txt b/modules/80_optimization/negishi/not_used.txt index e4e22e0d1..b49e00084 100644 --- a/modules/80_optimization/negishi/not_used.txt +++ b/modules/80_optimization/negishi/not_used.txt @@ -1,10 +1,10 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de -name, type, reason +name,type,reason cm_abortOnConsecFail, switch, ??? cm_iteration_max, switch, ??? cm_keep_presolve_gdxes, switch, not needed @@ -12,7 +12,7 @@ cm_nash_autoconverge, switch, ??? cm_solver_try_max, switch, not needed cm_nash_mode, switch, not needed cm_TaxConvCheck, variable, ?? -cm_emiMktTarget_tolerance, switch, not needed +pm_emiMktTarget_tolerance, switch, not needed cm_implicitQttyTarget_tolerance, switch, not needed cm_sccConvergence, switch, not needed cm_tempConvergence, switch, not needed @@ -43,8 +43,6 @@ pm_implicitQttyTarget_isLimited, parameter, ??? pm_implicitQttyTarget, parameter, ??? pm_nfa_start, input, questionnaire pm_shPerm, parameter, ??? -pm_taxCO2eq_iterationdiff, input, questionnaire -pm_taxCO2eq_iterationdiff_tmp, input, questionnaire pm_taxemiMkt_iteration, input, ?? pm_Xport0, parameter, ??? qm_co2eqCum, equation, ??? @@ -69,3 +67,5 @@ sm_CES_calibration_iteration, scalar, only needed during calibration w cm_maxFadeOutPriceAnticip, parameter, ??? cm_LearningSpillover, input, learning spillover only implemented in nash pm_allTargetsConverged, parameter, only relevant for nash +pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff_tmp,input,added by codeCheck diff --git a/modules/80_optimization/negishi/output.gms b/modules/80_optimization/negishi/output.gms index 17772b1a2..736ae0669 100644 --- a/modules/80_optimization/negishi/output.gms +++ b/modules/80_optimization/negishi/output.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/negishi/postsolve.gms b/modules/80_optimization/negishi/postsolve.gms index 8a18b6af4..d962c5c60 100644 --- a/modules/80_optimization/negishi/postsolve.gms +++ b/modules/80_optimization/negishi/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/negishi/preloop.gms b/modules/80_optimization/negishi/preloop.gms index 87790c2c2..4ce197be3 100644 --- a/modules/80_optimization/negishi/preloop.gms +++ b/modules/80_optimization/negishi/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/negishi/realization.gms b/modules/80_optimization/negishi/realization.gms index 5973ac0ba..b56da4a05 100644 --- a/modules/80_optimization/negishi/realization.gms +++ b/modules/80_optimization/negishi/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/negishi/solve.gms b/modules/80_optimization/negishi/solve.gms index 9b4cd7142..de0e53e6c 100644 --- a/modules/80_optimization/negishi/solve.gms +++ b/modules/80_optimization/negishi/solve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/testOneRegi/bounds.gms b/modules/80_optimization/testOneRegi/bounds.gms index d1f70448e..f759d4feb 100644 --- a/modules/80_optimization/testOneRegi/bounds.gms +++ b/modules/80_optimization/testOneRegi/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/testOneRegi/datainput.gms b/modules/80_optimization/testOneRegi/datainput.gms index 7813acf93..e8b434056 100644 --- a/modules/80_optimization/testOneRegi/datainput.gms +++ b/modules/80_optimization/testOneRegi/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/testOneRegi/declarations.gms b/modules/80_optimization/testOneRegi/declarations.gms index fc5de79ce..dfd5bd91e 100644 --- a/modules/80_optimization/testOneRegi/declarations.gms +++ b/modules/80_optimization/testOneRegi/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/testOneRegi/equations.gms b/modules/80_optimization/testOneRegi/equations.gms index 39db727f7..ca5777abf 100644 --- a/modules/80_optimization/testOneRegi/equations.gms +++ b/modules/80_optimization/testOneRegi/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/testOneRegi/not_used.txt b/modules/80_optimization/testOneRegi/not_used.txt index 12a9e35d1..e6c220d21 100644 --- a/modules/80_optimization/testOneRegi/not_used.txt +++ b/modules/80_optimization/testOneRegi/not_used.txt @@ -1,10 +1,10 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de -name, type, reason +name,type,reason pm_pop, parameter, ??? vm_emiTe, variable, ??? sm_EJ_2_TWa, scalar, ??? @@ -16,7 +16,7 @@ cm_iteration_max, switch, ??? cm_abortOnConsecFail, switch, ??? cm_nash_mode, switch, not needed cm_nash_autoconverge, switch, ??? -cm_emiMktTarget_tolerance, switch, not needed +pm_emiMktTarget_tolerance, switch, not needed cm_implicitQttyTarget_tolerance,switch, not needed sm_eps, scalar, ??? pm_emissions0, parameter, ??? @@ -39,8 +39,6 @@ pm_nfa_start, input, questionnaire vm_dummyBudget, input, questionnaire vm_cesIO, variable, ??? cm_TaxConvCheck, variable, ?? -pm_taxCO2eq_iterationdiff, input, ?? -pm_taxCO2eq_iterationdiff_tmp, input, ?? sm_globalBudget_dev, input, ?? pm_factorRescaleemiMktCO2Tax, input, ?? pm_emiMktTarget, input, ?? @@ -65,3 +63,5 @@ pm_gmt_conv, parameter, ??? cm_tempConvergence, switch, not needed cm_LearningSpillover, input, learning spillover only implemented in nash pm_allTargetsConverged, parameter, only relevant for nash +pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff_tmp,input,added by codeCheck diff --git a/modules/80_optimization/testOneRegi/postsolve.gms b/modules/80_optimization/testOneRegi/postsolve.gms index 8ef735805..e7275a371 100644 --- a/modules/80_optimization/testOneRegi/postsolve.gms +++ b/modules/80_optimization/testOneRegi/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/testOneRegi/preloop.gms b/modules/80_optimization/testOneRegi/preloop.gms index 19ea0bf69..f43337a8b 100644 --- a/modules/80_optimization/testOneRegi/preloop.gms +++ b/modules/80_optimization/testOneRegi/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/testOneRegi/realization.gms b/modules/80_optimization/testOneRegi/realization.gms index 3775723b5..d45e43c66 100644 --- a/modules/80_optimization/testOneRegi/realization.gms +++ b/modules/80_optimization/testOneRegi/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/testOneRegi/sets.gms b/modules/80_optimization/testOneRegi/sets.gms index 7e1287895..3505be583 100644 --- a/modules/80_optimization/testOneRegi/sets.gms +++ b/modules/80_optimization/testOneRegi/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/testOneRegi/solve.gms b/modules/80_optimization/testOneRegi/solve.gms index 8986c0134..9c6e5210d 100644 --- a/modules/80_optimization/testOneRegi/solve.gms +++ b/modules/80_optimization/testOneRegi/solve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -7,7 +7,7 @@ *** SOF ./modules/80_optimization/testOneRegi/solve.gms hybrid.optfile = 9; -$IF %cm_quick_mode% == "on" hybrid.optfile = 4; +$IF %cm_quick_mode% == "on" hybrid.optfile = 6; ***reduce the problem to one region regi(all_regi) = NO; diff --git a/modules/81_codePerformance/module.gms b/modules/81_codePerformance/module.gms index 9e9b1a942..c91c11f37 100644 --- a/modules/81_codePerformance/module.gms +++ b/modules/81_codePerformance/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -9,7 +9,7 @@ *' @title Codeperformance *' *' @description The realization codeperformance can be used to test the performance of the model. test code performance: noumerous (30) succesive runs -*' performed in a triangle, tax0, tax30, tax150, all growing exponentially, therefore use carbonprice|exponential, c_emiscen|9, and cm_co2_tax_2020|0. +*' performed in a triangle, tax0, tax30, tax150, all growing exponentially. *' *' @authors Anastasis Giannousakis, Robert Pietzcker diff --git a/modules/81_codePerformance/off/realization.gms b/modules/81_codePerformance/off/realization.gms index 46b43ad40..4ee14816c 100644 --- a/modules/81_codePerformance/off/realization.gms +++ b/modules/81_codePerformance/off/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/81_codePerformance/on/datainput.gms b/modules/81_codePerformance/on/datainput.gms index 8dd779bde..2e6b718c3 100644 --- a/modules/81_codePerformance/on/datainput.gms +++ b/modules/81_codePerformance/on/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/81_codePerformance/on/declarations.gms b/modules/81_codePerformance/on/declarations.gms index ac01ccb74..61decbca8 100644 --- a/modules/81_codePerformance/on/declarations.gms +++ b/modules/81_codePerformance/on/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/81_codePerformance/on/postsolve.gms b/modules/81_codePerformance/on/postsolve.gms index 77b1075a7..b625c8e48 100644 --- a/modules/81_codePerformance/on/postsolve.gms +++ b/modules/81_codePerformance/on/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/81_codePerformance/on/presolve.gms b/modules/81_codePerformance/on/presolve.gms index 818bd9f81..da243c551 100644 --- a/modules/81_codePerformance/on/presolve.gms +++ b/modules/81_codePerformance/on/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -9,26 +9,15 @@ LOOP(run $(ord(run)<(c81_runs+1)), IF(MOD(ord(run)+2,3) EQ 0, -cm_co2_tax_2020 = 0; +cm_taxCO2_startyear = 0; ELSEIF MOD(ord(run)+2,3) EQ 1, -cm_co2_tax_2020 = 30; +cm_taxCO2_startyear = 30; ELSEIF MOD(ord(run)+2,3) EQ 2, -cm_co2_tax_2020 = 150; +cm_taxCO2_startyear = 150; ); -*** CO2 tax level is calculated at a 5% exponential increase from the 2020 tax level exogenously defined - -*GL: tax path in 10^12$/GtC = 1000 $/tC -*** according to Asian Modeling Excercise tax case setup, 30$/t CO2eq in 2020 = 0.110 k$/tC - -if(cm_co2_tax_2020 lt 0, -abort "please choose a valid cm_co2_tax_2020" -elseif cm_co2_tax_2020 ge 0, -*** cocnvert tax value from $/t CO2eq to T$/GtC -pm_taxCO2eq("2020",regi)= cm_co2_tax_2020 * sm_DptCO2_2_TDpGtC; -); - -pm_taxCO2eq(ttot,regi)$(ttot.val ge 2005) = pm_taxCO2eq("2020",regi)*cm_co2_tax_growth**(ttot.val-2020); +*** Globally uniform, exponentially increasing carbonprice starting from the tax level (exogenously defined above) in the start year +pm_taxCO2eq(t,regi) = cm_taxCO2_startyear * sm_DptCO2_2_TDpGtC * cm_taxCO2_expGrowth**(t.val-cm_startyear); pm_taxCO2eq("2005",regi)=0; display pm_taxCO2eq; diff --git a/modules/81_codePerformance/on/realization.gms b/modules/81_codePerformance/on/realization.gms index 392b91c3b..ddc9aac29 100644 --- a/modules/81_codePerformance/on/realization.gms +++ b/modules/81_codePerformance/on/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -8,7 +8,6 @@ *' @description BAU, tax30, and tax150 runs are set in a loop of 30 runs in total. -*' The realization needs the realization "exogenous" of the 45_carbonprice module *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "sets" $include "./modules/81_codePerformance/on/sets.gms" diff --git a/modules/81_codePerformance/on/sets.gms b/modules/81_codePerformance/on/sets.gms index 57ddbc5c4..8eb5ed5c6 100644 --- a/modules/81_codePerformance/on/sets.gms +++ b/modules/81_codePerformance/on/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/include.gms b/modules/include.gms index fe508b24b..05a624ee3 100644 --- a/modules/include.gms +++ b/modules/include.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/output.R b/output.R index c6ba5a401..e746cf5eb 100755 --- a/output.R +++ b/output.R @@ -1,5 +1,5 @@ #!/usr/bin/env Rscript -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -26,32 +26,51 @@ helpText <- " #' #' [options] can be the following flags: #' -#' --help, -h: show this help text and exit -#' --test, -t: tests output.R without actually starting any run -#' --renv= load the renv located at , incompatible with --update -#' --update update packages in renv first, incompatible with --renv= +#' --help, -h show this help text and exit +#' --test, -t tests output.R without actually starting any run +#' --update update packages in renv first, incompatible with --renv= #' #' [options] can also specify the following variables. If they are not specified #' but needed, the scripts will ask the user. #' -#' comp= comp=single means output for single runs (reporting, …) -#' comp=comparison means scripts to compare runs (compareScenarios2, …) -#' comp=export means scripts to export runs (xlsx_IIASA, …) -#' filename_prefix= string to be added to filenames by some output scripts -#' (compareScenarios, xlsx_IIASA) -#' output= output=compareScenarios2 directly selects the specific script -#' outputdir= Can be used to specify the output directories to be used. -#' Example: outputdir=./output/SSP2-Base-rem-1,./output/NDC-rem-1 -#' remind_dir= path to remind or output folder(s) where runs can be found. -#' Defaults to ./output but can also be used to specify multiple -#' folders, comma-separated, such as remind_dir=.,../otherremind -#' slurmConfig= use slurmConfig=priority, short or standby to specify slurm -#' selection. You may also pass complicated arguments such as -#' slurmConfig='--qos=priority --mem=8000' +#' --comp= comp=single means output for single runs +#' (e.g. reporting, ...) +#' comp=comparison means scripts to compare runs +#' (e.g. compareScenarios2, ...) +#' comp=export means scripts to export runs +#' (e..g xlsx_IIASA, ...) +#' +#' --filename_prefix= string to be added to filenames by some output scripts +#' (compareScenarios, xlsx_IIASA) +#' +#' --output= output=compareScenarios2 directly selects the specific +#' script +#' +#' --outputdir= Can be used to specify the output directories to be +#' used directly, bypassing run selection, as a +#' comma-separated list +#' (e.g. outputdir=./output/SSP2-Base-rem-1,./output/NDC-rem-1) +#' +#' --remind_dir= path to remind or output directories where runs can be +#' found. Defaults to ./output but can also be used to +#' specify multiple folders, comma-separated, such as +#' remind_dir=.,../otherremind +#' +#' --renv= load the renv located at , incompatible with +#' --update +#' +#' --slurmConfig= use slurmConfig=priority, short or standby to specify +#' slurm selection. You may also pass complicated +#' arguments such as slurmConfig='--qos=priority --mem=8000' " argv <- get0("argv", ifnotfound = commandArgs(trailingOnly = TRUE)) +if (any(c("-h", "--help") %in% argv)) { + message(gsub("#' ?", '', helpText)) + q() +} + # run updates before loading any packages if ("--update" %in% argv) { stopifnot(`--update must not be used together with --renv=...` = !any(startsWith(argv, "--renv="))) @@ -79,11 +98,6 @@ if (!exists("source_include")) { .flags = c(t = "--test", h = "--help")) } -if ("--help" %in% flags) { - message(gsub("#' ?", '', helpText)) - q() -} - choose_slurmConfig_output <- function(output) { slurm_options <- c("--qos=priority", "--qos=short", "--qos=standby", "--qos=priority --mem=8000", "--qos=short --mem=8000", @@ -99,6 +113,8 @@ choose_slurmConfig_output <- function(output) { slurm_options <- paste(slurm_options[1:3], "--mem=32000") } else if ("reporting" %in% output) { slurm_options <- grep("--mem=[0-9]*[0-9]{3}", slurm_options, value = TRUE) + } else if ("fixOnRef" %in% output && length(output) == 1) { + slurm_options <- c("direct", slurm_options) } if (length(slurm_options) == 1) { @@ -123,22 +139,31 @@ if (exists("source_include")) { comp <- "single" } else if (! exists("comp")) { modes <- c("single" = "Output for single run", "comparison" = "Comparison across runs", "export" = "Export", "exit" = "Exit") - comp <- names(modes)[which(chooseFromList(unname(modes), type = "output mode", multiple = FALSE, returnBoolean = TRUE))] + comp <- names(modes)[which(chooseFromList(unname(modes), type = "output mode", multiple = FALSE, returnBoolean = TRUE, userinfo = "Leave empty for 'single'."))] + if (length(comp) == 0) comp <- names(modes)[[1]] if (comp == "exit") q() } if (isFALSE(comp)) comp <- "single" # legacy from times only two comp modes existed if (isTRUE(comp)) comp <- "comparison" if (! exists("output")) { - modules <- gsub("\\.R$", "", grep("\\.R$", list.files(paste0("./scripts/output/", if (isFALSE(comp)) "single" else comp)), value = TRUE)) - output <- if (length(modules) == 1) modules else chooseFromList(modules, type = "modules to be used for output generation", addAllPattern = FALSE) + # search for R scripts in scripts/output subfolders + modules <- gsub("\\.R$", "", grep("\\.R$", list.files(paste0("./scripts/output/", comp)), value = TRUE)) + # if more than one option exists, let user choose + defaultoutput <- switch(comp, "single" = gms::readDefaultConfig(".")$output, "comparison" = "compareScenarios2", "export" = "xlsx_IIASA") + userinfo <- paste("Leave empty for", paste(defaultoutput, collapse = ", ")) + output <- if (length(modules) == 1) modules else chooseFromList(modules, type = "modules to be used for output generation", addAllPattern = FALSE, userinfo = userinfo) + if (length(output) == 0) output <- defaultoutput + # move "reporting" to first position, if it exists + output <- c(if ("reporting" %in% output) "reporting", output[! output %in% "reporting"]) } # Select output directories if not defined by readArgs if (! exists("outputdir")) { modulesNeedingMif <- c("compareScenarios2", "xlsx_IIASA", "policyCosts", "Ariadne_output", - "plot_compare_iterations", "varListHtml", "fixOnRef", "MAGICC7_AR6") - needingMif <- any(modulesNeedingMif %in% output) + "plot_compare_iterations", "varListHtml", "fixOnRef", "MAGICC7_AR6", + "validateScenarios", "checkClimatePercentiles", "selectPlots") + needingMif <- any(modulesNeedingMif %in% output) && ! "reporting" %in% output[[1]] if (exists("remind_dir")) { dir_folder <- c(file.path(remind_dir, "output"), remind_dir) } else { @@ -172,7 +197,7 @@ if (! exists("outputdir")) { if (comp %in% c("comparison", "export")) { # ask for filename_prefix, if one of the modules that use it is selected - modules_using_filename_prefix <- c("compareScenarios2", "xlsx_IIASA", "varListHtml") + modules_using_filename_prefix <- c("compareScenarios2", "xlsx_IIASA", "varListHtml", "selectPlots") if (!exists("filename_prefix")) { if (any(modules_using_filename_prefix %in% output)) { filename_prefix <- choose_filename_prefix(modules = intersect(modules_using_filename_prefix, output)) @@ -182,7 +207,7 @@ if (comp %in% c("comparison", "export")) { } # choose the slurm options. If you use command line arguments, use slurmConfig=priority or standby - modules_using_slurmConfig <- c("compareScenarios2") + modules_using_slurmConfig <- c("compareScenarios2", "validateScenarios") if (!exists("slurmConfig") && any(modules_using_slurmConfig %in% output)) { slurmConfig <- choose_slurmConfig_output(output = output) } @@ -203,7 +228,7 @@ if (comp %in% c("comparison", "export")) { if ("--test" %in% flags) { message("Test mode, not executing ", paste0("scripts/output/", comp, "/", name)) } else { - message(paste("Executing", name)) + message("\n\n## Executing ", name) tmp.env <- new.env() tmp.error <- try(sys.source(paste0("scripts/output/", comp, "/", name), envir = tmp.env)) rm(tmp.env) @@ -216,27 +241,29 @@ if (comp %in% c("comparison", "export")) { } } else { # comp = single # define slurm class or direct execution - outputInteractive <- c("plotIterations", "fixOnRef", "integratedDamageCosts") + outputInteractive <- c("plotIterations", "integratedDamageCosts") if (! exists("source_include")) { if (any(output %in% outputInteractive)) { slurmConfig <- "direct" - flags <- c(flags, "--interactive") # to tell scripts they can run in interactive mode } # if this script is not being sourced by another script but called from the command line via Rscript let the user # choose the slurm options if (!exists("slurmConfig")) { slurmConfig <- choose_slurmConfig_output(output = output) - if (slurmConfig != "direct") slurmConfig <- combine_slurmConfig("--nodes=1 --tasks-per-node=1", slurmConfig) + if (slurmConfig != "direct") slurmConfig <- combine_slurmConfig("--nodes=1 --tasks-per-node=1 --time=120", slurmConfig) } if (slurmConfig %in% c("priority", "short", "standby")) { - slurmConfig <- paste0("--qos=", slurmConfig, " --nodes=1 --tasks-per-node=1") + slurmConfig <- paste0("--nodes=1 --tasks-per-node=1 --qos=", slurmConfig) + } + if (isTRUE(slurmConfig %in% "direct")) { + flags <- c(flags, "--interactive") # to tell scripts they can run in interactive mode } } else { # if being sourced by another script execute the output scripts directly without sending them to the cluster slurmConfig <- "direct" } - # Execute outputscripts for all choosen folders + # Execute outputscripts for all chosen folders for (outputdir in outputdirs) { if (exists("cfg")) { @@ -302,7 +329,7 @@ if (comp %in% c("comparison", "export")) { logfile <- file.path(outputdir, "log_output.txt") Rscripts <- paste0("Rscript scripts/output/single/", name, " outputdir=", outputdir, collapse = "; ") slurmcmd <- paste0("sbatch ", slurmConfig, " --job-name=", logfile, " --output=", logfile, - " --mail-type=END --comment=output.R --wrap='", Rscripts, "'") + " --mail-type=END,FAIL --comment=output.R --wrap='", Rscripts, "'") message("Sending to slurm: ", paste(name, collapse = ", "), ". Find log in ", logfile) system(slurmcmd) } diff --git a/requirements.txt b/requirements.txt index 9ae977715..2f7388301 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -6,4 +6,4 @@ # | Contact: remind@pik-potsdam.de climate-assessment netcdf4 -pandas<2 \ No newline at end of file +pandas<2 diff --git a/scripts/cs2/MAGICC7_AR6.Rmd b/scripts/cs2/MAGICC7_AR6.Rmd index b0e9c3e62..80ec6a7cc 100644 --- a/scripts/cs2/MAGICC7_AR6.Rmd +++ b/scripts/cs2/MAGICC7_AR6.Rmd @@ -1,5 +1,5 @@ When done press ENTER to commit, push and create PR") + gms::getLine() + + gert::git_commit("merge master into develop") + gert::git_push() + # gh pr create --help + # --base branch The branch into which you want your code merged + # --head branch The branch that contains commits for your pull request (default [current branch]) + system(paste0("gh pr create --base develop --title 'merge master into develop' --body ''")) +} + +postRelease() +message("warnings:") +print(warnings()) + diff --git a/scripts/utils/release.R b/scripts/utils/release.R new file mode 100644 index 000000000..2ff4cc21c --- /dev/null +++ b/scripts/utils/release.R @@ -0,0 +1,99 @@ +# This script is part of a longer workflow. +# Before running this script please perform the steps described here +# https://gitlab.pik-potsdam.de/REMIND/remind-rse/-/wikis/How-to-create-a-REMIND-release + +# in your fork switch to temporary branch (e.g. release-candidate) and +# execute this script in the main folder Rscript scripts/utils/release.R x.y.z + +release <- function(newVersion) { + if (Sys.which("sbatch") == "") { + stop("release must be created on cluster") + } + + releaseDate <- format(Sys.time(), "%Y-%m-%d") + + # Get old version from CITATION.cff + oldVersion <- readLines("CITATION.cff") |> + grep(pattern = "^version: (.*)$", value = TRUE) |> + sub(pattern = "^version: (.*)$", replacement = "\\1") |> + sub(pattern = "dev", replacement = "") + + # Update CHANGELOG.md + githubUrl <- "https://github.com/remindmodel/remind/compare/" + readLines("CHANGELOG.md") |> + # Add version and date of new release + sub(pattern = "## [Unreleased]", replacement = paste0("## [", newVersion, "] - ", releaseDate), fixed = TRUE) |> + # Add two lines with github links that compare versions + sub(pattern = paste0("\\[Unreleased\\]: ", githubUrl, "v(.+)\\.\\.\\.develop"), + replacement = paste0("[Unreleased]: ", githubUrl, "v", newVersion, "...develop\n", + "[", newVersion, "]: ", githubUrl, "v\\1...v", newVersion)) |> + writeLines("CHANGELOG.md") + + # Update version and release date in CITATION.cff + readLines("CITATION.cff") |> + sub(pattern = "^version:.*$", replacement = paste("version:", newVersion)) |> + sub(pattern = "^date-released:.*$", replacement = paste("date-released:", releaseDate)) |> + writeLines("CITATION.cff") + + # Update version in README.md + readLines("README.md") |> + gsub(pattern = oldVersion, replacement = newVersion) |> + writeLines("README.md") + + # Create documentation + message("creating documentation using goxygen...") + goxygen::goxygen(unitPattern = c("\\[","\\]"), + includeCore = TRUE, + output = "html", + max_num_edge_labels = "adjust", + max_num_nodes_for_edge_labels = 15, + startType = NULL) + + # Upload html documentation to RSE server + message("uploading documentation to RSE server") + exitCode <- system(paste0("rsync -e ssh -avz doc/html/* ", + "rse@rse.pik-potsdam.de:/webservice/doc/remind/", newVersion)) + stopifnot(exitCode == 0) + + # Upload input data to RSE server + message("Uploading input data to RSE server") + source("config/default.cfg") + cfg <- defineInputData(cfg) + # Keep mandatory input files only + cfg$input <- cfg$input[cfg$stopOnMissing] + gms::publish_data(cfg,target = "dataupload@rse.pik-potsdam.de:/remind/public") + + message("If not already done please perform the two following steps manually now:\n", + "1. CHANGELOG.md: sort lines in each category: input data/calibration, changed, added, removed, fixed; remove empty categories\n", + "2. git add -p\n", + "--> When done press ENTER to commit, push and create PR") + gms::getLine() + + message("Committing and pushing changes") + gert::git_commit(paste("remind release", newVersion)) + gert::git_push() + + message("Creating tag") + tag <- paste0("v",newVersion) + gert::git_tag_create(name = tag, message = "new tag", repo = ".") + gert::git_tag_push(name = tag, repo = ".") + + message("Creating a PR on GitHub") + # gh pr create --help + # --base branch The branch into which you want your code merged + # --head branch The branch that contains commits for your pull request (default [current branch]) + system(paste0("gh pr create --base master --title 'remind release ", newVersion, "' --body ''")) +} + +# Source function definition of defineInputData() +source("scripts/start/defineInputData.R") + +# Ask user for release version +arguments <- commandArgs(TRUE) +if (length(arguments) != 1) { + stop("Please pass the new version number, e.g. `Rscript scripts/utils/release.R 0.8.15`") +} + +release(arguments) +message("warnings:") +print(warnings()) diff --git a/scripts/utils/set-local-calibration/collect_calibration b/scripts/utils/set-local-calibration/collect_calibration index e382699e4..4a3905cfc 100644 --- a/scripts/utils/set-local-calibration/collect_calibration +++ b/scripts/utils/set-local-calibration/collect_calibration @@ -21,7 +21,8 @@ new CES parameters and GDX files # add descriptions for parameter sources as needed # comments starting with '#' are ignored -# quit the editor without saving to abort the commit (use \`:cq\` in vim) +# to confirm the commit, save the file (use \`:wq\` in vim) +# to abort the commit, quit the editor without saving (use \`:cq\` in vim) parameters based on calibrations:" > commit-message.txt @@ -73,8 +74,7 @@ do fi done -# if there where errors during copying, show the user the files that where -# staged +# if there where errors during copying, show staged files to the user if [ 0 -ne $(( all_errors )) ] then echo " " diff --git a/scripts/utils/set-local-calibration/post-commit b/scripts/utils/set-local-calibration/post-commit index d0b1ac965..9439d6c09 100644 --- a/scripts/utils/set-local-calibration/post-commit +++ b/scripts/utils/set-local-calibration/post-commit @@ -85,6 +85,26 @@ else git branch -vv | grep -q "^\* .* [0-9a-f]\+ \[.*\]" && git push # report hash - echo -e "\n'CESandGDXversion' to include in REMIND configuration:" \ - "$commit_hash\n" + echo -e "\n'CESandGDXversion' to include in REMIND configuration: $commit_hash" + + # if default.cfg is easy to find, paste hash there automatically + configFile=../config/default.cfg + configRegex='^cfg.CESandGDXversion .*' + if [ -f $configFile ] && oldLine=$(grep -E "$configRegex" $configFile) && [[ $oldLine ]] + then + echo -e "File $configFile currently contains:\n\t$oldLine" + + # ask confirmation to user (https://stackoverflow.com/a/54866905/8072168) + read -p "Do you want to update it automatically with the new hash (Y/n)? " -n 1 -r < /dev/tty + echo + if echo $REPLY | grep '^[Yy]\?$' > /dev/null + then + newLine='cfg$CESandGDXversion <- "'"${commit_hash}"'"' + # replace old hash by new hash + sed --in-place "s/$configRegex/$newLine/" $configFile + echo -e "File $configFile now contains:\n\t$(grep -E "$configRegex" $configFile)" + else + echo "Please manually set 'CESandGDXversion' to: $commit_hash" + fi + fi fi diff --git a/scripts/vs/run_validateScenarios.R b/scripts/vs/run_validateScenarios.R new file mode 100644 index 000000000..ca07d277c --- /dev/null +++ b/scripts/vs/run_validateScenarios.R @@ -0,0 +1,27 @@ +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de + +library(piamValidation) + +lucode2::readArgs("outputDirs", "validationConfig") + +# working directory is assumed to be the remind directory +outputDirs <- normalizePath(outputDirs, mustWork = TRUE) +mifPath <- remind2::getMifScenPath(outputDirs, mustWork = TRUE) +histPath <- remind2::getMifHistPath(outputDirs[1], mustWork = TRUE) + +# option 1: HTML validation Report +piamValidation::validationReport(c(mifPath, histPath), validationConfig) + +# option 3: export data (TODO: file location + name) +valiData <- piamValidation::validateScenarios(c(mifPath, histPath), validationConfig) +cat(getwd()) + +# option 2: pass or fail? +piamValidation::validationPass(valiData) + + diff --git a/standalone/MOFEX/MOFEX.gms b/standalone/MOFEX/MOFEX.gms index bb5eba53a..aad9d7d0a 100644 --- a/standalone/MOFEX/MOFEX.gms +++ b/standalone/MOFEX/MOFEX.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -124,8 +124,8 @@ c_solver_try_max "maximum number of inner iterations within one Negishi ite c_keep_iteration_gdxes "save intermediate iteration gdxes" cm_nash_autoconverge "choice of nash convergence mode" cm_emiscen "policy scenario choice" -cm_co2_tax_2020 "level of co2 tax in year 2020 in $ per t CO2eq, makes sense only for emiscen eq 9 and 45_carbonprice exponential" -cm_co2_tax_growth "growth rate of carbon tax" +cm_taxCO2_startyear "level of co2 tax in start year in $ per t CO2eq" +cm_taxCO2_expGrowth "growth rate of carbon tax" c_macscen "use of mac" cm_nucscen "nuclear option choice" cm_ccapturescen "carbon capture option choice" @@ -189,8 +189,8 @@ cm_frac_NetNegEmi "tax on net negative emissions to reflect risk of overshoot cm_DiscRateScen "Scenario for the implicit discount rate applied to the energy efficiency capital" c_peakBudgYr "date of net-zero CO2 emissions for peak budget runs without overshoot" -c_taxCO2inc_after_peakBudgYr "annual increase of CO2 price after the Peak Budget Year in $ per tCO2" -cm_CO2priceRegConvEndYr "Year at which regional CO2 prices converge in module 45 realization diffCurvPhaseIn2Lin" +cm_taxCO2_IncAfterPeakBudgYr "annual increase of CO2 price after the Peak Budget Year in $ per tCO2" +cm_taxCO2_regiDiff_endYr "Year at which regional CO2 taxes converge in module 45 for realizations with differentiated carbon prices" c_regi_nucscen "regions to apply nucscen to" c_regi_capturescen "region to apply ccapturescen to" c_regi_synfuelscen "region to apply synfuelscen to" @@ -200,7 +200,6 @@ cm_biotrade_phaseout "switch for phaseing out biomass trade in the respec cm_bioprod_histlim "regional parameter to limit biomass (pebiolc.1) production to a multiple of the 2015 production" cm_flex_tax "switch for enabling flexibility tax" cm_H2targets "switches on capacity targets for electrolysis in NDC techpol following national Hydrogen Strategies" -cm_PriceDurSlope_elh2 "slope of price duration curve of electrolysis" cm_FlexTaxFeedback "switch deciding whether flexibility tax feedback on buildings and industry electricity prices is on" cm_VRE_supply_assumptions "default (0), optimistic (1), sombre (2), or bleak (3) assumptions on VRE supply" cm_build_H2costAddH2Inv "additional h2 distribution costs for low diffusion levels (default value: 6.5$/ 100 /Kwh)" @@ -243,8 +242,8 @@ $setglobal cm_MAgPIE_coupling off !! def = "off" cm_emiscen = 1; !! def = 1 $setglobal cm_rcp_scen none !! def = "none" -cm_co2_tax_2020 = -1; !! def = -1 -cm_co2_tax_growth = 1.05; !! def = 1.05 +cm_taxCO2_startyear = -1; !! def = -1 +cm_taxCO2_expGrowth = 1.05; !! def = 1.05 c_macscen = 1; !! def = 1 cm_nucscen = 2; !! def = 2 @@ -319,8 +318,8 @@ $setGlobal cm_emiMktTarget off !! def = off cm_postTargetIncrease = 0; !! def = 0 $setGlobal cm_quantity_regiCO2target off !! def = off c_peakBudgYr = 2050; !! def = 2050 -c_taxCO2inc_after_peakBudgYr = 2; !! def = 2 -cm_CO2priceRegConvEndYr = 2050; !! def = 2050 +cm_taxCO2_IncAfterPeakBudgYr = 2; !! def = 2 +cm_taxCO2_regiDiff_endYr = 2050; !! def = 2050 $setGlobal cm_NucRegiPol off !! def = off $setGlobal cm_CoalRegiPol off !! def = off @@ -365,9 +364,10 @@ $setGlobal cm_import_EU off !! def off *** flex tax switches cm_flex_tax = 0; !! def 0 -cm_PriceDurSlope_elh2 = 20; !! def 10 +$setGlobal cm_PriceDurSlope_elh2 GLO 15 !! def = GLO 15 cm_FlexTaxFeedback = 0; !! def 0 + *** VRE switch cm_VRE_supply_assumptions = 0; !! 0 - default, 1 - optimistic, 2 - sombre, 3 - bleak @@ -479,8 +479,6 @@ $setglobal cm_feShareLimits off !! def = off $setglobal c_fuelprice_init off !! def = off $setglobal cm_seTradeScenario off !! def = off -$setglobal cm_wind_offshore 0 !! def = 0 - *** -------------------------------------------------------------------------------------------------------------------------------------------------------------------- *** -------------------------------------------------------------------------------------------------------------------------------------------------------------------- *** END OF WARNING ZONE diff --git a/standalone/MOFEX/config/scenario_config_MOFEX.csv b/standalone/MOFEX/config/scenario_config_MOFEX.csv index 4930de2c4..8fb77dfa4 100644 --- a/standalone/MOFEX/config/scenario_config_MOFEX.csv +++ b/standalone/MOFEX/config/scenario_config_MOFEX.csv @@ -1,4 +1,4 @@ -title;start;cm_iteration_max;cm_MOFEX;fossil;regionmapping;cm_coal_scen;cm_gas_scen;cm_oil_scen;cm_rcp_scen;cm_iterative_target_adj;c_budgetCO2;carbonprice;cm_co2_tax_2020;cm_co2_tax_growth;cm_emiscen;techpol;cm_multigasscen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;revision;model;output +title;start;cm_iteration_max;cm_MOFEX;fossil;regionmapping;cm_coal_scen;cm_gas_scen;cm_oil_scen;cm_rcp_scen;cm_iterative_target_adj;c_budgetCO2;carbonprice;cm_co2_tax_startyear;cm_co2_tax_growth;cm_emiscen;techpol;cm_multigasscen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;revision;model;output Base;0;1;off;timeDepGrades;./config/regionmappingH12.csv;;;;none;0;0;none;-1;1.05;1;none;2;2005;./config/input.gdx;;;;; NDC;0;1;;;./config/regionmappingH12.csv;;;;rcp45;3;0;NDC;1;1.05;9;NDC;3;2015;./config/input.gdx;Base;Base;;; NPi;0;1;;;./config/regionmappingH12.csv;;;;rcp45;3;0;NPi;1;1.05;9;NPi2018;3;2025;./config/input.gdx;NDC;Base;;; diff --git a/standalone/MOFEX/scripts/reporting_MOFEX.R b/standalone/MOFEX/scripts/reporting_MOFEX.R index 0fb9b8af4..9682fdaca 100644 --- a/standalone/MOFEX/scripts/reporting_MOFEX.R +++ b/standalone/MOFEX/scripts/reporting_MOFEX.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -32,7 +32,6 @@ scenario <- getScenNames(outputdir) ############################################################################### # paths of the reporting files remind_reporting_file <- file.path(outputdir,paste0("MOFEX_",scenario,".mif")) -# magicc_reporting_file <- file.path(outputdir,paste0("REMIND_climate_", scenario, ".mif")) # LCOE_reporting_file <- file.path(outputdir,paste0("REMIND_LCOE_", scenario, ".mif")) # produce REMIND reporting *.mif based on gdx information diff --git a/standalone/template.gms b/standalone/template.gms index e1c7e0172..79bc03ef1 100644 --- a/standalone/template.gms +++ b/standalone/template.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -124,8 +124,8 @@ cm_solver_try_max "maximum number of inner iterations within one Negishi it c_keep_iteration_gdxes "save intermediate iteration gdxes" cm_nash_autoconverge "choice of nash convergence mode" cm_emiscen "policy scenario choice" -cm_co2_tax_2020 "level of co2 tax in year 2020 in $ per t CO2eq, makes sense only for emiscen eq 9 and 45_carbonprice exponential" -cm_co2_tax_growth "growth rate of carbon tax" +cm_taxCO2_startyear "level of co2 tax in start year in $ per t CO2eq" +cm_taxCO2_expGrowth "growth rate of carbon tax" c_macscen "use of mac" cm_nucscen "nuclear option choice" cm_ccapturescen "carbon capture option choice" @@ -197,8 +197,8 @@ $setglobal cm_MAgPIE_coupling off !! def = "off" cm_emiscen = 1; !! def = 1 $setglobal cm_rcp_scen none !! def = "none" -cm_co2_tax_2020 = -1; !! def = -1 -cm_co2_tax_growth = 1.05; !! def = 1.05 +cm_taxCO2_startyear = -1; !! def = -1 +cm_taxCO2_expGrowth = 1.05; !! def = 1.05 c_macscen = 1; !! def = 1 cm_nucscen = 2; !! def = 2 diff --git a/standalone/trade/trade.gms b/standalone/trade/trade.gms index 271c26a91..5f202352e 100644 --- a/standalone/trade/trade.gms +++ b/standalone/trade/trade.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the @@ -128,8 +128,8 @@ c_solver_try_max "maximum number of inner iterations within one Negishi ite c_keep_iteration_gdxes "save intermediate iteration gdxes" cm_nash_autoconverge "choice of nash convergence mode" cm_emiscen "policy scenario choice" -cm_co2_tax_2020 "level of co2 tax in year 2020 in $ per t CO2eq, makes sense only for emiscen eq 9 and 45_carbonprice exponential" -cm_co2_tax_growth "growth rate of carbon tax" +cm_taxCO2_startyear "level of co2 tax in start year in $ per t CO2eq" +cm_taxCO2_expGrowth "growth rate of carbon tax" c_macscen "use of mac" cm_nucscen "nuclear option choice" cm_ccapturescen "carbon capture option choice" @@ -193,8 +193,8 @@ cm_frac_NetNegEmi "tax on net negative emissions to reflect risk of overshoot cm_DiscRateScen "Scenario for the implicit discount rate applied to the energy efficiency capital" c_peakBudgYr "date of net-zero CO2 emissions for peak budget runs without overshoot" -c_taxCO2inc_after_peakBudgYr "annual increase of CO2 price after the Peak Budget Year in $ per tCO2" -cm_CO2priceRegConvEndYr "Year at which regional CO2 prices converge in module 45 realization diffCurvPhaseIn2Lin" +cm_taxCO2_IncAfterPeakBudgYr "annual increase of CO2 price after the Peak Budget Year in $ per tCO2" +cm_taxCO2_regiDiff_endYr "Year at which regional CO2 taxes converge in module 45 for realizations with differentiated carbon prices" c_regi_nucscen "regions to apply nucscen to" c_regi_capturescen "region to apply ccapturescen to" c_regi_synfuelscen "region to apply synfuelscen to" @@ -204,7 +204,6 @@ cm_biotrade_phaseout "switch for phaseing out biomass trade in the respec cm_bioprod_histlim "regional parameter to limit biomass (pebiolc.1) production to a multiple of the 2015 production" cm_flex_tax "switch for enabling flexibility tax" cm_H2targets "switches on capacity targets for electrolysis in NDC techpol following national Hydrogen Strategies" -cm_PriceDurSlope_elh2 "slope of price duration curve of electrolysis" cm_FlexTaxFeedback "switch deciding whether flexibility tax feedback on buildings and industry electricity prices is on" cm_VRE_supply_assumptions "default (0), optimistic (1), sombre (2), or bleak (3) assumptions on VRE supply" cm_build_H2costAddH2Inv "additional h2 distribution costs for low diffusion levels (default value: 6.5$/ 100 /Kwh)" @@ -247,8 +246,8 @@ $setglobal cm_MAgPIE_coupling off !! def = "off" cm_emiscen = 1; !! def = 1 $setglobal cm_rcp_scen none !! def = "none" -cm_co2_tax_2020 = -1; !! def = -1 -cm_co2_tax_growth = 1.05; !! def = 1.05 +cm_taxCO2_startyear = -1; !! def = -1 +cm_taxCO2_expGrowth = 1.05; !! def = 1.05 c_macscen = 1; !! def = 1 cm_nucscen = 2; !! def = 2 @@ -324,8 +323,8 @@ $setGlobal cm_emiMktTarget off !! def = off cm_postTargetIncrease = 0; !! def = 0 $setGlobal cm_quantity_regiCO2target off !! def = off c_peakBudgYr = 2050; !! def = 2050 -c_taxCO2inc_after_peakBudgYr = 2; !! def = 2 -cm_CO2priceRegConvEndYr = 2050; !! def = 2050 +cm_taxCO2_IncAfterPeakBudgYr = 2; !! def = 2 +cm_taxCO2_regiDiff_endYr = 2050; !! def = 2050 $setGlobal cm_NucRegiPol off !! def = off $setGlobal cm_CoalRegiPol off !! def = off @@ -372,7 +371,7 @@ $setGlobal cm_import_EU off !! def off *** flex tax switches cm_flex_tax = 0; !! def 0 -cm_PriceDurSlope_elh2 = 20; !! def 10 +$setGlobal cm_PriceDurSlope_elh2 GLO 15 !! def = GLO 15 cm_FlexTaxFeedback = 0; !! def 0 *** VRE switch @@ -484,7 +483,6 @@ $setglobal cm_feShareLimits off !! def = off $setglobal c_fuelprice_init off !! def = off $setglobal cm_seTradeScenario off !! def = off -$setglobal cm_wind_offshore 0 !! def = 0 *** -------------------------------------------------------------------------------------------------------------------------------------------------------------------- *** -------------------------------------------------------------------------------------------------------------------------------------------------------------------- *** END OF WARNING ZONE diff --git a/start.R b/start.R index d88797030..903e581b2 100755 --- a/start.R +++ b/start.R @@ -1,5 +1,5 @@ #!/usr/bin/env Rscript -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -251,7 +251,7 @@ if (any(c("--reprepare", "--restart") %in% flags)) { if (! exists("slurmConfig") & (any(c("--debug", "--quick", "--testOneRegi") %in% flags) | ! "slurmConfig" %in% names(scenarios) || any(is.na(scenarios$slurmConfig)))) { slurmConfig <- choose_slurmConfig(flags = flags) - if ("--quick" %in% flags) slurmConfig <- combine_slurmConfig(slurmConfig, "--time=60") + if ("--quick" %in% flags && ! slurmConfig == "direct") slurmConfig <- combine_slurmConfig(slurmConfig, "--time=60") if (any(c("--debug", "--quick", "--testOneRegi") %in% flags) && ! length(config.file) == 0) { message("\nYour slurmConfig selection will overwrite the settings in your scenario_config file.") } @@ -301,10 +301,6 @@ if (any(c("--reprepare", "--restart") %in% flags)) { cfg$slurmConfig <- slurmConfig if (testOneRegi_region != "") cfg$gms$c_testOneRegi_region <- testOneRegi_region } - # Make sure all python requirements are installed - if (cfg$pythonEnabled == "on") { - piamenv::updatePythonVirtualEnv() - } # Directly start runs that have a gdx file location given as path_gdx... or where this field is empty gdx_specified <- grepl(".gdx", cfg$files2export$start[path_gdx_list], fixed = TRUE) gdx_na <- is.na(cfg$files2export$start[path_gdx_list]) diff --git a/start_bundle_coupled.R b/start_bundle_coupled.R index cf6f179f8..f68040a3b 100755 --- a/start_bundle_coupled.R +++ b/start_bundle_coupled.R @@ -1,5 +1,5 @@ #!/usr/bin/env Rscript -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -52,7 +52,7 @@ helpText <- " # Please provide all files and paths relative to the folder where start_coupled is executed path_remind <- getwd() # provide path to REMIND. Default: the actual path which the script is started from path_magpie <- normalizePath(file.path(getwd(), "magpie"), mustWork = FALSE) -if (! dir.exists(path_magpie)) path_magpie <- normalizePath(file.path(getwd(), "..", "magpie")) +if (! dir.exists(path_magpie)) path_magpie <- normalizePath(file.path(getwd(), "..", "magpie"), mustWork = FALSE) # Paths to the files where scenarios are defined # path_settings_remind contains the detailed configuration of the REMIND scenarios @@ -93,19 +93,6 @@ run_compareScenarios <- "short" # use an empty magpie model (just reproduces the latest AMT results) magpie_empty <- FALSE -######################################################################################################## -################################# install magpie dependencies ######################################## -######################################################################################################## -if (!is.null(renv::project())) { - magpieDeps <- renv::dependencies(path_magpie) - installedPackages <- installed.packages()[, "Package"] - missingDeps <- setdiff(unique(magpieDeps$Package), installedPackages) - if (length(missingDeps) > 0) { - message("Installing missing MAgPIE dependencies ", paste(missingDeps, collapse = ", ")) - renv::install(missingDeps) - } -} - ######################################################################################################## ################################# load command line arguments ######################################## ######################################################################################################## @@ -154,6 +141,8 @@ dir.create(file.path(path_magpie, "output"), showWarnings = FALSE) ensureRequirementsInstalled(rerunPrompt = "start_bundle_coupled.R") +piamenv::installDeps(path_magpie) + errorsfound <- 0 startedRuns <- NULL finishedRuns <- NULL @@ -368,6 +357,7 @@ for(scen in common){ cfg_rem <- cfg rm(cfg) cfg_rem$title <- scen + cfg_rem$files2export$start <- c(cfg_rem$files2export$start, path_settings_coupled, path_settings_remind) rem_filesstart <- cfg_rem$files2export$start # save to reset it to that later source(file.path(path_magpie, "config", "default.cfg")) # retrieve MAgPIE settings @@ -375,11 +365,38 @@ for(scen in common){ rm(cfg) cfg_mag$title <- scen - # configure MAgPIE according to magpie_scen (scenario needs to be available in scenario_config.cfg) - if(!is.null(scenarios_coupled[scen, "magpie_scen"])) { - cfg_mag <- setScenario(cfg_mag, c(trimws(unlist(strsplit(scenarios_coupled[scen, "magpie_scen"], split = ",|\\|"))), "coupling"), - scenario_config = file.path(path_magpie, "config", "scenario_config.csv")) + # extract columns from coupled config that define magpie scenarios + # the column must be named 'magpie_scen' (then the default config/scenario_config.csv will be loaded) + # or they have to have the path to a scenario_config*.csv as their name + magpieScenarios <- scenarios_coupled[scen, grepl("scenario_config|magpie_scen", colnames(scenarios_coupled)), drop = FALSE] + + # configure MAgPIE using the scenarios extracted above + if (nrow(magpieScenarios) > 0) { + for (i in seq_len(ncol(magpieScenarios))) { + pathToScenarioConfig <- colnames(magpieScenarios)[i] + # backwards compatibility: if the column name is 'magpie_scen' use the 'config/scenario_config.csv' + pathToScenarioConfig <- ifelse(pathToScenarioConfig == "magpie_scen", "config/scenario_config.csv", pathToScenarioConfig) + scenarioList <- magpieScenarios[,i] + if(!is.na(scenarioList)) { + cfg_mag <- setScenario(cfg_mag, trimws(unlist(strsplit(scenarioList, split = ",|\\|"))), + scenario_config = file.path(path_magpie, pathToScenarioConfig)) + } + } } + + # always select 'coupling' scenario + cfg_mag <- setScenario(cfg_mag, "coupling", scenario_config = file.path(path_magpie, "config", "scenario_config.csv")) + + # extract magpie switches from coupled config, replace NA otherwise setScenario complains + magpieSwitches <- scenarios_coupled %>% select(contains("cfg_mag")) %>% t() %>% as.data.frame() %>% replace(is.na(.), "") + + # configure MAgPIE according to individual switches provided in scenario_config_coupled*.csv + if (nrow(magpieSwitches) > 0) { + # remove prefix "cfg_mag$" from switch names to yield original MAgPIE names + row.names(magpieSwitches) <- gsub("cfg_mag\\$", "", row.names(magpieSwitches)) + cfg_mag <- setScenario(cfg_mag, scen, scenario_config = magpieSwitches) + } + cfg_mag <- check_config(cfg_mag, reference_file=file.path(path_magpie, "config", "default.cfg"), modulepath = file.path(path_magpie, "modules")) @@ -392,13 +409,25 @@ for(scen in common){ cfg_mag$mute_ghgprices_until <- scenarios_coupled[scen, "no_ghgprices_land_until"] } + # Write choice of land-use change variable to config. Use smoothed variable + # if not specified otherwise in coupled config, i.e. if the column is missing + # completely or if the row entry is empty. + if (! "var_luc" %in% names(scenarios_coupled) || is.na(scenarios_coupled[scen, "var_luc"])) { + cfg_rem$var_luc <- "smooth" + } else if (scenarios_coupled[scen, "var_luc"] %in% c("smooth", "raw")) { + cfg_rem$var_luc <- scenarios_coupled[scen, "var_luc"] + } else { + stop(paste0("Unkown setting in coupled config file for 'var_luc': `", scenarios_coupled[scen, "var_luc"], "`. Please chose either `smooth` or `raw`")) + } + # Edit remind main model file, region settings and input data revision based on scenarios table, if cell non-empty - for (switchname in intersect(c("model", "regionmapping", "extramappings_historic", "inputRevision"), names(settings_remind))) { + cfg_rem_options <- c("model", "regionmapping", "extramappings_historic", "inputRevision", setdiff(names(cfg_rem), c("gms", "output"))) + for (switchname in intersect(cfg_rem_options, names(settings_remind))) { if ( ! is.na(settings_remind[scen, switchname] )) { cfg_rem[[switchname]] <- settings_remind[scen, switchname] } } - + # Set reporting scripts if ("output" %in% names(settings_remind) && ! is.na(settings_remind[scen, "output"])) { scenoutput <- gsub('c\\("|\\)|"', '', trimws(unlist(strsplit(settings_remind[scen, "output"], split = ',')))) @@ -515,7 +544,7 @@ for(scen in common){ cfg_rem$files2export$start["input.gdx"] <- paste0(runname, "-rem-", i-1) } } - + # If the preceding run has already finished (= its gdx file exist) start # the current run immediately. This might be the case e.g. if you started # the NDC run in a first batch and now want to start the subsequent policy @@ -523,7 +552,7 @@ for(scen in common){ if (i == start_iter_first && ! start_now && all(file.exists(cfg_rem$files2export$start[path_gdx_list]) | unlist(gdx_na))) { start_now <- TRUE } - + foldername <- file.path("output", fullrunname) if ((i > start_iter_first || !scenarios_coupled[scen, "start_magpie"]) && file.exists(foldername)) { if (errorsfound == 0 && ! any(c("--test", "--gamscompile") %in% flags)) { @@ -583,6 +612,7 @@ for(scen in common){ } message("path_report : ",ifelse(file.exists(path_report),green,red), path_report, NC) message("no_ghgprices_land_until: ", cfg_mag$gms$c56_mute_ghgprices_until) + message("var_luc: ", cfg_rem$var_luc) if ("--gamscompile" %in% flags) { message("Compiling ", fullrunname) @@ -637,8 +667,9 @@ for (scen in common) { sq <- system(paste0("squeue -u ", Sys.info()[["user"]], " -o '%q %j'"), intern = TRUE) runEnv$qos <- if (is.null(attr(sq, "status")) && sum(grepl("^priority ", sq)) < 4) "priority" else "short" } - slurmOptions <- combine_slurmConfig(paste0("--qos=", runEnv$qos, " --job-name=", fullrunname, " --output=", logfile, - " --open-mode=append --mail-type=END --comment=REMIND-MAgPIE --tasks-per-node=", runEnv$numberOfTasks, + slurmOptions <- combine_slurmConfig(paste0("--qos=", runEnv$qos, + " --job-name=", fullrunname, " --output=", logfile, + " --open-mode=append --mail-type=END,FAIL --comment=REMIND-MAgPIE --tasks-per-node=", runEnv$numberOfTasks, if (runEnv$numberOfTasks == 1) " --mem=8000"), runEnv$sbatch) slurmCommand <- paste0("sbatch ", slurmOptions, " --wrap=\"Rscript start_coupled.R coupled_config=", Rdatafile, "\"") message(slurmCommand) @@ -656,7 +687,7 @@ if (! "--test" %in% flags && ! "--gamscompile" %in% flags) { cs_name <- paste0("compScen-all-rem-", max_iterations) cs_qos <- if (! isFALSE(run_compareScenarios)) run_compareScenarios else "short" cs_command <- paste0("sbatch --qos=", cs_qos, " --job-name=", cs_name, " --output=", cs_name, ".out --error=", - cs_name, ".out --mail-type=END --time=60 --mem=8000 --wrap='Rscript scripts/cs2/run_compareScenarios2.R outputDirs=", + cs_name, ".out --mail-type=END,FAIL --time=60 --mem=8000 --wrap='Rscript scripts/cs2/run_compareScenarios2.R outputDirs=", cs_runs, " profileName=REMIND-MAgPIE outFileName=", cs_name, " regionList=World,LAM,OAS,SSA,EUR,NEU,MEA,REF,CAZ,CHA,IND,JPN,USA mainRegName=World'") message("\n### To start a compareScenario once everything is finished, run:") diff --git a/start_coupled.R b/start_coupled.R index b1b998eaa..8cd2e86cd 100644 --- a/start_coupled.R +++ b/start_coupled.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -42,7 +42,6 @@ start_coupled <- function(path_remind, path_magpie, cfg_rem, cfg_mag, runname, m cfg_mag <- check_config(cfg_mag, file.path(path_magpie, "config", "default.cfg"), file.path(path_magpie,"modules")) cfg_mag$sequential <- TRUE cfg_mag$force_replace <- TRUE - cfg_mag$output <- c("rds_report") # ,"remind","report") # rds_report: MAgPIE4; remind,report: MAgPIE3 (glo.modelstat.csv) # if provided use ghg prices for land (MAgPIE) from a different REMIND run than the one MAgPIE runs coupled to use_external_ghgprices <- ifelse(is.na(cfg_mag$path_to_report_ghgprices), FALSE, TRUE) @@ -259,8 +258,9 @@ start_coupled <- function(path_remind, path_magpie, cfg_rem, cfg_mag, runname, m sq <- system(paste0("squeue -u ", Sys.info()[["user"]], " -o '%q %j' | grep -v ", fullrunname), intern = TRUE) subseq.env$qos <- if (is.null(attr(sq, "status")) && sum(grepl("^priority ", sq)) < 4) "priority" else "short" } - slurmOptions <- combine_slurmConfig(paste0("--qos=", subseq.env$qos, " --job-name=", subseq.env$fullrunname, " --output=", logfile, - " --open-mode=append --mail-type=END --comment=REMIND-MAgPIE --tasks-per-node=", subseq.env$numberOfTasks, + slurmOptions <- combine_slurmConfig(paste0("--qos=", subseq.env$qos, + " --job-name=", subseq.env$fullrunname, " --output=", logfile, + " --open-mode=append --mail-type=END,FAIL --comment=REMIND-MAgPIE --tasks-per-node=", subseq.env$numberOfTasks, if (subseq.env$numberOfTasks == 1) " --mem=8000"), subseq.env$sbatch) subsequentcommand <- paste0("sbatch ", slurmOptions, " --wrap=\"Rscript start_coupled.R coupled_config=", RData_file, "\"") message(subsequentcommand) @@ -312,7 +312,7 @@ start_coupled <- function(path_remind, path_magpie, cfg_rem, cfg_mag, runname, m cs_name <- paste0("compScen-rem-1-", max_iterations, "_", runname) cs_qos <- if (!isFALSE(run_compareScenarios)) run_compareScenarios else "short" cs_command <- paste0("sbatch --qos=", cs_qos, " --job-name=", cs_name, " --output=", cs_name, ".out --error=", - cs_name, ".out --mail-type=END --time=60 --mem=8000 --wrap='Rscript scripts/cs2/run_compareScenarios2.R outputDirs=", + cs_name, ".out --mail-type=END,FAIL --time=60 --mem=8000 --wrap='Rscript scripts/cs2/run_compareScenarios2.R outputDirs=", paste(cs_runs, collapse=","), " profileName=REMIND-MAgPIE outFileName=", cs_name, " regionList=World,LAM,OAS,SSA,EUR,NEU,MEA,REF,CAZ,CHA,IND,JPN,USA mainRegName=World'") if (! isFALSE(run_compareScenarios)) { diff --git a/tests/testthat/helper_localSystem2.R b/tests/testthat/helper_localSystem2.R index fb61b6922..c7cf6abf7 100644 --- a/tests/testthat/helper_localSystem2.R +++ b/tests/testthat/helper_localSystem2.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/helper_printIfFailed.R b/tests/testthat/helper_printIfFailed.R index b092e0553..9c9e82bfa 100644 --- a/tests/testthat/helper_printIfFailed.R +++ b/tests/testthat/helper_printIfFailed.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/helper_skipFailed.R b/tests/testthat/helper_skipFailed.R index 5b67b9f75..f8bf6c24c 100644 --- a/tests/testthat/helper_skipFailed.R +++ b/tests/testthat/helper_skipFailed.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/helper_skipIfFast.R b/tests/testthat/helper_skipIfFast.R index 318ddb724..24fb61a5a 100644 --- a/tests/testthat/helper_skipIfFast.R +++ b/tests/testthat/helper_skipIfFast.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/setup_loadFunctions.R b/tests/testthat/setup_loadFunctions.R index a2c2af7ba..22068655b 100644 --- a/tests/testthat/setup_loadFunctions.R +++ b/tests/testthat/setup_loadFunctions.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/setup_updateRenv.R b/tests/testthat/setup_updateRenv.R index a1894e4ac..bf1463c75 100644 --- a/tests/testthat/setup_updateRenv.R +++ b/tests/testthat/setup_updateRenv.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_01-SOF-EOF.R b/tests/testthat/test_01-SOF-EOF.R new file mode 100644 index 000000000..934ce7f63 --- /dev/null +++ b/tests/testthat/test_01-SOF-EOF.R @@ -0,0 +1,14 @@ +test_that("all gms files have SOF and EOF statements", { + grepnotavailable <- Sys.which("grep") == "" + if (! grepnotavailable) { + files <- paste0("../../", c("core/", "modules/", paste0("modules/", c("*/", "*/*/"))), "*.gms") + SOF <- try(system(paste("grep -L '\\*\\*\\* *SOF.*$'", paste(files, collapse = " ")), intern = TRUE), silent = TRUE) + EOF <- try(system(paste("grep -L '\\*\\*\\* *EOF.*$'", paste(files, collapse = " ")), intern = TRUE), silent = TRUE) + missingSOFEOF <- sub("../../", "", sort(unique(c(SOF, EOF))), fixed = TRUE) + expect_equal(length(missingSOFEOF), 0) + if (length(missingSOFEOF) > 0) { + warning("These gms files lack SOF or EOF statements:\n", paste(missingSOFEOF, collapse = "\n"), + "\nAdd '*** SOF' at the beginning and '*** EOF' at the end of the files and then run './scripts/utils/SOFEOF'") + } + } +}) diff --git a/tests/testthat/test_01-addTitletag.R b/tests/testthat/test_01-addTitletag.R index c8f382376..59fbdc99a 100644 --- a/tests/testthat/test_01-addTitletag.R +++ b/tests/testthat/test_01-addTitletag.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_01-checkFixCfg.R b/tests/testthat/test_01-checkFixCfg.R index 20a89a6ea..3d4b51479 100644 --- a/tests/testthat/test_01-checkFixCfg.R +++ b/tests/testthat/test_01-checkFixCfg.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -14,7 +14,7 @@ test_that("checkFixCfg works", { "cm_emiscen" = "123", "cm_nash_autoconverge" = "NA", "cm_gs_ew" = "2.2.2", - "cm_co2_tax_growth" = "333++", + "cm_taxCO2_expGrowth" = "333++", "c_macscen" = "-1", "cm_keep_presolve_gdxes" = "1.1", "cm_startyear" = "1985", @@ -22,7 +22,7 @@ test_that("checkFixCfg works", { "cm_rcp_scen" = "apocalypse", "c_testOneRegi_region" = "LOONG", "c_shGreenH2" = "1.5", - "cm_co2_tax_2020" = "-2", + "cm_taxCO2_startyear" = "-2", NULL) cfg <- savecfg @@ -32,5 +32,6 @@ test_that("checkFixCfg works", { expect_match(w, paste0(n, "=", wrongsetting[[n]]), all = FALSE, fixed = TRUE) } expect_match(w, paste0(length(wrongsetting), " errors found"), all = FALSE, fixed = TRUE) - expect_equal(length(w), length(wrongsetting) + 1) + expect_match(w, "Chosen RCP scenario 'apocalypse' might currently not be fully operational", all = FALSE, fixed = TRUE) + expect_equal(length(w), length(wrongsetting) + 2) }) diff --git a/tests/testthat/test_01-codeCheck.R b/tests/testthat/test_01-codeCheck.R index 766902752..377c3fdb4 100644 --- a/tests/testthat/test_01-codeCheck.R +++ b/tests/testthat/test_01-codeCheck.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_01-combine_slurmConfig.R b/tests/testthat/test_01-combine_slurmConfig.R index 5933079a7..179f1f78a 100644 --- a/tests/testthat/test_01-combine_slurmConfig.R +++ b/tests/testthat/test_01-combine_slurmConfig.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_01-gms_readSettings.R b/tests/testthat/test_01-gms_readSettings.R index 47af7cb39..26ad5081b 100644 --- a/tests/testthat/test_01-gms_readSettings.R +++ b/tests/testthat/test_01-gms_readSettings.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_01-inputdata.R b/tests/testthat/test_01-inputdata.R index 5e6e35c15..9fe6715cf 100644 --- a/tests/testthat/test_01-inputdata.R +++ b/tests/testthat/test_01-inputdata.R @@ -1,10 +1,24 @@ +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de test_that("Are all input data files present?", { missinginput <- missingInputData(path = "../..") if (length(missinginput) > 0) { lockID <- gms::model_lock(folder = "../..") - updateInputData(cfg = gms::readDefaultConfig("../.."), remindPath = "../..") + w <- capture_warnings(updateInputData(cfg = gms::readDefaultConfig("../.."), remindPath = "../..")) + # ignore warning about missing historical.mif, raise warning if there were other warnings + ignore <- "File historical.mif seems to be missing!" + w <- setdiff(w, ignore) + if (length(w) > 0) { + warning(paste0("'updateInputData' raised the following warnings\n", paste(w, collapse = "\n"))) + } gms::model_unlock(lockID) missinginput <- missingInputData(path = "../..") + # remove historical.mif since it is optional + missinginput <- grep("historical.mif", missinginput, invert = TRUE, value = TRUE) if (length(missinginput) > 0) { warning("Missing input files: ", paste(missinginput, collapse = ", ")) } diff --git a/tests/testthat/test_01-manipulateConfig.R b/tests/testthat/test_01-manipulateConfig.R new file mode 100644 index 000000000..7e3793a43 --- /dev/null +++ b/tests/testthat/test_01-manipulateConfig.R @@ -0,0 +1,62 @@ +test_that("manipulate config with default configuration does not change main.gms", { + # copy main file and manipulate it based on default settings + cfg_init <- gms::readDefaultConfig("../..") + tmpfile <- tempfile(pattern = "main-TESTTHAT-", tmpdir = "../..", fileext = ".gms") + file.copy("../../main.gms", tmpfile) + + # generate arbitrary settings, manipulate file, read them again and check identity + cfg_new <- cfg_init + cfg_new$gms[names(cfg_new$gms)] <- rep(c(0, 1, "asdf", "bc3", "3bc"), length(cfg_new$gms))[1:length(cfg_new$gms)] + lucode2::manipulateConfig(tmpfile, cfg_new$gms) + cfg_new_after <- gms::readDefaultConfig("../..", basename(tmpfile)) + expect_equal(cfg_new_after, cfg_new) + + # reset to initial setting and check that nothing has changed at all in the file + lucode2::manipulateConfig(tmpfile, cfg_init$gms) + cfg_after <- gms::readDefaultConfig("../..", basename(tmpfile)) + + # check diff + diffresult <- NULL + diffavailable <- ! Sys.which("diff") == "" + if (diffavailable) { + diffresult <- suppressWarnings(system(paste("diff ../../main.gms", tmpfile), intern = TRUE)) + if (length(diffresult) > 0) { + warning("Applying manipulateConfig with the default configuration leads to this diff between main.gms and ", + basename(tmpfile), ":\n", + paste(diffresult, collapse = "\n")) + } + expect_equal(length(diffresult), 0) + } + + # check for switches missing in the new cfg + removedgms <- setdiff(names(cfg_init$gms), names(cfg_after$gms)) + if (length(removedgms) > 0) { + warning("These cfg$gms switches can't be found after manipulation of main.gms, see ", basename(tmpfile), ".\n", + "Please file an issue in the gms package and try to adjust the code until the error goes away:\n", + paste("-", removedgms, collapse = "\n")) + } + expect_equal(length(removedgms), 0) + + # check for switches added to the new cfg + addedgms <- setdiff(names(cfg_after$gms), names(cfg_init$gms)) + if (length(addedgms) > 0) { + warning("These cfg$gms switches were somehow added by manipulateConfig to main.gms, see ", basename(tmpfile), ".\n", + "Please file an issue in the gms package and try to adjust the code until the error goes away:\n", + paste("-", addedgms, collapse = "\n")) + } + expect_equal(length(addedgms), 0) + + # check for switches with different content between old and new cfg + joinednames <- intersect(names(cfg_after$gms), names(cfg_init$gms)) + contentdiff <- joinednames[! unlist(cfg_init$gms[joinednames]) == unlist(cfg_after$gms[joinednames])] + if (length(contentdiff) > 0) { + warning("After file manipulation, the following cfg$gms switches differ, see ", basename(tmpfile), ":\n", + paste0("- ", contentdiff, ": ", unlist(cfg_init$gms[contentdiff]), " -> ", unlist(cfg_after$gms[contentdiff]), collapse = "\n")) + } + expect_equal(length(contentdiff), 0) + + # cleanup if no error found + if (length(addedgms) + length(removedgms) + length(contentdiff) + length(diffresult) == 0) { + file.remove(list.files(path = "../..", pattern = "main-TESTTHAT.*gms", full.names = TRUE)) + } +}) diff --git a/tests/testthat/test_01-path_gdx_list.R b/tests/testthat/test_01-path_gdx_list.R index 602edd6b0..e5ed9e1ae 100644 --- a/tests/testthat/test_01-path_gdx_list.R +++ b/tests/testthat/test_01-path_gdx_list.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_01-readCheckScenarioConfig.R b/tests/testthat/test_01-readCheckScenarioConfig.R index 279c1dce5..33aed56ac 100644 --- a/tests/testthat/test_01-readCheckScenarioConfig.R +++ b/tests/testthat/test_01-readCheckScenarioConfig.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -16,16 +16,17 @@ for (csvfile in csvfiles) { } test_that("readCheckScenarioConfig fails on error-loaden config", { csvfile <- tempfile(pattern = "scenario_config_a", fileext = ".csv") - writeLines(c(";start;copyConfigFrom;c_budgetCO2;path_gdx;path_gdx_carbonprice;carbonprice;path_gdx_bau;path_gdx_ref", - "abc.loremipsumloremipsum@lorem&ipsumloremipsumloremipsumloremipsumloremipsumloremipsum_;0;;33;;;;;", - "PBS;1;glob;29;whitespace inside;whitespaceafter ;;;whatever", - "glob;0;missing_copyConfigFrom;33; ;nobreakspace tab;;;", - "PBScopy;0;PBS;;;mustbedifferenttoPBS;;;", - "NA;1;;;;;notNDC_but_has_path_gdx_bau;PBS;", - "NDC_but_bau_missing;1;;;;;NDC;;"), + writeLines(c(";start;copyConfigFrom;c_budgetCO2;path_gdx;path_gdx_carbonprice;carbonprice;path_gdx_bau;path_gdx_ref;cm_startyear", + "abc.loremipsumloremipsum@lorem&ipsumloremipsumloremipsumloremipsumloremipsumloremipsum_;0;;33;;;;;;", + "PBS;1;glob;29;whitespace inside;whitespaceafter ;;;whatever;2020", + "glob;0;missing_copyConfigFrom;33; ;nobreakspace tab;;;;", + "PBScopy;0;PBS;;;mustbedifferenttoPBS;;;;", + "NA;1;;;;;notNDC_but_has_path_gdx_bau;PBS;;", + "NDC_but_bau_missing;1;;;;;NDC;;;", + "startyear_too_early;;;;;;;;PBS;2010"), con = csvfile, sep = "\n") w <- capture_warnings(m <- capture_messages(scenConf <- readCheckScenarioConfig(csvfile, remindPath = "../../", testmode = TRUE))) - expect_match(w, "12 errors found", all = FALSE, fixed = TRUE) + expect_match(w, "22 errors found", all = FALSE, fixed = TRUE) expect_match(w, "These titles are too long", all = FALSE, fixed = TRUE) expect_match(w, "These titles may be confused with regions", all = FALSE, fixed = TRUE) expect_match(w, "These titles contain illegal characters", all = FALSE, fixed = TRUE) @@ -37,8 +38,12 @@ test_that("readCheckScenarioConfig fails on error-loaden config", { expect_match(w, "a reference gdx in 'path_gdx_bau'", all = FALSE, fixed = TRUE) expect_match(w, "Do not use 'NA' as scenario name", all = FALSE, fixed = TRUE) expect_match(w, "For module carbonprice.*notNDC_but_has_path_gdx_bau", all = FALSE, fixed = FALSE) + expect_match(w, "Those scenarios link to a non-existing path_gdx: PBS, PBScopy", all = FALSE, fixed = TRUE) + expect_match(w, "Those scenarios link to a non-existing path_gdx_ref: PBS, PBScopy", all = FALSE, fixed = TRUE) + expect_match(w, "Those scenarios link to a non-existing path_gdx_refpolicycost: PBS, PBScopy", all = FALSE, fixed = TRUE) + expect_match(w, "Those scenarios link to a non-existing path_gdx_carbonprice: PBS, glob, PBScopy", all = FALSE, fixed = TRUE) + expect_match(w, "Those scenarios have cm_startyear earlier than their path_gdx_ref run, which is not supported: startyear_too_early", all = FALSE, fixed = TRUE) expect_match(m, "no column path_gdx_refpolicycost for policy cost comparison found, using path_gdx_ref instead", all = FALSE, fixed = TRUE) - expect_match(m, "is not empty although no realization is selected that needs it", all = FALSE, fixed = TRUE) copiedFromPBS <- c("c_budgetCO2", "path_gdx", "path_gdx_ref") expect_identical(unlist(scenConf["PBS", copiedFromPBS]), unlist(scenConf["PBScopy", copiedFromPBS])) diff --git a/tests/testthat/test_01-readDefaultConfig.R b/tests/testthat/test_01-readDefaultConfig.R index b95cc98bc..0c88f4470 100644 --- a/tests/testthat/test_01-readDefaultConfig.R +++ b/tests/testthat/test_01-readDefaultConfig.R @@ -1,3 +1,9 @@ +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de test_that("readDefaultConfig works", { expect_no_warning(cfg <- gms::readDefaultConfig("../..")) # make sure that no identical names are used to guarantee unique matching of scenario_config data diff --git a/tests/testthat/test_01-runGamsCompile.R b/tests/testthat/test_01-runGamsCompile.R index 99b4dd7ea..452b75a53 100644 --- a/tests/testthat/test_01-runGamsCompile.R +++ b/tests/testthat/test_01-runGamsCompile.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_01-selectScenarios.R b/tests/testthat/test_01-selectScenarios.R index 6bf6b990e..2aba8e07d 100644 --- a/tests/testthat/test_01-selectScenarios.R +++ b/tests/testthat/test_01-selectScenarios.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_01-start.R b/tests/testthat/test_01-start.R index aac763f9d..5d97167ce 100644 --- a/tests/testthat/test_01-start.R +++ b/tests/testthat/test_01-start.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_02-compile.R b/tests/testthat/test_02-compile.R index 53a9e5dc3..67149a636 100644 --- a/tests/testthat/test_02-compile.R +++ b/tests/testthat/test_02-compile.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_03-quick.R b/tests/testthat/test_03-quick.R index 7f13c4a7e..77beb7f7e 100644 --- a/tests/testthat/test_03-quick.R +++ b/tests/testthat/test_03-quick.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -9,4 +9,5 @@ test_that("start.R config/tests/scenario_config_quick.csv works", { output <- localSystem2("Rscript", c("start.R", "config/tests/scenario_config_quick.csv")) printIfFailed(output) expectSuccessStatus(output) + expect_true(file.exists("../../output/testOneRegi/REMIND_generic_testOneRegi.mif")) }) diff --git a/tests/testthat/test_04-gamscompile.R b/tests/testthat/test_04-gamscompile.R index ec8913585..e43c2e32b 100644 --- a/tests/testthat/test_04-gamscompile.R +++ b/tests/testthat/test_04-gamscompile.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -33,6 +33,7 @@ test_that("start.R --gamscompile works on all configs and scenarios", { expect_true(length(csvfiles) > 0) testthat::with_mocked_bindings( for (csvfile in csvfiles) { + if (grepl("scenario_config_IKEA|scenario_config_21_EU11_ARIADNE", csvfile)) next test_that(paste("perform start.R --gamscompile with", basename(csvfile)), { titletag <- paste0("titletag=TESTTHAT-", gsub(".csv$", "", basename(csvfile))) output <- localSystem2("Rscript", diff --git a/tests/testthat/test_01-test-gams-compile.R b/tests/testthat/test_04-test-gams-compile.R similarity index 90% rename from tests/testthat/test_01-test-gams-compile.R rename to tests/testthat/test_04-test-gams-compile.R index 6cf4309f6..309a28efc 100644 --- a/tests/testthat/test_01-test-gams-compile.R +++ b/tests/testthat/test_04-test-gams-compile.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_05-default.R b/tests/testthat/test_05-default.R index ea36ef84d..74aa499a5 100644 --- a/tests/testthat/test_05-default.R +++ b/tests/testthat/test_05-default.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_06-output.R b/tests/testthat/test_06-output.R index 22dcae4f1..af68343af 100644 --- a/tests/testthat/test_06-output.R +++ b/tests/testthat/test_06-output.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -9,10 +9,12 @@ skipIfPreviousFailed() test_that("output.R -> single -> reporting works", { output <- localSystem2("Rscript", c("output.R", "comp=single", "output=reporting", "outputdir=output/testOneRegi", - "slurmConfig='--qos=priority --mem=8000 --wait'")) + "slurmConfig='--qos=priority --mem=8000 --wait --time=120'")) printIfFailed(output) expectSuccessStatus(output) - expect_true(file.exists("../../output/testOneRegi/REMIND_generic_testOneRegi.mif")) + remind_reporting_file <- "../../output/testOneRegi/REMIND_generic_testOneRegi.mif" + expect_true(file.exists(remind_reporting_file)) + expect_no_warning(quitte::reportDuplicates(piamutils::deletePlus(quitte::read.quitte(remind_reporting_file, check.duplicates = FALSE)))) }) test_that("output.R -> export -> xlsx_IIASA works", { diff --git a/tests/testthat/test_20-coupled.R b/tests/testthat/test_20-coupled.R index 21c8e6713..793dab6ae 100644 --- a/tests/testthat/test_20-coupled.R +++ b/tests/testthat/test_20-coupled.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -142,6 +142,7 @@ test_that("runs coupled to MAgPIE work", { expect_true(lengthwithmag > lengthwithoutmag && lengthwithmag > 700000) # check main mif qscen <- quitte::as.quitte(paste0("../../output/C_", scen, ".mif")) + expect_no_warning(quitte::reportDuplicates(piamutils::deletePlus(qscen))) expect_true(all(grepl("^REMIND-MAgPIE", levels(qscen$model)))) expect_true(nrow(qscen) == lengthwithmag) # here we could add checks which variables etc. must be in the mif file diff --git a/tests/testthat/validation/test_01-mifs_exist.R b/tests/testthat/validation/test_01-mifs_exist.R index e8c1139a5..3a638ec20 100644 --- a/tests/testthat/validation/test_01-mifs_exist.R +++ b/tests/testthat/validation/test_01-mifs_exist.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -9,8 +9,7 @@ test_that("each output folder contains standard mif files", { for (dir in dirs) { d <- paste0("../../../output/", dir) r <- expect_true( - length(list.files(path = d, pattern = "REMIND_generic_.*.mif")) == 2 && - length(list.files(path = d, pattern = "REMIND_climate_.*.mif")) == 1 + length(list.files(path = d, pattern = "REMIND_generic_.*.mif")) == 2 ) if (!r) { diff --git a/tests/testthat/validation/test_02-fe_liquids.R b/tests/testthat/validation/test_02-fe_liquids.R index 97b1266be..e9acb4057 100644 --- a/tests/testthat/validation/test_02-fe_liquids.R +++ b/tests/testthat/validation/test_02-fe_liquids.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/validation/test_03-negative_electrictiy.R b/tests/testthat/validation/test_03-negative_electricity.R similarity index 85% rename from tests/testthat/validation/test_03-negative_electrictiy.R rename to tests/testthat/validation/test_03-negative_electricity.R index 0c56148f7..3ca16aaf5 100644 --- a/tests/testthat/validation/test_03-negative_electrictiy.R +++ b/tests/testthat/validation/test_03-negative_electricity.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -17,8 +17,8 @@ test_that("there are no negative electricity prices in historic years in EU regi read.report(mifs[1], as.list = FALSE)[ , , c( - "Price|Secondary Energy|Electricity (US$2005/GJ)", - "Price|Final Energy|Industry|Electricity (US$2005/GJ)" + "Price|Secondary Energy|Electricity (US$2017/GJ)", + "Price|Final Energy|Industry|Electricity (US$2017/GJ)" ) ] ) diff --git a/tests/testthat/validation/test_04-invest_esm.R b/tests/testthat/validation/test_04-invest_esm.R index 0030b211e..c7fd0b86e 100644 --- a/tests/testthat/validation/test_04-invest_esm.R +++ b/tests/testthat/validation/test_04-invest_esm.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -19,7 +19,7 @@ test_that("Non-ESM Investments never drop more than 50% in comparison to previou if (length(mifs) == 1) { m <- suppressWarnings( read.report(mifs[1], as.list = FALSE) - )[reg, , "Investments|Non-ESM (billion US$2005/yr)"] + )[reg, , "Investments|Non-ESM (billion US$2017/yr)"] data <- mbind(data, m) } } diff --git a/tutorials/03_RunningBundleOfRuns.md b/tutorials/03_RunningBundleOfRuns.md index 8d38a610a..3daf75d93 100644 --- a/tutorials/03_RunningBundleOfRuns.md +++ b/tutorials/03_RunningBundleOfRuns.md @@ -31,7 +31,7 @@ readCheckScenarioConfig("config/scenario_config.csv")["SSP2-Base", ] ``` Further columns are the configurations that you can choose for the specific runs. -They may contain values for parameters such as `cm_rcp_scen` and module realizations such as `exponential` for [`./module/carbonprice/`](../modules/45_carbonprice). They overwrite the default defined and explained in [`./config/default.cfg`](../config/default.cfg) and [`./main.gms`](../main.gms) by the respective cell value for each run. If you leave a cell empty or if no column exists for a setting, the default value is used. +They may contain values for parameters such as `cm_rcp_scen` and module realizations such as `diffLin2Lin` for [`./module/carbonprice/`](../modules/45_carbonprice). They overwrite the default defined and explained in [`./config/default.cfg`](../config/default.cfg) and [`./main.gms`](../main.gms) by the respective cell value for each run. If you leave a cell empty or if no column exists for a setting, the default value is used. An important feature of scenario_config files is the possibility to execute runs which build on each other. Examples are (1) using the base run for all time steps until `cm_startyear`, or (2) use it to compare the impact of certain policies to a situation without them. @@ -47,7 +47,7 @@ Example with comments and different ways to specify subsequent runs. The columns to implement subsequent runs are usually found at the end, starting with `path_gdx`: * `path_gdx` allows to specify initial conditions for the run, overwriting the usual initial conditions taken from the calibration files found in [`./config/gdx-files/`](../config/gdx-files/files). If it points to an unconverged run, this can be used to restart runs, similar to `Rscript start.R --restart`. -* `path_gdx_bau` points to the run used as business as usual (BAU) scenario, for example for runs using [`45_carbonprice/NDC`](../modules/45_carbonprice/NDC), where some countries specify emission as percentage reduction compared to BAU. All realizations needing it have to be summarized in [`scripts/start/needBau.R`](../scripts/start/needBau.R). +* `path_gdx_bau` points to the run used as business as usual (BAU) scenario, for example for runs using [`45_carbonprice/NDC`](../modules/45_carbonprice/NDC), where some countries specify emission as percentage reduction compared to BAU. All realizations needing it should be summarized in [`scripts/start/needBau.R`](../scripts/start/needBau.R). * `path_gdx_carbonprice` can be used to use a carbon tax path from an earlier run with realization [`45_carbonprice/exogenous`](../modules/45_carbonprice/exogenous). * `path_gdx_ref` points to the run used for all `t < cm_startyear`, which can be used for example for delayed transition scenarios. * `path_gdx_refpolicycost` points to the run that is used as a comparison for the policy cost calculation. If no such column exists, `path_gdx_ref` is used instead. diff --git a/tutorials/04_RunningREMINDandMAgPIE.md b/tutorials/04_RunningREMINDandMAgPIE.md index 4abae3c81..ebc19a8db 100644 --- a/tutorials/04_RunningREMINDandMAgPIE.md +++ b/tutorials/04_RunningREMINDandMAgPIE.md @@ -100,13 +100,15 @@ See comments in the head section of the file. Most importantly you need to provi Required as `path_settings_coupled` is a file from [`./config/`](../config) that starts with `scenario_config_coupled*.csv` and provides some extra information for coupled runs (e.g. which run should be started, specific MAgPIE configurations), with one scenario per row and settings on the columns. `path_settings_remind` is a normal `scenario_config` that defines all other REMIND settings, as explained in [`03_RunningBundleOfRuns`](./03_RunningBundleOfRuns.md). Every scenario to be run must be present in both files. All the columns must be present in the `scenario_config_coupled.csv` file, but most of them can be left blank. The required ones are: + - `title`: The name of the scenario, must be unique and match the `title` column in REMIND's `scenario_config.csv` - `start`: Defines if a scenario run should be started (1) or not (0). Overrides whatever is set in REMIND's `scenario_config*.csv`. If you have an unfinished coupled run, it will automatically try to continue from the last coupling iteration (i.e. REMIND or MAgPIE run), if it is not finished yet (i.e. reached `max_iterations`). - - `qos`: The SLURM qos the coupled runs should be submitted to, such as `priority`, `short`, `medium`, `long` or `standby` on the PIK cluster. If you use `auto`, the qos is set to `priority` if an empty slot exists, and `short` otherwise. This is also the default if no `qos` is set. Currently, there is no default support for running a coupled run locally. - - `magpie_scen`: A pipe (`|`) separated list of configurations to pass to MAgPIE. Each entry should correspond to a column in [MAgPIE's scenario_config](https://github.com/magpiemodel/magpie/blob/master/config/scenario_config.csv), each one of them setting the multiple configuration flags listed on that file. The configurations are applied in the order that they appear. For example, to configure MAgPIE with SSP2 settings and climate change impacts according to RCP45 set `magpie_scen` to `SSP2|cc|rcp4p5`. + - `qos`: The SLURM qos the coupled runs should be submitted to, such as `priority`, `short`, `medium`, `long` or `standby` on the PIK cluster. If you use `auto`, the qos is set to `priority` if an empty slot exists, and `short` otherwise. This is also the default if no `qos` is set. Currently, there is no default support for running a coupled run locally. + - `magpie_scen`: A pipe (`|`) separated list of configurations to pass to MAgPIE. Each entry should correspond to a column in [MAgPIE's scenario_config](https://github.com/magpiemodel/magpie/blob/master/config/scenario_config.csv), each one of them setting the multiple configuration flags listed in that file. The configurations are applied in the order that they appear. For example, to configure MAgPIE with SSP2 settings and climate change impacts according to RCP45 set `magpie_scen` to `SSP2|cc|rcp4p5`. To select scenarios from a different `scenario_config*.csv` file replace `magpie_scen` by the path to that file relative to MAgPIE's main folder, for example: `config/projects/scenario_config_PROJECT.csv`. The filename *must contain* the string `scenario_config`. You can also specify more than one column directing to another `scenario_config_PROJECT2.csv` file. They will be evaluated in the order in which they appear in the `scenario_config_coupled.csv`. There is another option of addressing MAgPIE switches described at the end of the list of optional columns below. - `no_ghgprices_land_until`: Controls at which timestep in the MAgPIE runs GHG prices from REMIND will start to be applied. This essentially enables you to set whether or not (or when) GHG prices on land should be applied in MAgPIE. If you want MAgPIE to always apply the same GHG prices from REMIND, you should set this to a timestep corresponding to the start of your REMIND run, such as `y2020` to start in the 2020 timestep. If you want to disable GHG prices in MAgPIE, regardless of what REMIND finds, set this to the last timestep of the run (usually `y2150`). Values in between allow the simulation of policies where GHG prices are only applied in the land use sector after a certain year. -Other, optional columns allow you to make a run start only after another has finished, set starting conditions, and give you finer control over which data is fed to MAgPIE. +Other, optional columns allow you to make a run start only after another has finished, set starting conditions, and give you finer control over which data is fed from REMIND to MAgPIE or from MAgPIE to REMIND. + - `path_gdx`, `path_gdx_ref`, `path_gdx_refpolicycost`, `path_gdx_carbonprice`, `path_gdx_bau`, : Override these same settings in REMIND's `scenario_config`, see [`03_RunningBundleOfRuns`](./03_RunningBundleOfRuns.md) for a detailed explanation. - You can set these switches either to the full path of a `fulldata.gdx` file or simply to the name of another scenario in the file (without the "C_"!). So if you want a certain scenario (say `NDC`) to use as starting point the results of a `Base` scenario, you can simply set `path_gdx` to `Base` and it will automatically locate the appropriate `fulldata.gdx` in `Base`, for example `path_remind/C_Base-rem-x/fulldata.gdx`. - If you set any of these `path_gdx…` columns (or `path_mif_ghgprice_land`, below) with a scenario name such as `Base`, the coupling script will not start any runs that depend on an unfinished run, and automatically start them when that run finishes. So, in the example above, you can set `start` to `1` in both `Base` and `NDC`, `NDC` will only start *after* `Base` is finished. `NDC-rem-2` will start after `NDC-rem-1` and `Base-rem-2` are finished. @@ -118,6 +120,8 @@ Other, optional columns allow you to make a run start only after another has fin - `oldrun`: This setting can be used to continue a coupled run that had a different name and/or is in a different folder. It works in almost the same way as `path_gdx`, but it is used only if no REMIND run has been finished for this scenario. It will look in the path set in `start_bundle_coupled.R`'s `path_remind_oldruns`. This can be useful when continuing a previous experiment that was made in another REMIND copy, or after changing scenario names. - `path_report: Provide a path to a MAgPIE report here if you want REMIND to start with it. It overwrites whatever might have been automatically found from former MAgPIE runs. - `cm_nash_autoconverge_lastrun`: can be used to specify `cm_nash_autoconverge`, but only for the last REMIND run, for example to increase precision there by setting it to `2`. + - `cfg_mag$...`: If you don't want to select composed scenarios in MAgPIE to address switches, you can directly address individual MAgPIE switches in the `scenario_config_coupled.csv`. Add any number of columns to your `scenario_config_coupled.csv` that have the name of the MAgPIE switch as the column name. They need to start with `cfg_mag$`. For example: if you want to set `gms$s56_cprice_red_factor` to `3.14` for `SSP2-NPi`, add the column `cfg_mag$gms$s56_cprice_red_factor` to your `scenario_config_coupled.csv` and fill in `3.14` in the row that defines `SSP2-NPi`. + - `var_luc`: Controls, which variable to use in REMIND to represent land-use change (LUC) CO2 emissions from MAgPIE (`co2luc` in REMIND). By default, this switch is set to `smooth` such that the variable `Emissions|CO2|Land|+|Land-use Change` is used. This variable was i.a. obtained by applying a low-pass filter to the raw LUC emissions in order to smooth out spikes. Alternatively, this switch can be set to `raw`. Then the unfiltered variable `Emissions|CO2|Land RAW|+|Land-use Change` is used instead. ### Perform test start before actually submitting runs diff --git a/tutorials/05_AnalysingModelOutputs.md b/tutorials/05_AnalysingModelOutputs.md index ed7eab584..89eb28f32 100644 --- a/tutorials/05_AnalysingModelOutputs.md +++ b/tutorials/05_AnalysingModelOutputs.md @@ -92,23 +92,11 @@ Here **gdx** is the path to the gdx file, while the second argument is the **nam **In the following, we present several other tools and scripts that were developed to facilitate the output analysis:** -## 4. Automated model validation - -### 4.1. Generation of summary and validation pdfs -The automated model analysis (summary and validation) is an important example of output analysis based on model-internal scripts (see section 6). If these scripts are executed (either by selection via cfg$output as explained in 6.1. or by execution via command window as explained in 6.2.), standard evaluation pdfs are created. They validate numerous model outputs with historical data, either visually or via statistical tests. - -### 4.2 A Summary of Results -For a first overview and for not getting lost in the huge amount of variables you can look at the *REMIND_summary_[title].pdf*. This .pdf-file will give you an overview on the model results and guides you through the story. - -### 4.3 The Whole Range of Validation -A standard validation PDF *REMIND_validation_[title].pdf* consists of hundreds of evaluation outputs. By evaluating the model outputs on such a broad level rather than focusing only on key outputs, it allows getting a more complete picture of the corresponding scenario. The table of contents of the validation pdf gives a good overview about the breadth of model outputs that can be generated with a REMIND standard scenario, even though the validation pdf only shows a subset of possible model outputs. - - -## 5. Interactive scenario analysis +## 4. Interactive scenario analysis The automated model validation is a good tool for visually evaluating a broad range of model outputs. However, comparison between model runs, i.e. between different scenarios, is rather difficult and inconvenient if the model results are scattered across different large PDF files. -### 5.1. AppResults +### 4.1. AppResults To overcome this issue, we developed the interactive scenario analysis and evaluation tools appResults and appResultsLocal as part of the package **shinyresults** (), which show evaluation plots for multiple scenarios including historical data and other projections based on an interactive selection of regions and variables. @@ -151,9 +139,9 @@ Another tool for analyzing model output on your local computer is the scenario t mip::scenTool() ``` -## 6. Model-internal R-scripts for output analysis +## 5. Model-internal R-scripts for output analysis -### 6.1. Execution of model-internal output scripts via the REMIND configuration file +### 5.1. Execution of model-internal output scripts via the REMIND configuration file In the file *config/default.cfg*, it is possible to indicate which R-scripts are executed for output analysis after a model run is finished. Scripts evaluating single runs are stored in the folder **scripts/output/[title-of-the-run]**. In the default REMIND configuration, the scripts *reporting*, *validation* (see section 2.3), *validationSummary* (see section 2.3), *rds\_report* (to be used in appResults; see section 3), and *dashboard* are selected via cfg$output: @@ -161,7 +149,7 @@ In the file *config/default.cfg*, it is possible to indicate which R-scripts are cfg$output <- c("reporting","validation","rds_report","validationSummary","dashboard") ``` -### 6.2. Execution of model-internal output scripts in the command window +### 5.2. Execution of model-internal output scripts in the command window Output scripts that are included in the folders **scripts/output/single** and **scripts/output/comparison** can also be executed via a command window. To do so, windows users can open a command line prompt in the REMIND model folder by using **shift** + **right click** and then selecting *open command window here* option. @@ -182,7 +170,9 @@ In both cases, you can choose from the list of available model scenarios, for wh Now, the selected scripts are executed. After completion, the results are written in the respective folder of the run (combination of **model title** name and the **current date** inside the **output** folder of the model). -One recommended script for comparison of different scenarios is `compareScenarios2`. After you selected folder names, specified a `filename_prefix`, the priority on the cluster, and a *profile* (describes some output parameters) it produces a large PDF (or HTML if a respective profile is chosen) in the `./remind/` folder. +One recommended script for comparison of different scenarios is `compareScenarios2`, see [the specific tutorial](https://pik-piam.r-universe.dev/articles/remind2/compareScenariosRemind2.html). After you selected folder names, specified a `filename_prefix`, the priority on the cluster, and a *profile* (describes some output parameters) it produces a large PDF (or HTML if a respective profile is chosen) in the `./remind/` folder. + +Another useful script it `validateScenarios`, which performs an automated check of the scenario data against thresholds defined in a `validationConfig` and returns an html report with interactive heat maps in a traffic-light evaluation format. After choosing `validateScenarios` as a `comparison` script, you are prompted to select one of the configs that are shipped with the `piamValidation` package. The `default` config is a good starting point for any REMIND run and the `AMT` config is specifically tailored towards the automated model testruns. If you want to perform a more personalized validation, follow the instructions in the [vignette](https://pik-piam.r-universe.dev/articles/piamValidation/validateScenarios.html). You can also specify the parameters in the command line, for example starting a `compareScenario2` run without any prefix as: @@ -194,7 +184,7 @@ If you want to compare runs from different REMIND folders, add `remind_dir=.,../ How to create new plots is described in the tutorial [8_Advanced_AnalysingModelOutputs.Rmd](./08_Advanced_AnalysingModelOutputs.Rmd). Another useful and compatible resource for generating plots (e.g. box plots) from REMIND results is UTokyo's *mipplot* R package: https://github.com/UTokyo-mip/mipplot. -## 7. Analysis of outputs with the remind2 R package +## 6. Analysis of outputs with the remind2 R package If you want to go beyond visual output analysis and predefined output evaluation facilitated by scripts in the model folders **scripts/output/single** and **scripts/output/comparison**, you can use the functionality of the R package *remind2* (https://github.com/pik-piam/remind2). This package contains a list of common functions for extracting outputs from the REMIND model which are also the basis for the generation of the automated validation pdf. For a quick overview on the functions which are included in the package, you can scan the folder **remind2/R** of the remind2 package source code. diff --git a/tutorials/08_Advanced_AnalysingModelOutputs.Rmd b/tutorials/08_Advanced_AnalysingModelOutputs.Rmd index ea67185bf..a1a65c402 100644 --- a/tutorials/08_Advanced_AnalysingModelOutputs.Rmd +++ b/tutorials/08_Advanced_AnalysingModelOutputs.Rmd @@ -1,11 +1,3 @@ - --- title: 'How to analyse model output (importing, processing, and plotting data) ' author: "David Klein" @@ -19,16 +11,26 @@ vignette: | This is a [R Markdown](http://rmarkdown.rstudio.com) Notebook. When you execute code within the notebook, the results appear beneath the code. + +```{r} +knitr::opts_chunk$set( + message = FALSE, + warning = FALSE, + fig.width = 15, + fig.height = 10 +) +``` + # Download demonstration data Before starting the tutorial we need to download the sample data that we are going to use from PIK's RSE server. A REMIND run normally produces/contains these files. ```{r} -download.file("http://rse.pik-potsdam.de/data/example/fulldata.gdx", "fulldata.gdx", mode="wb") + +download.file("http://rse.pik-potsdam.de/data/example/fulldata.gdx", "fulldata.gdx", mode = "wb") download.file("http://rse.pik-potsdam.de/data/example/REMIND_generic_BAU.mif", "REMIND_generic_BAU.mif") download.file("http://rse.pik-potsdam.de/data/example/REMIND_generic_RCP20.mif", "REMIND_generic_RCP20.mif") download.file("http://rse.pik-potsdam.de/data/example/REMIND_generic_RCP26.mif", "REMIND_generic_RCP26.mif") -download.file("http://rse.pik-potsdam.de/data/example/historical.mif", "historical.mif") ``` @@ -38,10 +40,14 @@ Import REMIND results from mif files using `read.report`. If you provide multipl ```{r} library(magclass) -rem <- read.report(c("REMIND_generic_BAU.mif", - "REMIND_generic_RCP20.mif", - "REMIND_generic_RCP26.mif"), - as.list = FALSE) +rem <- read.report( + c( + "REMIND_generic_BAU.mif", + "REMIND_generic_RCP20.mif", + "REMIND_generic_RCP26.mif" + ), + as.list = FALSE +) ``` Magclass objects have a standardized structure: regions in the first dimension, years in the second dimension, variable names in the third dimension. If your data has additional dimensions (such as *model* or *scenario*) they are added as a sub-dimension to the third dimension of the magpie object. The sub-dimension are separated by dots: @@ -53,32 +59,34 @@ str(rem) Select years before and including 2100 ```{r} -rem <- rem[,getYears(rem)<="y2100",] +rem <- rem[, getYears(rem) <= "y2100", ] ``` Select only primary energy carriers ```{r} -var_PE <- c("PE|+|Coal", - "PE|+|Oil", - "PE|+|Gas", - "PE|+|Biomass", - "PE|+|Nuclear", - "PE|+|Hydro", - "PE|+|Wind", - "PE|+|Solar", - "PE|+|Geothermal") +var_PE <- c( + "PE|+|Coal", + "PE|+|Oil", + "PE|+|Gas", + "PE|+|Biomass", + "PE|+|Nuclear", + "PE|+|Hydro", + "PE|+|Wind", + "PE|+|Solar", + "PE|+|Geothermal" +) # add same unit for all variables (works only if units are identical for all variables, otherwise you would have to provide the units individually) -var_PE <- paste(var_PE,"(EJ/yr)") +var_PE <- paste(var_PE, "(EJ/yr)") -rem_PE <- rem[,,var_PE] +rem_PE <- rem[, , var_PE] ``` -`fulldim` lists all elements of the object +`getItems` lists all elements of the object ```{r} -fulldim(rem_PE) +getItems(rem_PE) ``` # Plot data @@ -89,7 +97,7 @@ fulldim(rem_PE) ```{r} library(mip) -p <- mipArea(rem_PE["GLO",,invert=TRUE]) +p <- mipArea(rem_PE["GLO", , invert = TRUE]) print(p) ``` @@ -97,13 +105,13 @@ Save the plot to a png file using `ggsave` from the ggplot2 package. We have to ```{r} library(ggplot2) -ggsave(filename = "PE.png",plot = p, width=15, height=10, scale = 2, units = "cm") +ggsave(filename = "PE.png", plot = p, width = 15, height = 10, scale = 2, units = "cm") ``` `mipArea` returns a regular ggplot object you can customize. To demonstrate this we override the default theme with theme_grey and a tiny font size, move the legend to the top, and reverse the faceting. This gives a rather ugly plot: ```{r} -p + theme_grey(base_size=8) + theme(legend.position="top") + facet_grid(region~scenario) +p + theme_grey(base_size = 8) + theme(legend.position = "top") + facet_grid(region ~ scenario) ``` ## Bar plot @@ -120,13 +128,14 @@ dat <- dat %>% filter(Region != "GLO") or using magclass ```{r} -dat <- as.ggplot(rem_PE[,2050,]["GLO",,invert=TRUE]) +dat <- as.ggplot(rem_PE[, 2050, ]["GLO", , invert = TRUE]) head(dat) ``` Generate a raw bar plot without specific adjustments ```{r} -ggplot() + geom_col(data=dat,aes(x=Data1,y=Value,fill=Data3)) +ggplot() + + geom_col(data = dat, aes(x = Data1, y = Value, fill = Data3)) ``` We use the `plotstyle` function to define default colors for our entities. This ensures that in all our plots a particular entity will be displayed with the same color. Now, retrieve these default colors for the primary energy carriers using `plotstyle`. Therefore, shorten variable names, so that they match the names defined in plotstyle. The full names of the elements stored in the third dimension of the magpie object would be @@ -137,18 +146,18 @@ head(getNames(rem_PE)) We only want to shorten the *variable names* (stored in the third sub-dimension), not the model and scenario names. Therefore, specify the number of the sub-dimension: ```{r} -head(getNames(rem_PE,dim=3)) +head(getNames(rem_PE, dim = 3)) ``` Now use gsub and regular expressions to remove the "PE|+|" and the units: ```{r} -getNames(rem_PE,dim=3) <- gsub("PE\\|\\+\\|(.*) \\(EJ\\/yr\\)$","\\1",getNames(rem_PE,dim=3)) -getNames(rem_PE,dim=3) +getNames(rem_PE, dim = 3) <- gsub("PE\\|\\+\\|(.*) \\(EJ\\/yr\\)$", "\\1", getNames(rem_PE, dim = 3)) +getNames(rem_PE, dim = 3) ``` For these names there are colors defined in `plotstyle`. Retrieve these colors ```{R} -mycolors <- plotstyle(getNames(rem_PE,dim=3)) +mycolors <- plotstyle(getNames(rem_PE, dim = 3)) print(mycolors) ``` @@ -159,12 +168,12 @@ showcolors(mycolors) Generate plot ```{r} -dat <- as.ggplot(rem_PE[,2050,]["GLO",,invert=TRUE],useDimNames=FALSE) +dat <- as.ggplot(rem_PE[, 2050, ]["GLO", , invert = TRUE], useDimNames = FALSE) p <- ggplot() + - geom_col(data=dat,aes(x=Data1,y=Value,fill=Data3)) + - scale_fill_manual(values = mycolors, name ="All Colors Are Beautiful") + - labs(title = "Primary Energy", subtitle = "in 2050", x = "Scenario", y ="EJ/yr") + + geom_col(data = dat, aes(x = Data1, y = Value, fill = Data3)) + + scale_fill_manual(values = mycolors, name = "All Colors Are Beautiful") + + labs(title = "Primary Energy", subtitle = "in 2050", x = "Scenario", y = "EJ/yr") + facet_wrap(~Region) print(p) ``` @@ -175,90 +184,84 @@ print(p) Another plot example, this time plotting emissions. ```{r} -var_EMI <- c("Emi|CO2|Fossil Fuels and Industry|Cement process", - "Emi|CO2|Fossil Fuels and Industry|Demand", - "Emi|CO2|Fossil Fuels and Industry|Energy Supply", - "Emi|CO2|Land-Use Change") +var_EMI <- c( + "Emi|CO2|Fossil Fuels and Industry|Cement process", + "Emi|CO2|Fossil Fuels and Industry|Demand", + "Emi|CO2|Fossil Fuels and Industry|Energy Supply", + "Emi|CO2|Land-Use Change" +) -var_EMI <- paste(var_EMI,"(Mt CO2/yr)") +var_EMI <- paste(var_EMI, "(Mt CO2/yr)") -rem_EMI <- rem[,,var_EMI] +rem_EMI <- rem[, , var_EMI] ``` First, just because it's so beautiful and easy using `mipArea`, the area plot again (this time with negative values): ```{r} -mipArea(rem_EMI["GLO",,]) +mipArea(rem_EMI["GLO", , ]) ``` Creating a basic line plot with ggplot is almost as easy ```{r} -ggplot (as.ggplot(rem["GLO",,"Emi|CO2 (Mt CO2/yr)"])) + geom_line(aes(x=Year,y=Value,color=Data1)) + - labs(title = "CO2 emissions", x = "", y ="Mt CO2/yr") +ggplot(as.ggplot(rem["GLO", , "Emi|CO2 (Mt CO2/yr)"])) + + geom_line(aes(x = Year, y = Value, color = Data1)) + + labs(title = "CO2 emissions", x = "", y = "Mt CO2/yr") ``` -If you have historical values at hand you can use `mipLineHistorical` to validate your model data. Read historical data. Select years from 1950 on. Remove global data from both data sets (for nicer y-scaling). Select total CO2 emissions for model data. The function selects the same variables from the historical data if available. - -```{r} -history <- read.report("historical.mif",as.list=FALSE) -history <- history["GLO",,,invert=TRUE][,getYears(history)>="y1950",][,,"IEA"] -mipLineHistorical(x = rem[,,"Emi|CO2 (Mt CO2/yr)"][,,"BAU"]["GLO",,,invert=TRUE], x_hist = history,size=8) -``` - - # Calculating and adding a new variable Let's see whether we can calculate per capita emissions. First, we have to find out, if our data set contains something like population data. We apply `pmatch` and `getNames` to find out if there is a variable that has 'pop' in its name. ```{r} -getNames(rem[,,"Pop",pmatch=TRUE]) +getNames(rem[, , "Pop", pmatch = TRUE]) ``` Oh, yes. So, let's simply calculate the per capita emissions. ```{r} -emi_cap <- rem_EMI / rem[,,"Population (million)"] +emi_cap <- rem_EMI / rem[, , "Population (million)"] ``` magclass automatically matches regions, years, scenarios, and models. It also automatically assigns names to the resulting variable by combining the variable names of the two source objects. The resulting names look like this now: ```{r} -getNames(emi_cap[,,1]) +getNames(emi_cap[, , 1]) ``` Let's provide better names. First, we remove the 4th sub-dimension, since all names are identical: ```{r} -emi_cap <- collapseNames(emi_cap,collapsedim = 4) +emi_cap <- collapseNames(emi_cap, collapsedim = 4) ``` We could have got the same if we had removed the "Population (million)" above before dividing: ```{r} -emi_cap <- rem_EMI / collapseNames(rem[,,"Population (million)"]) -getNames(emi_cap[,,1]) +emi_cap <- rem_EMI / collapseNames(rem[, , "Population (million)"]) +getNames(emi_cap[, , 1]) ``` Now, we rename the emission variables by replacing "Emi" with "Per capita emission" and correcting the unit ```{r} -getNames(emi_cap,dim=3) <- gsub("Emi|","Per capita emissions|",getNames(emi_cap,dim=3),fixed = TRUE) -getNames(emi_cap,dim=3) <- gsub("(Mt CO2/yr)","(t CO2/yr/cap)",getNames(emi_cap,dim=3),fixed = TRUE) +getNames(emi_cap, dim = 3) <- gsub("Emi|", "Per capita emissions|", getNames(emi_cap, dim = 3), fixed = TRUE) +getNames(emi_cap, dim = 3) <- gsub("(Mt CO2/yr)", "(t CO2/yr/cap)", getNames(emi_cap, dim = 3), fixed = TRUE) ``` Now we can add the new variable to the full report ```{r} -rem <- mbind(rem,emi_cap) +rem <- mbind(rem, emi_cap) ``` Finally, plot the freshly calculated per-capita emissions. When selecting the variables use `pmatch=TRUE` to retrieve all variables that have this string in their name. Useful in this case, because we do not need to provide the detailed sector names. Distinguish scenarios (column "Data1" in the data frame that `as.ggplot` produces) by line type and variables (Data3) by color. ```{r} -ggplot (as.ggplot(rem[,,"Per capita emissions",pmatch=TRUE])) + - geom_line(aes(x=Year,y=Value,color=Data3,linetype=Data1)) + - facet_grid(~Region) + - theme(legend.position="bottom") + - guides(color = guide_legend(nrow = 4),linetype=guide_legend(nrow = 3)) +ggplot(as.ggplot(rem[, , "Per capita emissions", pmatch = TRUE])) + + geom_line(aes(x = Year, y = Value, color = Data3, linetype = Data1)) + + facet_grid(~Region) + + theme(legend.position = "bottom") + + guides(color = guide_legend(nrow = 4), linetype = guide_legend(nrow = 3)) ``` @@ -267,20 +270,20 @@ ggplot (as.ggplot(rem[,,"Per capita emissions",pmatch=TRUE])) + In the following we are only talking about the third dimension of a magpie object, which can contain further sub-dimensions. We want to add a new sub-dimension distinguishing gases. Add a new sub-dimension with the name "gas" and the variable "CO2" ```{r} -rem_EMI <- add_dimension(rem_EMI, dim = 3.3, add = "gas", nm="CO2") +rem_EMI <- add_dimension(rem_EMI, dim = 3.3, add = "gas", nm = "CO2") str(rem_EMI) ``` Add a new element to the dimension just created ```{r} -rem_EMI <- add_columns(rem_EMI,addnm = "CH4",dim=3.3) +rem_EMI <- add_columns(rem_EMI, addnm = "CH4", dim = 3.3) ``` Now, remove the obsolete "Emi|CO2|" part from the old names ```{r} -getNames(rem_EMI,dim=3) <- gsub("Emi\\|CO2\\|","",getNames(rem_EMI,dim=3)) +getNames(rem_EMI, dim = 3) <- gsub("Emi\\|CO2\\|", "", getNames(rem_EMI, dim = 3)) str(rem_EMI) ``` @@ -290,46 +293,45 @@ If the variable or parameter you are interested in is not yet part of the REMIND ```{r} library(gdx) -rem_gdx <- readGDX(gdx = "fulldata.gdx","vm_emiAll",field = "l",format = "first_found") +rem_gdx <- readGDX(gdx = "fulldata.gdx", "vm_emiAll", field = "l", format = "first_found") str(rem_gdx) ``` *vm_emiAll* does not include global values. We calculate them with `dimSums` summing over the regions (first dimension) and append them using `mbind`. ```{r} -rem_gdx <- mbind(rem_gdx,dimSums(rem_gdx,dim = 1)) -getItems(rem_gdx,dim = 1)<-sub("dummy","GLO",getRegions(rem_gdx)) +rem_gdx <- mbind(rem_gdx, dimSums(rem_gdx, dim = 1)) +getItems(rem_gdx, dim = 1) <- sub("dummy", "GLO", getRegions(rem_gdx)) ``` *vm_emiAll* is defined for all entities, but for most of them it is zero. Let's find the entities for which it contains data. We use the year 2050 as an indicator: ```{r} -non_zero_vars <- getNames(rem_gdx)[rem_gdx["GLO",2050,]!=0] +non_zero_vars <- getNames(rem_gdx)[rem_gdx["GLO", 2050, ] != 0] ``` Before plotting we have to rename the dimensions of the magclass object to names that mipArea (and the underlying quitte class) requires ```{r} -getSets(rem_gdx) <- c("region","year","variable") - -mipArea(rem_gdx["GLO", getYears(rem_gdx)>="y2005" & getYears(rem_gdx) <="y2100", non_zero_vars]) +getSets(rem_gdx) <- c("region", "year", "variable") +mipArea(rem_gdx["GLO", getYears(rem_gdx) >= "y2005" & getYears(rem_gdx) <= "y2100", non_zero_vars]) ``` Now, let's pick Kyoto gases only and get the units right. Define vector with names of Kyoto gases ```{r} -kyo <- c("co2","n2o","ch4") +kyo <- c("co2", "n2o", "ch4") ``` Create a new magclass object with the same regions and years as *rem_gdx* and Kyoto gases as variables ```{r} -conversion <- new.magpie(cells_and_regions = getRegions(rem_gdx),years = getYears(rem_gdx),names = kyo) +conversion <- new.magpie(cells_and_regions = getRegions(rem_gdx), years = getYears(rem_gdx), names = kyo) -conversion[,,"co2"] <- 1 * 1000 * 44/12 # GtC -> Mt CO2 -conversion[,,"ch4"] <- 34 # Mt CH4 -> Mt CO2_eq -conversion[,,"n2o"] <- 298 * 44/18 # Mt N2O-N -> Mt CO2_eq +conversion[, , "co2"] <- 1 * 1000 * 44 / 12 # GtC -> Mt CO2 +conversion[, , "ch4"] <- 34 # Mt CH4 -> Mt CO2_eq +conversion[, , "n2o"] <- 298 * 44 / 18 # Mt N2O-N -> Mt CO2_eq str(conversion) ``` @@ -337,7 +339,7 @@ str(conversion) Now, that the magpie objects have the same structure, multiplication is easy ```{r} -rem_gdx[,,kyo] <- rem_gdx[,,kyo] * conversion +rem_gdx[, , kyo] <- rem_gdx[, , kyo] * conversion -mipArea(rem_gdx["GLO",getYears(rem_gdx)>="y2005" & getYears(rem_gdx) <="y2100",kyo]) + labs(title = "Emissions", subtitle = "Kyoto gases", y ="Mt CO2eq/yr") +mipArea(rem_gdx["GLO", getYears(rem_gdx) >= "y2005" & getYears(rem_gdx) <= "y2100", kyo]) + labs(title = "Emissions", subtitle = "Kyoto gases", y = "Mt CO2eq/yr") ``` diff --git a/tutorials/08a_Advanced_CreatingSimpleDashboard.Rmd b/tutorials/08a_Advanced_CreatingSimpleDashboard.Rmd index 5baa2c89c..09ea2996a 100644 --- a/tutorials/08a_Advanced_CreatingSimpleDashboard.Rmd +++ b/tutorials/08a_Advanced_CreatingSimpleDashboard.Rmd @@ -1,11 +1,3 @@ - --- title: "Simple Dashboard" author: "Renato Rodrigues" @@ -65,7 +57,7 @@ download.file("http://rse.pik-potsdam.de/data/example/REMIND_generic_BAU.mif", " ylab("Mt CO2/yr") # CO2 price - plot$CO2price <- mipLineHistorical(data["EUR",,"Price|Carbon (US$2005/t CO2)"],x_hist=NULL,ylab='US$2005/t CO2') + + plot$CO2price <- mipLineHistorical(data["EUR",,"Price|Carbon (US$2017/t CO2)"],x_hist=NULL,ylab='US$2017/t CO2') + theme_minimal() # Electricity mix diff --git a/tutorials/10_DebuggingREMIND.md b/tutorials/10_DebuggingREMIND.md index b41c60cd8..5993c7aa4 100644 --- a/tutorials/10_DebuggingREMIND.md +++ b/tutorials/10_DebuggingREMIND.md @@ -47,7 +47,7 @@ If full.log exists, this is the next place to look at. Either open it in your fa ```bash less full.log ``` -and then type `G` to get to the end of the file. `q` finishes looking at the file. +and then type `G` to get to the end of the file. Type `q` to close the file. Another option is to use the editor `vi` by typing `vi full.log`, in which case `:q` closes the editor. `less` is generally faster when looking at large file, but doesn’t offer color coding. You may find: @@ -89,13 +89,14 @@ Again, tutorials such as as the [McCarl GAMS User Guide](https://www.gams.com/mc If not, it is worth looking at the `.gms` file this equation is part of, by searching for `SOF` (start of file) and `EOF` (end of file) marks above and below the equation. Then navigate to this file in github and see in the history whether it was recently changed, which may have caused this error. But it is important that the error may have first appeared in this equation, but may have been caused somewhere else. -If you find out that your run stopped specifically in iteration 14, you likely have a problem with the EDGE-T transport model. It runs iteratively with REMIND, but only after iteration 14. It calls [`edgeTransport::toolIterativeEDGETransport`](https://github.com/pik-piam/edgeTransport/blob/master/R/iterativeEDGETransport.R) and its input/output data are in the `EDGE-T` subfolder. You should find an error message in `log.txt`. +If you find out that your run stopped specifically in iteration 14, you likely have a problem with the EDGE-T transport model. It runs iteratively with REMIND, but only after iteration 14. It calls [`edgeTransport::iterativeEdgeTransport()`](https://github.com/pik-piam/edgeTransport/blob/master/R/iterativeEDGETransport.R) and its input/output data are in the `EDGE-T` subfolder. You should find an error message in `log.txt`. If this is not helpful, try opening that script in an interactive `R` session (on your run’s folder) and run it line by line, you’ll have a better idea of what the problem actually was. Forcing the model to redownload its input data (see above) can help if something in either model changed when you created that folder. Also make sure that the R packages installed in your renv are up-to-date. The EDGE-T model makes heavy use of specific libraries that are updated constantly. So you’ll often find that a newer EDGE-T library won’t work with a REMIND folder that is even a few days old. The file `abort.gdx` contains the latest data at the point GAMS aborted execution, which can be analysed using GAMS Studio. -After a certain number of consecutive infeasibilities (default: `cm_abortOnConsecFail` = 5) REMIND will stop automatically, to avoid loosing too much time on an already doomed run. While REMIND sometimes is able to recover from a region being infes for 1 or 2 iterations, more will likely mean that the run will fail. In this case an `execution error` will be raised and the message `Run was aborted because the maximum number of consecutive failures was reached in at least one region!` can be found in the `full.log` and `full.lst` files. Continue with "Case 3" to solve the infeasibility. +After a certain number of consecutive infeasibilities (default: `cm_abortOnConsecFail` = 2) REMIND will switch to the debug mode in which infeasibility are listed (and can be shown with `listinfes`). +In case this does not help, it stops automatically, to avoid loosing too much time on an already doomed run. While REMIND sometimes is able to recover from a region being infes for 1 or 2 iterations, more will likely mean that the run will fail. In this case an `execution error` will be raised and the message `Run was aborted because the maximum number of consecutive failures was reached in at least one region!` can be found in the `full.log` and `full.lst` files. Continue with "Case 3" to solve the infeasibility. ### Case 2c: GDX or R file missing @@ -124,9 +125,9 @@ An explanation of the modelstat and solvestat numbers can be found in the tables |Modelstat = 6 | Intermediate Infeasible| |Modelstat = 7 | Intermediate Nonoptimal| | | | -|Solvestat = 1 | Normal Completion| -|Solvestat = 2 | Iteration Interrupt| -|Solvestat = 3 | Resource Interrupt| +|Solvestat = 1 | Normal Completion | +|Solvestat = 2 | Iteration Interrupt | +|Solvestat = 3 | Resource Interrupt | |Solvestat = 4 | Terminated by Solver| |Desirable Status in REMIND| @@ -134,6 +135,7 @@ An explanation of the modelstat and solvestat numbers can be found in the tables |Solve + Model stat = 1 + 2 | solution found| |Solve + Model stat = 4 + 7 | feasible but slow convergence| +Further possible error codes can be found in [the GAMS documentation](https://www.gams.com/latest/docs/UG_GAMSOutput.html#UG_GAMSOutput_SolverStatus). If infeasibilities show up already in the first iteration, it may be related to a wrong `input.gdx` (specified with `path_gdx` in the `scenario_config_XYZ.csv`) or some general error in the GAMS code. Via the international trade, infeasibilities in one region may propagate to other regions in later iterations, but then it is worth knowing where it started. There are different types of solver infeasibilities: pre-triangular and optimization infeasibilities. In pre-triangular infeasibilities, GAMS shows you in the solution report the equations that are incompatible with each other. For optimization infeasibilies, the CONOPT solver tries to reduce the infeasibility to the thing that less affects the objective function. It does not show all affected equations, as it is not a simple problem as a non-square system of equations like in the pre-triangular case. You need to check if it is bound-related: the variables bounds, and the equation bounds starting from the infeasibility and going through the variables that have relation with it. You can always force in another run the variable that is infeasible to a feasible value to see what else is affected by it. But this is usually not necessary as just checking the logic behind the equation and the infeasible variable is usually sufficient to find the limitation. diff --git a/tutorials/11_ManagingRenv.md b/tutorials/11_ManagingRenv.md index 218138416..304b778ea 100644 --- a/tutorials/11_ManagingRenv.md +++ b/tutorials/11_ManagingRenv.md @@ -55,7 +55,7 @@ REMIND uses [renv](https://rstudio.github.io/renv/) for managing required R pack The `piamenv` functions explained earlier should cover all common tasks, use the following for more control. - `renv::install("package@2.3.4")` install specific package version - `renv::install("githubuser/package", ref = "")` install package from GitHub, optionally provide commit hash -- `renv::install("/p/tmp/username/yourpackagefolder")` install package from sources +- `renv::install("/p/tmp/username/yourpackagefolder")` install package from sources. Always use an absolute path! - `renv::remove("package")` uninstall package - `renv::update(exclude = "renv")` (`make update-renv-all`) update all packages except renv (please do not update renv itself) - `renv::update("package")` update package diff --git a/tutorials/13_Submit_to_IIASA_database.md b/tutorials/13_Submit_to_IIASA_database.md index f6b1979fc..8fefdadff 100644 --- a/tutorials/13_Submit_to_IIASA_database.md +++ b/tutorials/13_Submit_to_IIASA_database.md @@ -7,10 +7,11 @@ Many projects have to upload their scenario data to the database provided by [II ## Step 1: model registration At the beginning of the project, there should be a process to get access to the project Internal Scenario Explorer. In case of problems, contact [Daniel Huppmann](https://iiasa.ac.at/staff/daniel-huppmann). - -Model, scenarios and project variables should be registered in the IIASA database. Often, the variable list is based on the `AR6` template once generated for the IPCC Sixth Assessment Report, or the new template for the NAVIGATE project. - -A template file containing the list of variables and associated units may be provided as yaml or xlsx file. It can be used to check the variable names and units of your submission. Save it in your REMIND repository, the suggested place is `./output/export/`. +REMIND model registration files can be found in the [mappings](https://github.com/IAMconsortium/common-definitions/tree/main/mappings) and the [region](https://github.com/IAMconsortium/common-definitions/tree/main/definitions/region/native_regions) folder of the common-definitions repository, or in [piamInterfaces](https://github.com/pik-piam/piamInterfaces/tree/master/inst/registration). +Scenarios and project variables should be registered in the IIASA database. +Often, the variable list is based on the `AR6` template once generated for the IPCC Sixth Assessment Report, or the new template for the NAVIGATE project. +This template file contains the list of variables and associated units may be provided as yaml or xlsx file. +It can be used to check the variable names and units of your submission. ## Step 2: generate file to upload @@ -20,7 +21,7 @@ You can generate the file to be uploaded by either calling [`piamInterfaces::gen - `mifs`: vector of .mif files or directories that contain the .mif files - `model`: model name as registered in the database, such as "REMIND-MAgPIE 3.2-4.6" -- `iiasatemplate`: optional path to the xlsx or yaml file obtained in the project with the variables and units that are accepted in the database +- `iiasatemplate`: optional path to the xlsx or yaml file obtained in the project with the variables and units that are accepted in the database. If you received a link of the form `https://files.ece.iiasa.ac.at/project-name/projectname-template.xlsx`, you can use that directly and it will be automatically downloaded. - `addToScen`: optional string added in front of all scenario names - `removeFromScen`: optional regular expression of parts to be deleted from the scenario names, such as "C_|_bIT|_bit|_bIt" - `mapping`: vector of mappings from [this directory](https://github.com/pik-piam/piamInterfaces/tree/master/inst/mappings) (such as `c("AR6", "AR6_NGFS")` or `c("NAVIGATE", "SHAPE")`) or a local file with identical structure. @@ -96,6 +97,18 @@ The following functions from `piamInterfaces` might be helpful for further analy - [`fixOnRef()`](https://github.com/pik-piam/piamInterfaces/blob/master/R/fixOnRef.R) checks whether the runs are correctly fixed on their reference run for delayed transition scenarios. - [`plotIntercomparison()`](https://github.com/pik-piam/piamInterfaces/blob/master/R/plotIntercomparison.R) plots area and line plots of selected variables. +If you like to generate a 'historical.mif' file for a different regional resolution and variable naming scheme than the REMIND one to pass it to plotIntercomparison, you can use the [regionmapping](https://github.com/pik-piam/piamInterfaces/tree/master/inst/regionmapping) ISO files from piamInterfaces or a similarly formatted file, for example like this: +``` +library(madrat); library(mrremind); library(quitte); library(piamInterfaces) +stopifnot(utils::packageVersion("piamInterfaces") >= "0.36.2") +setConfig(regionmapping = system.file("regionmapping/ISO_2_ISO.csv", package = "piamInterfaces")) +d <- madrat::retrieveData("VALIDATIONREMIND") +system(paste("tar -xvf", d, "./historical.mif")) +hist <- read.snapshot("historical.mif") +write.mif(convertHistoricalData(hist, "ScenarioMIP", "ISO_2_R10"), "historical_R10.mif") +write.mif(convertHistoricalData(hist, "ScenarioMIP", "ISO_2_R5"), "historical_R5.mif") +``` + ## Further Information Please refer to [this repository](https://gitlab.pik-potsdam.de/REMIND/miptemplate) for a showcase of all the tools and best practices when working with data from the IIASA database, including: diff --git a/tutorials/15_Using_Python.md b/tutorials/15_Using_Python.md index 15633471a..579e1703a 100644 --- a/tutorials/15_Using_Python.md +++ b/tutorials/15_Using_Python.md @@ -1,21 +1,149 @@ -# Using Python to Interface with Other Models +# Python support in REMIND Mika Pflüger (mika.pflueger@pik-potsdam.de) +Tonn Rüter (tonn.rueter@pik-potsdam.de) -## Introduction +Python is a high-level, interpreted programming language known for its readability and versatility. In REMIND, Python is essential for coupling to specialized models, such as those used for climate assessment reporting. These models often require advanced data processing and integration with other tools, which Python in conjecture with R `reticulate` facilitates efficiently. -To interface with other models or libraries, it is often necessary to call Python code because the model itself is written in Python or bindings are available in Python. -REMIND has Python support via [reticulate](https://rstudio.github.io/reticulate/) using virtual environments, but it is disabled by default. +## REMIND Python Doctrine -## Using Python in REMIND +Python support is enabled by default in REMIND and is necessary to couple to specialized models, e.g. for climate assessment reporting. This can be verified in the `default.cfg` file where `cfg$pythonEnabled` is set to `"on"`. Users need to set the `cfg$pythonPath` variable to point to an appropriate Python environment. On the PIK cluster, the `conda` environment can be found in `/p/projects/rd3mod/python/environments/scm_magicc7_hpc/`. It is best practice to clone this default environment into one's home directory when using the PIK cluster, see [`make` commands below](#environment-creation-integrity-and-archiving). Further management of the Python environment, such as updating Python packages environments, is a responsibility of the user. -First, you have to make sure that you have Python installed and available in your environment. -Run `Rscript scripts/utils/checkSetup.R` to check if REMIND finds your Python. -If not, repair that by installing Python and making sure it is on your PATH. +REMIND scripts do not alter the Python environment, ensuring that the environment remains stable and predictable throughout the usage of REMIND. For repeatability a lockfile is generated for each REMIND run that archives the state of the Python environment. This ensures that the exact environment used for a specific run can be recreated if needed to ensure repeatability. In case a virtual Python environment like `conda` or `venv` is used, the user needs to make sure to activate it before starting a REMIND run. After starting a REMIND run, checks ensure that all necessary dependencies are available. -Next, you have to enable REMIND's Python integration by setting `cfg$pythonEnabled` to `on` in `config/default.cfg`. +### Environment Creation, Integrity, and Archiving -Add Python libraries you want to use to the `requirements.txt` file in the main remind folder. -They will be installed into the Python virtual environment on the next start of REMIND. +REMIND supports using your system Python installation via `pip`, but also *virtual Python environments* like `conda` and `venv`. Among these, `conda` is the preferred option due to its ease of use and robust package management. For more details on installing `conda`, refer to the [Installing `conda`](#installing-conda) section. -Then you can use Python via [reticulate](https://rstudio.github.io/reticulate/). -For example, execute an R script from GAMS, then use `reticulate::import` to import Python libraries, the python virtual environment will automatically be used. +The provided Makefile includes targets to create or clone a Python environment: +- `make clone-conda`: Clones an existing `conda` environment. Note: Users of the PIK cluster should activate the default environment at `/p/projects/rd3mod/python/environments/scm_magicc7_hpc/`, then use `make conda-clone` to create their own version +- `make create-conda`: Creates a new `conda` environment based on the `py_requirements.txt` file. + +### Leveraging `reticulate` + +To interface with other models or libraries, it is often necessary to call Python code because the model itself is written in Python or bindings are available in Python. REMIND has Python support via the R library `reticulate`. One can, for example, execute an R script from GAMS, then use `reticulate::import` to import Python libraries. For more information on using `reticulate`, refer to the [Documentation](https://rstudio.github.io/reticulate/). + +### Handling Warnings + +When using REMIND, you might encounter warnings about the inability to verify the version of certain Python packages installed from specific repositories. These warnings occur because the installed Python packages do not retain information about their origin, only their version number. This version number is meaningless if the package was installed from a dedicated repository. Therefore, when using the PIK cluster default REMIND Python environment, you can safely disregard these warnings. They are simply a result of the package management system's inability to verify the origin of the installed packages. + +## REMIND & Anaconda + +`conda` is an open-source package and environment management system for Windows, macOS, and Linux. It simplifies installing and managing Python dependencies and environments, making it ideal for running REMIND. For users running REMIND on their desktop, any Python installation will do; however, we recommend using `conda` for its ease of managing dependencies and environments. + +### `conda` Environment for REMIND/MAGICC7 Operation on the Cluster + +To ensure `climate-assessment` and `MAGICC7` are available when running REMIND on the clusters, follow these steps after logging in and before initiating a REMIND run that requires MAGICC7 (e.g., climate reporting). On the new cluster (`foote.pik-potsdam.de`) do: + +1. Load the necessary `module`s: + ```sh + # Make sure module_load_piam is already active, otherwise run + # source /p/system/modulefiles/defaults/piam/module_load_piam + module load anaconda/2023.09 + ``` + +2. *Optional:* Configure the terminal prompt to avoid unnecessary length. This only has to run once! + ```sh + conda config --set env_prompt '({name})' + ``` + +3. Activate the conda environment: + ```sh + source activate /p/projects/rd3mod/python/environments/scm_magicc7_hpc + ``` +This setup ensures the correct Python versions are available. To deactivate the conda environment, type `conda deactivate`. **Please do not alter the conda environment as changes would affect all users.** + +With the conda environment activated, you can start a climate assessment report from your REMIND folder with: + +```sh +Rscript output.R +``` + +and navigate through the selection process as usual. + +### Installing `conda` + +This is not necessary when running REMIND on the PIK cluster. If you are on a Desktop machine or are using another shared computing infrastructure, ask your local IT department if `conda` is available for your system. For Desktop users here's a brief overview of how to install `conda`. Follow these steps: + +1. **Download the `conda` installer**: + - *Recommended*: For Miniconda (a minimal installer for `conda`): [Miniconda Distribution](https://docs.conda.io/en/latest/miniconda.html) + - *Optional*: For Anaconda (includes `conda` and many scientific packages): [Anaconda Distribution](https://www.anaconda.com/products/distribution#download-section) + +2. **Run the installer**: + - On Windows, double-click the `.exe` file + - On macOS and Linux, open a terminal and run: + ```sh + bash path/to/installer.sh + ``` + +3. **Follow the prompts** to complete the installation. + +4. **Verify the installation** by opening a terminal or command prompt and running: + ```sh + conda --version + ``` + +### Creating a `conda` Environment from `py_requirements.txt` + +To create a new `conda` environment from the `config/py_requirements.txt` file that comes with REMIND, you can use the `make create-conda` target in the Makefile. This will create a new `conda` environment with Python 3.11 and the packages specified in the requirements file. + +- Create a new environment with the default name `remind` in the default directory (`$HOME/.conda/envs`): + ```sh + make create-conda + ``` + +- Create a new environment with a specified name: + ```sh + make create-conda ENV=my_new_env + ``` + +- Create a new environment in a specified directory: + ```sh + make create-conda DEST=/path/to/directory + ``` + +- Create a new environment with a specified name in a specified directory: + ```sh + make create-conda ENV=my_new_env DEST=/path/to/directory + ```` + +### Cloning the REMIND `conda` environment on the PIK cluster + +To clone a `conda` environment, you can use the `make clone-conda` target in the Makefile. This will clone the specified `conda` environment or the active environment to a new environment in the user's home directory or a specified destination. + +- Clone the active environment: + ```sh + make clone-conda + ``` +- Clone a specified environment: + ```sh + make clone-conda ENV=my_env + ``` +- Clone a specified environment to a custom directory: + ```sh + make clone-conda ENV=my_env DEST=~/my_custom_directory + ``` + +#### Renaming a `conda` Environment +If you need to rename the cloned environment, follow these steps: + +1. Activate the cloned environment: + ```sh + conda activate /path/to/cloned-env + ``` + +2. Export the environment state to a YAML file: + ```sh + conda env export > cloned-env.yml + ``` + +3. Create a new environment with the desired name from the YAML file: + ```sh + conda env create -f cloned-env.yml -n new-env-name + ``` + +4. Remove the old cloned environment: + ```sh + conda remove --prefix /path/to/cloned-env --all + ``` + +These steps ensure that the environment is properly renamed without breaking `conda`'s environment management \ No newline at end of file