Skip to content

Commit

Permalink
Merge pull request #62 from kayeekayee/2024aug4_be0410e
Browse files Browse the repository at this point in the history
Update to hash #be0410e (Apr 23)
  • Loading branch information
jderrico-noaa authored Sep 26, 2024
2 parents 93db5ad + 5f26cc9 commit d75e490
Show file tree
Hide file tree
Showing 102 changed files with 8,379 additions and 4,137 deletions.
5 changes: 3 additions & 2 deletions .github/workflows/gcc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ defaults:
shell: bash -leo pipefail {0}

env:
cache_key: gcc2 # The number (#) following the cache_key "gcc" is to flush Action cache.
cache_key: gcc3 # The number (#) following the cache_key "gcc" is to flush Action cache.
CC: gcc-10
FC: gfortran-10
CXX: g++-10
Expand Down Expand Up @@ -60,6 +60,7 @@ jobs:
sudo apt install cmake
spack external find
spack add [email protected]
spack add doxygen
spack concretize
spack install -v --fail-fast --dirty
spack clean --all
Expand Down Expand Up @@ -91,6 +92,6 @@ jobs:
export FC=mpif90
cd UPP
mkdir -p build && cd build
cmake -DCMAKE_INSTALL_PREFIX=../install ..
cmake -DENABLE_DOCS=ON -DCMAKE_INSTALL_PREFIX=../install ..
make -j2 VERBOSE=1
make install
2 changes: 1 addition & 1 deletion .github/workflows/intel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ jobs:
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
sudo apt-get update
sudo apt-get install intel-oneapi-dev-utilities intel-oneapi-mpi-devel intel-oneapi-openmp intel-oneapi-compiler-fortran intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic
sudo apt-get install intel-oneapi-dev-utilities intel-oneapi-mpi-devel intel-oneapi-openmp intel-oneapi-compiler-fortran-2023.2.1 intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic-2023.2.1
echo "source /opt/intel/oneapi/setvars.sh" >> ~/.bash_profile
# Install dependencies using Spack
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
# USE CAUTION WHEN ADDING WILDCARDS, as some builds use different filename #
# conventions than others #
##############################################################################
build*/
build/*/
install*/

*.[aox]
Expand Down
5 changes: 2 additions & 3 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ build:

# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/conf.py
configuration: doc/UserGuide/conf.py

# Build documentation with MkDocs
#mkdocs:
Expand All @@ -22,6 +22,5 @@ formats: all

# Optionally set the version of Python and requirements required to build your docs
python:
# version: 3.7
install:
- requirements: docs/requirements.txt
- requirements: doc/UserGuide/requirements.txt
10 changes: 6 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
# Handle user options.
option(OPENMP "use OpenMP threading" ON)
option(BUILD_POSTEXEC "Build NCEPpost executable" ON)
option(BUILD_WITH_NEMSIO "Build NCEPpost with nemsio library" ON)
option(BUILD_WITH_WRFIO "Build NCEPpost with WRF-IO library" OFF)
option(BUILD_WITH_IFI "Build NCEPpost with In-Flight Icing (IFI) library if present" OFF)
option(REQUIRE_IFI "Abort if libIFI is not found ; enables BUILD_WITH_IFI=ON" OFF)
Expand Down Expand Up @@ -84,9 +85,10 @@ else()
endif()

if(BUILD_POSTEXEC)
find_package(nemsio REQUIRED)
find_package(sfcio REQUIRED)
find_package(sigio REQUIRED)
if(BUILD_WITH_NEMSIO)
find_package(nemsio REQUIRED)
find_package(sigio REQUIRED)
endif()
find_package(sp REQUIRED)
find_package(w3emc REQUIRED)
if(BUILD_WITH_WRFIO)
Expand Down Expand Up @@ -116,7 +118,7 @@ add_subdirectory(parm)
# If desired, build the doxygen docs.
if(ENABLE_DOCS)
find_package(Doxygen REQUIRED)
add_subdirectory(docs)
add_subdirectory(doc)
endif()

### Package config
Expand Down
32 changes: 14 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,32 @@

# Unified Post-Processing (UPP)
# Unified Post Processor (UPP)

The Unified Post Processor (UPP) software package is a software
package designed to generate useful products from raw model
output.

The UPP is currently used in operations with the Global Forecast
System (GFS), GFS Ensemble Forecast System (GEFS), North American
Mesoscale (NAM), Rapid Refresh (RAP), High Resolution Rapid Refresh
Mesoscale (NAM), Rapid Refresh (RAP), High-Resolution Rapid Refresh
(HRRR), Short Range Ensemble Forecast (SREF), and Hurricane WRF (HWRF)
applications. It is also used in the Unified Forecasting System (UFS),
including the Rapid Refresh Forecast System (RRFS), Hurricane Application
Forecasting System (HAFS), and the Medium Range Weather (MRW) and Short
applications. It is also used in the Unified Forecast System (UFS),
including the Rapid Refresh Forecast System (RRFS), Hurricane Analysis and
Forecast System (HAFS), and the Medium-Range Weather (MRW) and Short-
Range Weather (SRW) Applications.

The UPP provides the capability to compute a variety of diagnostic
fields and interpolate to pressure levels or other vertical
coordinates.

UPP also incorporates the Joint Center for Satellite Data Assimilation
(JCSDA) Community Radiative Transfer Model (CRTM) to compute model
derived brightness temperature (TB) for various instruments and
(JCSDA) Community Radiative Transfer Model (CRTM) to compute model-derived brightness temperature (TB) for various instruments and
channels. This additional feature enables the generation of a number
of simulated satellite products including GOES products.

Output from the UPP is in National Weather Service (NWS) and World
Meteorological Organization (WMO) GRIB2 format and can be used
directly by visualization, plotting, or verification packages, or for
further downstream post-processing, e.g. statistical post-processing
directly by visualization, plotting, or verification packages or for
further downstream post-processing, e.g., statistical post-processing
techniques.

Examples of UPP products include:
Expand All @@ -48,26 +47,24 @@ Examples of UPP products include:
Support for the UFS UPP is provided through [GitHub Discussions](https://github.com/NOAA-EMC/UPP/discussions).

## Documentation
User Guide for latest public release: https://upp.readthedocs.io/en/latest/.
User Guide for latest standalone public release: https://upp.readthedocs.io/en/latest/.

Technical code-level documentation: https://noaa-emc.github.io/UPP/.

## Developer Information
Please see review the [wiki](https://github.com/NOAA-EMC/UPP/wiki)
Please review the [wiki](https://github.com/NOAA-EMC/UPP/wiki)

## Authors

NCEP/EMC Developers

Code Managers: Wen Meng, Huiya Chuang, Kate Fossell
Code Managers: Wen Meng, Huiya Chuang, Fernando Andrade-Maldonado

## Prerequisites

The UPP requires certain NCEPLIBS packages to be installed via the
HPC-Stack project. For instructions on installing these packages as a
bundle via HPC-Stack, see: https://hpc-stack.readthedocs.io/en/latest/.
Users may instead install packages via spack-stack. For instructions,
see: https://spack-stack.readthedocs.io/en/latest/.
spack-stack project. For instructions on installing these packages as a
bundle via spack-stack, see: https://spack-stack.readthedocs.io/en/latest/.
The `UPP/modulefiles` directory indicates which package versions are
used and supported on Level 1 systems.

Expand All @@ -87,7 +84,6 @@ BUILD_POSTEXEC):
- [NCEPLIBS-sigio](https://github.com/NOAA-EMC/NCEPLIBS-sigio)
- [NCEPLIBS-sfcio](https://github.com/NOAA-EMC/NCEPLIBS-sfcio)
- [NCEPLIBS-nemsio](https://github.com/NOAA-EMC/NCEPLIBS-nemsio)
- [NCEPLIBS-gfsio](https://github.com/NOAA-EMC/NCEPLIBS-gfsio)

The [NCEPLIBS-wrf_io](https://github.com/NOAA-EMC/NCEPLIBS-wrf_io)
library is required to build with NCEPpost with WRF-IO library (cmake
Expand All @@ -110,7 +106,7 @@ Builds include:
- Inline post (UPP library): Currently only supported for the GFS, RRFS,
HAFS, and the UFS-MRW Application.

- Offline post (UPP executable): Supported for Regional applications
- Offline post (UPP executable): Supported for regional applications
including SRW, RRFS, HAFS, and standalone applications of UPP.


Expand Down
Loading

0 comments on commit d75e490

Please sign in to comment.