Skip to content

The future of NCL in the ESMValTool #1057

@mattiarighi

Description

@mattiarighi

The discussion about the future of NCL support in the ESMValTool has come up quite frequently in the last weeks in various GitHub issues here.

The reason behind this discussion is (should be) well known: NCAR has decided to stop the development of NCL, which has been put into maintenance mode. Graphics routine have been translated to Python and are available via the PyNGL library. This means that NCL is still available and will be available "for the foreseeable future" (as NCAR itself states in its letter to users), but the transition to Python is recommended.

Some general considerations to trigger the discussion:

  • stopping NCL support in the ESMValTool right now is not realistic and the upcoming v2.0 will still need to support NCL (for the diagnostics and the CMORizers).
  • external diagnostic packages that are (or are going to be) implemented in the ESMValTool and are written in NCL still exist (e.g., CVDP).
  • several (how many?) ESMValTool developers can only contribute NCL diagnostics and may not want to contribute code in another language or may not have the resources to do that. A survey across all ESMValTool users and developers might help us to get a better feeling on this.
  • according to NCAR: "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". It would be good to get in touch with the NCL development team to better understand the actual perspectives. Are we talking about months or years? What happens in case of NCL installation issues on new systems? Would support still be provided in such cases? Etc.
  • after the release of v2.0, we should start recommending our NCL develoeprs to switch to Python, maybe using the aforementioned PyNGL package to make this transition smooth (a transition guide by DKRZ is also available).
  • based on my experience in coordinating the v2.0 development, the coding quality standards of the ESMValTool require a non negligible amount of additional resources (for both developers and reviewers), which might discourage the newbies to switch from NCL to python.
  • we should be aware that by reducing the multi-language support, we face the risk of losing a (significant?) part of the ESMValTool community.

@ESMValGroup/esmvaltool-coreteam
@zklaus @hb326 @LisaBock @ruthlorenz (please tag other non-core members who might be interested in this topic).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions