Skip to content

Commit

Permalink
Update README, add doxygen to build system (#218)
Browse files Browse the repository at this point in the history
* adding doxygen docs to build system

* fixed cmake build

* updated README
  • Loading branch information
edwardhartnett authored Nov 9, 2020
1 parent 43ba912 commit b329b30
Show file tree
Hide file tree
Showing 5 changed files with 2,400 additions and 8 deletions.
11 changes: 11 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# This is the CMake build file for EMC_post (also known as UPP).
#
cmake_minimum_required(VERSION 3.15)

file(STRINGS "VERSION" pVersion LIMIT_COUNT 1)
Expand All @@ -9,9 +11,11 @@ project(

list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/Modules")

# Handle user options.
option(OPENMP "use OpenMP threading" OFF)
option(BUILD_POSTEXEC "Build NCEPpost executable" ON)
option(BUILD_WITH_WRFIO "Build NCEPpost with WRF-IO library" OFF)
option(ENABLE_DOCS "Enable generation of doxygen-based documentation." OFF)

if(NOT CMAKE_BUILD_TYPE MATCHES "^(Debug|Release|RelWithDebInfo|MinSizeRel)$")
message(STATUS "Setting build type to 'Release' as none was specified.")
Expand Down Expand Up @@ -55,3 +59,10 @@ endif()

add_subdirectory(sorc)
add_subdirectory(parm)

# If desired, build the doxygen docs.
if(ENABLE_DOCS)
find_package(Doxygen REQUIRED)
add_subdirectory(docs)
endif()

53 changes: 45 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,51 @@

# Unified Post-Processing (UPP)

The Unified Post Processing (UPP) package provides tools for post
processing for NCEP models. For historical reasons, the UPP repository
is called EMC_post.

This is part of the [NCEPLIBS](https://github.com/NOAA-EMC/NCEPLIBS)
project. It also serves as a standalone package that is distributed to
the community. It is built outside of nceplibs for some UFS
applications (e.g. SRW v1.0.0).
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
(HRRR), Short Range Ensemble Forecast (SREF), Hurricane WRF (HWRF)
applications, and is also used in Unified Forecasting System (UFS)
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
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
techniques.

Examples of UPP products include:

- T, Z, humidity, wind, cloud water, cloud ice, rain, and snow on pressure levels
- SLP, shelter level T, humidity, and wind fields
- Precipitation-related fields
- PBL-related fields
- Severe weather products (e.g. CAPE, Vorticity, Wind shear)
- Radiative/Surface fluxes
- Cloud related fields
- Aviation products
- Radar reflectivity products
- Satellite look-alike products

Support for the UFS UPP is provided through the UFS Forum by the
Developmental Testbed Center (DTC) for FV3-based applications.

The UPP uses some of the [NCEPLIBS](https://github.com/NOAA-EMC/NCEPLIBS)
project.

## Authors

Expand Down
15 changes: 15 additions & 0 deletions docs/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# This is the CMake file for building the docs directory of EMC_post.
#
# Ed Hartnett 11/5/20

# Create doxyfile.
set(abs_top_srcdir "${CMAKE_SOURCE_DIR}")
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)

# Build documentation with target all.
add_custom_target(doc ALL
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating API Documentation with Doxygen" VERBATIM)


Loading

0 comments on commit b329b30

Please sign in to comment.