Skip to content

NDSL User Manual

The NASA–NOAA Domain-Specific Language (NDSL) is a modern framework for developing high-performance Earth system model components with a focus on portability, readability, and computational efficiency. NDSL enables scientists and developers to write expressive, maintainable code that can target multiple hardware architectures, including CPUs and GPUs, while preserving scientific integrity and performance.

NDSL is designed to bridge the gap between atmospheric science and modern software engineering practices. By abstracting backend-specific implementation details, NDSL allows users to focus on scientific development while leveraging scalable and portable computational infrastructure underneath.

This documentation serves as both an introduction for new users and a reference for active developers working within the NDSL framework.

What You Will Learn

The NDSL user guide introduces relevant concepts and provides knowledge needed to use NDSL. By the end of this guide, users will be introduced to the following:

Intended Audience

This guide is intended for:

  • Atmospheric and Earth system scientists
  • Developers porting legacy model components
  • Researchers exploring CPU/GPU portability
  • Contributors developing new NDSL features and workflows

Whether you are getting started with NDSL concepts or actively integrating NDSL into existing modeling systems, this documentation is designed to provide the foundational knowledge needed to work effectively within the framework.