Skip to content
ceceliadid edited this page Feb 28, 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 pre-configured. On pre-configured platforms, the libraries are already available. Note also that on preconfigured platforms, the CIME workflow of the ufs-mrweather-app already contains this information and the user does not have to load modules or set environment variables for NCEPLIBS-external or NCEPLIBS.

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 them as a first step, to see if your system or one similar to it is included. At the end of each of the doc/README_*.txt files, information is provided on how to load the libraries on preconfigured platforms or set the required variables on other platforms. 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 define a WORK directory path before you get started.

If your platform is not included in the platform- and compiler-specific README files, there is a more generic set of instructions in the the top-level README.md of this repository, and at the top level 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