Skip to content
ceceliadid edited this page Mar 2, 2020 · 87 revisions

Welcome to the NCEPLIBS-external wiki!

NCEPLIBS-external and NCEPLIBS contain all the libraries required to build the UFS Weather Model and the UFS Medium-Range Weather Application. The repositories also include scripts that will help you build those libraries.

There are two categories of libraries that are needed:

  1. Bundled libraries (NCEPLIBS). These are libraries developed for use with the UFS Weather Model. Most have a NCEPLIBS prefix in the repository, e.g. NCEPLIBS-bacio. Select tools from the UFS Utilities repository (UFS-UTILS) are also included in this category.
  2. Third-party libraries (NCEPLIBS-external). These are libraries that were developed external to the UFS Weather Model. They are general software packages that are also used by other models in the community. Building these is optional, since existing builds of these libraries can be pointed to instead.

NOTE: The libraries in NCEPLIBS-external must be built before the libraries in NCEPLIBS.

Documentation and User Support

See this link for an explanation of which platforms and compilers are supported. This will help to determine if you need to build NCEPLIBS and NCEPLIBS-external or are working on a system that is preconfigured. On preconfigured platforms, the libraries are already available.

Detailed documentation on building NCEPLIBS-external, NCEPLIBS, and the UFS Weather Model is in the doc/README_*.txt files of this repository. It is a good idea to check these files as a first step, to see if your system or one similar to it is included. Be sure to use the branch or tag that corresponds to the version of the application or model code that you are using, and be sure your WORK directory path is defined before starting.

If you have found a doc/README_*.txt files for your platform:

  • To build NCEPLIBS/NCEPLIBS-external (preconfigured and other platforms), follow the instructions and stop before "How to build the model with the libraries installed."
  • To build the Weather Model (preconfigured and other platforms), follow the instructions through "How to build the model ...".
  • To build the Medium-Range Weather Application (configured platforms), follow the instructions and stop before "How to build the model ...". The CIME workflow used in the Application will be able to do the rest. Then look in the Medium-Range Weather Application Users Guide or wiki pages to build the Application.
  • To build the Medium-Range Weather Application (non-preconfigured platforms), follow the instructions in the files up to "How to build the model ...". Then look in the building the model section for how to set the required environment variables using a script called setenv_nceplibs.(c)sh. You will need to source this script as shown in the file. Then look in the Medium-Range Weather Application Users Guide or wiki pages to build the Application.

If your platform is NOT included in the platform- and compiler-specific README files, there is a more generic set of instructions in the top-level README.md of this repository, and in the top level README.md of the NCEPLIBS repository. It may still be a good idea to look at some of the platform- and compiler-specific READMEs as a guide. Again, be sure to use the branch or tag that corresponds to the version of the code that you are using.

The top-level README in this repository includes a troubleshooting section that may be helpful.

You can also get expert help through a user support forum set up specifically for issues related to build dependencies.

image_2002_build_support_forum