User Tools

Site Tools


Idea: Rewriting the core of the predictor in Python

Currently the predictor is split across 4 languages:

  • The homepage and AJAX requests are served by PHP
  • The client is mostly Javascript
  • PHP starts a python script, which downloads wind data and invokes:
  • The predictor itself, a C binary

The majority of the time spent predicting is downloading wind data, so we don't really need C-performance. (Having said that, we may find we want it later when we come to do Monte Carlo …).

Benefits to moving to Python:

  • The majority of the C predictor is IO, getting wind data, reading scenarios, writing CSV. This would be far simpler in Python
  • Easier to add features, add different altitude models
  • Can have the predictor process get wind data directly, so we don't need latitude/longitude deltas - it just gets what it needs

Although we intend to replace PyDAP, a Python rewrite could initially talk to PyDAP and use the existing PHP/Javascript. Indeed, it looks like it would be fairly simple to break work on the predictor up into independent stages, with rewriting the C being one.

tawhiri/rewrite_core.txt · Last modified: 2012/12/28 12:34 by danielrichman