diff --git a/LICENSE.md b/LICENSE.md index ba11b8537c..a3a10c4366 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -10,19 +10,32 @@ This project includes a mix of the following: This project utilizes the following unmodified works under various licenses, as shown below. -- Atmos cube sphere dycore: [GNU Lesser General Public License 3.0](https://www.gnu.org/licenses/lgpl-3.0.en.html) (LGPL) +- [atmos_cubed_sphere dycore](https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere): GNU Lesser General Public License 3.0 ([LGPL](https://www.gnu.org/licenses/lgpl-3.0.en.html)) -- FV3 Atm: [GNU Lesser General Public License 3.0](https://www.gnu.org/licenses/lgpl-3.0.en.html) (LGPL) +- [fv3atm](https://github.com/NOAA-EMC/fv3atm): GNU Lesser General Public License 3.0 ([LGPL](https://www.gnu.org/licenses/lgpl-3.0.en.html)) -- NEMS: [GNU Lesser General Public License 3.0](https://www.gnu.org/licenses/lgpl-3.0.en.html) (LGPL) +- [Stochastic Physics](https://github.com/NOAA-PSL/stochastic_physics): GNU Lesser General Public License 3.0 ([LGPL](https://www.gnu.org/licenses/lgpl-3.0.en.html)) -- FMS: [GNU Lesser General Public License 3.0](https://www.gnu.org/licenses/lgpl-3.0.en.html) (LGPL) +- [CCPP Physics](https://github.com/ufs-community/ccpp-physics): [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) -- Stochastic Physics: [GNU Lesser General Public License 3.0](https://www.gnu.org/licenses/lgpl-3.0.en.html) (LGPL) +- [CCPP Framework](https://github.com/NCAR/ccpp-framework): [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) -- CCPP Physics: [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0) +- [AQM](https://github.com/NOAA-EMC/AQM): GNU General Public License 3.0 ([GPL](https://www.gnu.org/licenses/gpl-3.0.en.html)) + +- [CICE](https://github.com/NOAA-EMC/CICE): CICE Consortium license ([LICENSE.pdf](https://github.com/NOAA-EMC/CICE/blob/emc/develop/LICENSE.pdf)) + +- [CMakeModules](https://github.com/NOAA-EMC/CMakeModules): GNU Lesser General Public License 3.0 ([LGPL](https://www.gnu.org/licenses/lgpl-3.0.en.html)) + +- [GOCART](https://github.com/GEOS-ESM/GOCART): [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) + +- [HYCOM](https://github.com/NOAA-EMC/HYCOM-src): [MIT License](https://opensource.org/license/mit/) + +- [MOM6](https://github.com/NOAA-EMC/MOM6): GNU Lesser General Public License 3.0 ([LGPL](https://www.gnu.org/licenses/lgpl-3.0.en.html)) + +- [WW3](https://github.com/NOAA-EMC/WW3): GNU Lesser General Public License 3.0 ([LGPL](https://www.gnu.org/licenses/lgpl-3.0.en.html)) + +- [Unified Post Processor](https://github.com/NOAA-EMC/UPP): GNU Lesser General Public License 3.0 ([LGPL](https://www.gnu.org/licenses/lgpl-3.0.en.html)) -- CCPP Framework: [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0) ## The rest of this project is in the worldwide public domain diff --git a/README.md b/README.md index 311fec3b65..cd17b6afc2 100644 --- a/README.md +++ b/README.md @@ -18,18 +18,21 @@ The top level directory structure groups source code and input files as follow: | -------------- | ------- | | ```LICENSE.md``` | A copy of the GNU Lesser General Public License, Version 3. | | ```README.md``` | This file with basic pointers to more information. | -| ```NEMS/``` | Contains NOAA Environmental Modeling System source code and nems compset run scripts. | +| ```AQM/``` | Contains air quality modeling component | | ```CMEPS-interface/``` | Contains CMEPS mediator | +| ```CICE-interface/``` | Contains CICE sea-ice model component including CICE6 and Icepack | +| ```CDEPS-interface/``` | Contains CDEPS data components, including data-atmosphere (DATM) and data-ocean (DOCN) model components| | ```FV3/``` | Contains FV3 atmosphere model component including FV3 dynamical core, dynamics to physics driver, physics and IO. | -| ```DATM/``` | Contains Data Atmosphere model component | -| ```WW3/``` | Contains community wave modeling framework WW3. | +| ```GOCART/``` | Contains GOCART aerosol model component | +| ```HYCOM-interface/``` | Contains HYCOM ocean model component | | ```MOM6-interface/``` | Contains MOM6 ocean model component | -| ```CICE-interface/``` | Contains CICE sea-ice model component including CICE6 and Icepack | -| ```stochastic_physics/``` | Contains the stochastic physics source code. | +| ```NOAHMP-interface/``` | Contains Noah-MP land model component | +| ```WW3/``` | Contains community wave modeling framework WW3 | +| ```stochastic_physics/``` | Contains the stochastic physics source code | | ```cmake/``` | Contains compile option files on various platforms. | | ```modulefiles/``` | Contains module files on various platforms. | | ```tests/``` | Regression and unit testing framework scripts. | -| ```build.sh``` | Script to build the model executable. (also used by `tests/`) | +| ```build.sh``` | Script to build the model executable (also used by `tests/`) | E.g. use of `build.sh` to build the coupled model with `FV3_GFS_v15p2` as the CCPP suite. ``` diff --git a/doc/UsersGuide/Makefile b/doc/UsersGuide/Makefile index d0c3cbf102..a883b1dda4 100644 --- a/doc/UsersGuide/Makefile +++ b/doc/UsersGuide/Makefile @@ -3,16 +3,20 @@ # You can set these variables from the command line, and also # from the environment for the first two. -SPHINXOPTS ?= -SPHINXBUILD ?= sphinx-build +SPHINXOPTS = -a -n +SPHINXBUILD = sphinx-build SOURCEDIR = source BUILDDIR = build +LINKCHECKDIR = $(BUILDDIR)/linkcheck # Put it first so that "make" without argument is like "make help". help: @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -.PHONY: help Makefile +.PHONY: help Makefile linkcheck + +linkcheck: + $(SPHINXBUILD) -b linkcheck $(SPHINXOPTS) $(SOURCEDIR) $(LINKCHECKDIR) # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). diff --git a/doc/UsersGuide/requirements.in b/doc/UsersGuide/requirements.in new file mode 100644 index 0000000000..26c778f4aa --- /dev/null +++ b/doc/UsersGuide/requirements.in @@ -0,0 +1,3 @@ +sphinx>=6.0.0 +sphinx_rtd_theme +sphinxcontrib-bibtex diff --git a/doc/UsersGuide/requirements.txt b/doc/UsersGuide/requirements.txt index 7be32f526d..b4642f5872 100644 --- a/doc/UsersGuide/requirements.txt +++ b/doc/UsersGuide/requirements.txt @@ -1,3 +1,82 @@ -sphinxcontrib-bibtex -sphinx_rtd_theme -docutils==0.16 \ No newline at end of file +# +# This file is autogenerated by pip-compile with Python 3.9 +# by the following command: +# +# pip-compile requirements.in +# +alabaster==0.7.16 + # via sphinx +babel==2.14.0 + # via sphinx +certifi==2024.2.2 + # via requests +charset-normalizer==3.3.2 + # via requests +docutils==0.20.1 + # via + # pybtex-docutils + # sphinx + # sphinx-rtd-theme + # sphinxcontrib-bibtex +idna==3.6 + # via requests +imagesize==1.4.1 + # via sphinx +importlib-metadata==7.0.1 + # via + # sphinx + # sphinxcontrib-bibtex +jinja2==3.1.3 + # via sphinx +latexcodec==2.0.1 + # via pybtex +markupsafe==2.1.5 + # via jinja2 +packaging==23.2 + # via sphinx +pybtex==0.24.0 + # via + # pybtex-docutils + # sphinxcontrib-bibtex +pybtex-docutils==1.0.3 + # via sphinxcontrib-bibtex +pygments==2.17.2 + # via sphinx +pyyaml==6.0.1 + # via pybtex +requests==2.31.0 + # via sphinx +six==1.16.0 + # via + # latexcodec + # pybtex +snowballstemmer==2.2.0 + # via sphinx +sphinx==7.2.6 + # via + # -r requirements.in + # sphinx-rtd-theme + # sphinxcontrib-bibtex + # sphinxcontrib-jquery +sphinx-rtd-theme==2.0.0 + # via -r requirements.in +sphinxcontrib-applehelp==1.0.8 + # via sphinx +sphinxcontrib-bibtex==2.6.2 + # via -r requirements.in +sphinxcontrib-devhelp==1.0.6 + # via sphinx +sphinxcontrib-htmlhelp==2.0.5 + # via sphinx +sphinxcontrib-jquery==4.1 + # via sphinx-rtd-theme +sphinxcontrib-jsmath==1.0.1 + # via sphinx +sphinxcontrib-qthelp==1.0.7 + # via sphinx +sphinxcontrib-serializinghtml==1.1.10 + # via sphinx +urllib3==2.2.1 + # via requests +zipp==3.17.0 + # via importlib-metadata diff --git a/doc/UsersGuide/source/CodeOverview.rst b/doc/UsersGuide/source/CodeOverview.rst index a479309aab..a8594bce14 100644 --- a/doc/UsersGuide/source/CodeOverview.rst +++ b/doc/UsersGuide/source/CodeOverview.rst @@ -67,7 +67,7 @@ The UFS :term:`WM` repository supports the :term:`UFS` short- and medium-range w * - :term:`FV3` dynamical core - https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere * - Stochastic physics pattern generator - - https://github.com/noaa-psd/stochastic_physics + - https://github.com/NOAA-PSL/stochastic_physics * - Modular Ocean Model (:term:`MOM6`) - https://github.com/NOAA-EMC/MOM6 * - HYbrid Coordinate Ocean Model (:term:`HYCOM`) diff --git a/doc/UsersGuide/source/Configurations.rst b/doc/UsersGuide/source/Configurations.rst index 0ad596002a..7ac2cf6034 100644 --- a/doc/UsersGuide/source/Configurations.rst +++ b/doc/UsersGuide/source/Configurations.rst @@ -335,7 +335,7 @@ Each test file lists the input files required for a given test. Input files requ Information on ``ufs.configure`` files is available in :numref:`Section %s `. The supported RRFS WM RTs use the same ``ufs.configure`` file that ATM-only tests do (``ufs.configure.atm.IN``). This file can be viewed in the ``ufs-weather-model/tests/parm`` `directory `__. -Additionally, users can find examples of various RRFS configuration files in the ``ufs-weather-model/tests/parm`` `directory `__. These files include ``model_configure_*``, ``*_run.IN`` (input run), ``*.nml.IN`` (input namelist), ``field_table_*``, and ``diag_table_*`` files. +Additionally, users can find examples of various RRFS configuration files in the ``ufs-weather-model/tests/parm`` `directory `__. These files include ``model_configure_*``, ``*_run.IN`` (input run), ``*.nml.IN`` (input namelist), ``field_table_*``, and ``diag_table_*`` files. .. _lnd-documented: diff --git a/doc/UsersGuide/source/Glossary.rst b/doc/UsersGuide/source/Glossary.rst index b30a242867..4b54f0ae3c 100644 --- a/doc/UsersGuide/source/Glossary.rst +++ b/doc/UsersGuide/source/Glossary.rst @@ -120,7 +120,7 @@ Glossary NCEPLIBS The software libraries created and maintained by :term:`NCEP` that are required for running - :term:`chgres_cube`, the UFS Weather Model, and the :term:`UPP`. They are included in `spack-stack `__ and `HPC-Stack `__. + :term:`chgres_cube`, the UFS Weather Model, and the :term:`UPP`. They are included in `spack-stack `__ and `HPC-Stack `__. NCEPLIBS-external A collection of third-party libraries required to build :term:`NCEPLIBS`, :term:`chgres_cube`, @@ -167,7 +167,7 @@ Glossary The `Short-Range Weather Application `__ is a UFS Application that targets predictions of atmospheric behavior on a limited spatial domain and on time scales from minutes out to about two days. It packages a prognostic atmospheric model (the UFS Weather Model), pre- and post-processing tools, and a community workflow. spack-stack - The `spack-stack `__ is a collaborative effort between the NOAA Environmental Modeling Center (EMC), the UCAR Joint Center for Satellite Data Assimilation (JCSDA), and the Earth Prediction Innovation Center (EPIC). *spack-stack* is a repository that provides a Spack-based method for building the software stack required for numerical weather prediction (NWP) tools such as the `Unified Forecast System (UFS) `__ and the `Joint Effort for Data assimilation Integration (JEDI) `__ framework. *spack-stack* uses the Spack package manager along with custom Spack configuration files and Python scripts to simplify installation of the libraries required to run various applications. The *spack-stack* can be installed on a range of platforms and comes pre-configured for many systems. Users can install the necessary packages for a particular application and later add the missing packages for another application without having to rebuild the entire stack. + The `spack-stack `__ is a collaborative effort between the NOAA Environmental Modeling Center (EMC), the UCAR Joint Center for Satellite Data Assimilation (JCSDA), and the Earth Prediction Innovation Center (EPIC). *spack-stack* is a repository that provides a Spack-based method for building the software stack required for numerical weather prediction (NWP) tools such as the `Unified Forecast System (UFS) `__ and the `Joint Effort for Data assimilation Integration (JEDI) `__ framework. *spack-stack* uses the Spack package manager along with custom Spack configuration files and Python scripts to simplify installation of the libraries required to run various applications. The *spack-stack* can be installed on a range of platforms and comes pre-configured for many systems. Users can install the necessary packages for a particular application and later add the missing packages for another application without having to rebuild the entire stack. Suite Definition File (SDF) An external file containing information about the diff --git a/doc/UsersGuide/source/InputsOutputs.rst b/doc/UsersGuide/source/InputsOutputs.rst index 534d173579..b3b7567fda 100644 --- a/doc/UsersGuide/source/InputsOutputs.rst +++ b/doc/UsersGuide/source/InputsOutputs.rst @@ -1639,7 +1639,7 @@ A sample of the file contents is shown below: However, ``ufs.configure`` files for other configurations of the Weather Model are more complex. A full set of ``ufs.configure`` templates is available in the ``ufs-weather-model/tests/parm/`` directory `here `__. Template names follow the pattern ``ufs.configure.*.IN``. A number of samples are available below: * `ATMAQ `__ configuration - * `S2S `__ (fully coupled ``S2S`` configuration that receives atmosphere-ocean fluxes from a mediator) + * `S2S `__ (fully coupled ``S2S`` configuration that receives atmosphere-ocean fluxes from a mediator) * `S2SW `__ (fully coupled ``S2SW`` configuration) * `S2SWA `__ (coupled GOCART in the S2SAW configuration) * `ATM-LND `__ (ATML configuration) diff --git a/doc/UsersGuide/source/conf.py b/doc/UsersGuide/source/conf.py index bbe458cf54..e7c00bd318 100644 --- a/doc/UsersGuide/source/conf.py +++ b/doc/UsersGuide/source/conf.py @@ -69,12 +69,9 @@ # The master toctree document. master_doc = 'index' -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -# -# This is also used if you do content translation via gettext catalogs. -# Usually you set "language" from the command line for these cases. -language = None +# The language for content autogenerated by Sphinx. +# Not set because default is 'en'. +# language = 'en' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. @@ -84,6 +81,15 @@ # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' +# Avoid a 403 Forbidden error when accessing certain links (e.g., noaa.gov) +user_agent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36" + +# Ignore anchor tags for links that show Not Found even when they exist. +linkcheck_anchors_ignore = [r"L\d*", + ] +# Ignore working links that cause a linkcheck 403 error. +linkcheck_ignore = [r'https://agupubs\.onlinelibrary\.wiley\.com/doi/10\.1029/2020MS002260', + ] # -- Options for HTML output ------------------------------------------------- @@ -100,6 +106,7 @@ # # html_theme_options = {} html_theme_options = {"body_max_width": "none"} +html_logo="https://github.com/ufs-community/ufs/wiki/images/ufs-epic-logo.png" # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, diff --git a/doc/UsersGuide/source/references.bib b/doc/UsersGuide/source/references.bib index 92a6d96b98..0015b43304 100644 --- a/doc/UsersGuide/source/references.bib +++ b/doc/UsersGuide/source/references.bib @@ -16,6 +16,6 @@ @article{BengtssonEtAl2020 title={A Stochastic Parameterization of Organized Tropical Convection Using Cellular Automata for Global Forecasts in NOAA's Unified Forecast System}, author={L. Bengtsson and J. Dias and S. Tulich and M. Gehne and J. Bao}, journal={Journal of Advances in Modeling Earth Systems}, - url={https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2020MS002260}, + url={https://agupubs.onlinelibrary.wiley.com/doi/10.1029/2020MS002260}, year={2020}, }