Comments (7)
This makes CarbonAbsorbtionHandler very similar in CarbonReductionHandler.
I have however discovered another problem with it.
Imagine a very unrealistic (but theoretically correct) situation:
Country A has area 100 and 100% of it is arable
Country B has area 100000 and 100% of it is arable
Now country A can invest in carbon absorption and changes 1% of its arable land into forest. It cost it, let's say $1000. It gives them 1*X in tonnes of carbon per year added to Carbon Absorption. (X is how much carbon per year is absorbed by 1 nit of forest)
Country B invests in carbon absorption and changes its 1% arable land into forest. It costs exactly the same - $1000 as the price depends on the percentage change. It however gives them 1000*X in tonnes of carbon per year in Carbon Absorption.
I think it is not very real, but acceptable for our model. What do you think?
from kyoto.
Same issue applies to carbon reduction.
from kyoto.
That's not what I meant.
My idea is that only price of a single block of forest depends on the percentage of area that is free (arable / total). Hence, using your example, planting trees on 1% of the area would cost different amounts. While the average price for a single block in the transaction (which we can calculate and use easily if it is a linear function) would be the same for both countries, Country B would have to pay for 1000 times more blocks than country A. Which is sensible, as it would get 1000 times higher absorption boost.
from kyoto.
Also, to comment on the function of cost itself: While quadratic is much more realistic, we think that it massively complicates things. Since we have very little time, it seems a better solution to use linear function so that it can work asap, and then, if we have time, do a quadratic function instead.
I think the formula will be realtively simple, I can implement it tomorrow at uni and write a wiki on it. It can be used both in reduction and absorption handlers.
So by the end of tomorrow, I think I'll manage to make the handlers working and hopefuly test them to prove so.
from kyoto.
Ok, I have heavily modified the CarbonReductionHandler, including its constants. Will do the same with AbsorptionHandler tomorrow, and will merge group2 which I am working in with dev.
Hence, be prepared that both will seriously change tomorrow early-afternoon, but it should not make much difference for anyone using the handlers, the only difference being that the functions now take doubles instead of longs.
from kyoto.
I have discussed the changes with Piotr and I have realized where my last model failed. Piotr's solution, although less mathematically "cool" fixes it, so I totally support what he is doing here.
from kyoto.
Done, closing.
from kyoto.
Related Issues (20)
- Re-joining Kyoto defaults to Annex 1 membership HOT 1
- Non-Annex One Countries Never report their carbon emissions
- Trade Transaction Data
- Yearly function happening before new targets are set HOT 3
- KyotoUI - carbonOutput1990 is not added from UI
- TradeProtocol behaviour HOT 3
- Class kyoto/services/Economy#updateEconomyState uses a new Random in each invocation HOT 2
- NullPointerException: For NonAnnexOne Sims HOT 3
- TradeProtocol is unpredictable HOT 1
- Carbon Absorption added to Sanctioning
- Carbon Absorption added to carbon Targeting
- Carbon reduction handler runtime exception
- NonAnnexOne countries respond to all trade broadcast messages HOT 1
- Canada agent has copied code from non annex one HOT 1
- SOME ONE SORT OUT THE F*&^IN EMAIL HOT 1
- Kyoto UI breaking Presage CLI HOT 4
- Added exception to CarbonAbsorptionHandler(), some people's code needs fixing HOT 4
- Simulations on server GDPs are 6 orders of magnitude incorrect HOT 4
- Behaviours completion HOT 7
- Cyprus keeps failing at investing in arable land HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kyoto.