Installation#
dartobsgen requires Python 3.10 or newer.
From a clone#
git clone https://github.com/CROCODILE-CESM/dartobsgen.git
cd dartobsgen
pip install -e .
What gets installed#
The core dependencies (pyarrow, dask[dataframe], pandas, shapely,
xarray, netcdf4, scikit-image, scipy, f90nml, gsw, pydartdiags,
nnja-ai) all come in with the package.
What you also need#
dartobsgen writes DART obs_seq files, so a DART checkout is required for
most workflows:
CrocLakeSourceneedsdart_path— the root of a DART clone — to resolve obs type definitions.PerfectModelSourceneeds apmo_run_dircontaining a compiledperfect_model_obsexecutable and itsinput.nml. See Synthetic observations.trim_obs_seq()andNNJASourcework onobs_seqfiles directly and need no DART build.
See the DART documentation for building DART.
Development install#
pip install -e ".[dev]" # adds pytest
pytest
Building the documentation#
pip install -e ".[docs]"
sphinx-build -b html docs docs/_build/html
open docs/_build/html/index.html
The docs build imports dartobsgen for the API reference, but only
numpy, pandas and shapely are imported at module scope — the heavier
dependencies are imported lazily inside the functions that use them. A
docs-only environment therefore does not need the full dependency set:
pip install --no-deps -e .
pip install ".[docs]"