From c4bb0f7149605a4f0300f4f44619ba839c6fee28 Mon Sep 17 00:00:00 2001 From: Florian Deconinck Date: Mon, 5 Feb 2024 13:16:31 -0500 Subject: [PATCH] README update --- README.md | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0faa83e6..3996801d 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,21 @@ # NOAA/NASA Domain Specific Language middleware -Use `git clone --recurse-submodule` to pull all vetted versions of the submodules used by `ndsl` +NDSL is a middleware for climate and weather modelling developped conjointment by NOAA and NASA. The middleware brings together [GT4Py](https://github.com/GridTools/gt4py/) (the `cartesian` flavor), an ETH CSCS's stencil DSL, and [DaCE](https://github.com/spcl/dace/), an ETH SPCL's data flow framework, both developped for high-performance and portability. On top of those pillars, NDSL deploys a series of optimized APIs for common operations (Halo exchange, domain decomposition, MPI...) and a set of bespoke optimizations for the models targeted by the middleware. + +## Battery-included for FV-based models + +Historically NDSL was developed to port the FV3 dynamical core on the cube-sphere. Therefore, the middleware ships with ready-to-execute specilization for models based on cube-sphere grid and FV-based model in particular. + +## Quickstart + +NDSL submodules `gt4py` and `dace` to point to vetted versions, use `git clone --recurse-submodule`. + +NDSL is __NOT__ available on `pypi`. Installation of the package has to be local, via `pip install ./NDSL` (`-e` supported). The packages has a few options: + +- `ndsl[test]`: installs the test packages (based on `pytest`) +- `ndsl[develop]`: installs tools for development and tests. + +Tests are available via: + +- `pytest -x test`: running CPU serial tests (GPU as well if `cupy` is installed) +- `mpirun -np 6 pytest -x test/mpi`: running CPU parallel tests (GPU as well if `cupy` is installed)