Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor Emanuel convection to support non-contiguous arrays #47

Open
mcgibbon opened this issue Jun 14, 2018 · 3 comments
Open

Refactor Emanuel convection to support non-contiguous arrays #47

mcgibbon opened this issue Jun 14, 2018 · 3 comments

Comments

@mcgibbon
Copy link
Member

Currently the Emanuel convection Fortran code is written to only work on contiguous vertical columns. Since the GFS dynamical core only works on contiguous horizontal slices, that means array copying has to occur between calls to these two components. We could re-factor the Emanuel Fortran code to avoid this.

@JoyMonteiro
Copy link
Member

Honestly, if you look at the Emanuel fortran code, I would rather write a pure python implementation than refactor it ;)

For now, I think I can live with this copy. I really plan to write a pure python implementation of the emanuel scheme, both as a learning project and to clean it up. But that is way out in the future.

@mcgibbon
Copy link
Member Author

I would suggest writing it in Cython when you do. You should see significant speed-ups relative to pure Python, and Cython isn't bad.

@mcgibbon
Copy link
Member Author

Let's leave this issue open, with the plan to eventually fix it by writing a non-Fortran Emanuel convection implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants