From 458faaa66be7ebe542750d47b9480bc254aeb6b7 Mon Sep 17 00:00:00 2001 From: David Anthoff Date: Mon, 13 Jan 2014 12:24:44 -0800 Subject: [PATCH] science: Update climate dynamics calibration --- Fund/Data/Base/lifetempconst.csv | 2 +- Fund/Data/Base/lifetemplin.csv | 2 +- Fund/Data/Base/lifetempqd.csv | 2 +- .../HadCRUT.4.2.0.0.annual_ns_avg_smooth.txt | 163 +++ .../climate/climateforcing.radforc.csv | 1050 +++++++++++++++++ calibration/climate/fund_cs_calibration.ipynb | 421 +++++++ 6 files changed, 1637 insertions(+), 3 deletions(-) create mode 100644 calibration/climate/HadCRUT.4.2.0.0.annual_ns_avg_smooth.txt create mode 100644 calibration/climate/climateforcing.radforc.csv create mode 100644 calibration/climate/fund_cs_calibration.ipynb diff --git a/Fund/Data/Base/lifetempconst.csv b/Fund/Data/Base/lifetempconst.csv index 728e3adb..9e04993e 100644 --- a/Fund/Data/Base/lifetempconst.csv +++ b/Fund/Data/Base/lifetempconst.csv @@ -1,2 +1,2 @@ # FUND scenario -~N(-31.8978379263215;0.12072054186561) +-42.7421952811 diff --git a/Fund/Data/Base/lifetemplin.csv b/Fund/Data/Base/lifetemplin.csv index 8f419268..170a0ed5 100644 --- a/Fund/Data/Base/lifetemplin.csv +++ b/Fund/Data/Base/lifetemplin.csv @@ -1,2 +1,2 @@ # FUND scenario -~N(32.7266970287432;0.0256648976380545) +29.0603120788 diff --git a/Fund/Data/Base/lifetempqd.csv b/Fund/Data/Base/lifetempqd.csv index c202f764..763e2b70 100644 --- a/Fund/Data/Base/lifetempqd.csv +++ b/Fund/Data/Base/lifetempqd.csv @@ -1,2 +1,2 @@ # FUND scenario -~N(-0.00993;0.001568) +0.0014564222822 diff --git a/calibration/climate/HadCRUT.4.2.0.0.annual_ns_avg_smooth.txt b/calibration/climate/HadCRUT.4.2.0.0.annual_ns_avg_smooth.txt new file mode 100644 index 00000000..bbdf9dc2 --- /dev/null +++ b/calibration/climate/HadCRUT.4.2.0.0.annual_ns_avg_smooth.txt @@ -0,0 +1,163 @@ +1850 -0.317 -0.367 -0.281 -0.369 -0.266 -0.449 -0.185 -0.391 -0.251 -0.469 -0.170 +1851 -0.296 -0.346 -0.262 -0.346 -0.246 -0.386 -0.206 -0.370 -0.232 -0.413 -0.186 +1852 -0.282 -0.332 -0.248 -0.331 -0.234 -0.346 -0.219 -0.355 -0.221 -0.379 -0.194 +1853 -0.280 -0.331 -0.247 -0.326 -0.234 -0.332 -0.228 -0.352 -0.221 -0.369 -0.202 +1854 -0.292 -0.344 -0.259 -0.336 -0.248 -0.342 -0.242 -0.362 -0.235 -0.378 -0.216 +1855 -0.314 -0.367 -0.280 -0.357 -0.272 -0.366 -0.263 -0.382 -0.258 -0.400 -0.237 +1856 -0.337 -0.392 -0.305 -0.378 -0.295 -0.390 -0.283 -0.407 -0.282 -0.425 -0.260 +1857 -0.356 -0.414 -0.324 -0.398 -0.314 -0.409 -0.302 -0.428 -0.302 -0.446 -0.280 +1858 -0.368 -0.429 -0.335 -0.411 -0.325 -0.422 -0.315 -0.443 -0.313 -0.460 -0.292 +1859 -0.374 -0.438 -0.339 -0.419 -0.330 -0.427 -0.321 -0.452 -0.317 -0.468 -0.296 +1860 -0.378 -0.444 -0.339 -0.424 -0.332 -0.431 -0.325 -0.457 -0.316 -0.473 -0.296 +1861 -0.380 -0.448 -0.336 -0.427 -0.333 -0.436 -0.324 -0.460 -0.313 -0.477 -0.292 +1862 -0.377 -0.447 -0.330 -0.425 -0.329 -0.435 -0.319 -0.458 -0.306 -0.476 -0.284 +1863 -0.365 -0.438 -0.316 -0.414 -0.317 -0.424 -0.306 -0.450 -0.294 -0.467 -0.272 +1864 -0.347 -0.423 -0.296 -0.395 -0.298 -0.406 -0.288 -0.433 -0.275 -0.450 -0.253 +1865 -0.324 -0.403 -0.272 -0.372 -0.276 -0.384 -0.264 -0.413 -0.252 -0.429 -0.230 +1866 -0.303 -0.383 -0.250 -0.350 -0.256 -0.363 -0.243 -0.391 -0.231 -0.408 -0.208 +1867 -0.287 -0.367 -0.234 -0.332 -0.241 -0.347 -0.226 -0.374 -0.215 -0.391 -0.192 +1868 -0.277 -0.355 -0.227 -0.322 -0.233 -0.338 -0.217 -0.363 -0.208 -0.380 -0.184 +1869 -0.275 -0.349 -0.227 -0.318 -0.232 -0.332 -0.218 -0.358 -0.208 -0.374 -0.186 +1870 -0.280 -0.351 -0.233 -0.322 -0.238 -0.331 -0.228 -0.359 -0.214 -0.373 -0.195 +1871 -0.287 -0.356 -0.243 -0.329 -0.246 -0.336 -0.239 -0.365 -0.224 -0.378 -0.207 +1872 -0.298 -0.365 -0.253 -0.338 -0.257 -0.343 -0.252 -0.374 -0.235 -0.385 -0.220 +1873 -0.304 -0.372 -0.260 -0.343 -0.265 -0.347 -0.261 -0.379 -0.243 -0.390 -0.228 +1874 -0.301 -0.368 -0.256 -0.340 -0.263 -0.344 -0.258 -0.375 -0.240 -0.386 -0.226 +1875 -0.284 -0.350 -0.240 -0.322 -0.246 -0.326 -0.242 -0.357 -0.222 -0.367 -0.208 +1876 -0.254 -0.318 -0.210 -0.290 -0.217 -0.296 -0.211 -0.325 -0.192 -0.335 -0.178 +1877 -0.221 -0.284 -0.176 -0.257 -0.185 -0.264 -0.178 -0.290 -0.160 -0.301 -0.145 +1878 -0.198 -0.259 -0.153 -0.232 -0.163 -0.241 -0.155 -0.265 -0.138 -0.276 -0.123 +1879 -0.193 -0.252 -0.148 -0.226 -0.160 -0.236 -0.149 -0.258 -0.135 -0.270 -0.119 +1880 -0.205 -0.263 -0.160 -0.237 -0.173 -0.248 -0.163 -0.269 -0.150 -0.281 -0.134 +1881 -0.231 -0.288 -0.187 -0.261 -0.200 -0.272 -0.189 -0.293 -0.178 -0.305 -0.163 +1882 -0.262 -0.320 -0.221 -0.291 -0.233 -0.303 -0.221 -0.323 -0.212 -0.335 -0.197 +1883 -0.295 -0.352 -0.256 -0.323 -0.267 -0.335 -0.255 -0.354 -0.247 -0.366 -0.232 +1884 -0.323 -0.378 -0.286 -0.350 -0.296 -0.362 -0.283 -0.381 -0.277 -0.393 -0.262 +1885 -0.341 -0.396 -0.305 -0.368 -0.315 -0.381 -0.302 -0.399 -0.297 -0.411 -0.281 +1886 -0.349 -0.403 -0.312 -0.375 -0.323 -0.388 -0.309 -0.406 -0.303 -0.418 -0.288 +1887 -0.347 -0.403 -0.309 -0.373 -0.321 -0.387 -0.307 -0.406 -0.301 -0.417 -0.285 +1888 -0.343 -0.401 -0.305 -0.369 -0.317 -0.382 -0.304 -0.405 -0.296 -0.416 -0.281 +1889 -0.346 -0.407 -0.303 -0.373 -0.319 -0.384 -0.308 -0.411 -0.296 -0.420 -0.283 +1890 -0.357 -0.421 -0.310 -0.384 -0.330 -0.393 -0.321 -0.426 -0.304 -0.433 -0.293 +1891 -0.373 -0.438 -0.322 -0.400 -0.345 -0.407 -0.338 -0.444 -0.317 -0.451 -0.307 +1892 -0.384 -0.451 -0.331 -0.412 -0.356 -0.416 -0.351 -0.458 -0.326 -0.464 -0.318 +1893 -0.383 -0.452 -0.329 -0.411 -0.354 -0.414 -0.351 -0.460 -0.325 -0.465 -0.317 +1894 -0.369 -0.439 -0.315 -0.397 -0.340 -0.399 -0.338 -0.446 -0.310 -0.451 -0.302 +1895 -0.346 -0.416 -0.292 -0.374 -0.318 -0.376 -0.316 -0.423 -0.286 -0.427 -0.279 +1896 -0.322 -0.391 -0.268 -0.350 -0.294 -0.352 -0.292 -0.398 -0.262 -0.402 -0.255 +1897 -0.304 -0.372 -0.251 -0.333 -0.276 -0.334 -0.275 -0.379 -0.243 -0.384 -0.237 +1898 -0.297 -0.363 -0.243 -0.325 -0.269 -0.327 -0.268 -0.371 -0.236 -0.376 -0.229 +1899 -0.301 -0.365 -0.246 -0.329 -0.273 -0.332 -0.270 -0.373 -0.239 -0.379 -0.232 +1900 -0.316 -0.379 -0.261 -0.344 -0.289 -0.347 -0.286 -0.387 -0.255 -0.393 -0.248 +1901 -0.341 -0.401 -0.288 -0.369 -0.314 -0.371 -0.311 -0.410 -0.281 -0.416 -0.274 +1902 -0.370 -0.428 -0.319 -0.397 -0.343 -0.400 -0.340 -0.438 -0.312 -0.443 -0.304 +1903 -0.397 -0.453 -0.346 -0.423 -0.371 -0.426 -0.367 -0.462 -0.340 -0.467 -0.333 +1904 -0.416 -0.471 -0.365 -0.441 -0.390 -0.444 -0.387 -0.479 -0.360 -0.484 -0.353 +1905 -0.428 -0.482 -0.379 -0.453 -0.404 -0.457 -0.399 -0.490 -0.375 -0.496 -0.368 +1906 -0.440 -0.493 -0.392 -0.464 -0.416 -0.470 -0.409 -0.500 -0.389 -0.507 -0.381 +1907 -0.455 -0.507 -0.409 -0.478 -0.432 -0.487 -0.423 -0.514 -0.406 -0.521 -0.397 +1908 -0.471 -0.522 -0.426 -0.494 -0.449 -0.504 -0.439 -0.529 -0.424 -0.537 -0.415 +1909 -0.481 -0.531 -0.438 -0.503 -0.460 -0.514 -0.449 -0.538 -0.436 -0.546 -0.426 +1910 -0.479 -0.529 -0.437 -0.501 -0.458 -0.511 -0.448 -0.535 -0.435 -0.543 -0.426 +1911 -0.462 -0.511 -0.420 -0.483 -0.441 -0.493 -0.430 -0.517 -0.418 -0.525 -0.409 +1912 -0.431 -0.480 -0.390 -0.453 -0.410 -0.464 -0.399 -0.487 -0.389 -0.495 -0.379 +1913 -0.396 -0.446 -0.355 -0.419 -0.374 -0.430 -0.362 -0.452 -0.354 -0.461 -0.343 +1914 -0.367 -0.417 -0.325 -0.390 -0.343 -0.404 -0.329 -0.423 -0.323 -0.434 -0.310 +1915 -0.348 -0.399 -0.305 -0.373 -0.324 -0.390 -0.307 -0.406 -0.303 -0.419 -0.288 +1916 -0.340 -0.390 -0.295 -0.366 -0.315 -0.386 -0.295 -0.398 -0.293 -0.413 -0.276 +1917 -0.334 -0.383 -0.287 -0.361 -0.308 -0.383 -0.286 -0.392 -0.285 -0.409 -0.267 +1918 -0.323 -0.370 -0.276 -0.350 -0.297 -0.373 -0.274 -0.380 -0.274 -0.398 -0.255 +1919 -0.307 -0.352 -0.260 -0.332 -0.281 -0.356 -0.257 -0.362 -0.259 -0.380 -0.239 +1920 -0.288 -0.334 -0.244 -0.313 -0.264 -0.336 -0.241 -0.342 -0.243 -0.360 -0.223 +1921 -0.273 -0.319 -0.233 -0.297 -0.250 -0.319 -0.227 -0.325 -0.231 -0.342 -0.212 +1922 -0.262 -0.307 -0.225 -0.285 -0.240 -0.306 -0.218 -0.312 -0.223 -0.328 -0.204 +1923 -0.253 -0.297 -0.218 -0.274 -0.231 -0.295 -0.210 -0.300 -0.215 -0.316 -0.197 +1924 -0.241 -0.286 -0.208 -0.262 -0.220 -0.282 -0.200 -0.288 -0.206 -0.303 -0.188 +1925 -0.229 -0.273 -0.197 -0.250 -0.208 -0.270 -0.189 -0.275 -0.195 -0.290 -0.177 +1926 -0.219 -0.262 -0.188 -0.239 -0.199 -0.259 -0.179 -0.264 -0.186 -0.279 -0.168 +1927 -0.212 -0.254 -0.182 -0.232 -0.192 -0.252 -0.172 -0.256 -0.180 -0.271 -0.162 +1928 -0.206 -0.248 -0.177 -0.226 -0.186 -0.246 -0.166 -0.250 -0.174 -0.265 -0.156 +1929 -0.198 -0.239 -0.170 -0.218 -0.178 -0.238 -0.158 -0.241 -0.167 -0.257 -0.149 +1930 -0.188 -0.229 -0.162 -0.208 -0.168 -0.229 -0.147 -0.231 -0.157 -0.247 -0.138 +1931 -0.178 -0.218 -0.152 -0.198 -0.158 -0.219 -0.136 -0.220 -0.147 -0.237 -0.127 +1932 -0.169 -0.209 -0.144 -0.188 -0.149 -0.210 -0.127 -0.211 -0.138 -0.228 -0.118 +1933 -0.161 -0.199 -0.135 -0.180 -0.141 -0.201 -0.120 -0.201 -0.130 -0.218 -0.110 +1934 -0.148 -0.186 -0.123 -0.168 -0.129 -0.187 -0.110 -0.188 -0.118 -0.203 -0.099 +1935 -0.129 -0.165 -0.105 -0.148 -0.110 -0.165 -0.092 -0.168 -0.099 -0.182 -0.082 +1936 -0.103 -0.139 -0.080 -0.122 -0.084 -0.138 -0.068 -0.142 -0.074 -0.155 -0.058 +1937 -0.075 -0.109 -0.054 -0.094 -0.055 -0.109 -0.041 -0.113 -0.047 -0.126 -0.032 +1938 -0.050 -0.081 -0.029 -0.070 -0.030 -0.083 -0.017 -0.087 -0.021 -0.099 -0.006 +1939 -0.029 -0.057 -0.003 -0.050 -0.008 -0.061 0.002 -0.065 0.002 -0.077 0.016 +1940 -0.012 -0.044 0.014 -0.034 0.010 -0.043 0.020 -0.050 0.021 -0.062 0.034 +1941 0.001 -0.033 0.029 -0.022 0.023 -0.032 0.034 -0.040 0.038 -0.051 0.051 +1942 0.012 -0.027 0.038 -0.011 0.034 -0.026 0.049 -0.032 0.049 -0.046 0.065 +1943 0.017 -0.022 0.044 -0.006 0.040 -0.025 0.060 -0.027 0.055 -0.044 0.074 +1944 0.015 -0.026 0.043 -0.008 0.037 -0.031 0.061 -0.028 0.051 -0.048 0.074 +1945 0.004 -0.035 0.033 -0.018 0.027 -0.043 0.052 -0.037 0.039 -0.058 0.064 +1946 -0.013 -0.048 0.014 -0.034 0.009 -0.059 0.034 -0.053 0.022 -0.074 0.045 +1947 -0.032 -0.069 -0.001 -0.053 -0.012 -0.076 0.011 -0.076 0.006 -0.093 0.025 +1948 -0.047 -0.091 -0.013 -0.067 -0.027 -0.086 -0.007 -0.095 -0.008 -0.109 0.009 +1949 -0.056 -0.103 -0.020 -0.075 -0.037 -0.092 -0.019 -0.104 -0.015 -0.116 -0.001 +1950 -0.055 -0.100 -0.020 -0.073 -0.036 -0.089 -0.020 -0.103 -0.015 -0.114 -0.002 +1951 -0.052 -0.092 -0.019 -0.069 -0.034 -0.087 -0.017 -0.097 -0.013 -0.109 0.000 +1952 -0.053 -0.088 -0.021 -0.070 -0.036 -0.089 -0.017 -0.094 -0.015 -0.108 -0.000 +1953 -0.061 -0.095 -0.030 -0.077 -0.044 -0.097 -0.024 -0.099 -0.024 -0.114 -0.008 +1954 -0.073 -0.107 -0.044 -0.089 -0.057 -0.110 -0.036 -0.110 -0.038 -0.125 -0.022 +1955 -0.081 -0.116 -0.053 -0.097 -0.066 -0.118 -0.044 -0.117 -0.048 -0.132 -0.032 +1956 -0.079 -0.108 -0.050 -0.094 -0.063 -0.115 -0.043 -0.111 -0.046 -0.126 -0.030 +1957 -0.062 -0.089 -0.035 -0.077 -0.047 -0.097 -0.027 -0.093 -0.031 -0.108 -0.015 +1958 -0.041 -0.065 -0.015 -0.056 -0.026 -0.075 -0.007 -0.069 -0.011 -0.084 0.005 +1959 -0.021 -0.045 0.002 -0.036 -0.007 -0.055 0.012 -0.049 0.007 -0.064 0.023 +1960 -0.012 -0.036 0.010 -0.026 0.002 -0.045 0.021 -0.039 0.014 -0.054 0.031 +1961 -0.014 -0.039 0.005 -0.028 -0.000 -0.047 0.019 -0.041 0.010 -0.057 0.028 +1962 -0.028 -0.051 -0.008 -0.041 -0.015 -0.062 0.006 -0.055 -0.004 -0.071 0.014 +1963 -0.048 -0.071 -0.028 -0.061 -0.035 -0.082 -0.014 -0.075 -0.024 -0.092 -0.006 +1964 -0.069 -0.091 -0.047 -0.082 -0.056 -0.104 -0.034 -0.095 -0.044 -0.112 -0.026 +1965 -0.082 -0.101 -0.061 -0.095 -0.070 -0.117 -0.047 -0.106 -0.058 -0.125 -0.039 +1966 -0.086 -0.104 -0.065 -0.098 -0.073 -0.121 -0.051 -0.109 -0.061 -0.128 -0.043 +1967 -0.082 -0.098 -0.061 -0.094 -0.070 -0.117 -0.047 -0.103 -0.057 -0.122 -0.039 +1968 -0.074 -0.090 -0.055 -0.086 -0.062 -0.109 -0.039 -0.095 -0.051 -0.115 -0.032 +1969 -0.069 -0.085 -0.051 -0.081 -0.058 -0.104 -0.035 -0.089 -0.047 -0.109 -0.028 +1970 -0.070 -0.084 -0.052 -0.082 -0.059 -0.105 -0.036 -0.088 -0.047 -0.109 -0.028 +1971 -0.075 -0.086 -0.057 -0.086 -0.064 -0.109 -0.041 -0.092 -0.053 -0.113 -0.034 +1972 -0.084 -0.095 -0.065 -0.095 -0.072 -0.117 -0.050 -0.100 -0.063 -0.120 -0.044 +1973 -0.094 -0.105 -0.077 -0.105 -0.083 -0.127 -0.061 -0.109 -0.074 -0.129 -0.055 +1974 -0.100 -0.111 -0.087 -0.111 -0.089 -0.132 -0.067 -0.115 -0.083 -0.136 -0.063 +1975 -0.097 -0.108 -0.086 -0.108 -0.086 -0.129 -0.064 -0.112 -0.081 -0.133 -0.061 +1976 -0.081 -0.091 -0.070 -0.092 -0.070 -0.114 -0.048 -0.096 -0.066 -0.117 -0.045 +1977 -0.053 -0.062 -0.040 -0.064 -0.042 -0.086 -0.020 -0.067 -0.037 -0.089 -0.016 +1978 -0.017 -0.028 -0.004 -0.028 -0.006 -0.050 0.017 -0.031 -0.000 -0.053 0.021 +1979 0.019 0.008 0.031 0.008 0.030 -0.015 0.053 0.003 0.036 -0.018 0.057 +1980 0.048 0.035 0.060 0.037 0.059 0.013 0.083 0.030 0.065 0.008 0.086 +1981 0.064 0.049 0.077 0.053 0.075 0.028 0.099 0.045 0.082 0.024 0.104 +1982 0.069 0.053 0.084 0.058 0.080 0.034 0.105 0.050 0.088 0.029 0.110 +1983 0.069 0.052 0.083 0.058 0.080 0.033 0.104 0.048 0.088 0.028 0.110 +1984 0.070 0.051 0.084 0.059 0.081 0.035 0.105 0.048 0.089 0.028 0.110 +1985 0.079 0.059 0.092 0.068 0.090 0.044 0.114 0.055 0.098 0.036 0.119 +1986 0.098 0.077 0.115 0.087 0.109 0.063 0.133 0.073 0.118 0.055 0.138 +1987 0.124 0.103 0.146 0.114 0.135 0.089 0.160 0.098 0.147 0.081 0.166 +1988 0.152 0.129 0.175 0.141 0.162 0.116 0.187 0.125 0.178 0.108 0.195 +1989 0.174 0.147 0.200 0.163 0.184 0.138 0.209 0.145 0.203 0.129 0.219 +1990 0.187 0.157 0.216 0.176 0.198 0.151 0.223 0.157 0.219 0.141 0.234 +1991 0.194 0.163 0.224 0.184 0.205 0.158 0.231 0.162 0.228 0.146 0.242 +1992 0.200 0.167 0.231 0.189 0.210 0.163 0.236 0.166 0.235 0.151 0.249 +1993 0.211 0.177 0.244 0.200 0.221 0.174 0.247 0.176 0.248 0.161 0.261 +1994 0.231 0.197 0.267 0.221 0.241 0.195 0.268 0.196 0.270 0.181 0.283 +1995 0.262 0.227 0.298 0.252 0.271 0.225 0.298 0.226 0.301 0.210 0.314 +1996 0.297 0.262 0.334 0.287 0.306 0.260 0.333 0.260 0.336 0.244 0.349 +1997 0.329 0.294 0.369 0.320 0.339 0.293 0.366 0.292 0.370 0.276 0.383 +1998 0.357 0.319 0.397 0.348 0.366 0.321 0.393 0.318 0.398 0.303 0.410 +1999 0.379 0.341 0.420 0.370 0.388 0.343 0.414 0.340 0.421 0.325 0.433 +2000 0.400 0.361 0.442 0.391 0.409 0.364 0.435 0.360 0.443 0.345 0.455 +2001 0.421 0.383 0.463 0.412 0.430 0.385 0.457 0.382 0.465 0.366 0.477 +2002 0.442 0.406 0.485 0.434 0.450 0.405 0.479 0.404 0.486 0.388 0.501 +2003 0.462 0.425 0.504 0.454 0.470 0.424 0.499 0.424 0.505 0.407 0.521 +2004 0.475 0.438 0.516 0.467 0.482 0.437 0.513 0.437 0.517 0.419 0.534 +2005 0.480 0.444 0.521 0.473 0.487 0.442 0.518 0.443 0.522 0.425 0.539 +2006 0.479 0.443 0.519 0.473 0.486 0.441 0.517 0.442 0.521 0.425 0.538 +2007 0.476 0.441 0.516 0.469 0.482 0.438 0.514 0.439 0.517 0.422 0.535 +2008 0.472 0.437 0.512 0.465 0.479 0.434 0.510 0.435 0.513 0.417 0.531 +2009 0.468 0.435 0.508 0.461 0.475 0.426 0.510 0.432 0.510 0.411 0.530 +2010 0.464 0.432 0.504 0.456 0.472 0.411 0.518 0.428 0.507 0.398 0.535 +2011 0.460 0.429 0.500 0.451 0.469 0.384 0.536 0.424 0.503 0.375 0.549 +2012 0.456 0.426 0.495 0.446 0.465 0.336 0.575 0.420 0.499 0.330 0.584 diff --git a/calibration/climate/climateforcing.radforc.csv b/calibration/climate/climateforcing.radforc.csv new file mode 100644 index 00000000..6f19dd39 --- /dev/null +++ b/calibration/climate/climateforcing.radforc.csv @@ -0,0 +1,1050 @@ +1950,0 +1951,0.501367512033906 +1952,0.51245454162395 +1953,0.52428126209016 +1954,0.534939965385778 +1955,0.54489832411108 +1956,0.553639909578788 +1957,0.561557771001184 +1958,0.571822978887478 +1959,0.585166345712643 +1960,0.605531012555236 +1961,0.619609649814226 +1962,0.631791296447809 +1963,0.647844669892611 +1964,0.66422193449104 +1965,0.681796552565107 +1966,0.700093107434173 +1967,0.716633205026908 +1968,0.733783037215884 +1969,0.755433420821152 +1970,0.783959328914163 +1971,0.811343556518002 +1972,0.828623831589302 +1973,0.842739909049418 +1974,0.857884756487258 +1975,0.872441707056562 +1976,0.886644885947875 +1977,0.901890567961703 +1978,0.921639984288095 +1979,0.944306632278666 +1980,0.960751235692766 +1981,0.974535162107148 +1982,0.992237511257448 +1983,1.01006447469637 +1984,1.03017697273735 +1985,1.0529606886896 +1986,1.0758236388863 +1987,1.09735111374293 +1988,1.12031355350687 +1989,1.14643706740383 +1990,1.17581674485949 +1991,1.2054748769296 +1992,1.23262054152162 +1993,1.26195059265079 +1994,1.29418680204653 +1995,1.32770697870328 +1996,1.36025187988136 +1997,1.38008137485062 +1998,1.3912531817248 +1999,1.40415693953296 +2000,1.41565001801139 +2001,1.43367416425225 +2002,1.46003369717209 +2003,1.48685177799691 +2004,1.51442600839396 +2005,1.54755199588541 +2006,1.59015587439751 +2007,1.63736814317154 +2008,1.68513457996868 +2009,1.73334845821384 +2010,1.77842165656393 +2011,1.81750874942426 +2012,1.85430460389914 +2013,1.8920132986228 +2014,1.93057979548721 +2015,1.9700814777989 +2016,2.010288074732 +2017,2.05119239727729 +2018,2.09276470732454 +2019,2.13500836246141 +2020,2.17886957542796 +2021,2.22527987625296 +2022,2.27334638112242 +2023,2.32198217807438 +2024,2.3712083658284 +2025,2.42099064852184 +2026,2.47134609923135 +2027,2.5221576783288 +2028,2.57335723825652 +2029,2.62495328543841 +2030,2.67843026073122 +2031,2.73574976598682 +2032,2.79511488302158 +2033,2.85489325483581 +2034,2.91506709175378 +2035,2.97546203128802 +2036,3.03645148095754 +2037,3.09781300315523 +2038,3.15957837042277 +2039,3.22172856123636 +2040,3.28362598080647 +2041,3.3451458459184 +2042,3.40665309998742 +2043,3.46854300481122 +2044,3.53086676149388 +2045,3.59352212749906 +2046,3.65661336324795 +2047,3.71982629804512 +2048,3.78323068695322 +2049,3.84684521074575 +2050,3.90921230498229 +2051,3.96961327957687 +2052,4.02930809653809 +2053,4.08953486554898 +2054,4.15029100581235 +2055,4.21157382378228 +2056,4.27319466763785 +2057,4.33500290958649 +2058,4.39701572626368 +2059,4.45930437926862 +2060,4.52140060024156 +2061,4.58321817894171 +2062,4.64491323590223 +2063,4.70680860862267 +2064,4.7688848762324 +2065,4.83101936780232 +2066,4.89352490780083 +2067,4.95640479590463 +2068,5.01966170627584 +2069,5.08327898876198 +2070,5.14699912217597 +2071,5.21062511711028 +2072,5.274207822213 +2073,5.33794836846264 +2074,5.40184659604604 +2075,5.46584529627458 +2076,5.53014031170563 +2077,5.59434734258411 +2078,5.65849174185237 +2079,5.72255058277367 +2080,5.7870761948899 +2081,5.8537671449416 +2082,5.92146443868865 +2083,5.98928173035284 +2084,6.05718504950783 +2085,6.12490418733564 +2086,6.19288928314523 +2087,6.26079592404254 +2088,6.32853190242118 +2089,6.39618175180608 +2090,6.46252867349279 +2091,6.52731562414278 +2092,6.59114539269545 +2093,6.65483696875295 +2094,6.7184029002074 +2095,6.78153899579083 +2096,6.84484514480591 +2097,6.90787334194953 +2098,6.9705973450758 +2099,7.03302405076771 +2100,7.09404278237959 +2101,7.15339559014941 +2102,7.21180949836927 +2103,7.26995345412591 +2104,7.32779822495606 +2105,7.38530784979724 +2106,7.44245524870804 +2107,7.49915544823361 +2108,7.55541346313591 +2109,7.61114035326798 +2110,7.66638311599235 +2111,7.72104788538884 +2112,7.77516353727704 +2113,7.82865906754808 +2114,7.881546705579 +2115,7.93379672206083 +2116,7.98540125079951 +2117,8.03630885921165 +2118,8.08653317660168 +2119,8.13602493462893 +2120,8.18476902249935 +2121,8.23280001472753 +2122,8.28005829541248 +2123,8.32656381142877 +2124,8.37226487160702 +2125,8.4171696604682 +2126,8.46125562725276 +2127,8.50453394392907 +2128,8.54698842500731 +2129,8.58860622991166 +2130,8.6293989215859 +2131,8.66933529210569 +2132,8.70841192293542 +2133,8.74664519692925 +2134,8.78400660686905 +2135,8.82051852994987 +2136,8.85619301131657 +2137,8.89100306568152 +2138,8.92494805157281 +2139,8.95800704942547 +2140,8.99022055133381 +2141,9.0216075756742 +2142,9.05212629606689 +2143,9.08180815949564 +2144,9.11066221078189 +2145,9.13866314013176 +2146,9.16587164597245 +2147,9.19219503579933 +2148,9.21771240124041 +2149,9.24244110722481 +2150,9.26638917682896 +2151,9.28951554563317 +2152,9.311849222037 +2153,9.33341767863619 +2154,9.35423961781615 +2155,9.37434935227808 +2156,9.39372231994606 +2157,9.41239924714351 +2158,9.43040483307163 +2159,9.44768030082209 +2160,9.46433169585828 +2161,9.480328955644 +2162,9.49568514194847 +2163,9.51042772850467 +2164,9.52456858741688 +2165,9.53809897773515 +2166,9.55106241037041 +2167,9.56344276019269 +2168,9.57527794438524 +2169,9.58656881864278 +2170,9.59732887322371 +2171,9.60753678613844 +2172,9.61729516502837 +2173,9.62655515041015 +2174,9.63534857588317 +2175,9.64365826230347 +2176,9.65152822954149 +2177,9.65895864638552 +2178,9.6659613603453 +2179,9.6725619127419 +2180,9.6787654599301 +2181,9.68460159571118 +2182,9.69004617601289 +2183,9.69515097110911 +2184,9.6998992317143 +2185,9.70427393196148 +2186,9.70834077074538 +2187,9.71207488076671 +2188,9.71551618575829 +2189,9.71866312152307 +2190,9.72152628198559 +2191,9.72413324215638 +2192,9.7264302149521 +2193,9.72849325440331 +2194,9.73030176479081 +2195,9.73189454473484 +2196,9.73324547245737 +2197,9.7343871165761 +2198,9.73529408068836 +2199,9.73602164521649 +2200,9.73656522858753 +2201,9.73708389523928 +2202,9.7375560472136 +2203,9.73801719403612 +2204,9.73845549303439 +2205,9.7388764567481 +2206,9.73925253596346 +2207,9.73964746149643 +2208,9.73997628690138 +2209,9.74029798908025 +2210,9.74058979214447 +2211,9.74085284629063 +2212,9.74113145757049 +2213,9.74139143589412 +2214,9.74161136577799 +2215,9.74179873782242 +2216,9.74200413001835 +2217,9.74218267789312 +2218,9.74234082488386 +2219,9.74248518442735 +2220,9.74259439151245 +2221,9.7427186465624 +2222,9.74284007518943 +2223,9.74291517608702 +2224,9.74300001139379 +2225,9.74305223309589 +2226,9.7431055001558 +2227,9.74316386094909 +2228,9.74319981495638 +2229,9.74322490260221 +2230,9.7432231949888 +2231,9.74322292837853 +2232,9.74318095965643 +2233,9.74313159164666 +2234,9.74310600280851 +2235,9.74307072694442 +2236,9.74302575103385 +2237,9.74295631791056 +2238,9.74285902011336 +2239,9.74278755019996 +2240,9.74268701217907 +2241,9.74256962694527 +2242,9.74244139451357 +2243,9.74230302707582 +2244,9.74218093279675 +2245,9.74204219367893 +2246,9.74188768509059 +2247,9.74173884759105 +2248,9.74159050906906 +2249,9.74148474450118 +2250,9.74134107734038 +2251,9.7411827001583 +2252,9.74102059537191 +2253,9.7408598003172 +2254,9.74067989147705 +2255,9.74050772852419 +2256,9.74030181604638 +2257,9.74009500453077 +2258,9.73993246001359 +2259,9.73974487360586 +2260,9.73954443842151 +2261,9.73935254375357 +2262,9.73914844933435 +2263,9.73896342051557 +2264,9.738765616536 +2265,9.73854597511216 +2266,9.73833123761458 +2267,9.73812597257976 +2268,9.73788954854405 +2269,9.73766927146665 +2270,9.73743437425741 +2271,9.73722588502161 +2272,9.73701740129469 +2273,9.73680921479429 +2274,9.73661105940808 +2275,9.73637815598263 +2276,9.73617730126137 +2277,9.73594707966884 +2278,9.7357244850643 +2279,9.73549956459764 +2280,9.73529244199137 +2281,9.73508263036501 +2282,9.73487544597816 +2283,9.73466622751134 +2284,9.73446536727988 +2285,9.73423863873745 +2286,9.73406557558072 +2287,9.73385511060342 +2288,9.73365878005643 +2289,9.73345705564356 +2290,9.73326553416726 +2291,9.73309358457046 +2292,9.73291601124229 +2293,9.73271458185299 +2294,9.73255838717843 +2295,9.73239633681068 +2296,9.73221986754243 +2297,9.73204963759539 +2298,9.73185718429355 +2299,9.73168274628196 +2300,9.73152603084641 +2301,9.73094171590451 +2302,9.7299672087705 +2303,9.72863660976638 +2304,9.72698102044571 +2305,9.72502882017745 +2306,9.72280591495015 +2307,9.7203359616402 +2308,9.71764057050731 +2309,9.71473948829557 +2310,9.711650764005 +2311,9.70839089913871 +2312,9.70497498401187 +2313,9.7014168215232 +2314,9.69772903962979 +2315,9.69392319362871 +2316,9.69000985922869 +2317,9.68599871729049 +2318,9.68189863102274 +2319,9.67771771633906 +2320,9.67346340601057 +2321,9.66914250818468 +2322,9.66476125978457 +2323,9.66032537525373 +2324,9.65584009106508 +2325,9.65131020637402 +2326,9.6467401201593 +2327,9.64213386516296 +2328,9.63749513891193 +2329,9.6328273320778 +2330,9.62813355440791 +2331,9.62341665843936 +2332,9.61867926118908 +2333,9.61392376399514 +2334,9.60915237066913 +2335,9.60436710410552 +2336,9.59956982148035 +2337,9.59476222816049 +2338,9.58994589043405 +2339,9.58512224716271 +2340,9.58029262044782 +2341,9.57545822539467 +2342,9.57062017905138 +2343,9.56577950859285 +2344,9.56093715881372 +2345,9.55609399898911 +2346,9.5512508291566 +2347,9.54640838586857 +2348,9.54156734745972 +2349,9.53672833887072 +2350,9.53189193606557 +2351,9.52705867007704 +2352,9.52222903071143 +2353,9.51740346994165 +2354,9.51258240501475 +2355,9.507766221298 +2356,9.50295527488573 +2357,9.49814989498689 +2358,9.49335038611198 +2359,9.4885570300762 +2360,9.48377008783433 +2361,9.47898980116153 +2362,9.47421639419295 +2363,9.46945007483432 +2364,9.464691036054 +2365,9.4599394570669 +2366,9.45519550441901 +2367,9.45045933298123 +2368,9.44573108685995 +2369,9.44101090023149 +2370,9.43629889810676 +2371,9.43159519703213 +2372,9.42689990573173 +2373,9.42221312569637 +2374,9.41753495172329 +2375,9.41286547241109 +2376,9.40820477061363 +2377,9.40355292385623 +2378,9.3989100047175 +2379,9.39427608117954 +2380,9.38965121694939 +2381,9.38503547175397 +2382,9.38042890161092 +2383,9.37583155907723 +2384,9.37124349347756 +2385,9.36666475111417 +2386,9.36209537545966 +2387,9.35753540733431 +2388,9.35298488506911 +2389,9.34844384465582 +2390,9.34391231988505 +2391,9.33939034247345 +2392,9.33487794218095 +2393,9.33037514691878 +2394,9.32588198284915 +2395,9.32139847447733 +2396,9.31692464473658 +2397,9.31246051506682 +2398,9.30800610548731 +2399,9.30356143466396 +2400,9.29912651997179 +2401,9.29470137755279 +2402,9.29028602236973 +2403,9.28588046825612 +2404,9.28148472796283 +2405,9.27709881320141 +2406,9.27272273468476 +2407,9.26835650216504 +2408,9.26400012446969 +2409,9.25965360953633 +2410,9.25531696445797 +2411,9.25099019548216 +2412,9.24667330803872 +2413,9.24236630677838 +2414,9.23806919559701 +2415,9.23378197765867 +2416,9.22950465541727 +2417,9.22523723063733 +2418,9.22097970441357 +2419,9.21673207718961 +2420,9.21249434877574 +2421,9.20826651836601 +2422,9.2040485845544 +2423,9.19984054535043 +2424,9.1956423981941 +2425,9.19145413997019 +2426,9.1872757670221 +2427,9.18310727516514 +2428,9.1789486596993 +2429,9.1747999154217 +2430,9.17066103663852 +2431,9.16653201717666 +2432,9.16241285039494 +2433,9.15830352919502 +2434,9.15420404603207 +2435,9.15011439292505 +2436,9.14603456146676 +2437,9.14196454283368 +2438,9.13790432779547 +2439,9.13385390672437 +2440,9.12981326960426 +2441,9.12578240603963 +2442,9.12176130526423 +2443,9.11774995614969 +2444,9.1137483472138 +2445,9.10975646662878 +2446,9.10577430222925 +2447,9.10180184152016 +2448,9.09783907168449 +2449,9.09388597959086 +2450,9.08994255180098 +2451,9.08600877457695 +2452,9.08208463388847 +2453,9.07817011541994 +2454,9.0742652045773 +2455,9.07036988649481 +2456,9.06648414604168 +2457,9.0626079678287 +2458,9.05874133621474 +2459,9.05488423531323 +2460,9.05103664899839 +2461,9.04719856091149 +2462,9.04336995446694 +2463,9.03955081285829 +2464,9.03574111906416 +2465,9.03194085585407 +2466,9.0281500057941 +2467,9.02436855125256 +2468,9.02059647440552 +2469,9.01683375724223 +2470,9.01308038157049 +2471,9.00933632902189 +2472,9.005601581057 +2473,9.00187611897047 +2474,8.99815992389601 +2475,8.99445297681133 +2476,8.99075525854299 +2477,8.98706674977112 +2478,8.98338743103415 +2479,8.9797172827334 +2480,8.97605628513758 +2481,8.97240441838728 +2482,8.96876166249932 +2483,8.96512799737105 +2484,8.9615034027846 +2485,8.95788785841103 +2486,8.95428134381438 +2487,8.95068383845575 +2488,8.94709532169717 +2489,8.94351577280554 +2490,8.93994517095639 +2491,8.93638349523767 +2492,8.93283072465337 +2493,8.92928683812715 +2494,8.9257518145059 +2495,8.92222563256319 +2496,8.91870827100272 +2497,8.91519970846164 +2498,8.91169992351384 +2499,8.90820889467323 +2500,8.90472660039685 +2501,8.90125301908799 +2502,8.89778812909928 +2503,8.89433190873565 +2504,8.89088433625727 +2505,8.88744538988243 +2506,8.88401504779037 +2507,8.88059328812403 +2508,8.87718008899279 +2509,8.87377542847511 +2510,8.87037928462113 +2511,8.86699163545525 +2512,8.86361245897859 +2513,8.86024173317151 +2514,8.85687943599592 +2515,8.85352554539772 +2516,8.85018003930904 +2517,8.8468428956505 +2518,8.84351409233348 +2519,8.84019360726218 +2520,8.83688141833581 +2521,8.83357750345063 +2522,8.83028184050199 +2523,8.82699440738625 +2524,8.82371518200282 +2525,8.82044414225594 +2526,8.8171812660566 +2527,8.81392653132435 +2528,8.81067991598901 +2529,8.80744139799245 +2530,8.80421095529026 +2531,8.80098856585349 +2532,8.79777420767087 +2533,8.79456785874889 +2534,8.7913694971141 +2535,8.78817910081463 +2536,8.78499664792166 +2537,8.78182211653083 +2538,8.77865548476365 +2539,8.77549673076881 +2540,8.77234583272356 +2541,8.76920276883494 +2542,8.76606751734107 +2543,8.76294005651237 +2544,8.75982036465275 +2545,8.75670842010074 +2546,8.75360420123066 +2547,8.75050768645371 +2548,8.747418854219 +2549,8.74433768301465 +2550,8.74126415136875 +2551,8.73819823785036 +2552,8.73513992107049 +2553,8.73208917968299 +2554,8.72904599238545 +2555,8.72601033792012 +2556,8.72298219507471 +2557,8.71996154268323 +2558,8.7169483596268 +2559,8.7139426248344 +2560,8.71094431728366 +2561,8.70795341600152 +2562,8.704969900065 +2563,8.70199374860185 +2564,8.69902494079121 +2565,8.69606345586424 +2566,8.69310927310473 +2567,8.69016237184974 +2568,8.68722273149009 +2569,8.68429033147099 +2570,8.68136515129254 +2571,8.67844717051024 +2572,8.67553636873547 +2573,8.672632725636 +2574,8.66973622093643 +2575,8.66684683441862 +2576,8.66396454592212 +2577,8.66108933534456 +2578,8.65822118264205 +2579,8.65536006782957 +2580,8.65250597098125 +2581,8.64965887223079 +2582,8.64681875177176 +2583,8.64398558985784 +2584,8.64115936680321 +2585,8.63834006298277 +2586,8.63552765883238 +2587,8.63272213484918 +2588,8.62992347159175 +2589,8.62713164968037 +2590,8.62434664979724 +2591,8.62156845268661 +2592,8.61879703915504 +2593,8.6160323900715 +2594,8.61327448636758 +2595,8.61052330903759 +2596,8.60777883913874 +2597,8.60504105779123 +2598,8.60230994617833 +2599,8.59958548554656 +2600,8.5968676572057 +2601,8.59415644252893 +2602,8.59145182295285 +2603,8.58875377997756 +2604,8.58606229516671 +2605,8.58337735014754 +2606,8.58069892661088 +2607,8.57802700631124 +2608,8.57536157106673 +2609,8.57270260275913 +2610,8.57005008333388 +2611,8.56740399480001 +2612,8.56476431923022 +2613,8.56213103876073 +2614,8.55950413559135 +2615,8.55688359198535 +2616,8.55426939026948 +2617,8.55166151283387 +2618,8.54905994213197 +2619,8.54646466068048 +2620,8.54387565105928 +2621,8.54129289591133 +2622,8.5387163779426 +2623,8.53614607992195 +2624,8.53358198468103 +2625,8.5310240751142 +2626,8.52847233417836 +2627,8.52592674489291 +2628,8.52338729033953 +2629,8.52085395366214 +2630,8.5183267180667 +2631,8.5158055668211 +2632,8.51329048325501 +2633,8.51078145075974 +2634,8.50827845278806 +2635,8.50578147285408 +2636,8.50329049453305 +2637,8.50080550146123 +2638,8.49832647733569 +2639,8.49585340591416 +2640,8.49338627101484 +2641,8.49092505651621 +2642,8.48846974635689 +2643,8.48602032453539 +2644,8.48357677510997 +2645,8.48113908219842 +2646,8.47870722997788 +2647,8.47628120268461 +2648,8.47386098461385 +2649,8.47144656011955 +2650,8.46903791361418 +2651,8.46663502956857 +2652,8.46423789251161 +2653,8.46184648703011 +2654,8.45946079776856 +2655,8.45708080942889 +2656,8.4547065067703 +2657,8.45233787460897 +2658,8.4499748978179 +2659,8.44761756132663 +2660,8.44526585012107 +2661,8.44291974924322 +2662,8.44057924379096 +2663,8.43824431891782 +2664,8.43591495983274 +2665,8.43359115179984 +2666,8.43127288013818 +2667,8.42896013022154 +2668,8.42665288747814 +2669,8.42435113739046 +2670,8.42205486549493 +2671,8.41976405738176 +2672,8.41747869869466 +2673,8.41519877513057 +2674,8.41292427243949 +2675,8.41065517642417 +2676,8.4083914729399 +2677,8.40613314789426 +2678,8.40388018724684 +2679,8.40163257700905 +2680,8.39939030324385 +2681,8.39715335206548 +2682,8.39492170963923 +2683,8.39269536218123 +2684,8.39047429595812 +2685,8.38825849728688 +2686,8.38604795253456 +2687,8.38384264811798 +2688,8.38164257050358 +2689,8.37944770620707 +2690,8.37725804179328 +2691,8.37507356387581 +2692,8.37289425911687 +2693,8.37072011422698 +2694,8.36855111596477 +2695,8.36638725113666 +2696,8.36422850659669 +2697,8.36207486924623 +2698,8.35992632603373 +2699,8.35778286395453 +2700,8.35564447005051 +2701,8.35351113140998 +2702,8.3513828351673 +2703,8.34925956850275 +2704,8.34714131864221 +2705,8.34502807285696 +2706,8.3429198184634 +2707,8.34081654282287 +2708,8.33871823334132 +2709,8.33662487746916 +2710,8.33453646270097 +2711,8.33245297657526 +2712,8.33037440667425 +2713,8.32830074062363 +2714,8.32623196609231 +2715,8.32416807079221 +2716,8.32210904247798 +2717,8.32005486894682 +2718,8.31800553803821 +2719,8.31596103763368 +2720,8.31392135565659 +2721,8.31188648007191 +2722,8.30985639888596 +2723,8.30783110014618 +2724,8.30581057194096 +2725,8.30379480239932 +2726,8.30178377969078 +2727,8.29977749202506 +2728,8.29777592765189 +2729,8.29577907486079 +2730,8.29378692198082 +2731,8.29179945738041 +2732,8.28981666946707 +2733,8.28783854668722 +2734,8.28586507752598 +2735,8.28389625050692 +2736,8.28193205419183 +2737,8.27997247718058 +2738,8.27801750811082 +2739,8.27606713565781 +2740,8.27412134853423 +2741,8.2721801354899 +2742,8.27024348531165 +2743,8.26831138682305 +2744,8.26638382888424 +2745,8.26446080039171 +2746,8.26254229027809 +2747,8.26062828751195 +2748,8.2587187810976 +2749,8.25681376007489 +2750,8.25491321351902 +2751,8.25301713054029 +2752,8.25112550028398 +2753,8.24923831193009 +2754,8.24735555469316 +2755,8.24547721782211 +2756,8.24360329059999 +2757,8.24173376234382 +2758,8.2398686224044 +2759,8.23800786016612 +2760,8.23615146504675 +2761,8.23429942649729 +2762,8.23245173400172 +2763,8.23060837707689 +2764,8.2287693452723 +2765,8.22693462816991 +2766,8.22510421538396 +2767,8.2232780965608 +2768,8.22145626137871 +2769,8.21963869954771 +2770,8.21782540080941 +2771,8.21601635493678 +2772,8.21421155173404 +2773,8.21241098103644 +2774,8.2106146327101 +2775,8.20882249665187 +2776,8.20703456278908 +2777,8.20525082107948 +2778,8.20347126151097 +2779,8.20169587410149 +2780,8.19992464889886 +2781,8.19815757598059 +2782,8.19639464545369 +2783,8.1946358474546 +2784,8.19288117214892 +2785,8.19113060973132 +2786,8.18938415042539 +2787,8.1876417844834 +2788,8.18590350218624 +2789,8.18416929384321 +2790,8.18243914979188 +2791,8.18071306039792 +2792,8.17899101605499 +2793,8.17727300718454 +2794,8.1755590242357 +2795,8.1738490576851 +2796,8.17214309803673 +2797,8.17044113582183 +2798,8.16874316159867 +2799,8.16704916595249 +2800,8.1653591394953 +2801,8.16367307286573 +2802,8.16199095672896 +2803,8.1603127817765 +2804,8.15863853872608 +2805,8.15696821832154 +2806,8.15530181133265 +2807,8.153639308555 +2808,8.15198070080985 +2809,8.150325978944 +2810,8.14867513382969 +2811,8.1470281563644 +2812,8.14538503747078 +2813,8.14374576809649 +2814,8.14211033921409 +2815,8.1404787418209 +2816,8.13885096693886 +2817,8.13722700561442 +2818,8.13560684891844 +2819,8.13399048794602 +2820,8.13237791381639 +2821,8.13076911767281 +2822,8.12916409068242 +2823,8.12756282403616 +2824,8.12596530894859 +2825,8.12437153665784 +2826,8.12278149842544 +2827,8.12119518553623 +2828,8.11961258929824 +2829,8.11803370104257 +2830,8.11645851212328 +2831,8.11488701391729 +2832,8.11331919782424 +2833,8.11175505526641 +2834,8.11019457768858 +2835,8.10863775655796 +2836,8.10708458336403 +2837,8.10553504961847 +2838,8.10398914685507 +2839,8.10244686662956 +2840,8.10090820051958 +2841,8.09937314012451 +2842,8.09784167706542 +2843,8.09631380298494 +2844,8.09478950954715 +2845,8.09326878843752 +2846,8.09175163136276 +2847,8.09023803005076 +2848,8.08872797625047 +2849,8.08722146173181 +2850,8.08571847828557 +2851,8.08421901772334 +2852,8.08272307187736 +2853,8.08123063260047 +2854,8.07974169176602 +2855,8.07825624126775 +2856,8.07677427301971 +2857,8.07529577895618 +2858,8.07382075103155 +2859,8.07234918122027 +2860,8.07088106151673 +2861,8.06941638393519 +2862,8.06795514050969 +2863,8.06649732329393 +2864,8.06504292436126 +2865,8.0635919358045 +2866,8.06214434973594 +2867,8.0607001582872 +2868,8.05925935360917 +2869,8.05782192787194 +2870,8.05638787326467 +2871,8.05495718199557 +2872,8.05352984629178 +2873,8.05210585839929 +2874,8.05068521058291 +2875,8.0492678951261 +2876,8.04785390433099 +2877,8.04644323051823 +2878,8.04503586602696 +2879,8.04363180321471 +2880,8.04223103445733 +2881,8.04083355214892 +2882,8.03943934870174 +2883,8.03804841654618 +2884,8.03666074813061 +2885,8.03527633592141 +2886,8.03389517240278 +2887,8.03251725007678 +2888,8.0311425614632 +2889,8.02977109909949 +2890,8.0284028555407 +2891,8.02703782335944 +2892,8.02567599514575 +2893,8.02431736350708 +2894,8.02296192106824 +2895,8.02160966047126 +2896,8.0202605743754 +2897,8.01891465545703 +2898,8.0175718964096 +2899,8.01623228994357 +2900,8.01489582878633 +2901,8.01356250568214 +2902,8.0122323133921 +2903,8.01090524469404 +2904,8.00958129238248 +2905,8.00826044926858 +2906,8.00694270818007 +2907,8.00562806196117 +2908,8.00431650347256 +2909,8.00300802559132 +2910,8.00170262121084 +2911,8.00040028324079 +2912,7.99910100460706 +2913,7.99780477825169 +2914,7.99651159713282 +2915,7.99522145422464 +2916,7.99393434251733 +2917,7.99265025501697 +2918,7.99136918474557 +2919,7.99009112474092 +2920,7.98881606805659 +2921,7.98754400776188 +2922,7.98627493694173 +2923,7.98500884869669 +2924,7.98374573614288 +2925,7.98248559241191 +2926,7.98122841065086 +2927,7.97997418402217 +2928,7.97872290570368 +2929,7.97747456888849 +2930,7.97622916678498 +2931,7.9749866926167 +2932,7.97374713962237 +2933,7.97251050105581 +2934,7.97127677018589 +2935,7.97004594029647 +2936,7.96881800468639 +2937,7.96759295666939 +2938,7.96637078957407 +2939,7.96515149674384 +2940,7.96393507153689 +2941,7.96272150732613 +2942,7.96151079749915 +2943,7.96030293545817 +2944,7.95909791462 +2945,7.95789572841598 +2946,7.95669637029197 +2947,7.95549983370828 +2948,7.9543061121396 +2949,7.95311519907504 +2950,7.951927088018 +2951,7.95074177248617 +2952,7.94955924601148 +2953,7.94837950214006 +2954,7.9472025344322 +2955,7.9460283364623 +2956,7.94485690181883 +2957,7.94368822410431 +2958,7.94252229693524 +2959,7.94135911394206 +2960,7.94019866876916 +2961,7.93904095507477 +2962,7.93788596653096 +2963,7.93673369682361 +2964,7.93558413965235 +2965,7.93443728873051 +2966,7.93329313778512 +2967,7.93215168055685 +2968,7.93101291079998 +2969,7.92987682228233 +2970,7.92874340878527 +2971,7.92761266410366 +2972,7.92648458204583 +2973,7.9253591564335 +2974,7.9242363811018 +2975,7.92311624989919 +2976,7.92199875668746 +2977,7.92088389534165 +2978,7.91977165975007 +2979,7.91866204381424 +2980,7.91755504144882 +2981,7.91645064658163 +2982,7.9153488531536 +2983,7.91424965511871 +2984,7.91315304644399 +2985,7.91205902110948 +2986,7.91096757310817 +2987,7.90987869644599 +2988,7.90879238514179 +2989,7.90770863322729 +2990,7.90662743474701 +2991,7.90554878375833 +2992,7.90447267433137 +2993,7.90339910054901 +2994,7.90232805650682 +2995,7.90125953631308 +2996,7.90019353408869 +2997,7.89913004396719 +2998,7.89806906009468 +2999,7.89701057662985 diff --git a/calibration/climate/fund_cs_calibration.ipynb b/calibration/climate/fund_cs_calibration.ipynb new file mode 100644 index 00000000..f1ee2e5f --- /dev/null +++ b/calibration/climate/fund_cs_calibration.ipynb @@ -0,0 +1,421 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import numpy as np\n", + "import pandas\n", + "from math import log\n", + "from scipy.optimize import leastsq\n", + "import statsmodels.api as sm" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 1, + "metadata": {}, + "source": [ + "FUND climate dynamics calibration" + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "I. Introduction" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This file calibrates the climatedynamics component. The general strategy is to fit the FUND climate component to observed past temperature data for various values of climate sensitivity using forcing output from FUND by adjusting the lifetemp parameter of the climate component. This gives a best-fit value for lifetemp for each climate sensitivity value. In a second step a regression is run to arrive at a simple formula for lifetemp as a function of climate sensitivity that is used in the actual model." + ] + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "II. Load data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Data obtained from http://www.metoffice.gov.uk/hadobs/hadcrut4/data/current/download.html on 12/2/2013 by Anthoff.\n", + "\n", + "Direct link http://www.metoffice.gov.uk/hadobs/hadcrut4/data/current/time_series/HadCRUT.4.2.0.0.annual_ns_avg_smooth.txt)." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "hadcrut4_file = pandas.read_csv('HadCRUT.4.2.0.0.annual_ns_avg_smooth.txt', \n", + " header=None, delim_whitespace=True, index_col=0, \n", + " usecols=[0,1], names=['year','temp'])" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 2 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Run FUND in default configuration and save the variable radforc in the climateforcing component to a text file." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "fundrf_file = pandas.read_csv('climateforcing.radforc.csv', names=['year','rf'], index_col=0)" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 3 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "III. Prepare data" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "df_obs = pandas.DataFrame(index=range(1950,2001))\n", + " \n", + "df_obs['temp'] = (hadcrut4_file -hadcrut4_file.loc[1850:1870].mean())\n", + "df_obs['rf'] = fundrf_file['rf']\n", + " \n", + "df_obs.plot()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 4, + "text": [ + "" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nrkJggg==\n", + "text": [ + "" + ] + } + ], + "prompt_number": 4 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "IV. Fit step" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Code for the climate dynamics component in FUND" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "def ClimateForcingModule(rf, lifetemp, t0, cs):\n", + " temp = []\n", + " temp.append(t0)\n", + " \n", + " delaytemp = 1.0/lifetemp\n", + " temps = cs / 5.35 / log(2.0)\n", + " \n", + " for t in range(0,len(rf)): \n", + " temp.append(temp[t] + delaytemp * temps * rf[t] - delaytemp * temp[t])\n", + " \n", + " return temp" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 5 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Code that computes the residuals between the climate dynamics component and observations for a given set of parameters" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "def residuals(lifetemp,temp,rf, t0, cs): \n", + " calculated = ClimateForcingModule(rf[1:],lifetemp, t0, cs)\n", + " rr = temp-calculated\n", + " return rr" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 6 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Fit the model for all climate sensitivities between 1.5 and 15.5 (stepsize 0.1), the calibrated parameter is lifetemp." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "css = np.arange(1.5,15.5,0.1)\n", + "lifetemps = np.zeros(len(css))\n", + "\n", + "for ix, cs in enumerate(css):\n", + " pqrs = leastsq(residuals, [66.0],args=(df_obs['temp'].values,df_obs['rf'].values, 0.2, cs))\n", + " lifetemps[ix] = pqrs[0][0] " + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 7 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "fittedvalues = pandas.DataFrame(lifetemps, index=css)\n", + "fittedvalues.plot()\n", + "xlabel('climate sensitivity')\n", + "ylabel('lifetemp')" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 8, + "text": [ + "" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nvatd4ty5c8pqtTq3R44cqZYtW1biNc2bN1eAPOQhD3nIowqP5s2bV+n72FBnDjf9tvDQhg0bsFgs\n/Pe//2XixIklXvPzzz/rEU0IIWoVQxUHgPfee4/hw4eTn59PZGQkjRs31juSEELUOqa7Q1oIIYT7\nGepqpYqY4Qa5w4cP07NnT1q1akVISAgLFy7UO1K5CgoKsNlshIWF6R2lXBcuXGDw4MHcfffdhrt6\nrbiPPvqIrl270r59e1566SW94zgNGTIEb29v2rRp43wuOzub8PBwLBYLffv2JScnR8eEmrJyjh8/\nnpYtW9KuXTteeuklcnNzdUyoKStnkRkzZuDp6cnZs2d1SPa78jJ+8skntGzZklatWvHKK69UvCMX\nzCNXG6vVqtavX6/S09OVv7+/On36tN6RSjl+/LhKSUlRSil1+vRp5efnp7KysnROVbYZM2aoJ554\nQoWFhekdpVxjx45VEyZMULm5uSo/P1+dO3dO70ilZGZmKl9fX5WTk6MKCgrUAw88oFatWqV3LKWU\nUhs2bFDJycmqdevWzueio6PVyJEjVV5ennrhhRfU9OnTdUyoKSvn6tWrVUFBgSooKFDDhg1TH3/8\nsY4JNWXlVEqpjIwMdf/99ytfX1+VmZmpUzpNWRl37dqlgoOD1b59+5RSSp06darC/ZjmzMEMN8gB\nNG3aFOtvt0s3btyYVq1asW3bNp1TlXbkyBFWrFjBsGHDDLmQYZE1a9bw+uuvU69ePa6//nrnRQtG\nUr9+fZRSnD9/ntzcXC5evMjNN9+sdywAunXrVipLUlISQ4cOpW7dugwZMsQQ/z8qK2evXr3w9PTE\n09OT+++/n/Xr1+uU7ndl5QQYM2YM06ZN0yFRaWVlXLlyJUOHDqVFixYA3HbbbRXuxzTFweg3yJXl\n559/Zvfu3XTq1EnvKKWMHj2a6dOn4+lp3P8JHDlyhLy8POx2O507dyY6Opq8vDy9Y5VSv3594uPj\n8fX1pWnTptxzzz2G/DcvUvz/SwEBASQlJemcqGIfffSRYYc/Fy9ejI+PD23bttU7SrlWr17N//73\nPzp06MCwYcP48ccfK3yPcb8ZTC47O5sBAwYwc+ZMbrzxRr3jlLBs2TKaNGmCzWYz9FlDXl4e+/bt\no3///jgcDnbv3s0XX3yhd6xSTp8+jd1u58cffyQ9PZ0tW7awfPlyvWOVy8j/5mWZPHkyDRs25NHK\n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\n", + "text": [ + "" + ] + } + ], + "prompt_number": 8 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "V. Regression step" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Run a regression lifetemp ~ cs + cs^2." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "x1 = css\n", + "x2 = css**2.0\n", + "y = lifetemps\n", + "\n", + "x = np.column_stack((x1,x2))\n", + "x = sm.add_constant(x, prepend=True)\n", + "\n", + "res = sm.OLS(y,x).fit()" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 9 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "print res.params" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "[ -4.27421953e+01 2.90603121e+01 1.45642228e-03]\n" + ] + } + ], + "prompt_number": 10 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "print res.bse" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "[ 0.00755182 0.00201893 0.00011682]\n" + ] + } + ], + "prompt_number": 11 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "print res.summary()" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + " OLS Regression Results \n", + "==============================================================================\n", + "Dep. Variable: y R-squared: 1.000\n", + "Model: OLS Adj. R-squared: 1.000\n", + "Method: Least Squares F-statistic: 2.372e+09\n", + "Date: Fri, 28 Feb 2014 Prob (F-statistic): 0.00\n", + "Time: 17:31:07 Log-Likelihood: 349.22\n", + "No. Observations: 140 AIC: -692.4\n", + "Df Residuals: 137 BIC: -683.6\n", + "Df Model: 2 \n", + "==============================================================================\n", + " coef std err t P>|t| [95.0% Conf. Int.]\n", + "------------------------------------------------------------------------------\n", + "const -42.7422 0.008 -5659.850 0.000 -42.757 -42.727\n", + "x1 29.0603 0.002 1.44e+04 0.000 29.056 29.064\n", + "x2 0.0015 0.000 12.467 0.000 0.001 0.002\n", + "==============================================================================\n", + "Omnibus: 42.103 Durbin-Watson: 0.723\n", + "Prob(Omnibus): 0.000 Jarque-Bera (JB): 820.842\n", + "Skew: -0.243 Prob(JB): 5.71e-179\n", + "Kurtosis: 14.852 Cond. No. 513.\n", + "==============================================================================\n" + ] + } + ], + "prompt_number": 12 + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "print 'Half life CS 3:', res.params[0] + res.params[1] * 3.0 + res.params[2] * 9.0" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Half life CS 3: 44.4518487557\n" + ] + } + ], + "prompt_number": 13 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "VI. Output" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Write the input files for the model." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "with open('../../Fund/Data/Base/lifetempconst.csv','w') as f:\n", + " f.write('# FUND scenario\\n')\n", + " f.write(str(res.params[0]))\n", + " f.write('\\n')\n", + " \n", + "with open('../../Fund/Data/Base/lifetemplin.csv','w') as f:\n", + " f.write('# FUND scenario\\n')\n", + " f.write(str(res.params[1]))\n", + " f.write('\\n')\n", + " \n", + "with open('../../Fund/Data/Base/lifetempqd.csv','w') as f:\n", + " f.write('# FUND scenario\\n')\n", + " f.write(str(res.params[2]))\n", + " f.write('\\n') " + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 14 + } + ], + "metadata": {} + } + ] +} \ No newline at end of file