# NCAR Command Language

> programming language for climate data

**Wikidata**: [Q130367486](https://www.wikidata.org/wiki/Q130367486)  
**Source**: https://4ort.xyz/entity/ncar-command-language

## Summary
The NCAR Command Language (NCL) is a programming language developed by the National Center for Atmospheric Research (NCAR) specifically for the analysis and visualization of climate data. It is designed to process complex scientific file formats such as netCDF, GRIB, and HDF. The language is open-source, distributed under the Apache Software License 2.0.

## Key Facts
- **Formal Name:** NCAR Command Language
- **Alias:** NCL
- **Category:** Programming language (specifically for climate data)
- **Developer:** National Center for Atmospheric Research (NCAR)
- **License:** Apache Software License 2.0
- **Website:** https://www.ncl.ucar.edu/
- **Software Package:** Available via Macports as `ncarg`
- **Copyright Status:** Copyrighted
- **Primary User Documentation:** NCL User Guide (v1.1)

## FAQs
### Q: What is the primary purpose of the NCAR Command Language?
A: NCL is a programming language designed specifically for the retrieval, analysis, and visualization of climate data. It allows scientists to process data stored in industry-specific formats like netCDF and GRIB.

### Q: Who develops and maintains NCL?
A: The language is developed by the National Center for Atmospheric Research (NCAR).

### Q: What file formats can the NCAR Command Language read and write?
A: NCL can read NCL files, netCDF, Hierarchical Data Format (HDF), HDF5, Community Climate Model History Tape Format, and GRIB codes. It supports writing to NCL files.

## Why It Matters
The NCAR Command Language occupies a critical niche in the field of atmospheric science and computational meteorology. Unlike general-purpose programming languages, NCL is built with robust, native support for the specific data structures and file formats that define climate research, such as netCDF, GRIB, and the Community Climate Model History Tape Format.

By providing a specialized syntax for handling these complex hierarchical data sets, it lowers the barrier to entry for data analysis in the geosciences. Researchers can process vast amounts of climate model output and observational data without needing to write low-level I/O handlers from scratch. The language’s development under the National Center for Atmospheric Research ensures it is tailored to the specific workflows of the climate modeling community. Furthermore, its release under the Apache Software License 2.0 provides an open standard that encourages widespread adoption and reproducibility in scientific research.

## Notable For
- **Specialized Domain:** Being a programming language explicitly classified for "climate data" rather than general computation.
- **Extensive Format Support:** Native ability to read standard scientific formats including netCDF, GRIB, HDF, and HDF5 without external libraries.
- **Institutional Backing:** Development by the National Center for Atmospheric Research, a leading institution in atmospheric science.
- **Open Licensing:** Distribution under the permissive Apache Software License 2.0.

## Body
### Development and Licensing
The NCAR Command Language (NCL) is maintained by the National Center for Atmospheric Research. The project is copyrighted but released under the Apache Software License 2.0, allowing for broad usage and modification within the scientific community. The official source code and license details are hosted on GitHub.

### Technical Specifications
NCL is classified as an interpreted programming language designed for communicating instructions to a machine. It features a robust file handling system capable of reading and writing data specific to atmospheric and oceanic models.

### Supported File Formats
NCL distinguishes itself through extensive support for scientific data formats. The language is capable of reading the following file types:
*   **NCL file:** Native file format.
*   **netCDF:** Network Common Data Form.
*   **Hierarchical Data Format:** Including standard HDF and HDF5.
*   **GRIB:** GRIdded Binary.
*   **Community Climate Model History Tape Format:** Specific to NCAR's legacy models.

The language allows users to write data back to the "NCL file" format. Documentation and the user manual are available in English, with the primary portal located at `www.ncl.ucar.edu`. For software management on macOS, it is available through the Macports system under the port name `ncarg`.

## References

1. [Source](https://www.ncl.ucar.edu/)
2. [Source](https://github.com/NCAR/ncl/blob/develop/LICENSE)
3. [Source](https://www.ncl.ucar.edu/Document/Manuals/Ref_Manual/NclVariables.shtml#Files)
4. [Source](https://www.ncl.ucar.edu/Document/Manuals/Ref_Manual/NclFormatSupport.shtml)