Skip to content

Commit

Permalink
Submodule pointer update for ccpp-framework/ccpp-physics & option to …
Browse files Browse the repository at this point in the history
…run compile jobs of regression test suite only & -mcmodel=medium gnu.cmake option (also includes ufs-community/ufs-weather-model#2142) (#2066)

* UFSWM - Add option to `rt.sh` to run compile-only tests
  * FV3 - Update submodule pointer (NOAA-EMC/fv3atm#747)
    * ccpp-physics - Update submodule pointer (ufs-community/ccpp-physics#150)
    * ccpp-framework - Update submodule pointer (NCAR/ccpp-framework#519)
* Update WM license and documentation logo
* Update GNU.cmake: -mcmodel=medium
  • Loading branch information
climbfuji authored Feb 23, 2024
1 parent 6988662 commit d87b54c
Show file tree
Hide file tree
Showing 25 changed files with 2,148 additions and 2,070 deletions.
2 changes: 1 addition & 1 deletion FV3
27 changes: 20 additions & 7 deletions LICENSE.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
15 changes: 9 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
```
Expand Down
2 changes: 1 addition & 1 deletion cmake/GNU.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ endif()

if(DEBUG)
add_definitions(-DDEBUG)
set(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} -O0 -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check")
set(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} -O0 -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check -mcmodel=medium")
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0")
else()
set(CMAKE_Fortran_FLAGS_RELEASE "-O2")
Expand Down
10 changes: 7 additions & 3 deletions doc/UsersGuide/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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).
Expand Down
3 changes: 3 additions & 0 deletions doc/UsersGuide/requirements.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
sphinx>=6.0.0
sphinx_rtd_theme
sphinxcontrib-bibtex
85 changes: 82 additions & 3 deletions doc/UsersGuide/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,82 @@
sphinxcontrib-bibtex
sphinx_rtd_theme
docutils==0.16
#
# 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
2 changes: 1 addition & 1 deletion doc/UsersGuide/source/CodeOverview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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`)
Expand Down
2 changes: 1 addition & 1 deletion doc/UsersGuide/source/Configurations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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 <ufs-conf>`. 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 <https://github.com/ufs-community/ufs-weather-model/blob/develop/tests/parm/ufs.configure.atm.IN>`__.

Additionally, users can find examples of various RRFS configuration files in the ``ufs-weather-model/tests/parm`` `directory <https://github.com/ufs-community/ufs-weather-model/blob/develop/tests/parm/>`__. 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 <https://github.com/ufs-community/ufs-weather-model/tree/develop/tests/parm>`__. These files include ``model_configure_*``, ``*_run.IN`` (input run), ``*.nml.IN`` (input namelist), ``field_table_*``, and ``diag_table_*`` files.

.. _lnd-documented:

Expand Down
4 changes: 2 additions & 2 deletions doc/UsersGuide/source/Glossary.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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 <https://github.com/NOAA-EMC/spack-stack>`__ and `HPC-Stack <https://github.com/NOAA-EMC/hpc-stack>`__.
:term:`chgres_cube`, the UFS Weather Model, and the :term:`UPP`. They are included in `spack-stack <https://github.com/JCSDA/spack-stack>`__ and `HPC-Stack <https://github.com/NOAA-EMC/hpc-stack>`__.

NCEPLIBS-external
A collection of third-party libraries required to build :term:`NCEPLIBS`, :term:`chgres_cube`,
Expand Down Expand Up @@ -167,7 +167,7 @@ Glossary
The `Short-Range Weather Application <https://github.com/ufs-community/ufs-srweather-app>`__ 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 <https://github.com/NOAA-EMC/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) <https://ufscommunity.org/>`__ and the `Joint Effort for Data assimilation Integration (JEDI) <https://jointcenterforsatellitedataassimilation-jedi-docs.readthedocs-hosted.com/en/latest/>`__ 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 <https://github.com/JCSDA/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) <https://ufscommunity.org/>`__ and the `Joint Effort for Data assimilation Integration (JEDI) <https://jointcenterforsatellitedataassimilation-jedi-docs.readthedocs-hosted.com/en/latest/>`__ 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
Expand Down
2 changes: 1 addition & 1 deletion doc/UsersGuide/source/InputsOutputs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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 <https://github.com/ufs-community/ufs-weather-model/tree/develop/tests/parm>`__. Template names follow the pattern ``ufs.configure.*.IN``. A number of samples are available below:

* `ATMAQ <https://github.com/ufs-community/ufs-weather-model/blob/develop/tests/parm/ufs.configure.atmaq.IN>`__ configuration
* `S2S <https://github.com/ufs-community/ufs-weather-model/blob/develop/tests/parm/ufs.configure.s2s_aoflux.IN>`__ (fully coupled ``S2S`` configuration that receives atmosphere-ocean fluxes from a mediator)
* `S2S <https://github.com/ufs-community/ufs-weather-model/blob/develop/tests/parm/ufs.configure.s2s_aoflux_esmf.IN>`__ (fully coupled ``S2S`` configuration that receives atmosphere-ocean fluxes from a mediator)
* `S2SW <https://github.com/ufs-community/ufs-weather-model/blob/develop/tests/parm/ufs.configure.s2sw.IN>`__ (fully coupled ``S2SW`` configuration)
* `S2SWA <https://github.com/ufs-community/ufs-weather-model/blob/develop/tests/parm/ufs.configure.s2swa.IN>`__ (coupled GOCART in the S2SAW configuration)
* `ATM-LND <https://github.com/ufs-community/ufs-weather-model/blob/develop/tests/parm/ufs.configure.atm_lnd.IN>`__ (ATML configuration)
Expand Down
19 changes: 13 additions & 6 deletions doc/UsersGuide/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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 -------------------------------------------------

Expand All @@ -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,
Expand Down
2 changes: 1 addition & 1 deletion doc/UsersGuide/source/references.bib
Original file line number Diff line number Diff line change
Expand Up @@ -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},
}
Loading

0 comments on commit d87b54c

Please sign in to comment.