Important letter regarding the future of NCLDear NCL User,
This letter is in regard to the future of NCL, following NCAR's decision to move to Python as the scripting language of choice for future visualization and analysis software development. Note that this decision targets new development, leaving existing NCL functionality intact.
NCAR is committed to supporting data analysis software for atmospheric, oceanic, and climate science research. However, decreases in budgets and staff, coupled with the enormous functionality that Python brings to the earth sciences, has made it difficult to justify continuing new development on NCL. Python has seen rapid adoption by the earth science community and duplicates much of NCL's functionality, while adding critical features that NCL doesn't offer.
Based on recommendations from NSF, CISL and NCL advisory panels, the results of the NCL survey, and months of evaluating different strategies for the future development and support of NCL, NCAR has arrived at these major decisions, effective immediately:
- Python will be adopted as the scripting language platform for future visualization and analysis development.
- NCL's core language and file I/O will be placed into maintenance mode.
- NCL's graphics will have continued development through PyNGL*.
- NCL's unique and critical computational routines will be ported to an as-yet-to-be-named Python package.
- PyNIO* will be placed into maintenance mode.
- Development will continue on WRF-Python*.
- All software, including NCL and PyNIO, will be moved to a more open development software platform to allow for continued community development.
* PyNIO, PyNGL, and WRF-Python are Python modules built on top of NCL libraries, and are developed and supported by the NCL team.
NCAR recognizes the significance of these changes. It will take time for NCL users to transition to Python, and some users may not want to make the switch at all. As such, we want to stress that NCL is not going away. NCL users will be able to download NCL and execute their scripts for the foreseeable future.
To help users who want to begin transitioning their graphical NCL scripts to PyNGL right away, Karin Meier-Fleischer of DKRZ has written a first draft of an "NCL-to-Python Transition Guide" accompanied by a suite of NCL and Python examples. Additionally, we will soon begin converting a subset of the NCL application examples to Python, using PyNGL and matplotlib, and will continue to answer questions on the ncl-talk email list, but scaling back in order to start helping with Python questions.
For a detailed report and roadmap on the "pivot to Python" decision and transition plan, please read the "NCL and the Pivot to Python: Discussion and Roadmap" report, which can be found on a special page we created containing other supporting documents. We also created an FAQ to answer common user questions on this announcement.
The NCL team welcomes your input on this decision. We also want to know if there are other ways we can help ease the transition to Python and encourage users to become more active contributors through open development. Please use this GitHub issue to submit questions or comments so we can keep the discussion public.
John Clyne (acting group head)