cryotools / cosipy

Coupled snowpack and ice surface energy and mass balance model in Python
GNU General Public License v3.0
52 stars 30 forks source link

Suggest adding option for using SLSQP method in scipy minimizer #32

Closed emilycollier closed 3 years ago

emilycollier commented 4 years ago

My tests show surface temperature update is 25% faster with local bounded method 'SLSQP' compared with ’L-BFGS-B’ with minimal impact on solution for both the log and adaptive re-meshing options.

ts h le b

emilycollier commented 4 years ago

Also, scipy.optimize.newton is even faster (+50% in my tests) with minimal impact on solution (cumulative MB after 12 days differs by less than 0.5% for all three surface temperature solutions) although there is no lower bound imposed. Let me know if you would like a PR for these options.

fig1

emilycollier commented 3 years ago

Added both SLSQP method and scipy.optimize.newton (secant method) as options in new release on master (COSIPY v1.4).