OGGM / oggm

Open Global Glacier Model
http://oggm.org
BSD 3-Clause "New" or "Revised" License
214 stars 104 forks source link

Strategy for daily model and sfc type model implementation in OGGM #1703

Open fmaussion opened 4 months ago

fmaussion commented 4 months ago

@bearecinos after our meeting and some thinking with @lilianschuster, I'd suggest the following:

If you can solve most of the failing tests on mb-sandbox in a reasonable time, it's worth spending the effort to have a benchmark we can work with. However, @lilianschuster said that there is also quite some boiler-plate code that might hinder development itself, so if this gets too complicated maybe drop this step altogether.

Regardless of the outcome of the above, perhaps the easiest would still be to start from scratch on OGGM core itself, by:

Thoughts?

bearecinos commented 4 months ago

Yep sounds good ... happy to start the script and the class and ask input when needed. The aim first would be to re-create that test_prepro.py::test_mb_calibration_from_scalar_mb with @lilianschuster's classes/code and go from there... to put together the new massbalance_sandbox.py script.

bearecinos commented 2 months ago

@fmaussion @lilianschuster I've started working on this and the first thing that I notice is that before the DailyTIModel class we might need another Superclass e.g. class MassBalanceModel(object, metaclass=SuperclassMeta): at the top?

Lili's code has a different way of defining that though.. She has a TIModel_Parent class which does not look quite the same? The parent class deals with chosen different MB types within Lili's code (e.g. smb with surface type distinction etc) The question is perhaps more for @lilianschuster: The code that we want to keep and integrate is it both? the: TIModel_Parent(MassBalanceModel) and TIModel(TIModel_Parent): or just the TIModel(TIModel_Parent):?? I guess the main feature is everything related in both classes to the mb_type = mb_real_daily