ciceroOslo / ciceroscm

Python version of the CICERO-SCM simple climate model/emulator
Apache License 2.0
18 stars 4 forks source link

Running variable time periods #31

Closed GlenPetersCICERO closed 2 years ago

GlenPetersCICERO commented 2 years ago

Ok, I have been thinking about this one some more. The current model is fixed to fun 1750 to 2500. Maybe the endyear variable cuts that off at 2100. But, overall, I think it would be very sensible to allow flexible start year (sy) and end year (ey). For example, you could read the year variable in the emissions input file to get the sy and ey. I know there are potential problems with sy, needing concentrations and potential spin up issues. However, what is special about 1750? (we have lots of LUC emissions pre-1750). Why not 1850, or 1000, or 1900, or 2000 for that matter. The user should know the pitfalls with spin up issues.

What is the advantage will maximizing flexibility with sy and ey? Run time. There are many issues related to run time issues. Well, if your code is O(N), then half the year and half the run time. If you could is O(NlogN) or O(N^2), or something, then probably the best thing to do to speed up is change the years the model runs.

There is also read in overhead (I will make another issue on this). Since the current formulation has to do several read in and read outs for each model run, which is probably O(N), then any MC formulation is going to be slow, I would suspect.

maritsandstad commented 2 years ago

Fixed in #29