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 already 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. If you are planning to build the UFS Medium-Range Weather Application, you do not need to follow the instructions in those files for building the Weather Model - the Application will build the model for you.

It is a good idea to check the doc/README_*.txt files as a first step, to see if your system or one similar to it is included. At the end of each of the files, information is provided on how to load the libraries on preconfigured platforms or set the required variables on other platforms using a script called setenv_nceplibs.(c)sh. They may be all the documentation you need. 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 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