diff --git a/.gitignore b/.gitignore
index f7ca608b4..ff3b85816 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,8 +9,15 @@
# USE CAUTION WHEN ADDING WILDCARDS, as some builds use different filename #
# conventions than others #
##############################################################################
-*.exe
-*.o
+build/
+install/
+
+*.[ao]
*.mod
-*.a
+*.so
+*.exe
+*.x
+
+*.swp
configure.upp*
+*.a
diff --git a/.gitmodules b/.gitmodules
index 318f435f6..9d045ee2a 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,7 @@
[submodule "comupp/src/lib/crtm2"]
path = sorc/comlibs/crtm2
url = https://github.com/NCAR/UPP_CRTM
+[submodule "cmake"]
+ path = cmake
+ url = https://github.com/NOAA-EMC/CMakeModules
+ branch = release/public-v1
diff --git a/.readthedocs.yml b/.readthedocs.yml
new file mode 100644
index 000000000..73f8f141c
--- /dev/null
+++ b/.readthedocs.yml
@@ -0,0 +1,24 @@
+# .readthedocs.yml
+# Read the Docs configuration file
+# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
+
+# Required
+version: 2
+
+# Build documentation in the docs/ directory with Sphinx
+sphinx:
+ configuration: docs/conf.py
+
+# Build documentation with MkDocs
+#mkdocs:
+# configuration: mkdocs.yml
+
+# Optionally build your docs in additional formats such as PDF and ePub
+formats: all
+
+# Optionally set the version of Python and requirements required to build your docs
+#python:
+# version: 3.7
+# install:
+
+# - requirements: docs/requirements.txt
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 000000000..8b3a8ebe0
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,95 @@
+cmake_minimum_required(VERSION 3.15)
+
+file(STRINGS "VERSION" pVersion)
+
+project(
+ ncep_post
+ VERSION ${pVersion}
+ LANGUAGES Fortran)
+
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/")
+
+if(POLICY CMP0054)
+ cmake_policy(SET CMP0054 NEW)
+endif()
+if(POLICY CMP0012)
+ cmake_policy(SET CMP0012 NEW)
+endif()
+
+option(OPENMP "use OpenMP threading" OFF)
+
+if(NOT CMAKE_BUILD_TYPE MATCHES "^(Debug|Release|RelWithDebInfo|MinSizeRel)$")
+ message(STATUS "Setting build type to 'Release' as none was specified.")
+ set(CMAKE_BUILD_TYPE
+ "Release"
+ CACHE STRING "Choose the type of build." FORCE)
+ set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release"
+ "MinSizeRel" "RelWithDebInfo")
+endif()
+
+if(NOT CMAKE_Fortran_COMPILER_ID MATCHES "^(Intel|GNU|Clang|AppleClang)$")
+ message(WARNING "Compiler not officially supported: ${CMAKE_Fortran_COMPILER_ID}")
+endif()
+
+find_package(MPI REQUIRED)
+find_package(PNG REQUIRED)
+find_package(Jasper REQUIRED)
+find_package(NetCDF MODULE REQUIRED)
+
+if(OPENMP)
+ find_package(OpenMP REQUIRED COMPONENTS Fortran)
+endif()
+
+set(CMAKE_FIND_PACKAGE_PREFER_CONFIG true)
+
+if(NOT TARGET sigio_4)
+ find_package(sigio REQUIRED)
+endif()
+
+if(NOT TARGET w3nco_4)
+ find_package(w3nco REQUIRED)
+endif()
+
+if(NOT TARGET g2_4)
+ find_package(g2 REQUIRED)
+endif()
+
+if(NOT TARGET g2tmpl)
+ find_package(g2tmpl REQUIRED)
+endif()
+
+if(NOT TARGET bacio_4)
+ find_package(bacio REQUIRED)
+endif()
+
+if(NOT TARGET ip_4)
+ find_package(ip REQUIRED)
+endif()
+
+if(NOT TARGET sp_4)
+ find_package(sp REQUIRED)
+endif()
+
+if(NOT TARGET sfcio_4)
+ find_package(sfcio REQUIRED)
+endif()
+
+if(NOT TARGET nemsio)
+ find_package(nemsio REQUIRED)
+endif()
+
+if(NOT TARGET gfsio_4)
+ find_package(gfsio REQUIRED)
+endif()
+
+if(NOT TARGET w3emc_4)
+ find_package(w3emc REQUIRED)
+endif()
+
+if(NOT TARGET crtm)
+ find_package(crtm REQUIRED)
+endif()
+
+add_subdirectory(sorc)
+
+install(FILES parm/postxconfig-NT-GFS.txt parm/postxconfig-NT-GFS-F00.txt DESTINATION share)
diff --git a/LICENSE.md b/LICENSE.md
new file mode 100644
index 000000000..0927556b5
--- /dev/null
+++ b/LICENSE.md
@@ -0,0 +1,157 @@
+### GNU LESSER GENERAL PUBLIC LICENSE
+
+Version 3, 29 June 2007
+
+Copyright (C) 2007 Free Software Foundation, Inc.
+
+
+Everyone is permitted to copy and distribute verbatim copies of this
+license document, but changing it is not allowed.
+
+This version of the GNU Lesser General Public License incorporates the
+terms and conditions of version 3 of the GNU General Public License,
+supplemented by the additional permissions listed below.
+
+#### 0. Additional Definitions.
+
+As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the
+GNU General Public License.
+
+"The Library" refers to a covered work governed by this License, other
+than an Application or a Combined Work as defined below.
+
+An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+#### 1. Exception to Section 3 of the GNU GPL.
+
+You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+#### 2. Conveying Modified Versions.
+
+If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+- a) under this License, provided that you make a good faith effort
+ to ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+- b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+#### 3. Object Code Incorporating Material from Library Header Files.
+
+The object code form of an Application may incorporate material from a
+header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+- a) Give prominent notice with each copy of the object code that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+- b) Accompany the object code with a copy of the GNU GPL and this
+ license document.
+
+#### 4. Combined Works.
+
+You may convey a Combined Work under terms of your choice that, taken
+together, effectively do not restrict modification of the portions of
+the Library contained in the Combined Work and reverse engineering for
+debugging such modifications, if you also do each of the following:
+
+- a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+- b) Accompany the Combined Work with a copy of the GNU GPL and this
+ license document.
+- c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+- d) Do one of the following:
+ - 0) Convey the Minimal Corresponding Source under the terms of
+ this License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+ - 1) Use a suitable shared library mechanism for linking with
+ the Library. A suitable mechanism is one that (a) uses at run
+ time a copy of the Library already present on the user's
+ computer system, and (b) will operate properly with a modified
+ version of the Library that is interface-compatible with the
+ Linked Version.
+- e) Provide Installation Information, but only if you would
+ otherwise be required to provide such information under section 6
+ of the GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the Application
+ with a modified version of the Linked Version. (If you use option
+ 4d0, the Installation Information must accompany the Minimal
+ Corresponding Source and Corresponding Application Code. If you
+ use option 4d1, you must provide the Installation Information in
+ the manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.)
+
+#### 5. Combined Libraries.
+
+You may place library facilities that are a work based on the Library
+side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+- a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities, conveyed under the terms of this License.
+- b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+#### 6. Revised Versions of the GNU Lesser General Public License.
+
+The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+as you received it specifies that a certain numbered version of the
+GNU Lesser General Public License "or any later version" applies to
+it, you have the option of following the terms and conditions either
+of that published version or of any later version published by the
+Free Software Foundation. If the Library as you received it does not
+specify a version number of the GNU Lesser General Public License, you
+may choose any version of the GNU Lesser General Public License ever
+published by the Free Software Foundation.
+
+If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/VERSION b/VERSION
new file mode 100644
index 000000000..3eefcb9dd
--- /dev/null
+++ b/VERSION
@@ -0,0 +1 @@
+1.0.0
diff --git a/cmake b/cmake
new file mode 160000
index 000000000..b605db0df
--- /dev/null
+++ b/cmake
@@ -0,0 +1 @@
+Subproject commit b605db0df4f8fb1110aaba989dbffad5312752b9
diff --git a/docs/Acknowledgments.rst b/docs/Acknowledgments.rst
new file mode 100644
index 000000000..5a08249b9
--- /dev/null
+++ b/docs/Acknowledgments.rst
@@ -0,0 +1,27 @@
+***************
+Acknowledgments
+***************
+
+The adaptation of the original WRF Post Processor package and Users
+Guide (by Mike Baldwin of NSSL/CIMMS and Hui-Ya Chuang of NCEP/EMC) was
+done by Lígia Bernardet (NOAA/ESRL/DTC) in collaboration with Dusan
+Jovic (NCEP/EMC), Robert Rozumalski (COMET), Wesley Ebisuzaki
+(NWS/HQTR), and Louisa Nance (NCAR/RAL/DTC). Upgrades to WRF Post
+Processor versions 2.2 and higher were performed by Hui-Ya Chuang, Dusan
+Jovic and Mathew Pyle (NCEP/EMC). Transitioning of the documentation
+from the WRF Post Processor to the Unified Post Processor was performed
+by Nicole McKee (NCEP/EMC), Hui-ya Chuang (NCEP/EMC), and Jamie Wolff
+(NCAR/RAL/DTC). Implementation of the Community Unified Post Processor
+was performed by Tricia Slovacek and Kate Fossell (NCAR/RAL/DTC).
+
+Acknowledgement
+
+
+If significant help was provided via the UPP helpdesk for work resulting
+in a publication, please acknowledge the Developmental Testbed Center
+UPP Team.
+
+For referencing this document please use:
+
+UPP Users Guide V4, 24 pp. [available online at
+https://dtcenter.org/sites/default/files/community-code/upp-users-guide-v4.pdf]
diff --git a/docs/BuildRunWithoutApp.rst b/docs/BuildRunWithoutApp.rst
new file mode 100644
index 000000000..81d1fbca5
--- /dev/null
+++ b/docs/BuildRunWithoutApp.rst
@@ -0,0 +1,7 @@
+***********************************************
+Building and Running UPP without an Application
+***********************************************
+
+Currently the UPP within the UFS application cannot be built as a standolone application. Please visit
+the `UPP community code website `_ for
+instructions on obtaining, building and running the UPP as a stand-alone application.
diff --git a/docs/CodeOverview.rst b/docs/CodeOverview.rst
new file mode 100644
index 000000000..a1b8fe399
--- /dev/null
+++ b/docs/CodeOverview.rst
@@ -0,0 +1,21 @@
+*************
+Code Overview
+*************
+
+The UPP can be used to post-process WRF-ARW, WRF-NMM, NMMB, GFS, CFS, and FV3 forecasts with current support within UFS available for FV3 only. It can ingest FV3 history files (dyn*/phy*) in netCDF and binarynemsiompiio format.
+
+Unipost Functionalities:
+
+ - Interpolates the forecasts from the models native vertical
+ coordinate to NWS standard output levels (e.g., pressure, height)
+ and computes mean sea level pressure. If the requested parameter
+ is on a models native level, then no vertical interpolation is
+ performed.
+
+ - Computes diagnostic output quantities (e.g., convective available
+ potential energy, helicity, relative humidity). A full list of
+ fields that can be generated by *unipost* is provided in
+ https://dtcenter.org/sites/default/files/community-code/upp-grib2-table_0.pdf.
+
+ - Outputs the results in NWS and WMO standard GRIB2 format (for GRIB
+ documentation, see http://www.nco.ncep.noaa.gov/pmb/docs/).
diff --git a/docs/InputsOutputs.rst b/docs/InputsOutputs.rst
new file mode 100644
index 000000000..4e16c4590
--- /dev/null
+++ b/docs/InputsOutputs.rst
@@ -0,0 +1,142 @@
+******************
+Inputs and Outputs
+******************
+
+This section describes the input files used when running the UPP and the resulting output files
+
+===========
+Input files
+===========
+
+The UPP requires the following input files:
+ - The itag namelist
+ - The GRIB2 control file
+ - Additional data files (e.g. lookup tables, coefficient files for satellite)
+
+----
+ITAG
+----
+
+The *itag* namelist that is read in by *unipost.exe* from
+stdin (unit 5) is generated automatically in the *run\_unipost*
+script based on user-defined options. It should not be
+necessary to edit this. For description purposes, the namelist
+(*itag*) contains 7 lines for FV3:
+
+#. Name of the FV3 (pressure level) output file to be posted.
+
+#. Format of FV3 model output (netcdf, binarynemsio).
+
+#. Format of UPP output (GRIB2)
+
+#. Forecast valid time (not model start time) in FV3 format (the
+ forecast time desired to be post-processed).
+
+#. Dynamic core used (GFS).
+
+#. Name of the FV3 (surface) output file to be post-processed.
+
+#. Name of configuration file (postxconfig-NT.txt)
+
+------------
+Control File
+------------
+
+The user interacts with unipost through the control file to define what fields and levels to output. It is composed of a header and a body. The header specifies the output file information. The body includes which fields and levels to process.
+
+A default control file, *postxconfig-NT.txt*, is provided and read by unipost. For users wishing to customize the control file to add or remove fields and/or levels, they may do so by modyfying the postcntrl.xml and then remaking the text file required by unipost.
+
+The `GRIB2 Output Table `_ lists basic and derived fields currently produced by unipost
+for grib2.
+
+Controlling which variables unipost outputs
+-------------------------------------------
+
+To output a field, the body of the control file needs to contain an
+entry for the appropriate variable. For variables found on isobaric or
+height levels, the desired levels to be output must be listed (see next
+section: *Controlling which levels unipost outputs*). If an entry for
+a particular field is not yet available in the control file, it may be
+added to the control file with the appropriate entries for that field.
+
+Controlling which levels unipost outputs
+----------------------------------------
+
+The tag in the postcntrl.xml is used to list the desired levels
+for output. The following levels are currently available for output:
+
+- For isobaric output, 46 levels are possible, from 2 to 1000 hPa (*2,
+ 5, 7, 10, 20, 30, 50, 70 mb and then every 25 mb from 75 to 1000
+ mb*). The complete list of levels is specified in *src/unipost/CTLBLK.f*.
+
+ - Modify specification of variable LSMDEF to change the number of
+ pressure levels: LSMDEF=47
+ - Modify specification of SPLDEF array to change the values of
+ pressure levels: (/200.,500.,700.,1000.,2000.,3000.
+ &,5000.,7000.,7500.,10000.,12500.,15000.,17500.,20000., …/)
+
+- For model-level output, all model levels are possible, from the
+ highest to the lowest.
+- When using the Noah LSM, the soil layers are 0-10 cm, 10-40 cm,
+ 40-100 cm, and 100-200 cm.
+- When using the RUC LSM, the soil levels are 0 cm, 1 cm, 4 cm, 10 cm,
+ 30 cm, 60 cm, 100 cm, 160 cm, and 300 cm. (For the old RUC LSM,
+ there are only 6 layers and if using this, you will need to change
+ “RUC LSM” from 9 to 6 in the WRFPOST.f routine.)
+- When using Pliem-Xiu LSM, there are two layers: 0-1 cm, 1-100 cm
+- For low, mid, and high cloud layers, the layers are :math:`\geq`\ 642
+ hPa, :math:`\geq`\ 350 hPa, and <350 hPa, respectively.
+- For PBL layer averages, the levels correspond to 6 layers with a
+ thickness of 30 hPa each.
+- For flight level, the levels are 30 m, 50 m, 80 m, 100 m, 305 m, 457
+ m, 610 m, 914 m, 1524 m, 1829 m, 2134 m, 2743 m, 3658 m, 4572 m, 6000
+ m, 7010 m.
+- For AGL radar reflectivity, the levels are 4000 and 1000 m (see
+ Appendix A for details).
+- For surface or shelter-level output, the is not necessary.
+
+Creating the Flat Text File
+---------------------------
+
+For outputting GRIB2 format using version 4.0, a preprocessing step
+is required by the user to convert the xml file
+*parm/postcntrl.xml* to a flat text file
+*parm/postxconfig-NT.txt*. The flat file is quicker to process
+than the xml file. The user will first need to edit the
+*postcntrl.xml* file to declare which fields are to be output
+from UPP.
+
+In order to ensure that the user-edited xml files are error free, XML
+stylesheets (*parm/EMC\_POST\_CTRL\_Schema.xsd* and
+*EMC\_POST\_Avblflds\_Schema.xsd*) are used to validate both the
+*postcntrl.xml* and *post\_avblflds.xml* files, respectively.
+Confirmation of validation will be given (e.g. postcntrl.xml
+validates) or otherwise return errors if it does not match the
+schema. To run the validation:
+
+ *xmllint --noout --schema EMC\_POST\_CTRL\_Schema.xsd
+ postcntrl.xml*
+
+ *xmllint --noout --schema EMC\_POST\_Avblflds\_Schema.xsd
+ post\_avblflds.xml*
+
+Once the xmls are validated, the user will need to generate the flat
+file. Edit the *parm/makefile* if necessary to point to the
+desired flat file directory and xmls. The makefile will call the perl
+program *parm/POSTXMLPreprocessor.pl* to generate the post flat
+file *postxconfig-NT.txt*. Generate the flat file:
+
+ *make*
+
+============
+Output Files
+============
+
+Upon a successful run, *unipost* will generate GRIB2 output files
+*GFSPRS.hh* in the postprocessor working directory, where *hh* denotes
+the forecast hour. These files will include all fields that were
+requested in the control file.
+
+If the run did not complete successfully, a log file in the
+post-processor working directory called *unipost.hh.out*, where *hh*
+is the forecast hour, may be consulted for further information.
diff --git a/docs/Introduction.rst b/docs/Introduction.rst
new file mode 100644
index 000000000..9759f18db
--- /dev/null
+++ b/docs/Introduction.rst
@@ -0,0 +1,19 @@
+************
+Introduction
+************
+
+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.
diff --git a/docs/Regridding.rst b/docs/Regridding.rst
new file mode 100644
index 000000000..70c05bc12
--- /dev/null
+++ b/docs/Regridding.rst
@@ -0,0 +1,56 @@
+**********
+Regridding
+**********
+
+Users that wish to interpolate their unipost output to a different grid
+may do so with the *wgrib2* utility. The general format for re-gridding
+to a lat-lon grid is given in the example.
+
+==================
+Examples of wgrib2
+==================
+
+*Wgrib2* is a versatile program that has the ability to convert
+grib2 files from one grid to another for various user-defined grids as
+well as pre-defined NCEP grids. Complete documentation with examples of
+re-gridding for all available grid definitions can be found at:
+
+http://www.cpc.ncep.noaa.gov/products/wesley/wgrib2/new_grid.html.
+
+Sample command line usage for calling wgrib2:
+
+ *wgrib2 -new\_grid\_winds W -new\_grid A B C outfile*
+
+Where,
+
+ **W** = earth or grid
+
+ earth: winds oriented to the earths north and south directions
+
+ grid: winds are rotated so that north is relative to the grid
+
+ **A**, **B**, and **C** represent the output grid description
+
+ Sample lat-lon grid description:
+
+ **A** = latlon
+
+ **B** = lon0:nlon:dlon
+
+ lon0 is longitude of first grid point in degrees
+
+ nlon is number of longitudes
+
+ dlon is grid resolution in degrees of longitude
+
+ **C** = lat0:nlat:dlat
+
+ lat0 is latitude of first grid point
+
+ nlat is number of latitudes
+
+ dlat is grid resolution in degrees of latitude
+
+**Note:** *wgrib2 is not distributed within the UFS weather
+application. Users may download and install from
+http://www.cpc.ncep.noaa.gov/products/wesley/wgrib2/.*
diff --git a/docs/conf.py b/docs/conf.py
new file mode 100644
index 000000000..4e9248c66
--- /dev/null
+++ b/docs/conf.py
@@ -0,0 +1,64 @@
+# Configuration file for the Sphinx documentation builder.
+#
+# This file only contains a selection of the most common options. For a full
+# list see the documentation:
+# http://www.sphinx-doc.org/en/master/config
+
+# -- Path setup --------------------------------------------------------------
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#
+# import os
+# import sys
+# sys.path.insert(0, os.path.abspath('.'))
+
+
+# -- Project information -----------------------------------------------------
+
+project = 'Unified Post Processor Users Guide'
+copyright = '2020'
+author = ' '
+
+# The full version, including alpha/beta/rc tags
+release = ' '
+
+
+# -- General configuration ---------------------------------------------------
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = [
+]
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# The suffix(es) of source filenames.
+# You can specify multiple suffix as a list of string:
+source_suffix = '.rst'
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+# This pattern also affects html_static_path and html_extra_path.
+exclude_patterns = []
+
+# The master toctree document.
+master_doc = 'index'
+
+# -- Options for HTML output -------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages. See the documentation for
+# a list of builtin themes.
+#
+html_theme = 'classic'
+
+# html_theme_options = {}
+html_theme_options = {"body_max_width": "none"}
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_static']
diff --git a/docs/index.rst b/docs/index.rst
new file mode 100644
index 000000000..2ed89e5c3
--- /dev/null
+++ b/docs/index.rst
@@ -0,0 +1,13 @@
+Welcome to the UPP User's Guide
+===============================
+
+.. toctree::
+ :maxdepth: 3
+ :numbered:
+
+ Introduction
+ CodeOverview
+ InputsOutputs
+ Regridding
+ BuildRunWithoutApp
+ Acknowledgments
diff --git a/sorc/CMakeLists.txt b/sorc/CMakeLists.txt
new file mode 100644
index 000000000..b454c0fb2
--- /dev/null
+++ b/sorc/CMakeLists.txt
@@ -0,0 +1 @@
+add_subdirectory(ncep_post.fd)
diff --git a/sorc/ncep_post.fd/CALRAD_WCLOUD_newcrtm.f b/sorc/ncep_post.fd/CALRAD_WCLOUD_newcrtm.f
index 7392f8cf3..5eb4528b1 100644
--- a/sorc/ncep_post.fd/CALRAD_WCLOUD_newcrtm.f
+++ b/sorc/ncep_post.fd/CALRAD_WCLOUD_newcrtm.f
@@ -332,7 +332,7 @@ SUBROUTINE CALRAD_WCLOUD
.or. iget(865) > 0 .or. iget(866) > 0 .or. iget(867) > 0 &
.or. iget(868) > 0 .or. iget(869) > 0 .or. iget(870) > 0 &
.or. iget(871) > 0 .or. iget(872) > 0 .or. iget(873) > 0 &
- .or. iget(874) > 0 .or. iget(875) > 0 .or. iget(876) > 0 &
+ .or. iget(874) > 0 .or. iget(875) > 0 .or. iget(876) > 0 &
.or. iget(877) > 0 .or. iget(878) > 0 .or. iget(879) > 0 &
.or. iget(880) > 0 .or. iget(881) > 0 .or. iget(882) > 0 &
.or. post_ahi8 &
diff --git a/sorc/ncep_post.fd/CMakeLists.txt b/sorc/ncep_post.fd/CMakeLists.txt
new file mode 100644
index 000000000..e3cd549bb
--- /dev/null
+++ b/sorc/ncep_post.fd/CMakeLists.txt
@@ -0,0 +1,230 @@
+set(LIB_SRC
+ AllGETHERV_GSD.f
+ ALLOCATE_ALL.f
+ ASSIGNNEMSIOVAR.f
+ AVIATION.f
+ BNDLYR.f
+ BOUND.f
+ CALCAPE.f
+ CALDRG.f
+ CALDWP.f
+ CALGUST.f
+ CALHEL.f
+ CALLCL.f
+ CALMCVG.f
+ CALMICT.f
+ CALPBL.f
+ CALPBLREGIME.f
+ CALPOT.f
+ CALPW.f
+ CALRAD_WCLOUD_newcrtm.f
+ CALRCH.f
+ CALRH.f
+ CALRH_GFS.f
+ CALRH_GSD.f
+ CALRH_PW.f
+ CALSTRM.f
+ CALTAU.f
+ CALTHTE.f
+ CALUPDHEL.f
+ CALVIS.f
+ CALVIS_GSD.f
+ CALVOR.f
+ CALWXT_BOURG.f
+ CALWXT_DOMINANT.f
+ CALWXT_EXPLICIT.f
+ CALWXT.f
+ CALWXT_RAMER.f
+ CALWXT_REVISED.f
+ CANRES.f
+ CLDFRAC_ZHAO.f
+ CLDRAD.f
+ CLMAX.f
+ CMASSI.f
+ COLLECT.f
+ COLLECT_LOC.f
+ CTLBLK.f
+ cuparm.f
+ DEALLOCATE.f
+ DEWPOINT.f
+ ETCALC.f
+ EXCH2.f
+ EXCH.f
+ FDLVL.f
+ FGAMMA.f
+ FILL_PSETFLD.f
+ FIXED.f
+ FRZLVL2.f
+ FRZLVL.f
+ GEO_ZENITH_ANGLE.f
+ GET_BITS.f
+ GETGBANDSCATTER.f
+ getIVariableN.f
+ GETNEMSNDSCATTER.f
+ get_postfilename.f
+ getVariable.f
+ GFIP3.f
+ GFSPOST.F
+ GPVS.f
+ grib2_module.f
+ GRIBIT.F
+ GRIDAVG.f
+ GRIDSPEC.f
+ gtg_algo.f90
+ gtg_compute.f90
+ gtg_config.f90
+ gtg_ctlblk.f90
+ gtg_filter.f90
+ gtg_indices.f90
+ gtg_smoothseams.f90
+ ICAOHEIGHT.f
+ INITPOST.F
+ INITPOST_GFS.f
+ INITPOST_GFS_NEMS.f
+ INITPOST_GFS_NEMS_MPIIO.f
+ INITPOST_GFS_SIGIO.f
+ INITPOST_NEMS.f
+ INITPOST_NEMS_MPIIO.f
+ INITPOST_NETCDF.f
+ INITPOST_NMM.f
+ kinds_mod.F
+ LFMFLD.f
+ LFMFLD_GFS.f
+ LOOKUP.f
+ machine.f
+ map_routines.f90
+ MAPSSLP.f
+ MASKS_mod.f
+ MDL2AGL.f
+ MDL2P.f
+ MDL2SIGMA2.f
+ MDL2SIGMA.f
+ MDL2THANDPV.f
+ MDLFLD.f
+ MICROINIT.F
+ MISCLN.f
+ MIXLEN.f
+ MPI_FIRST.f
+ MPI_LAST.f
+ MSFPS.f
+ native_endianness.f
+ NGMFLD.f
+ NGMSLP.f
+ OTLFT.f
+ OTLIFT.f
+ PARAMR.f
+ params.F
+ PARA_RANGE.f
+ physcons.f
+ PMICRPH.f
+ POLEAVG.f
+ PROCESS.f
+ READCNTRL.F
+ READ_xml.f
+ retrieve_index.f
+ RHGRD.f
+ RQSTFLD.F
+ SCLFLD.f
+ SELECT_CHANNELS.f
+ SERVER.f
+ SET_LVLSXML.f
+ SET_OUTFLDS.f
+ SETUP_SERVERS.f
+ SLP_new.f
+ SLP_NMM.f
+ SMOOTH.f
+ SNFRAC.f
+ SNFRAC_GFS.f
+ SOIL_mod.f
+ SPLINE.f
+ SURFCE.f
+ svptbl.f
+ TABLE.f
+ TABLEQ.f
+ TRPAUS.f
+ TTBLEX.f
+ VRBLS2D_mod.f
+ VRBLS3D_mod.f
+ VRBLS4D_mod.f
+ WETBULB.f
+ WETFRZLVL.f
+ wrf_io_flags.f
+ wrf_io_flags.h
+ xml_perl_data.f
+ ZENSUN.f)
+
+set(EXE_SRC
+ CALCAPE2.f
+ CALHEL2.f
+ CALVESSEL.f
+ GFSPOSTSIG.F
+ INITPOST_GFS_NETCDF.f
+ MDL2STD_P.f
+ TIMEF.f
+ WRFPOST.f
+ getlvls.f
+ intio_tags.f
+ io_int_stubs.f)
+
+if(CMAKE_Fortran_COMPILER_ID MATCHES "^(Intel)$")
+ set(CMAKE_Fortran_FLAGS
+ "-g -traceback -fp-model source -free -convert big_endian")
+ set(CMAKE_Fortran_FLAGS_RELEASE "-O3")
+elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(GNU|Clang|AppleClang)$")
+ set(CMAKE_Fortran_FLAGS
+ "-g -fbacktrace -ffree-form -ffree-line-length-none -fconvert=big-endian")
+ set(CMAKE_Fortran_FLAGS_RELEASE "-O3")
+ set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -ggdb -fno-unsafe-math-optimizations -frounding-math -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check")
+endif()
+
+if(APPLE)
+ add_compile_definitions(APPLE)
+elseif(UNIX)
+ add_compile_definitions(LINUX)
+endif()
+
+set(LIBNAME nceppost)
+set(EXENAME ncep_post)
+
+set(module_dir "${CMAKE_CURRENT_BINARY_DIR}/include")
+
+add_library(${LIBNAME} ${LIB_SRC})
+set_target_properties(${LIBNAME} PROPERTIES Fortran_MODULE_DIRECTORY
+ ${module_dir})
+target_include_directories(${LIBNAME} PUBLIC ${NETCDF_INCLUDES} ${module_dir})
+target_link_libraries(
+ ${LIBNAME}
+ sp_4
+ sigio_4
+ sfcio_4
+ gfsio_4
+ nemsio
+ ip_4
+ w3emc_4
+ w3nco_4
+ g2tmpl
+ g2_4
+ crtm
+ bacio_4
+ MPI::MPI_Fortran
+ PNG::PNG
+ ${JASPER_LIBRARY})
+
+if(OpenMP_Fortran_FOUND)
+ target_link_libraries(${LIBNAME} OpenMP::OpenMP_Fortran)
+endif()
+
+install(
+ TARGETS ${LIBNAME}
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib)
+install(DIRECTORY ${module_dir} DESTINATION ${CMAKE_INSTALL_PREFIX})
+
+add_executable(${EXENAME} ${EXE_SRC})
+target_link_libraries(
+ ${EXENAME}
+ ${LIBNAME}
+ ${NETCDF_LIBRARIES}
+ ${CMAKE_DL_LIBS})
+
+install(TARGETS ${EXENAME} RUNTIME DESTINATION bin)
diff --git a/sorc/ncep_post.fd/GFSPOST.F b/sorc/ncep_post.fd/GFSPOST.F
index 2cbc1d0e6..ae43a9f1b 100644
--- a/sorc/ncep_post.fd/GFSPOST.F
+++ b/sorc/ncep_post.fd/GFSPOST.F
@@ -435,7 +435,7 @@ subroutine tpause(km,p,u,v,t,h,ptp,utp,vtp,ttp,htp,shrtp)
! call rsearch1(km-k-1,h(k+1),1,h(k)+hd,kd)
call rsearch1(k-2,h(2),1,h(k)+hd,kd)
! td=t(k+kd)+(h(k)+hd-h(k+kd))/(h(k+kd+1)-h(k+kd))*(t(k+kd+1)-t(k+kd))
- td=t(kd+2)+(h(k)+hd-h(2+kd))/(h(kd+1)-h(2+kd))*(t(kd+1)-t(2+kd))
+ td=t(kd+2)+(h(k)+hd-h(2+kd))/(h(kd+1)-h(2+kd))*(t(kd+1)-t(2+kd))
gami=(t(k)-td)/hd
if(gami.le.gamtp) then
ktp=k
diff --git a/sorc/ncep_post.fd/MDL2P.f b/sorc/ncep_post.fd/MDL2P.f
index 3f4ce004a..9f631b3da 100644
--- a/sorc/ncep_post.fd/MDL2P.f
+++ b/sorc/ncep_post.fd/MDL2P.f
@@ -2092,7 +2092,6 @@ SUBROUTINE MDL2P(iostatusD3D)
if(grib == 'grib1')then
ID(1:25)=0
ID(02)=141 ! Parameter Table 141
-
CALL GRIBIT(IGET(738),LP,GRID1,IM,JM)
elseif(grib == 'grib2') then
cfld = cfld + 1
diff --git a/sorc/ncep_post.fd/Makefile b/sorc/ncep_post.fd/Makefile
deleted file mode 100644
index be85a6c99..000000000
--- a/sorc/ncep_post.fd/Makefile
+++ /dev/null
@@ -1,70 +0,0 @@
-################################################################################
-#
-# Makefile for NCEP Post
-#
-# Use:
-# make - build the executable
-# make clean - start with a clean slate
-#
-#################################################################################
-#
-# Define the name of the executable
-#
-TARGET = ncep_post
-#
-
-OBJS = wrf_io_flags.o getVariable.o getIVariable.o getIVariableN.o \
- kinds_mod.o machine.o physcons.o \
- native_endianness.o blockIO.o initialize_byte_swap_wrf_binary_file.o \
- count_recs_wrf_binary_file.o inventory_wrf_binary_file.o \
- next_buf.o retrieve_index.o ZENSUN.o CLDFRAC_ZHAO.o \
- GFSPOST.o GETGBANDSCATTER.o \
- VRBLS2D_mod.o VRBLS3D_mod.o VRBLS4D_mod.o MASKS_mod.o PMICRPH.o SOIL_mod.o \
- CMASSI.o CTLBLK.o GRIDSPEC.o LOOKUP.o PARAMR.o RHGRD.o RQSTFLD.o xml_perl_data.o \
- cuparm.o params.o svptbl.o get_postfilename.o grib2_module.o \
- SET_LVLSXML.o FILL_PSETFLD.o \
- BNDLYR.o BOUND.o CALCAPE.o CALDWP.o CALDRG.o CALHEL.o CALLCL.o \
- CALMCVG.o CALPOT.o CALPW.o CALRH.o CALRCH.o CALRH_GSD.o \
- CALSTRM.o CALTAU.o CALTHTE.o CALVIS.o CALVIS_GSD.o CALVOR.o CALWXT.o \
- CALWXT_RAMER.o CALWXT_BOURG.o CALWXT_REVISED.o CALRH_PW.o \
- CALWXT_EXPLICIT.o CALWXT_DOMINANT.o \
- CLDRAD.o CLMAX.o COLLECT.o COLLECT_LOC.o DEWPOINT.o \
- FDLVL.o FGAMMA.o FIXED.o FRZLVL.o FRZLVL2.o \
- GET_BITS.o GRIBIT.o INITPOST.o LFMFLD.o \
- MAPSSLP.o MISCLN.o MIXLEN.o MDL2P.o MDLFLD.o MPI_FIRST.o MPI_LAST.o \
- NGMFLD.o NGMSLP.o OTLFT.o OTLIFT.o SLP_new.o SLP_NMM.o EXCH.o \
- PARA_RANGE.o PROCESS.o INITPOST_NMM.o EXCH2.o \
- READCNTRL.o READ_xml.o SET_OUTFLDS.o SCLFLD.o SERVER.o SETUP_SERVERS.o \
- SMOOTH.o SURFCE.o \
- SPLINE.o TABLE.o TABLEQ.o TRPAUS.o TTBLEX.o WETBULB.o WRFPOST.o \
- CALMICT.o MICROINIT.o GPVS.o MDL2SIGMA.o \
- ETCALC.o CANRES.o CALGUST.o WETFRZLVL.o SNFRAC.o MDL2AGL.o SNFRAC_GFS.o \
- AVIATION.o DEALLOCATE.o INITPOST_NMM_BIN_MPIIO.o \
- CALPBL.o MDL2SIGMA2.o INITPOST_GFS.o CALRH_GFS.o LFMFLD_GFS.o \
- CALRAD_WCLOUD_newcrtm.o MDL2THANDPV.o CALPBLREGIME.o POLEAVG.o \
- INITPOST_NEMS.o GETNEMSNDSCATTER.o ICAOHEIGHT.o INITPOST_GFS_NEMS.o \
- INITPOST_BIN_MPIIO.o GEO_ZENITH_ANGLE.o GFIP3.o GRIDAVG.o CALUPDHEL.o \
- INITPOST_GFS_SIGIO.o AllGETHERV_GSD.o MSFPS.o SELECT_CHANNELS.o ALLOCATE_ALL.o INITPOST_NEMS_MPIIO.o ASSIGNNEMSIOVAR.o
-
-#
-
-.SUFFIXES: .F .f .o .f90 .c
-
-.F.f:
- $(CPP) $(CPPFLAGS) $< > $*.f
-
-$(TARGET): $(OBJST) $(OBJS)
- $(FC) -openmp -o $@ $(OBJST) $(OBJS) $(LIBS)
-
-.f.o:
- $(FC) $(FFLAGS) -c $<
-
-.f90.o:
- $(FC) $(FFLAGS) -c $<
-
-.c.o :
- ${CC} ${CFLAGS} -c $<
-
-clean:
- /bin/rm -f $(TARGET) *.lst *.o *.mod
-
diff --git a/sorc/ncep_post.fd/Makefile_lib b/sorc/ncep_post.fd/Makefile_lib
deleted file mode 100644
index 6ea399e6a..000000000
--- a/sorc/ncep_post.fd/Makefile_lib
+++ /dev/null
@@ -1,74 +0,0 @@
-################################################################################
-#
-# Makefile for NCEP Post
-#
-# Use:
-# make - build the executable
-# make clean - start with a clean slate
-#
-#################################################################################
-#
-# Define the name of the executable
-#
-TARGET = ${POSTLIBPATH}/libnceppost.a
-INCMOD = ${POSTLIBPATH}/include/post_4
-AR = ar
-ARFLAGS = ruv
-#
-
-OBJS = wrf_io_flags.o getVariable.o getIVariable.o getIVariableN.o \
- kinds_mod.o machine.o physcons.o \
- native_endianness.o blockIO.o initialize_byte_swap_wrf_binary_file.o \
- count_recs_wrf_binary_file.o inventory_wrf_binary_file.o \
- next_buf.o retrieve_index.o ZENSUN.o CLDFRAC_ZHAO.o \
- GFSPOST.o GETGBANDSCATTER.o \
- VRBLS2D_mod.o VRBLS3D_mod.o VRBLS4D_mod.o MASKS_mod.o PMICRPH.o SOIL_mod.o \
- CMASSI.o CTLBLK.o GRIDSPEC.o LOOKUP.o PARAMR.o RHGRD.o RQSTFLD.o xml_perl_data.o \
- cuparm.o params.o svptbl.o get_postfilename.o grib2_module.o \
- SET_LVLSXML.o FILL_PSETFLD.o \
- BNDLYR.o BOUND.o CALCAPE.o CALDWP.o CALDRG.o CALHEL.o CALLCL.o \
- CALMCVG.o CALPOT.o CALPW.o CALRH.o CALRCH.o CALRH_GSD.o \
- CALSTRM.o CALTAU.o CALTHTE.o CALVIS.o CALVIS_GSD.o CALVOR.o CALWXT.o \
- CALWXT_RAMER.o CALWXT_BOURG.o CALWXT_REVISED.o CALRH_PW.o \
- CALWXT_EXPLICIT.o CALWXT_DOMINANT.o \
- CLDRAD.o CLMAX.o COLLECT.o COLLECT_LOC.o DEWPOINT.o \
- FDLVL.o FGAMMA.o FIXED.o FRZLVL.o FRZLVL2.o \
- GET_BITS.o GRIBIT.o INITPOST.o LFMFLD.o \
- MAPSSLP.o MISCLN.o MIXLEN.o MDL2P.o MDLFLD.o MPI_FIRST.o MPI_LAST.o \
- NGMFLD.o NGMSLP.o OTLFT.o OTLIFT.o SLP_new.o SLP_NMM.o EXCH.o \
- PARA_RANGE.o PROCESS.o INITPOST_NMM.o EXCH2.o \
- READCNTRL.o READ_xml.o SET_OUTFLDS.o SCLFLD.o SERVER.o SETUP_SERVERS.o \
- SMOOTH.o SURFCE.o \
- SPLINE.o TABLE.o TABLEQ.o TRPAUS.o TTBLEX.o WETBULB.o WRFPOST.o \
- CALMICT.o MICROINIT.o GPVS.o MDL2SIGMA.o \
- ETCALC.o CANRES.o CALGUST.o WETFRZLVL.o SNFRAC.o MDL2AGL.o SNFRAC_GFS.o \
- AVIATION.o DEALLOCATE.o INITPOST_NMM_BIN_MPIIO.o \
- CALPBL.o MDL2SIGMA2.o INITPOST_GFS.o CALRH_GFS.o LFMFLD_GFS.o \
- CALRAD_WCLOUD_newcrtm.o MDL2THANDPV.o CALPBLREGIME.o POLEAVG.o \
- INITPOST_NEMS.o GETNEMSNDSCATTER.o ICAOHEIGHT.o INITPOST_GFS_NEMS.o \
- INITPOST_BIN_MPIIO.o GEO_ZENITH_ANGLE.o GFIP3.o GRIDAVG.o CALUPDHEL.o \
- INITPOST_GFS_SIGIO.o AllGETHERV_GSD.o MSFPS.o SELECT_CHANNELS.o ALLOCATE_ALL.o INITPOST_NEMS_MPIIO.o ASSIGNNEMSIOVAR.o
-
-#
-
-.SUFFIXES: .F .f .o .f90 .c
-
-.F.f:
- $(CPP) $(CPPFLAGS) $< > $*.f
-
-$(TARGET): $(OBJST) $(OBJS)
- $(AR) $(ARFLAGS) $@ $(OBJST) $(OBJS)
- mv *.mod $(INCMOD)
-
-.f.o:
- $(FC) $(FFLAGS) -c $<
-
-.f90.o:
- $(FC) $(FFLAGS) -c $<
-
-.c.o :
- ${CC} ${CFLAGS} -c $<
-
-clean:
- /bin/rm -f $(TARGET) *.lst *.o *.mod
-
diff --git a/sorc/ncep_post.fd/grib2_module.f b/sorc/ncep_post.fd/grib2_module.f
index 51d6d7916..8ba63d8cd 100644
--- a/sorc/ncep_post.fd/grib2_module.f
+++ b/sorc/ncep_post.fd/grib2_module.f
@@ -222,11 +222,12 @@ subroutine gribit2(post_fname)
real,allocatable :: datafldtmp(:)
logical, parameter :: debugprint = .false.
!
- character(1) cgrib(max_bytes)
+ character(1), dimension(:), allocatable :: cgrib
!
!
!---------------- code starts here --------------------------
!
+ allocate(cgrib(max_bytes))
!
!******* part 1 resitribute data ********
!
@@ -329,9 +330,9 @@ subroutine gribit2(post_fname)
!
call baclose(lunout,ierr)
print *,'finish one grib file'
- endif
+ endif ! if(me==0)
!
-!for more fields, use pararrle i/o
+!for more fields, use parallel i/o
else
!
! print *,'in grib2,num_procs=',num_procs
@@ -464,6 +465,7 @@ subroutine gribit2(post_fname)
!
deallocate(datafld,bmap,mg)
deallocate(nfld_pe,snfld_pe,enfld_pe,jsta_pe,jend_pe)
+ deallocate(cgrib)
!
end subroutine gribit2
!
diff --git a/sorc/ncep_post.fd/io_int_stubs.f b/sorc/ncep_post.fd/io_int_stubs.f
new file mode 100755
index 000000000..f6dc98c30
--- /dev/null
+++ b/sorc/ncep_post.fd/io_int_stubs.f
@@ -0,0 +1,147 @@
+! Stubs version of wrf io spi subroutines
+!
+!--- get_dom_ti_real
+SUBROUTINE ext_int_get_dom_ti_real ( DataHandle,Element, Data, Count, Outcount, Status )
+ INTEGER , INTENT(IN) :: DataHandle
+ CHARACTER*(*) :: Element
+ REAL , INTENT(OUT) :: Data(*)
+ INTEGER , INTENT(IN) :: Count
+ INTEGER , INTENT(OUT) :: Outcount
+ INTEGER , INTENT(OUT) :: Status
+
+RETURN
+END SUBROUTINE ext_int_get_dom_ti_real
+
+
+SUBROUTINE ext_int_get_dom_ti_integer ( DataHandle,Element, Data, Count, Outcount, Status )
+
+RETURN
+END SUBROUTINE ext_int_get_dom_ti_integer
+
+
+!--- get_dom_ti_char
+SUBROUTINE ext_int_get_dom_ti_char ( DataHandle,Element, Data, Status )
+
+RETURN
+END SUBROUTINE ext_int_get_dom_ti_char
+
+
+!--- get_var_info
+SUBROUTINE ext_int_get_var_info ( DataHandle , VarName , NDim , MemoryOrder , Stagger , &
+ DomainStart , DomainEnd , WrfType, Status )
+
+RETURN
+END SUBROUTINE ext_int_get_var_info
+
+
+!--- read_field
+SUBROUTINE ext_int_read_field ( DataHandle , DateStr , VarName , Field , FieldType , Comm , IOComm, &
+ DomainDesc , MemoryOrder , Stagger , DimNames , &
+ DomainStart , DomainEnd , &
+ MemoryStart , MemoryEnd , &
+ PatchStart , PatchEnd , &
+ Status )
+ RETURN
+
+END SUBROUTINE ext_int_read_field
+
+
+!--- close
+SUBROUTINE ext_int_ioclose ( DataHandle, Status )
+
+ RETURN
+END SUBROUTINE ext_int_ioclose
+
+
+!--- initialize
+SUBROUTINE ext_int_ioinit( SysDepInfo, Status )
+
+END SUBROUTINE ext_int_ioinit
+
+
+
+!--- open_for_read
+SUBROUTINE ext_int_open_for_read ( FileName , Comm_compute, Comm_io, SysDepInfo, &
+ DataHandle , Status )
+
+ RETURN
+END SUBROUTINE ext_int_open_for_read
+
+
+
+SUBROUTINE int_get_ti_header_c ( hdrbuf, hdrbufsize, n, itypesize, typesize, &
+ DataHandle, Data, Count, code )
+
+RETURN
+END SUBROUTINE int_get_ti_header_c
+
+
+! NETCDF STUBS
+SUBROUTINE ext_ncd_ioinit(SysDepInfo, Status)
+
+RETURN
+END SUBROUTINE ext_ncd_ioinit
+
+
+subroutine ext_ncd_open_for_read(DatasetName, Comm1, Comm2, SysDepInfo, DataHandle, Status)
+
+RETURN
+END subroutine ext_ncd_open_for_read
+
+
+subroutine ext_ncd_get_dom_ti_integer(DataHandle,Element,Data,Count,OutCount,Status)
+
+RETURN
+END subroutine ext_ncd_get_dom_ti_integer
+
+
+subroutine ext_ncd_ioclose(DataHandle, Status)
+
+ return
+end subroutine ext_ncd_ioclose
+
+
+subroutine ext_ncd_get_dom_ti_char(DataHandle,Element,Data,Status)
+
+ return
+end subroutine ext_ncd_get_dom_ti_char
+
+
+subroutine ext_ncd_get_dom_ti_real(DataHandle,Element,Data,Count,Status)
+
+ return
+end subroutine ext_ncd_get_dom_ti_real
+
+
+subroutine ext_ncd_get_var_info(DataHandle,Name,NDim,MemoryOrder, &
+ Stagger,DomainStart,DomainEnd,WrfType,Status)
+
+ return
+end subroutine ext_ncd_get_var_info
+
+
+subroutine ext_ncd_read_field(DataHandle,DateStr,Var,Field,FieldType,Comm, &
+ IOComm, DomainDesc, MemoryOrdIn, Stagger, DimNames, &
+ DomainStart,DomainEnd,MemoryStart,MemoryEnd,PatchStart,PatchEnd,Status)
+
+ return
+end subroutine ext_ncd_read_field
+
+
+subroutine wrf_error_fatal(massage)
+
+stop
+end subroutine wrf_error_fatal
+
+
+subroutine int_gen_ti_header_c ( hdrbuf, hdrbufsize, itypesize, typesize, &
+ DataHandle, Data, Count, code )
+ RETURN
+END SUBROUTINE int_gen_ti_header_c
+
+
+
+
+
+
+
diff --git a/sorc/ncep_post.fd/makefile.sh b/sorc/ncep_post.fd/makefile.sh
deleted file mode 100755
index 4c58b6e54..000000000
--- a/sorc/ncep_post.fd/makefile.sh
+++ /dev/null
@@ -1,318 +0,0 @@
-#!/bin/sh
-set -x
-mac=$(hostname | cut -c1-1)
-mac2=$(hostname | cut -c1-2)
-################################# options ###############################################
- export CLEAN=NO # comment this line to clean before compiling
-#debug=YES # turn on debug mode - default - NO
-#make_post_lib=YES # create post library - default - NO
- make_post_exec=YES # create post executable - default - YES
-#make_nowrf=NO # compile with wrf stub instead of WRF lib
- make_nowrf=YES # compile with wrf stub instead of WRF lib
-#BMPYXML=_bmpyxml # use original bumpy xml file
- # make sure to clean when changing BMPXML
-################################# options ###############################################
-#
-if [ $mac2 = ga ] ; then # For GAEA
- machine=gaea
- center=${center:-ncep}
- make_nowrf=${make_nowrf:-YES} # to compile with wrf stub instead of WRF lib
-elif [ $mac2 = tf ] ; then # For Theia
- machine=theia
- make_nowrf=${make_nowrf:-YES} # to compile with wrf stub instead of WRF lib
-elif [ $mac = z -o $mac = h -o $mac = f ] ; then # For ZEUS
- machine=zeus
- make_nowrf=${make_nowrf:-YES} # to compile with wrf stub instead of WRF lib
-elif [ $mac = t -o $mac = e -o $mac = g ] ; then # For WCOSS
- machine=wcoss
-elif [ $mac = l -o $mac = s ] ; then # wcoss_c (i.e. luna and surge)
- export machine=wcoss_c
- make_nowrf=${make_nowrf:-YES} # to compile with wrf stub instead of WRF lib
-fi
-debug=${debug:-NO}
-export make_post_lib=${make_post_lib:-NO}
-export make_post_exec=${make_post_exec:-YES}
-export make_nowrf=${make_nowrf:- NO}
-export BMPYXML=${BMPYXML:-""}
-if [ $machine = wcoss ] ; then
- export NETCDFPATH="/usrx/local/NetCDF/3.6.3"
- export WRFPATH="/nwprod/sorc/wrf_shared.v1.1.0"
- export NWPROD="/nwprod"
- export XMLPATH=$NWPROD
- export IPPATH=$NWPROD
- export SPPATH=/usrx/local/nceplibs
- export BACIOPATH=/usrx/local/nceplibs
- export ipv=""
- export spv=_v2.0.2p
- export crtmv=2.0.6
- export crtmv_inc=$crtmv
- export xmlv=_v2.0.0
- export baciov=_v2.0.1p
- export FC=mpiifort
- export CPP="/lib/cpp -P"
- export CPPFLAGS="-DLINUX"
- export CC=cc
- if [ $debug = YES ] ; then
- export OPTS="-O0 -openmp "
-# export DEBUG="-g -check all -ftrapuv -convert big_endian -fp-stack-check -fstack-protector -heap-arrays -recursive -traceback"
- export DEBUG="-g -traceback -convert big_endian -ftrapuv -check bounds -check format -check output_conversion -check pointers -check uninit -fp-stack-check"
- else
- export OPTS="-O3 -convert big_endian -fp-model source -openmp -xAVX"
- export DEBUG=""
- fi
- export LIST=""
- export FREE="-FR"
- export TRAPS=""
- export PROFILE=""
- module unload ics
- module load ics/14.0.1
-elif [ $machine = wcoss_c ] ; then
- module unload PrgEnv-intel
- module load PrgEnv-intel
- module unload iobuf
- module load iobuf
- module unload NetCDF-intel-sandybridge/4.2
- module load NetCDF-intel-sandybridge/3.6.3
- module list
- export WRFPATH="/gpfs/hps/nco/ops/nwprod/wrf_shared.v1.1.0-intel"
- export FC=ftn
- export CPP="/lib/cpp -P"
- export CPPFLAGS="-DLINUX"
- export CC=cc
- if [ $debug = YES ] ; then
- export OPTS="-O0 -openmp "
- export DEBUG="-g -traceback -convert big_endian -ftrapuv -check bounds -check format -check output_conversion -check pointers -check uninit -fp-stack-check"
- else
- export OPTS="-O3 -convert big_endian -fp-model source -openmp"
-# export OPTS="-O3 -convert big_endian -fp-model source -openmp -xAVX"
- export DEBUG=""
- fi
- export LIST=""
- export FREE="-FR"
- export TRAPS=""
- export PROFILE=""
-elif [ $machine = zeus ] ; then
- export NETCDFPATH="/apps/netcdf/3.6.3/intel"
- export WRFPATH="/scratch2/portfolios/NCEPDEV/meso/save/Dusan.Jovic/WRFV3"
- export NWPROD="/contrib/nceplibs/nwprod"
- export XMLPATH="/home/Hui-Ya.Chuang"
- export IPPATH=$NWPROD
- export SPPATH=$NWPROD
- export ipv=""
- export spv=_v2.0.1
- export crtmv=2.0.7
- export FC="ifort -lmpi"
- export CPP="/lib/cpp -P"
- export CC=cc
- export ARCH=""
- export CPPFLAGS="-DLINUX"
- if [ $debug = YES ] ; then
- export OPTS="-O0 -openmp -g"
- export DEBUG="-g -check all -ftrapuv -convert big_endian -fp-stack-check -fstack-protector -heap-arrays -recursive -traceback"
- else
- export export OPTS="-O3 -convert big_endian -traceback -g -fp-model source -openmp"
- export DEBUG=""
- fi
- export LIST=""
- export FREE="-FR"
- export TRAPS=""
- export PROFILE=""
-elif [ $machine = theia ] ; then
- export NETCDFPATH="/apps/netcdf/4.3.0-intel"
-# export WRFPATH="/scratch4/NCEPDEV/meso/save/Dusan.Jovic/WRFV3"
- export WRFPATH="/scratch4/NCEPDEV/global/save/Shrinivas.Moorthi/theia/nceplibs/nwprod/lib/sorc/WRFV3"
-
- export NWPROD="/scratch4/NCEPDEV/global/save/Shrinivas.Moorthi/theia/nceplibs/nwprod"
- export ipv=_v2.0.3
- export spv=""
-##export spv=_v2.0.1
- export crtmv=2.0.7
- export gfsiov=""
- export w3ev=_v2.1.0
- export w3nv=""
- export xmlv=_v2.0.0
- export g2tv=""
- export baciov=_v2.1.0
-
-# export NWPROD="/scratch3/NCEPDEV/nwprod"
-# export ipv=_v2.0.0
-# export spv=_v2.0.2
-# export crtmv=2.0.6
-# export crtmv=2.1.3
-# export gfsiov=_v1.1.0
-# export w3ev=_v2.0.5
-# export w3nv=_v2.0.6
-# export xmlv=_v2.0.0
-# export g2tv=_v1.3.0
-# export baciov=_v2.0.1
-
- export XMLPATH=$NWPROD
- export IPPATH=$NWPROD
- export SPPATH=$NWPROD
- export BACIOPATH=$NWPROD/lib
-
- export FC=mpiifort
- export CPP="/lib/cpp -P"
- export CC=cc
- export ARCH=""
- export CPPFLAGS="-DLINUX"
- if [ $debug = YES ] ; then
- export OPTS="-O0 -openmp -g"
- export DEBUG="-g -check all -ftrapuv -convert big_endian -fp-stack-check -fstack-protector -heap-arrays -recursive -traceback"
- else
- export export OPTS="-O3 -convert big_endian -traceback -g -fp-model source -openmp"
-# export export OPTS="-O2 -convert big_endian -traceback -g -fp-model source "
-# export export OPTS="-O2 -convert big_endian -traceback -g -fp-model source -openmp"
- export DEBUG=""
- fi
- export LIST=""
- export FREE="-FR"
- export TRAPS=""
- export PROFILE=""
-elif [ $machine = gaea ] ; then
-# export NETCDFPATH="/opt/cray/netcdf/4.1.1.0/netcdf-intel"
- export NETCDFPATH="/opt/cray/netcdf/4.3.2/INTEL/140"
- export WRFPATH="/lustre/f1/unswept/ncep/Shrinivas.Moorthi/nceplibs/nwprod/lib/sorc/WRFV3"
-# export WRFPATH="/lustre/f1/unswept/ncep/Shrinivas.Moorthi/nceplibs/nwprod/lib/sorc/wrf_shared.v1.1.0"
- export NWPROD="/lustre/f1/unswept/ncep/Shrinivas.Moorthi/nceplibs/nwprod"
- export IPPATH=$NWPROD
- export SPPATH=$NWPROD
- export baciov=_v2.1.0
- export BACIOPATH=/lustre/f1/unswept/ncep/Shrinivas.Moorthi/nceplibs/nwprod/lib/sorc/bacio_fast_byteswap/bacio${baciov}_4
- export ipv=""
- export spv=_v2.0.1
- export xmlv=_v2.0.0
- export FC=ftn
- export CPP="/lib/cpp -P"
- export ARCH=""
- export CPPFLAGS="-DLINUX"
- export CC=icc
- if [ $debug = YES ] ; then
- export OPTS="-O0 -g"
- export DEBUG="-g -check all -ftrapuv -convert big_endian -fp-stack-check -fstack-protector -heap-arrays -recursive -traceback"
- else
- export export OPTS="-O3 -convert big_endian -traceback -g -fp-model source"
- export DEBUG=""
- fi
- export LIST=""
- export FREE=-FR
- export TRAPS=""
- export PROFILE=""
-
- export gfsiov=""
- export crtmv=2.0.7
- export w3ev=_v2.1.0
- export w3nv=""
-fi
-#export gfsiov=${gfsiov:-_v1.1.0}
-export crtmv=${crtmv:-2.0.7}
-export crtmv_inc=${crtmv_inc:-v$crtmv}
-export XMLPATH=${XMLPATH:-$NWPROD}
-export BACIOPATH=${BACIOPATH:-$NWPROD/lib}
-export xmlv=${xmlv:-""}
-export w3ev=${w3ev:-_v2.0.3}
-#export w3nv=${w3nv:-_v2.0.3}
-export ipv=${ipv:-""}
-export spv=${spv:-""}
-
-if [ ${CLEAN:-YES} = YES ] ; then make -f Makefile_new$BMPYXML clean ; fi
-
-export CFLAGS="-DLINUX -Dfunder -DFortranByte=char -DFortranInt=int -DFortranLlong='long long'"
-if [ $machine = wcoss_c ] ; then
- if [ $make_nowrf = YES ] ; then
- export WRF_INC=""
- export WRF_LI=""
- else
- export WRF_INC="-I${WRFPATH}/external/io_quilt -I${WRFPATH}/frame"
- export WRF_LIB="${WRFPATH}/main/libwrflib.a ${WRFPATH}/frame/pack_utils.o ${WRFPATH}/frame/module_internal_header_util.o ${WRFPATH}/external/io_grib1/libio_grib1.a ${WRFPATH}/external/io_grib_share/libio_grib_share.a ${WRFPATH}/external/io_int/libwrfio_int.a ${WRFPATH}/external/io_netcdf/libwrfio_nf.a ${WRFPATH}/external/esmf_time_f90/libesmf_time.a ${WRFPATH}/external/RSL_LITE/librsl_lite.a"
- fi
- NETCDF_LIB="${NETCDF}/lib/libnetcdf.a"
- export FFLAGS="${OPTS} ${FREE} ${TRAPS} ${DEBUG} ${WRF_INC} -I${XMLPARSE_INC} -I${G2_INC4} -I${G2TMPL_INC} -I${NEMSIO_INC} -I${SIGIO_INC4} -I${SFCIO_INC4} -I${GFSIO_INC4} -I${W3EMC_INC4} -I${CRTM_INC} -I${NETCDF_INCLUDE} -I${PNG_INC}"
-
-#export FFLAGS="${OPTS} ${FREE} ${TRAPS} ${DEBUG} -I${WRF_INC} -I${XMLPARSE_INC} -I${G2_INC4} -I${NEMSIO_INC} -I${SIGIO_INC4} -I${SFCIO_INC4} -I${W3EMC_INC4} -I${CRTM_INC} -I${NETCDF_INCLUDE} -I${GFSIO_INC}"
-
- export LIBS="${XMLPARSE_LIB} ${G2TMPL_LIB} ${G2_LIB4} ${JASPER_LIB} ${PNG_LIB} ${Z_LIB} ${NEMSIO_LIB} ${GFSIO_LIB4} ${SIGIO_LIB4} ${SFCIO_LIB4} ${IP_LIB4} ${SP_LIB4} ${W3EMC_LIB4} ${W3NCO_LIB4} ${BACIO_LIB4} ${CRTM_LIB} ${WRF_LIB} ${NETCDF_LDFLAGS_F}"
-
-#export LIBS=" ${WRF_LIB} ${XMLPARSE_LIB} ${G2_LIB4} ${G2TMPL_LIB} ${NEMSIO_LIB} ${GFSIO_LIB4} ${SIGIO_LIB4} ${SFCIO_LIB4} ${IP_LIB4} ${SP_LIB4} ${W3NCO_LIB4} ${W3EMC_LIB4} ${BACIO_LIB4} ${CRTM_LIB} ${NETCDF_LIB} ${PNG_LIB} ${JASPER_LIB} ${Z_LIB}"
-#export LIBS="${XMLPARSE_LIB} ${G2_LIB4} ${G2TMPL_LIB} ${NEMSIO_LIB} ${GFSIO_LIB4} ${SIGIO_LIB4} ${SFCIO_LIB4} ${IP_LIB4} ${SP_LIB4} ${W3NCO_LIB4} ${W3EMC_LIB4} ${BACIO_LIB4} ${CRTM_LIB} ${NETCDF_LIB} ${PNG_LIB} ${JASPER_LIB} ${Z_LIB} ${WRF_LIB}"
-
-else
- SFCIO_INC="-I${NWPROD}/lib/incmod/sfcio_4"
- SFCIO_LIB="${NWPROD}/lib/libsfcio_4.a"
-
-# to use new avg version
- NEMSIO_INC="-I/nems/save/Jun.Wang/nceplibs/nemsio/nemsio_avg/incmod"
- NEMSIO_LIB="-L/nems/save/Jun.Wang/nceplibs/nemsio/nemsio_avg -lnemsio"
-
-#NEMSIO_INC="-I${NWPROD}/lib/incmod/nemsio"
-#NEMSIO_LIB="-L${NWPROD}/lib -lnemsio"
-
- BACIO_LIB="-L${BACIOPATH} -lbacio${baciov}_4"
- SIGIO_INC="-I${NWPROD}/lib/incmod/sigio_4"
- SIGIO_LIB="${NWPROD}/lib/libsigio_4.a"
- NCDLIBS="-L${NETCDFPATH} -lnetcdf"
- NCDFFLAGS="-I${NETCDFPATH}"
- if [ $make_nowrf = YES ] ; then
- export WRF_INC=""
- export WRF_LI=""
- else
- export WRF_INC="-I${WRFPATH}/external/io_quilt -I${WRFPATH}/frame"
- export WRF_LIB="${WRFPATH}/main/libwrflib.a \
- ${WRFPATH}/frame/pack_utils.o
- ${WRFPATH}/frame/module_internal_header_util.o \
- ${WRFPATH}/external/io_grib1/libio_grib1.a \
- ${WRFPATH}/external/io_grib_share/libio_grib_share.a \
- ${WRFPATH}/external/io_int/libwrfio_int.a \
- ${WRFPATH}/external/io_netcdf/libwrfio_nf.a \
- ${WRFPATH}/external/esmf_time_f90/libesmf_time.a \
- ${WRFPATH}/external/RSL_LITE/librsl_lite.a"
- fi
-
- G2_INC="-I${NWPROD}/lib/incmod/g2_4 -I${NWPROD}/lib/incmod/g2tmpl${g2tv}"
- G2_LIB="-L${NWPROD}/lib -lg2tmpl${g2tv} -lg2_4 -ljasper -lpng -lz"
-
- GFSIO_INC="-I${NWPROD}/lib/incmod/gfsio${gfsiov}_4"
- GFSIO_LIB="-L${NWPROD}/lib -lgfsio${gfsiov}_4"
-
- IP_LIB="-L${IPPATH}/lib -lip${ipv}_4"
- SP_LIB="-L${SPPATH} -lsp${sp}_4"
-
- W3_INC="-I${NWPROD}/lib/incmod/w3emc${w3ev}_4"
- W3_LIB="-L${NWPROD}/lib -lw3nco${w3nv}_4 -lw3emc${w3ev}_4"
-
- CRTM_INC="-I${NWPROD}/lib/incmod/crtm_${crtmv_inc}"
- CRTM_LIB="-L${NWPROD}/lib -lcrtm_v${crtmv}"
- XML_INC="-I${XMLPATH}/lib/incmod/xmlparse${xmlv}"
- XML_LIB="-L${XMLPATH}/lib -lxmlparse${xmlv}"
-
- NETCDF_LIB="${NETCDFPATH}/lib/libnetcdf.a"
- NETCDF_INC="-I${NETCDFPATH}/include"
-
- export FFLAGS="${OPTS} ${FREE} ${TRAPS} ${DEBUG} ${WRF_INC} ${XML_INC} ${G2_INC} ${NEMSIO_INC} ${GFSIO_INC} ${SIGIO_INC} ${SFCIO_INC} ${W3_INC} ${CRTM_INC} ${NETCDF_INC}"
-
- export LIBS="${WRF_LIB} ${XML_LIB} ${G2_LIB} ${NEMSIO_LIB} ${GFSIO_LIB} ${SIGIO_LIB} ${SFCIO_LIB} ${IP_LIB} ${SP_LIB} ${W3_LIB} ${BACIO_LIB} ${CRTM_LIB} ${NETCDF_LIB}"
-
-fi
-if [ $make_post_lib = NO ] ; then
- if [ $make_post_exec = YES ] ; then
- if [ $make_nowrf = YES ] ; then
- make -f Makefile_nowrf_new${BMPYXML}
- else
- make -f Makefile_new${BMPYXML}
- fi
- fi
-else
- if [ $make_post_exec = YES ] ; then
- if [ $make_nowrf = YES ] ; then
- make -f Makefile_nowrf_new${BMPYXML}
- else
- make -f Makefile_new${BMPYXML}
- fi
- fi
- export POSTLIBPATH=${POSTLIBPATH:-$(pwd)}
- if [ ${CLEAN:-YES} = YES ] ; then rm -rf $POSTLIBPATH/incmod/post${BMPYXML}_4 ; fi
- mkdir -p $POSTLIBPATH/incmod/post${BMPYXML}_4
- make -f Makefile_lib_new${BMPYXML}
-fi
-
-
diff --git a/sorc/ncep_post.fd/makefile_LINUX b/sorc/ncep_post.fd/makefile_LINUX
deleted file mode 100644
index ea698da36..000000000
--- a/sorc/ncep_post.fd/makefile_LINUX
+++ /dev/null
@@ -1,189 +0,0 @@
-################################################################################
-#
-# Makefile for NCEP Post
-#
-# Use:
-# make - build the executable
-# make clean - start with a clean slate
-#
-# The following macros will be of interest:
-#
-# TARGET - name of the executable
-# FC - name of Fortran compiler
-# CPP - name of CPP
-# ARCH - architecture
-# CPPFLAGS - CPP flags
-# OPTS - compiler code optimizations
-# LIST - source listing
-# SMP - threading
-# TRAPS - runtime traps for floating point exceptions
-# PROFILE - source code profiling ( -pg )
-# DEBUG - -g
-# MEM - user data area and stack size
-# MAP - load map
-# W3LIB - w3lib
-# BACIO - bacio lib
-# ESSL - ESSL library
-# MASS - MASS library
-# HPMLIB - hpm lib
-# SEARCH - library search location
-#
-# This version for eta_post with more intelligent memory allocation
-# Jim Tuccillo Feb 2001
-#
-# This version for eta_post with asynchronous I/O server.
-# Jim Tuccillo June 2001
-#
-#################################################################################
-#
-# Define the name of the executable
-#
-#TARGET = ../exec/nceppost.x
-TARGET = ncep_post
-# TARGET = bin_post
-#
-# CPP, Compiler, and Linker Options
-#
-
-
-
-## WRFPATH = /misc/whome/mhu/RR13V31/trunk/WRF3.1
-WRFPATH = /mnt/lfs0/projects/wrfruc/mhu/save/WRF_release/WRFV3.2_intel_arw
-
-NETCDFPATH = ${NETCDF}
-FC = mpif90
-CPP = /lib/cpp -C -P -DLINUX -DGSDRAPR $(FDEFS)
-ARCH =
-CPPFLAGS =
-#OPTS = -O -qnosave -qarch=$(ARCH) -qmaxmem=-1 -NS2000
-#OPTS = -C -O -qnosave -qarch=$(ARCH) -qmaxmem=-1 -NS2000
-#OPTS = -O -g -qnosave -qarch=$(ARCH) -qmaxmem=-1 -NS2000 -bmaxdata:0x80000000
-# OPTS = -O3 -ftz -xT -fp-model precise -assume byterecl -convert big_endian -fpe0 -traceback -DLINUX
-OPTS = -O3 -ftz -xT -fp-model precise -assume byterecl -fpe0 -traceback -DLINUX
-LIST =
-FREE = -free
-#TRAPS = -qflttrap=ov:und:zero:inv:inex -qcheck -qinitauto=FF
-TRAPS =
-PROFILE =
-DEBUG = -g
-MEM =
-MAP =
-W3LIBDIR = ../libs
-ESSL =
-MASS =
-NCDLIBS = -L$(NETCDFPATH)/lib -lnetcdf
-NCDFFLAGS = -I$(NETCDFPATH)/include
-WRFFFLAGS = -I$(WRFPATH)/external/io_quilt
-CRTMFFLAGS = -I../libs/incmod/crtm2
-W3FLAGS = -I../libs/incmod
-SFCFLAG = -I../libs/incmod
-WRFLIB = $(WRFPATH)/main/libwrflib.a \
- $(WRFPATH)/frame/pack_utils.o \
- $(WRFPATH)/external/io_int/libwrfio_int.a \
- $(WRFPATH)/external/io_netcdf/libwrfio_nf.a \
- $(WRFPATH)/external/esmf_time_f90/libesmf_time.a \
- $(WRFPATH)/external/RSL_LITE/librsl_lite.a \
- $(WRFPATH)/external/io_grib1/libio_grib1.a \
- $(WRFPATH)/external/io_grib_share/libio_grib_share.a \
- $(WRFPATH)/external/fftpack/fftpack5/libfftpack.a
-## g2
-GRB2FLAGS = -I../libs/incmod/g2_4 -I../libs/incmod/g2tmpl
-XMLFLAGS = -I ./xml/xml_fortran
-GRB2LIB = -L../libs -lg2tmpl -L../libs -lg2 -L$(JASPER)/lib -ljasper -lpng -lz
-XMLLIB = ./xml/xml_fortran/xmlparse.a
-
-
-CRTMLIB =
-
-LAPACK = -L$(MKL) -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lguide
-
-SEARCH =
-#
-# Assemble Options
-#
-FFLAGS = $(OPTS) $(LIST) $(TRAPS) $(PROFILE) $(DEBUG) $(NCDFFLAGS) $(WRFFLAGS) $(CRTMFFLAGS) $(W3FLAGS) $(SFCFLAG) $(GRB2FLAGS) $(XMLFLAGS)
-FFLAGST = $(OPTS) $(LIST) $(FREE) $(TRAPS) $(PROFILE) $(DEBUG) $(NCDFFLAGS) $(WRFFLAGS) $(CRTMFFLAGS) $(W3FLAGS) $(SFCFLAG) $(GRB2FLAGS) $(XMLFLAGS)
-LDFLAGS = $(MEM) $(MAP) $(SMP) $(PROFILE)
-#LIBS = $(ESSL) $(MASS) $(SEARCH) $(NCDLIBS) $(WRFLIB) -L$(W3LIBDIR) -lw3_4 -lbacio_4 -lsp_4 -lsigio_4 -lsfcio_4 -lcrtm2
-LIBS = $(WRFLIB) $(XMLLIB) $(GRB2LIB) \
- -L../libs -lsigio_4 -lsfcio_4 \
- -lbacio_4 -lsp_4 -lcrtm2 -lw3 $(NCDLIBS) $(LAPACK) \
-
-#
-#
-# Threaded object files
-#
-OBJST= wrf_io_flags.o module_internal_header_util.o getVariable.o getIVariable.o getVariableB.o getIVariableN.o getVariableRSM.o \
- kinds_mod.o gfsio_module.o nemsio_module.o machine.o physcons.o \
- count_recs_wrf_binary_file.o inventory_wrf_binary_file.o \
- next_buf.o retrieve_index.o ZENSUN.o CLDFRAC_ZHAO.o \
- GFSPOST.o GETGBANDSCATTER.o
-#
-# Non-threaded object files
-#
-OBJXML= postcntrl_t.o
-#
-OBJS= VRBLS2D_mod.o VRBLS3D_mod.o VRBLS4D_mod.o MASKS_mod.o PMICRPH.o SOIL_mod.o \
- CMASSI.o CTLBLK.o GRIDSPEC.o LOOKUP.o PARAMR.o RHGRD.o RQSTFLD.o \
- cuparm.o params.o svptbl.o get_postfilename.o grib2_module.o getlvls.o \
- BNDLYR.o BOUND.o CALCAPE.o CALDWP.o CALDRG.o CALHEL.o CALLCL.o \
- CALMCVG.o CALPOT.o CALPW.o CALRH.o CALRCH.o CALRH_GSD.o CALRH_PW.o \
- CALSTRM.o CALTAU.o CALTHTE.o CALVIS.o CALVIS_GSD.o CALVOR.o CALWXT.o \
- CALWXT_RAMER.o CALWXT_BOURG.o CALWXT_REVISED.o \
- CALWXT_EXPLICIT.o CALWXT_DOMINANT.o \
- CLDRAD.o CLMAX.o COLLECT.o COLLECT_LOC.o \
- DEWPOINT.o \
- FDLVL.o FGAMMA.o FIXED.o FRZLVL.o FRZLVL2.o \
- GET_BITS.o GRIBIT.o INITPOST.o LFMFLD.o INITPOST_BIN.o \
- INITPOST_BIN_MPIIO.o \
- MAPSSLP.o MISCLN.o MIXLEN.o MDL2P.o MDLFLD.o MPI_FIRST.o MPI_LAST.o \
- NGMFLD.o NGMSLP.o OTLFT.o OTLIFT.o SLP_new.o SLP_NMM.o EXCH.o \
- PARA_RANGE.o PROCESS.o INITPOST_NMM.o EXCH2.o \
- READCNTRL.o READCNTRL_xml.o SCLFLD.o SERVER.o SETUP_SERVERS.o SMOOTH.o SURFCE.o \
- SPLINE.o TABLE.o TABLEQ.o TRPAUS.o TTBLEX.o WETBULB.o WRFPOST.o \
- INITPOST_NMM_BIN.o CALMICT.o MICROINIT.o GPVS.o MDL2SIGMA.o \
- ETCALC.o CANRES.o CALGUST.o WETFRZLVL.o SNFRAC.o MDL2AGL.o SNFRAC_GFS.o \
- INITPOST_RSM.o AVIATION.o DEALLOCATE.o INITPOST_NMM_BIN_MPIIO_IJK.o \
- CALPBL.o MDL2SIGMA2.o INITPOST_GFS.o CALRH_GFS.o LFMFLD_GFS.o CALRAD.o \
- CALRAD_WCLOUD.o MDL2THANDPV.o CALPBLREGIME.o POLEAVG.o \
- INITPOST_NEMS.o GETNEMSNDSCATTER.o ICAOHEIGHT.o INITPOST_GFS_NEMS.o GFIP3.o \
- GRIDAVG.o CALUPDHEL.o AllGETHERV_GSD.o MSFPS.o SELECT_CHANNELS.o ALLOCATE_ALL.o
-#
-# Includes
-#
-##INCLUDES= parm.tbl parmeta parmout parmsoil cuparm
-#INCLUDES= parm.tbl cuparm
-#
-# Common Blocks
-#
-#COMMS= LOOKUP.comm RQSTFLD.comm CTLBLK.comm \
-# GRIDSPEC.comm CMASSI.comm RHGRD.comm
-
-#DEPS= $(COMMS) $(INCLUDES)
-
-.SUFFIXES:
-
-.SUFFIXES: .F .f .o .f90
-
-.F.o:
- $(CPP) $(CPPFLAGS) $< > $*.f
- $(FC) -c $(FFLAGST) $*.f
- rm $*.f
-
-$(TARGET): $(OBJST) $(OBJXML) $(OBJS)
- $(FC) $(LDFLAGS) -o $@ $(OBJST) $(OBJXML) $(OBJS) $(LIBS)
-
-.f.o: $(OBJST)
- $(FC) -c $(FFLAGST) $<
-
-.f90.o: $(OBJXML)
- $(FC) -c $(FFLAGST) $<
-
-clean:
- /bin/rm -f $(TARGET) *.lst *.o *.mod
-#
-postcntrl_t.f90 : postcntrl_t.xml
- echo postcntrl_t > xmlreader.inp
- ./xml/xml_fortran/xmlreader
- $(FC) $(FFLAGS) postcntrl_t.f90
-
diff --git a/sorc/ncep_post.fd/makefile_Linux_gnu b/sorc/ncep_post.fd/makefile_Linux_gnu
deleted file mode 100644
index bede2e755..000000000
--- a/sorc/ncep_post.fd/makefile_Linux_gnu
+++ /dev/null
@@ -1,145 +0,0 @@
-#
-# Define the name of the executable
-#
-TARGET = ncep_post
-
-#
-# CPP, Compiler, and Linker Options
-#
-FC = mpif90 -fc=gfortran
-CC = gcc
-CPP = cpp -P -traditional
-CPPFLAGS =
-CFLAGS = -DLINUX -Dfunder -DFortranByte=char -DFortranInt=int -DFortranLlong='long long'
-OPTS = -O3 -fopenmp
-FREE = -ffree-form
-TRAPS = #-fcheck=bounds,do,mem,pointer,recursion -finit-real=snan -finit-integer=-100000 -ffpe-trap=overflow,zero,invalid -fbacktrace -gdwarf-2 -g
-DEBUG = -g
-
-#
-# Now the hard part. NCEPPOST needs 19 libraries, WOW!!!!!
-#
-NWPROD_LIB ?= ../../lib
-
-SFCIO_INC = -I${NWPROD_LIB}/incmod/sfcio_4
-SFCIO_LIB = ${NWPROD_LIB}/libsfcio_4.a
-
-NEMSIO_INC = -I${NWPROD_LIB}/incmod/nemsio
-NEMSIO_LIB = -L${NWPROD_LIB} -lnemsio
-
-BACIO_LIB = -L${NWPROD_LIB} -lbacio_4
-
-SIGIO_INC = -I${NWPROD_LIB}/incmod/sigio_4
-SIGIO_LIB = ${NWPROD_LIB}/libsigio_4.a
-
-WRFPATH = ${NWPROD_LIB}/WRFV3
-WRF_INC = -I$(WRFPATH)/frame
-WRF_LIB = $(WRFPATH)/frame/pack_utils.o \
- $(WRFPATH)/frame/module_internal_header_util.o \
- $(WRFPATH)/external/io_grib1/libio_grib1.a \
- $(WRFPATH)/external/io_grib_share/libio_grib_share.a \
- $(WRFPATH)/external/io_int/libwrfio_int.a \
- $(WRFPATH)/external/io_netcdf/libwrfio_nf.a
-
-G2_INC = -I${NWPROD_LIB}/incmod/g2_4 -I${NWPROD_LIB}/incmod/g2tmpl
-G2_LIB = -L${NWPROD_LIB} -lg2tmpl -lg2_4 -L${NWPROD_LIB}/jasper/lib -ljasper -L${NWPROD_LIB}/libpng/lib -lpng -L${NWPROD_LIB}/zlib/lib -lz
-
-
-GFSIO_INC = -I${NWPROD_LIB}/incmod/gfsio_4
-GFSIO_LIB = ${NWPROD_LIB}/libgfsio_4.a
-
-IP_LIB = -L${NWPROD_LIB} -lip_4
-
-SP_LIB = -L${NWPROD_LIB} -lsp_4
-
-W3_INC = -I${NWPROD_LIB}/incmod/w3emc_4
-W3_LIB = -L${NWPROD_LIB} -lw3nco_4 -lw3emc_4
-
-CRTM_INC = -I${NWPROD_LIB}/incmod/crtm
-CRTM_LIB = -L${NWPROD_LIB} -lCRTM
-
-NETCDFPATH = ${NWPROD_LIB}/netcdf
-NETCDF_LIB = $(NETCDFPATH)/lib/libnetcdff.a $(NETCDFPATH)/lib/libnetcdf.a
-NETCDF_INC = -I$(NETCDFPATH)/include
-
-#
-# Assemble Options
-#
-FFLAGS = $(OPTS) $(FREE) $(TRAPS) $(DEBUG) \
- $(WRF_INC) \
- $(G2_INC) \
- $(NEMSIO_INC) \
- $(GFSIO_INC) \
- $(SIGIO_INC) \
- $(SFCIO_INC) \
- $(W3_INC) \
- $(CRTM_INC) \
- $(NETCDF_INC)
-
-LIBS = $(WRF_LIB) \
- $(G2_LIB) \
- $(NEMSIO_LIB) \
- $(GFSIO_LIB) \
- $(SIGIO_LIB) \
- $(SFCIO_LIB) \
- $(IP_LIB) \
- $(SP_LIB) \
- $(W3_LIB) \
- $(BACIO_LIB) \
- $(CRTM_LIB) \
- $(NETCDF_LIB)
-
-
-OBJS = wrf_io_flags.o getVariable.o getIVariable.o getIVariableN.o \
- kinds_mod.o machine.o physcons.o \
- native_endianness.o blockIO.o initialize_byte_swap_wrf_binary_file.o \
- count_recs_wrf_binary_file.o inventory_wrf_binary_file.o \
- next_buf.o retrieve_index.o ZENSUN.o CLDFRAC_ZHAO.o \
- GFSPOST.o GETGBANDSCATTER.o \
- VRBLS2D_mod.o VRBLS3D_mod.o VRBLS4D_mod.o MASKS_mod.o PMICRPH.o SOIL_mod.o \
- CMASSI.o CTLBLK.o GRIDSPEC.o LOOKUP.o PARAMR.o RHGRD.o RQSTFLD.o xml_perl_data.o \
- cuparm.o params.o svptbl.o get_postfilename.o grib2_module.o \
- SET_LVLSXML.o FILL_PSETFLD.o \
- BNDLYR.o BOUND.o CALCAPE.o CALDWP.o CALDRG.o CALHEL.o CALLCL.o \
- CALMCVG.o CALPOT.o CALPW.o CALRH.o CALRCH.o CALRH_GSD.o \
- CALSTRM.o CALTAU.o CALTHTE.o CALVIS.o CALVIS_GSD.o CALVOR.o CALWXT.o \
- CALWXT_RAMER.o CALWXT_BOURG.o CALWXT_REVISED.o CALRH_PW.o \
- CALWXT_EXPLICIT.o CALWXT_DOMINANT.o \
- CLDRAD.o CLMAX.o COLLECT.o COLLECT_LOC.o DEWPOINT.o \
- FDLVL.o FGAMMA.o FIXED.o FRZLVL.o FRZLVL2.o \
- GET_BITS.o GRIBIT.o INITPOST.o LFMFLD.o \
- MAPSSLP.o MISCLN.o MIXLEN.o MDL2P.o MDLFLD.o MPI_FIRST.o MPI_LAST.o \
- NGMFLD.o NGMSLP.o OTLFT.o OTLIFT.o SLP_new.o SLP_NMM.o EXCH.o \
- PARA_RANGE.o PROCESS.o INITPOST_NMM.o EXCH2.o \
- READCNTRL.o READ_xml.o SET_OUTFLDS.o SCLFLD.o SERVER.o SETUP_SERVERS.o \
- SMOOTH.o SURFCE.o \
- SPLINE.o TABLE.o TABLEQ.o TRPAUS.o TTBLEX.o WETBULB.o WRFPOST.o \
- CALMICT.o MICROINIT.o GPVS.o MDL2SIGMA.o \
- ETCALC.o CANRES.o CALGUST.o WETFRZLVL.o SNFRAC.o MDL2AGL.o SNFRAC_GFS.o \
- AVIATION.o DEALLOCATE.o INITPOST_NMM_BIN_MPIIO.o \
- CALPBL.o MDL2SIGMA2.o INITPOST_GFS.o CALRH_GFS.o LFMFLD_GFS.o \
- CALRAD_WCLOUD_newcrtm.o MDL2THANDPV.o CALPBLREGIME.o POLEAVG.o \
- INITPOST_NEMS.o GETNEMSNDSCATTER.o ICAOHEIGHT.o INITPOST_GFS_NEMS.o \
- INITPOST_BIN_MPIIO.o GEO_ZENITH_ANGLE.o GFIP3.o GRIDAVG.o CALUPDHEL.o INITPOST_GFS_SIGIO.o \
- AllGETHERV_GSD.o MSFPS.o SELECT_CHANNELS.o ALLOCATE_ALL.o INITPOST_NEMS_MPIIO.o ASSIGNNEMSIOVAR.o \
- INITPOST_GFS_NEMS_MPIIO.o TIMEF.o WRF_STUBS.o
-
-.SUFFIXES: .F .f .o .f90 .c
-
-.F.f:
- $(CPP) $(CPPFLAGS) $< > $*.f
-
-$(TARGET): $(OBJS)
- $(FC) $(FFLAGS) -o $@ $(OBJS) $(LIBS)
-
-.f.o:
- $(FC) $(FFLAGS) -c $<
-
-.f90.o:
- $(FC) $(FFLAGS) -c $<
-
-.c.o :
- $(CC) $(CFLAGS) -c $<
-
-clean:
- /bin/rm -f $(TARGET) *.lst *.o *.mod
diff --git a/sorc/ncep_post.fd/makefile_Linux_intel b/sorc/ncep_post.fd/makefile_Linux_intel
deleted file mode 100644
index 56d6a5df4..000000000
--- a/sorc/ncep_post.fd/makefile_Linux_intel
+++ /dev/null
@@ -1,145 +0,0 @@
-#
-# Define the name of the executable
-#
-TARGET = ncep_post
-
-#
-# CPP, Compiler, and Linker Options
-#
-FC = mpif90 -fc=ifort
-CC = icc
-CPP = cpp -P -traditional
-CPPFLAGS =
-CFLAGS = -DLINUX -Dfunder -DFortranByte=char -DFortranInt=int -DFortranLlong='long long'
-OPTS = -O3 -openmp
-FREE = -FR
-TRAPS =
-DEBUG = -g -traceback
-
-#
-# Now the hard part. NCEPPOST needs 19 libraries, WOW!!!!!
-#
-NWPROD_LIB ?= ../../lib
-
-SFCIO_INC = -I${NWPROD_LIB}/incmod/sfcio_4
-SFCIO_LIB = ${NWPROD_LIB}/libsfcio_4.a
-
-NEMSIO_INC = -I${NWPROD_LIB}/incmod/nemsio
-NEMSIO_LIB = -L${NWPROD_LIB} -lnemsio
-
-BACIO_LIB = -L${NWPROD_LIB} -lbacio_4
-
-SIGIO_INC = -I${NWPROD_LIB}/incmod/sigio_4
-SIGIO_LIB = ${NWPROD_LIB}/libsigio_4.a
-
-WRFPATH = ${NWPROD_LIB}/WRFV3
-WRF_INC = -I$(WRFPATH)/frame
-WRF_LIB = $(WRFPATH)/frame/pack_utils.o \
- $(WRFPATH)/frame/module_internal_header_util.o \
- $(WRFPATH)/external/io_grib1/libio_grib1.a \
- $(WRFPATH)/external/io_grib_share/libio_grib_share.a \
- $(WRFPATH)/external/io_int/libwrfio_int.a \
- $(WRFPATH)/external/io_netcdf/libwrfio_nf.a
-
-G2_INC = -I${NWPROD_LIB}/incmod/g2_4 -I${NWPROD_LIB}/incmod/g2tmpl
-G2_LIB = -L${NWPROD_LIB} -lg2tmpl -lg2_4 -L${NWPROD_LIB}/jasper/lib -ljasper -L${NWPROD_LIB}/libpng/lib -lpng -L${NWPROD_LIB}/zlib/lib -lz
-
-
-GFSIO_INC = -I${NWPROD_LIB}/incmod/gfsio_4
-GFSIO_LIB = ${NWPROD_LIB}/libgfsio_4.a
-
-IP_LIB = -L${NWPROD_LIB} -lip_4
-
-SP_LIB = -L${NWPROD_LIB} -lsp_4
-
-W3_INC = -I${NWPROD_LIB}/incmod/w3emc_4
-W3_LIB = -L${NWPROD_LIB} -lw3nco_4 -lw3emc_4
-
-CRTM_INC = -I${NWPROD_LIB}/incmod/crtm
-CRTM_LIB = -L${NWPROD_LIB} -lCRTM
-
-NETCDFPATH = ${NWPROD_LIB}/netcdf
-NETCDF_LIB = $(NETCDFPATH)/lib/libnetcdff.a $(NETCDFPATH)/lib/libnetcdf.a
-NETCDF_INC = -I$(NETCDFPATH)/include
-
-#
-# Assemble Options
-#
-FFLAGS = $(OPTS) $(FREE) $(TRAPS) $(DEBUG) \
- $(WRF_INC) \
- $(G2_INC) \
- $(NEMSIO_INC) \
- $(GFSIO_INC) \
- $(SIGIO_INC) \
- $(SFCIO_INC) \
- $(W3_INC) \
- $(CRTM_INC) \
- $(NETCDF_INC)
-
-LIBS = $(WRF_LIB) \
- $(G2_LIB) \
- $(NEMSIO_LIB) \
- $(GFSIO_LIB) \
- $(SIGIO_LIB) \
- $(SFCIO_LIB) \
- $(IP_LIB) \
- $(SP_LIB) \
- $(W3_LIB) \
- $(BACIO_LIB) \
- $(CRTM_LIB) \
- $(NETCDF_LIB)
-
-
-OBJS = wrf_io_flags.o getVariable.o getIVariable.o getIVariableN.o \
- kinds_mod.o machine.o physcons.o \
- native_endianness.o blockIO.o initialize_byte_swap_wrf_binary_file.o \
- count_recs_wrf_binary_file.o inventory_wrf_binary_file.o \
- next_buf.o retrieve_index.o ZENSUN.o CLDFRAC_ZHAO.o \
- GFSPOST.o GETGBANDSCATTER.o \
- VRBLS2D_mod.o VRBLS3D_mod.o VRBLS4D_mod.o MASKS_mod.o PMICRPH.o SOIL_mod.o \
- CMASSI.o CTLBLK.o GRIDSPEC.o LOOKUP.o PARAMR.o RHGRD.o RQSTFLD.o xml_perl_data.o \
- cuparm.o params.o svptbl.o get_postfilename.o grib2_module.o \
- SET_LVLSXML.o FILL_PSETFLD.o \
- BNDLYR.o BOUND.o CALCAPE.o CALDWP.o CALDRG.o CALHEL.o CALLCL.o \
- CALMCVG.o CALPOT.o CALPW.o CALRH.o CALRCH.o CALRH_GSD.o \
- CALSTRM.o CALTAU.o CALTHTE.o CALVIS.o CALVIS_GSD.o CALVOR.o CALWXT.o \
- CALWXT_RAMER.o CALWXT_BOURG.o CALWXT_REVISED.o CALRH_PW.o \
- CALWXT_EXPLICIT.o CALWXT_DOMINANT.o \
- CLDRAD.o CLMAX.o COLLECT.o COLLECT_LOC.o DEWPOINT.o \
- FDLVL.o FGAMMA.o FIXED.o FRZLVL.o FRZLVL2.o \
- GET_BITS.o GRIBIT.o INITPOST.o LFMFLD.o \
- MAPSSLP.o MISCLN.o MIXLEN.o MDL2P.o MDLFLD.o MPI_FIRST.o MPI_LAST.o \
- NGMFLD.o NGMSLP.o OTLFT.o OTLIFT.o SLP_new.o SLP_NMM.o EXCH.o \
- PARA_RANGE.o PROCESS.o INITPOST_NMM.o EXCH2.o \
- READCNTRL.o READ_xml.o SET_OUTFLDS.o SCLFLD.o SERVER.o SETUP_SERVERS.o \
- SMOOTH.o SURFCE.o \
- SPLINE.o TABLE.o TABLEQ.o TRPAUS.o TTBLEX.o WETBULB.o WRFPOST.o \
- CALMICT.o MICROINIT.o GPVS.o MDL2SIGMA.o \
- ETCALC.o CANRES.o CALGUST.o WETFRZLVL.o SNFRAC.o MDL2AGL.o SNFRAC_GFS.o \
- AVIATION.o DEALLOCATE.o INITPOST_NMM_BIN_MPIIO.o \
- CALPBL.o MDL2SIGMA2.o INITPOST_GFS.o CALRH_GFS.o LFMFLD_GFS.o \
- CALRAD_WCLOUD_newcrtm.o MDL2THANDPV.o CALPBLREGIME.o POLEAVG.o \
- INITPOST_NEMS.o GETNEMSNDSCATTER.o ICAOHEIGHT.o INITPOST_GFS_NEMS.o \
- INITPOST_BIN_MPIIO.o GEO_ZENITH_ANGLE.o GFIP3.o GRIDAVG.o CALUPDHEL.o INITPOST_GFS_SIGIO.o \
- AllGETHERV_GSD.o MSFPS.o SELECT_CHANNELS.o ALLOCATE_ALL.o INITPOST_NEMS_MPIIO.o ASSIGNNEMSIOVAR.o \
- INITPOST_GFS_NEMS_MPIIO.o TIMEF.o WRF_STUBS.o
-
-.SUFFIXES: .F .f .o .f90 .c
-
-.F.f:
- $(CPP) $(CPPFLAGS) $< > $*.f
-
-$(TARGET): $(OBJS)
- $(FC) $(FFLAGS) -o $@ $(OBJS) $(LIBS)
-
-.f.o:
- $(FC) $(FFLAGS) -c $<
-
-.f90.o:
- $(FC) $(FFLAGS) -c $<
-
-.c.o :
- $(CC) $(CFLAGS) -c $<
-
-clean:
- /bin/rm -f $(TARGET) *.lst *.o *.mod
diff --git a/sorc/ncep_post.fd/makefile_Linux_pgi b/sorc/ncep_post.fd/makefile_Linux_pgi
deleted file mode 100644
index 1433ed505..000000000
--- a/sorc/ncep_post.fd/makefile_Linux_pgi
+++ /dev/null
@@ -1,145 +0,0 @@
-#
-# Define the name of the executable
-#
-TARGET = ncep_post
-
-#
-# CPP, Compiler, and Linker Options
-#
-FC = mpif90 -fc=pgf95
-CC = pgcc
-CPP = cpp -P -traditional
-CPPFLAGS =
-CFLAGS = -DLINUX -Dfunder -DFortranByte=char -DFortranInt=int -DFortranLlong='long long'
-OPTS = -O3
-FREE = -Mfree
-TRAPS =
-DEBUG = -g -traceback
-
-#
-# Now the hard part. NCEPPOST needs 19 libraries, WOW!!!!!
-#
-NWPROD_LIB ?= ../../lib
-
-SFCIO_INC = -I${NWPROD_LIB}/incmod/sfcio_4
-SFCIO_LIB = ${NWPROD_LIB}/libsfcio_4.a
-
-NEMSIO_INC = -I${NWPROD_LIB}/incmod/nemsio
-NEMSIO_LIB = -L${NWPROD_LIB} -lnemsio
-
-BACIO_LIB = -L${NWPROD_LIB} -lbacio_4
-
-SIGIO_INC = -I${NWPROD_LIB}/incmod/sigio_4
-SIGIO_LIB = ${NWPROD_LIB}/libsigio_4.a
-
-WRFPATH = ${NWPROD_LIB}/WRFV3
-WRF_INC = -I$(WRFPATH)/frame
-WRF_LIB = $(WRFPATH)/frame/pack_utils.o \
- $(WRFPATH)/frame/module_internal_header_util.o \
- $(WRFPATH)/external/io_grib1/libio_grib1.a \
- $(WRFPATH)/external/io_grib_share/libio_grib_share.a \
- $(WRFPATH)/external/io_int/libwrfio_int.a \
- $(WRFPATH)/external/io_netcdf/libwrfio_nf.a
-
-G2_INC = -I${NWPROD_LIB}/incmod/g2_4 -I${NWPROD_LIB}/incmod/g2tmpl
-G2_LIB = -L${NWPROD_LIB} -lg2tmpl -lg2_4 -L${NWPROD_LIB}/jasper/lib -ljasper -L${NWPROD_LIB}/libpng/lib -lpng -L${NWPROD_LIB}/zlib/lib -lz
-
-
-GFSIO_INC = -I${NWPROD_LIB}/incmod/gfsio_4
-GFSIO_LIB = ${NWPROD_LIB}/libgfsio_4.a
-
-IP_LIB = -L${NWPROD_LIB} -lip_4
-
-SP_LIB = -L${NWPROD_LIB} -lsp_4
-
-W3_INC = -I${NWPROD_LIB}/incmod/w3emc_4
-W3_LIB = -L${NWPROD_LIB} -lw3nco_4 -lw3emc_4
-
-CRTM_INC = -I${NWPROD_LIB}/incmod/crtm
-CRTM_LIB = -L${NWPROD_LIB} -lCRTM
-
-NETCDFPATH = ${NWPROD_LIB}/netcdf
-NETCDF_LIB = $(NETCDFPATH)/lib/libnetcdff.a $(NETCDFPATH)/lib/libnetcdf.a
-NETCDF_INC = -I$(NETCDFPATH)/include
-
-#
-# Assemble Options
-#
-FFLAGS = $(OPTS) $(FREE) $(TRAPS) $(DEBUG) \
- $(WRF_INC) \
- $(G2_INC) \
- $(NEMSIO_INC) \
- $(GFSIO_INC) \
- $(SIGIO_INC) \
- $(SFCIO_INC) \
- $(W3_INC) \
- $(CRTM_INC) \
- $(NETCDF_INC)
-
-LIBS = $(WRF_LIB) \
- $(G2_LIB) \
- $(NEMSIO_LIB) \
- $(GFSIO_LIB) \
- $(SIGIO_LIB) \
- $(SFCIO_LIB) \
- $(IP_LIB) \
- $(SP_LIB) \
- $(W3_LIB) \
- $(BACIO_LIB) \
- $(CRTM_LIB) \
- $(NETCDF_LIB)
-
-
-OBJS = wrf_io_flags.o getVariable.o getIVariable.o getIVariableN.o \
- kinds_mod.o machine.o physcons.o \
- native_endianness.o blockIO.o initialize_byte_swap_wrf_binary_file.o \
- count_recs_wrf_binary_file.o inventory_wrf_binary_file.o \
- next_buf.o retrieve_index.o ZENSUN.o CLDFRAC_ZHAO.o \
- GFSPOST.o GETGBANDSCATTER.o \
- VRBLS2D_mod.o VRBLS3D_mod.o VRBLS4D_mod.o MASKS_mod.o PMICRPH.o SOIL_mod.o \
- CMASSI.o CTLBLK.o GRIDSPEC.o LOOKUP.o PARAMR.o RHGRD.o RQSTFLD.o xml_perl_data.o \
- cuparm.o params.o svptbl.o get_postfilename.o grib2_module.o \
- SET_LVLSXML.o FILL_PSETFLD.o \
- BNDLYR.o BOUND.o CALCAPE.o CALDWP.o CALDRG.o CALHEL.o CALLCL.o \
- CALMCVG.o CALPOT.o CALPW.o CALRH.o CALRCH.o CALRH_GSD.o \
- CALSTRM.o CALTAU.o CALTHTE.o CALVIS.o CALVIS_GSD.o CALVOR.o CALWXT.o \
- CALWXT_RAMER.o CALWXT_BOURG.o CALWXT_REVISED.o CALRH_PW.o \
- CALWXT_EXPLICIT.o CALWXT_DOMINANT.o \
- CLDRAD.o CLMAX.o COLLECT.o COLLECT_LOC.o DEWPOINT.o \
- FDLVL.o FGAMMA.o FIXED.o FRZLVL.o FRZLVL2.o \
- GET_BITS.o GRIBIT.o INITPOST.o LFMFLD.o \
- MAPSSLP.o MISCLN.o MIXLEN.o MDL2P.o MDLFLD.o MPI_FIRST.o MPI_LAST.o \
- NGMFLD.o NGMSLP.o OTLFT.o OTLIFT.o SLP_new.o SLP_NMM.o EXCH.o \
- PARA_RANGE.o PROCESS.o INITPOST_NMM.o EXCH2.o \
- READCNTRL.o READ_xml.o SET_OUTFLDS.o SCLFLD.o SERVER.o SETUP_SERVERS.o \
- SMOOTH.o SURFCE.o \
- SPLINE.o TABLE.o TABLEQ.o TRPAUS.o TTBLEX.o WETBULB.o WRFPOST.o \
- CALMICT.o MICROINIT.o GPVS.o MDL2SIGMA.o \
- ETCALC.o CANRES.o CALGUST.o WETFRZLVL.o SNFRAC.o MDL2AGL.o SNFRAC_GFS.o \
- AVIATION.o DEALLOCATE.o INITPOST_NMM_BIN_MPIIO.o \
- CALPBL.o MDL2SIGMA2.o INITPOST_GFS.o CALRH_GFS.o LFMFLD_GFS.o \
- CALRAD_WCLOUD_newcrtm.o MDL2THANDPV.o CALPBLREGIME.o POLEAVG.o \
- INITPOST_NEMS.o GETNEMSNDSCATTER.o ICAOHEIGHT.o INITPOST_GFS_NEMS.o \
- INITPOST_BIN_MPIIO.o GEO_ZENITH_ANGLE.o GFIP3.o GRIDAVG.o CALUPDHEL.o INITPOST_GFS_SIGIO.o \
- AllGETHERV_GSD.o MSFPS.o SELECT_CHANNELS.o ALLOCATE_ALL.o INITPOST_NEMS_MPIIO.o ASSIGNNEMSIOVAR.o \
- INITPOST_GFS_NEMS_MPIIO.o TIMEF.o WRF_STUBS.o
-
-.SUFFIXES: .F .f .o .f90 .c
-
-.F.f:
- $(CPP) $(CPPFLAGS) $< > $*.f
-
-$(TARGET): $(OBJS)
- $(FC) $(FFLAGS) -o $@ $(OBJS) $(LIBS)
-
-.f.o:
- $(FC) $(FFLAGS) -c $<
-
-.f90.o:
- $(FC) $(FFLAGS) -c $<
-
-.c.o :
- $(CC) $(CFLAGS) -c $<
-
-clean:
- /bin/rm -f $(TARGET) *.lst *.o *.mod
diff --git a/sorc/ncep_post.fd/makefile_nems b/sorc/ncep_post.fd/makefile_nems
deleted file mode 100644
index e512faf6d..000000000
--- a/sorc/ncep_post.fd/makefile_nems
+++ /dev/null
@@ -1,155 +0,0 @@
-################################################################################
-#
-# Makefile for NCEP Post
-#
-# Use:
-# make - build the executable
-# make clean - start with a clean slate
-#
-# The following macros will be of interest:
-#
-# TARGET - name of the executable
-# FC - name of Fortran compiler
-# CPP - name of CPP
-# ARCH - architecture
-# CPPFLAGS - CPP flags
-# OPTS - compiler code optimizations
-# LIST - source listing
-# SMP - threading
-# TRAPS - runtime traps for floating point exceptions
-# PROFILE - source code profiling ( -pg )
-# DEBUG - -g
-# MEM - user data area and stack size
-# MAP - load map
-# W3LIB - w3lib
-# BACIO - bacio lib
-# ESSL - ESSL library
-# MASS - MASS library
-# HPMLIB - hpm lib
-# SEARCH - library search location
-#
-# This version for eta_post with more intelligent memory allocation
-# Jim Tuccillo Feb 2001
-#
-# This version for eta_post with asynchronous I/O server.
-# Jim Tuccillo June 2001
-
-# This version for NEMS_POST
-# Jun Wang June 2010
-#
-#################################################################################
-#
-# Define the name of the executable
-#
- POSTLIBPATH=..
- TARGET = ${POSTLIBPATH}/libnceppost.a
- INCMOD= ${POSTLIBPATH}/incmod/post_4
- AR = ar
- ARFLAGS = -rv
-
-#
-# CPP, Compiler, and Linker Options
-#
-
-FC = mpfort -compiler ifort
-CPP = /lib/cpp -P
-ARCH = auto
-CPPFLAGS = -DLINUX
-OPTS = -O -fp-model strict
-LIST =
-FREE = -FR
-TRAPS =
-PROFILE =
-DEBUG = -g
-CFLAGS = -DLINUX -Dfunder -DFortranByte=char -DFortranInt=int -DFortranLlong='long long'
-W3LIBDIR = /nwprod/lib
-
-CRTM_INC = -I/nwprod/lib/incmod/crtm_2.0.6
-W3_INC = -I/nwprod/lib/incmod/w3emc_v2.0.3_4
-SIGIO_INC = -I/nwprod/lib/incmod/sigio_v1.0.1_4
-GFSIO_INC = -I/nwprod/lib/incmod/gfsio_v1.1.0_4
-W3_INC = -I/nwprod/lib/incmod/w3emc_v2.0.3_4
-G2_INC = -I/nwprod/lib/incmod/g2_4 -I/nwprod/lib/incmod/g2tmpl
-XML_INC = -I/nwprod/lib/incmod/xmlparse
-
-CRTMFFLAGS = -I/nwprod/lib/incmod/crtm_2.0.2
-SIGIOFLAG = -I/nwprod/lib/incmod/sigio_4
-GFSIOFLAG = -I/nwprod/lib/incmod/gfsio_4
-
-W3FLAGS = -I/nwprod/lib/incmod/w3_v2.2.3_4
-G2TESTLIBDIR=/nco/sib/gribdev/lib
-G2TMPLTESTLIBDIR=/climate/save/wx20wa/lib
-XMLDIR=/climate/save/wx20wa/lib
-
-GRB2FLAGS = -I${G2TESTLIBDIR}/incmod/g2_4 -I${G2TMPLTESTLIBDIR}/incmod/g2tmpl
-XMLFLAGS = -I${XMLDIR}/incmod/xmlparse
-
-
-
-SEARCH =
-#
-# Assemble Options
-#
-FFLAGS = $(OPTS) $(FREE) $(TRAPS) $(DEBUG) $(CRTM_INC) $(W3_INC) $(G2_INC) $(XML_INC) $(SIGIO_INC) $(GFSIO_INC)
-FFLAGST = $(OPTS) $(FREE) $(TRAPS) $(DEBUG) $(CRTM_INC) $(W3_INC) $(SIGIO_INC) $(GFSIO_INC)
-
-#
-# Threaded object files
-#
-OBJST= kinds_mod.o machine.o physcons.o ZENSUN.o CLDFRAC_ZHAO.o GFSPOST.o
-#
-# Non-threaded object files
-#
-OBJS= VRBLS2D_mod.o VRBLS3D_mod.o VRBLS4D_mod.o MASKS_mod.o PMICRPH.o SOIL_mod.o \
- CMASSI.o CTLBLK.o GRIDSPEC.o LOOKUP.o PARAMR.o RHGRD.o RQSTFLD.o \
- cuparm.o params.o svptbl.o get_postfilename.o grib2_module.o \
- SET_LVLSXML.o FILL_PSETFLD.o \
- BNDLYR.o BOUND.o CALCAPE.o CALDWP.o CALDRG.o CALHEL.o CALLCL.o \
- CALMCVG.o CALPOT.o CALPW.o CALRH.o CALRCH.o CALRH_GSD.o \
- CALSTRM.o CALTAU.o CALTHTE.o CALVIS.o CALVIS_GSD.o CALVOR.o CALWXT.o \
- CALWXT_RAMER.o CALWXT_BOURG.o CALWXT_REVISED.o CALRH_PW.o \
- CALWXT_EXPLICIT.o CALWXT_DOMINANT.o \
- CLDRAD.o CLMAX.o COLLECT.o COLLECT_LOC.o DEWPOINT.o \
- FDLVL.o FGAMMA.o FIXED.o FRZLVL.o FRZLVL2.o \
- GET_BITS.o GRIBIT.o LFMFLD.o \
- MAPSSLP.o MISCLN.o MIXLEN.o MDL2P.o MDLFLD.o \
- NGMFLD.o NGMSLP.o OTLFT.o OTLIFT.o SLP_new.o SLP_NMM.o EXCH.o \
- PARA_RANGE.o PROCESS.o EXCH2.o \
- READCNTRL.o READ_xml.o SET_OUTFLDS.o SCLFLD.o \
- SMOOTH.o SURFCE.o \
- SPLINE.o TABLE.o TABLEQ.o TRPAUS.o TTBLEX.o WETBULB.o \
- CALMICT.o MICROINIT.o GPVS.o MDL2SIGMA.o \
- ETCALC.o CANRES.o CALGUST.o WETFRZLVL.o SNFRAC.o MDL2AGL.o SNFRAC_GFS.o \
- AVIATION.o DEALLOCATE.o \
- CALPBL.o MDL2SIGMA2.o CALRH_GFS.o LFMFLD_GFS.o \
- CALRAD_WCLOUD_newcrtm.o MDL2THANDPV.o CALPBLREGIME.o POLEAVG.o \
- ICAOHEIGHT.o \
- GEO_ZENITH_ANGLE.o GFIP3.o GRIDAVG.o CALUPDHEL.o \
- AllGETHERV_GSD.o MSFPS.o SELECT_CHANNELS.o ALLOCATE_ALL.o
-
-
-.SUFFIXES: .F .f .o .f90 .c
-
-.F.f:
- $(CPP) $(CPPFLAGS) $< > $*.f
-
-$(TARGET): $(OBJST) $(OBJS)
- $(AR) $(ARFLAGS) $@ $(OBJST) $(OBJS) $(LIBS)
- mv *.mod $(INCMOD)
-
-.f.o:
- $(FC) $(FFLAGS) -c $<
-
-.f90.o:
- $(FC) $(FFLAGS) -c $<
-
-.c.o :
- ${CC} ${CFLAGS} -c $<
-
-clean:
- /bin/rm -f $(TARGET) *.lst *.o *.mod
-#
-postcntrl_t.o : postcntrl_t.f90
- $(FC) $(FFLAGS) postcntrl_t.f90
-
-
diff --git a/sorc/ncep_post.fd/makefile_wcoss b/sorc/ncep_post.fd/makefile_wcoss
deleted file mode 100644
index bce02da4b..000000000
--- a/sorc/ncep_post.fd/makefile_wcoss
+++ /dev/null
@@ -1,188 +0,0 @@
-#
-# Define the name of the executable
-#
-TARGET = ../../exec/ncep_post
-
-#
-# CPP, Compiler, and Linker Options
-#
-FC = mpfort -compiler ifort
-CPP = /lib/cpp -P
-CPPFLAGS = -DLINUX
-#OPTS = -O -fp-model strict -traceback -check uninit -check bounds -check format -fpe0
-#OPTS = -O -fp-model strict
-OPTS = -O0 -fp-model strict -g -traceback
-FREE = -FR
-TRAPS =
-DEBUG = -g
-
-CFLAGS = -DLINUX -Dfunder -DFortranByte=char -DFortranInt=int -DFortranLlong='long long'
-#
-# Now the hard part. NCEPPOST needs 19 libraries, WOW!!!!!
-#
-
-SFCIO_VER=v1.0.0
-NEMSIO_VER=v2.2.1
-BACIO_VER=v2.0.1
-SIGIO_VER=v1.0.1
-WRF_VER=v1.1.0
-G2_VER=v2.5.0
-G2TMPL_VER=v1.3.0
-JASPER_VER=v1.900.1
-PNG_VER=v1.2.44
-Z_VER=v1.2.6
-XMLPARSE_VER=v2.0.0
-GFSIO_VER=v1.1.0
-IP_VER=v2.0.0
-SP_VER=v2.0.2
-W3EMC_VER=v2.2.0
-W3NCO_VER=v2.0.6
-CRTM_VER=v2.0.6
-
-SFCIO_INC4 = -I/nwprod/lib/sfcio/$(SFCIO_VER)/incmod/sfcio_$(SFCIO_VER)_4
-SFCIO_LIB4 = /nwprod/lib/sfcio/$(SFCIO_VER)/libsfcio_${SFCIO_VER}_4.a
-
-NEMSIO_INC = -I/nwprod/lib/nemsio/$(NEMSIO_VER)/incmod/nemsio_$(NEMSIO_VER)
-NEMSIO_LIB = /nwprod/lib/nemsio/$(NEMSIO_VER)/libnemsio_$(NEMSIO_VER).a
-
-BACIO_LIB4 = /nwprod/lib/bacio/$(BACIO_VER)/libbacio_$(BACIO_VER)_4.a
-
-SIGIO_INC4 = -I/nwprod/lib/sigio/$(SIGIO_VER)/incmod/sigio_$(SIGIO_VER)_4
-SIGIO_LIB4 = /nwprod/lib/sigio/$(SIGIO_VER)/libsigio_$(SIGIO_VER)_4.a
-
-WRFPATH = /nwprod/sorc/wrf_shared.$(WRF_VER)
-WRF_INC = -I$(WRFPATH)/external/io_quilt -I$(WRFPATH)/frame
-WRF_LIB = $(WRFPATH)/main/libwrflib.a \
- $(WRFPATH)/frame/pack_utils.o \
- $(WRFPATH)/frame/module_internal_header_util.o \
- $(WRFPATH)/external/io_grib1/libio_grib1.a \
- $(WRFPATH)/external/io_grib_share/libio_grib_share.a \
- $(WRFPATH)/external/io_int/libwrfio_int.a \
- $(WRFPATH)/external/io_netcdf/libwrfio_nf.a \
- $(WRFPATH)/external/esmf_time_f90/libesmf_time.a \
- $(WRFPATH)/external/RSL_LITE/librsl_lite.a
-
-
-G2_INC4 = -I/nwprod/lib/g2/$(G2_VER)/incmod/g2_$(G2_VER)_4
-G2TMPL_INC = -I/nwprod/lib/g2tmpl/$(G2TMPL_VER)/incmod/g2tmpl
-G2_LIB4 = /nwprod/lib/g2/$(G2_VER)/libg2_$(G2_VER)_4.a
-G2TMPL_LIB = /nwprod/lib/g2tmpl/$(G2TMPL_VER)/libg2tmpl.a
-JASPER_LIB = /nwprod/lib/jasper/$(JASPER_VER)/libjasper_$(JASPER_VER).a
-PNG_LIB = /nwprod/lib/png/$(PNG_VER)/libpng.a
-Z_LIB = /nwprod/lib/z/$(Z_VER)/libz_$(Z_VER).a
-
-XMLPARSE_INC = -I/nwprod/lib/xmlparse/$(XMLPARSE_VER)/incmod/xmlparse_$(XMLPARSE_VER)
-XMLPARSE_LIB = /nwprod/lib/xmlparse/$(XMLPARSE_VER)/libxmlparse_$(XMLPARSE_VER).a
-
-GFSIO_INC4 = -I/nwprod/lib/gfsio/$(GFSIO_VER)/incmod/gfsio_$(GFSIO_VER)_4
-GFSIO_LIB4 = /nwprod/lib/gfsio/$(GFSIO_VER)/libgfsio_$(GFSIO_VER)_4.a
-
-IP_LIB4 = /nwprod/lib/ip/$(IP_VER)/libip_$(IP_VER)_4.a
-
-#SP_LIB = /gpfs/gp1/u/James.R.Taft/NWPROD/lib/libsp_4.v0001.a
-SP_LIB4 = /nwprod/lib/sp/$(SP_VER)/libsp_$(SP_VER)_4.a
-
-W3EMC_INC4 = -I/nwprod/lib/w3emc/$(W3EMC_VER)/incmod/w3emc_$(W3EMC_VER)_4
-W3EMC_LIB4 = /nwprod/lib/w3emc/$(W3EMC_VER)/libw3emc_$(W3EMC_VER)_4.a
-W3NCO_LIB4 = /nwprod/lib/w3nco/$(W3NCO_VER)/libw3nco_$(W3NCO_VER)_4.a
-
-CRTM_INC = -I/nwprod/lib/crtm/$(CRTM_VER)/incmod/crtm_$(CRTM_VER)
-CRTM_LIB = /nwprod/lib/crtm/$(CRTM_VER)/libcrtm_$(CRTM_VER).a
-
-NETCDFPATH = /usrx/local/NetCDF/3.6.3
-NETCDF_LIB = $(NETCDFPATH)/lib/libnetcdf.a
-NETCDF_INC = -I$(NETCDFPATH)/include
-
-#
-# Assemble Options
-#
-FFLAGS = $(OPTS) $(FREE) $(TRAPS) $(DEBUG) \
- $(WRF_INC) \
- $(XMLPARSE_INC) \
- $(G2_INC4) \
- $(G2TMPL_INC) \
- $(NEMSIO_INC) \
- $(GFSIO_INC4) \
- $(SIGIO_INC4) \
- $(SFCIO_INC4) \
- $(W3EMC_INC4) \
- $(CRTM_INC) \
- $(NETCDF_INC)
-
-LIBS = $(WRF_LIB) \
- $(XMLPARSE_LIB) \
- $(G2TMPL_LIB) \
- $(G2_LIB4) \
- $(JASPER_LIB) \
- $(PNG_LIB) \
- $(Z_LIB) \
- $(NEMSIO_LIB) \
- $(GFSIO_LIB4) \
- $(SIGIO_LIB4) \
- $(SFCIO_LIB4) \
- $(IP_LIB) \
- $(SP_LIB4) \
- $(W3NCO_LIB4) \
- $(W3EMC_LIB4) \
- $(BACIO_LIB4) \
- $(CRTM_LIB) \
- $(NETCDF_LIB)
-
-
-OBJS = wrf_io_flags.o getVariable.o getIVariable.o getIVariableN.o \
- kinds_mod.o machine.o physcons.o \
- native_endianness.o blockIO.o initialize_byte_swap_wrf_binary_file.o \
- count_recs_wrf_binary_file.o inventory_wrf_binary_file.o \
- next_buf.o retrieve_index.o ZENSUN.o CLDFRAC_ZHAO.o \
- GFSPOST.o GETGBANDSCATTER.o \
- VRBLS2D_mod.o VRBLS3D_mod.o VRBLS4D_mod.o MASKS_mod.o PMICRPH.o SOIL_mod.o \
- CMASSI.o CTLBLK.o GRIDSPEC.o LOOKUP.o PARAMR.o RHGRD.o RQSTFLD.o xml_perl_data.o \
- cuparm.o params.o svptbl.o get_postfilename.o grib2_module.o \
- SET_LVLSXML.o FILL_PSETFLD.o \
- BNDLYR.o BOUND.o CALCAPE.o CALDWP.o CALDRG.o CALHEL.o CALLCL.o \
- CALMCVG.o CALPOT.o CALPW.o CALRH.o CALRCH.o CALRH_GSD.o \
- CALSTRM.o CALTAU.o CALTHTE.o CALVIS.o CALVIS_GSD.o CALVOR.o CALWXT.o \
- CALWXT_RAMER.o CALWXT_BOURG.o CALWXT_REVISED.o CALRH_PW.o \
- CALWXT_EXPLICIT.o CALWXT_DOMINANT.o \
- CLDRAD.o CLMAX.o COLLECT.o COLLECT_LOC.o DEWPOINT.o \
- FDLVL.o FGAMMA.o FIXED.o FRZLVL.o FRZLVL2.o \
- GET_BITS.o GRIBIT.o INITPOST.o LFMFLD.o \
- MAPSSLP.o MISCLN.o MIXLEN.o MDL2P.o MDLFLD.o MPI_FIRST.o MPI_LAST.o \
- NGMFLD.o NGMSLP.o OTLFT.o OTLIFT.o SLP_new.o SLP_NMM.o EXCH.o \
- PARA_RANGE.o PROCESS.o INITPOST_NMM.o EXCH2.o \
- READCNTRL.o READ_xml.o SET_OUTFLDS.o SCLFLD.o SERVER.o SETUP_SERVERS.o \
- SMOOTH.o SURFCE.o \
- SPLINE.o TABLE.o TABLEQ.o TRPAUS.o TTBLEX.o WETBULB.o WRFPOST.o \
- CALMICT.o MICROINIT.o GPVS.o MDL2SIGMA.o \
- ETCALC.o CANRES.o CALGUST.o WETFRZLVL.o SNFRAC.o MDL2AGL.o SNFRAC_GFS.o \
- AVIATION.o DEALLOCATE.o INITPOST_NMM_BIN_MPIIO.o \
- CALPBL.o MDL2SIGMA2.o INITPOST_GFS.o CALRH_GFS.o LFMFLD_GFS.o \
- CALRAD_WCLOUD_newcrtm.o MDL2THANDPV.o CALPBLREGIME.o POLEAVG.o \
- INITPOST_NEMS.o GETNEMSNDSCATTER.o ICAOHEIGHT.o INITPOST_GFS_NEMS.o \
- INITPOST_BIN_MPIIO.o GEO_ZENITH_ANGLE.o GFIP3.o GRIDAVG.o CALUPDHEL.o INITPOST_GFS_SIGIO.o \
- gtg_config.o gtg_filter.o gtg_trophts.o gtg_itfa.o gtg_indices.o \
- AllGETHERV_GSD.o MSFPS.o SELECT_CHANNELS.o ALLOCATE_ALL.o INITPOST_NEMS_MPIIO.o ASSIGNNEMSIOVAR.o \
- INITPOST_GFS_NEMS_MPIIO.o
-
-
-.SUFFIXES: .F .f .o .f90 .c
-
-.F.f:
- $(CPP) $(CPPFLAGS) $< > $*.f
-
-$(TARGET): $(OBJS)
- $(FC) -openmp -o $@ $(OBJST) $(OBJS) $(LIBS)
-
-.f.o:
- $(FC) $(FFLAGS) -c $<
-
-.f90.o:
- $(FC) $(FFLAGS) -c $<
-
-.c.o :
- ${CC} ${CFLAGS} -c $<
-
-
-clean:
- /bin/rm -f *.lst *.o *.mod
-# /bin/rm -f $(TARGET) *.lst *.o *.mod